@font-face{
  font-family:'Space Mono';
  font-style:normal; font-weight:400; font-display:swap;
  src:url("data:font/woff2;base64,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");
}

@font-face{
  font-family:'Space Mono';
  font-style:normal; font-weight:700; font-display:swap;
  src:url("data:font/woff2;base64,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");
}

@font-face{
  font-family:'Space Mono';
  font-style:italic; font-weight:400; font-display:swap;
  src:url("data:font/woff2;base64,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");
}

/* ============================================================
   Black & white typewriter / terminal design system.
   One centered column under a fixed command bar. Strict grayscale.
   Light = ink on paper. Dark = phosphor on black. Everything is
   driven by the color --tokens in :root.
   ============================================================ */



:root{
  /* night shift - the only shift. The terminal never sleeps. */
  --paper:#0a0a0a;   /* ground */
  --ink:#ededed;     /* primary mark */
  --ink-2:#a9a9a9;   /* secondary text */
  --faint:#6f6f6f;   /* meta / tertiary */
  --hair:#2b2b2b;    /* hairlines */
  --panel:#151515;   /* subtle fill */
  --ok:#33ff33;      /* the one phosphor green - same as the menu keys, everywhere */
  --dn:#e0655c;      /* negative drift */
  --amber:#ffb12a;   /* orange phosphor - testnet + external links */
  --rd:#ff4136;      /* red phosphor - connect / disconnect */
  --sel:#ededed;     /* hover/selection ground */
  --sel-ink:#0a0a0a; /* hover/selection mark */
  --mono:'Space Mono',"Courier New",Courier,"DejaVu Sans Mono","Liberation Mono",monospace;
  --disp:'Space Mono',"Courier New",monospace;
  --keybg:#101010; --keyfg:#33ff33;  /* phosphor key well + legend (merged) */
  /* v0.12 proposal: a 6-step type scale (was ~18 ad-hoc sizes) + spacing steps */
  --fs-meta:11px; --fs-small:13px; --fs-body:15px; --fs-lead:19px; --fs-num:26px; --fs-disp:40px;
  --sp-1:8px; --sp-2:14px; --sp-3:26px;
  --data-bd:#3a3a3a;  /* data-box border: visible on black, not green, not hard-to-read grey */
  --col:760px;
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{margin:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper); color:var(--ink);
  font-family:var(--mono); font-size:15px; line-height:1.65;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--sel); color:var(--sel-ink)}
a{color:inherit; text-decoration:none; border-bottom:1px solid var(--ink)}
a:hover{background:var(--sel); color:var(--sel-ink)}
:focus-visible{outline:2px solid var(--ink); outline-offset:2px}

button{
  font-family:var(--mono); font-size:inherit; color:inherit;
  background:transparent; border:1px solid var(--ink);
  padding:.34em .72em; cursor:pointer; letter-spacing:.02em;
}
button:hover{background:var(--sel); color:var(--sel-ink)}
button:disabled{opacity:.5; cursor:progress}
button.mini{padding:.1em .5em; font-size:12px}
button.linkish{border:0; border-bottom:1px solid var(--ink); padding:0 0 1px}

textarea,input{
  font-family:var(--mono); font-size:14px; width:100%;
  background:var(--paper); color:var(--ink);
  border:1px solid var(--ink); padding:.55em; line-height:1.5;
}
.disp{font-family:var(--disp); font-weight:700; letter-spacing:.03em; line-height:.95}
.muted{color:var(--ink-2)}
.small{font-size:13.5px}

.idstate{letter-spacing:.04em; color:var(--ink-2); white-space:nowrap}

/* menu jumps: land each module just below the sticky bar, fully visible.
   the two-row bar is ~91px on desktop and taller as the nav wraps, so the
   offset steps up at the same breakpoints the bar grows (see media queries) */
[id]{scroll-margin-top:calc(98px + env(safe-area-inset-top,0px))}

main{max-width:var(--col); margin:0 auto; padding:0 16px 80px;
  padding-top:calc(54px + env(safe-area-inset-top,0px))}
@keyframes blink{50%{opacity:0}}

.entry{display:grid; grid-template-columns:2.3em 1fr auto; gap:.15rem .9rem;
  align-items:baseline; padding:15px 0; border-bottom:1px solid var(--hair)}
