:root{--bg:#080b0a;--panel:#101512;--raised:#151b17;--line:#263128;--line2:#1b251e;--text:#eaf1e8;--soft:#afbbb0;--muted:#7b8b7d;--dim:#57685b;--accent:#c6fd7e;--accentText:#14200f;--gold:#e9c98d;--danger:#f1998d;--radius:10px;--mono:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}::selection{background:#45643d;color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-frame{max-width:1160px;margin:auto;padding:0 32px}.topbar{display:flex;gap:28px;align-items:center;min-height:77px;border-bottom:1px solid var(--line)}.brand{font-family:var(--mono);font-weight:700;font-size:17px;letter-spacing:-1.1px;display:flex;align-items:center;white-space:nowrap}.brand-icon{color:var(--accent);font-size:30px;margin-right:10px;line-height:1}.brand-cursor{color:var(--accent)}.muted{color:var(--muted)}.main-nav{display:flex;gap:8px;margin-left:28px;align-items:center}.main-nav a{color:var(--muted);font-size:12px;font-family:var(--mono);padding:9px 11px;border-radius:5px;transition:.18s}.main-nav a:hover,.main-nav a.active{color:var(--text);background:var(--raised)}.top-actions{display:flex;gap:18px;align-items:center;margin-left:auto}.network{font:10px var(--mono);letter-spacing:1.2px;color:var(--soft);white-space:nowrap}.indicator{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;vertical-align:middle;margin-right:7px;box-shadow:0 0 12px #91d95880}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:5px;padding:12px 16px;font:12px var(--mono);transition:background .15s,border-color .15s;white-space:nowrap}.button:hover{background:#1e2b20;border-color:#536c51}.button-accent{background:var(--accent);color:var(--accentText);border-color:var(--accent);font-weight:700}.button-accent:hover{background:#ddffac;border-color:#ddffac}.button-small{padding:9px 12px}.menu-toggle{display:none;background:transparent;color:var(--text);border:0;font-size:20px}.footer{margin-top:110px;border-top:1px solid var(--line);padding:27px 0 45px;display:flex;gap:20px;justify-content:space-between;align-items:flex-start;color:var(--soft);font:10px var(--mono)}.footer>div{display:flex;gap:18px;flex-wrap:wrap}.footer a:hover{color:var(--accent)}.subtle{color:var(--dim)}.page{animation:fadein .16s ease-out}@keyframes fadein{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}.eyebrow{font:10px var(--mono);letter-spacing:1.3px;color:var(--accent);text-transform:uppercase}.eyebrow::before{content:'// ';color:var(--dim)}.intro{max-width:730px;padding-top:100px}.intro h1{font-size:clamp(48px,7.6vw,92px);line-height:1.02;letter-spacing:-5px;font-weight:570;margin:24px 0}.intro h1 span{color:var(--accent)}.intro p{font-size:17px;color:var(--soft);max-width:570px;line-height:1.8;margin-bottom:28px}.notice{font:12px var(--mono);color:var(--muted);letter-spacing:.2px}.notice strong{color:var(--accent);font-weight:500}.entry{margin-top:42px;border:1px solid #324532;background:linear-gradient(145deg,#111b13,#0c120e);border-radius:var(--radius);padding:22px 24px;max-width:765px}.entry-heading,.section-heading,.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.entry-heading{font:11px var(--mono);color:var(--soft);letter-spacing:.8px}.entry-command{font:clamp(15px,2vw,21px) var(--mono);margin:25px 0 8px;color:var(--accent);overflow-wrap:anywhere}.entry-sub{color:var(--muted);font-size:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.section{margin-top:88px}.section h2{font-size:21px;letter-spacing:-.65px;font-weight:580;margin:0}.section-label{font:10px var(--mono);color:var(--dim)}.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:22px}.protocol-step{padding:23px 18px 27px;border-right:1px solid var(--line)}.protocol-step:last-child{border-right:0}.step-number{font:11px var(--mono);color:var(--accent)}.protocol-step h3{font:13px var(--mono);font-weight:600;margin:25px 0 5px}.protocol-step p{font-size:12px;color:var(--muted);line-height:1.7;margin:0}.resource-list{border-top:1px solid var(--line);margin-top:20px}.resource{display:grid;grid-template-columns:165px 1fr 20px;gap:20px;padding:17px 4px;border-bottom:1px solid var(--line);align-items:center}.resource strong{font:12px var(--mono);font-weight:550}.resource span{font:12px var(--mono);color:var(--muted);overflow-wrap:anywhere}.resource:hover strong,.resource:hover .arrow{color:var(--accent)}.arrow{color:var(--dim)}.mini-ledger{margin-top:22px;border-top:1px solid var(--line)}.ledger-row{display:grid;grid-template-columns:2.2fr 1.55fr 1fr .6fr;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:16px 10px}.ledger-row:hover{background:#111812}.ledger-row.head{font:10px var(--mono);color:var(--dim);letter-spacing:1px;padding-top:12px;padding-bottom:12px}.token-name{font-weight:600;letter-spacing:-.15px}.token-symbol{font:11px var(--mono);color:var(--muted);margin-top:3px}.token-icon{width:35px;height:35px;display:flex;align-items:center;justify-content:center;border:1px solid #40513f;border-radius:6px;background:#1a241b;color:var(--accent);font:16px var(--mono);flex-shrink:0}.token-title{display:flex;align-items:center;gap:12px}.hook-set{display:flex;gap:5px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:3px;color:var(--soft);font:10px var(--mono);white-space:nowrap}.tag-green{color:var(--accent);border-color:#41573b;background:#182218}.tag-warn{color:var(--gold);border-color:#5b4731;background:#251b12}.tag-muted{color:var(--muted)}.row-action{font:11px var(--mono);color:var(--accent);text-align:right}.page-heading{padding:72px 0 28px}.page-heading h1{font-size:clamp(36px,5vw,59px);font-weight:560;letter-spacing:-2px;margin:15px 0 12px;line-height:1.08}.page-heading p{color:var(--muted);font-size:14px;line-height:1.8;max-width:720px}.crumbs{font:11px var(--mono);color:var(--muted);padding-top:28px}.crumbs a:hover{color:var(--accent)}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:25px 0 10px}.search,.select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:12px 13px;min-width:150px;font:12px var(--mono)}.search{flex:1;min-width:220px}.search::placeholder{color:var(--dim)}.search:focus,.select:focus{outline:1px solid var(--accent);border-color:var(--accent)}.explain{margin-top:18px;font-size:12px;color:var(--muted);line-height:1.8}.panel{border:1px solid var(--line);background:var(--panel);padding:22px;border-radius:7px}.panel-header{font:10px var(--mono);color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:15px}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(285px,1fr);gap:16px}.stack{display:flex;flex-direction:column;gap:15px}.kv{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line2);font-size:12px}.kv:last-child{border-bottom:0}.kv span:first-child{color:var(--muted)}.kv span:last-child{text-align:right;font-family:var(--mono);overflow-wrap:anywhere}.address{font:12px var(--mono);overflow-wrap:anywhere;color:var(--soft);word-break:break-word}.address .button{padding:5px 9px;font-size:10px;margin-left:8px}.rule-row{border-bottom:1px solid var(--line);padding:19px 3px}.rule-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.rule-title{display:flex;align-items:center;gap:13px}.rule-id{font:10px var(--mono);color:var(--dim);min-width:30px}.rule-title h3{margin:0;font-size:14px;font-weight:600}.rule-desc{color:var(--muted);font-size:12px;margin:9px 0 0 43px;line-height:1.75}.rule-detail{margin:15px 0 4px 43px;padding:16px;background:var(--panel);border:1px solid var(--line);font-size:12px;color:var(--soft)}.rule-detail p{margin:0 0 12px}.rule-detail p:last-child{margin-bottom:0}.rule-toggle{border:0;background:transparent;color:var(--accent);font:11px var(--mono)}.callout{border-left:2px solid var(--accent);padding:15px 19px;background:#111a12;color:var(--soft);font-size:12px;line-height:1.8}.callout.warn{border-color:var(--gold);background:#19170f}.doc-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px;margin-top:20px}.doc-sidebar{position:sticky;top:20px;align-self:start;border-right:1px solid var(--line);padding-right:22px}.doc-sidebar a{display:block;padding:8px 0;font:11px var(--mono);color:var(--muted)}.doc-sidebar a:hover{color:var(--accent)}.doc-article h2{font-size:21px;letter-spacing:-.6px;margin:36px 0 12px}.doc-article h2:first-child{margin-top:0}.doc-article p,.doc-article li{color:var(--soft);line-height:1.85;font-size:13px}.doc-article code,.code{font:12px var(--mono);color:var(--accent)}.codebox{position:relative;padding:19px;background:#101811;border:1px solid var(--line);border-radius:6px;margin:18px 0;overflow-x:auto}.codebox pre{font:12px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:#bed3be}.codebox .copycode{position:absolute;right:8px;top:7px;padding:4px 7px;border:1px solid var(--line);color:var(--soft);background:var(--raised);font:10px var(--mono);border-radius:4px}.doc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.doc-card{padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:5px}.doc-card strong{display:block;font:12px var(--mono);margin-bottom:8px}.doc-card small{color:var(--muted);font-size:11px}.doc-card:hover{border-color:#526a4b}.tiny{font:10px var(--mono);color:var(--muted)}.list-lines{padding-left:20px}.list-lines li{padding-bottom:8px}.hero-minor{max-width:760px;padding-top:85px}.hero-minor h1{font-size:clamp(42px,7vw,82px);letter-spacing:-4px;line-height:1.05;font-weight:530}.hero-minor p{max-width:600px;color:var(--soft);font-size:17px;line-height:1.8}.numbered{border-top:1px solid var(--line);margin-top:32px}.numbered .resource{grid-template-columns:60px 170px 1fr 20px}.numbered .num{font:12px var(--mono);color:var(--accent)}.empty{border:1px dashed var(--line);padding:35px;text-align:center;color:var(--muted);font-size:13px}.toast{position:fixed;right:22px;bottom:25px;background:var(--accent);color:var(--accentText);font:12px var(--mono);padding:11px 14px;border-radius:5px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.15s;z-index:10}.toast.show{opacity:1;transform:translateY(0)}.audit-table{width:100%;border-collapse:collapse;font-size:12px}.audit-table th{text-align:left;color:var(--dim);font:10px var(--mono);padding:12px;border-bottom:1px solid var(--line)}.audit-table td{padding:13px 12px;border-bottom:1px solid var(--line);color:var(--soft);vertical-align:top}.audit-table td:first-child{font-family:var(--mono);color:var(--text)}.divider{border:0;border-top:1px solid var(--line);margin:30px 0}.pill-group{display:flex;flex-wrap:wrap;gap:7px}.pill-group a{font:10px var(--mono);border:1px solid var(--line);border-radius:3px;padding:6px 8px;color:var(--soft)}.pill-group a:hover{color:var(--accent)}
@media(max-width:980px){.site-frame{padding:0 24px}.topbar{gap:14px}.main-nav{margin-left:0}.main-nav a{padding:8px}.network{display:none}.ledger-row{grid-template-columns:2fr 1.5fr 1fr .6fr;gap:8px}.intro{padding-top:75px}.protocol-grid{grid-template-columns:repeat(2,1fr)}.protocol-step:nth-child(2){border-right:0}.protocol-step:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.site-frame{padding:0 18px}.topbar{min-height:67px;flex-wrap:wrap}.brand{font-size:16px}.top-actions{margin-left:auto}.menu-toggle{display:block}.main-nav{display:none;order:4;width:100%;padding:0 0 13px;flex-wrap:wrap}.main-nav.open{display:flex}.main-nav a{flex:1;text-align:center}.intro{padding-top:66px}.intro h1{letter-spacing:-2.5px;font-size:55px}.intro p{font-size:15px}.entry{padding:18px}.section{margin-top:66px}.resource{grid-template-columns:1fr 20px;gap:5px}.resource span{grid-column:1}.resource .arrow{grid-column:2;grid-row:1}.ledger-row.head{display:none}.ledger-row{grid-template-columns:1fr auto;gap:10px}.ledger-row .hook-set{grid-column:1}.ledger-row .status-cell{grid-column:2;grid-row:1}.ledger-row .row-action{grid-column:2;grid-row:2}.page-heading{padding-top:50px}.page-heading h1{letter-spacing:-1.5px}.split,.doc-layout{grid-template-columns:1fr;gap:22px}.doc-sidebar{position:static;border:0;border-bottom:1px solid var(--line);padding:0 0 14px;display:flex;flex-wrap:wrap;gap:0 20px}.doc-cards{grid-template-columns:1fr}.numbered .resource{grid-template-columns:40px 1fr 20px}.numbered .resource span:not(.num){grid-column:2}.footer{flex-direction:column;gap:15px}.rule-desc,.rule-detail{margin-left:0}.protocol-step{padding:18px 14px}.top-actions .button{padding:8px}.audit-table{display:block;overflow-x:auto;white-space:nowrap}}

/* =====================================================================
   AgentOnly unified UI — production compatibility layer.
   The prototype design system above is the base. Everything below is
   the class layer the production pages (ledger, token pages, hooks
   explorer, builder, docs) are built with, re-skinned onto the same
   tokens so every route shares one shell and one palette.
   ===================================================================== */
:root{
  color-scheme:dark;
  --panel2:#151b17; --accent-dim:#22301f;
  --chip-line:#263128; --chip-text:#afbbb0;
  --warn:#e9c98d; --bad:#f1998d;
}
.wrap{max-width:1160px;margin:auto;padding:0 32px}
.small{font-size:12px;color:var(--muted)}
.accent{color:var(--accent)}
.hidden{display:none !important}
.mono{font-family:var(--mono)}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{transition:none !important; animation:none !important}
}
button{background:var(--panel);color:var(--text);border:1px solid var(--line);
  border-radius:5px;padding:9px 13px;font:12px var(--mono)}
