/* ============ Operator Showcase — shared styles ============ */
:root{
  --bg:#0b0d0e;
  --bg-2:#111416;
  --bg-3:#171b1d;
  --line:#1f2528;
  --line-2:#2a3236;
  --fg:#dde3e1;
  --mute:#7d8a86;
  --dim:#4a5550;
  --green:#7fd49f;
  --amber:#e8b86b;
  --cyan:#7cc8d6;
  --red:#e07b6f;
  --magenta:#d18ec1;
  --blue:#82a8ff;
  --mono:'JetBrains Mono', ui-monospace, 'SF Mono', monospace;
  --sans:'Inter', system-ui, sans-serif;
  --max:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--fg);font-family:var(--mono);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--green);color:var(--bg)}

/* scanlines + vignette */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;background:repeating-linear-gradient(0deg, transparent 0 2px, rgba(255,255,255,0.012) 2px 3px)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:59;background:radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.45) 100%)}

/* ===== TOP STATUS ===== */
.topbar{position:sticky;top:0;z-index:50;background:var(--bg-2);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:36px;font-size:11px;letter-spacing:0.04em}
.topbar .left,.topbar .right{display:flex;align-items:center;gap:18px;color:var(--mute)}
.topbar .back{color:var(--green);font-weight:600;display:flex;align-items:center;gap:8px;transition:color .15s}
.topbar .back:hover{color:var(--amber)}
.topbar .back .arr{transition:transform .2s}
.topbar .back:hover .arr{transform:translateX(-3px)}
.topbar .pipe{color:var(--dim)}
.topbar .clock{color:var(--amber)}
.topbar .crumb{color:var(--fg)}
.topbar .crumb .now{color:var(--accent,var(--green))}
.topbar .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:opc 2s ease-in-out infinite}
@keyframes opc{50%{opacity:0.4}}

/* ===== JUMP NAV ===== */
.jump{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:36px;z-index:49}
.jump-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:flex;align-items:stretch;gap:0;height:42px;overflow-x:auto;scrollbar-width:none}
.jump-inner::-webkit-scrollbar{display:none}
.jump-tab{display:flex;align-items:center;padding:0 14px;color:var(--mute);border-right:1px solid var(--line);font-size:11px;letter-spacing:0.04em;transition:all .15s;cursor:pointer;white-space:nowrap}
.jump-tab:first-child{border-left:1px solid var(--line)}
.jump-tab:hover{color:var(--fg);background:var(--bg-2)}
.jump-tab.on{color:var(--accent,var(--green));background:var(--bg-2);box-shadow:inset 0 -2px 0 var(--accent,var(--green))}
.jump-tab .hash{color:var(--dim);margin-right:6px}
.jump-spacer{flex:1;border-bottom:1px solid var(--line);align-self:stretch}
.jump-ext{display:flex;align-items:center;padding:0 14px;color:var(--mute);border-left:1px solid var(--line);font-size:11px;background:var(--bg-2);gap:8px;white-space:nowrap;transition:color .15s}
.jump-ext:hover{color:var(--accent,var(--green))}

/* ===== MAIN ===== */
main{max-width:var(--max);margin:0 auto;padding:0 24px}
.section{padding:72px 0;border-bottom:1px solid var(--line);position:relative}
.section:last-of-type{border-bottom:none}
.section-mark{display:grid;grid-template-columns:200px 1fr;gap:32px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:36px}
.section-mark .tag{color:var(--accent,var(--green));font-size:11px;letter-spacing:0.14em;padding-top:8px}
.section-mark .tag::before{content:"// ";color:var(--dim)}
.section-mark h2{font-family:var(--mono);font-size:clamp(28px,3.6vw,46px);font-weight:600;letter-spacing:-0.015em;line-height:1;color:var(--fg)}
.section-mark h2 .punct{color:var(--accent,var(--green))}
.section-mark .sub{margin-top:10px;color:var(--mute);font-size:13px;max-width:60ch;line-height:1.6}