.entry .idx{font-family:var(--disp); font-size:21px; color:var(--faint)}
.entry .ttl{font-size:17px; line-height:1.35; text-wrap:balance}
.entry .read{grid-column:3; align-self:center; font-size:13px; white-space:nowrap}
.entry .meta{grid-column:2 / 4; display:flex; flex-wrap:wrap; gap:.4rem .95rem;
  margin-top:.45rem; font-size:12.5px; color:var(--faint); letter-spacing:.03em; align-items:center}

.tag{border:1px solid var(--ink); padding:.05em .55em; font-size:10.5px;
  letter-spacing:.16em; text-transform:uppercase; white-space:nowrap}
.tag.pub{background:var(--ink); color:var(--paper)}
.tag.sealed{border-style:dashed; color:var(--faint); border-color:var(--faint)}
.tag.keystone{border-width:2px}

.sealnote{margin-top:14px; font-size:14px; color:var(--faint); max-width:60ch; text-wrap:pretty}

.prov{border:1px solid var(--ink); padding:13px 15px; margin:18px 0; font-size:12.5px;
  display:grid; grid-template-columns:auto 1fr; gap:.3rem 1.1rem; align-items:baseline}
.prov dt{color:var(--faint); letter-spacing:.1em; text-transform:uppercase; white-space:nowrap}
.prov dd{margin:0; color:var(--ink); word-break:break-all}
.witness{border-top:1px solid var(--hair); margin-top:22px; padding-top:16px}
.witness .row{display:flex; flex-wrap:wrap; gap:.6rem 1rem; align-items:center}

/* ---- claim (v0.11 redesign): state strip -> action -> eligibility/anchor rows ---- */
#claim .go{width:100%}
.claimstate{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem; font-size:12.5px;
  color:var(--ink-2); letter-spacing:.03em; padding-bottom:13px; margin-bottom:16px;
  border-bottom:1px solid var(--hair)}
.claimstate .linkish{margin-left:auto; font-size:12px}
.clist{margin-top:16px}
.crow{display:grid; grid-template-columns:8em 1fr auto; gap:.4rem .9rem; align-items:baseline;
  padding:12px 0; border-top:1px solid var(--hair)}
.crow:first-child{border-top:0; padding-top:4px}
.crow .cr-l{font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.crow .cr-v{font-size:13px; color:var(--ink-2); line-height:1.55; min-width:0; word-break:break-word}
.crow .cr-v b{color:var(--ink); font-weight:400}
.crow .linkish{font-size:12px; white-space:nowrap; align-self:center}
/* ---- verify (v0.10 redesign): one provenance pane, grouped contracts / integrity ---- */
.vprov .vgh{grid-column:1 / -1; color:var(--ink); letter-spacing:.14em; text-transform:uppercase;
  font-size:11px; border-bottom:1px solid var(--hair); padding-bottom:5px; margin-top:9px}
.vprov .vgh:first-child{margin-top:0}
@media (max-width:640px){
  .crow{grid-template-columns:1fr auto}
  .crow .cr-l{grid-column:1 / 3}
  .crow .cr-v{grid-column:1 / 3}
}
#witnessOut{word-break:break-all; font-size:12.5px}
.foot .disp{font-size:20px; color:var(--ink); letter-spacing:.08em}

/* ---- identify overlay ---- */
.overlay{position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.55);
  display:flex; align-items:flex-start; justify-content:center; padding:24px 16px;
  padding-top:calc(24px + env(safe-area-inset-top,0px)); overflow:auto}
.panel{background:var(--paper); border:2px solid var(--ink);
  width:100%; max-width:560px; padding:22px; position:relative}
.panel h2{margin:.1em 0 .3em; font-size:40px}
.panel h3{margin:1.3em 0 .35em; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink)}
.panel .x{position:absolute; top:14px; right:14px; border:0; border-bottom:1px solid var(--ink); padding:0 0 1px}
.path .row{display:flex; flex-wrap:wrap; gap:.6rem}
.warn{border:2px dashed var(--ink); padding:10px 12px; margin:.4rem 0 .8rem;
  font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; line-height:1.7}
.kv{margin:.6rem 0}
.kv .lbl{display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--faint); letter-spacing:.06em}
.keybox{border:1px solid var(--ink); padding:9px 11px; margin-top:.25rem;
  word-break:break-all; font-size:12px; background:var(--panel)}
