:root{color-scheme:light;--paper: #ece4d3;--paper-warm: #e7dcc8;--paper-lift: #f6f0e2;--ink: #202a36;--ink-soft: #3a4451;--coral: #c84d3d;--peach: #f0ae78;--teal: #2f5457;--gold: #f0c33c;--line: rgba(32, 42, 54, .22);--line-soft: rgba(32, 42, 54, .11);--shadow: 0 18px 40px rgba(34, 38, 47, .11);--hard: 9px 9px 0 rgba(32, 42, 54, .13);--nav-bg: rgba(236, 228, 211, .92);--surface-glass: rgba(246, 240, 226, .55);--surface-faint: rgba(246, 240, 226, .5);--tag-bg: rgba(255, 255, 255, .35);--tag-border: rgba(58, 68, 81, .3);--rule: rgba(32, 42, 54, .025);--table-head: rgba(32, 42, 54, .04);--row-hover: rgba(240, 174, 120, .16);--quiet-hover: rgba(32, 42, 54, .05);--inline-code: rgba(47, 84, 87, .1);--coral-wash: rgba(200, 77, 61, .055);--coral-wash-hover: rgba(200, 77, 61, .09);--success: #3f6b48;--success-border: rgba(63, 107, 72, .4);--success-wash: rgba(63, 107, 72, .1);--warning: #9a6a1e;--warning-border: rgba(154, 106, 30, .4);--warning-wash: rgba(154, 106, 30, .1);--inverse-bg: #202a36;--inverse-ink: #ece4d3;--panel-shadow: 4px 4px 0 rgba(32, 42, 54, .1);--pager-shadow: 6px 6px 0 rgba(32, 42, 54, .1);--selection-ink: #202a36;--grain-opacity: .06;--t-heading: clamp(1.9rem, 4.4vw, 3.4rem);--t-sub: 1.125rem;--t-body: .9rem;--font-display: "Syne", sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--radius: 2px}:root[data-theme=dark]{color-scheme:dark;--paper: #171c22;--paper-warm: #1d242c;--paper-lift: #252e38;--ink: #e9e0d0;--ink-soft: #c7bdad;--coral: #ef7968;--peach: #f0ad77;--teal: #85b6b8;--gold: #f2ca56;--line: rgba(233, 224, 208, .22);--line-soft: rgba(233, 224, 208, .11);--shadow: 0 18px 40px rgba(0, 0, 0, .3);--hard: 9px 9px 0 rgba(239, 121, 104, .16);--nav-bg: rgba(23, 28, 34, .92);--surface-glass: rgba(37, 46, 56, .7);--surface-faint: rgba(37, 46, 56, .56);--tag-bg: rgba(233, 224, 208, .06);--tag-border: rgba(233, 224, 208, .25);--rule: rgba(233, 224, 208, .035);--table-head: rgba(233, 224, 208, .055);--row-hover: rgba(240, 173, 119, .11);--quiet-hover: rgba(233, 224, 208, .06);--inline-code: rgba(133, 182, 184, .14);--coral-wash: rgba(239, 121, 104, .08);--coral-wash-hover: rgba(239, 121, 104, .13);--success: #8fc79b;--success-border: rgba(143, 199, 155, .45);--success-wash: rgba(143, 199, 155, .12);--warning: #e2b15f;--warning-border: rgba(226, 177, 95, .45);--warning-wash: rgba(226, 177, 95, .12);--inverse-bg: #0f151b;--inverse-ink: #e9e0d0;--panel-shadow: 4px 4px 0 rgba(0, 0, 0, .28);--pager-shadow: 6px 6px 0 rgba(0, 0, 0, .24);--grain-opacity: .085}*{box-sizing:border-box;border-color:var(--line)}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background-color .25s ease,color .25s ease}::selection{background:var(--gold);color:var(--selection-ink)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}body:before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.055em;font-weight:800;line-height:1.03;margin:0}.mono{font-family:var(--font-mono)}.t-heading{font-size:var(--t-heading);line-height:1.04}.t-sub{font-size:var(--t-sub);line-height:1.4}.label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;opacity:.55}.wrap{width:min(1080px,calc(100% - 44px));margin:0 auto}.narrow{width:min(760px,calc(100% - 44px));margin:0 auto}.reveal{opacity:0;transform:translateY(18px);animation:reveal-in .75s cubic-bezier(.2,.7,.2,1) forwards}.pre-reveal{opacity:0;transform:translateY(16px)}@keyframes reveal-in{to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.pre-reveal{opacity:1;transform:none}}.packet-rain{position:fixed;z-index:2;inset:-30px 0 auto;height:100vh;overflow:hidden;pointer-events:none}.packet{position:absolute;top:-28px;left:var(--x);font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.04em;color:var(--ink);padding:2px 5px;border:1px solid var(--line);background:var(--surface-faint);opacity:0;white-space:nowrap;animation:packet-fall var(--dur) linear var(--delay) infinite}.packet[data-kind=ok]{color:var(--success);border-color:var(--success-border)}.packet[data-kind=warn]{color:var(--warning);border-color:var(--warning-border)}.packet[data-kind=err]{color:var(--coral);border-color:#c84d3d73}@keyframes packet-fall{0%{opacity:0;translate:0 -30px;rotate:0deg}9%{opacity:.6}50%{translate:var(--drift) 50vh;rotate:var(--tilt)}88%{opacity:.35}to{opacity:0;translate:calc(var(--drift) * -.5) 112vh;rotate:180deg}}.circuitry{position:fixed;inset:0;z-index:1;pointer-events:none;color:var(--ink);opacity:.09}.circuitry>div{position:absolute;width:clamp(180px,22vw,300px)}.circuit-tl{top:56px;left:-18px}.circuit-br{bottom:-10px;right:-18px;transform:rotate(180deg)}.circuitry svg{width:100%;height:auto;display:block}.circuitry .via{animation:via-pulse 4s ease-in-out infinite}.circuitry .via:nth-child(2){animation-delay:.8s}.circuitry .via:nth-child(3){animation-delay:1.9s}@keyframes via-pulse{0%,to{opacity:.4}50%{opacity:1}}.nav{position:sticky;top:0;z-index:40;background:var(--nav-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0}.nav-brand{display:flex;align-items:center;gap:9px;text-decoration:none}.nav-brand-mark{font-family:var(--font-mono);font-size:11px;font-weight:700;border:1px solid var(--ink);padding:2px 6px;letter-spacing:-.02em;transition:background-color .25s ease,color .25s ease,transform .25s ease}.nav-brand:hover .nav-brand-mark{background:var(--inverse-bg);color:var(--inverse-ink);transform:rotate(-3deg)}.nav-brand-text{font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:18px}.nav-link{position:relative;padding:5px 1px;text-decoration:none;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;background:none;border:0;cursor:pointer;color:inherit;font-family:inherit}.nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .25s ease}.nav-link:hover:after,.nav-link[data-active=true]:after{right:0}.nav-link[data-active=true]{color:var(--coral)}.theme-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:inherit;background:transparent;border:1px solid var(--line);border-radius:999px;padding:4px 8px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease,transform .2s ease}.theme-toggle:hover{color:var(--coral);border-color:var(--coral);background:var(--coral-wash);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--coral);outline-offset:3px}.theme-toggle-dot{width:8px;height:8px;border-radius:50%;flex:none;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%);transition:transform .3s ease}:root[data-theme=dark] .theme-toggle-dot{transform:rotate(180deg)}.lab-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;border:1px solid var(--line);border-radius:999px;padding:3px 9px;background:var(--surface-glass);white-space:nowrap}.lab-dot{width:6px;height:6px;border-radius:50%;background:#9aa0a6;flex:none}.lab-pill[data-state=up] .lab-dot{background:#3f9b5c;animation:dot-breathe 2.2s ease-in-out infinite}.lab-pill[data-state=down] .lab-dot{background:var(--coral)}.lab-pill[data-state=checking] .lab-dot{animation:dot-breathe 1s ease-in-out infinite}@keyframes dot-breathe{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{opacity:.45}}.hero{position:relative;z-index:3;padding:clamp(46px,8vw,92px) 0 clamp(34px,5vw,58px)}.hero-copy{font-size:clamp(2.3rem,7.4vw,5rem);line-height:.86;position:relative;z-index:1}.hero-copy:after{content:"";position:absolute;z-index:-1;left:46%;top:42%;width:clamp(110px,15vw,220px);aspect-ratio:1;border-radius:50%;background:#c84d3d2e;filter:blur(1px);transform:translate(-50%,-50%)}.hero-lede{max-width:46ch;margin-top:18px;font-size:1rem;line-height:1.6}.hero-lede strong{color:var(--coral);font-weight:600}.stamp{display:inline-block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);border:1px solid var(--coral);padding:4px 8px;transform:rotate(-4deg);transform-origin:left center}.wire{margin-top:30px;border:1px solid var(--line);background:var(--surface-glass);padding:16px 18px}.wire-track{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px}.wire-node{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--ink);padding:6px 10px;background:var(--paper-lift);flex:none}.wire-line{position:relative;flex:1;height:1px;background:var(--line);overflow:visible}.wire-packet{position:absolute;top:-8px;left:0;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 5px;border:1px solid currentColor;background:var(--paper);white-space:nowrap}.wire-req{color:var(--coral);animation:wire-out 4.4s cubic-bezier(.5,0,.5,1) infinite}.wire-res{color:var(--success);animation:wire-back 4.4s cubic-bezier(.5,0,.5,1) infinite}@keyframes wire-out{0%{left:0;opacity:0}6%{opacity:1}42%{left:calc(100% - 62px);opacity:1}50%,to{left:calc(100% - 62px);opacity:0}}@keyframes wire-back{0%,50%{left:calc(100% - 52px);opacity:0}56%{opacity:1}94%{left:0;opacity:1}to{left:0;opacity:0}}.wire-caption{margin-top:10px;font-size:11px;opacity:.6;font-family:var(--font-mono)}.grid-cards{display:grid;gap:14px;grid-template-columns:1fr}@media(min-width:720px){.grid-cards{grid-template-columns:repeat(2,1fr)}}@media(min-width:1000px){.grid-cards{grid-template-columns:repeat(3,1fr)}}.card{display:flex;flex-direction:column;gap:11px;padding:18px;min-height:186px;text-align:left;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--radius);font:inherit;color:inherit;cursor:pointer;transition:transform .35s ease,box-shadow .35s ease,background-color .35s ease}.card:hover{transform:translateY(-7px) rotate(-.4deg);box-shadow:var(--hard);background:var(--paper-lift)}.card:disabled{cursor:default;opacity:.62}.card:disabled:hover{transform:none;box-shadow:none;background:var(--paper-warm)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-n{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;opacity:.5}.card-title{font-size:var(--t-sub);line-height:1.35;margin:0;font-weight:600}.card-hook{font-size:var(--t-body);opacity:.78;margin:0}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--tag-border);padding:3px 7px;border-radius:999px;background:var(--tag-bg);white-space:nowrap}.card:hover .tag{border-color:#c84d3d80;background:#c84d3d17}.band{position:relative;z-index:3;padding:clamp(36px,5.5vw,62px) 0}.band-ruled{background-image:linear-gradient(var(--rule) 1px,transparent 1px);background-size:100% 34px}.band-ruled:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:#c84d3d47}.band-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:22px}.band-head h2{font-size:var(--t-heading)}.lesson-head{padding:clamp(34px,6vw,66px) 0 22px;position:relative;z-index:3}.back-link{display:inline-flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;font:inherit;color:inherit;padding:0;margin-bottom:20px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;opacity:.6;transition:opacity .2s ease,gap .2s ease}.back-link:hover{opacity:1;gap:11px;color:var(--coral)}.section{position:relative;z-index:3;padding:30px 0;border-top:1px solid var(--line-soft);scroll-margin-top:66px}.section:first-of-type{border-top:0}.section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:12px}.section-n{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--coral);border:1px solid var(--coral);padding:2px 6px;flex:none;margin-top:3px}.section h3{font-size:var(--t-sub);font-weight:700;margin:0;line-height:1.35}.section-hook{font-size:var(--t-body);opacity:.62;margin:2px 0 0;font-style:italic}.section p{margin:0 0 12px;max-width:68ch}.section p:last-child{margin-bottom:0}.section strong{font-weight:600;color:var(--coral)}.section em{font-style:italic;opacity:.85}.notes{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:7px;max-width:68ch}.notes li{position:relative;padding-left:19px}.notes li:before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border:1px solid var(--coral);background:transparent;transition:background-color .2s ease}.notes li:hover:before{background:var(--coral)}.notes code,.section p code,td code{font-family:var(--font-mono);font-size:.86em;background:var(--inline-code);padding:1px 4px;border-radius:2px;white-space:nowrap}.mark{background:linear-gradient(transparent 58%,#f0c33c8c 58%);padding:0 2px}.aside{border-left:3px solid var(--coral);background:var(--coral-wash);padding:12px 15px;margin:0 0 14px;max-width:68ch;transition:background-color .25s ease}.aside:hover{background:var(--coral-wash-hover)}.aside-tag{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--coral);display:block;margin-bottom:5px}.aside p{margin:0}.aside[data-tone=trap]{border-left-color:var(--warning);background:var(--warning-wash)}.aside[data-tone=trap]:hover{background:var(--warning-wash)}.aside[data-tone=trap] .aside-tag{color:var(--warning)}.aside[data-tone=win]{border-left-color:var(--success);background:var(--success-wash)}.aside[data-tone=win]:hover{background:var(--success-wash)}.aside[data-tone=win] .aside-tag{color:var(--success)}.table-scroll{overflow-x:auto;margin:0 0 14px;border:1px solid var(--line);background:var(--surface-faint)}table{border-collapse:collapse;width:100%;font-size:var(--t-body);min-width:460px}th,td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--line-soft);vertical-align:top}th{font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.6;background:var(--table-head)}tbody tr{transition:background-color .18s ease}tbody tr:hover{background:var(--row-hover)}tbody tr:last-child td{border-bottom:0}td.mono-cell{font-family:var(--font-mono);font-size:.84rem;white-space:nowrap}.snippet{margin:0 0 14px;border:1px solid var(--line);background:#1b242e;color:#dfe6e2;border-radius:var(--radius);overflow:hidden}.snippet-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 11px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.09)}.snippet-name{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:#9fb0a8}.snippet-lang{font-family:var(--font-mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#1b242e;background:var(--peach);padding:2px 6px;font-weight:700;border-radius:2px}.snippet pre{margin:0;padding:13px 14px;overflow-x:auto}.snippet code{font-family:var(--font-mono);font-size:12px;line-height:1.66;white-space:pre}.snippet-note{padding:8px 12px;border-top:1px solid rgba(255,255,255,.09);font-size:11px;color:#9fb0a8}.tok-key{color:#ffb37a}.tok-ann{color:#f0c33c}.tok-str{color:#97d6a6}.tok-num{color:#9fd0ff}.tok-com{color:#6d7f78;font-style:italic}.tok-typ{color:#8ed2d6}.lab{margin:0 0 14px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper-lift);overflow:hidden;box-shadow:var(--panel-shadow)}.lab-head{display:flex;align-items:center;gap:9px;padding:9px 12px;background:var(--inverse-bg);color:var(--inverse-ink);flex-wrap:wrap}.lab-head-title{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.lab-head-route{font-family:var(--font-mono);font-size:10px;opacity:.6;margin-left:auto}.lab-body{padding:12px;display:grid;gap:10px}.lab-why{font-size:var(--t-body);opacity:.78;margin:0}.lab-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.btn{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:7px 12px;border:1px solid var(--inverse-bg);background:var(--inverse-bg);color:var(--inverse-ink);cursor:pointer;border-radius:var(--radius);transition:background-color .2s ease,color .2s ease,transform .2s ease,border-color .2s ease}.btn:hover:not(:disabled){background:var(--coral);border-color:var(--coral);transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:wait}.btn-quiet{background:transparent;color:var(--ink);border-color:var(--line)}.btn-quiet:hover:not(:disabled){background:#c84d3d1a;color:var(--coral);border-color:var(--coral)}.btn-danger{background:transparent;color:var(--coral);border-color:var(--coral)}.btn-danger:hover:not(:disabled){background:var(--coral);color:var(--selection-ink)}.lab-field{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px}.lab-field select,.lab-field input[type=text]{font-family:var(--font-mono);font-size:10px;padding:5px 7px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:var(--radius)}.lab-field input[type=file]{font-family:var(--font-mono);font-size:10px;max-width:210px}.console{background:#141c24;color:#cbd6d0;border-radius:var(--radius);font-family:var(--font-mono);font-size:11px;line-height:1.62;padding:11px 12px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid rgba(255,255,255,.08);margin:0}.console:empty:after{content:"idle — press a button above";color:#5d6b63}.console .c-ok{color:#8fd6a2}.console .c-warn{color:#f0c33c}.console .c-err{color:#ef8776}.console .c-dim{color:#6d7f78}.console .c-key{color:#8ed2d6}.console .c-new{animation:console-flash .9s ease-out;display:block}@keyframes console-flash{0%{background:#f0c33c38}to{background:transparent}}.chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;border:1px solid currentColor;padding:3px 8px;border-radius:999px;animation:chip-in .4s cubic-bezier(.2,.9,.3,1.4)}.chip[data-family="2"]{color:var(--success);background:var(--success-wash)}.chip[data-family="3"]{color:#2f5457;background:#2f54571a}.chip[data-family="4"]{color:var(--warning);background:var(--warning-wash)}.chip[data-family="5"]{color:var(--coral);background:#c84d3d1a}.chip[data-family=x]{color:var(--coral);background:#c84d3d24}@keyframes chip-in{0%{opacity:0;transform:translateY(-6px) scale(.86)}to{opacity:1;transform:none}}.lab-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:24px}.lab-timing{font-family:var(--font-mono);font-size:10px;opacity:.55}.layout{display:grid;gap:26px;grid-template-columns:1fr;align-items:start}@media(min-width:1040px){.layout{grid-template-columns:196px 1fr;gap:40px}}.toc{display:none}@media(min-width:1040px){.toc{display:block;position:sticky;top:74px;max-height:calc(100vh - 100px);overflow-y:auto;padding-right:6px}}.toc ol{list-style:none;margin:9px 0 0;padding:0;display:grid;gap:1px}.toc button{display:flex;gap:8px;width:100%;text-align:left;background:none;border:0;font:inherit;font-size:11px;line-height:1.4;color:inherit;cursor:pointer;padding:5px 7px;border-left:2px solid transparent;opacity:.62;transition:opacity .2s ease,border-color .2s ease,background-color .2s ease,padding-left .2s ease}.toc button:hover{opacity:1;background:var(--quiet-hover);padding-left:10px}.toc button[data-active=true]{opacity:1;border-left-color:var(--coral);color:var(--coral);font-weight:600}.toc-n{font-family:var(--font-mono);font-size:9px;opacity:.55;padding-top:2px;flex:none}.progress{position:fixed;top:0;left:0;height:2px;background:var(--coral);z-index:50;transition:width .1s linear}.footer{position:relative;z-index:3;background:var(--inverse-bg);color:var(--inverse-ink);padding:30px 0;margin-top:44px}.footer-inner{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.footer a{color:var(--inverse-ink);text-decoration:none;border-bottom:1px solid rgba(236,228,211,.3);transition:color .2s ease,border-color .2s ease}.footer a:hover{color:var(--peach);border-color:var(--peach)}.footer-note{font-family:var(--font-mono);font-size:10px;opacity:.6;letter-spacing:.04em}.pager{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.pager-btn{display:flex;flex-direction:column;gap:3px;padding:11px 15px;text-align:left;border:1px solid var(--line);background:var(--surface-glass);font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius);min-width:190px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.pager-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--pager-shadow);border-color:var(--coral)}.pager-btn:disabled{opacity:.45;cursor:default}.pager-dir{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}.pager-title{font-weight:600;font-size:var(--t-body)}.to-top{position:fixed;right:18px;bottom:18px;z-index:45;width:36px;height:36px;border-radius:50%;border:1px solid var(--ink);background:var(--inverse-bg);color:var(--inverse-ink);cursor:pointer;display:grid;place-items:center;font-size:14px;line-height:1;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,background-color .2s ease}.to-top[data-show=true]{opacity:1;transform:none;pointer-events:auto}.to-top:hover{background:var(--coral);border-color:var(--coral)}#boot{position:fixed;inset:0;z-index:2147483000;background:#111a16;color:#9aa39d;font-family:var(--font-mono);font-size:13px;display:flex;align-items:flex-start;padding:clamp(20px,5vw,56px);transition:opacity .5s ease}#boot[data-done=true]{opacity:0;pointer-events:none}.boot-user{color:#5eeaa0;font-weight:600}.boot-path{color:#7db8ff}.boot-cmd{color:#ecefec}.boot-caret{display:inline-block;width:8px;height:15px;margin-left:8px;background:#5eeaa0;animation:boot-blink 1.05s steps(1) infinite}@keyframes boot-blink{50%{opacity:0}}@media(max-width:640px){.nav-links{gap:8px}.theme-toggle{padding:4px 7px}.nav-brand-text,.circuitry{display:none}.lab-head-route{margin-left:0;width:100%}.pager-btn{min-width:100%}}
