:root{--bg:#07090c;--phos:#8dffb0;--phos-soft:#8dffb0b8;--phos-dim:#8dffb080;--phos-line:#8dffb042;--amber:#ffc56a;--ink:#e8f5ec;--panel:#050b08cc;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--crt:"VT323", "IBM Plex Mono", monospace;--sans:"IBM Plex Sans", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}.loft{position:fixed;inset:0;overflow:hidden}.backdrop,.splat,.crt{width:100%;height:100%;position:absolute;inset:0}.backdrop{background:url(/scene/loft.jpg) 50%/cover no-repeat;transition:opacity 1.4s;transform:scale(1.06)}.splat{opacity:0;touch-action:pan-y;transition:opacity 1.4s;display:block}.is-live .splat{opacity:1}.is-live .backdrop{opacity:0}.crt{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 55%,#0000008c 100%),linear-gradient(#04060899 0%,#0000 13%),repeating-linear-gradient(0deg,#00000017 0 1px,#0000 1px 3px)}.dim{color:var(--phos-dim)}.amber{color:var(--amber);text-shadow:0 0 12px #ffc56a8c}.topbar{padding:max(16px, env(safe-area-inset-top)) 28px 16px;letter-spacing:.04em;color:var(--phos-soft);text-shadow:0 0 10px #8dffb059;pointer-events:none;align-items:center;gap:20px;font-size:13px;display:flex;position:absolute;inset:0 0 auto}.topbar p{margin:0}.brand{font-family:var(--crt);color:var(--phos);align-items:center;gap:10px;font-size:26px;line-height:1;display:flex}.brand-mark{background:var(--phos);width:11px;height:20px;box-shadow:0 0 12px var(--phos);animation:1.1s step-end infinite blink}.secrets{pointer-events:auto;align-items:center;gap:10px;margin-left:auto;display:flex}.secrets ol{gap:5px;margin:0;padding:0;list-style:none;display:flex}.secrets li{border:1px solid var(--phos-line);width:22px;height:22px;color:var(--bg);background:#050b0880;place-items:center;font-size:12px;display:grid}.secrets li.got{background:var(--phos);border-color:var(--phos);animation:.5s ease-out got;box-shadow:0 0 12px #8dffb099}.secrets b{color:var(--phos);min-width:2.4em;font-weight:500}.term{background:var(--panel);border:1px solid var(--phos-line);-webkit-backdrop-filter:blur(10px)saturate(1.1);border-radius:6px;width:min(440px,100vw - 64px);transition:opacity .4s,transform .4s;position:absolute;bottom:32px;left:32px;overflow:hidden;box-shadow:0 0 0 1px #0009,0 24px 60px #0000008c,0 0 48px #8dffb012}.term:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#8dffb009 0 1px,#0000 1px 3px);position:absolute;inset:0}.term-bar{border-bottom:1px solid var(--phos-line);letter-spacing:.06em;color:var(--phos-soft);align-items:center;gap:12px;padding:8px 14px;font-size:11px;display:flex}.term-bar span:last-child{margin-left:auto}.leds{gap:5px;display:flex}.leds i{background:#8dffb038;border-radius:50%;width:7px;height:7px}.leds i:first-child{background:var(--phos);box-shadow:0 0 8px var(--phos);animation:2.4s ease-in-out infinite pulse}.leds i:nth-child(2){background:var(--amber);opacity:.7}.term-body{padding:18px 20px 16px;position:relative}.sys{letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:11px}.term h1{font-family:var(--crt);color:var(--phos);text-shadow:0 0 14px #8dffb073;text-wrap:balance;margin:0 0 10px;font-size:38px;font-weight:400;line-height:.98}.block{vertical-align:-.04em;background:var(--phos);width:.45em;height:.78em;box-shadow:0 0 10px var(--phos);margin-left:.12em;animation:1.1s step-end infinite blink;display:inline-block}.copy{font-family:var(--sans);color:#e8f5ecd1;margin:0 0 16px;font-size:14px;line-height:1.5}.cmd{color:var(--phos);margin:0 0 8px;font-size:14px}label{letter-spacing:.1em;text-transform:uppercase;color:var(--phos-dim);margin-bottom:6px;font-size:11px;display:block}.field{border:1px solid var(--phos-line);background:#00000073;border-radius:4px;align-items:stretch;transition:border-color .2s,box-shadow .2s;display:flex}.field:focus-within{border-color:var(--phos);box-shadow:0 0 0 3px #8dffb024,0 0 22px #8dffb02e}.field.is-error{border-color:var(--amber);box-shadow:0 0 0 3px #ffc56a24}.prompt{color:var(--phos-dim);place-items:center;padding-left:12px;font-size:15px;display:grid}.field input{min-width:0;color:var(--phos);caret-color:var(--phos);font:500 16px var(--mono);text-shadow:0 0 8px #8dffb059;background:0 0;border:0;outline:none;flex:1;padding:12px 10px}.field input::placeholder{color:#8dffb04d}.field button{background:var(--phos);color:#04140a;font:500 13px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:0;border-radius:3px;align-items:center;gap:6px;margin:4px;padding:0 14px;transition:filter .15s,transform .15s;display:flex;box-shadow:0 0 16px #8dffb059}.field button:hover{filter:brightness(1.08)}.field button:active{transform:translateY(1px)}.field button:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.field button:disabled{opacity:.6;cursor:progress}.note{min-height:1.4em;color:var(--phos-dim);margin:8px 0 0;font-size:12px;line-height:1.4}.note.is-error{color:var(--amber)}.psst{border-top:1px dashed var(--phos-line);margin:12px 0 0;padding-top:10px;font-size:11px}.done .big{font-family:var(--crt);color:var(--phos);text-shadow:0 0 14px #8dffb080;margin:0;font-size:34px;line-height:1.05}.done .copy{margin:12px 0 0}.done .big+.big{animation:.9s steps(2,end) 2 flash}.tip{border:1px solid var(--phos-line);color:var(--phos-soft);white-space:nowrap;pointer-events:none;z-index:5;background:#050b08db;border-radius:3px;padding:6px 10px;font-size:12px;position:fixed;top:0;left:0}.tip b{color:var(--phos);font-weight:500}@property --r{syntax:"<length>";inherits:true;initial-value:0}.eyepiece{--r:min(36vmin, 340px);z-index:4;cursor:zoom-out;background:radial-gradient(circle at 50% 50%, transparent calc(var(--r) - 2px), #030406f7 calc(var(--r) + 1px));border:0;padding:0;animation:.9s cubic-bezier(.2,.8,.2,1) iris;position:absolute;inset:0}.reticle{width:calc(var(--r) * 2);height:calc(var(--r) * 2);background:linear-gradient(#8dffb059,#8dffb059) 50%/1px 30% no-repeat,linear-gradient(90deg,#8dffb059,#8dffb059) 50%/30% 1px no-repeat;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #8dffb059,inset 0 0 60px #000c}.scope-caption{left:50%;top:calc(50% + var(--r) + 18px);font:12px var(--mono);letter-spacing:.12em;color:var(--phos);text-align:center;white-space:nowrap;position:absolute;transform:translate(-50%)}.is-scoped .term,.is-scoped .topbar{opacity:0;pointer-events:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{opacity:.4}}@keyframes flash{50%{opacity:.3}}@keyframes got{0%{transform:scale(1.5)}}@keyframes iris{0%{--r:0px;opacity:0}}@media (width<=720px){.topbar{padding:max(12px, env(safe-area-inset-top)) 16px 12px;gap:12px}.clock{display:none}.brand{font-size:22px}.secrets>.dim{display:none}.secrets li{width:18px;height:18px;font-size:10px}.term{width:auto;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:12px 12px 0 0;bottom:0;left:0;right:0}.term-bar{padding:7px 16px}.term-body{padding:14px 16px}.term h1{margin-bottom:10px;font-size:30px}.term .copy{margin-bottom:12px;font-size:13px}.term form .copy,.sys{display:none}.psst{margin-top:8px;padding-top:8px}}@media (width<=720px) and (height<=700px){.term-body>.copy{display:none}}@media (prefers-reduced-motion:reduce){.brand-mark,.block,.leds i:first-child,.done .big+.big,.secrets li.got,.eyepiece{animation:none}.splat,.backdrop{transition:none}}