.err{border:1px solid var(--ink); background:var(--panel); padding:.55em .7em; margin-top:.8rem; font-size:13px}
.ok::before{content:"[ ok ] "}
.rchgbox.arr{justify-content:center; font-size:42px; letter-spacing:0; line-height:1}
.rchgbox.dn{border-color:var(--dn); color:var(--dn)}
/* ---- compact pool list (v0.12 proposal): one collapsed row per pool, details on demand ---- */
.poollist{display:flex; flex-direction:column; gap:8px}
.poolrow{border:1px solid var(--data-bd); background:var(--panel)}
.poolrow > summary{display:grid; grid-template-columns:7.5em 1fr auto 1.2em; gap:.7rem 1rem;
  align-items:center; padding:11px 14px; cursor:pointer; list-style:none; user-select:none}
.poolrow > summary::-webkit-details-marker{display:none}
.poolrow > summary::marker{content:""}
.poolrow[open] > summary{border-bottom:1px solid var(--hair)}
.poolrow .pr-pair{font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); white-space:nowrap}
.poolrow .pr-ratio{font-family:var(--disp); font-size:15px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.poolrow .pr-chg{justify-self:end; font-family:var(--disp); font-size:14px; color:var(--ink-2); white-space:nowrap}
.poolrow .pr-chg.dn{color:var(--dn)}
.poolrow .pr-caret{justify-self:end; color:var(--ink-2); transition:transform .15s ease; font-size:11px}
.poolrow[open] .pr-caret{transform:rotate(90deg)}
/* fee-split rows carry longer labels ("to dev treasury") than the pool list */
.feesplit .poolrow > summary{grid-template-columns:10.5em 1fr auto 1.2em}
/* ---- governance: serialized ballot menu ---- */
.ballotmenu .poolrow > summary{grid-template-columns:2.6em minmax(0,1fr) auto auto 1.2em; gap:.5rem .9rem}
.bnum{font-family:var(--disp); font-size:15px; color:var(--faint); letter-spacing:.08em}
.bq{font-size:13px; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bres{font-family:var(--disp); font-size:13px; color:var(--ink-2); white-space:nowrap}
.bres b{color:var(--ink)}
.bdid{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-2); white-space:nowrap}
.bdid.voted{color:var(--keyfg)}
.poolrow .pr-detail.bdetail{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 22px; align-items:center; padding:14px}
.bopts{display:flex; flex-direction:column; gap:9px; min-width:0}
.bopt{display:grid; grid-template-columns:5.5em minmax(0,1fr) 3em; gap:.7rem; align-items:center; font-size:13px}
.bopt .bo-l{text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--faint)}
.bopt .bo-bar{height:8px; background:var(--panel); border:1px solid var(--data-bd); position:relative; overflow:hidden}
.bopt .bo-bar i{position:absolute; top:0; left:0; bottom:0; background:var(--ink); display:block}
.bopt .bo-p{font-family:var(--disp); text-align:right; color:var(--ink)}
.bside{display:flex; align-items:center; gap:12px}
.bdonut{width:58px; height:58px; flex-shrink:0}
.bturn{font-size:12px; color:var(--ink); line-height:1.45}
.bturn .muted2{color:var(--ink-2); font-size:11px}
.brow-act{grid-column:1 / -1; display:flex; gap:8px; flex-wrap:wrap; border-top:1px solid var(--hair); padding-top:10px}
.brow-act button{font-size:12px}
@media (max-width:640px){
  .ballotmenu .poolrow > summary{grid-template-columns:2.6em 1fr 1.2em; row-gap:.2rem}
  .ballotmenu .bres{grid-column:2; justify-self:start}
  .ballotmenu .bdid{grid-column:2; justify-self:start}
  .bdetail{grid-template-columns:1fr}
}
.poolrow:hover .pr-caret{color:var(--keyfg)}
.poolrow .pr-detail{padding:10px 14px 12px; display:flex; flex-direction:column; gap:7px}
.pr-d{display:grid; grid-template-columns:6.5em 1fr; gap:1rem; align-items:baseline}
.pr-d .pr-dl{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.pr-d .pr-dv{font-family:var(--disp); font-size:13px; color:var(--ink)}
/* liquidity form inside an expanded pool row: block flow so the trow/label margins apply */
.pr-detail.lpform{display:block; padding:4px 14px 14px}
.lpform .lplabel{margin-top:14px}
.lpform .lplabel:first-child{margin-top:4px}
.lpform .go{margin-top:8px}
/* right-aligned balance hint on the label line (the 'you have … · max' / 'unreadable' note) */
.trow .rhint{grid-area:max; justify-self:end; font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-2); white-space:nowrap}
.trow .rhint .rmax{color:var(--keyfg); cursor:pointer}
.gopt .gname{font-size:15px}

