:root{--bg:#05070c;--fg:#eef2f7;--dim:#8a97a8;--line:#1a2230;--teal:#5eead4;--violet:#c4b5fd;--sky:#7dd3fc;--amber:#fcd34d;--rose:#fda4af}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:'Space Grotesk',system-ui,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}a:hover{border-color:var(--teal);color:var(--teal)}
.mono{font-family:'JetBrains Mono',monospace}
em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400}

.aurora{position:fixed;inset:-20% -10% auto -10%;height:70vh;pointer-events:none;z-index:0;filter:blur(60px);opacity:.55;
 background:radial-gradient(60% 50% at 20% 30%,rgba(94,234,212,.35),transparent 60%),radial-gradient(50% 50% at 70% 20%,rgba(196,181,253,.28),transparent 60%),radial-gradient(40% 40% at 50% 60%,rgba(125,211,252,.18),transparent 60%);
 animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(4%,6%,0) scale(1.08)}}
.grain{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.6'/></svg>")}

.route{position:absolute;left:0;top:0;width:100%;height:100%;z-index:0;pointer-events:none}
.route path{fill:none}
.route .ghost{stroke:#1b2433;stroke-width:2}
.route .live{stroke:var(--teal);stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(94,234,212,.45))}
.route .ai{stroke:var(--violet);stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(196,181,253,.5))}
.route circle{fill:var(--bg);stroke:var(--teal);stroke-width:2}
.route text{font-family:'JetBrains Mono',monospace;font-size:10px;fill:var(--violet);letter-spacing:.1em}

.rail{position:fixed;left:22px;top:50%;z-index:3;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--dim);letter-spacing:.08em;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.rail b{color:var(--teal);font-weight:500}
.legend{position:fixed;right:22px;bottom:22px;z-index:3;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--dim);line-height:1.9;letter-spacing:.06em}
.legend i{display:inline-block;width:18px;height:2px;vertical-align:middle;margin-right:8px}
.legend .c{background:var(--teal)}.legend .a{background:var(--violet)}

main{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:0 6vw}

.hero{min-height:100vh;display:grid;align-content:center;padding-top:12vh;position:relative}
.trace{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--dim);margin-bottom:28px;max-width:min(640px,58%);line-height:1.8}
.trace span{color:var(--teal)}.trace b{color:var(--violet);font-weight:400}
.hero h1{font-size:clamp(64px,11vw,150px);line-height:.92;margin:0;letter-spacing:-.03em;font-weight:700}
.hero h1 em{display:block;color:var(--teal);letter-spacing:-.01em;font-size:.72em;margin-left:.1em}
.hero h1 em b{color:var(--violet);font-weight:400}
.hero .lede{max-width:560px;font-size:19px;color:#c3ccd8;margin-top:40px;margin-left:min(28vw,340px)}
.hero .lede b{color:var(--fg);font-weight:500}
.hero .meta{position:absolute;right:0;top:14vh;text-align:right;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);line-height:1.9}
.hero .meta a{border:0;color:var(--fg)}
.scrollhint{margin-top:64px;font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;color:var(--fg)}
.scrollhint:after{content:"";display:block;width:1px;height:48px;background:linear-gradient(var(--teal),transparent);margin-top:12px;animation:down 1.6s ease-in-out infinite}
@keyframes down{50%{transform:translateY(8px);opacity:.4}}

