:root{--room:#141a2e;--floor:#4d4240;--ink:#e6e9ef;--muted:#97a0b1;--line:#e6e9ef29;--line-2:#e6e9ef52;--win:#11151d;--win-2:#171c26;--tape:#f2f0e9;--tape-ink:#111;--accent:#f59e0b;--on-accent:#1a1206;--ok:#38e07b;--warn:#ffb020;--bad:#ff6b6b;--code:#07090f;--code-t:#dbe4f2;--v10:#3b82f6;--v20:#f59e0b;--v30:#22c55e;--wan:#8a94a6;--radius:4px;--font:"Barlow",system-ui,sans-serif;--font-c:"Barlow Semi Condensed","Barlow",system-ui,sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--room:#f3eee6;--floor:#e8cfa9;--ink:#2b2520;--muted:#6b625a;--line:#2b252024;--line-2:#2b25204d;--win:#fbf8f2;--win-2:#f1ebe1;--tape:#f5d547;--tape-ink:#111;--accent:#ae4f28;--on-accent:#fff;--ok:#0f6b32;--warn:#9a4a07;--bad:#b91c1c;--code:#1b1f27;--code-t:#e2e8f0;--v10:#2563eb;--v20:#d97706;--v30:#16a34a;--wan:#6b7280;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=blueprint]{--room:#163d8a;--floor:#163d8a;--ink:#f4f7ff;--muted:#f4f7ffbd;--line:#ffffff59;--line-2:#ffffffb3;--win:#0e2e6ef2;--win-2:#ffffff0f;--tape:transparent;--tape-ink:#fff;--accent:#fff;--on-accent:#163d8a;--ok:#fff;--warn:#fff;--bad:#fff;--code:#0b2a66;--code-t:#f4f7ff;--v10:#fff;--v20:#fff;--v30:#fff;--wan:#fff;--radius:0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px/1.5 var(--font);color:var(--ink);background:var(--room);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--ink)}code,pre,.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.body h1{font:600 24px/1.15 var(--font-c);letter-spacing:-.005em;margin:0 0 6px}.body h2{font:600 15px/1.3 var(--font-c);color:var(--ink);letter-spacing:.01em;margin:22px 0 8px}.body p{max-width:68ch;margin:0 0 10px}.lead{color:var(--ink);font-size:17px}.row{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.row.center{justify-content:center}.btn{border-radius:var(--radius);border:1px solid var(--line-2);background:var(--win-2);color:var(--ink);font:500 14px var(--font);align-items:center;gap:8px;min-height:40px;padding:9px 14px;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.chip{border:1px solid var(--line);font:500 12px var(--font);color:var(--muted);background:var(--win-2);border-radius:999px;padding:2px 9px;display:inline-block}.chip.ok{color:var(--ok);border-color:currentColor}.chip.warn{color:var(--warn);border-color:currentColor}.chip.bad{color:var(--bad);border-color:currentColor}ul.tick{margin:0;padding:0;list-style:none}ul.tick li{max-width:68ch;margin:0 0 7px;padding-left:22px;position:relative}ul.tick li:before{content:"";background:var(--accent);border-radius:1px;width:8px;height:8px;position:absolute;top:.6em;left:3px}ol.steps{margin:0;padding-left:22px}ol.steps li{max-width:68ch;margin:0 0 8px}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--win-2);padding:12px 14px}.cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.card b{margin-bottom:2px;display:block}pre.cmd{border-radius:var(--radius);background:var(--code);color:var(--code-t);white-space:pre;margin:6px 0 8px;padding:10px 12px;font-size:13px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 8px}th{font:600 12px var(--font-c);letter-spacing:.04em;color:var(--muted)}tbody th{font:600 14px var(--font);color:var(--ink);letter-spacing:0}input[type=text],input[type=search],input[type=number],select{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--win);width:100%;color:var(--ink);font:inherit;padding:9px 11px}input[type=range]{width:100%;accent-color:var(--accent)}label{color:var(--muted);margin:10px 0 4px;font-size:12.5px;display:block}.scroll{overflow-x:auto}.split{grid-template-columns:220px 1fr;gap:16px;min-height:0;display:grid}.list{flex-direction:column;gap:6px;max-height:60vh;padding-right:2px;display:flex;overflow:auto}.list button{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--win);padding:9px 11px}.list button:hover{border-color:var(--ink)}.list button[aria-current=true]{border-color:var(--accent);background:var(--win-2)}.list small{color:var(--muted);display:block}.topo{flex-direction:column;align-items:center;gap:6px;margin:10px 0;display:flex}.topo .lv{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.topo .node{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--win-2);text-align:center;min-width:130px;padding:8px 12px;font-size:13px}.topo .node small{color:var(--muted);font-size:11.5px;display:block}.topo .arrow{color:var(--muted);line-height:1}.term{border:1px solid var(--line);border-radius:var(--radius);background:var(--code);margin-top:12px;overflow:hidden}.term pre.termlog{white-space:pre-wrap;word-break:break-word;border-radius:0;height:300px;margin:0;font-size:12.5px}.termin{border-top:1px solid var(--line);color:var(--code-t);align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.termin .mono{flex:none}.termin input[type=text]{min-width:0;color:var(--code-t);font:inherit;background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:4px 0}.termin:focus-within{box-shadow:inset 0 0 0 1px var(--accent)}.ok-card{border-color:var(--ok);margin:12px 0 0}.mile{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:9px 0;display:flex}.mile:last-child{border-bottom:0}.dot{border:2px solid var(--muted);border-radius:50%;flex:none;width:16px;height:16px;margin-top:4px}.dot.done{background:var(--ok);border-color:var(--ok)}.dot.wip{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 35%,transparent)}.qa{border:1px solid var(--line);border-radius:var(--radius);background:var(--win-2);margin-top:10px;padding:14px}.qa .row{margin:10px 0 0}.out{grid-template-columns:auto 1fr;gap:3px 14px;margin-top:10px;font-size:14px;display:grid}.out dt{color:var(--muted)}.out dd{margin:0;font-family:ui-monospace,Consolas,monospace}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tabs button{border:1px solid var(--line);background:var(--win);border-radius:999px;padding:6px 12px}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (max-width:760px){.scroll table th,.scroll table td{white-space:nowrap}.split{grid-template-columns:1fr}.list{max-height:34vh}.term pre.termlog{height:200px}.termin input[type=text]{font-size:16px}}html{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{overflow-x:hidden;overflow-y:auto}#app{min-height:100%}.top{z-index:20;background:var(--room);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:-webkit-sticky;position:sticky;top:0}.plate{flex-direction:column;min-width:0;line-height:1.15;display:flex}.plate b{font:700 20px/1 var(--font-c);letter-spacing:.01em;white-space:nowrap}.plate span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:12.5px;overflow:hidden}.lights{border:1px solid var(--line-2);border-radius:var(--radius);background:var(--win);flex:none;gap:2px;padding:3px;display:inline-flex}.lights button{border-radius:calc(var(--radius) - 1px);height:34px;color:var(--muted);font:500 13px var(--font);background:0 0;border:0;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.lights button svg{width:16px;height:16px}.lights button:hover{color:var(--ink)}.lights button[aria-pressed=true]{background:var(--ink);color:var(--room)}.page{max-width:1180px;margin:0 auto;padding:16px 16px 48px}.top{transition:opacity .3s}.hero{gap:16px;display:grid}.rack-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}.rack{width:min(100%,460px);height:auto;display:block}.legend{font:500 12.5px var(--font);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0;display:flex}.legend .item{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--c);border-radius:3px;width:18px;height:5px;display:inline-block}.rail ol{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.rail a{border:1px solid var(--line);border-radius:var(--radius);background:var(--win);min-height:44px;color:var(--muted);font:500 14px var(--font);align-items:center;gap:8px;padding:6px 10px;text-decoration:none;display:flex}.rail a .u{font:600 12px var(--font-c);letter-spacing:.04em;flex:none;width:28px}.rail a svg{flex:none;width:15px;height:15px}.rail a .t{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.rail a:hover{color:var(--ink);border-color:var(--line-2)}.rail a[aria-current=true]{color:var(--ink);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.rail a[aria-current=true] .u{color:var(--accent)}.page>.app{max-width:920px;margin:32px auto 0}.app{border:1px solid var(--line);border-radius:calc(var(--radius) * 2);background:var(--win);scroll-margin-top:72px;overflow:hidden}.app:focus{outline:none}.app>header{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px 12px;display:flex}.app>header h2{font:600 26px/1.1 var(--font-c);letter-spacing:-.005em;margin:0}.app .body{padding:16px 18px 22px}.tape{background:var(--tape);color:var(--tape-ink);font:600 12px/1.4 var(--font-c);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid color-mix(in srgb,var(--tape-ink) 25%,transparent);padding:2px 8px;display:inline-block}.foot{max-width:1180px;color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 auto;padding:18px 16px 40px;font-size:13px;display:flex}.foot a{color:var(--muted)}@media (min-width:900px){.contents{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:start;gap:40px}.rack{width:auto;max-width:100%;height:calc(100vh - 170px);max-height:980px}.rail{display:none}.app>header{padding:20px 24px 14px}.app .body{padding:18px 24px 26px}}@media (max-width:460px){.plate span,.lights button span{display:none}.lights button{padding:0 9px}.page{padding:12px 12px 40px}.app>header{padding:14px 14px 10px}.app .body{padding:14px 14px 20px}.app>header h2{font-size:23px}}.rack-wrap{position:relative}.tip{z-index:5;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--win);pointer-events:none;max-width:220px;padding:8px 10px;font-size:13px;line-height:1.35;position:absolute;top:0;left:0;box-shadow:0 8px 24px #00000040}.tip[hidden]{display:none}.tip b{font:600 14px var(--font-c);letter-spacing:.01em;margin-bottom:2px;display:block}.tip span{color:var(--muted)}.journal{background:var(--win);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,460px);margin:4px auto 0;padding:12px 14px 14px;font-size:13px;position:relative}.journal:before,.journal:after{content:"";background:linear-gradient(135deg,var(--win) 50%,transparent 50%) 0 0/8px 8px,linear-gradient(45deg,var(--win) 50%,transparent 50%) 0 0/8px 8px;height:6px;position:absolute;left:0;right:0}.journal:before{top:-6px}.journal:after{bottom:-6px;transform:scaleY(-1)}.journal .head{font:600 12px var(--font-c);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;margin-bottom:8px;display:flex}.journal .head svg{width:14px;height:14px}.journal .entries{gap:6px;margin:0;padding:0;list-style:none;display:grid}.journal li{grid-template-columns:auto 1fr;gap:10px;line-height:1.35;display:grid}.journal time{color:var(--muted);white-space:nowrap;padding-top:1px;font:600 12px ui-monospace,Consolas,monospace}.journal li:nth-child(n+4){display:none}.journal.open li:nth-child(n+4){display:grid}.journal .more{color:var(--accent);font:500 13px var(--font);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0}.cmdwrap{position:relative}.cmdwrap pre.cmd{padding-right:64px}.copy{border-radius:var(--radius);height:26px;color:var(--code-t);font:500 12px var(--font);cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;padding:0 9px;position:absolute;top:8px;right:8px}.copy:hover{background:#ffffff29}tr.vlan-row{cursor:pointer}tr.vlan-row:hover td{background:color-mix(in srgb,var(--accent) 10%,transparent)}tr.vlan-row:focus-visible td{background:color-mix(in srgb,var(--accent) 10%,transparent)}tr.vlan-row.pinned td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.card.install{justify-items:start;gap:8px;margin-top:18px;display:grid}.card.install p{margin:0}.og .top,.og .stream,.og .foot,.og .rail,.og .journal,.og .legend{display:none}.og .page{justify-content:center;align-items:center;gap:48px;max-width:none;min-height:630px;padding:24px 48px;display:flex}.og .hero{position:static}.og .rack{width:auto;height:580px;max-height:none}.og body{overflow:hidden}.og .page{grid-template-columns:auto 1fr;justify-content:center;align-items:center;gap:56px;padding:24px 72px;display:grid}.og .rack{height:570px}.og-card{flex-direction:column;gap:12px;max-width:520px;display:flex}.og-card b{font:700 64px/1 var(--font-c);letter-spacing:.01em}.og-card>span:not(.tape){font:500 24px var(--font);color:var(--muted)}.og-card em{font:400 22px/1.35 var(--font);margin-top:6px;font-style:normal}.og-card small{font:600 18px var(--font-c);letter-spacing:.08em;color:var(--accent);margin-top:10px}@media print{.top,.hero,.foot,.copy,.lights,.tabs,.list,.card.install,.app:not([data-print-target]){display:none!important}body{color:#000;background:#fff}.app{box-shadow:none;border:0}pre.cmd{color:#000;background:#f3f3f3;border:1px solid #ccc}.body h1,.body h2{color:#000}}body[data-print=kb] #kb{display:block!important}@media print{body[data-print] .app{display:none!important}body[data-print=kb] #kb{display:block!important}body[data-print=kb] #kb .split{display:block}body[data-print=kb] #kb .split .list{display:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){.app>header .tape,.app>header h2{animation:ease-out both rise;animation-timeline:view();animation-range:entry entry 55%}.app>header h2{animation-range:entry 5% entry 65%}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}#homelab .topo .node{animation:ease-out both pop;animation-timeline:view();animation-range:entry calc(var(--i,0) * 7%) entry calc(45% + var(--i,0) * 7%)}@keyframes pop{0%{opacity:0;transform:scale(.85)translateY(10px)}to{opacity:1;transform:none}}#homelab table tr[style]{animation:ease-out both slide;animation-timeline:view();animation-range:entry calc(var(--i,0) * 5%) entry calc(40% + var(--i,0) * 5%)}@keyframes slide{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.journal li{animation:ease-out both slide;animation-timeline:view();animation-range:entry calc(var(--i,0) * 8%) entry calc(50% + var(--i,0) * 8%)}@media (max-width:899px){.rack-wrap{transform-origin:50% 100%;animation:linear both recede;animation-timeline:view();animation-range:exit}@keyframes recede{to{opacity:.35;transform:scale(.94)}}}}}:root{--ink-line:#1f2433;--stroke-w:2.6;--f-frame:#d9d5cc;--f-frame-dark:#b9b4a8;--f-post:#cfcabf;--f-hole:#6b6760;--f-caster:#3a3f4a;--f-dev:#4e5567;--f-dev-shade:#3a4051;--f-sheen:#ffffff59;--f-plate:#eef0f3;--f-plate-ink:#1f2433;--f-port:#1d2230;--f-bay:#2b3140;--f-screen:#0f2a1a;--f-screen-ink:#7cf2a2;--f-keys:#8e97a8;--f-tray:#6b7384;--f-shaft:#c7ced9;--f-handle:#e06a5b;--f-handle-blue:#4f7fd9;--f-tester:#f5d547;--f-phone:#2b303a;--f-band:#2b303a;--f-cup:#4f7fd9;--f-card:#fbf6ee;--f-card-line:#c9a67a;--f-outlet:#1d2230;--f-binder-label:#fbf6ee;--f-binder-ink:#1f2433;--f-led-pwr:#4ea1ff;--f-led-link:#ffb020;--f-led-act:#38e07b;--f-led-off:#2a3040;--f-spark:#fff6dc;--f-active:#f59e0b}:root[data-theme=light]{--ink-line:#2b2520;--f-frame:#f1ede4;--f-frame-dark:#d8d2c4;--f-post:#e6e1d6;--f-hole:#8c8577;--f-caster:#4a4f58;--f-dev:#5f6b7b;--f-dev-shade:#4b5565;--f-sheen:#ffffff73;--f-plate:#fbf8f1;--f-spark:#fff;--f-active:#ae4f28}.rack{fill:none;stroke:none;stroke-width:0}.rack *{vector-effect:non-scaling-stroke}.rack text{stroke:none;paint-order:normal}.rack .body,.rack .plate,.rack .top,.rack .post,.rack .base,.rack .caster,.rack .binder,.rack .tray,.rack .tester,.rack .phone,.rack .card,.rack .cup,.rack .screen,.rack .handle,.rack .handle.blue{stroke:var(--ink-line);stroke-width:var(--stroke-w);stroke-linejoin:round}.rack .top{fill:var(--f-frame)}.rack .base{fill:var(--f-frame-dark)}.rack .post{fill:var(--f-post)}.rack .hole{fill:var(--f-hole)}.rack .caster{fill:var(--f-caster)}.rack .sheen{fill:var(--f-sheen)}.rack .body{fill:var(--f-dev)}.rack .shade{fill:var(--f-dev-shade)}.rack .tape{fill:var(--tape);stroke:var(--ink-line);stroke-width:1.4px}.rack .tape-text{fill:var(--tape-ink);font:700 11px var(--font-c);letter-spacing:.08em}.rack .tape-text.small{font-size:9.5px}.rack .tiny{fill:#cfd5df;font:600 7.5px var(--font-c);letter-spacing:.12em}.rack .plate{fill:var(--f-plate)}.rack .plate-name{fill:var(--f-plate-ink);font:700 15px var(--font-c);letter-spacing:.12em}.rack .plate-role{fill:var(--f-plate-ink);font:500 8.5px var(--font);opacity:.85}.rack .port{fill:var(--f-port)}.rack .bay{fill:var(--f-bay)}.rack .screen{fill:var(--f-screen)}.rack .code{fill:var(--f-screen-ink);font:600 8px ui-monospace,Consolas,monospace}.rack .keys{fill:var(--f-keys)}.rack .tray{fill:var(--f-tray)}.rack .shaft{fill:var(--f-shaft)}.rack .handle{fill:var(--f-handle)}.rack .handle.blue{fill:var(--f-handle-blue)}.rack .tester{fill:var(--f-tester)}.rack .phone{fill:var(--f-phone)}.rack .handset{fill:var(--f-keys)}.rack .band{fill:none;stroke:var(--f-band);stroke-width:5px;stroke-linecap:round}.rack .cup{fill:var(--f-cup)}.rack .card{fill:var(--f-card)}.rack .card-line{fill:var(--f-card-line)}.rack .seal{fill:var(--f-led-off);stroke:var(--ink-line);stroke-width:1.2px}.rack .seal.earned{fill:var(--f-led-act)}.rack .seal.in-progress{fill:var(--f-led-link)}.rack .outlet{fill:var(--f-outlet);stroke:var(--ink-line);stroke-width:1.2px}.rack .mono-text{fill:#e6e9ef;font:600 9px ui-monospace,Consolas,monospace}.rack .binder-label{fill:var(--f-binder-label)}.rack .binder-id{fill:var(--f-binder-ink);font:700 9px var(--font-c);letter-spacing:.06em}.rack .cable{fill:none;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke;filter:drop-shadow(0 0 0 var(--ink-line))}.rack .cables{opacity:.95}.rack .led{stroke:var(--ink-line);stroke-width:1px}.rack .led.pwr{fill:var(--f-led-pwr)}.rack .led.link{fill:var(--f-led-link)}.rack .led.act{fill:var(--f-led-act)}.rack .led.off{fill:var(--f-led-off)}.rack .spark{fill:var(--f-spark);opacity:0}.rack .hit-area{fill:#0000;stroke:#0000;stroke-width:3px}.rack a.hit{cursor:pointer;outline:none}.rack .device:hover .hit-area{stroke:var(--f-active)}.rack a.hit:focus-visible .hit-area{stroke:var(--f-active)}.rack .device.active .hit-area{stroke:var(--f-active);stroke-width:3.5px}.rack .device.active .tape{fill:var(--f-active);stroke:var(--ink-line)}.rack .device.active .tape-text{fill:#1a1206}@media (prefers-reduced-motion:no-preference){.rack .led.act{animation:1.1s steps(2,end) infinite blink;animation-delay:calc(var(--i) * -.23s)}.rack .led.link{animation:2.4s steps(2,end) infinite blink;animation-delay:calc(var(--i) * -.7s)}.rack .spark{animation:3.2s ease-in-out infinite twinkle;animation-delay:calc(var(--i) * -.8s)}.rack .code:last-of-type{animation:1s steps(2,end) infinite blink}}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.rack.idle *{animation:none!important}@keyframes twinkle{0%,80%,to{opacity:0;transform-box:fill-box;transform-origin:50%;transform:scale(.4)}88%{opacity:1;transform:scale(1.15)}}:root[data-theme=dark] .rack .led{filter:url(#glow)}:root[data-theme=dark] .rack .screen{filter:drop-shadow(0 0 6px #7cf2a273)}@media (prefers-reduced-motion:no-preference){.rack .device.firewall.ping .led{animation:3.4s ease-out both pingled}.rack .device.firewall.ping .led.pwr{animation-delay:0s}.rack .device.firewall.ping .led.link{animation-delay:.9s}.rack .device.firewall.ping .led.act{animation-delay:1.8s}@keyframes pingled{0%{opacity:.15}10%,30%{opacity:1;transform-box:fill-box;transform-origin:50%;transform:scale(1.6)}40%{opacity:.4;transform:scale(1)}60%,to{opacity:1}}.rack.story .cable[data-vlan=wan]{animation:1.1s ease-in-out 3 wanpulse}@keyframes wanpulse{0%,to{stroke-width:5px}50%{stroke-width:9px;filter:drop-shadow(0 0 4px)}}}.rack .cable{transition:opacity .25s,stroke-width .25s}.rack .cable.dim{opacity:.12}.rack .cable.lit{stroke-width:8px}:root{--room:#000;--win:#0f1d20;--win-2:#142a2d;--ink:#eef0ea;--muted:#a3b5af;--line:#eef0ea29;--line-2:#eef0ea6b;--accent:#8ff0c0;--on-accent:#06130e;--panel-b:#ecebe4;--frame:#eef0ea9e;--shadow:transparent;--shadow-2:#8ff0c047;--cap-bg:#0a0a0a;--cap-ink:#f3f1ea;--tag-bg:#f5d547;--tag-ink:#111;--bubble:#fff;--bubble-ink:#111;--code:#061512;--code-t:#cfeee2;--font:"Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",system-ui,sans-serif;--font-c:"Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",system-ui,sans-serif}:root[data-theme=light]{--room:#ece5d3;--win:#fffdf6;--win-2:#f5efe1;--ink:#141618;--muted:#56534b;--line:#1416182e;--line-2:#14161880;--accent:#c62f36;--on-accent:#fff;--panel-b:#111;--frame:#111;--shadow:#111;--shadow-2:#111;--cap-bg:#111;--cap-ink:#fff;--tag-bg:#f5d547;--tag-ink:#111;--code:#061512;--code-t:#cfeee2}:root[data-theme=blueprint]{--panel-b:#fff;--frame:#ffffffb3;--shadow:transparent;--shadow-2:transparent;--cap-bg:transparent;--cap-ink:#fff;--tag-bg:transparent;--tag-ink:#fff;--bubble:transparent;--bubble-ink:#fff}body{font-size:15.5px;line-height:1.5}.top{border-bottom:4px solid var(--panel-b)}.plate b{font:800 22px/1 var(--font-c);letter-spacing:0}.lights{border:3px solid var(--frame);border-radius:0;padding:2px}.lights button{font:600 13px var(--font-c);border-radius:0}.rack{--stroke-w:3.2}:root:not([data-theme=blueprint]) .rack{--ink-line:#0b0d0e}.rack .tape-text{font-family:var(--font-c);letter-spacing:.03em;font-weight:800}.rack .plate-name{font-family:var(--font-c);letter-spacing:.04em;font-weight:800}.legend{font-family:var(--font-c)}.rail a{border:2px solid var(--frame);font-family:var(--font-c);border-radius:0;font-weight:600}.rail a[aria-current=true]{box-shadow:4px 4px 0 var(--accent)}.journal{border:3px solid var(--frame);font-family:var(--font);border-radius:0}.tape{font-family:var(--font-c);letter-spacing:.04em;border:2px solid #111;font-weight:800}.app{border:4px solid var(--panel-b);background:var(--win);min-width:0;box-shadow:9px 9px 0 var(--shadow);border-radius:0;overflow:visible}.app>header.splash{border-bottom:4px solid var(--panel-b);grid-template-columns:minmax(0,46%) 1fr;align-items:stretch;gap:0;padding:0;display:grid}.splash .art{border-right:4px solid var(--panel-b);background:#10282b;min-height:210px;margin:0;position:relative;overflow:hidden}.splash .art svg{stroke:none;fill:#000;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.splash .art .hand{font-family:var(--font-c);font-weight:700}.splash .art .mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.splash .st{flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.app>header.splash h2{font:800 34px/1.02 var(--font-c);letter-spacing:-.01em;margin:0}.narr{background:var(--cap-bg);color:var(--cap-ink);border:2px solid var(--panel-b);font:500 16px/1.35 var(--font-c);max-width:44ch;margin:0;padding:10px 14px}.body h1{font:800 26px/1.1 var(--font-c)}.body h2{background:var(--tag-bg);color:var(--tag-ink);font:700 15px/1.3 var(--font-c);border:2px solid #111;margin:26px 0 12px;padding:3px 10px;display:inline-block;transform:rotate(-1.2deg)}.body .lead{background:var(--cap-bg);color:var(--cap-ink);border:2px solid var(--panel-b);padding:12px 16px;font-size:16.5px;line-height:1.45}.muted{color:var(--muted)}.card,.qa,.topo .node,.list button,.term,.mile{border-radius:0}.card,.qa{border:3px solid var(--frame);box-shadow:5px 5px 0 var(--shadow-2)}.btn{border:3px solid var(--frame);box-shadow:4px 4px 0 var(--shadow-2);font:700 15px var(--font-c);border-radius:0;transition:transform 80ms,box-shadow 80ms}.btn:hover{border-color:var(--ink)}.btn:active{box-shadow:1px 1px 0 var(--shadow-2);transform:translate(3px,3px)}.btn.pri{background:var(--accent);color:var(--on-accent);border-color:#111}.chip{border:2px solid var(--line-2);font:600 12.5px var(--font-c);border-radius:0}.tabs button{border:2px solid var(--frame);font:600 14px var(--font-c);border-radius:0}.tabs button[aria-selected=true]{box-shadow:3px 3px 0 var(--shadow-2)}.list button{border:2px solid var(--frame)}.list button[aria-current=true]{box-shadow:4px 4px 0 var(--accent)}.list b{font-family:var(--font-c)}input[type=text],input[type=search],input[type=number],select{border:2px solid var(--frame);border-radius:0}th{font:700 13px var(--font-c);letter-spacing:0}pre.cmd{background:var(--code);color:#a9f5cf;border:2px solid #2f6b5d;border-radius:0}.term{border:3px solid var(--frame)}.topo .node{border:3px solid var(--frame);box-shadow:4px 4px 0 var(--shadow-2);font-family:var(--font-c)}.topo .arrow{font:800 20px var(--font-c);color:var(--ink)}ul.tick li:before{border-radius:0;width:9px;height:9px;transform:rotate(45deg)}.mile .chip{border-style:double;border-width:4px;font-weight:800;transform:rotate(-3deg)}.dot{border-width:3px}.strip{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.frame{border:3px solid var(--frame);background:var(--win-2);padding:12px 14px 14px;position:relative}.frame>h2{margin:0 0 8px}.frame p{margin:0}.say{margin:0 0 22px}.say .who{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.say .who b{font:700 16px var(--font-c)}.say .bubble{background:var(--bubble);max-width:62ch;color:var(--bubble-ink);font:500 15.5px/1.45 var(--font);border:3px solid #111;border-radius:22px;margin:12px 0 0;padding:12px 16px;position:relative}.say .bubble:before{content:"";background:var(--bubble);border-top:3px solid #111;border-left:3px solid #111;width:22px;height:22px;position:absolute;top:-15px;left:28px;transform:skewY(-30deg)rotate(20deg)}:root[data-theme=blueprint] .say .bubble,:root[data-theme=blueprint] .say .bubble:before{border-color:#fff}.tbc{text-align:right;font:800 24px var(--font-c);margin:22px 0 0;transform:rotate(-2deg)}.foot{border-top:4px solid var(--panel-b);font-family:var(--font-c)}@media (max-width:760px){.app>header.splash{grid-template-columns:minmax(0,1fr)}.splash .art{border-right:0;border-bottom:4px solid var(--panel-b);aspect-ratio:16/9;min-height:0}.app>header.splash h2{font-size:28px}.splash .st{padding:14px 14px 16px}.narr{font-size:15.5px}.strip{grid-template-columns:1fr}.app{box-shadow:6px 6px 0 var(--shadow)}}@media (prefers-reduced-motion:no-preference){.rack .led.act,.rack .led.link,.rack .code:last-of-type{animation-name:blinkf}.app.live .splash .blink{animation:1s steps(2,end) infinite blinkf}.app.live .splash .led{animation:1.4s steps(2,end) infinite blinkf}.app.live .splash .led:nth-of-type(2n){animation-duration:2.1s}@keyframes blinkf{0%,to{fill-opacity:1}50%{fill-opacity:.25}}@supports (animation-timeline:view()){.splash .art:after{content:"";background:var(--win);transform-origin:100%;animation:linear both inkin;animation-timeline:view();animation-range:entry entry 80%;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes inkin{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.app>header.splash .tape,.app>header.splash h2{animation:none}.splash .st{animation:ease-out both narr;animation-timeline:view();animation-range:entry 20% entry 90%}@keyframes narr{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.splash .stamp{transform-box:fill-box;transform-origin:50%;animation:ease-out both stamp;animation-timeline:view();animation-range:entry 60% cover 40%}@keyframes stamp{0%{opacity:0;scale:1.8}to{opacity:1;scale:1}}.strip .frame{animation:ease-out both rise;animation-timeline:view();animation-range:entry entry 60%}}}:root[data-theme=blueprint] .splash .art{background:var(--room)}:root[data-theme=blueprint] .splash .art svg *{fill:none!important;stroke:#fff!important;stroke-width:1.6px!important}:root[data-theme=blueprint] .splash .art svg text{fill:#fff!important;stroke:none!important}:root[data-theme=blueprint] .splash .art svg [fill^=url]{display:none}.contents{gap:22px;max-width:1100px;margin:40px auto 0;display:grid}.toc{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.toc .season{background:var(--tag-bg);color:var(--tag-ink);font:700 15px var(--font-c);border:2px solid #111;margin:0;padding:3px 10px;transform:rotate(-1.5deg)}.toc .season-title{font:800 clamp(48px,7vw,92px)/.95 var(--font-c);letter-spacing:-.02em;margin:0 0 6px}.eps{counter-reset:ep;gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.eps a{border:3px solid var(--frame);background:var(--win);color:var(--ink);box-shadow:5px 5px 0 var(--shadow-2);gap:2px;padding:12px 14px;text-decoration:none;display:grid}.eps a:hover{border-color:var(--ink)}.eps a b{font:700 17px ui-monospace,Cascadia Mono,Consolas,monospace}.eps a span{color:var(--muted);font-size:15px}.fiction{color:var(--muted);margin:4px 0 0;font-size:13.5px;font-style:italic}.toc .journal{width:100%;margin-top:12px}.top{position:-webkit-sticky;position:sticky}.epmenu{margin-left:auto;position:relative}.epmenu summary{border:3px solid var(--frame);background:var(--win);height:40px;font:700 14px var(--font-c);cursor:pointer;align-items:center;padding:0 14px;list-style:none;display:inline-flex}.epmenu summary::-webkit-details-marker{display:none}.epmenu summary{white-space:nowrap;gap:7px}.epmenu summary svg{flex:none;width:16px;height:16px}.epmenu[open] summary{background:var(--accent);color:var(--on-accent)}.epmenu ol{z-index:30;background:var(--room);border:3px solid var(--panel-b);width:min(92vw,380px);max-height:70vh;box-shadow:8px 8px 0 var(--shadow);gap:8px;margin:0;padding:10px;list-style:none;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto}.epmenu a{border:2px solid var(--frame);color:var(--ink);background:var(--win);gap:2px;padding:8px 10px;text-decoration:none;display:grid}.epmenu a b{font:700 14px ui-monospace,Cascadia Mono,Consolas,monospace}.epmenu a span{color:var(--muted);font-size:13px}.foot .fiction{flex-basis:100%;order:3}@media (max-width:460px){.epmenu summary{height:38px;padding:0 8px;font-size:13px}.plate b{font-size:18px}.top{gap:8px;padding:10px 12px}}.langmenu{margin-left:0}.langmenu summary{gap:6px;padding:0 10px}.langmenu summary svg{width:16px;height:16px}.langmenu ol{width:200px}.langmenu a[aria-current=true]{border-color:var(--accent);box-shadow:3px 3px 0 var(--accent)}.langmenu a b{font:700 15px var(--font-c)}@media (max-width:460px){.epmenu summary span{display:none}.epmenu summary{padding:0 9px}}:root:not([lang=en]) .cpage{--cap:19.5px;--bubble:21px;--tag:16px}:root:not([lang=en]) .cpage[data-l=m]{--cap:25px;--bubble:26px;--tag:21px}.quickbtn{border:3px solid var(--frame);background:var(--accent);height:40px;color:var(--on-accent);font:700 14px var(--font-c);white-space:nowrap;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.quickbtn svg,.quickpill svg{flex:none;width:16px;height:16px}.quickpill.gone{opacity:0;pointer-events:none}.quickpill{z-index:3;color:#06130e;min-height:44px;font:700 15px var(--font-c);cursor:pointer;white-space:nowrap;background:#8ff0c0;border:3px solid #111;align-items:center;gap:8px;padding:8px 16px;transition:opacity .3s;display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:5px 5px #000}.quick{border:4px solid var(--panel-b);background:var(--win);width:min(94vw,720px);max-height:92vh;color:var(--ink);box-shadow:10px 10px 0 var(--shadow-2);padding:0}.quick::backdrop{background:#000000b8}.quick>*{margin-left:22px;margin-right:22px}.q-head{border-bottom:4px solid var(--panel-b);background:var(--tag-bg);color:var(--tag-ink);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 22px;display:flex}.quick .q-head{margin:0}.q-head h2{font:800 24px/1.1 var(--font-c);margin:0}.q-x{color:#111;background:#fff;border:3px solid #111;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.q-x svg{width:18px;height:18px}.q-id{align-items:center;gap:16px;margin-top:18px;display:flex}.q-face{border:3px solid var(--frame);stroke:none;fill:#000;background:#10282b;flex:none;width:96px;height:92px}.q-id>div{gap:2px;display:grid}.q-name{font:800 26px/1.05 var(--font-c)}.quick h3{font:700 15px var(--font-c);background:var(--tag-bg);color:var(--tag-ink);border:2px solid #111;margin-top:18px;margin-bottom:6px;padding:2px 9px;display:inline-block}.q-list{gap:6px;margin-top:4px;padding:0;list-style:none;display:grid}.q-list li{line-height:1.4}.q-read{color:var(--muted);font:500 14px var(--font);background:0 0;border:0;margin:18px auto 20px;padding:6px 10px;text-decoration:underline;display:block}@media (max-width:460px){.lights button[aria-pressed=false],.quickbtn span{display:none}.quickbtn{padding:0 9px}.quickpill{font-size:13.5px;bottom:70px}.q-face{width:72px;height:70px}}.resume{z-index:40;background:var(--win);width:min(92vw,420px);color:var(--ink);border:3px solid var(--panel-b);box-shadow:7px 7px 0 var(--shadow-2);justify-items:start;gap:4px;padding:14px 16px;display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.resume b{font:700 16px ui-monospace,Cascadia Mono,Consolas,monospace}.resume .row{margin:8px 0 0}.ogcover{color:#f3f1ea;background:#000;grid-template-columns:640px 1fr;width:1200px;height:630px;display:grid;overflow:hidden}.og-art{stroke:none;fill:#000;border-right:6px solid #ecebe4;width:640px;height:630px;display:block}.og-text{flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:40px 44px;display:flex}.og-text .season{color:#111;font:700 22px var(--font-c);background:#f5d547;border:2px solid #111;margin:0;padding:4px 12px;transform:rotate(-2deg)}.og-text h1{font:800 88px/.92 var(--font-c);letter-spacing:-.02em;color:#fff;margin:0 0 10px}.og-text b{font:800 36px/1.1 var(--font-c)}.og-text span{font:500 22px/1.3 var(--font-c);color:#cfd6d2}.og-text em{font:500 24px/1.35 var(--font-c);color:#8ff0c0;max-width:22ch;font-style:normal}.og-text small{color:#a3b5af;margin-top:10px;font:700 20px ui-monospace,Consolas,monospace}html.og body{overflow:hidden}:root[data-theme=blueprint] body{background:linear-gradient(#ffffff47 1px,transparent 1px) 0 0/50px 50px, linear-gradient(90deg,#ffffff47 1px,transparent 1px) 0 0/50px 50px, linear-gradient(#ffffff1f 1px,transparent 1px) 0 0/10px 10px, linear-gradient(90deg,#ffffff1f 1px,transparent 1px) 0 0/10px 10px, var(--room)}:root[data-theme=blueprint] .plate b,:root[data-theme=blueprint] .plate span,:root[data-theme=blueprint] .rail a,:root[data-theme=blueprint] .legend,:root[data-theme=blueprint] .lights button,:root[data-theme=blueprint] .app>header h2,:root[data-theme=blueprint] .body h2,:root[data-theme=blueprint] .btn,:root[data-theme=blueprint] .chip,:root[data-theme=blueprint] th,:root[data-theme=blueprint] label,:root[data-theme=blueprint] .foot,:root[data-theme=blueprint] .tabs button{font-family:var(--font-c);text-transform:uppercase;letter-spacing:.06em}:root[data-theme=blueprint] .top{background:var(--room);-webkit-backdrop-filter:none;backdrop-filter:none}:root[data-theme=blueprint] .lights,:root[data-theme=blueprint] .app,:root[data-theme=blueprint] .card,:root[data-theme=blueprint] .qa,:root[data-theme=blueprint] .btn,:root[data-theme=blueprint] .rail a,:root[data-theme=blueprint] .list button,:root[data-theme=blueprint] .topo .node,:root[data-theme=blueprint] input[type=text],:root[data-theme=blueprint] input[type=search],:root[data-theme=blueprint] input[type=number]{background:var(--win);border-color:var(--line-2);border-radius:0}:root[data-theme=blueprint] .lights button[aria-pressed=true]{color:var(--room);background:#fff}:root[data-theme=blueprint] .btn.pri,:root[data-theme=blueprint] .tabs button[aria-selected=true]{color:var(--room);background:#fff;border-color:#fff}:root[data-theme=blueprint] .chip{border-color:var(--line-2);color:var(--ink);background:0 0;border-radius:0}:root[data-theme=blueprint] .tabs button{border-radius:0}:root[data-theme=blueprint] .legend i{background:0 0;border-top:2px solid #fff;border-radius:0;height:0}:root[data-theme=blueprint] .tape{color:#fff;background:0 0;border:1px solid #fff}:root[data-theme=blueprint] ul.tick li:before{background:0 0;border:1px solid #fff;border-radius:50%}:root[data-theme=blueprint] .dot.done{background:#fff;border-color:#fff}:root[data-theme=blueprint] pre.cmd,:root[data-theme=blueprint] .term{border:1px solid var(--line-2)}:root[data-theme=blueprint] .rail a[aria-current=true]{border-color:#fff;box-shadow:inset 3px 0 #fff}:root[data-theme=blueprint] .rack{--ink-line:#fff;--stroke-w:1.6}:root[data-theme=blueprint] .rack .top,:root[data-theme=blueprint] .rack .base,:root[data-theme=blueprint] .rack .post,:root[data-theme=blueprint] .rack .caster,:root[data-theme=blueprint] .rack .body,:root[data-theme=blueprint] .rack .plate,:root[data-theme=blueprint] .rack .binder,:root[data-theme=blueprint] .rack .tray,:root[data-theme=blueprint] .rack .tester,:root[data-theme=blueprint] .rack .phone,:root[data-theme=blueprint] .rack .card,:root[data-theme=blueprint] .rack .cup,:root[data-theme=blueprint] .rack .screen,:root[data-theme=blueprint] .rack .handle,:root[data-theme=blueprint] .rack .tape,:root[data-theme=blueprint] .rack .led,:root[data-theme=blueprint] .rack .seal,:root[data-theme=blueprint] .rack .outlet{fill:var(--room)!important}:root[data-theme=blueprint] .rack .port,:root[data-theme=blueprint] .rack .bay,:root[data-theme=blueprint] .rack .keys,:root[data-theme=blueprint] .rack .shaft,:root[data-theme=blueprint] .rack .handset,:root[data-theme=blueprint] .rack .card-line,:root[data-theme=blueprint] .rack .binder-label,:root[data-theme=blueprint] .rack .hole{fill:none;stroke:#fff;stroke-width:1px}:root[data-theme=blueprint] .rack .shade,:root[data-theme=blueprint] .rack .sheen,:root[data-theme=blueprint] .rack .spark{display:none}:root[data-theme=blueprint] .rack .band{stroke:#fff;stroke-width:2px}:root[data-theme=blueprint] .rack .cable{stroke-width:2px;filter:none;stroke:#fff!important}:root[data-theme=blueprint] .rack .cable:nth-child(3){stroke-dasharray:8 5}:root[data-theme=blueprint] .rack .cable:nth-child(4){stroke-dasharray:2 4}:root[data-theme=blueprint] .rack .tape-text,:root[data-theme=blueprint] .rack .plate-name,:root[data-theme=blueprint] .rack .plate-role,:root[data-theme=blueprint] .rack .code,:root[data-theme=blueprint] .rack .mono-text,:root[data-theme=blueprint] .rack .binder-id,:root[data-theme=blueprint] .rack .tiny{fill:#fff}:root[data-theme=blueprint] .rack .led{filter:none;animation:none}:root[data-theme=blueprint] .rack .device.active .hit-area{stroke:#fff}:root[data-theme=blueprint] .rack .device.active .tape{fill:#fff!important}:root[data-theme=blueprint] .rack .device.active .tape-text{fill:var(--room)}.story{background:#000;width:100vw;margin:-16px 0 24px calc(50% - 50vw);position:relative}.comic .stage{height:100vh;background:#000;height:100dvh;position:-webkit-sticky;position:sticky;top:0;overflow:hidden}.page>.story:not(:first-child){margin-top:32px}.cpage{transform-origin:0 0;-webkit-backface-visibility:hidden;backface-visibility:hidden;--cap:21px;--tag:17px;--title:46px;--term:16px;--shell:15px;--bubble:23px;--sfx:84px;--clock:64px;position:absolute;top:0;left:0}.cpage[data-l=m]{--cap:27px;--tag:23px;--title:52px;--term:22px;--shell:20px;--bubble:28px;--sfx:92px;--clock:76px}.cpage.moving{will-change:transform}.panel{background:#0b0d0e;margin:0;position:absolute;overflow:hidden}.panel:after{content:"";pointer-events:none;z-index:2;border:4px solid #ecebe4;position:absolute;top:0;bottom:0;left:0;right:0}.panel svg{stroke:none;fill:#000;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.panel .mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.panel .hand{font-family:Shantell Sans,ZCOOL KuaiLe,Comic Sans MS,cursive;font-weight:700}.slot{z-index:1;flex-direction:column;align-items:flex-start;gap:12px;display:flex;position:absolute}.bit{max-width:100%;margin:0}.bit.cap{color:#f3f1ea;font:500 var(--cap)/1.3 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#0a0a0a;border:2px solid #f3f1ea;padding:10px 14px}.bit.cap.big{font-size:calc(var(--cap) * 1.5);font-weight:700;line-height:1.1}.bit.tag{color:#0a0a0a;font:700 var(--tag)/1.2 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#f3f1ea;padding:4px 10px}.bit.title{font:700 var(--title)/1 ui-monospace,"Cascadia Mono",Consolas,monospace;color:#fff;letter-spacing:-.03em;text-shadow:0 4px #000}.bit.term{color:#8ff0c0;font:600 var(--term)/1.35 ui-monospace,"Cascadia Mono",Consolas,monospace;background:#061512;border:2px solid #2f6b5d;padding:8px 12px}.bit.bubble{color:#111;font:700 var(--bubble)/1.2 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#fff;border:3px solid #111;border-radius:26px;padding:12px 18px;position:relative}.bit.bubble:after{content:"";transform-origin:50%;background:#fff;border:3px solid #111;border-top:0;border-left:0;width:26px;height:26px;position:absolute;bottom:-22px;left:36px;transform:skew(28deg)rotate(45deg)scale(.8,1.4)}.bit.sfx{font:800 var(--sfx)/1 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;color:#ffd23f;-webkit-text-stroke:4px #111;paint-order:stroke fill;text-shadow:5px 5px #111}.bit.shell{color:#cfeee2;width:100%;font:500 var(--shell)/1.45 ui-monospace,"Cascadia Mono",Consolas,monospace;background:#061512;border:2px solid #2f6b5d}.bit.shell .bar{color:#9fd8c2;background:#0f2d28;padding:6px 10px;font-size:.82em}.bit.shell .lines{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 12px}.bit.shell .ln-res{color:#7fb8a6}.bit.shell .ln-ok{color:#8ff0c0;font-weight:700}.bit.cta{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.bit.cta p{color:#cfd6d2;font:500 calc(var(--cap) * .8)/1.3 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#0a0a0a;margin:0;padding:6px 10px}.cbtn{pointer-events:auto;cursor:pointer;color:#08130f;font:700 var(--cap)/1.1 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#8ff0c0;border:3px solid #111;padding:12px 18px;text-decoration:none;display:inline-block;box-shadow:5px 5px #000}.cbtn:hover{background:#b6f7d6}.cbtn:focus-visible{outline-offset:3px;outline:3px solid #fff}.bit.clock{color:#ff4d4f;font:700 var(--clock)/1.1 ui-monospace,"Cascadia Mono",Consolas,monospace;text-shadow:0 0 14px #ff4d4f73;background:#0b0d0e;border:3px solid #111;padding:2px 16px}.bit.clock.green{color:#59f0a0;text-shadow:0 0 14px #59f0a073}.bit.bubble.r:after{left:auto;right:36px;transform:skew(-28deg)rotate(45deg)scale(.8,1.4)}.bit.bubble.up:after{top:-22px;bottom:auto;transform:skew(28deg)rotate(-135deg)scale(.8,1.4)}.bit.bubble.none:after{display:none}.bit.bubble.shout{background:#fffbe6;border-width:5px;font-weight:800}.bit.bubble.shout:after{background:#fffbe6;border-width:5px}.bit.bubble.whisper{border-style:dashed}.bit.bubble.phone{background:#e8f6ff;border-radius:12px}.bit.bubble.phone:after{background:#e8f6ff}.bit.receipt{color:#111;font:700 var(--term)/1.4 ui-monospace,"Cascadia Mono",Consolas,monospace;white-space:pre-wrap;background:#f7f5ef;border:2px dashed #8a8780;padding:16px 18px;box-shadow:6px 6px #0006}.bit.screen{color:#8ff0c0;font:600 var(--term)/1.4 ui-monospace,"Cascadia Mono",Consolas,monospace;white-space:pre-wrap;background:#061512;border:2px solid #2f6b5d;padding:10px 14px}.bit.screen.red{color:#ff8e93;background:#1d0709;border-color:#d8323a}.bit.list{color:#f3f1ea;font:600 var(--cap)/1.35 "Shantell Sans","ZCOOL KuaiLe","Comic Sans MS",cursive;background:#0a0a0a;border:2px solid #f3f1ea;margin:0;padding:10px 14px;list-style:none}.bit.list li+li{margin-top:4px}.bit.list li:before{content:"▸  ";color:#8ff0c0}.bit.sfx.red{color:#ff4d4f}.bit.sfx.green{color:#59f0a0}.bit.sfx.white{color:#fff}.bit.sfx.small{font-size:calc(var(--sfx) * .55)}.bit.cap.red{background:#2a0709;border-color:#ff6b6b}.bit.cap.paper{color:#111;background:#f7f5ef;border-color:#111}.bit.tag.red{color:#fff;background:#d8323a}.ep-card{text-align:center;color:#f3f1ea;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.ep-card[hidden]{display:none}.ep-file{letter-spacing:-.03em;color:#fff;overflow-wrap:anywhere;font:700 max(26px,min(5vw,56px))/1.1 ui-monospace,Cascadia Mono,Consolas,monospace}.ep-prompt{color:#8ff0c0}.ep-cursor{vertical-align:-.08em;background:#8ff0c0;width:.55em;height:.9em;margin-left:4px;display:inline-block}.ep-num{color:#111;background:#f5d547;border:2px solid #111;padding:3px 10px;font:700 15px Shantell Sans,ZCOOL KuaiLe,Comic Sans MS,cursive;transform:rotate(-1.5deg)}.panel svg.art-m,.cpage[data-l=m] .panel svg.art-d.has-m{display:none}.cpage[data-l=m] .panel svg.art-m{display:block}.ep-card p{color:#a3b5af;max-width:36ch;margin:0;font:500 18px/1.4 Shantell Sans,ZCOOL KuaiLe,Comic Sans MS,cursive}.ticks{gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:18px;left:16px}.ticks li{background:#ffffff38;width:22px;height:5px}.ticks li.on{background:#8ff0c0}.skip{color:#f3f1ea;min-height:40px;font:500 14px var(--font);cursor:pointer;background:#0009;border:1px solid #ffffff59;padding:8px 14px;position:absolute;bottom:10px;right:14px}.skip:hover{border-color:#fff}.skip:focus-visible{outline-offset:2px;outline:2px solid #8ff0c0}.story.static .stage{height:auto;position:relative}.story.static .ticks,.story.static .skip{display:none}@media (min-width:900px){.story{margin:-24px 0 8px calc(50% - 50vw)}}@media (max-width:760px){.story{margin:-12px -12px 20px}.ticks{gap:4px;bottom:14px}.ticks li{width:12px}}