/* ---- ticker (Hyperliquid: the numbers never hide) ---- */
.ticker{margin-top:12px; padding:6px 0; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair);
  font-size:12.5px; color:var(--ink-2); letter-spacing:.04em; white-space:nowrap; overflow-x:auto;
  scrollbar-width:none}
.ticker::-webkit-scrollbar{display:none}
.ticker b{color:var(--ink); font-weight:400}
.ticker .sep{color:var(--faint); margin:0 .8em}

/* ---- balances strip: one green box per asset, click fills the swap ticket ---- */
.bal{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:12px; padding:8px 0;
  border-bottom:1px solid var(--hair); font-size:13px; color:var(--ink-2); letter-spacing:.04em;
  align-items:center}
.bal .wbox{border:1px solid var(--ok); color:var(--ok); padding:3px 12px; cursor:pointer;
  white-space:nowrap; background:none}
.bal .wbox b{color:var(--ok); font-weight:400}
.bal .wbox:hover{background:var(--ok); color:var(--paper)}
.bal .wbox:hover b{color:var(--paper)}
.maxbox{border:1px solid var(--ok); background:none; color:var(--ok); font-family:inherit;
  font-size:11.5px; padding:.25em .8em; cursor:pointer; letter-spacing:.14em; text-transform:uppercase}
.maxbox:hover{background:var(--ok); color:var(--paper)}

/* ---- swap ticket (THORSwap/Hyperliquid order panel, typewriter skin) ---- */
.ticket{border:2px solid var(--ink); padding:16px; margin-top:14px}
/* swap header: tabs left, version tag at the right edge (outside the green key) */
.swap-h{display:flex; align-items:center; justify-content:space-between; gap:12px}
.swap-h .ver{align-self:center}
/* each row is a stack: [label .......... max] / [--- input line ---] / [pills, right].
   both rows share this shape, so pay and receive are symmetric even though only
   the pay row carries a MAX button (JS inserts it after the input; grid-areas place
   it on the label line regardless of DOM order). */
.trow{display:grid; grid-template-columns:1fr auto;
  grid-template-areas:"label max" "line line" "pills pills";
  gap:.3rem .8rem; align-items:center; padding:11px 0}
