/* Layout: a single workbench — controls left, live readout right, results + account history below. Mono carries every address. */
:root{
  --bg:#EDF0F3; --surface:#FFFFFF; --sunk:#E3E7EC; --line:#CDD3DB;
  --fg:#111822; --muted:#5A6573;
  --accent:#6B3FE0; --accent-ink:#FFFFFF; --hit:#0E8A6A; --hit-bg:#D6F2E8;
  --warn:#9A5B00; --warn-bg:#FBEBCF; --bad:#B42335;
  --display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;
  --body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E1218; --surface:#161C25; --sunk:#0A0E13; --line:#273140;
  --fg:#E8EDF3; --muted:#93A0B1;
  --accent:#9B7BFF; --accent-ink:#120A2A; --hit:#3DDCAB; --hit-bg:#0F3328;
  --warn:#F2B455; --warn-bg:#3A2A10; --bad:#FF7A8A; color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0E1218; --surface:#161C25; --sunk:#0A0E13; --line:#273140;
  --fg:#E8EDF3; --muted:#93A0B1;
  --accent:#9B7BFF; --accent-ink:#120A2A; --hit:#3DDCAB; --hit-bg:#0F3328;
  --warn:#F2B455; --warn-bg:#3A2A10; --bad:#FF7A8A; color-scheme:dark;}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.55 var(--body);margin:0}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px;padding-block:20px 56px;display:flex;flex-direction:column;gap:28px}
header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:10px}
.brand b{font:800 22px/1 var(--display);letter-spacing:-.02em}
.brand span{font:500 12px var(--mono);color:var(--muted)}
button{font:600 14px var(--body);border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--fg);padding:9px 14px;cursor:pointer}
button:hover{border-color:var(--accent)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
button.primary:hover{filter:brightness(1.08)}
button:disabled{opacity:.5;cursor:not-allowed}
.acct{display:flex;align-items:center;gap:10px;font:500 13px var(--mono)}
.acct .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}
.acct.on .dot{background:var(--hit)}
.hero h1{font:800 clamp(30px,5vw,48px)/1.02 var(--display);letter-spacing:-.03em;margin:0 0 10px;text-wrap:balance}
.hero h1 em{font-style:normal;font-family:var(--mono);font-weight:700;color:var(--accent);font-size:.82em;letter-spacing:-.02em}
.hero p{margin:0;max-width:62ch;color:var(--muted)}
.bench{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px}
@media (max-width:820px){.bench{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.label{font:600 11px var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--sunk);border-radius:9px;padding:3px;gap:3px}
.seg button{border:0;background:transparent;padding:8px;color:var(--muted)}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.field{display:flex;flex-direction:column;gap:6px}
.field input[type=text]{font:500 17px var(--mono);padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--sunk);color:var(--fg);width:100%}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{display:flex;gap:8px;align-items:center;font-size:14px}
.preview{font:500 14px var(--mono);background:var(--sunk);border-radius:8px;padding:10px 12px;overflow-wrap:anywhere;color:var(--muted)}
.preview mark,.addr mark{background:var(--hit-bg);color:var(--hit);border-radius:3px;padding:0 1px;font-weight:700}
.err{color:var(--bad);font-size:13px;min-height:1em}
.threads{display:flex;align-items:center;gap:10px;font:500 13px var(--mono)}
.threads input{flex:1;accent-color:var(--accent)}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.actions .primary{flex:1}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.stat{background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.stat b{font:700 22px/1.2 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat small{color:var(--muted);font-size:12px}
.meter{height:6px;background:var(--sunk);border-radius:4px;overflow:hidden}
.meter i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}
.ticker{font:500 13px/1.7 var(--mono);background:var(--sunk);border-radius:8px;padding:10px 12px;height:128px;overflow:hidden;color:var(--muted);display:flex;flex-direction:column;justify-content:flex-end}
.ticker div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ticker div:last-child{color:var(--fg)}
.status{font-size:13px;color:var(--muted)}
.result{border:1px solid var(--hit);background:var(--surface);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:14px}
.result h2,.sec h2{font:700 22px/1.2 var(--display);margin:0;letter-spacing:-.02em}
.addr{font:500 clamp(14px,2.2vw,18px) var(--mono);overflow-wrap:anywhere}
.keybox{display:flex;flex-direction:column;gap:6px}
.keyrow{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.keyrow code,.keyrow textarea{flex:1 1 260px;min-width:0;font:500 13px var(--mono);background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--fg);overflow-wrap:anywhere;resize:vertical}
.keyrow code.masked{color:var(--muted);letter-spacing:.1em}
.callout{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:10px 12px;font-size:14px}
.callout b{color:inherit}
.sec{display:flex;flex-direction:column;gap:12px}
.history{width:100%;border-collapse:collapse;font-size:14px}
.history th{text-align:left;font:600 11px var(--body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.history td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
.history td.m{font-family:var(--mono);font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}
.chip{display:inline-block;font:600 11px var(--body);padding:2px 8px;border-radius:99px;background:var(--sunk);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.chip.mint{background:var(--hit-bg);color:var(--hit)}
.empty{padding:18px;color:var(--muted)}
.notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:820px){.notes{grid-template-columns:1fr}}
.notes div{display:flex;flex-direction:column;gap:6px;min-width:0}
.notes h3{font:700 16px var(--display);margin:0}
.notes p{margin:0;color:var(--muted);font-size:14px}
.notes code,.sec code{font:500 12.5px var(--mono);background:var(--sunk);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:9px 16px;border-radius:8px;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.show{opacity:1}
@media (prefers-reduced-motion:reduce){.meter i,.toast{transition:none}}

/* ---- shared site chrome ---- */
html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:var(--accent)}
a.brand{color:inherit;text-decoration:none}
.nav{display:flex;gap:4px;background:var(--sunk);padding:3px;border-radius:9px}
.nav a{color:var(--muted);text-decoration:none;font:600 14px var(--body);padding:7px 12px;border-radius:7px}
.nav a[aria-current="page"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px rgba(0,0,0,.12)}
.nav a:hover{color:var(--fg)}
header{row-gap:14px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:13px}

/* ---- launch guide ---- */
.guide{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:820px){.guide{grid-template-columns:1fr;gap:20px}.toc{position:static!important}}
.toc{position:sticky;top:calc(16px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:4px;font-size:14px}
.toc a{color:var(--muted);text-decoration:none;padding:4px 0}
.toc a:hover{color:var(--fg)}
.toc .label{margin-bottom:6px}
.article{display:flex;flex-direction:column;gap:40px;min-width:0}
.article section{display:flex;flex-direction:column;gap:14px;min-width:0}
.article h2{font:700 26px/1.15 var(--display);letter-spacing:-.02em;margin:0;text-wrap:balance}
.article h3{font:700 17px/1.3 var(--display);margin:6px 0 0}
.article p,.article li{max-width:68ch;margin:0}
.article ul,.article ol{margin:0;padding-left:1.3em;display:flex;flex-direction:column;gap:6px}
.article code{font:500 13px var(--mono);background:var(--sunk);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
.route{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:640px){.route{grid-template-columns:1fr}}
.route a{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;color:var(--fg);text-decoration:none}
.route a:hover{border-color:var(--accent)}
.route b{font:700 17px var(--display)}
.route span{color:var(--muted);font-size:14px}
.route .chip{align-self:flex-start}
.steps{counter-reset:s;list-style:none;padding:0!important;gap:18px!important}
.steps>li{counter-increment:s;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px}
.steps>li::before{content:counter(s);font:700 14px var(--mono);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--sunk);color:var(--accent)}
.steps>li>div{display:flex;flex-direction:column;gap:8px;min-width:0}
.steps>li>div>b{font-weight:600}
pre.code{margin:0;padding-right:72px!important;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:14px 16px;overflow-x:auto;font:500 13px/1.6 var(--mono);color:var(--fg);position:relative}
pre.code .c{color:var(--muted)}
.codewrap{position:relative;min-width:0}
.codewrap button.copy{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:12px}
.costs{width:100%;border-collapse:collapse;font-size:14px}
.costs td{padding:8px 10px;border-bottom:1px solid var(--line)}
.costs td:last-child{font-family:var(--mono);text-align:right;white-space:nowrap}

[hidden]{display:none!important}
