/* Shared legibility pass: readable secondary text and opaque backing over ice. */
.topbar{position:relative;z-index:40}.topbar .camera-tools{position:relative;top:auto;right:auto;flex:none;align-self:center;color:#f5f7fa;font:800 13px system-ui;letter-spacing:.4px}.topbar .camera-tools summary{box-sizing:border-box;min-height:40px;display:flex;align-items:center;justify-content:center;padding:9px 12px;background:#17283a;border:1px solid #64788d;list-style:none;cursor:pointer}.topbar .camera-tools summary:hover,.topbar .camera-tools[open] summary{background:#294157}.topbar .camera-tools summary:focus-visible{outline:2px solid #eea249;outline-offset:3px}.topbar .camera-tools>div{position:absolute;top:100%;right:0;z-index:1;margin-top:8px;width:240px;box-sizing:border-box}.topbar .camera-tools summary::-webkit-details-marker{display:none}@media(max-width:600px){.topbar .top-status{grid-template-columns:repeat(3,minmax(0,1fr))!important}.topbar .camera-tools summary{font-size:12px;padding:8px 6px}.topbar .camera-tools>div{left:0;right:auto;width:min(260px,calc(100vw - 32px))}}
:root{--ui-text:#f5f7fa;--ui-secondary:#d0dce8;--ui-panel:#0d1c2e;--ui-gold:#ffc477}
.topbar .brand-name{font-size:22px}
.topbar .brand-kicker{font-size:11px;letter-spacing:1px;color:var(--ui-secondary)}
.topbar .sound-button{font-size:13px!important;min-height:40px;padding:9px 12px!important;color:var(--ui-text);border-color:#64788d;background:#17283a;letter-spacing:.4px}
.network-readout{font-size:12px;color:var(--ui-secondary)}
.scorebug{width:520px;max-width:calc(100% - 48px);grid-template-columns:minmax(0,1fr) 98px minmax(0,1fr);top:30px}
.scorebug::before{font-size:12px;top:-20px;letter-spacing:1px}
.scorebug-team{height:64px;gap:9px;background:#18314d}
.scorebug-name{font-size:14px;color:var(--ui-text);letter-spacing:0}
.scorebug-team strong{font-size:34px}
.scorebug-middle span{font-size:12px;color:#263d50;letter-spacing:.4px}
.scorebug-middle b{font-size:29px}
.scorebug-sub{height:28px;font-size:12px;letter-spacing:.7px;background:#091523;color:var(--ui-secondary)}
.channel-bug small{font-size:12px;letter-spacing:1px;color:white;text-shadow:0 1px 4px #000}
.camera-tools{font-size:13px;top:88px;color:var(--ui-text);letter-spacing:.5px}
.camera-tools summary{padding:11px 14px;background:var(--ui-panel);border-color:#71849a}
.camera-tools>div{width:240px;background:var(--ui-panel);gap:8px}
.camera-tools .camera-chip,.camera-tools .first-person-button,.camera-tools .camera-zoom{font-size:13px;color:var(--ui-text);background:#20364d;border-color:#61788e;min-height:40px}
.camera-tools input{width:105px}
.on-ice b{font-size:18px;color:var(--ui-text)}
.on-ice small{font-size:12px;letter-spacing:.7px;color:var(--ui-secondary)}
.on-ice>strong{font-size:25px}
.on-ice>div{background:var(--ui-panel)}
.fps-chip{font-size:12px;opacity:1;background:#0d1c2eed;color:var(--ui-secondary);padding:2px 6px;bottom:2px}
.faceoff-callout{top:132px;font-size:14px;line-height:1.4;background:var(--ui-panel);color:var(--ui-text);max-width:470px}
.shot-meter{font-size:14px;background:var(--ui-panel);color:var(--ui-gold);width:220px}
.bottom-strip{background:#091523;gap:16px}
.control-ribbon{font-size:14px;color:#e3eaf1;letter-spacing:.2px;gap:10px 16px;line-height:1.4;scrollbar-width:thin;scrollbar-color:#71849a #091523}
.control-ribbon kbd{font-size:14px;color:white;background:#263e55;border-color:#72879b;padding:4px 6px}
.ribbon-label{font-size:16px}.ribbon-label span{font-size:11px;letter-spacing:.6px}
.goal-copy>span:first-child{font-size:13px;letter-spacing:1px;color:var(--ui-secondary)}
.goal-banner #goalDetail{font-size:15px;color:var(--ui-text)}
.goal-banner small{font-size:12px;letter-spacing:.7px;color:var(--ui-secondary)}
.replay-overlay{background:var(--ui-panel)}
.replay-overlay strong{font-size:24px}.replay-tag,.replay-overlay small{font-size:13px;letter-spacing:.7px;color:var(--ui-secondary)}
.replay-overlay button{font-size:14px;min-height:42px}.is-replay .scorebug-sub b::after{font-size:12px}
.wipe-copy>span{font-size:14px;letter-spacing:2px}.wipe-copy p{font-size:17px;letter-spacing:.7px}
.wipe-network{font-size:18px;color:#d0dce8}.wipe-network span{font-size:12px;letter-spacing:1px}.wipe-pause{font-size:13px;color:white}
.zamboni-hud{font:700 15px/1.4 system-ui;background:var(--ui-panel)}
.zamboni-stats strong{font-size:32px}.zamboni-stats small{font-size:13px;color:var(--ui-secondary)}
.zamboni-actions,.zamboni-actions span{font-size:13px;color:var(--ui-secondary)}
.zamboni-actions button{font:750 14px system-ui;min-height:42px;background:#20364d;border-color:#71849a}
.pause-card{width:min(560px,100%)}
.pause-mode,.pause-phase{font-size:13px;letter-spacing:1px;color:var(--ui-gold)}
.pause-reason{font-size:16px;max-width:none;color:var(--ui-secondary)}
.pause-detail{font-size:14px;letter-spacing:.5px;color:var(--ui-text)}
.pause-hint{font-size:12px;letter-spacing:.5px;color:var(--ui-secondary)}
.pause-resume{font-size:15px;letter-spacing:1px}
.stats-heading{font-size:12px;color:var(--ui-secondary);letter-spacing:0}
.stats-row span{font-size:13px;letter-spacing:.4px;color:var(--ui-text)}
.stats-row b{font-size:19px}.stats-row{padding:8px 0;border-color:#ffffff25}
.loading-subtitle,.loading-sponsor{font-size:13px;color:var(--ui-secondary);letter-spacing:1px}
.loading-status,.loading-retry{font-size:16px}
.warmup-title{background:linear-gradient(90deg,#091523e8,#09152388);padding:14px 22px}
.warmup-title span,.warmup-title small{font-size:13px;letter-spacing:1px;color:var(--ui-text)}
.warmup-title span{color:var(--ui-gold)}.warmup-title p{font-size:20px}
.warmup-next{font-size:13px;color:var(--ui-gold);background:#091523e8;padding:14px}
.warmup-next b{font-size:17px}.warmup-broadcast button{font-size:14px;background:var(--ui-panel);border-color:#8495a8;min-height:44px}
@media(max-width:1000px){
 .topbar{flex-wrap:wrap;padding:10px 16px!important;gap:10px}.topbar .top-status{margin-left:auto}
 .topbar .brand-name{font-size:20px}.control-ribbon{font-size:13px}.control-ribbon kbd{font-size:13px}
 .channel-bug{display:none}.camera-tools{top:132px}
 .warmup-next{display:none}
}
@media(max-width:600px){
 .topbar .brand-kicker{font-size:11px}.topbar .sound-button{font-size:12px!important;padding:8px 6px!important;letter-spacing:0}
 .topbar .top-status{width:100%;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:5px!important}
 .scorebug{left:12px;max-width:calc(100% - 24px);width:100%;grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr)}
 .scorebug-team{display:grid;grid-template-columns:28px 1fr;height:74px;padding:6px 9px;gap:1px 5px}
 .scorebug-team img{width:27px;height:29px;grid-row:1}.scorebug-team strong{grid-row:1;grid-column:2;font-size:28px}
 .scorebug-name{grid-row:2;grid-column:1/-1;font-size:12px}.scorebug-middle b{font-size:25px}
 .scorebug-sub{font-size:11px;letter-spacing:0}.camera-tools{top:144px;right:12px}
 .faceoff-callout{top:194px;left:12px;max-width:calc(100% - 24px);min-width:0;font-size:13px}
 .ribbon-label{display:none}.bottom-strip{padding:0 12px;min-height:58px}
 .control-ribbon{flex-wrap:nowrap;overflow-x:auto;padding:12px 0;gap:16px;font-size:14px}.control-ribbon>span{flex:none}.control-ribbon kbd{font-size:14px}
 .on-ice b{font-size:16px}.on-ice small{font-size:12px}.on-ice>strong{font-size:22px}
 .pause-overlay{padding:12px}.pause-card{max-height:calc(100dvh - 24px)}.pause-overlay .pause-card{padding:18px}
 .stats-heading{font-size:11px}.stats-row span{font-size:12px}.stats-row b{font-size:18px}
 .goal-banner #goalDetail{font-size:14px}.goal-banner small{font-size:12px}.goal-copy>span:first-child{font-size:12px}
 .replay-overlay strong{font-size:20px}.replay-overlay small,.replay-tag{font-size:12px}.replay-overlay button{font-size:13px}
 .warmup-title{left:4%;right:4%;padding:12px 16px}.warmup-title p{font-size:16px;letter-spacing:.5px}.warmup-title small{font-size:12px}
 .zamboni-hud{bottom:66px}.zamboni-heading{font-size:13px}.zamboni-actions span{font-size:12px}
}
.performance-hud{margin-left:auto;flex:none;display:flex;align-items:center;gap:12px;padding:8px 0 8px 16px;border-left:1px solid #526577;color:#f5f7fa;font:700 13px/1.5 system-ui;font-variant-numeric:tabular-nums}.performance-values{display:grid;min-width:65px}.performance-values strong{font-size:14px}.performance-values span{color:#d0dce8}.performance-hud canvas{display:block;width:144px;height:36px;background:#101f30;border-radius:3px}.bottom-strip .control-ribbon{flex:1;min-width:0}@media(max-width:850px){.performance-hud{gap:8px;padding-left:10px}.performance-hud canvas{width:90px}}@media(max-width:600px){.performance-hud{flex-direction:column;gap:2px;padding:6px 0 6px 9px}.performance-values{display:flex;gap:8px;font-size:12px}.performance-values strong{font-size:12px}.performance-hud canvas{width:104px;height:24px}}
.zamboni-hud{width:min(460px,calc(100% - 40px));padding:14px}.zamboni-stats{margin:10px 0}.zamboni-stats strong{font-size:28px}.zamboni-stats small{font-size:12px}.zamboni-actions>span{display:none}.zamboni-actions{margin-top:8px}.zamboni-actions button{min-height:36px;padding:7px 12px}.zamboni-heading{font-size:13px}.zamboni-hud[data-complete="true"]{border-top-color:#62dcb6}.zamboni-hud[data-complete="true"] .zamboni-heading span{color:#62dcb6}