.trow + .trow{border-top:1px solid var(--hair)}
.trow label{grid-area:label; justify-self:start; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.trow input{grid-area:line; width:100%; border:0; border-bottom:1px solid var(--ink); text-align:right; font-size:19px;
  font-family:var(--disp); padding:.1em .2em; background:transparent}
.trow input:focus{outline:none; background:var(--panel)}
.trow input[readonly]{color:var(--ink-2)}  /* solid line, same as the pay row; value stays slightly muted to read as an estimate */
.trow .maxbox{grid-area:max; justify-self:end}
.tsel{display:flex; gap:.3rem}
.trow .tsel{grid-area:pills; justify-self:end; margin-top:3px}
.tsel button{font-size:11.5px; padding:.2em .6em; letter-spacing:.1em; color:var(--ink-2)}
.tsel button.on{background:var(--ink); color:var(--paper)}
.tmeta{font-size:12px; color:var(--ink-2); line-height:1.8; padding:9px 0; border-top:1px solid var(--hair)}
.tmeta .impact-warn{border:1px dashed var(--ink); padding:0 .4em}
/* advanced disclosure: slippage control, collapsed by default */
.adv{border-top:1px solid var(--hair)}
.adv summary{cursor:pointer; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-2); padding:9px 0; user-select:none}
.adv summary:hover{color:var(--keyfg)}
.adv[open] summary{color:var(--ink)}
.advbody{padding:2px 0 10px}
.advrow{display:flex; align-items:center; gap:.5rem .9rem; flex-wrap:wrap}
.advlbl{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.slip{display:flex; gap:.3rem; flex-wrap:wrap}
.slip label{display:inline-flex; align-items:center; gap:.25em; border:1px solid var(--keyfg);
  color:var(--keyfg); background:var(--keybg); border-radius:2px; padding:.28em .7em;
  font-size:11.5px; letter-spacing:.1em; cursor:pointer}
.slip label input[type=radio]{position:absolute; opacity:0; width:0; height:0}
.slip label:has(input[type=radio]:checked){background:var(--keyfg); color:var(--keybg)}
.slip .slipcustom input[type=text]{width:3em; border:0; border-bottom:1px solid currentColor;
  background:transparent; color:inherit; font-family:var(--disp); font-size:12px; text-align:right; padding:0 .15em}
.slip .slipcustom input[type=text]:focus{outline:none}
.advnote{font-size:11.5px; color:var(--ink-2); line-height:1.7; margin:8px 0 0; max-width:62ch}
.ticket .go{width:100%; margin-top:6px; font-size:15px; padding:.55em; letter-spacing:.06em}

/* ---- proposals: ballot|listing create ticket (v0.11) ---------------------
   one ticket, two shapes. a hidden radio pair drives the whole thing in pure
   CSS (CSP-safe, no inline script): checking ballot/listing lights the toggle
   and swaps which form + which bond line shows. ballot = a question + 1-4
   options (a..d); listing = a token hash to onboard, bond split 50/50. */
.ptkt{position:relative}
.ptype-in{position:absolute; width:0; height:0; opacity:0; pointer-events:none}
.ptype-h{display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-bottom:12px; border-bottom:1px solid var(--hair); margin-bottom:4px}
.ptype-lab{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.ptoggle{display:inline-flex; gap:.3rem}
.pt-opt{font-size:11.5px; padding:.3em .95em; letter-spacing:.1em; color:var(--ink-2);
  border:1px solid var(--hair); cursor:pointer}
.pt-opt:hover{color:var(--ink)}
/* active segment = solid green, same convention as .tsel button.on */
#ptBallot:checked ~ .ptype-h .pt-b,
#ptListing:checked ~ .ptype-h .pt-l{background:var(--keyfg); color:var(--keybg); border-color:var(--keyfg)}
/* form + bond-line swap */
.pform{display:none}
.pfbond{display:none; font-size:11.5px; color:var(--ink-2); line-height:1.7;
  margin:12px 0 10px; max-width:66ch}
.pfbond b{color:var(--ink)}
#ptBallot:checked ~ .pf-ballot,
#ptBallot:checked ~ .pb-ballot,
#ptListing:checked ~ .pf-listing,
#ptListing:checked ~ .pb-listing{display:block}
/* a labelled text row (question, token hash) */
.pfrow{display:grid; grid-template-columns:auto 1fr; align-items:center; gap:14px; padding:12px 0 10px}
.pfrow label{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.pfrow input{border:0; border-bottom:1px solid var(--ink); width:100%; font-size:17px;
  background:transparent; color:var(--ink); font-family:var(--disp)}
.pfrow input::placeholder{color:var(--ink-2)}
.pfrow input:focus{outline:none; background:var(--panel)}
/* the a..d option list */
.pfopts{border-top:1px solid var(--hair); padding-top:10px}
.pfopt-h{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-bottom:4px}
.pfopt-h .muted2{text-transform:none; letter-spacing:.04em}
.pfopt{display:grid; grid-template-columns:auto 1fr; align-items:center; gap:12px; padding:5px 0}
.pfopt .pfk{width:1.5em; height:1.5em; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--ink); font-size:12px; color:var(--ink)}
.pfopt input{border:0; border-bottom:1px solid var(--hair); width:100%; font-size:15px;
  background:transparent; color:var(--ink); font-family:var(--disp)}
.pfopt input::placeholder{color:var(--ink-2)}
.pfopt input:focus{outline:none; background:var(--panel)}
.pfopt.opt .pfk{color:var(--ink-2); border-color:var(--hair)}   /* c/d are optional - muted key */
.pfnote{font-size:11.5px; color:var(--ink-2); line-height:1.7; margin:10px 0 0; max-width:66ch}
.pfnote b{color:var(--ink)}
.ptkt .go{margin-top:2px}
/* board rule strip: the cap + congestion-bond, stated once above the list */
.boardstate{font-size:11.5px; letter-spacing:.04em; color:var(--ink-2); line-height:1.6;
  padding:0 0 10px; margin-bottom:8px; border-bottom:1px solid var(--hair)}
.boardstate b{color:var(--ink)}

/* wallet balance chip: live balance beside an input, click = fill max */
.balchip{background:none; border:0; border-bottom:1px dashed var(--ink-2); padding:0 0 1px;
  font-family:inherit; font-size:11.5px; letter-spacing:.06em; color:var(--ink-2);
  cursor:pointer; white-space:nowrap}
.balchip:hover{color:var(--ink); border-bottom-color:var(--ink)}

/* liquidity panel (pools card) */
#lp{margin-top:16px; border-top:1px solid var(--hair); padding-top:10px}
.lp-head{display:flex; align-items:center; gap:.6rem; margin-bottom:8px}
.lp-head .spacer{flex:1}
.lpair{border:2px solid var(--ink); padding:14px 16px; margin-top:10px}
.lpair .lpp{font-size:13px; letter-spacing:.14em; text-transform:uppercase}
.lpair .lpstats{display:grid; grid-template-columns:repeat(4,1fr); gap:.6rem; margin:10px 0 4px}
.lpair .lpstats .fs{min-width:0}
.lpair .lpsub{font-size:12px; color:var(--ink-2); padding:4px 0 8px; border-bottom:1px solid var(--hair)}
.lpair .lplabel{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-top:12px}
.lpair .go{width:100%; margin-top:6px; font-size:12px; padding:.7em .8em}
@media (max-width:560px){ .lpair .lpstats{grid-template-columns:repeat(2,1fr)} }

@media (max-width:460px){
  .idstate{display:none}
  .tiles{grid-template-columns:1fr}  /* phones: one tile per row, every figure always fits */
  .trow{grid-template-columns:1fr auto; gap:.3rem}  /* keep label|max top row; line + pills still stack */
  .trow input{text-align:left}
  .entry{grid-template-columns:1.9em 1fr}
  .entry .read{grid-column:1 / 3; justify-self:start; margin-top:.5rem}
  .entry .meta{grid-column:1 / 3}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}

/* template helper */
.row{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center}

/* ============================================================
   TEMPLATE 3 - the Flamingo blend. flamingo.finance's familiar
   shell (top tabs, hero, swap card, tokens table, FLOCKS-style
   APY card) re-expressed in strict grayscale Space Mono. Same ids,
   same flows, same invariants as templates 1 and 2.
   ============================================================ */

/* ---- top tab bar (Flamingo app chrome, flattened) ---- */
.topbar{position:sticky; top:0; z-index:50; background:var(--paper);
  border-bottom:1px solid var(--ink); display:flex; flex-direction:column;
  align-items:stretch; gap:9px; padding:10px 20px}
/* top line: brand and controls bookend it; space-between pins them to the edges,
   so neither moves when the network toggles or the rpc text changes */
.topbar-main{display:flex; align-items:center; justify-content:space-between;
  gap:12px 16px; flex-wrap:wrap}
.brand{display:flex; align-items:center; gap:12px; flex-shrink:0}
/* launch countdown strip: status, not a button - strict grayscale, one line */
.launchbar{border-bottom:1px solid var(--ink); background:var(--paper); color:var(--ink);
  text-align:center; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  padding:6px 12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.launchbar .tminus{font-weight:bold}
.topbar .bird3{line-height:0; color:var(--ink); border:0}
.topbar .bird3:hover{background:transparent}
.topbar .bird3 svg{height:34px; width:auto; display:block}
.topbar .wordmark{font-family:var(--disp); font-size:26px; letter-spacing:.08em;
  border:0}
.topbar .wordmark:hover{background:transparent; color:var(--ink)}
.tabs{display:flex; align-items:center; gap:3px; flex-wrap:wrap}
.tabs-main, .tabs-ext{display:contents}  /* transparent on desktop; grouped bands on phones */
/* thin divider between the in-page sections and the external links (↗) */
.tabs .tabsep{width:1px; align-self:center; height:1.5em; background:var(--hair); margin:0 6px}
.tabs a{border:1px solid transparent; padding:5px 11px; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-2)}
.tabs a:hover{border-color:var(--ink); background:transparent; color:var(--ink)}
/* controls cluster: fixed on the right, never shrinks, no variable-width text inside it,
   so connect / own-node keep their place when the network toggles or the rpc text changes */
.topright{display:flex; align-items:center; gap:8px;
  font-size:12px; flex-shrink:0}
/* status strip directly under the bar: the long rpc note + wallet state, own row */
.statusline{display:flex; align-items:center; gap:8px 18px; flex-wrap:wrap;
  padding:6px 20px; background:var(--paper); border-bottom:1px solid var(--hair);
  font-size:11.5px; color:var(--ink-2); letter-spacing:.04em}
.statusline .idstate{color:var(--ink-2); flex-shrink:0}
.statusline .rpc{color:var(--ink-2)}

/* ---- hero (Flamingo landing: one sentence + one button) ---- */
.hero3{max-width:1060px; margin:0 auto; padding:64px 22px 40px; text-align:center}
.hero3 h1{font-family:var(--disp); font-weight:400;
  font-size:clamp(34px,6.4vw,64px); line-height:1.03; letter-spacing:.02em; margin:0 0 14px}
.hero3 .sub{font-size:13.5px; color:var(--ink-2); max-width:62ch; margin:0 auto 22px;
  line-height:1.7}
.cta-row{display:flex; gap:10px; justify-content:center; flex-wrap:wrap}
.cta{display:inline-block; border:1px solid var(--ink); padding:10px 22px;
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase}
.cta.solid{background:var(--ink); color:var(--paper)}
.cta:not(.solid):hover{background:var(--ink); color:var(--paper)}
.cta.solid:hover{opacity:.85}

/* ---- content frame ---- */
.page{max-width:1060px; margin:0 auto; padding:0 22px 90px}

/* ---- stat tiles (Flamingo analytics band) ---- */
/* v0.12: tiles wide enough for the full numbers (the band never abbreviates); each tile
   contains its own value, so a long figure can never bleed into the next tile */
.tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:10px; margin-top:8px}
.tile{border:1px solid var(--ink); padding:10px 12px; min-width:0; overflow:hidden}
.tile .tl{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--faint)}
.tile .tn{font-family:var(--disp); font-size:15px; line-height:1.3; white-space:nowrap}
.tile .tnline{font-family:var(--disp); font-size:15px; line-height:1.5; white-space:nowrap}
.tile .tnline.tsub{font-size:13px; color:var(--ink-2)}  /* secondary figure under a headline (e.g. the cap under supply) */
.tile .tnline .ag{color:var(--ink-2)}  /* the "against" half of a ballot line, muted vs the favor figure */