button:hover{background:#1e2b20;border-color:#536c51}

/* ---- shared shell: header / footer ---- */
header.site{border-bottom:1px solid var(--line)}
header.site .topbar{border-bottom:0;min-height:77px}
.main-nav a.active{color:var(--text);background:var(--raised)}
footer.site{margin-top:110px;border-top:1px solid var(--line);padding:27px 0 45px;color:var(--soft);font-size:13px}
.foot-top{display:flex;justify-content:space-between;gap:14px 26px;flex-wrap:wrap;align-items:baseline;font:11px var(--mono);margin-bottom:30px}
.foot-top .foot-brandline{color:var(--text);font-weight:700;letter-spacing:.04em}
.foot-machine{display:flex;gap:18px;flex-wrap:wrap}
.foot-machine a{color:var(--soft)}
.foot-machine a:hover{color:var(--accent)}
.foot{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}
.footbrand{max-width:330px}
.footbrand .brandline{color:var(--text);font-weight:700;letter-spacing:.05em}
.footbrand a{color:var(--accent)}
.footcol{display:flex;flex-direction:column;gap:7px;min-width:132px}
.footcol h4{margin:0 0 3px;font:10px var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.footcol a{color:var(--muted)}
.footcol a:hover{color:var(--text)}
.footwide{flex-basis:100%;border-top:1px solid var(--line);padding-top:12px;margin-top:20px;width:100%}
.footwide a{color:var(--soft)}
.footwide a:hover{color:var(--accent)}

/* ---- page furniture (ledger / token / hooks / skills pages) ---- */
.hero{padding:34px 0 6px}
.tag{color:var(--accent);font:10px var(--mono);letter-spacing:1.3px;text-transform:uppercase}
.tag::before{content:'// ';color:var(--dim)}
h1{font-size:clamp(26px,3.6vw,38px);line-height:1.15;margin:8px 0 10px;letter-spacing:-.03em;font-weight:620}
h2{font-size:20px;margin:0;letter-spacing:-.4px}
h3{font-size:15px;margin:0 0 8px}
.lede{color:var(--muted);margin:0;max-width:720px;line-height:1.75}
.sectionhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:34px 0 15px}
.quick{margin:22px 0 4px;background:var(--panel);border:1px solid var(--line);border-radius:7px;
  padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.quick code{color:var(--accent);overflow-wrap:anywhere}
.quick .acts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.crumbs{font:11px var(--mono);color:var(--muted);padding-top:28px}
.crumbs a:hover{color:var(--accent)}
.crumbs [aria-current="page"]{color:var(--text)}
.regstats{display:flex;gap:8px 26px;flex-wrap:wrap;align-items:baseline;
  border:1px solid var(--line);border-radius:7px;background:var(--panel);
  padding:12px 18px;margin:20px 0 2px;font-size:13px}
.regstats b{font-size:17px}
.regstats .lbl{color:var(--muted)}
.regstats a{color:var(--accent)}

/* ---- ledger ---- */
.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}
.filters input,.filters select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:11px 12px;font:12px var(--mono)}
.filters input{flex:1;min-width:200px}
.filters input:focus,.filters select:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.ledger{border:1px solid var(--line);border-radius:7px;overflow:hidden}
.ledger .head,.ledger .entry{display:grid;
  grid-template-columns:minmax(180px,1.9fr) minmax(120px,1.1fr) minmax(170px,1.7fr) minmax(130px,1.1fr) 76px;
  gap:12px;align-items:center;padding:14px 18px}
