*{margin:0;padding:0;box-sizing:border-box}
:root{--phosphor:#33ff66;--phosphor-dim:#00aa22;--phosphor-dark:#004411;--phosphor-glow:rgba(51,255,102,.6);--phosphor-glow-soft:rgba(51,255,102,.15);--amber:#ffaa00;--red:#ff3333;--bg:#000;--bg-screen:#010801}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);font-family:'Courier New',Consolas,Monaco,monospace;-webkit-font-smoothing:none;-webkit-tap-highlight-color:transparent;touch-action:none;user-select:none;color:var(--phosphor)}
.crt-frame{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0a0a0a 0%,#000 100%)}
.crt-screen{position:relative;width:100%;height:100%;max-width:540px;max-height:860px;background:var(--bg-screen);overflow:hidden;border-radius:12px;box-shadow:inset 0 0 60px rgba(0,0,0,.8),inset 0 0 20px var(--phosphor-glow-soft),0 0 40px var(--phosphor-glow-soft),0 0 80px rgba(51,255,102,.05)}
.crt-screen::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.18) 3px);pointer-events:none;z-index:100;animation:scanline-drift 8s linear infinite}
.crt-screen::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.5) 100%);pointer-events:none;z-index:101}
@keyframes scanline-drift{0%{transform:translateY(0)}100%{transform:translateY(4px)}}
.power-on{position:absolute;inset:0;background:#fff;z-index:200;animation:power-on .4s ease-out forwards;pointer-events:none}
@keyframes power-on{0%{opacity:1;transform:scaleY(1)}40%{opacity:.8;transform:scaleY(.01)}60%{opacity:.6;transform:scaleY(.005)}100%{opacity:0;transform:scaleY(0)}}
.screen-content{position:relative;width:100%;height:100%;z-index:1;display:flex;flex-direction:column;color:var(--phosphor);text-shadow:0 0 4px var(--phosphor-glow),0 0 8px var(--phosphor-glow-soft)}
#boot-screen{flex:1;display:flex;flex-direction:column;padding:20px;font-size:14px;line-height:1.6;overflow:hidden}
#boot-screen .boot-line{opacity:0;animation:boot-line-in .05s forwards;white-space:pre-wrap;word-break:break-all}
@keyframes boot-line-in{to{opacity:1}}
.boot-cursor{display:inline-block;width:9px;height:14px;background:var(--phosphor);box-shadow:0 0 6px var(--phosphor-glow);animation:cursor-blink .8s steps(2) infinite;vertical-align:text-bottom}
@keyframes cursor-blink{50%{opacity:0}}
#menu-screen{flex:1;display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}
#menu-screen.active{display:flex}
.logo{font-family:'Courier New',monospace;font-size:52px;line-height:1;letter-spacing:2px;margin-bottom:4px;animation:logo-flicker 4s infinite}
.logo .line2{display:block;font-size:28px;letter-spacing:6px;margin-top:2px}
@keyframes logo-flicker{0%,97%,100%{opacity:1}98%{opacity:.7}99%{opacity:.9}}
.menu-subtitle{font-size:13px;color:var(--phosphor-dim);margin-bottom:40px;letter-spacing:1px}
.menu-high-score{font-size:14px;margin-bottom:30px;color:var(--amber);text-shadow:0 0 4px rgba(255,170,0,.5)}
.press-start{font-size:18px;animation:press-blink 1s steps(2) infinite;cursor:pointer}
@keyframes press-blink{50%{opacity:.2}}
.menu-controls-hint{position:absolute;bottom:24px;font-size:11px;color:var(--phosphor-dim);text-align:center;line-height:1.8}
.ascii-art{font-size:10px;line-height:1.1;color:var(--phosphor-dim);margin-bottom:24px;white-space:pre;text-shadow:0 0 3px var(--phosphor-glow-soft)}
#game-screen{flex:1;display:none;flex-direction:column}
#game-screen.active{display:flex}
.hud{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;border-bottom:1px solid var(--phosphor-dark);background:rgba(0,60,10,.1)}
.hud-item{display:flex;flex-direction:column;align-items:center;gap:2px}
.hud-label{font-size:9px;color:var(--phosphor-dim);letter-spacing:1px}
.hud-value{font-size:16px;font-weight:bold}
.hud-value.portfolio{color:var(--phosphor)}
.hud-value.target{color:var(--amber);text-shadow:0 0 4px rgba(255,170,0,.5)}
.hud-value.best{color:var(--phosphor-dim)}
#game-canvas{flex:1;display:block;width:100%;image-rendering:pixelated}
.game-footer{padding:6px 14px;font-size:10px;color:var(--phosphor-dim);text-align:center;border-top:1px solid var(--phosphor-dark);letter-spacing:1px}
#gameover-screen{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.85);z-index:50;text-align:center;padding:20px}
#gameover-screen.active{display:flex}
.crash-title{font-family:'Courier New',monospace;font-size:42px;color:var(--red);text-shadow:0 0 8px rgba(255,51,51,.6);margin-bottom:6px;animation:crash-glitch .3s steps(2) 3}
@keyframes crash-glitch{0%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-1px)}100%{transform:translateX(0)}}
.crash-box{border:1px solid var(--phosphor-dim);padding:20px 32px;margin:16px 0;font-size:15px;line-height:2;min-width:260px}
.crash-box .row{display:flex;justify-content:space-between;gap:30px}
.crash-box .label{color:var(--phosphor-dim)}
.crash-box .val{color:var(--phosphor);font-weight:bold}
.crash-box .val.new-record{color:var(--amber);animation:press-blink .6s steps(2) infinite}
.retry-prompt{font-size:16px;margin-top:16px;animation:press-blink 1s steps(2) infinite;cursor:pointer}
#pause-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.7);z-index:40;font-size:28px;letter-spacing:4px}
#pause-overlay.active{display:flex}
.touch-controls{display:none;position:absolute;bottom:0;left:0;right:0;height:120px;z-index:30;pointer-events:none}
@media(pointer:coarse),(max-width:600px){.touch-controls{display:block}}
.dpad{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:120px;height:120px;pointer-events:auto}
.dpad-btn{position:absolute;width:40px;height:40px;background:rgba(51,255,102,.08);border:1px solid var(--phosphor-dark);color:var(--phosphor-dim);display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.dpad-btn:active{background:rgba(51,255,102,.25);color:var(--phosphor)}
.dpad-up{top:0;left:40px}
.dpad-down{bottom:0;left:40px}
.dpad-left{top:40px;left:0}
.dpad-right{top:40px;right:0}
.hidden{display:none!important}
.ticker-popup{position:absolute;font-size:14px;color:var(--amber);text-shadow:0 0 6px rgba(255,170,0,.7);pointer-events:none;z-index:35;animation:ticker-rise .8s ease-out forwards}
@keyframes ticker-rise{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-30px);opacity:0}}
.share-btn{margin-top:12px;padding:10px 20px;border:1px solid var(--phosphor-dark);color:var(--phosphor-dim);font-size:14px;cursor:pointer;text-align:center;animation:press-blink 1.5s steps(2) infinite}
