@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2)format("woff2")}@font-face{font-family:Share Tech Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--t-font,"Courier New", monospace);background:radial-gradient(circle, var(--t-bg-a,#27313c), var(--t-bg-b,#050608) 70%);color:var(--t-root-text,#d8ffd0);--t-bg-a:#27313c;--t-bg-b:#050608;--t-root-text:#d8ffd0;--t-font:"Courier New", monospace;--t-shell-a:#1f252b;--t-shell-b:#090b0d;--t-shell-border:#333b42;--t-shell-border-w:4px;--t-shell-radius:2rem;--t-shell-glow:#56606a;--t-chrome:#9aa4aa;--t-shell-highlight:#ffffff0f;--t-shell-texture:none;--t-screen-bg:#b8d39c;--t-screen-fg:#11240f;--t-screen-border:#3b4434;--t-screen-radius:.7rem;--t-screen-glow:#143c0f73;--t-screen-scanline:#00000014;--t-screen-tshadow:#ffffff40;--t-screen-glare:#ffffff1a;--t-screen-vignette:#00000029;--t-page-border:#294923;--t-page-bg:#ffffff24;--t-input-bg:#e1f3c9;--t-btn-bg:#d7edbc;--t-btn-shadow:#11240f;--t-primary-bg:#11240f;--t-primary-fg:#d8ffd0;--t-feedback-bg:#f3f1a3;--t-good-bg:#d8ffd0;--t-scrollbar-w:4px;--t-scrollbar-track:#9ac87a;--t-scrollbar-thumb:#11240f;--t-scrollbar-thumb-hover:#1e3d18;--t-scrollbar-radius:0px}*{box-sizing:border-box}body{place-items:center;min-height:100vh;margin:0;display:grid;overflow-x:hidden}button,input{font:inherit}.app-shell{width:min(94vw,430px);height:min(96svh,900px);max-height:96svh;padding:1rem}.phone{background-color:var(--t-shell-b);background-image:var(--t-shell-texture), linear-gradient(145deg, var(--t-shell-a), var(--t-shell-b));border:var(--t-shell-border-w) solid var(--t-shell-border);border-radius:var(--t-shell-radius);box-shadow:0 32px 80px #000000b3, 0 10px 28px #00000073, inset 0 1px 0 var(--t-shell-highlight), inset 0 0 20px var(--t-shell-glow);flex-direction:column;height:100%;min-height:0;padding:1.2rem;display:flex;position:relative}.phone:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(158deg, var(--t-shell-highlight) 0%, transparent 36%);mix-blend-mode:screen;position:absolute;inset:0}.speaker,.keypad{color:var(--t-chrome);text-align:center;letter-spacing:.3em;padding:.7rem;font-size:.75rem;position:relative}.speaker:before{content:"";background:radial-gradient(circle at center, var(--t-chrome) 38%, transparent 42%) 0 0 / 7px 6px round;opacity:.6;width:38%;height:6px;margin:0 auto .55rem;display:block}.lcd{background:var(--t-screen-bg);min-height:0;color:var(--t-screen-fg);border:10px inset var(--t-screen-border);border-radius:var(--t-screen-radius);box-shadow:inset 0 0 25px var(--t-screen-glow), inset 0 0 55px var(--t-screen-vignette);text-shadow:0 1px var(--t-screen-tshadow);overscroll-behavior:contain;flex:1;padding:1rem;font-size:1.05rem;position:relative;overflow:hidden auto}.lcd:before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(122deg, var(--t-screen-glare) 0%, transparent 26%, transparent 100%);mix-blend-mode:screen;position:absolute;inset:0}.lcd:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg, var(--t-screen-scanline), var(--t-screen-scanline) 1px, transparent 1px, transparent 4px);mix-blend-mode:multiply;position:absolute;inset:0}.screen-title{border-bottom:2px solid var(--t-screen-fg);text-transform:uppercase;margin:0 0 1rem;padding-bottom:.4rem;font-size:1.1rem}.phone-status{border:1px solid var(--t-page-border);letter-spacing:.04em;text-transform:uppercase;background:#11240f17;margin-bottom:.65rem;padding:.2rem .35rem;font-size:.9rem}.phone-status-row{grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:.25rem;display:grid}.phone-status-row+.phone-status-row{border-top:1px dotted var(--t-page-border);margin-top:.18rem;padding-top:.18rem}.status-pill{white-space:nowrap;text-overflow:clip;overflow:hidden}.status-right{text-align:right;grid-column:4}.copy,.wap-page{line-height:1.3}.wap-page{border:2px dashed var(--t-page-border);background:var(--t-page-bg);margin:.8rem 0;padding:.7rem}.wap-page p{margin:.2rem 0}.wap-page p.ambient{opacity:.6;border-top:1px dotted var(--t-page-border);margin-top:.55rem;padding-top:.4rem;font-size:.82rem;font-style:italic}.ticker{letter-spacing:.02em;opacity:.75;margin:.2rem 0 .6rem;font-size:.8rem;font-style:italic}.links,.controls{gap:.45rem;margin:.8rem 0;display:grid}.address,.answer{grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;margin:.6rem 0;display:grid}.answer{grid-template-columns:1fr}input{border:2px solid var(--t-screen-fg);background:var(--t-input-bg);min-width:0;color:var(--t-screen-fg);text-transform:lowercase;padding:.45rem}button{cursor:pointer;border:2px solid var(--t-screen-fg);background:var(--t-btn-bg);color:var(--t-screen-fg);box-shadow:2px 2px 0 var(--t-btn-shadow);padding:.5rem .65rem}button:active{box-shadow:none;transform:translate(2px,2px)}.primary{background:var(--t-primary-bg);color:var(--t-primary-fg);width:100%;margin-top:.7rem}.wap-link{text-align:left;box-shadow:none;border:0;border-bottom:1px dotted var(--t-screen-fg);background:0 0;padding-left:0}.controls{grid-template-columns:1fr 1fr}.feedback{border:2px solid var(--t-screen-fg);background:var(--t-feedback-bg);color:var(--t-screen-fg);padding:.6rem;font-weight:700}.good{background:var(--t-good-bg)}@media (width<=479px){body{display:block}#app{justify-self:stretch;width:100%}.app-shell{width:100%;max-width:100%;height:100svh;max-height:100svh;padding:0}.phone{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;min-height:100svh;padding:0;display:flex}.phone:before,.speaker,.keypad{display:none}.lcd{min-height:0;box-shadow:none;border:none;border-radius:0;flex:1}.controls{grid-template-columns:1fr}}.char-list{gap:.55rem;max-height:480px;margin:.6rem 0;padding-right:.2rem;display:grid;overflow-y:auto}.char-card{border:1px solid var(--t-page-border);background:var(--t-page-bg);padding:.55rem}.char-card.locked{opacity:.5;border-style:dashed}.char-name{text-transform:uppercase;font-size:.9rem;font-weight:700}.char-role{opacity:.72;margin-bottom:.35rem;font-size:.78rem;font-style:italic}.char-fact{border-left:2px solid var(--t-page-border);margin:.3rem 0 0;padding-left:.55rem;font-size:.82rem;line-height:1.4}@keyframes title-blink{0%,49%{opacity:1}50%,to{opacity:0}}.title-lcd{flex-direction:column;justify-content:center;align-items:center;display:flex}.title-art{font-family:var(--t-font);letter-spacing:0;white-space:pre;color:var(--t-screen-fg);min-height:10lh;margin:0;font-size:.6rem;line-height:1.35}.title-btn{box-shadow:none;color:var(--t-screen-fg);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;margin-top:1.8rem;padding:.4rem .6rem;font-size:.85rem;animation:1s step-end infinite title-blink}.title-btn:active{box-shadow:none;transform:none}.title-btn:focus{outline:2px solid var(--t-screen-fg);outline-offset:3px;animation:1s step-end infinite title-blink}@keyframes wap-blink-cursor{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes wap-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes reveal-rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.wap-connecting{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:500px;display:flex}.signal-row{align-items:flex-end;gap:5px;height:30px;display:flex}.signal-bar{background:var(--t-screen-fg);transform-origin:bottom;opacity:.16;border-radius:1px 1px 0 0;width:7px;transition:opacity .4s,transform .4s;transform:scaleY(.3)}.signal-bar.lit{opacity:1;animation:1.5s ease-in-out infinite wap-pulse;transform:scaleY(1)}.signal-bar:first-child{height:7px;animation-delay:0s}.signal-bar:nth-child(2){height:13px;animation-delay:.2s}.signal-bar:nth-child(3){height:19px;animation-delay:.4s}.signal-bar:nth-child(4){height:27px;animation-delay:.6s}.connect-label{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.9rem;font-weight:700}.connect-label:after{content:"_";animation:.75s step-end infinite wap-blink-cursor}.connect-sub{opacity:.62;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.73rem}.wap-loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;min-height:500px;display:flex}.wap-loading-squares{align-items:center;gap:6px;display:flex}.wap-loading-squares span{background:var(--t-screen-fg);width:9px;height:9px;animation:.85s ease-in-out infinite wap-pulse;display:block}.wap-loading-squares span:nth-child(2){animation-delay:.18s}.wap-loading-squares span:nth-child(3){animation-delay:.36s}.wap-loading-label{letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:700}.wap-loading-sub{opacity:.6;text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.72rem}.theme-switcher{z-index:100;font-family:Courier New,monospace;position:fixed;top:.5rem;right:.5rem}button.theme-trigger{box-shadow:none;color:#ffffff47;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;padding:4px;transition:color .2s;display:flex}button.theme-trigger:hover{color:#ffffffbf}button.theme-trigger:active{box-shadow:none;transform:none}.theme-panel{background:#161a1f;border:1px solid #2e3540;border-radius:4px;min-width:180px;display:none;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 6px 20px #000000bf}.theme-panel--open{display:block}button.theme-option{text-align:left;width:100%;box-shadow:none;color:#7a8a9a;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #242930;padding:.5rem .75rem;transition:background .12s,color .12s;display:block}button.theme-option:last-child{border-bottom:0}button.theme-option:hover{color:#c8d4de;background:#1e252d}button.theme-option:active{box-shadow:none;transform:none}button.theme-option--active{color:#e2edf5;background:#1a2130}.theme-option-name{font-size:.7rem;font-weight:700;display:block}.theme-option-year{opacity:.45;margin-top:1px;font-size:.6rem;display:block}.audio-controls{z-index:100;align-items:center;gap:2px;display:flex;position:fixed;top:.5rem;right:2.4rem}button.audio-toggle{box-shadow:none;color:#ffffff47;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:26px;height:26px;padding:4px;transition:color .2s;display:flex}button.audio-toggle:hover{color:#ffffffbf}button.audio-toggle:active{box-shadow:none;transform:none}button.audio-toggle--off{color:#ffffff29}button.audio-toggle--off:hover{color:#ffffff80}.lcd ::-webkit-scrollbar{width:var(--t-scrollbar-w);height:var(--t-scrollbar-w)}.lcd::-webkit-scrollbar{width:var(--t-scrollbar-w);height:var(--t-scrollbar-w)}.lcd ::-webkit-scrollbar-track{background:var(--t-scrollbar-track);border-radius:var(--t-scrollbar-radius)}.lcd::-webkit-scrollbar-track{background:var(--t-scrollbar-track);border-radius:var(--t-scrollbar-radius)}.lcd ::-webkit-scrollbar-thumb{background:var(--t-scrollbar-thumb);border-radius:var(--t-scrollbar-radius)}.lcd::-webkit-scrollbar-thumb{background:var(--t-scrollbar-thumb);border-radius:var(--t-scrollbar-radius)}.lcd ::-webkit-scrollbar-thumb:hover{background:var(--t-scrollbar-thumb-hover)}.lcd::-webkit-scrollbar-thumb:hover{background:var(--t-scrollbar-thumb-hover)}.lcd,.lcd *{scrollbar-width:thin;scrollbar-color:var(--t-scrollbar-thumb) var(--t-scrollbar-track)}.rank-section{border:2px dashed var(--t-page-border);background:var(--t-page-bg);margin:.8rem 0;padding:.6rem}.rank-title{text-transform:uppercase;margin:0 0 .4rem;font-size:1rem;font-weight:700}.rank-xp{opacity:.85;margin:.3rem 0;font-size:.8rem}.rank-bar{letter-spacing:.05em;margin:.4rem 0;font-family:Courier New,monospace;font-size:.75rem}.achievements-list{gap:.5rem;margin:.6rem 0;display:grid}.achievement-badge{border:1px solid var(--t-page-border);background:#ffffff14;align-items:center;gap:.6rem;padding:.5rem;display:flex}.achievement-icon{flex-shrink:0;font-size:1.2rem}.achievement-text{text-transform:uppercase;text-align:left;font-size:.8rem;font-weight:700}.complete-reveal{gap:.45rem;display:grid}.reveal-step{opacity:0;transform:translateY(5px)}.reveal-step.is-visible{animation:.22s ease-out forwards reveal-rise}