.ledger .head{background:var(--panel2);color:var(--dim);font:10px var(--mono);text-transform:uppercase;letter-spacing:1px}
.ledger .entry{border-top:1px solid var(--line)}
.ledger .entry:hover{background:#111812}
.ledger .entry a{color:var(--accent)}
.ledger .entry .small a{color:var(--soft)}
.ledger .entry .small a:hover{color:var(--accent)}
.token{display:flex;align-items:center;gap:12px;min-width:0}
.avatar{width:35px;height:35px;border-radius:6px;background:#1a241b;border:1px solid #40513f;display:grid;place-items:center;
  color:var(--accent);font:16px var(--mono);flex-shrink:0}
.token .nm{font-weight:600;letter-spacing:-.15px}
.addr{display:inline-flex;align-items:center;gap:6px}
.copybtn{background:transparent;border:1px solid var(--line);color:var(--muted);
  border-radius:4px;padding:1px 7px;font:10px var(--mono);line-height:1.7}
.copybtn:hover{color:var(--text);background:var(--panel)}
.chips{display:flex;gap:5px;flex-wrap:wrap}
.chip{border:1px solid var(--line);border-radius:3px;padding:4px 7px;font:10px var(--mono);color:var(--soft);white-space:nowrap}
.chip.more{border-style:dashed;color:var(--muted)}
.status{font-size:12.5px}
.status .dotok{color:var(--accent)}
.state-sub{font-size:12px;color:var(--muted)}
.inspect{color:var(--accent);font-weight:600;white-space:nowrap;font-size:13px}
.note{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.8}
.note a,.panel a,.bottom a{color:var(--accent)}
.empty{padding:26px 18px;color:var(--muted)}

/* ---- panels / detail ---- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:20px;margin:18px 0}
.panel h2{margin-bottom:8px}
.bottom{margin:40px 0;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:7px}
.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;margin:0;font-size:13px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;overflow-wrap:anywhere}
table.params{border-collapse:collapse;width:100%;font-size:13px;margin:8px 0}
table.params th,table.params td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}
table.params th{background:var(--panel2);color:var(--muted);font-weight:600}
pre.json{background:#0c120e;border:1px solid var(--line);border-radius:6px;padding:10px 12px;
  overflow-x:auto;font-family:var(--mono);font-size:12.5px;margin:8px 0;white-space:pre-wrap;word-break:break-word;color:#bed3be}

/* ---- hooks explorer ---- */
.hrow{border:1px solid var(--line);border-radius:7px;margin-bottom:10px;background:var(--panel)}
.hrow>summary{cursor:pointer;list-style:none;padding:14px 18px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.hrow>summary::-webkit-details-marker{display:none}
.hrow .rid{font-family:var(--mono);color:var(--dim);font-size:12px}
.hrow .rname{font-weight:700;font-size:15px}
.hrow .rdesc{color:var(--muted);flex:1 1 320px}
.hrow .rbody{border-top:1px solid var(--line);padding:16px 18px}
.hrow .rbody a{color:var(--accent)}
.badge{border:1px solid var(--line);border-radius:3px;padding:2px 7px;font:10px var(--mono);color:var(--soft);white-space:nowrap}
.badge.live{border-color:#41573b;color:var(--accent);background:#182218}
.badge.trial{color:var(--soft)}
.badge.notlaunch{border-color:#5b4731;color:var(--gold);background:#251b12}
.badge.spec{border-color:#6e4a4a;color:var(--danger)}
.cat{font:10px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--dim)}

/* ---- steps (skills guide) ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:18px 0}
.step{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:18px}
.step .n{font:11px var(--mono);color:var(--accent);letter-spacing:.12em}
.step h3{margin:6px 0}
.step p{color:var(--muted);margin:0 0 10px;line-height:1.7}
.step a{color:var(--accent)}
.promptbox{background:#0c120e;border:1px solid var(--line);border-radius:7px;padding:16px 18px;margin:18px 0}
.promptbox code{color:var(--accent);overflow-wrap:anywhere}
.promptbox a{color:var(--accent)}

/* ---- docs page ---- */
.doclayout{display:grid;grid-template-columns:218px minmax(0,1fr);gap:34px;align-items:start;margin-top:26px}
.docs-side{position:sticky;top:18px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:14px}
.docs-side input{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:9px 10px;font:12px var(--mono)}
.docs-side input:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.side-nav{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.side-nav a{color:var(--muted);font-size:13px;padding:5px 8px;border-radius:5px}
.side-nav a:hover{color:var(--text)}
.side-nav a.here{color:var(--accent);background:var(--raised)}
.side-rules{display:flex;flex-direction:column;margin:2px 0 6px 10px;border-left:1px solid var(--line);padding-left:6px}
.side-rules a{font:11.5px var(--mono);padding:2.5px 8px}
.docbody{min-width:0}
.docbody h1{font-size:34px}
.docbody h2{font-size:22px;margin:38px 0 8px}
.docbody section:first-child h2{margin-top:26px}
.docbody p,.docbody li{color:var(--soft);line-height:1.85;font-size:14.5px}
.docbody a{color:var(--accent)}
.docbody table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13.5px}
.docbody th,.docbody td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.docbody th{background:var(--panel);color:var(--soft);font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.docbody td .rn{font-family:var(--mono);color:var(--accent);font-size:12px;white-space:nowrap}
.docbody td p{margin:2px 0;color:var(--muted);font-size:12.5px}
.docbody .panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:6px 14px;margin:18px 0}
.docbody .lede{font-size:16px}
.cta{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:5px;padding:11px 18px;font:12px var(--mono);margin:6px 8px 6px 0}
.cta:hover{background:#1e2b20;border-color:#536c51}
.cta.solid{background:var(--accent);color:var(--accentText);border-color:var(--accent);font-weight:700}
.cta.solid:hover{background:#ddffac}
.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0}
.linkcard{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:16px 18px}
.linkcard h3{margin:0 0 4px;font-size:15px}
.linkcard p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.docsec.nomatch,tr.nomatch{display:none}
.docbody mark{background:#3d3413;color:#ffe08a;border-radius:2px;padding:0 1px}
@media (max-width:900px){
  .doclayout{grid-template-columns:1fr}
  .docs-side{position:static;width:auto}
  .side-rules{flex-direction:row;flex-wrap:wrap;border-left:none;padding-left:0;margin-left:0}
}

@media(max-width:820px){
  .ledger .head{display:none}
  .ledger .entry{grid-template-columns:1fr auto;gap:8px 10px}
  .ledger .entry>.creator,.ledger .entry>.hooks,.ledger .entry>.statecell{grid-column:1 / -1}
  .kv{grid-template-columns:1fr}
  .kv dt{margin-top:8px}
  .hero{padding-top:24px}
}

/* ---- prototype/production class-collision fixes ----
   The prototype uses .entry for the homepage skill panel and .tag for
   hook chips; production uses .entry for ledger rows and .tag for the
   eyebrow label. These rules keep each in its own lane. */
.ledger .entry{margin:0;max-width:none;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0}
.tag{border:0;padding:0;background:none;border-radius:0}
.ledger .empty{border:0;text-align:left}
.cta{background:var(--accent);color:var(--accentText);border-color:var(--accent);font-weight:700}
.cta:hover{background:#ddffac;border-color:#ddffac}
.cta.ghost{background:var(--panel);color:var(--text);border-color:var(--line);font-weight:400}
.cta.ghost:hover{background:#1e2b20;border-color:#536c51}
.resource-list .resource{grid-template-columns:205px 1fr 20px}
@media(max-width:700px){.resource-list .resource{grid-template-columns:1fr 20px}}

/* ---- delta pass: agent entry point + token participation panel ----
   One type system, tighter door: the entry panel carries the page's
   only H1; the participation panel reuses .panel/.kv unchanged. */
.intro .entry{margin-top:30px}
.intro .entry h1{font-size:clamp(34px,4.6vw,52px);letter-spacing:-2.2px;line-height:1.08;margin:20px 0 8px;font-weight:570}
.intro .entry-line{font-size:16px;color:var(--soft);line-height:1.7;margin:0 0 6px;max-width:560px}
.intro a.entry-command{display:block;text-decoration:none}
.intro .entry-caveat{color:var(--muted);font-size:12px;line-height:1.75;margin:18px 0 0;border-top:1px solid var(--line2);padding-top:14px}
.participation{border-color:#324532;background:linear-gradient(145deg,#111b13,#0c120e)}
@media(max-width:700px){.intro .entry h1{letter-spacing:-1.6px}}

/* ---- mobile overflow fix (2026-10-23) ----
   Long unbreakable mono strings (token JSON URLs, base58 addresses)
   forced document scrollWidth to 813px at every phone viewport: the
   browser zoomed/shifted to fit and the topbar wrapped, which made the
   hamburger menu look broken. Containment: long strings wrap in place
   (full text stays visible/copyable), flex/grid parents may shrink.
   Also: the production .wrap gutter never narrowed on mobile, and at
   <=480px the topbar row itself (brand + skill button + toggle) did
   not fit — compact it so all three share one row down to 320px. */
.addr,a.mono,.mono{overflow-wrap:anywhere}
.addr{max-width:100%;min-width:0}
.addr .mono{min-width:0}
.kv>*{min-width:0}
.panel .addr,.panel a.mono,.panel .mono{overflow-wrap:anywhere}
.steps{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
@media(max-width:700px){.wrap{padding:0 18px}}
@media(max-width:480px){
  .wrap{padding:0 14px}
  .topbar{gap:10px}
  .brand{font-size:14px;letter-spacing:-.6px}
  .brand-icon{font-size:22px;margin-right:6px}
  .top-actions{gap:8px}
  .top-actions .button{padding:7px 9px;font-size:11px}
  .menu-toggle{font-size:18px;padding:4px 6px;line-height:1}
}

/* ---- market overview module (Phase 1, 2026-10-23) ----
   Rendered by the generator as a static skeleton (all values —) and
   filled by /assets/market.js from the Board's batched /api/market.json.
   Visual language follows the market reference: 4-up metric grid with
   hairline dividers, mono labels, a graduation bar / PERMANENT CURVE
   badge, and a provenance line. Values wrap anywhere so no figure can
   force horizontal overflow at phone widths. */
.market .mkt-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.market .mkt-head h2{margin:0}
.mkt-fresh{font:11px var(--mono);color:var(--muted);display:inline-flex;align-items:center;gap:7px}
.mkt-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#849184;flex-shrink:0}
.mkt-dot.live{background:var(--accent)}
.mkt-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.mkt-metric{padding:16px;min-width:0;border-right:1px solid var(--line2);background:var(--bg)}
.mkt-metric:last-child{border-right:0}
.mkt-label{font:10px var(--mono);letter-spacing:1px;color:var(--muted)}
.mkt-value{font-size:22px;letter-spacing:-.8px;font-weight:560;margin-top:9px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mkt-detail{font-size:11px;color:var(--dim);margin-top:6px;line-height:1.6}
.mkt-grad{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.mkt-badge{border:1px solid #3b5737;background:#152419;color:var(--accent);padding:6px 10px;border-radius:5px;font:11px var(--mono);white-space:nowrap}
.mkt-gradnote{font-size:12px;color:var(--muted)}
.mkt-bar{flex:1;min-width:140px;height:8px;background:var(--line2);border-radius:99px;overflow:hidden}
.mkt-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s ease}
.mkt-note{font-size:12px;color:var(--muted);line-height:1.75;margin:16px 0 0;border-top:1px solid var(--line2);padding-top:13px}
.mkt-prov{margin:10px 0 0;overflow-wrap:anywhere}
.mkt-cell{color:var(--muted)}
@media(max-width:700px){
  .mkt-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mkt-metric:nth-child(2){border-right:0}
  .mkt-metric:nth-child(-n+2){border-bottom:1px solid var(--line2)}
  .mkt-value{font-size:19px}
}

/* ---- rules at a glance card (2026-10-23) ----
   Plain-language layer on token pages, modeled on Gregory's reference
   cards: eyebrow (token name), $SYMBOL, one headline badge pill, and
   hairline-separated label/value rows. Rendered by the generator from
   the launch record; static HTML, no JS. Badge tones reuse the site's
   existing palettes (gold warn / green live / mkt perm). */
.glance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.glance-eyebrow{font:10px var(--mono);letter-spacing:1.3px;color:var(--muted);text-transform:uppercase}
.glance-sym{font-size:30px;font-weight:600;letter-spacing:-1px;margin-top:5px;line-height:1.1}
.gbadge{border:1px solid var(--line);border-radius:99px;padding:5px 11px;font:11px var(--mono);color:var(--soft);white-space:nowrap;background:var(--bg);flex-shrink:0}
.gbadge.warn{color:var(--gold);border-color:#5b4731;background:#251b12}
.gbadge.live{color:var(--accent);border-color:#41573b;background:#182218}
.gbadge.perm{color:var(--accent);border-color:#3b5737;background:#152419}
.glance-rows{margin:12px 0 0}
.glance-rows .grow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:6px 18px;padding:11px 0;border-bottom:1px solid var(--line2)}
.glance-rows .grow:last-child{border-bottom:0}
.glance-rows dt{color:var(--muted);font-size:13px}
.glance-rows dd{margin:0;font-size:13.5px;overflow-wrap:anywhere}
.okpill{display:inline-block;border:1px solid #41573b;background:#182218;color:var(--accent);border-radius:99px;padding:2px 9px;font:11px var(--mono);white-space:nowrap}
.glance-note{margin:12px 0 0;color:var(--gold);line-height:1.7}
.glance-foot{margin:14px 0 0;color:var(--dim)}
@media(max-width:640px){.glance-rows .grow{grid-template-columns:1fr}.glance-sym{font-size:25px}}