.hop{position:relative;padding:13vh 0;display:grid;grid-template-columns:1fr 1fr;gap:40px;opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.hop.in{opacity:1;transform:none}
.hop.r .body{grid-column:2}
.hop.r .side{grid-column:1;grid-row:1;text-align:right}
.hop .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--teal);letter-spacing:.12em;margin-bottom:14px;line-height:1.8}
.hop .n span{color:var(--dim)}
.hop h2{font-size:clamp(34px,5vw,64px);line-height:1;margin:0 0 20px;letter-spacing:-.025em;font-weight:500}
.hop h2 em{color:var(--violet)}
.hop p{color:#c3ccd8;font-size:17px;max-width:540px;margin:0 0 14px}
.hop p.ai{border-left:2px solid var(--violet);padding-left:14px;color:#d6d0f5;font-size:16px}
.hop p.ai b{font-family:'JetBrains Mono',monospace;font-weight:400;font-size:11.5px;letter-spacing:.1em;color:var(--violet);display:block;margin-bottom:4px}

.tele{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);margin:0 0 20px;max-width:540px}
.tele b{color:var(--fg);font-weight:400}
.meter{display:inline-flex;gap:3px;vertical-align:middle;margin-right:10px}
.meter i{width:14px;height:8px;background:#1e2636;border-radius:2px}
.meter i.on{background:var(--violet);box-shadow:0 0 6px rgba(196,181,253,.6)}
.meter i.half{background:linear-gradient(90deg,var(--violet) 50%,#1e2636 50%)}

.big{font-family:'Instrument Serif',serif;font-size:clamp(90px,16vw,210px);line-height:.85;letter-spacing:-.04em;color:var(--fg);opacity:.95}
.big small{display:block;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.1em;color:var(--dim);margin-top:14px;max-width:320px;line-height:1.6}
.hop.r .big small{margin-left:auto}
.branches{margin-top:22px;display:flex;flex-direction:column}
.branch{display:grid;grid-template-columns:28px 1fr;gap:0 10px;padding:10px 0;border-top:1px dashed var(--line);align-items:baseline}
.branch:first-child{border-top:0}
.branch i{font-style:normal;color:var(--teal);font-family:'JetBrains Mono',monospace;font-size:12px}
.branch a{font-family:'JetBrains Mono',monospace;font-size:14px;border:0;color:var(--fg)}
.branch a:hover{color:var(--teal)}
.branch span{display:block;color:var(--dim);font-size:14px;line-height:1.5}
.branch .tag{display:inline;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--amber);margin-left:8px}
.branch.v i{color:var(--violet)}.branch.v a:hover{color:var(--violet)}
.branch.s i{color:var(--sky)}.branch.s a:hover{color:var(--sky)}

.loopnote{font-family:'Instrument Serif',serif;font-style:italic;font-size:clamp(22px,2.6vw,32px);color:var(--fg);line-height:1.2;max-width:380px;margin-left:auto;padding-top:260px}
.loopnote small{display:block;font-family:'JetBrains Mono',monospace;font-style:normal;font-size:11.5px;letter-spacing:.1em;color:var(--dim);margin-top:14px;line-height:1.6}

.creds{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.creds div{font-family:'JetBrains Mono',monospace;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:#c3ccd8}
.creds div span{color:var(--dim)}
.creds div:last-child{color:var(--violet)}

.ascent{display:flex;flex-direction:column-reverse;gap:6px;margin-top:10px}
.ascent div{font-family:'JetBrains Mono',monospace;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:#c3ccd8;transform:translateX(var(--x))}
.ascent div span{color:var(--dim)}
.ascent div:nth-child(1){--x:0}.ascent div:nth-child(2){--x:14px}.ascent div:nth-child(3){--x:28px}.ascent div:nth-child(4){--x:42px}.ascent div:nth-child(5){--x:56px}.ascent div:nth-child(6){--x:70px;color:var(--teal)}

.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:4vh -6vw;font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--dim)}
.marquee div{display:inline-block;animation:slide 40s linear infinite}
.marquee b{color:var(--fg);font-weight:500;margin:0 28px}
@keyframes slide{to{transform:translateX(-50%)}}

.verdict{padding:14vh 0 22vh;text-align:center;opacity:0;transform:translateY(28px);transition:opacity .9s,transform .9s}
.verdict.in{opacity:1;transform:none}
.verdict .n{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--teal);letter-spacing:.12em;margin-bottom:30px}
.verdict h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(34px,5.6vw,72px);line-height:1.05;margin:0 auto;max-width:900px;letter-spacing:-.02em}
.verdict h2 em{color:var(--teal)}
.verdict h2:nth-of-type(2) em{color:var(--violet)}
.verdict h2:nth-of-type(3) em{color:var(--sky)}
.current{margin:70px auto 0;max-width:820px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;text-align:left;font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--dim);border:1px dashed #2a3446;padding:20px 24px;border-radius:8px;line-height:1.7}
.current b{color:var(--fg);font-weight:400}
.current .k{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;font-size:11px;padding-top:2px}
.current .prog{color:var(--violet)}
.current .blink{animation:blink 1.1s steps(1) infinite;color:var(--teal)}
@keyframes blink{50%{opacity:0}}
.verdict .ledger{margin-top:40px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--dim);line-height:2}
.verdict .ledger code{color:var(--amber)}
.verdict .cta{margin-top:30px;display:flex;gap:28px;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:14px}
.verdict .cta a{border-bottom:1px solid var(--teal)}
@media (max-width:860px){.hop,.hop.r .body,.hop.r .side{grid-template-columns:1fr;grid-column:1;grid-row:auto;text-align:left}.hero .lede{margin-left:0}.hero .meta{position:static;text-align:left;margin-top:20px}.rail,.legend{display:none}.hop.r .big small{margin-left:0}.ascent div{transform:none}.loopnote{padding-top:0;margin-left:0}.current{grid-template-columns:1fr}}

/* reduced motion: no drift, no marquee, no blink, route fully drawn */
@media (prefers-reduced-motion:reduce){
  .aurora,.marquee div,.scrollhint:after,.blink{animation:none!important}
  .hop,.verdict{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
.skip{position:absolute;left:-999px;top:8px;z-index:9;background:var(--teal);color:#000;padding:8px 12px;font-family:'JetBrains Mono',monospace;font-size:12px;border-radius:4px}
.skip:focus{left:8px}

