:root{--bg: #0b0e12;--bg-panel: #13171d;--bg-panel-2: #1a2028;--border: #242c36;--text: #e8edf2;--text-dim: #8b98a8;--accent: #e8b64c;--ct: #438bd4;--t: #d9a83e;--good: #3ecf6e;--bad: #e5484d}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.game-app{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;padding:12px 16px;gap:12px}.game-header{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.game-title{font-size:26px;font-weight:800;letter-spacing:2px;color:var(--accent);text-shadow:0 0 18px rgba(232,182,76,.35)}.game-subtitle{font-size:12px;color:var(--text-dim)}.version-badge{font-size:11px;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:2px 10px;cursor:help;white-space:nowrap}.mode-badge{font-size:11px;font-weight:800;color:#0b0e12;background:var(--accent);border-radius:999px;padding:3px 10px;white-space:nowrap}.account-trigger{margin-left:auto;padding:6px 12px;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:999px;cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-trigger:hover{border-color:var(--accent)}.home-screen{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(340px,.88fr) minmax(520px,1.12fr);gap:18px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:radial-gradient(circle at 18% 24%,rgba(232,182,76,.14),transparent 32%),radial-gradient(circle at 84% 78%,rgba(67,139,212,.12),transparent 34%),#0e1217}.home-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:36px 36px}.home-hero,.home-modes{position:relative;z-index:1;min-width:0}.home-hero{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,72px);border-right:1px solid rgba(255,255,255,.06)}.home-kicker,.home-section-kicker{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:2.4px}.home-hero h1{margin:16px 0 18px;font-size:clamp(44px,5.2vw,76px);line-height:.98;letter-spacing:-3px}.home-hero h1 span{color:var(--accent)}.home-hero>p{max-width:540px;margin:0;color:var(--text-dim);font-size:14px;line-height:1.85}.home-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.home-meta span{padding:7px 10px;color:var(--text-dim);background:#ffffff09;border:1px solid var(--border);border-radius:7px;font-size:10px}.home-meta strong{color:var(--text);font-size:12px}.home-flow{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:36px;color:var(--text-dim);font-size:10px}.home-flow span{display:flex;align-items:center;gap:6px;white-space:nowrap}.home-flow b{color:var(--accent);font-variant-numeric:tabular-nums}.home-flow i{flex:1;height:1px;background:var(--border)}.home-modes{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(24px,4vw,54px)}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.home-section-head h2{margin:4px 0 0;font-size:24px}.home-section-head>span{color:var(--text-dim);font-size:10px}.home-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.home-mode-card{position:relative;min-height:176px;display:flex;flex-direction:column;align-items:stretch;padding:15px;overflow:hidden;color:var(--text);text-align:left;background:#1a2028d1;border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.home-mode-card:hover{transform:translateY(-4px);border-color:var(--accent);background:#202731}.home-mode-card.is-blitz:hover{border-color:var(--bad)}.home-mode-card.is-marathon:hover{border-color:var(--ct)}.home-mode-mark{position:absolute;top:-16px;right:-4px;color:#e8b64c14;font-size:92px;font-weight:900;line-height:1}.is-blitz .home-mode-mark{color:#e5484d14}.is-marathon .home-mode-mark{color:#438bd41a}.home-mode-copy{position:relative;z-index:1;display:flex;flex-direction:column;margin-top:auto}.home-mode-copy>span{color:var(--text-dim);font-size:9px}.home-mode-copy strong{margin-top:3px;font-size:22px}.home-mode-copy p{margin:5px 0 0;color:var(--text-dim);font-size:10px}.home-mode-arrow{position:absolute;right:14px;bottom:12px;color:var(--accent);font-size:20px;opacity:0;transform:translate(-5px);transition:opacity .18s ease,transform .18s ease}.home-mode-card:hover .home-mode-arrow{opacity:1;transform:translate(0)}.home-duel-wrap{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.home-section-head.is-duel{margin-bottom:9px}.home-duel-wrap .duel-panel{width:100%}.home-duel-wrap .controls-title{margin:0}.top-bar{flex:1;min-width:320px;display:flex;align-items:center;gap:18px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:8px 16px}.top-bar-event-name{font-size:12px;color:var(--text-dim)}.top-bar-map{font-size:14px;font-weight:600;display:flex;gap:10px;align-items:center}.top-bar-round{font-size:12px;color:var(--accent);background:#e8b64c1f;padding:1px 8px;border-radius:8px}.top-bar-phase{font-size:12px;color:var(--text-dim);border:1px solid var(--border);padding:1px 8px;border-radius:8px}.top-bar-score{display:flex;align-items:center;gap:12px;margin-left:auto}.score-team{display:flex;align-items:center;gap:8px}.score-team-name{font-size:15px;font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-team-value{font-size:22px;font-weight:800;min-width:24px;text-align:center;color:var(--accent)}.score-vs{color:var(--text-dim);font-size:13px}.top-bar-roundtime{display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--border);padding-left:14px}.roundtime-value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.roundtime-label{font-size:10px;color:var(--text-dim)}.game-main{flex:1;display:flex;gap:14px;min-height:0}.game-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;min-height:0}.game-side{width:350px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.map-view{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:12px}.map-view-canvas{position:relative;width:min(100%,calc(100vh - 150px));aspect-ratio:1;background:#0e141b;border-radius:8px;overflow:visible}.map-view-radar{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:8px;overflow:hidden;transition:opacity .18s ease}.map-view-radar-ghost{opacity:.55;filter:saturate(.7) brightness(.82)}.map-view-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px;letter-spacing:.5px}.map-tracers{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.map-view-missing{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--bad)}.map-player{position:absolute;transform:translate(-50%,-50%);z-index:2}.map-player-dot{position:relative;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--team-color);box-shadow:0 0 0 2px #ffffffbf,0 0 10px var(--team-glow);transition:box-shadow .15s}.map-player-slot{font-size:11px;font-weight:800;color:#0b0e12}.map-player.is-selectable .map-player-dot{cursor:pointer;animation:pulse-select 1.2s infinite}.map-player.is-hit .map-player-dot{background:#e5484d;box-shadow:0 0 0 3px #fff,0 0 14px 4px #e5484df2;animation:hit-flash .32s ease-out}@keyframes hit-flash{0%{filter:brightness(1.9) saturate(1.6);transform:scale(1.25)}60%{filter:brightness(1.3);transform:scale(1.05)}to{filter:brightness(1);transform:scale(1)}}@keyframes pulse-select{0%,to{box-shadow:0 0 0 2px #ffffffd9,0 0 10px var(--team-glow)}50%{box-shadow:0 0 0 5px #ffffffe6,0 0 18px var(--team-glow)}}.map-player.is-killer .map-player-dot{box-shadow:0 0 0 3px #fff,0 0 0 7px #3ecf6ecc,0 0 24px var(--team-glow)}.map-player.is-victim .map-player-dot{background:#555;box-shadow:0 0 0 3px #fff,0 0 0 7px #e5484dcc}.map-player.is-player-choice .map-player-dot{box-shadow:0 0 0 3px #fff,0 0 0 7px var(--good),0 0 24px var(--team-glow)}.map-player.is-ai-choice .map-player-dot{box-shadow:0 0 0 3px #fff,0 0 0 7px #b07be0,0 0 24px var(--team-glow)}.map-player-arrow{position:absolute;top:50%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;pointer-events:none;z-index:1}.map-player-arrow-tip{position:absolute;top:-3px;left:50%;width:0;height:0;margin-left:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid var(--team-color);opacity:.9}.map-player-name{position:absolute;top:26px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;white-space:nowrap;color:#fff;text-shadow:0 1px 3px #000,0 0 6px #000;pointer-events:none;line-height:1.2}.map-player-hp{position:absolute;top:-6px;left:50%;transform:translate(-50%);width:30px;height:5px;background:#000000a6;border-radius:2px;overflow:hidden}.map-player-hp-fill{height:100%;background:var(--good)}.map-player.is-dead{opacity:.55}.map-player.is-dead .map-player-dot{background:#333;box-shadow:0 0 0 2px #ffffff59}.map-player.is-dead .map-player-name{display:none}.map-player.is-high .map-player-dot{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}.map-player.is-low .map-player-dot{opacity:.75}.map-player-layer{position:absolute;top:-9px;left:-7px;font-size:9px;font-weight:800;color:#9fb3c8;text-shadow:0 0 3px #000,0 0 6px #000;pointer-events:none}.map-player-dead{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.map-player-dead-icon{width:14px;height:14px;opacity:.95;filter:drop-shadow(0 0 3px rgba(0,0,0,.7))}.map-player-bomb{position:absolute;top:-8px;right:-8px}.map-player-bomb-icon{width:15px;height:15px;padding:2px;border-radius:50%;background:#e5484deb;box-shadow:0 0 6px #e5484dcc}.map-bomb{position:absolute;transform:translate(-50%,-50%);z-index:1;filter:drop-shadow(0 0 6px rgba(229,72,77,.9));animation:bomb-pulse 1s infinite}.map-bomb-icon{width:20px;height:20px;padding:3px;border-radius:50%;background:#e5484deb;box-shadow:0 0 8px #e5484dbf}@keyframes bomb-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}}.game-center-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-dim);z-index:10}.game-error-box{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--bad);background:var(--bg-panel);border:1px solid var(--border);padding:20px 26px;border-radius:12px}.question-progress{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;color:var(--text-dim);padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.question-progress-dots{display:flex;gap:5px;flex:1;justify-content:flex-end}.progress-dot{width:10px;height:10px;border-radius:50%;background:var(--bg-panel-2);border:1px solid var(--border)}.progress-dot.is-done{background:var(--accent);border-color:var(--accent)}.side-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:14px}.side-panel-muted{opacity:.95}.side-panel-title{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:6px}.side-panel-text{font-size:13px;color:var(--text-dim)}.map-timer-wrap{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;pointer-events:none}.map-timer{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--good);min-width:96px;text-align:center;padding:4px 18px;border-radius:12px;background:#000000b8;border:1px solid var(--border);box-shadow:0 2px 12px #0006}.map-timer.is-urgent{color:var(--bad);border-color:var(--bad);animation:pulse-timer .8s infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.5}}.player-options{width:100%}.player-options-title{font-size:15px;font-weight:800;text-align:center;margin-bottom:12px;color:var(--accent)}.player-options-teams{display:flex;flex-direction:column;gap:10px}.player-options-team{flex:1}.player-options-team-label{font-size:11px;font-weight:700;margin-bottom:6px}.player-options-team-label.is-ct-label{color:var(--ct)}.player-options-team-label.is-t-label{color:var(--t)}.player-options-grid{display:flex;flex-direction:column;gap:6px}.player-option{display:flex;align-items:center;gap:8px;padding:7px 9px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-size:13px;transition:border-color .15s,background .15s}.player-option:hover:not(:disabled){border-color:var(--accent);background:#222a35}.player-option.is-ct{border-left:3px solid var(--ct)}.player-option.is-t{border-left:3px solid var(--t)}.player-option-side{font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;color:#0b0e12}.player-option.is-ct .player-option-side{background:var(--ct)}.player-option.is-t .player-option-side{background:var(--t)}.player-option-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-option-slot{font-size:11px;color:var(--text-dim)}.player-option-hp{display:flex;align-items:center;gap:6px;width:70px}.hp-bar{height:6px;border-radius:3px;background:var(--good)}.hp-mid{background:var(--accent)}.hp-low{background:var(--bad)}.hp-text{font-size:11px;font-variant-numeric:tabular-nums;min-width:18px}.player-option-ammo{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;padding:2px 6px;border-radius:6px;color:#ffd97a;background:#0b0e12b3;border:1px solid rgba(255,217,122,.3);white-space:nowrap}.player-option-ammo-icon{font-size:8px;color:#ffd97a}.player-option-ammo.is-empty{color:#ff7a7a;border-color:#ff7a7a66}.player-option-ammo.is-empty .player-option-ammo-icon{color:#ff7a7a}.reveal-panel{width:100%;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:14px}.reveal-panel-title{font-size:20px;font-weight:800;text-align:center;margin-bottom:12px;color:var(--accent)}.reveal-kill-relation{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;margin-bottom:10px;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;font-weight:700}.kill-actor{color:var(--good)}.kill-arrow{color:var(--text-dim)}.kill-victim{color:var(--bad)}.kill-weapon{font-size:12px;color:var(--text-dim);font-weight:400}.kill-weapon-icon{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 0 3px rgba(0,0,0,.6))}.reveal-results{display:flex;flex-direction:column;gap:8px}.reveal-line{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-panel-2);border-radius:8px}.reveal-line.is-highlight{border:1px solid var(--accent)}.reveal-label{font-size:12px;color:var(--text-dim);width:70px}.reveal-name{flex:1;font-weight:700}.reveal-verdict{font-size:12px;font-weight:700}.reveal-verdict.is-correct,.verdict-badge.is-correct{color:var(--good)}.reveal-verdict.is-wrong,.verdict-badge.is-wrong{color:var(--bad)}.reveal-verdict.is-na,.verdict-badge.is-na{color:var(--text-dim)}.reveal-kill{margin-top:8px;font-size:13px;color:var(--text-dim);text-align:center}.reveal-verdicts{display:flex;gap:12px;margin-top:16px}.verdict-badge{flex:1;text-align:center;padding:8px;border-radius:8px;font-weight:700;font-size:14px;background:var(--bg-panel-2);border:1px solid var(--border)}.next-question-btn{width:100%;margin-top:16px;padding:12px;font-size:16px;font-weight:700;background:var(--accent);color:#0b0e12;border:none;border-radius:8px;cursor:pointer;transition:filter .15s}.next-question-btn:hover{filter:brightness(1.1)}.primary-btn{padding:10px 20px;font-size:14px;font-weight:700;background:var(--accent);color:#0b0e12;border:none;border-radius:8px;cursor:pointer}.summary-panel{width:100%;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center}.summary-title{font-size:22px;font-weight:800;color:var(--accent);margin-bottom:16px}.summary-score{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.summary-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-panel-2);border-radius:8px}.summary-label{font-size:13px;color:var(--text-dim)}.summary-value{font-size:18px;font-weight:800}.summary-rates{display:flex;gap:10px;margin-bottom:14px}.summary-rate{flex:1;background:var(--bg-panel-2);border-radius:8px;padding:10px 6px}.summary-rate-value{font-size:20px;font-weight:800;color:var(--accent)}.summary-rate-label{font-size:11px;color:var(--text-dim);margin-top:2px}.summary-verdict{font-size:16px;font-weight:800;padding:10px;border-radius:8px;margin-bottom:14px;background:var(--bg-panel-2);border:1px solid var(--border)}.summary-verdict.is-win{color:var(--good);border-color:var(--good)}.summary-verdict.is-lose{color:var(--bad);border-color:var(--bad)}.summary-actions{display:grid;grid-template-columns:.9fr 1.1fr;gap:8px;margin-top:16px}.summary-actions .next-question-btn{margin-top:0}.stats-panel,.controls-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:12px}.stats-title,.controls-title{font-size:12px;font-weight:700;color:var(--text-dim);margin-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-cell{background:var(--bg-panel-2);border-radius:8px;padding:8px 4px;text-align:center}.stat-value{font-size:18px;font-weight:800;color:var(--accent)}.stat-label{font-size:10px;color:var(--text-dim);margin-top:2px}.speed-controls{display:flex;gap:8px;margin-bottom:10px}.summary-mode{display:inline-block;vertical-align:middle;padding:2px 8px;font-size:10px;color:#0b0e12;background:var(--accent);border-radius:999px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:18px;background:#030508d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.account-modal{position:relative;width:min(420px,100%);padding:24px;color:var(--text);background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 70px #0000008c}.account-modal h2{margin:0 0 18px;color:var(--accent)}.modal-close{position:absolute;top:10px;right:12px;border:0;color:var(--text-dim);background:transparent;font-size:26px;cursor:pointer}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.account-tabs button,.secondary-btn{padding:9px 12px;color:var(--text-dim);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;cursor:pointer}.account-tabs button.is-active{color:var(--accent);border-color:var(--accent)}.account-form{display:flex;flex-direction:column;gap:12px}.account-form label{display:flex;flex-direction:column;gap:6px;color:var(--text-dim);font-size:12px}.account-form input,.duel-join input{width:100%;padding:10px 12px;color:var(--text);background:#0b0e12;border:1px solid var(--border);border-radius:8px;outline:none}.account-form input:focus,.duel-join input:focus{border-color:var(--accent)}.account-hint,.account-notice,.form-error{color:var(--text-dim);font-size:12px;line-height:1.6}.account-notice{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel-2)}.form-error{color:var(--bad)}.account-profile{display:flex;flex-direction:column;align-items:center;gap:14px}.account-avatar{display:grid;place-items:center;width:64px;height:64px;color:#0b0e12;background:var(--accent);border-radius:50%;font-size:26px;font-weight:900}.account-stats{display:flex;gap:16px;color:var(--text-dim);font-size:12px}.duel-panel{position:relative;overflow:hidden;padding:14px;background:radial-gradient(circle at 90% 0,rgba(217,168,62,.12),transparent 36%),linear-gradient(145deg,#438bd41a,#0e1218bf);border:1px solid var(--border);border-radius:12px}.duel-panel.is-locked{opacity:.72}.duel-hint{color:var(--text-dim);font-size:12px;line-height:1.5}.duel-match-btn{display:grid;grid-template-columns:1fr auto;width:100%;padding:14px 16px;color:#0b0e12;text-align:left;background:linear-gradient(120deg,#e2b64e,var(--accent));border:0;border-radius:9px;box-shadow:0 8px 24px #d9a83e24;cursor:pointer}.duel-match-btn span{font-size:15px;font-weight:900}.duel-match-btn small{grid-column:1;margin-top:2px;opacity:.7}.duel-match-btn b{grid-column:2;grid-row:1 / 3;align-self:center;font-size:22px}.duel-match-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.duel-divider{display:flex;align-items:center;gap:10px;margin:11px 0;color:var(--text-dim);font-size:10px}.duel-divider:before,.duel-divider:after{content:"";flex:1;height:1px;background:var(--border)}.duel-private-actions{display:grid;grid-template-columns:minmax(105px,.55fr) minmax(220px,1.45fr);gap:8px}.duel-create-btn,.duel-join button{padding:9px 12px;color:#0b0e12;background:var(--accent);border:0;border-radius:8px;font-weight:800;cursor:pointer}.duel-create-btn{width:100%;margin:0}.duel-join{display:grid;grid-template-columns:1fr auto;gap:6px}.duel-room-head,.duel-scoreboard{display:flex;align-items:center;gap:8px}.duel-room-head>span{color:var(--text);font-size:11px;font-weight:800;letter-spacing:.08em}.duel-code{display:flex;align-items:center;gap:7px;padding:5px 8px;color:var(--accent);background:#d9a83e14;border:1px solid rgba(217,168,62,.25);border-radius:6px;font-weight:900;letter-spacing:2px;cursor:pointer}.duel-code small{color:var(--text-dim);font-size:9px;letter-spacing:0}.duel-room-head .duel-leave-btn{margin-left:auto;color:var(--text-dim);background:transparent;border:0;cursor:pointer}.duel-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-top:12px}.duel-player-card{min-width:0;padding:9px;background:#ffffff09;border:1px solid rgba(255,255,255,.07);border-radius:8px}.duel-player-row{display:flex;align-items:center;gap:5px}.duel-player-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duel-player-row span{padding:1px 4px;color:var(--accent);background:#d9a83e1f;border-radius:3px;font-size:8px}.duel-player-row b{margin-left:auto;color:var(--accent);font-size:18px}.duel-player-card small{display:block;margin-top:5px;color:var(--text-dim);font-size:9px;text-align:right}.duel-player-card.is-finished{border-color:#d9a83e40}.duel-player-progress{overflow:hidden;height:4px;margin-top:7px;background:#ffffff14;border-radius:9px}.duel-player-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--team-blue),var(--accent));border-radius:inherit;transition:width .35s ease}.duel-versus{color:var(--text-dim);font-size:10px;font-weight:900}.duel-found-banner{margin-top:10px;padding:7px;color:var(--accent);text-align:center;background:#d9a83e14;border-radius:6px;font-size:11px;font-weight:800;animation:duel-found .6s ease both}@keyframes duel-found{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.duel-waiting{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--text-dim);font-size:11px}.duel-pulse{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 #d9a83e73;animation:duel-pulse 1.5s infinite}@keyframes duel-pulse{70%{box-shadow:0 0 0 7px #d9a83e00}to{box-shadow:0 0 #d9a83e00}}.duel-matching{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px}.duel-matching .form-error{grid-column:1 / -1}.duel-radar{position:relative;width:46px;height:46px;border:1px solid rgba(217,168,62,.35);border-radius:50%}.duel-radar:before,.duel-radar:after{content:"";position:absolute;background:#d9a83e2e}.duel-radar:before{left:50%;top:4px;bottom:4px;width:1px}.duel-radar:after{top:50%;left:4px;right:4px;height:1px}.duel-radar i{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(217,168,62,.18);border-radius:50%}.duel-radar i:nth-child(2){top:15px;right:15px;bottom:15px;left:15px}.duel-radar b{position:absolute;left:50%;top:50%;width:47%;height:2px;background:linear-gradient(90deg,var(--accent),transparent);transform-origin:left center;animation:duel-radar 1.4s linear infinite}@keyframes duel-radar{to{transform:rotate(360deg)}}.duel-cancel-btn{padding:7px 9px;color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.duel-result{margin-top:10px;padding:8px;color:var(--accent);text-align:center;background:#d9a83e12;border-radius:6px;font-weight:800}.telemetry-consent{position:fixed;left:50%;bottom:14px;z-index:90;display:flex;align-items:center;gap:18px;width:min(760px,calc(100% - 24px));padding:14px 16px;transform:translate(-50%);background:#13171df7;border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 50px #0000008c}.telemetry-consent p{margin:4px 0 0;color:var(--text-dim);font-size:11px;line-height:1.5}.telemetry-actions{display:flex;gap:8px;margin-left:auto;white-space:nowrap}.telemetry-actions>button:not(.primary-btn){color:var(--text-dim);background:transparent;border:1px solid var(--border);border-radius:8px;cursor:pointer}.account-privacy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.account-privacy strong{font-size:12px}.account-privacy p{margin:3px 0 0;color:var(--text-dim);font-size:10px}.account-privacy-actions{display:flex;gap:5px}.account-privacy-actions button{padding:6px 9px;color:var(--text-dim);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:7px;cursor:pointer}.account-privacy-actions button.is-active{color:var(--accent);border-color:var(--accent)}.speed-btn{flex:1;padding:8px;font-weight:700;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer}.speed-btn.is-active{background:var(--accent);color:#0b0e12;border-color:var(--accent)}.restart-btn{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer}.restart-btn:hover{border-color:var(--accent);color:var(--accent)}.profile-stats{margin-top:16px;border-top:1px dashed var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}.profile-stats-title{font-size:13px;font-weight:700;color:var(--text)}.profile-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim)}.profile-row span:last-child{color:var(--text);font-weight:600}.profile-recent-toggle{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 0}.profile-recent{display:flex;flex-direction:column;gap:4px}.profile-recent-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text-dim)}.profile-recent-date{font-variant-numeric:tabular-nums}.profile-empty{font-size:11px;color:var(--text-dim)}.profile-reset-btn{align-self:flex-start;background:none;border:none;color:var(--danger, #d9534f);font-size:11px;cursor:pointer;padding:2px 0;opacity:.8}.profile-reset-btn:hover{opacity:1;text-decoration:underline}@media (max-width: 900px){.game-main{flex-direction:column}.game-side{width:100%;flex-direction:row;flex-wrap:wrap}.home-screen{grid-template-columns:1fr;overflow:visible}.home-hero{min-height:440px;border-right:0;border-bottom:1px solid var(--border)}}@media (max-width: 640px){.game-app{height:auto;min-height:100dvh;padding:8px 10px;gap:8px}.game-header{gap:8px}.game-title{font-size:19px;letter-spacing:1px}.game-subtitle{display:none}.version-badge{font-size:10px;padding:2px 8px}.account-trigger{margin-left:0}.top-bar{gap:10px;padding:7px 10px;flex-wrap:wrap}.top-bar-event-name{font-size:11px}.top-bar-map{font-size:13px;gap:8px;flex-wrap:wrap}.top-bar-roundtime{margin-left:auto}.game-main{gap:8px}.game-stage{border-radius:8px}.map-view{padding:4px}.map-view-canvas{width:min(100%,48vh)}.map-timer{font-size:26px;min-width:84px;padding:3px 14px}.map-player-dot{width:16px;height:16px}.map-player-slot{font-size:8px}.map-player-arrow{width:19px;height:19px;margin:-9.5px 0 0 -9.5px}.map-player-arrow-tip{top:-2px;margin-left:-3px;border-left:3px solid transparent;border-right:3px solid transparent;border-bottom:6px solid var(--team-color)}.map-player-name{top:18px;font-size:9px}.map-player-hp{top:-5px;width:22px;height:4px}.map-player-bomb-icon{width:12px;height:12px;padding:1px}.map-player-dead-icon{width:12px;height:12px}.map-player-layer{top:-7px;left:-6px;font-size:8px}.game-side{gap:8px}.player-options-title{font-size:14px;margin-bottom:10px}.player-option{padding:11px 10px;min-height:46px;font-size:14px;gap:7px}.player-option-side{font-size:10px;padding:3px 7px}.player-option-hp{width:62px}.controls-panel,.reveal-panel,.summary-panel{padding:10px}.speed-btn,.restart-btn{padding:11px 8px;font-size:13px}.next-question-btn{padding:12px 10px;font-size:14px}.home-screen{border-radius:10px}.home-hero,.home-modes{padding:24px 16px}.home-hero{min-height:430px}.home-hero h1{font-size:48px}.home-mode-grid{grid-template-columns:1fr}.home-mode-card{min-height:124px}.duel-private-actions{grid-template-columns:1fr}.duel-matching{grid-template-columns:auto 1fr}.duel-matching .duel-cancel-btn{grid-column:1 / -1;width:100%}.duel-scoreboard{gap:5px}.duel-player-card{padding:7px}.home-flow{gap:6px}.home-flow i{display:none}.telemetry-consent{align-items:stretch;flex-direction:column;gap:10px}.telemetry-actions{margin-left:0}.telemetry-actions button{flex:1;padding:10px}}