/* ===== HERO ===== */
.hero{padding:56px 0 32px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:stretch}
.hero-left{display:flex;flex-direction:column;gap:22px}
.hero-eyebrow{color:var(--mute);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-eyebrow::before{content:"";flex:0 0 28px;height:1px;background:var(--accent,var(--green))}
.hero-eyebrow .pill{padding:3px 9px;background:var(--bg-2);border:1px solid var(--line-2);color:var(--accent,var(--green));font-size:10px;letter-spacing:0.12em}
.hero-eyebrow .pill.ver{color:var(--amber);border-color:var(--amber)}
.hero-eyebrow .live{color:var(--accent,var(--green))}

.hero-title{font-family:var(--mono);font-size:clamp(54px,8vw,108px);font-weight:600;letter-spacing:-0.035em;line-height:0.96;color:var(--fg)}
.hero-title .c1{color:var(--accent,var(--green))}
.hero-title .punct{color:var(--dim)}
.hero-subtitle{font-family:var(--sans);font-size:22px;line-height:1.35;color:var(--mute);max-width:48ch;font-style:italic}
.hero-body{font-family:var(--sans);font-size:17px;line-height:1.55;color:var(--fg);max-width:58ch;text-wrap:pretty}
.hero-body .hl{color:var(--accent,var(--green))}

.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:0.06em;padding:11px 16px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);cursor:pointer;transition:all .15s}
.btn:hover{border-color:var(--accent,var(--green));color:var(--accent,var(--green));background:var(--bg-3)}
.btn.primary{background:var(--accent,var(--green));color:var(--bg);border-color:var(--accent,var(--green))}
.btn.primary:hover{background:transparent;color:var(--accent,var(--green))}

/* hero side: stats + meta */
.hero-side{display:flex;flex-direction:column;gap:0;background:var(--bg-2);border:1px solid var(--line-2)}
.stat-row{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding:18px 22px;border-bottom:1px solid var(--line)}
.stat-row:last-of-type{border-bottom:1px solid var(--line)}
.stat-row .n{font-family:var(--mono);font-size:38px;font-weight:600;letter-spacing:-0.02em;line-height:1;color:var(--fg)}
.stat-row .n .small{font-size:18px;color:var(--accent,var(--green));font-weight:500;margin-left:2px}
.stat-row .l{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--mute);line-height:1.4}
.stat-row .l .em{color:var(--fg)}

.meta-grid{padding:14px 22px;font-family:var(--mono);font-size:12px}
.meta-grid .r{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.meta-grid .r:last-child{border-bottom:none}
.meta-grid .k{color:var(--mute);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;padding-top:2px}
.meta-grid .v{color:var(--fg)}
.meta-grid .v a{color:var(--cyan);border-bottom:1px dashed transparent}
.meta-grid .v a:hover{border-bottom-color:var(--cyan)}
.meta-grid .v .pill{display:inline-block;padding:2px 7px;font-size:10px;letter-spacing:0.1em;background:var(--accent,var(--green));color:var(--bg);margin-right:4px}
.meta-grid .v .pill.warn{background:var(--amber);color:var(--bg)}
.meta-grid .v .pill.beta{background:var(--magenta);color:var(--bg)}

/* ===== ABSTRACT ===== */
.abs{display:grid;grid-template-columns:auto 1fr;gap:32px;background:var(--bg-2);border:1px solid var(--line-2);padding:36px}
.abs .lbl{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--mute);padding:0 4px}
.abs p{font-family:var(--sans);font-size:18px;line-height:1.55;color:var(--fg);text-wrap:pretty;max-width:64ch}
.abs p + p{margin-top:14px;color:var(--mute);font-size:16px}
.abs .kwds{margin-top:22px;display:flex;gap:8px;flex-wrap:wrap}
.abs .kwds .kw{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;padding:4px 10px;border:1px solid var(--line-2);color:var(--mute)}

