:root{--bg:#0b0820;--pink:#ff3ea5;--cyan:#2ef2ff;--lime:#b6ff3b;--yel:#ffe23b;}
html,body{margin:0;background:radial-gradient(ellipse at top,#2a1050 0%,#0b0820 60%) fixed;color:#f4ecff;font-family:'VT323',monospace;min-height:100vh;overflow-x:hidden}
.pix{font-family:'Press Start 2P',monospace}
.stars{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(2px 2px at 20% 30%,#fff8,transparent),radial-gradient(2px 2px at 70% 20%,#fff6,transparent),radial-gradient(2px 2px at 40% 80%,#fff5,transparent),radial-gradient(2px 2px at 85% 60%,#fff7,transparent),radial-gradient(2px 2px at 10% 70%,#fff5,transparent),radial-gradient(2px 2px at 55% 50%,#fff4,transparent);background-size:300px 300px;animation:tw 4s ease-in-out infinite alternate}
@keyframes tw{from{opacity:.4}to{opacity:1}}
#root{position:relative;z-index:1}
.logo{color:#fff;text-shadow:0 0 6px var(--pink),0 0 18px var(--pink),0 0 36px #ff3ea588;animation:glow 2.4s ease-in-out infinite alternate}
@keyframes glow{to{text-shadow:0 0 4px var(--cyan),0 0 14px var(--cyan),0 0 30px #2ef2ff88}}
.cab{position:relative;border:4px solid #000;border-radius:14px;box-shadow:0 0 0 3px var(--c),0 8px 0 #000,0 0 24px -4px var(--c);background:linear-gradient(180deg,#1b1238,#120c28);transition:transform .15s;animation:pop .5s backwards;cursor:pointer;overflow:hidden}
.cab:hover{transform:translateY(-4px) rotate(-1deg)}
.cab:active{transform:scale(.96)}
.cab::after,.crt::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#0004 2px 3px)}
@keyframes pop{from{opacity:0;transform:translateY(20px) scale(.9)}}
.screen{background:#05030f;border-radius:8px;border:2px solid #000;box-shadow:inset 0 0 18px var(--c)}
.chip{border:2px solid #fff3;padding:4px 10px;border-radius:999px;font-size:20px}
.chip.on{background:var(--yel);color:#111;border-color:var(--yel)}
.btn{font-family:'Press Start 2P';font-size:10px;padding:10px 12px;border:3px solid #000;border-radius:8px;box-shadow:0 4px 0 #000;background:var(--cyan);color:#111}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.crt{position:relative;border:4px solid #000;border-radius:12px;box-shadow:0 0 0 3px var(--cyan),0 0 40px -6px var(--cyan);overflow:hidden}
canvas{display:block;touch-action:none;image-rendering:pixelated}
.pad button{width:54px;height:54px;border-radius:12px;background:#2a2050;border:3px solid #000;box-shadow:0 4px 0 #000;color:#fff;font-size:22px;touch-action:none;user-select:none}
.pad button:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.big{font-size:64px;animation:cd .9s ease-out}
@keyframes cd{from{transform:scale(2.5);opacity:0}}