@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&display=swap";:root{--bg:#0a0e0f;--bg-lighter:#111618;--bg-card:#0d1214;--green:#00ff41;--green-dim:#00aa2a;--green-glow:#00ff4126;--amber:#ffb000;--amber-dim:#aa7500;--amber-glow:#ffb00026;--red:#ff2a2a;--red-dim:#aa1a1a;--red-glow:#ff2a2a26;--text:#7a8a7a;--text-bright:#c0d0c0;--text-dim:#3a4a3a;--border:#1a2a1a;--border-bright:#2a3a2a;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:14px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0;overflow-x:hidden}body:after{content:"";pointer-events:none;z-index:1000;background:repeating-linear-gradient(#0000,#0000 2px,#00000014 2px 4px);position:fixed;inset:0}#root{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;display:flex}.game-container{flex-direction:column;min-height:100vh;padding:24px 20px;display:flex;position:relative}.game-header{text-align:center;border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:16px}.game-title{color:var(--green);letter-spacing:12px;text-shadow:0 0 20px var(--green-glow), 0 0 40px var(--green-glow);margin:0;font-size:36px;font-weight:700}.title-blink{animation:1s step-end infinite cursor-blink}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.game-subtitle{color:var(--text-dim);letter-spacing:4px;text-transform:uppercase;margin-top:4px;font-size:10px}.header-row{justify-content:center;align-items:center;display:flex}.header-spacer{width:36px}.briefing-btn{border:1px solid var(--border-bright);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s;display:flex}.briefing-btn:hover{border-color:var(--green-dim);color:var(--green);box-shadow:0 0 10px var(--green-glow)}.briefing-btn-pulse{border-color:var(--green-dim);color:var(--green);animation:2s ease-in-out infinite btn-pulse}@keyframes btn-pulse{0%,to{box-shadow:0 0 4px var(--green-glow)}50%{box-shadow:0 0 14px var(--green-glow), 0 0 24px #00ff4114}}.briefing-overlay{z-index:500;background:#000000d9;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.briefing-panel{background:var(--bg);border:1px solid var(--green-dim);width:100%;max-width:420px;box-shadow:0 0 30px var(--green-glow), 0 0 60px #00ff410d;border-radius:2px}.briefing-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.briefing-title{letter-spacing:4px;color:var(--green);text-shadow:0 0 8px var(--green-glow);font-size:11px}.briefing-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 4px;font-family:inherit;font-size:20px;transition:color .2s}.briefing-close:hover{color:var(--text-bright)}.briefing-body{padding:16px}.briefing-section{margin-bottom:16px}.briefing-section:last-child{margin-bottom:0}.briefing-label{letter-spacing:3px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:4px;font-size:9px}.briefing-body p{color:var(--text);margin:0;font-size:12px;line-height:1.6}.briefing-moves{flex-direction:column;gap:8px;display:flex}.briefing-move{align-items:center;gap:10px;font-size:12px;display:flex}.briefing-icon{text-align:center;width:24px;font-size:14px}.briefing-icon.strike{color:var(--amber)}.briefing-icon.guard{color:var(--green)}.briefing-icon.probe{color:#6af}.briefing-move-name{color:var(--text-bright);letter-spacing:2px;width:72px;font-size:11px;font-weight:700}.briefing-beats{color:var(--text-dim);font-size:11px}.briefing-rules{color:var(--text);margin:0;padding-left:16px;font-size:12px;line-height:1.8}.briefing-rules li::marker{color:var(--green-dim)}.briefing-record-row{justify-content:space-between;align-items:center;display:flex}.briefing-record-stats{letter-spacing:2px;gap:8px;font-size:14px;font-weight:700;display:flex}.record-bar{letter-spacing:2px;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:11px;display:flex}.record-label{color:var(--text-dim);letter-spacing:3px;font-size:9px}.record-wins{color:var(--green);font-weight:700}.record-sep{color:var(--text-dim)}.record-losses{color:var(--red);font-weight:700}.scoreboard{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;margin-bottom:24px;padding:16px}.round-indicator{text-align:center;margin-bottom:12px}.round-indicator .label{letter-spacing:3px;color:var(--text-dim);font-size:10px}.round-number{color:var(--text-bright);font-size:20px;font-weight:700;display:block}.scores{justify-content:center;align-items:center;gap:24px;margin-bottom:16px;display:flex}.score-block{text-align:center}.score-label{letter-spacing:3px;color:var(--text-dim);margin-bottom:4px;font-size:9px;display:block}.human-score .score-value{color:var(--green);text-shadow:0 0 10px var(--green-glow);font-size:32px;font-weight:700}.ai-score .score-value{color:var(--red);text-shadow:0 0 10px var(--red-glow);font-size:32px;font-weight:700}.score-divider{color:var(--text-dim);font-size:24px}.streaks-container{border-top:1px solid var(--border);justify-content:space-around;padding-top:12px;display:flex}.player-streaks{text-align:center}.streaks-label{letter-spacing:2px;color:var(--text-dim);margin-bottom:6px;font-size:9px;display:block}.streak-row{gap:12px;display:flex}.streak{border:1px solid var(--border);border-radius:2px;padding:2px 8px;font-size:11px}.streak-safe{color:var(--text);border-color:var(--border)}.streak-warn{color:var(--amber);border-color:var(--amber-dim);background:var(--amber-glow);text-shadow:0 0 5px var(--amber-glow)}.streak-locked{color:var(--red);border-color:var(--red-dim);background:var(--red-glow);text-shadow:0 0 5px var(--red-glow);animation:1.5s ease-in-out infinite pulse-red}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.6}}.game-main{flex-direction:column;flex:1;justify-content:center;display:flex}.move-selector{text-align:center}.selector-header{letter-spacing:4px;color:var(--text-dim);margin-bottom:20px;font-size:11px}.move-buttons{justify-content:center;gap:12px;display:flex}.move-btn{border:1px solid var(--border-bright);cursor:pointer;background:0 0;border-radius:2px;flex-direction:column;flex:1;align-items:center;gap:8px;max-width:160px;padding:20px 12px;font-family:inherit;transition:all .2s;display:flex;position:relative}.move-btn:hover:not(:disabled){border-color:var(--green);box-shadow:0 0 15px var(--green-glow), inset 0 0 15px var(--green-glow)}.move-btn:active:not(:disabled){transform:scale(.97)}.move-btn:disabled{opacity:.3;cursor:not-allowed}.move-btn.locked{border-color:var(--red-dim);opacity:.4}.move-icon{font-size:28px;line-height:1}.move-btn.strike .move-icon{color:var(--amber)}.move-btn.guard .move-icon{color:var(--green)}.move-btn.probe .move-icon{color:#6af}.move-name{color:var(--text-bright);letter-spacing:2px;font-size:13px;font-weight:700}.move-desc{color:var(--text-dim);letter-spacing:1px;font-size:9px}.lock-badge{color:var(--red);letter-spacing:1px;border:1px solid var(--red-dim);border-radius:1px;padding:1px 4px;font-size:8px;position:absolute;top:6px;right:6px}.reveal-phase{text-align:center;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.intercept-header{letter-spacing:4px;color:var(--amber);text-shadow:0 0 10px var(--amber-glow);justify-content:center;align-items:center;gap:10px;margin-bottom:32px;font-size:12px;animation:.3s 3 intercept-flash;display:flex}@keyframes intercept-flash{0%,to{opacity:1}50%{opacity:.3}}.blink-dot{background:var(--amber);width:8px;height:8px;box-shadow:0 0 8px var(--amber);border-radius:50%;animation:.6s ease-in-out infinite dot-pulse}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.reveal-cards{justify-content:center;align-items:center;gap:20px;display:flex}.reveal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;flex:1;max-width:200px;padding:24px 16px}.card-label{letter-spacing:3px;color:var(--text-dim);margin-bottom:12px;font-size:9px}.card-move{letter-spacing:3px;min-height:30px;font-size:20px;font-weight:700}.card-move.scrambling{color:var(--amber);text-shadow:0 0 8px var(--amber-glow);font-variant-numeric:tabular-nums}.card-move.resolved{animation:.3s decode}.human-card .card-move.resolved{color:var(--green);text-shadow:0 0 10px var(--green-glow)}.ai-card .card-move.resolved{color:var(--red);text-shadow:0 0 10px var(--red-glow)}@keyframes decode{0%{opacity:.5;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.reveal-vs{color:var(--text-dim);letter-spacing:2px;font-size:14px}.round-result{letter-spacing:4px;margin-top:24px;font-size:14px;font-weight:700;animation:.4s result-appear}@keyframes result-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-win{color:var(--green);text-shadow:0 0 15px var(--green-glow)}.result-lose{color:var(--red);text-shadow:0 0 15px var(--red-glow)}.result-draw{color:var(--text)}.resolve-phase{text-align:center}.resolve-result{letter-spacing:4px;margin-bottom:32px;font-size:16px;font-weight:700}.continue-btn,.restart-btn{border:1px solid var(--green-dim);color:var(--green);letter-spacing:3px;cursor:pointer;background:0 0;border-radius:2px;padding:12px 32px;font-family:inherit;font-size:13px;transition:all .2s}.continue-btn:hover,.restart-btn:hover{background:var(--green-glow);box-shadow:0 0 20px var(--green-glow);border-color:var(--green)}.game-over{text-align:center;flex-direction:column;justify-content:center;min-height:300px;display:flex}.game-over.flickering{animation:.15s ease-in-out infinite screen-flicker}@keyframes screen-flicker{0%{opacity:1}25%{opacity:.1}50%{opacity:.8}75%{opacity:.2}to{opacity:1}}.signal-loss{position:relative}.loss-text{color:var(--red);letter-spacing:8px;text-shadow:0 0 30px var(--red-glow), 0 0 60px var(--red-glow);font-size:28px;font-weight:700}.static-lines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 1px,#ff2a2a08 1px 2px);animation:.1s linear infinite static-scroll;position:absolute;inset:-20px}@keyframes static-scroll{0%{transform:translateY(0)}to{transform:translateY(4px)}}.game-over-content{animation:.8s fadeIn}.verdict{letter-spacing:6px;margin-bottom:24px;font-size:22px;font-weight:700}.verdict-win{color:var(--green);text-shadow:0 0 20px var(--green-glow), 0 0 40px var(--green-glow)}.verdict-lose{color:var(--red);text-shadow:0 0 20px var(--red-glow), 0 0 40px var(--red-glow)}.final-score{justify-content:center;align-items:center;gap:16px;margin-bottom:32px;display:flex}.final-label{letter-spacing:2px;color:var(--text-dim);font-size:9px}.final-value{color:var(--text-bright);font-size:36px;font-weight:700}.final-divider{color:var(--text-dim)}.round-log{text-align:left;max-width:320px;margin:0 auto 32px}.log-header{letter-spacing:3px;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:9px}.log-entry{border-bottom:1px solid var(--border);justify-content:space-between;padding:3px 0;font-size:12px;display:flex}.log-round{color:var(--text-dim);width:36px}.log-moves{color:var(--text);flex:1}.log-win .log-result{color:var(--green)}.log-lose .log-result{color:var(--red)}.log-draw .log-result{color:var(--text-dim)}.record-summary{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:24px;padding:12px 0}.record-summary-header{letter-spacing:3px;color:var(--text-dim);margin-bottom:8px;font-size:9px}.record-summary-stats{letter-spacing:2px;justify-content:center;align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.record-stat-wins{color:var(--green);text-shadow:0 0 10px var(--green-glow)}.record-stat-sep{color:var(--text-dim);font-size:14px}.record-stat-losses{color:var(--red);text-shadow:0 0 10px var(--red-glow)}.reset-record-btn{border:1px solid var(--border);color:var(--text-dim);letter-spacing:2px;cursor:pointer;background:0 0;border-radius:2px;margin-top:12px;padding:6px 16px;font-family:inherit;font-size:10px;transition:all .2s}.reset-record-btn:hover{border-color:var(--red-dim);color:var(--red);background:var(--red-glow)}.game-footer{text-align:center;border-top:1px solid var(--border);justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:16px 0;display:flex}.footer-line{letter-spacing:3px;color:var(--text-dim);font-size:9px}.footer-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 6px var(--green);border-radius:50%;animation:2s ease-in-out infinite dot-pulse}@media (width<=480px){.game-container{padding:16px 12px}.game-title{letter-spacing:8px;font-size:28px}.move-buttons{gap:8px}.move-btn{padding:16px 8px}.move-icon{font-size:22px}.reveal-cards{gap:12px}.reveal-card{padding:16px 8px}.card-move{font-size:16px}.verdict{letter-spacing:4px;font-size:16px}}