/* ===== ARCH DIAGRAM ===== */
.arch-wrap{background:var(--bg-2);border:1px solid var(--line-2);position:relative}
.arch{position:relative;aspect-ratio:16/8;overflow:hidden}
.arch::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.arch svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.arch .corner{position:absolute;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--mute);text-transform:uppercase;padding:10px 14px;z-index:3}
.arch .corner.tl{top:0;left:0}
.arch .corner.tr{top:0;right:0;text-align:right}
.arch .corner.bl{bottom:0;left:0}
.arch .corner.br{bottom:0;right:0;text-align:right}
.arch .box{position:absolute;background:var(--bg-3);border:1px solid var(--line-2);padding:12px 14px;z-index:2;font-family:var(--sans);transition:all .2s ease;cursor:default}
.arch .box:hover{border-color:var(--accent,var(--green));box-shadow:0 0 0 1px var(--accent,var(--green))}
.arch .box .k{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}
.arch .box .v{font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:-0.005em;line-height:1.2;color:var(--fg)}
.arch .box .vsub{font-family:var(--mono);font-size:10px;color:var(--mute);margin-top:3px;letter-spacing:0.02em;line-height:1.4}
.arch .box.accent{background:var(--accent,var(--green));border-color:var(--accent,var(--green))}
.arch .box.accent .k{color:rgba(0,0,0,0.55)}
.arch .box.accent .v{color:var(--bg)}
.arch .box.accent .vsub{color:rgba(0,0,0,0.65)}
.arch .box.warn{background:var(--amber);border-color:var(--amber)}
.arch .box.warn .k{color:rgba(0,0,0,0.55)}
.arch .box.warn .v{color:var(--bg)}
.arch .box.warn .vsub{color:rgba(0,0,0,0.65)}

.fig-cap{padding:14px 18px;border-top:1px solid var(--line);color:var(--mute);font-size:11px;letter-spacing:0.04em;font-family:var(--mono)}
.fig-cap .num{color:var(--accent,var(--green));margin-right:10px}

/* ===== FEATURES ===== */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{background:var(--bg-2);border:1px solid var(--line-2);padding:24px;display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .15s}
.feat:hover{border-color:var(--accent,var(--green))}
.feat .num{position:absolute;top:18px;right:22px;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--dim);text-transform:uppercase}
.feat .glyph{width:36px;height:36px;border:1px solid var(--accent,var(--green));color:var(--accent,var(--green));display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:18px;font-weight:600;margin-bottom:6px}
.feat h3{font-family:var(--mono);font-size:18px;font-weight:600;letter-spacing:-0.01em;line-height:1.2;color:var(--fg)}
.feat h3 .hl{color:var(--accent,var(--green))}
.feat p{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--mute);text-wrap:pretty}
.feat .tags{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;color:var(--dim);text-transform:uppercase;margin-top:auto;padding-top:10px;border-top:1px dashed var(--line)}

/* ===== BENCHMARKS ===== */
.bench-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-2)}
.bench{padding:24px;border-right:1px solid var(--line);background:var(--bg-2);position:relative}
.bench:last-child{border-right:none}
.bench .h{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.bench .h::before{content:"// "}
.bench .n{font-family:var(--mono);font-size:54px;font-weight:600;letter-spacing:-0.03em;line-height:0.9;color:var(--fg)}
.bench .n .unit{font-size:18px;color:var(--accent,var(--green));font-weight:500;letter-spacing:-0.01em;margin-left:2px}
.bench .s{font-family:var(--sans);color:var(--mute);margin-top:14px;font-size:13px;line-height:1.4}
.bench .bar{margin-top:14px;height:4px;background:var(--bg-3);position:relative;overflow:hidden}
.bench .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent,var(--green));width:0;transition:width 1.2s cubic-bezier(.16,.84,.44,1)}
.bench .bar.go i{width:var(--w,72%)}
.bench .ftn{font-family:var(--mono);font-size:9px;letter-spacing:0.08em;color:var(--dim);margin-top:8px;text-transform:uppercase}

/* ===== CODE SAMPLE ===== */
.code-frame{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:start}
.code-text h3{font-family:var(--mono);font-size:28px;font-weight:600;letter-spacing:-0.015em;line-height:1.15;margin-bottom:14px;color:var(--fg)}
.code-text h3 .hl{color:var(--accent,var(--green))}
.code-text p{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--mute);text-wrap:pretty;max-width:52ch}
.code-text p + p{margin-top:12px}
.code-text code{font-family:var(--mono);font-size:13px;color:var(--cyan);background:var(--bg-2);padding:1px 6px;border:1px solid var(--line)}
.code-text .small-spec{margin-top:22px;display:flex;flex-direction:column;font-family:var(--mono);font-size:12px}
.code-text .small-spec .r{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:7px 0;border-bottom:1px dashed var(--line)}
.code-text .small-spec .r .k{color:var(--mute);font-size:10px;letter-spacing:0.1em;text-transform:uppercase}
.code-text .small-spec .r .v{color:var(--fg)}