/* ---- cards (the Flamingo panel: titled card, content inside) ---- */
.card{border:1px solid var(--ink); margin-top:26px; background:var(--paper)}
.card-h{display:flex; align-items:center; gap:14px; padding:12px 16px;
  border-bottom:1px solid var(--ink); flex-wrap:wrap}  /* center, so the small version tag never rides high next to the big name */
.card-h .no{font-family:var(--disp); font-size:20px; letter-spacing:.12em;
  text-transform:uppercase; line-height:1}  /* hug the glyphs so the centered version tag reads level with the name */
/* module version tag: locked releases carry it next to the name (VERSIONS.md) */
.ver{font-size:10px; letter-spacing:.14em; color:var(--faint); text-transform:none;
  margin-left:.7em; white-space:nowrap; align-self:center}  /* center-aligned so it no longer rides high next to the big label */
.lp-head .biglabel{text-transform:uppercase}
.card-h .lede{font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--faint)}
.card-h .spacer{margin-left:auto}
.card-b{padding:16px}
/* card tabs, Flamingo swap|pool style */
.ctabs{display:flex; gap:0}
.ctabs a, .ctabs span.cur{padding:5px 14px; font-size:11.5px; letter-spacing:.14em;
  text-transform:uppercase; border:1px solid var(--ink); margin-left:-1px}
