/* Shared Radio Room presentation. Page-specific feed/town/archive styles follow. */
body.radio-room-shell{--rs-bg:#0c1720;--rs-panel:#14232e;--rs-inset:#0d1c27;--rs-line:#354956;--rs-text:#e9eff4;--rs-muted:#aec0cc;background:var(--rs-bg);color:var(--rs-text)}
.radio-room-shell>.scanner-main{min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--rs-bg);-webkit-overflow-scrolling:touch}
.radio-room-shell>.scanner-header,.radio-room-shell>.scanner-live-now-bar{flex-shrink:0;background:var(--rs-panel);border-bottom:1px solid var(--rs-line);box-shadow:none}
.radio-room-shell .scanner-page-shell{max-width:1100px;padding-top:24px}
.radio-room-shell .scanner-page-hero{text-align:left;gap:6px}
.radio-room-shell .scanner-title{font-size:29px;font-weight:500;line-height:1.3;letter-spacing:-.03em;color:var(--rs-text);background:none;-webkit-text-fill-color:currentColor}
.radio-room-shell .scanner-eyebrow{font:11px/1.5 'Roboto Mono',monospace;letter-spacing:.12em;color:var(--rs-muted)}
.radio-room-shell .scanner-subtitle{font-size:14px;line-height:1.65;color:var(--rs-muted);margin-left:0}
.radio-room-shell :is(.panel,.glass,.review-call-card,.term-card){background:var(--rs-panel);border:1px solid var(--rs-line);border-radius:9px;box-shadow:none;backdrop-filter:none}
.radio-room-shell .review-call-card:hover{transform:none;box-shadow:none;border-color:var(--rs-muted)}
.radio-room-shell .pill-police{color:#85b7ff;background:#142c49;border-color:#354f75}
.radio-room-shell .pill-fire{color:#ff969e;background:#3d222c;border-color:#75434d}
.radio-room-shell .scanner-main :is(button,a,select,input,textarea):focus-visible{outline:2px solid #f1bf63;outline-offset:3px}
.radio-room-shell[data-page=stats] #filters{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:12px}
.radio-room-shell[data-page=stats] #filters label{margin:0}
.radio-room-shell[data-page=stats] :is(select,#reset-filters){min-height:44px;min-width:0;border:1px solid var(--rs-line);border-radius:6px;background-color:var(--rs-inset);color:var(--rs-text)}
.radio-room-shell[data-page=stats] #reset-filters{margin:0;padding:8px 16px}
.radio-room-shell[data-page=stats] :is(.space-y-8)>:not([hidden])~:not([hidden]){margin-top:20px}
.radio-room-shell[data-page=stats] h2{color:var(--rs-text);font-size:14px;font-weight:500;text-transform:none;letter-spacing:0}
.radio-room-shell[data-page=stats] #key-stats{text-align:left}
.radio-room-shell[data-page=stats] #key-stats [id^=stat-]{font:500 23px/1.6 'Roboto Mono',monospace;color:var(--rs-text)}
.radio-room-shell[data-page=stats] .text-slate-400{color:var(--rs-muted)}
.radio-room-shell[data-page=heatmap] :is(.hm-summary-card,.hm-toolbar,.hm-town-panel,.hm-town-card,.hm-map-state-card){background:var(--rs-panel);border:1px solid var(--rs-line);border-radius:9px;box-shadow:none;backdrop-filter:none}
.radio-room-shell[data-page=heatmap] :is(.hm-summary-label,.hm-filter-label){font-size:12px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--rs-muted)}
.radio-room-shell[data-page=heatmap] .hm-summary-value{font:500 20px/1.5 'Roboto Mono',monospace;color:var(--rs-text)}
.radio-room-shell[data-page=heatmap] :is(.hm-select,.hm-layer-toggle,.hm-segments){border-color:var(--rs-line);border-radius:6px;background-color:var(--rs-inset);color:var(--rs-text);min-width:0}
.radio-room-shell[data-page=heatmap] :is(.hm-segment,.hm-select,.hm-layer-toggle){min-height:44px}
.radio-room-shell[data-page=heatmap] .hm-segment{border-radius:4px;color:var(--rs-muted)}
.radio-room-shell[data-page=heatmap] .hm-segment.is-active{background:#142c49;color:#85b7ff;box-shadow:inset 0 0 0 1px #354f75}
.radio-room-shell[data-page=heatmap] .hm-segment[data-department=police]{color:#85b7ff}
.radio-room-shell[data-page=heatmap] .hm-segment[data-department=fire]{color:#ff969e}
.radio-room-shell[data-page=heatmap] .hm-segment[data-department=fire].is-active{background:#3d222c;color:#ff969e;box-shadow:inset 0 0 0 1px #75434d}
.radio-room-shell[data-page=heatmap] .hm-map-frame{border-radius:9px;border-color:var(--rs-line);box-shadow:none}
.radio-room-shell[data-page=training] .scanner-main>div{max-width:1100px}
.radio-room-shell[data-page=training] h1{font-size:29px;font-weight:500;letter-spacing:-.03em}
.radio-room-shell[data-page=training] :is(.report-viewport,.chip){border-radius:6px;border-color:var(--rs-line);box-shadow:none}
.radio-room-shell[data-page=training] form{min-width:0;flex-wrap:wrap}
.radio-room-shell[data-page=training] #report{min-width:0;max-width:100%;min-height:44px;flex:1;background:var(--rs-inset)}
.radio-room-shell[data-page=training] .panel{min-width:0;overflow-wrap:anywhere}
.radio-room-shell[data-page=training] .report-viewport+.flex{flex-wrap:wrap;gap:8px}
.radio-room-shell[data-page=call-evidence] audio{min-width:0;max-width:100%}
@media(max-width:640px){
.radio-room-shell .scanner-page-shell{padding:18px 14px 24px}
.radio-room-shell .scanner-title,.radio-room-shell[data-page=training] h1{font-size:25px}
.radio-room-shell[data-page=stats] #filters{grid-template-columns:1fr}
.radio-room-shell[data-page=stats] #filters :is(select,button){width:100%}
.radio-room-shell[data-page=heatmap] .hm-summary{width:100%;gap:6px}
.radio-room-shell[data-page=heatmap] .hm-summary-card{padding:10px 8px}
.radio-room-shell[data-page=heatmap] .hm-summary-value{font-size:16px}
.radio-room-shell[data-page=heatmap] .hm-layer-controls{flex-wrap:wrap;margin-left:0}
.radio-room-shell[data-page=heatmap] .hm-segment{padding:8px 10px}
}
@media(prefers-reduced-motion:reduce){.radio-room-shell .live-indicator{animation:none}}
.radio-room-shell[data-page=review] .review-call-card{animation:none;transition:none;border-left:3px solid #85b7ff}
.radio-room-shell[data-page=review] .review-call-card:has(.pill-fire){border-left-color:#ff969e}
.radio-room-shell[data-page=review] :is(.wave-player-row,.transcript-block){background:var(--rs-inset);border:1px solid var(--rs-line);border-radius:6px}
.radio-room-shell[data-page=review] .transcript-block{font-size:14px;line-height:1.65}
.radio-room-shell[data-page=review] :is(.transcript-label,.call-card-pill){font-size:11px;letter-spacing:.04em}
.radio-room-shell[data-page=review] .rev-action-btn{min-height:44px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;border-radius:6px}
.radio-room-shell[data-page=review] .orig-toggle{min-height:44px;font-size:12px;letter-spacing:0;text-transform:none;color:var(--rs-muted)}
.radio-room-shell[data-page=call-evidence] .evidence-feed{color:#85b7ff;background:#142c49;border-color:#354f75;border-radius:5px}
.radio-room-shell[data-page=call-evidence] .evidence-feed-fire{color:#ff969e;background:#3d222c;border-color:#75434d}
.radio-room-shell[data-page=call-evidence] h1{font-size:29px;font-weight:500;letter-spacing:-.03em}