.code-block{background:#0a0c0d;color:#dde3e1;font-family:var(--mono);font-size:13px;line-height:1.7;border:1px solid var(--line-2);position:relative;overflow:hidden}
.code-head{background:var(--bg-3);padding:10px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line-2);font-size:11px;color:var(--mute)}
.code-dots{display:flex;gap:6px}
.code-dots span{width:10px;height:10px;border-radius:50%;background:var(--dim)}
.code-dots span:nth-child(1){background:#e07b6f}
.code-dots span:nth-child(2){background:#e8b86b}
.code-dots span:nth-child(3){background:#7fd49f}
.code-title{margin-left:8px;color:var(--cyan)}
.code-body{padding:18px 22px;overflow-x:auto}
.code-body .ln{display:inline-block;width:30px;color:var(--dim);user-select:none;text-align:right;padding-right:14px}
.code-body .kw{color:var(--magenta)}
.code-body .fn{color:var(--cyan)}
.code-body .ty{color:var(--green)}
.code-body .str{color:var(--amber)}
.code-body .cmt{color:#5b6a64;font-style:italic}
.code-body .num{color:var(--amber)}
.code-body .punct{color:var(--mute)}

/* ===== TRACKS / COMPONENTS list ===== */
.tracks-head,.track{display:grid;grid-template-columns:38px 1.3fr 1fr 100px 28px;gap:18px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:13px}
.tracks-head{background:var(--bg-2);color:var(--mute);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.track{transition:background .12s;cursor:default}
.track:hover{background:var(--bg-2)}
.track .n{color:var(--dim);font-size:11px;text-align:right}
.track .name strong{display:block;font-family:var(--mono);font-size:14px;font-weight:600;letter-spacing:-0.005em;color:var(--fg);margin-bottom:2px}
.track .name span{color:var(--mute);font-size:11px;display:block}
.track .desc{color:var(--fg);font-family:var(--sans);font-size:13px;line-height:1.5}
.track .st{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;display:flex;align-items:center;gap:6px;color:var(--accent,var(--green))}
.track .st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent,var(--green))}
.track .st.beta{color:var(--amber)}
.track .st.beta::before{background:var(--amber)}
.track .st.draft{color:var(--mute)}
.track .st.draft::before{background:var(--mute)}
.track .arr{color:var(--dim);text-align:center}

/* ===== ROADMAP ===== */
.road{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line-2)}
.road-col{padding:20px 18px;border-right:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;gap:8px;min-height:240px;position:relative}
.road-col:last-child{border-right:none}
.road-col.current{background:var(--bg-3);box-shadow:inset 0 -2px 0 var(--accent,var(--green))}
.road-col .q{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mute);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:4px}
.road-col.current .q{color:var(--accent,var(--green));font-weight:600}
.road-col.current .q::after{content:" ●";color:var(--accent,var(--green));animation:opc 2s ease-in-out infinite}
.road-col .item{font-family:var(--sans);font-size:13px;line-height:1.4;color:var(--fg);padding-left:14px;position:relative;text-wrap:pretty}
.road-col .item::before{content:"›";position:absolute;left:0;color:var(--accent,var(--green));font-family:var(--mono)}
.road-col .item.done{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--dim)}
.road-col .item.done::before{content:"✓";color:var(--green);text-decoration:none}