.ctabs span.cur{background:var(--ink); color:var(--paper)}
.ctabs a:hover{background:var(--ink); color:var(--paper)}

/* ---- trade: swap card over tokens table - every module full width, stacked
   like claim/verify (18 Oct: one column, equal horizontal size everywhere) ---- */
.tradegrid{display:grid; grid-template-columns:1fr; gap:0; align-items:start}

/* ---- earn over lend: same single column as every other module ---- */
.earngrid{display:grid; grid-template-columns:1fr; gap:0; align-items:start}
.biglabel{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint)}
.flockstats{display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-top:14px}
.flockstats .fs{border-top:1px solid var(--ink); padding-top:8px; min-width:0}
.flockstats .fs .l{font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--faint)}
.flockstats .fs .v{font-family:var(--disp); font-size:19px; overflow-wrap:break-word}
.govleg-row .sw{display:inline-block; width:.9em; height:.9em; border:1px solid var(--ink);
  margin-right:.45em; vertical-align:-.1em}

/* ---- network switch: two flush keys, current network engaged ---- */
.netswitch{display:flex; font-size:11px; letter-spacing:.14em; text-transform:uppercase}
.netswitch .cur, .netswitch a{padding:.45em .8em; border:1px solid; margin-left:-1px; background:var(--keybg); text-decoration:none}
.netswitch .net-test{border-color:var(--amber); color:var(--amber)}
.netswitch .net-main{border-color:var(--ok); color:var(--ok)}
.netswitch .net-test.cur, .netswitch a.net-test:hover{background:var(--amber); color:var(--keybg)}
.netswitch .net-main.cur, .netswitch a.net-main:hover{background:var(--ok); color:var(--keybg)}
.netswitch :first-child{margin-left:0}

/* ---- claim + verify ---- */
.act3{margin-top:26px}

/* ---- footer ---- */
.foot3{margin:44px auto 0; padding:16px 22px 40px; border-top:3px double var(--ink);
  font-size:12px; color:var(--ink-2); line-height:1.9; max-width:var(--col)}

