@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/share-tech-mono-400.woff2) format("woff2")}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/vt323-400.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-var.woff2) format("woff2")}:root{--bg: #000000;--green: #00ff41;--green-dim: #008f11;--green-faint: rgba(0, 255, 65, .12);--accent: var(--green);--accent-dim: var(--green-dim);--text: #d8ffe0;--muted: #7fbf8a;--font-head: "VT323", "Share Tech Mono", ui-monospace, monospace;--font-mono: "Share Tech Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--glow: 0 0 6px var(--accent), 0 0 14px color-mix(in srgb, var(--accent) 50%, transparent);--radius: 4px;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:18px;line-height:1.5;min-height:100%}body{position:relative;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover,a:focus-visible{text-shadow:var(--glow);outline:none}:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-head);font-weight:400;color:var(--accent);text-shadow:var(--glow);letter-spacing:.04em;margin:0 0 .4em;line-height:1.1}h1{font-size:clamp(2.4rem,7vw,5rem)}h2{font-size:clamp(1.8rem,4vw,2.8rem)}h3{font-size:clamp(1.4rem,3vw,2rem)}p{margin:0 0 1em}#rain{position:fixed;inset:0;width:100%;height:100%;z-index:0;opacity:.22;pointer-events:none}body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0 2px,#0000002e 3px)}html.no-scanlines body:after{display:none}main,header,footer{position:relative;z-index:2}.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 16px;border-bottom:1px solid var(--accent-dim);background:#0009;font-size:.95rem}.nav .brand{font-family:var(--font-head);font-size:1.6rem;color:var(--green);margin-right:auto}.nav a.active{text-decoration:underline}.nav .toggles{display:flex;gap:10px;flex-wrap:wrap}.term{border:1px solid var(--accent);border-radius:var(--radius);background:#000a02d1;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 35%,transparent);margin:24px 0}.term>.bar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--accent-dim);color:var(--muted);font-size:.85rem;background:#00000080}.term>.bar:before{content:"●  ●  ●";letter-spacing:.1em;color:var(--accent-dim)}.term>.body{padding:16px 20px}.cmd{display:inline-block;font-family:var(--font-mono);font-size:1rem;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:var(--radius);padding:10px 18px;min-height:44px;cursor:pointer;transition:background .15s,color .15s}.cmd:before{content:"> "}.cmd:hover,.cmd:focus-visible{background:var(--accent);color:#000;text-shadow:none}.cmd.small{padding:6px 12px;min-height:36px;font-size:.85rem}.cmd[aria-pressed=true]{background:var(--accent);color:#000}.cmd:disabled{opacity:.4;cursor:not-allowed}.cursor:after{content:"▌";animation:blink 1s steps(1) infinite;margin-left:2px}@keyframes blink{50%{opacity:0}}.glitch{position:relative;display:inline-block}html.fx .glitch:before,html.fx .glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;overflow:hidden;clip-path:inset(0 0 0 0);opacity:.8}html.fx .glitch:before{color:var(--green);animation:glitch-a 2.4s infinite linear alternate-reverse}html.fx .glitch:after{color:var(--accent);animation:glitch-b 3.1s infinite linear alternate-reverse}@keyframes glitch-a{0%,88%{clip-path:inset(0 0 100% 0);transform:none}90%{clip-path:inset(10% 0 60% 0);transform:translate(-3px)}94%{clip-path:inset(55% 0 20% 0);transform:translate(3px)}to{clip-path:inset(0 0 100% 0);transform:none}}@keyframes glitch-b{0%,84%{clip-path:inset(0 0 100% 0);transform:none}86%{clip-path:inset(70% 0 5% 0);transform:translate(3px)}92%{clip-path:inset(30% 0 40% 0);transform:translate(-3px)}to{clip-path:inset(0 0 100% 0);transform:none}}.lights{position:fixed;top:0;left:0;right:0;height:6px;z-index:3;pointer-events:none;display:flex}.lights span{flex:1;height:100%;background:var(--accent-dim)}html.fx .lights span.on{background:var(--green);box-shadow:0 0 8px var(--green)}html.fx .lights span.on:nth-child(odd){background:var(--accent);box-shadow:0 0 8px var(--accent)}.countdown{display:flex;justify-content:center;gap:clamp(8px,3vw,28px);flex-wrap:wrap;font-family:var(--font-head);text-align:center}.countdown .unit{min-width:70px}.countdown .num{display:block;font-size:clamp(2.6rem,9vw,7rem);color:var(--accent);text-shadow:var(--glow);line-height:1;font-variant-numeric:tabular-nums}.countdown .label{display:block;font-size:1rem;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-family:var(--font-mono)}.countdown.small .num{font-size:clamp(1.6rem,4vw,2.6rem)}.countdown.small .label{font-size:.7rem}.countdown .sep{font-size:clamp(2rem,7vw,5rem);color:var(--accent-dim);line-height:1;align-self:flex-start}.countdown.small .sep{font-size:clamp(1.4rem,3vw,2.2rem)}.celebrate{font-family:var(--font-head);font-size:clamp(1.8rem,6vw,4rem);color:var(--accent);text-shadow:var(--glow);text-align:center;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.04)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.arcade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.tile{display:block;border:1px solid var(--accent-dim);border-radius:var(--radius);padding:16px;background:#0009;color:var(--text);transition:border-color .15s,box-shadow .15s}.tile:hover,.tile:focus-visible{border-color:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 45%,transparent);text-shadow:none}.tile .icon{font-size:2.4rem;line-height:1}.tile h3{margin:8px 0 4px}.tile .concept{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.tile .blurb{font-size:.95rem;margin:6px 0 0}.holiday-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.holiday-list a{display:flex;align-items:center;gap:12px;border:1px solid var(--green-dim);border-radius:var(--radius);padding:12px;color:var(--text)}.holiday-list a:hover{border-color:var(--green)}.holiday-list .emoji{font-size:2rem}.holiday-list small{color:var(--muted);display:block}.locked{text-align:center;padding:48px 16px}.locked .big{font-family:var(--font-head);font-size:clamp(2rem,8vw,5rem);color:var(--accent);text-shadow:var(--glow)}.steps{padding-left:1.4em}.steps li{margin-bottom:.5em}footer{color:var(--muted);font-size:.8rem;text-align:center;padding:24px 16px 32px}.shell{display:flex;flex-direction:column;align-items:center;gap:12px}.shell .hud{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;width:100%;max-width:800px;font-family:var(--font-head);font-size:1.4rem}.shell .hud span b{color:var(--accent)}.stage{position:relative;width:100%;max-width:800px;aspect-ratio:4 / 3;border:1px solid var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 40%,transparent);background:#000;touch-action:none;user-select:none;-webkit-user-select:none}.stage canvas{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#000000e0;text-align:center;padding:16px}.overlay[hidden]{display:none}.overlay h2{font-size:clamp(2rem,6vw,3.4rem)}.overlay p{max-width:560px;margin:0}.overlay .row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.status{min-height:1.6em;color:var(--muted);text-align:center}@media(max-width:600px){html,body{font-size:16px}.term>.body{padding:12px 14px}}@media(prefers-reduced-motion:reduce){html:not(.fx) *{animation:none!important;transition:none!important}}html.no-fx *{animation:none!important;transition:none!important}:root{--tfe-navy: #1a3a8a;--tfe-cyan: #06b6d4;--font-brand: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}.brandbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:10px 16px;background:linear-gradient(90deg,#1a3a8a8c,#06b6d42e 60%,#0000);border-bottom:1px solid rgba(6,182,212,.35)}.tfe{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:var(--font-brand)}.tfe:hover,.tfe:focus-visible{text-shadow:none}.tfe-logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#fff;box-shadow:0 0 10px #06b6d480;overflow:hidden;flex-shrink:0}.tfe-logo img{width:100%;height:100%;object-fit:contain}.tfe-name{display:flex;flex-direction:column;line-height:1.1}.tfe-title{font-weight:600;font-size:.95rem;letter-spacing:-.01em}.tfe-sub{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#a5f3fc}.brandbar .brand{font-family:var(--font-head);font-size:1.5rem;color:var(--green)}footer .foot-brand{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;font-family:var(--font-brand);font-size:.9rem;color:#c7d2fe;max-width:640px;margin:0 auto 10px}footer .foot-brand .tfe-logo{width:44px;height:44px}footer .foot-brand a{color:var(--tfe-cyan)}footer .foot-note{margin:0}@media(max-width:600px){.brandbar .brand{font-size:1.2rem}}.dev-badge{position:fixed;top:10px;right:-34px;z-index:50;transform:rotate(45deg);width:140px;text-align:center;padding:4px 0;background:#ff2e2e;color:#000;font:700 .8rem/1.3 var(--font-brand, sans-serif);letter-spacing:.2em;pointer-events:none}
