#scope-overlay{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden}#scope-overlay .scope-hole{position:absolute;left:50%;top:50%;width:75vmin;height:75vmin;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 0 200vmax #000;border:3px solid #0b0c0d}.scope-h,.scope-v{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#080808}.scope-h{height:1px;width:75vmin}.scope-v{width:1px;height:75vmin}.scope-dot{position:absolute;left:50%;top:50%;width:3px;height:3px;background:#111;border-radius:50%;transform:translate(-50%,-50%)}#scope-overlay.rifle-scope .scope-hole{width:60vmin;height:60vmin;box-shadow:0 0 0 200vmax #050708b8;border:12px solid #152027e8}#scope-overlay.rifle-scope .scope-dot{background:#df3030;width:5px;height:5px}#blind-indicator{position:absolute;left:50%;top:24%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:12px;min-width:285px;padding:11px 14px;background:#17242ce8;border:1px solid #fff7;border-radius:5px;box-shadow:0 5px 20px #0004}#blind-indicator:after{content:'';position:absolute;bottom:0;left:0;height:3px;width:var(--blind-progress);background:#f3e2a7}#blind-indicator img{width:30px;height:30px;filter:brightness(0) invert(1)}#blind-indicator strong{display:block;color:#fff;font-size:14px;letter-spacing:1px}#blind-indicator span{display:block;font-size:9px;color:#c4d0d6;margin-top:3px}#blind-indicator b{margin-left:auto;font-size:19px;color:#f2dc98;font-variant-numeric:tabular-nums}
#nuke-radar{position:absolute;left:20px;top:83px;width:276px;z-index:5;background:#111d25e8;border:1px solid #a9bdca26;border-radius:5px;padding:6px;box-shadow:0 4px 18px #0004}.radar-title{display:flex;align-items:center;gap:10px;color:#ebd79b;font-size:11px;letter-spacing:2px;padding:0 3px 5px}.radar-title span{font-size:8px;color:#93a8b4;letter-spacing:1px}.radar-title button{margin-left:auto;padding:0 4px;background:none;border:0;font-size:16px}.radar-floors{display:flex;gap:5px}.radar-floor{width:50%;position:relative}.radar-floor>span{display:block;font-size:8px;letter-spacing:1px;text-align:center;color:#b5c9d5;background:#ffffff08;padding:4px}.radar-floor canvas{width:100%;height:auto;cursor:pointer}.ct-roster{top:285px;transform:none}.combat-panel{left:auto;right:20px;top:190px;width:235px}#nuke-radar.expanded{width:430px}#fps-counter{position:absolute;right:140px;top:25px;z-index:6;font-size:11px;font-variant-numeric:tabular-nums;color:#b4dcab;background:#101b24c9;border-radius:3px;padding:5px 9px}.tl-detail{min-height:112px}.transport.replay-transport{height:242px}body #viewport{height:calc(100dvh - 242px)}.tl-event{width:36px;height:36px;padding:3px;top:9px;border-radius:5px}.tl-event svg{width:29px;height:29px}.tl-event.utility,.tl-event.bomb{top:62px;width:32px;height:32px;font-size:21px}.tl-event img{width:26px;height:26px}.tl-event.freeze{top:53px;height:43px}.tl-event.clutch{font-size:12px;width:39px}.tl-event.stacked{margin-top:16px}.tl-event.utility.stacked,.tl-event.bomb.stacked{margin-top:14px}.tl-lane-label{top:2px;font-size:8px}.tl-utility-label{top:52px}.tl-tooltip{bottom:232px}.tl-footer{font-size:11px}.tl-round{min-height:37px}.tl-round span{font-size:12px}.tl-round small{font-size:11px}
@media(max-width:1050px){#nuke-radar{left:8px;width:240px;top:82px}.ct-roster{top:264px}.combat-panel{right:8px;top:190px;width:180px}#fps-counter{right:110px;font-size:10px}.transport.replay-transport{height:236px}body #viewport{height:calc(100dvh - 236px)}.tl-detail{min-height:106px}}@media(max-height:850px){#nuke-radar{width:218px;top:76px}.ct-roster{top:241px}.player{padding-top:6px;padding-bottom:6px}.team-heading{padding-top:6px;padding-bottom:6px}.roster .player-weapon{font-size:8px}.roster .player-name{font-size:11px}.roster .utility{min-height:14px}.radar-floor>span{font-size:7px}}@media(max-width:720px){#nuke-radar{width:180px;left:6px;top:91px}.radar-title{font-size:9px}.radar-title span{font-size:6px}.ct-roster{top:240px}.combat-panel{top:174px}.transport.replay-transport{height:245px}body #viewport{height:calc(100dvh - 245px)}.tl-tooltip{bottom:235px}.tl-event{width:32px;height:32px}.tl-event svg{width:26px;height:26px}}

@media(max-height:850px){.roster .player-bottom{display:none}.roster .player{padding-top:7px;padding-bottom:7px}}.combat-panel{top:155px}@media(max-width:720px){.combat-panel{top:174px}}

#scope-overlay{--diameter:calc(var(--view-height,500px)*.92)}#scope-overlay .scope-hole{width:var(--diameter);height:var(--diameter)}#scope-overlay .scope-h{width:var(--diameter)}#scope-overlay .scope-v{height:var(--diameter)}#scope-overlay.rifle-scope{--diameter:calc(var(--view-height,500px)*.68)}#scope-overlay.rifle-scope .scope-hole{width:var(--diameter);height:var(--diameter)}

.sb-team th.sb-voice,.sb-team td.sb-voice{width:36px}.sb-mute{padding:3px!important;font-size:10px!important;width:29px;height:25px;border:0!important;background:#ffffff08!important;color:#92a8b8}.sb-mute[aria-pressed=true]{color:#ef887b;background:#b63b3224!important}.sb-mute.speaking{color:#acdda3;box-shadow:0 0 7px #72c68a55}#voice-mute-all{font-size:9px;padding:4px 8px;letter-spacing:0;margin-left:12px}.tl-event.voice{top:62px;color:#a2d5e9;font-size:22px;width:32px;height:32px;background:#1b3541}

header,.camera-bar,.roster,#tools,#player-hud,#replay-audio,.combat-panel{z-index:6}

/* Keep spectator controls above optics, independent of earlier theme selectors. */
#scope-overlay{z-index:3;pointer-events:none}#scope-overlay *{pointer-events:none!important}
#ct-roster,#t-roster,.camera-bar,#tools,#player-hud,#nuke-radar,header,.combat-panel,#replay-audio{z-index:20}#kill-feed,#fps-counter{z-index:21}#demo-menu{z-index:40}#tab-scoreboard{z-index:35}#blind-indicator{z-index:23}
.player-speaking{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:24px;border-radius:4px;background:#79d7be26;color:#a5ffe0;box-shadow:0 0 10px #67e8bf35}.player-speaking svg{width:23px;height:23px}.player.is-speaking{box-shadow:inset 0 0 0 1px #82dfbd88;background:linear-gradient(90deg,#244c48ee,#1a333adf)}.player.dead.is-speaking{opacity:.9}.player-speaking.is-muted{color:#e5bb80;background:#c7923c22}.tl-round .tl-round-voice{display:flex;align-items:center;justify-content:center;flex:0 0 16px;color:#9adff5}.tl-round-voice svg{width:16px;height:17px}.tl-event.voice svg{stroke:none}.tl-round[data-voice]{border-bottom-color:#8acbe277}
/* Large radar: cropped textures retain their native proportions and the same world scale on both levels. */
#nuke-radar{width:540px;padding:10px;top:83px;left:20px;border-color:#a9bdca55;box-shadow:0 8px 26px #0006}.radar-title{font-size:14px;padding:0 3px 8px;gap:14px}.radar-title span{font-size:10px}.radar-title button{font-size:22px;width:30px;height:26px;padding:0}.radar-floors{gap:8px;align-items:flex-start}.radar-floor:first-child{width:75%;flex:3}.radar-floor:last-child{width:25%;flex:1}.radar-floor>span{font-size:11px;letter-spacing:1.4px;padding:6px;color:#d6e4eb}.radar-floor canvas{display:block;width:100%;height:auto}#nuke-radar.expanded{width:min(820px,calc(100vw - 505px))}
#ct-roster{top:calc(var(--radar-bottom,350px) + 8px);width:var(--radar-width,540px);transform:none;display:grid;grid-template-columns:1fr 1fr;gap:3px;background:#111b22b3;padding:4px;border:1px solid #ffffff13;border-radius:4px;max-height:calc(var(--view-height,758px) - var(--radar-bottom,350px) - 105px);overflow:auto;scrollbar-width:thin}#ct-roster .team-heading{grid-column:1/-1;padding:5px 8px;font-size:10px}#ct-roster .player{padding:7px 8px;min-width:0}#ct-roster .player-bottom{display:none}#ct-roster .player-name{font-size:12px}#ct-roster .player-hp{font-size:13px}#ct-roster .player-speaking{flex-basis:22px;width:22px;height:20px}
@media(max-width:1350px){#nuke-radar{width:460px}}@media(max-width:1050px){#nuke-radar{width:400px;left:8px}#nuke-radar.expanded{width:min(650px,calc(100vw - 460px))}.radar-title{font-size:13px}.radar-title span{font-size:9px}.radar-floor>span{font-size:10px}#ct-roster .player{padding:6px 7px}}
@media(max-width:900px){#nuke-radar{width:360px}.radar-title span{font-size:8px}.radar-floor>span{font-size:9px}}@media(max-width:720px){#nuke-radar{width:330px;left:6px;top:91px}#nuke-radar.expanded{width:min(440px,calc(100vw - 16px))}#ct-roster .player-name{font-size:10px}}


/* One readable floor, automatically following the observed player. */
#nuke-radar{width:500px}.radar-floors .radar-floor{width:100%;flex:1}.radar-floor>span{font-size:12px;padding:5px}#nuke-radar.expanded{width:min(800px,calc(100vw - 505px))}
@media(max-width:1350px){#nuke-radar{width:440px}}@media(max-width:1050px){#nuke-radar{width:400px}#nuke-radar.expanded{width:min(650px,calc(100vw - 460px))}}
@media(max-height:850px){#ct-roster{grid-template-columns:repeat(3,1fr)}#ct-roster .player{padding:4px 5px}#ct-roster .player-name{font-size:10px}#ct-roster .team-heading{padding:3px 6px}}
@media(max-width:900px){#nuke-radar{width:360px}}@media(max-width:720px){#nuke-radar{width:330px}#nuke-radar.expanded{width:min(440px,calc(100vw - 16px))}}

/* Symmetric teams, stable camera controls, and three explicit radar sizes. */
.scoreboard>.ct,.scoreboard>.t{box-sizing:border-box;display:grid;width:210px;min-width:0;gap:12px;padding:12px 16px;align-items:center}.scoreboard>.ct{grid-template-columns:minmax(0,1fr) 42px}.scoreboard>.t{grid-template-columns:42px minmax(0,1fr)}.team-identity{min-width:0;display:flex;flex-direction:column;gap:5px}.scoreboard>.ct .team-identity{text-align:left}.scoreboard>.t .team-identity{text-align:right}.team-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;letter-spacing:.2px;font-weight:600}.team-identity small{font-size:9px;color:#c4d1d8;letter-spacing:1px;opacity:.75}.scoreboard b{font-size:31px;text-align:center;font-variant-numeric:tabular-nums}.round-clock{width:135px;min-width:135px}
.camera-bar{left:50%;top:112px;width:424px;transform:translateX(-50%);z-index:30}
#nuke-radar[data-size=small]{width:260px}#nuke-radar[data-size=medium]{width:380px}#nuke-radar[data-size=large]{width:500px}.radar-size-controls{display:flex;gap:4px;margin-left:auto}.radar-size-controls button{margin:0!important;width:26px;height:25px;font-size:20px;border:1px solid #ffffff22;background:#ffffff08}.radar-size-controls button:disabled{opacity:.25}.radar-title{gap:8px;font-size:12px}.radar-title span{font-size:8px}
#ct-roster,#t-roster{display:block;width:225px;padding:0;border:0;border-radius:0;gap:0;background:transparent;grid-template-columns:none;scrollbar-width:thin}#ct-roster{top:max(285px,calc(var(--radar-bottom,270px) + 8px));transform:none;max-height:calc(var(--view-height,758px) - max(285px,var(--radar-bottom,270px)) - 100px);overflow:auto}#t-roster{top:50%;transform:translateY(-40%);max-height:none;overflow:visible}
#ct-roster .team-heading,#t-roster .team-heading{display:flex;padding:10px 8px;font-size:10px;grid-column:auto}#ct-roster .player,#t-roster .player{display:block;width:100%;padding:9px 10px;min-width:0}#ct-roster .player-name,#t-roster .player-name{font-size:13px}#ct-roster .player-hp,#t-roster .player-hp{font-size:14px}#ct-roster .player-bottom,#t-roster .player-bottom{display:flex;font-size:9px;margin-top:6px}#ct-roster .player-weapon,#t-roster .player-weapon{font-size:9px}#ct-roster .player-speaking,#t-roster .player-speaking{flex-basis:26px;width:26px;height:24px}#ct-roster .utility,#t-roster .utility{min-height:18px}
@media(max-width:1050px){.scoreboard>.ct,.scoreboard>.t{width:180px;padding:11px 12px;gap:8px}.round-clock{width:125px;min-width:125px}.camera-bar{width:380px}#nuke-radar[data-size=small]{width:240px}#nuke-radar[data-size=medium]{width:350px}#nuke-radar[data-size=large]{width:500px}#ct-roster,#t-roster{width:180px}}
@media(max-height:850px){#ct-roster .player,#t-roster .player{padding:6px 8px}#ct-roster .player-name,#t-roster .player-name{font-size:12px}#ct-roster .team-heading,#t-roster .team-heading{padding:7px 8px}#ct-roster .player-bottom,#t-roster .player-bottom{margin-top:3px}}
@media(max-width:720px){.scoreboard>.ct,.scoreboard>.t{width:130px;grid-template-columns:minmax(0,1fr) 28px;padding:10px 7px;gap:4px}.scoreboard>.t{grid-template-columns:28px minmax(0,1fr)}.team-identity strong{font-size:9px}.scoreboard b{font-size:25px}.round-clock{width:100px;min-width:100px}.camera-bar{width:330px}#ct-roster,#t-roster{width:145px}#nuke-radar[data-size=small]{width:220px}#nuke-radar[data-size=medium]{width:330px}#nuke-radar[data-size=large]{width:min(500px,calc(100vw - 16px))}}

#defuse-progress{position:absolute;left:50%;top:52%;transform:translateX(-50%);width:300px;padding:14px;background:#101d28ec;border:1px solid #8ac7ee;z-index:22;color:#b7e4ff;font:14px sans-serif}#defuse-progress[hidden]{display:none}#defuse-progress span{float:right}#defuse-progress>div{height:7px;background:#263944;margin-top:12px}#defuse-progress i{display:block;height:100%;background:#8ac7ee}

#blind-indicator{max-width:min(580px,90vw)}#blind-indicator .blind-sources{display:block;margin-top:6px;color:#f3e2a7;font-size:12px;line-height:1.4;overflow-wrap:anywhere;white-space:normal}#blind-indicator>div{min-width:0}#blind-indicator b{flex-shrink:0}

.map-preview-label{display:flex;align-items:center;gap:12px;margin:14px 0;color:#b7c8d2;font-size:12px}.map-preview-label select{flex:1;min-width:0}#replay-ancient{display:block;width:100%;margin-top:8px}

.transport.replay-transport{height:auto;min-height:190px;gap:7px}body #viewport{height:calc(100dvh - var(--timeline-height,190px))}.replay-transport .tl-detail{flex:none;height:80px;margin-left:52px;margin-right:12px}.tl-voice-toolbar{display:flex;align-items:center;gap:14px;min-height:22px;padding-left:12px;font-size:11px;color:#bacbd5;flex-wrap:wrap}.tl-voice-toolbar strong{font-size:9px;letter-spacing:1.4px;color:#8196a3}.tl-voice-toolbar label{display:flex;gap:5px;align-items:center;cursor:pointer}.tl-voice-toolbar input{margin:0}.voice-ct{color:#83c8ff}.voice-t{color:#f1cb72}.tl-voice-toolbar .tl-voice-summary{margin-left:auto;color:#7e94a2;font-size:10px}.tl-voice-tracks{margin:0 12px 0 52px;display:flex;flex-direction:column;gap:5px;min-height:20px}.tl-voice-team{position:relative;min-width:0;background:#ffffff03;border-top:1px solid #ffffff0a}.tl-voice-team>b{position:absolute;left:-40px;top:5px;width:32px;text-align:center;font-size:10px;letter-spacing:1px}.tl-voice-lanes{position:relative;max-height:72px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.team-3{color:#83c8ff}.team-2{color:#f1cb72}.tl-voice-clip{position:absolute;height:20px;padding:2px 5px;display:flex;gap:5px;align-items:center;border:1px solid currentColor;border-radius:3px;color:inherit;background:#142632;overflow:hidden;text-align:left}.team-2 .tl-voice-clip{background:#302b1e}.tl-voice-clip:hover,.tl-voice-clip:focus-visible{background:#3d515c;outline:1px solid currentColor;z-index:3}.tl-voice-wave{font-size:10px;letter-spacing:-1px;flex-shrink:0}.tl-voice-name{color:#e2e9ed;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-voice-clip.current-voice{box-shadow:inset 0 0 0 1px currentColor;background:#3e5154}.tl-voice-empty{font-size:10px;color:#7e94a2;padding:4px 0}.tl-round-voice{position:absolute;left:2px;right:2px;bottom:1px;top:auto;width:auto;height:10px;display:flex;justify-content:center;gap:3px}.tl-round .tl-round-voice span{font-size:7px;line-height:10px;white-space:nowrap}.tl-rounds{min-height:39px}.tl-round{padding-bottom:13px!important}.tl-tooltip{bottom:calc(var(--timeline-height,190px) - 10px)}@media(max-width:720px){.tl-voice-toolbar{gap:8px;font-size:10px}.tl-voice-toolbar .tl-voice-summary{display:none}.replay-transport .tl-detail,.tl-voice-tracks{margin-left:40px;margin-right:4px}.tl-voice-team>b{left:-32px;width:26px}}

.replay-transport .tl-detail{height:84px;min-height:84px}.tl-voice-lanes{max-height:48px}.tl-voice-tracks.expanded .tl-voice-lanes{max-height:none}.tl-voice-wave{width:12px;height:12px;flex:0 0 12px;overflow:hidden}.tl-voice-wave svg{display:block;width:12px;height:12px}.tl-voice-clip{gap:4px;padding:2px 4px}.tl-voice-name{font-size:10px}.tl-voice-expand{padding:3px 7px;font-size:9px;color:#b8cbd7;background:#ffffff08}.tl-voice-tracks.expanded{max-height:35vh;overflow-y:auto;overflow-x:hidden}

.replay-transport .tl-detail{height:108px;min-height:108px}.replay-transport .tl-event{top:5px}.replay-transport .tl-event.stacked{margin-top:10px}.replay-transport .tl-event.utility,.replay-transport .tl-event.bomb{top:52px;width:36px;height:36px}.replay-transport .tl-event.utility.stacked,.replay-transport .tl-event.bomb.stacked{margin-top:6px}.replay-transport .tl-event.freeze{top:44px;height:36px}.tl-voice-clip:after{content:"";position:absolute;bottom:0;left:0;width:var(--voice-duration,100%);height:2px;background:currentColor;opacity:.9;pointer-events:none}

.tl-voice-clip:after{left:var(--voice-start,0%)}

/* Compact default: voice activity shares the existing event strip. */
.transport.replay-transport{min-height:0;gap:5px;padding-top:8px;padding-bottom:7px}.replay-transport .tl-detail{height:108px;min-height:108px}.tl-voice-tracks[hidden]{display:none!important}.tl-footer{flex-wrap:wrap;gap:5px;min-height:21px}.tl-footer .tl-voice-toolbar{padding:0;min-height:20px;gap:9px;margin-left:auto;font-size:10px}.tl-footer .tl-voice-toolbar strong{font-size:8px}.tl-footer .tl-voice-summary{font-size:9px}.tl-rounds{min-height:33px}.tl-round{min-height:33px}.tl-compact-voices{position:absolute;top:80px;left:0;right:0;height:18px;z-index:3;pointer-events:none}.tl-mini-voice{position:absolute;height:8px;min-width:0;border:0;border-radius:2px;padding:0 2px;overflow:hidden;pointer-events:auto;display:flex;align-items:center;opacity:.8;cursor:pointer}.tl-mini-voice.team-3{background:#458cb56b;color:#a7dcff;box-shadow:inset 0 -1px #83c8ff}.tl-mini-voice.team-2{background:#9b773868;color:#ffe0a0;box-shadow:inset 0 -1px #f1cb72}.tl-mini-voice svg{height:8px;width:9px;flex-shrink:0}.tl-mini-voice:hover,.tl-mini-voice:focus-visible{opacity:1;outline:1px solid currentColor;z-index:5}.replay-transport .tl-event{top:2px}.replay-transport .tl-event.stacked{margin-top:5px}.replay-transport .tl-event.utility,.replay-transport .tl-event.bomb{top:44px;height:30px;width:34px}.replay-transport .tl-event.utility.stacked,.replay-transport .tl-event.bomb.stacked{margin-top:3px}.replay-transport .tl-event.freeze{top:35px;height:34px}.tl-voice-tracks.expanded{max-height:28vh;overflow-y:auto;margin-top:2px;margin-bottom:2px}@media(max-width:720px){.tl-footer .tl-voice-toolbar{margin-left:0;gap:7px}.tl-footer>span:first-child{font-size:8px}.tl-head{height:32px}.tl-rounds{min-height:33px}}

#match-chat{position:absolute;left:22px;bottom:104px;width:min(440px,40vw);max-height:168px;overflow:hidden;z-index:22;pointer-events:none;display:flex;flex-direction:column;gap:3px;text-align:left}.chat-message{font-size:12px;line-height:18px;color:#f0f3f4;padding:3px 7px;background:linear-gradient(90deg,#0c171ddc,#0c171d90);border-left:2px solid var(--chat-team);text-shadow:0 1px 2px #000;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message strong{color:var(--chat-team);font-weight:700}.chat-prefix{font-size:10px;color:#bacbd4}.chat-system{font-size:11px;color:#c7d6bc;border-left-color:#a2b798}.chat-text{white-space:pre-wrap}@media(max-width:1050px){#match-chat{width:min(300px,40vw);left:12px;bottom:96px}.chat-message{font-size:11px;line-height:16px}}@media(max-width:720px){#match-chat{bottom:154px;max-height:120px;width:min(270px,75vw)}}
.radar-size-controls button{display:grid;place-items:center;padding:0;line-height:1}
.radar-size-controls button svg{display:block}