/* full-width primary button, slightly rounded - the Flamingo CTA shape */
.go{border-radius:3px; width:100%; text-align:center}

/* ---- clickable = phosphor key (MS-DOS terminal green, one size everywhere) ---- */
a, button, .linkish, button.linkish, .tabs a, .cta, .cta.solid, .ctabs a{
  background:var(--keybg); color:var(--keyfg);
  border:1px solid var(--keyfg); border-radius:2px;
  padding:.45em .8em; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:none; line-height:1.2;
}
a:hover, button:hover, .linkish:hover, button.linkish:hover,
.tabs a:hover, .cta:hover, .cta.solid:hover, .cta:not(.solid):hover, .ctabs a:hover{
  background:var(--keyfg); color:var(--keybg);
}
/* the big CTAs are the same key, just full-width */
.ticket .go, .go{font-size:12px; padding:.7em .8em}
/* brand marks stay bare, phosphor on hover */
.topbar .bird3, .topbar .wordmark{background:transparent; color:var(--ink);
  border:0; padding:0; font-size:inherit; letter-spacing:.08em; text-transform:none}
.topbar .bird3:hover, .topbar .wordmark:hover{background:transparent; color:var(--keyfg)}
/* selected pill/tab = key fully engaged: solid phosphor, dark legend */
.tsel button.on, .ctabs span.cur{background:var(--keyfg); color:var(--keybg);
  border:1px solid var(--keyfg)}
/* tab + card-tab rows: keys sit flush like a keyboard */
.tabs a, .ctabs a, .ctabs span.cur{margin-left:-1px}
.tabs a:first-child, .ctabs a:first-child, .ctabs span.cur:first-child{margin-left:0}

@media (max-width:860px){
  .tradegrid, .earngrid, .govgrid, .govcols{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .topbar{padding:8px 12px}
  .statusline{padding:6px 12px}
  [id]{scroll-margin-top:calc(126px + env(safe-area-inset-top,0px))}
}

@media (max-width:600px){
  /* phone header: four separated, centered bands that scroll away (not pinned) */
  .topbar{position:static; gap:0}
  [id]{scroll-margin-top:calc(14px + env(safe-area-inset-top,0px))}
  .topbar-main{flex-direction:column; align-items:stretch; gap:0}
  .brand{justify-content:center; padding-bottom:8px}
  .topright{width:100%; justify-content:center; flex-wrap:wrap; gap:0 10px; padding:0}
  .topright .netswitch{flex-basis:100%; justify-content:center; padding:8px 0;
    border-top:1px solid var(--hair); border-bottom:1px solid var(--hair)}
  #connectBtn, #disconnectBtn, #ownRpcBtn{margin:8px 0}
  .tabs{flex-direction:column; align-items:stretch; gap:0; min-width:0}
  .tabs-main{display:grid; grid-template-columns:repeat(5,1fr); gap:5px;
    width:100%; padding:8px 0 0; border-top:1px solid var(--hair)}
  .tabs-main a{text-align:center; padding:6px 3px; min-width:0; letter-spacing:.04em}
  .tabs .tabsep{display:block; width:auto; height:auto; background:none; border:0;
    margin:9px 0 3px; padding:0; text-align:center}
  .tabs .tabsep::before{content:"links"; font-size:9.5px; letter-spacing:.22em;
    text-transform:uppercase; color:var(--faint)}
  .tabs-ext{display:flex; justify-content:center; flex-wrap:wrap; gap:8px}
}
@media (max-width:460px){
  [id]{scroll-margin-top:calc(168px + env(safe-area-inset-top,0px))}
}

/* ---- color roles: amber (testnet / external) + red (wallet) alongside the green key ---- */
.tabs a.ext{color:var(--amber); border-color:var(--amber)}
.tabs a.ext:hover{background:var(--amber); color:var(--keybg); border-color:var(--amber)}
#connectBtn{color:var(--rd); border-color:var(--rd)}
#connectBtn:hover{background:var(--rd); color:var(--keybg)}
#connectBtn.connected{background:var(--ok); color:var(--keybg); border-color:var(--ok)}
#connectBtn.connected:hover{background:var(--ok); color:var(--keybg); opacity:.9}
#disconnectBtn{color:var(--rd); border-color:var(--rd)}
#disconnectBtn:hover{background:var(--rd); color:var(--keybg)}
.navico{width:1.15em; height:1.15em; vertical-align:-.22em; display:inline-block}
