*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--green: #33ff66;--green-dim: #1a8f3c;--amber: #ffb830;--red: #ff2a1a;--red-deep: #8f0f05;--bg: #050805;--font-display: "VT323", "Courier New", monospace;--font-mono: "Share Tech Mono", "Courier New", monospace}html,body,#root{height:100%}body{background:var(--bg);color:var(--green);font-family:var(--font-mono);overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font-family:inherit;cursor:pointer;touch-action:manipulation}.app{position:relative;height:100dvh;width:100vw;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#0a140a 0%,var(--bg) 70%)}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;padding:clamp(12px,3vmin,32px)}.crt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0px,rgba(0,0,0,.22) 1px,transparent 1px,transparent 3px);animation:crt-flicker 4s infinite steps(60)}.crt-vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:91;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%)}@keyframes crt-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.78}94%{opacity:1}97%{opacity:.9}}.idle-screen{justify-content:space-between;text-shadow:0 0 8px rgba(51,255,102,.6)}.console-header{position:relative;width:100%;max-width:640px;border:1px solid var(--green-dim);padding:clamp(8px,2vmin,14px) clamp(10px,3vmin,18px);font-family:var(--font-display);font-size:clamp(18px,4.5vmin,28px);letter-spacing:.06em;background:#143c1e26}.header-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-sub{font-size:.68em;color:var(--green-dim);margin-top:4px}.clock{color:var(--amber)}.blink-slow{color:var(--red);animation:blink 2s infinite;margin-right:8px}.status-panel{width:100%;max-width:640px;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(6px,1.5vmin,12px);margin-top:clamp(8px,2vmin,16px)}.status-item{border:1px solid var(--green-dim);padding:clamp(6px,1.5vmin,10px);display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;background:#143c1e1a}.status-label{font-size:clamp(9px,2vmin,12px);color:var(--green-dim);letter-spacing:.1em}.status-value{font-family:var(--font-display);font-size:clamp(16px,3.5vmin,24px)}.status-value.ok{color:var(--green)}.status-value.warn{color:var(--amber)}.button-station{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(16px,4vmin,32px);width:100%}.cover-assembly{position:relative;width:clamp(220px,62vmin,340px);height:clamp(220px,62vmin,340px);perspective:900px}.button-well{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;background:radial-gradient(circle at 50% 45%,#1c1c22,#101014 65%,#0a0a0d);border:2px solid #2a2a33;box-shadow:inset 0 4px 18px #000000e6,0 0 0 6px #16161c,0 0 0 8px #000;display:flex;align-items:center;justify-content:center}.big-red-button{position:relative;width:72%;aspect-ratio:1;border-radius:50%;border:none;background:#3a0c08;box-shadow:0 clamp(10px,3vmin,18px) 0 #4a0d06,0 clamp(14px,4vmin,26px) 30px #000c;transition:transform .1s,box-shadow .1s,filter .4s;filter:brightness(.45) saturate(.6)}.big-red-button:disabled{cursor:not-allowed}.big-red-button.armed{filter:brightness(1) saturate(1);animation:button-throb 1.6s infinite}.button-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 35% 28%,#ff8a70,#ff2a1a,#c01005 70%,#7a0a02);box-shadow:inset 0 -12px 24px #00000073,inset 0 8px 16px #ffffff40;display:flex;align-items:center;justify-content:center}.button-text{font-family:var(--font-display);font-size:clamp(28px,9vmin,52px);color:#fff;letter-spacing:.12em;text-shadow:0 2px 6px rgba(0,0,0,.7)}.big-red-button.armed:active,.big-red-button.pressed{transform:translateY(clamp(8px,2.5vmin,14px));box-shadow:0 2px #4a0d06,0 4px 14px #000c}.big-red-button.pressed{animation:none;filter:brightness(1.35) saturate(1.3)}@keyframes button-throb{0%,to{box-shadow:0 clamp(10px,3vmin,18px) 0 #4a0d06,0 clamp(14px,4vmin,26px) 30px #000c,0 0 30px 4px #ff2a1a80}50%{box-shadow:0 clamp(10px,3vmin,18px) 0 #4a0d06,0 clamp(14px,4vmin,26px) 30px #000c,0 0 70px 18px #ff2a1ae6}}.safety-cover{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;border:2px solid #665500;overflow:hidden;transform-origin:top center;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.34,1.4,.64,1);background:#1e190559;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);display:flex;align-items:center;justify-content:center;z-index:2}.cover-assembly.open .safety-cover{transform:rotateX(112deg)}.cover-stripes{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-45deg,#ffb830d9 0,#ffb830d9 18px,#0a0a0ae6 18px,#0a0a0ae6 36px);opacity:.55}.cover-label{position:relative;font-family:var(--font-display);font-size:clamp(20px,5.5vmin,32px);color:#fff;background:#000000d1;border:1px solid var(--amber);padding:10px 18px;text-align:center;letter-spacing:.08em;line-height:1.3}.arm-hint{font-size:clamp(12px,3vmin,16px);color:var(--green-dim);letter-spacing:.05em;text-align:center;min-height:2.4em;padding:0 12px}.arm-hint.armed{color:var(--amber);animation:blink 1.2s infinite}.console-footer{font-size:clamp(9px,2.2vmin,12px);color:var(--green-dim);letter-spacing:.12em;text-align:center}.countdown-screen{justify-content:space-between;color:var(--red);text-shadow:0 0 10px rgba(255,42,26,.7)}.alert-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,#8c0a058c,#140000e6 75%);animation:alert-pulse 1s infinite;pointer-events:none}.countdown-screen.critical .alert-flash{animation-duration:.4s}@keyframes alert-pulse{0%,to{opacity:.45}50%{opacity:1}}.beacon{position:absolute;top:0;bottom:0;width:30vw;pointer-events:none;opacity:.7}.beacon-left{left:-12vw;background:conic-gradient(from 0deg at 0% 50%,transparent 0deg,rgba(255,42,26,.55) 25deg,transparent 60deg);animation:beacon-spin 1.1s linear infinite}.beacon-right{right:-12vw;background:conic-gradient(from 180deg at 100% 50%,transparent 0deg,rgba(255,42,26,.55) 25deg,transparent 60deg);animation:beacon-spin 1.1s linear infinite reverse}@keyframes beacon-spin{0%{filter:hue-rotate(0deg) brightness(1);transform:scaleY(1)}50%{transform:scaleY(1.15);filter:brightness(1.6)}to{filter:hue-rotate(0deg) brightness(1);transform:scaleY(1)}}.hazard-bar{width:100vw;height:clamp(14px,3vmin,22px);flex-shrink:0;background:repeating-linear-gradient(-45deg,var(--amber) 0 20px,#0a0a0a 20px 40px);animation:hazard-scroll .8s linear infinite;box-shadow:0 0 18px #ffb83059}@keyframes hazard-scroll{0%{background-position:0 0}to{background-position:56.57px 0}}.countdown-header{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:clamp(8px,2vmin,16px);font-family:var(--font-display);font-size:clamp(20px,5.5vmin,34px);letter-spacing:.1em;z-index:2}.defcon{font-size:.7em;padding:2px 14px;border:1px solid currentColor}.defcon-3{color:var(--amber)}.defcon-2{color:#ff7b1a;animation:blink 1s infinite}.defcon-1{color:#fff;background:var(--red);animation:blink .5s infinite}.countdown-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2.5vmin,20px);width:100%;z-index:2}.timer-label{font-size:clamp(12px,3vmin,18px);letter-spacing:.35em;color:var(--amber)}.timer{font-family:var(--font-display);font-size:clamp(72px,24vmin,190px);line-height:.9;color:var(--red);text-shadow:0 0 20px rgba(255,42,26,.9),0 0 60px rgba(255,42,26,.5)}.timer-critical{color:#fff;animation:timer-panic .5s infinite}@keyframes timer-panic{0%,to{text-shadow:0 0 20px rgba(255,42,26,1),0 0 80px rgba(255,42,26,.9)}50%{text-shadow:0 0 8px rgba(255,42,26,.6),0 0 30px rgba(255,42,26,.4);opacity:.75}}.timer-tenths{font-size:.45em;opacity:.85}.progress-track{width:min(80vw,520px);height:clamp(8px,2vmin,14px);border:1px solid var(--red-deep);background:#0009}.progress-fill{height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--red-deep),var(--red));box-shadow:0 0 12px #ff2a1acc;transition:transform .1s linear}.launch-log{width:min(88vw,520px);height:clamp(88px,20vmin,150px);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;font-size:clamp(11px,2.8vmin,15px);color:var(--amber);text-shadow:0 0 6px rgba(255,184,48,.5)}.log-line{animation:log-in .25s steps(3) both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.log-warn{color:#fff;background:#8c0a0599}@keyframes log-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.abort-button{z-index:2;margin-bottom:clamp(10px,2.5vmin,20px);font-family:var(--font-display);font-size:clamp(18px,4.5vmin,26px);letter-spacing:.1em;color:#fff;background:#000000a6;border:2px solid var(--amber);padding:clamp(10px,2.5vmin,16px) clamp(20px,6vmin,40px);box-shadow:0 0 16px #ffb83066;transition:transform .08s,background .2s}.abort-button:active{transform:scale(.95);background:#ffb83040}.shake-soft{animation:shake .5s infinite;--amp: 1px}.shake-hard{animation:shake .3s infinite;--amp: 3px}.shake-violent{animation:shake .15s infinite;--amp: 6px}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(var(--amp),calc(var(--amp) * -1))}40%{transform:translate(calc(var(--amp) * -1),var(--amp))}60%{transform:translate(var(--amp),var(--amp))}80%{transform:translate(calc(var(--amp) * -1),calc(var(--amp) * -1))}}.explosion-screen{padding:0;background:#000}.explosion-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}.fade-out{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;transition:opacity .8s ease-in}.fade-out.active{opacity:1}.brand-seal{position:absolute;right:max(clamp(10px,2.5vmin,22px),env(safe-area-inset-right));bottom:max(clamp(10px,2.5vmin,22px),env(safe-area-inset-bottom));z-index:5;display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1vmin,8px)}.brand-seal img{width:clamp(68px,17vmin,112px);aspect-ratio:1;border-radius:50%;border:2px solid rgba(214,178,110,.85);box-shadow:0 0 0 4px #000000bf,0 6px 18px #000c,0 0 26px #ff2a1a80;animation:seal-glow 2.4s ease-in-out infinite}@keyframes seal-glow{0%,to{box-shadow:0 0 0 4px #000000bf,0 6px 18px #000c,0 0 18px #ff2a1a59}50%{box-shadow:0 0 0 4px #000000bf,0 6px 18px #000c,0 0 34px #ff2a1ab3}}.seal-caption{font-family:var(--font-display);font-size:clamp(11px,2.6vmin,15px);letter-spacing:.28em;padding:2px 8px 2px 11px;color:#d6b26e;background:#0009;border:1px solid rgba(214,178,110,.45);text-shadow:0 0 8px rgba(0,0,0,.9)}.white-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;pointer-events:none;animation:flash-out 1.4s ease-out forwards}@keyframes flash-out{0%{opacity:1}to{opacity:0}}.aftermath-screen{justify-content:center;gap:clamp(12px,3vmin,24px);background:radial-gradient(ellipse at 50% 110%,rgba(120,20,5,.5) 0%,transparent 60%),#0a0505;color:#d8c8b8;text-align:center}.ash-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.ash{position:absolute;top:-12px;width:4px;height:4px;background:#c8beb480;border-radius:50%;animation:ash-fall linear infinite}@keyframes ash-fall{to{transform:translateY(110vh) translate(-8vw) rotate(300deg)}}.doom-title{font-family:var(--font-display);font-size:clamp(30px,9vmin,64px);color:var(--red);letter-spacing:.06em;line-height:1.1;padding:0 8px;position:relative;z-index:2}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;padding:inherit}.glitch:before{color:#0ff;animation:glitch-shift 2.4s infinite steps(2);opacity:.6}.glitch:after{color:#f0f;animation:glitch-shift 1.9s infinite steps(2) reverse;opacity:.5}@keyframes glitch-shift{0%,88%,to{transform:translate(0);clip-path:inset(0)}90%{transform:translate(-4px,2px);clip-path:inset(20% 0 40% 0)}93%{transform:translate(4px,-2px);clip-path:inset(60% 0 10% 0)}96%{transform:translate(-2px,-1px);clip-path:inset(40% 0 30% 0)}}.doom-sub{font-size:clamp(11px,2.8vmin,15px);letter-spacing:.25em;color:#8a7a6a;z-index:2}.stats-panel{width:min(90vw,480px);border:1px solid #5a4a3a;background:#00000080;padding:clamp(12px,3vmin,22px);display:flex;flex-direction:column;gap:clamp(8px,2vmin,14px);z-index:2}.stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:clamp(12px,3vmin,16px);opacity:0;animation:log-in .4s both}.stat-label{color:#8a7a6a;letter-spacing:.08em;text-align:left}.stat-value{font-family:var(--font-display);font-size:clamp(20px,5vmin,30px);color:var(--red);text-shadow:0 0 12px rgba(255,42,26,.6);white-space:nowrap}.doom-blame{font-size:clamp(11px,2.8vmin,15px);color:var(--amber);letter-spacing:.06em;z-index:2;animation:blink 2s infinite}.aborted-screen{justify-content:center;gap:clamp(14px,3.5vmin,26px);text-align:center;text-shadow:0 0 10px rgba(51,255,102,.5)}.aborted-icon{font-size:clamp(48px,14vmin,90px);color:var(--green);border:3px solid var(--green);border-radius:50%;width:1.8em;height:1.8em;display:flex;align-items:center;justify-content:center;animation:pop-in .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes pop-in{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.aborted-title{font-family:var(--font-display);font-size:clamp(28px,8vmin,54px);letter-spacing:.08em}.aborted-sub{font-size:clamp(12px,3vmin,16px);color:var(--green-dim);line-height:1.8;letter-spacing:.08em}.terminal-btn{font-family:var(--font-display);font-size:clamp(18px,4.5vmin,26px);letter-spacing:.08em;color:var(--green);background:transparent;border:2px solid var(--green);padding:clamp(10px,2.5vmin,16px) clamp(20px,6vmin,40px);z-index:2;transition:all .15s}.terminal-btn:hover,.terminal-btn:active{background:#33ff6626;box-shadow:0 0 20px #3f66}.terminal-btn.danger{color:var(--amber);border-color:var(--amber)}.terminal-btn.danger:hover,.terminal-btn.danger:active{background:#ffb83026;box-shadow:0 0 20px #ffb83066}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}@media(max-height:480px){.status-panel{display:none}.cover-assembly{width:clamp(160px,40vmin,220px);height:clamp(160px,40vmin,220px)}}
