@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--color-ink-purple:#1a1330;--color-deep-plum:#2e2150;--color-cloud-white:#f5f1e8;--color-signal-cyan:#4ce0d2;--color-cherry-red:#ff4f64;--color-marigold:#ffc857;--color-muted-plum:#5c5470;--font-display:"Press Start 2P", monospace;--font-body:"Space Mono", monospace;--font-utility:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--border-pixel:3px solid var(--color-cloud-white);--border-pixel-cyan:3px solid var(--color-signal-cyan);--border-pixel-marigold:3px solid var(--color-marigold);--border-pixel-red:3px solid var(--color-cherry-red);--border-pixel-muted:2px solid var(--color-muted-plum);--shadow-pixel:4px 4px 0 var(--color-ink-purple);--shadow-pixel-sm:2px 2px 0 var(--color-ink-purple);--shadow-pixel-pressed:0px 0px 0 var(--color-ink-purple);--canvas-height:45vh;--keypad-height:55vh}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--color-ink-purple);width:100%;height:100%;color:var(--color-cloud-white);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:14px;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex;position:relative}.crt-overlay{z-index:9999;pointer-events:none;opacity:.3;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px;width:100vw;height:100vh;position:fixed;top:0;left:0}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-cursor{background-color:var(--color-signal-cyan);vertical-align:middle;width:8px;height:1.1em;margin-left:2px;animation:1s step-start infinite blink;display:inline-block}@keyframes printAndTear{0%{opacity:1;transform:translateY(0)}40%{opacity:.9;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-print-tear{animation:.2s ease-out printAndTear}@keyframes pixelBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-pixel-bounce{animation:1.2s steps(2,end) infinite pixelBounce}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-ink-purple)}::-webkit-scrollbar-thumb{background:var(--color-deep-plum);border:1px solid var(--color-muted-plum)}@media (prefers-reduced-motion:reduce){.terminal-cursor,.animate-print-tear,.animate-pixel-bounce{animation:none!important}}