/* ===== PAPER ===== */
.paper-cta{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-2)}
.paper-cta .left{padding:36px;background:var(--bg-2);display:flex;flex-direction:column;gap:14px;justify-content:center}
.paper-cta .left .k{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--accent,var(--green))}
.paper-cta .left .k::before{content:"// "}
.paper-cta .left h3{font-family:var(--mono);font-size:26px;font-weight:600;letter-spacing:-0.015em;line-height:1.2;color:var(--fg)}
.paper-cta .left h3 .hl{color:var(--accent,var(--green))}
.paper-cta .left p{font-family:var(--sans);color:var(--mute);font-size:15px;line-height:1.5;max-width:48ch}
.paper-cta .left .pbtn{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:0.08em;padding:12px 18px;background:var(--accent,var(--green));color:var(--bg);border:none;transition:all .15s}
.paper-cta .left .pbtn:hover{background:transparent;color:var(--accent,var(--green));box-shadow:inset 0 0 0 1px var(--accent,var(--green))}
.paper-cta .right{padding:36px;background:var(--bg-3);display:flex;flex-direction:column;gap:14px}
.paper-cta .right .pdf{font-family:var(--sans);color:var(--mute);font-size:14px;line-height:1.5}
.paper-cta .right .pdf strong{color:var(--fg)}
.paper-cta .right .pdf a{color:var(--cyan);border-bottom:1px dashed transparent;padding-bottom:1px}
.paper-cta .right .pdf a:hover{border-bottom-color:var(--cyan)}
.paper-cta .right .cite{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--mute);background:var(--bg-2);padding:16px;border-left:2px solid var(--accent,var(--green));white-space:pre;overflow-x:auto}
.paper-cta .right .cite .k{color:var(--magenta)}
.paper-cta .right .cite .v{color:var(--amber)}

/* ===== FAQ ===== */
.faq{display:flex;flex-direction:column}
.faq-row{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.faq-row:last-child{border-bottom:1px solid var(--line)}
.faq-row .q{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--accent,var(--green));padding-top:8px}
.faq-row .q::before{content:"// "}
.faq-row h3{font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:-0.015em;line-height:1.25;margin-bottom:10px;color:var(--fg)}
.faq-row p{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--mute);max-width:75ch;text-wrap:pretty}
.faq-row p + p{margin-top:10px}
.faq-row p a{color:var(--cyan);border-bottom:1px dashed transparent}
.faq-row p a:hover{border-bottom-color:var(--cyan)}

/* ===== RELATED ===== */
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rel-card{background:var(--bg-2);border:1px solid var(--line-2);padding:24px;transition:all .15s;display:flex;flex-direction:column;gap:8px}
.rel-card:hover{border-color:var(--accent,var(--green));transform:translateY(-2px)}
.rel-card .k{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--accent,var(--green));margin-bottom:6px}
.rel-card .k::before{content:"// "}
.rel-card h4{font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:-0.01em;line-height:1.15;color:var(--fg)}
.rel-card p{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--mute);text-wrap:pretty}
.rel-card .link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;color:var(--accent,var(--green))}

/* ===== FOOTER ===== */
footer{margin-top:64px;padding:48px 0 24px;border-top:1px solid var(--line)}
.ft{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px}
.ft-brand{font-family:var(--mono);font-size:18px;color:var(--accent,var(--green));font-weight:600}
.ft-brand::before{content:"$ ";color:var(--dim)}
.ft-tag{color:var(--mute);font-size:12px;margin-top:12px;max-width:38ch;line-height:1.55}
.ft-col h5{color:var(--dim);font-size:10px;letter-spacing:0.14em;margin-bottom:12px}
.ft-col h5::before{content:"// "}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:12px}
.ft-col a{color:var(--mute)}
.ft-col a:hover{color:var(--accent,var(--green))}
.ft-base{max-width:var(--max);margin:32px auto 0;padding:18px 24px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--dim);font-size:11px;letter-spacing:0.04em;flex-wrap:wrap;gap:12px}

/* ===== UTIL ===== */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .6s, transform .6s}
.reveal.in{opacity:1;transform:none}

@media (max-width:980px){
  .hero,.code-frame,.feat-grid,.bench-grid,.paper-cta,.rel-grid,.ft,.abs{grid-template-columns:1fr;gap:24px}
  .road{grid-template-columns:repeat(2,1fr)}
  .road-col{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
  .road-col:nth-child(2n){border-right:none}
  .bench{border-right:none;border-bottom:1px solid var(--line)}
  .tracks-head,.track{grid-template-columns:28px 1fr 80px 24px;gap:10px;font-size:12px}
  .tracks-head .col-desc,.track .desc{display:none}
  .topbar{padding:0 12px;font-size:10px;gap:8px}
  .topbar .hide-sm{display:none}
  .jump-inner{padding:0 12px}
  .jump-tab{padding:0 10px;font-size:10px}
  main,.ft,.ft-base{padding-left:16px;padding-right:16px}
  .section-mark{grid-template-columns:1fr;gap:8px}
  .abs .lbl{writing-mode:initial;transform:none}
  .faq-row{grid-template-columns:1fr;gap:8px}
}
