:root{--term-fg: #e6e6e6;--term-dim: #a0a0a0;--term-error: #ff5c8a;--term-success: #a8ffb0;--term-bg: #0b0b0b}html,body,#root{height:100%}body{margin:0;background:var(--term-bg);color:var(--term-fg);font-family:VT323,ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;letter-spacing:.02em}.terminal{box-sizing:border-box;height:100%;width:100%;padding:24px 24px 16px;display:flex;flex-direction:column}@supports (height: 100dvh){.terminal{min-height:100dvh}}.splash{position:fixed;inset:0;display:grid;place-items:center;background:var(--term-bg);z-index:10}.splash-ascii{color:#36ff9f;white-space:pre;text-align:left;font-size:20px;line-height:1.1;text-shadow:0 0 10px rgba(54,255,159,.9),0 0 26px rgba(54,255,159,.6),0 0 48px rgba(54,255,159,.4)}.splash-cta{margin-top:18px;color:#36ff9f;opacity:.9}.intro{position:fixed;inset:0;display:grid;place-items:center;background:#000000e6;z-index:20}.intro-box{max-width:640px;border:1px solid rgba(54,255,159,.4);padding:24px 20px;border-radius:6px;color:#36ff9f;text-align:center;box-shadow:0 0 24px #36ff9f26,inset 0 0 12px #36ff9f1a}.intro-title{font-size:22px;margin-bottom:8px}.intro-body{font-size:18px;margin:6px 0}.intro-cta{margin-top:12px;opacity:.9}.flash{position:fixed;inset:0;display:grid;place-items:center;background:#000;z-index:999;pointer-events:none;animation:flashPulse 1.2s ease forwards}.flash-ascii{white-space:pre;text-align:left;font-size:24px;line-height:1.05;color:#fff;filter:contrast(180%);animation:asciiStrobe 1s steps(20,end) forwards}@keyframes flicker{0%,to{opacity:.2}10%,90%{opacity:1}50%{opacity:.6}}@keyframes flashPulse{0%{opacity:0;background:#000}10%{opacity:1;background:#000}90%{opacity:1;background:#000}to{opacity:0;background:#000}}@keyframes asciiStrobe{0%{opacity:0;text-shadow:none}20%{opacity:1;text-shadow:0 0 12px #fff,0 0 32px #fff,0 0 64px rgba(255,255,255,.9)}40%{opacity:1;text-shadow:0 0 20px #fff,0 0 48px #fff,0 0 96px rgba(255,255,255,.95)}60%{opacity:.95;text-shadow:0 0 14px #fff,0 0 40px #fff,0 0 80px rgba(255,255,255,.9)}80%{opacity:1;text-shadow:0 0 22px #fff,0 0 56px #fff,0 0 120px rgba(255,255,255,1)}85%{opacity:.4}90%{opacity:0}to{opacity:0;text-shadow:none}}.bezel{flex:1;display:flex;flex-direction:column;gap:10px}.banner{white-space:pre;font-size:18px;line-height:1.1}.ticker{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:8px;margin-bottom:8px;white-space:nowrap;overflow:auto;-webkit-overflow-scrolling:touch}.ticker-label{color:#36ff9f}.ticker-value{color:#36ff9f;letter-spacing:.08em}.output{flex:1;overflow:auto;scrollbar-width:thin;padding-right:6px;-webkit-overflow-scrolling:touch;white-space:pre-wrap;word-wrap:break-word}.line{margin:6px 0}.muted{color:var(--term-dim)}.error{color:var(--term-error)}.success{color:var(--term-success)}.prompt-row{display:flex;align-items:center;gap:8px;position:sticky;bottom:0;background:var(--term-bg);padding-top:6px}.prompt{color:var(--term-fg)}.input{flex:1;background:transparent;border:none;color:var(--term-fg);font:inherit;outline:none;caret-color:var(--term-fg)}.hint{font-size:14px;opacity:.9}.blink{animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}@media (max-width: 640px){body{font-size:16px}.terminal{padding:12px 12px 10px}.banner{font-size:14px}.flash-ascii{font-size:16px}.ticker-value{font-size:14px}.prompt-row{gap:6px}}
