html{color-scheme:dark}body.viewer-body{background:#0B0D10;color:#F2EFE7}body.viewer-body,body.viewer-body *{font-family:var(--preview-font,"MiSans VF"),sans-serif!important;font-style:normal!important}.viewer-shell{background:#0B0D10}.viewer-header{background:#0B0D10;border-bottom:1px solid #00E5BE33}.viewer-header span,.section-bar span,.spectator-schedule-head,.viewer-number{color:#9DA3AD}.viewer-tabs{background:#181C22;border-color:#00E5BE33}.viewer-tabs button{color:#9DA3AD}.viewer-tabs button[aria-selected=true]{color:#111318;background:#F2EFE7;border-color:#00E5BE}.viewer-state{background:#00E5BE22!important;color:#00E5BE!important}.viewer-list,.viewer-results,.viewer-live{background:#0B0D10}.viewer-list{border-top:1px solid #00E5BE44}.viewer-list .section-bar,.viewer-results>.section-bar{background:#181C22;color:#F2EFE7}.viewer-body button,.viewer-body input,.viewer-body select{color:#F2EFE7;background:#181C22;border-color:#ffffff25}.viewer-body button.primary{background:#00E5BE;color:#111318}.court-card.original-court{background:#0B0D10;border-color:#00E5BE44}.court-meta{background:#181C22!important}.court-meta strong{color:#00E5BE}.court-dots button[aria-current=true]{background:#00E5BE}.viewer-dialog{background:#181C22;color:#F2EFE7;border:1px solid #00E5BE66}.dialog-head,.viewer-dialog footer{border-color:#ffffff20}.team-option,.court-setting-row{background:#181C22;border-color:#ffffff20}.spectator-match-row{background:#111318;color:#F2EFE7;border-color:#ffffff14}.spectator-match-row:nth-child(odd){background:#181C22}.spectator-start{color:#F2EFE7}.spectator-score{background:#F2EFE7;color:#111318;border-radius:2px;padding:1px 6px}.spectator-team,.spectator-versus{color:#F2EFE7}.spectator-side.red{border-color:#FF5964}.spectator-side.blue{border-color:#4D9CFF}.viewer-status{color:#00E5BE;background:#00E5BE15}.viewer-body .standings-group,.viewer-body .tablewrap{background:#181C22;color:#F2EFE7;border-color:#00E5BE33}.viewer-body th{background:#00E5BE!important;color:#111318!important}.viewer-body td{background:#181C22;color:#F2EFE7;border-color:#ffffff18}.viewer-body tr:first-child td{color:#00E5BE}.viewer-body .tag{color:#00E5BE;background:#00E5BE18}.viewer-body .fullscreen-bar{background:#181C22}.viewer-body .section-bar button{background:#181C22b8;color:#F2EFE7;border-color:#ffffff20}.viewer-body .favorite-star[aria-pressed=true]{color:#00E5BE}.viewer-body #viewer-pip,.viewer-body #viewer-sound{display:none}.viewer-body .spectator-match-row.locate-target{background:#00E5BE22;outline:1px solid #00E5BE}.viewer-body .all-courts-note{color:#9DA3AD}.viewer-body #viewer-toast{background:#F2EFE7;color:#111318}
.viewer-body .viewer-header strong{color:#F2EFE7}.viewer-body .court-dots button,.viewer-body .court-dots button[aria-current=true]{background:transparent;border:0}.viewer-body .court-dots button[aria-current=true]:before{background:#00E5BE}.viewer-body .spectator-schedule-head{background:#F2EFE7;color:#111318}.viewer-body .spectator-side.red .spectator-team{color:#F08B95}.viewer-body .spectator-side.blue .spectator-team{color:#88B8EF}.viewer-body .spectator-side .spectator-score{color:#111318}.viewer-body .viewer-match-scroll{border-color:#00E5BE33}.viewer-body .viewer-results .card{background:#181C22;color:#F2EFE7;border-color:#00E5BE33}.viewer-body .standings-group h2,.viewer-body .standings-group h3{color:#F2EFE7}

/* Definite score geometry: no percentage-height/container-size cycle in Safari. */
.viewer-matches{grid-template-rows:auto minmax(0,1fr)}
.viewer-live:not(.is-fullscreen){display:flex;flex-direction:column;align-items:center;flex:none;min-height:0;overflow:hidden;padding:4px 0 0;isolation:isolate}
.viewer-live:not(.is-fullscreen) .court-carousel{position:relative;flex:none;width:min(98%,53.333333svh);height:var(--court-height,230px);min-height:var(--court-height,230px);max-height:var(--court-height,230px);aspect-ratio:auto;align-items:stretch;gap:6px;padding:0;margin:0;scroll-padding:0;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pinch-zoom;overscroll-behavior:contain;overflow-anchor:none}
.viewer-live:not(.is-fullscreen) .court-card.original-court{position:relative;container-type:normal;flex:0 0 var(--court-width,calc(100% - 14px));width:var(--court-width,calc(100% - 14px));min-width:0;height:100%;max-height:100%;padding:0;margin:0;scroll-snap-align:start;background:#101B2A;border-radius:5px;overflow:hidden}
.viewer-live:not(.is-fullscreen) .court-carousel::after{content:"";display:block;flex:0 0 8px;height:1px;pointer-events:none}
.viewer-live:not(.is-fullscreen) .original-score-frame{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-height:100%;transform:none;border:0;pointer-events:none}
.viewer-live:not(.is-fullscreen) .court-meta{display:none!important}
@media(max-width:700px){.viewer-live:not(.is-fullscreen) .court-carousel{width:98%}}
@media(prefers-reduced-motion:reduce){.court-carousel{scroll-behavior:auto}}
/* Video-like tools overlay: white glyphs, no toolbar plate; hidden controls are inert. */

.score-info-line{display:flex;align-items:center;padding-left:3%;height:28px;font-size:13px;color:#00E5BE}
.viewer-live>.section-bar,.viewer-live:not(.is-fullscreen)>.section-bar{position:absolute!important;top:var(--score-tools-top,32px)!important;right:var(--score-tools-right,8px)!important;left:auto!important;width:auto!important;max-width:100%;min-height:44px;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important;z-index:8;opacity:0;visibility:hidden;pointer-events:none}
.viewer-live>.section-bar>div:first-child,.viewer-live:not(.is-fullscreen)>.section-bar>div:first-child{display:none!important}
.viewer-live.score-tools-visible>.section-bar,.viewer-live.score-tools-visible>.fullscreen-bar{opacity:1;visibility:visible;pointer-events:auto}
.viewer-live:not(.score-tools-visible)>.fullscreen-bar{opacity:0;visibility:hidden;pointer-events:none}
.viewer-body .viewer-live>.section-bar button,.viewer-body .viewer-live>.fullscreen-bar button{background:transparent!important;color:#FFF!important;box-shadow:none!important;border:0!important;text-shadow:0 1px 3px #000}
.viewer-body .viewer-live>.section-bar button:before,.viewer-body .viewer-live>.fullscreen-bar button:before{display:none!important}
.viewer-body .viewer-live .viewer-icon{width:20px;height:20px;filter:drop-shadow(0 1px 2px #0008)}
.viewer-live.is-fullscreen .score-info-line{display:none}
.score-is-locked .viewer-live .court-carousel{pointer-events:auto;touch-action:pan-y;overflow-x:hidden}
.viewer-body #viewer-pip.design-supported-pip{display:inline-grid}
.viewer-body #viewer-pip[hidden]{display:none!important}
.viewer-live>.fullscreen-bar{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;border:0!important}
.viewer-live.is-fullscreen [data-enter-fullscreen="score"]{display:none!important}
.viewer-live.is-fullscreen>.fullscreen-bar{top:var(--score-tools-top,12px)!important;right:calc(var(--score-tools-right,8px) + 132px)!important}

/* The active court shares the lightweight group-navigation treatment. */
.viewer-live .carousel-nav{display:flex;align-items:center;justify-content:center;gap:18px;height:44px;min-width:0;max-width:100%;padding:0 8px}
.viewer-live #court-dots{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;max-width:calc(100% - 124px);overflow:hidden}
#active-court-label{font-size:16px;color:#00E5BE;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#active-court-count{font-size:13px;color:#B3B4B8;white-space:nowrap;flex:none}
.viewer-live .carousel-nav>button{width:44px;min-width:44px;height:44px;background:transparent!important;border:0!important;color:#F2EFE7;box-shadow:none!important}
.viewer-live .carousel-nav>button:disabled{opacity:.25}
.viewer-live .score-info-line{visibility:hidden}
.viewer-live.is-fullscreen>.fullscreen-bar{right:calc(var(--score-tools-right,8px) + var(--score-tools-width,144px) + 8px)!important;z-index:9}

.viewer-live.is-fullscreen>.fullscreen-bar{opacity:1!important;visibility:visible!important;pointer-events:auto!important}

.viewer-live .score-info-line{display:none}

.viewer-live .carousel-nav{flex:none;width:100%;position:relative;z-index:1;overflow-anchor:none}

.score-is-locked .viewer-live:not(.is-fullscreen) [data-enter-fullscreen=score]{display:inline-grid}

/* One persistent original score document; other cards are only lightweight edge cues. */
.viewer-live .court-carousel{position:relative}
.viewer-live:not(.is-fullscreen)>.court-carousel>.shared-score-frame{width:var(--court-width);height:var(--court-height);max-width:none;z-index:2;border-radius:5px}
.viewer-live .court-card.original-court{background:linear-gradient(135deg,#101619,#141E21)!important}
.viewer-live.is-fullscreen .court-carousel>.shared-score-frame{position:absolute;top:0;width:100%;height:100%;max-width:none;z-index:2}
.viewer-live .shared-score-frame[hidden]{display:none}

.viewer-live.is-fullscreen .court-meta{z-index:3}

/* Unambiguous saved-favorite and temporary-filter states, including sticky touch hover. */
html body.viewer-body .viewer-dialog .dialog-head{background:#181C22!important;color:#F2EFE7!important;border-bottom:1px solid #FFFFFF18;padding:14px 16px;min-height:54px}
html body.viewer-body .viewer-dialog .dialog-head h2{color:#F2EFE7!important;margin:0}
.viewer-dialog .team-option-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 4px 0;color:#A7ABB3;font-size:12px}
html body.viewer-body #team-dialog .favorite-star,html body.viewer-body #team-dialog .favorite-star:hover,html body.viewer-body #team-dialog .favorite-star:active{background:transparent!important;border:0!important;box-shadow:none!important;color:#A7ABB3!important}
html body.viewer-body #team-dialog .favorite-star[aria-pressed=true],html body.viewer-body #team-dialog .favorite-star[aria-pressed=true]:hover,html body.viewer-body #team-dialog .favorite-star[aria-pressed=true]:active{background:transparent!important;color:#00E5BE!important}
html body.viewer-body #team-dialog .favorite-star[aria-pressed=true] svg{fill:#00E5BE!important;stroke:#00E5BE!important}
html body.viewer-body #team-dialog .favorite-star[aria-pressed=false] svg{fill:none!important;stroke:currentColor!important}
html body.viewer-body #team-dialog .favorites-only-toggle{gap:8px;border:0;background:transparent;color:#F2EFE7;min-height:44px;padding:0}
#team-dialog [data-clear-team-filter]{width:auto!important;max-width:none!important;min-height:44px;padding:8px!important;font-size:13px;color:#A7ABB3!important}
#team-dialog input[type=checkbox]{accent-color:#00E5BE}

.viewer-body [data-toggle-favorites]{background:transparent!important;color:#A7ABB3!important}
.viewer-body [data-toggle-favorites][aria-pressed=true]{background:transparent!important;color:#00E5BE!important}
.viewer-body [data-toggle-favorites][aria-pressed=true] svg{fill:#00E5BE;stroke:#00E5BE}
.viewer-body [data-toggle-favorites][aria-pressed=false] svg{fill:none}
#team-dialog .viewer-dialog-body{padding-bottom:16px}

.viewer-dialog .favorite-team-name{display:block;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.viewer-dialog .favorites-only-toggle{display:flex;align-items:center;justify-content:flex-start;gap:8px}.viewer-dialog .favorites-only-toggle .viewer-icon{width:20px;height:20px;flex:none}.viewer-dialog .favorites-only-toggle[aria-pressed=true]{color:#00E5BE!important}.viewer-dialog .favorites-only-toggle[aria-pressed=true] svg{fill:currentColor}

/* Two mounted panels slide in opposite directions without rebuilding the score frame. */
.viewer-panels{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;position:relative}
.viewer-panels>#matches-pane,.viewer-panels>#results-pane{grid-area:1/1;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box}
.viewer-panels>[hidden]{display:none!important}
.viewer-panels>[inert]{pointer-events:none}
/* Court name/navigation is the footer of the same scoreboard module. */
.viewer-live:not(.is-fullscreen){margin:4px 10px 10px;padding:0;border:1px solid #00E5BE2B;border-radius:14px;background:#132723;box-sizing:border-box;overflow:hidden}
.viewer-live:not(.is-fullscreen) .court-carousel{width:100%;max-width:100%;border-radius:0}
.viewer-live:not(.is-fullscreen) .court-card.original-court,.viewer-live:not(.is-fullscreen)>.court-carousel>.shared-score-frame{border-radius:0}
.viewer-live:not(.is-fullscreen) .carousel-nav{height:40px;min-height:40px;background:#132723;border-top:1px solid #FFFFFF10;padding:0 10px;gap:14px}
.viewer-live:not(.is-fullscreen) #active-court-label{font-size:14px;font-weight:550}
.viewer-live:not(.is-fullscreen) #active-court-count{font-size:12px}
#matches-pane.list-is-expanded .viewer-live{border-radius:8px;border-color:#00E5BE55}
#matches-pane.list-is-expanded .viewer-live>.section-bar{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.viewer-list>.section-bar.list-title{padding:10px 14px!important;gap:8px;box-sizing:border-box}
.viewer-list>.section-bar.list-title>div:first-child{min-width:0;display:flex;align-items:center;gap:8px}
.viewer-list .list-title h2{margin:0;white-space:nowrap;font-size:16px}
.viewer-list #match-count{font-size:12px;white-space:nowrap;color:#ABB8BB}
@media(max-width:500px){.viewer-list>.section-bar.list-title{padding:8px 12px!important}.viewer-list>.section-bar.list-title>div:first-child{flex-direction:column;align-items:flex-start;gap:1px}.viewer-list>.section-bar.list-title .icon-only{width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;padding:8px}}

/* Viewer65: title and progress share one compact line, including phone widths. */
html body.viewer-body .viewer-list>.section-bar.list-title{padding:5px 10px!important;min-height:40px;gap:4px;flex-wrap:nowrap}
html body.viewer-body .viewer-list>.section-bar.list-title>div:first-child{display:flex;flex-direction:row!important;align-items:center!important;gap:6px;flex-shrink:0;white-space:nowrap}
html body.viewer-body .viewer-list .list-title h2{font-size:13px!important;font-weight:550}
html body.viewer-body .viewer-list #match-count{font-size:11px!important}
html body.viewer-body .viewer-list>.section-bar.list-title>div:last-child{gap:2px;flex-shrink:0}
html body.viewer-body .viewer-list .list-title .icon-only{width:32px;min-width:32px;max-width:32px;height:36px;min-height:36px;padding:7px}
html body.viewer-body .viewer-list .list-title button{font-size:12px!important}
html body.viewer-body .viewer-tabs button{font-size:15px}
html body.viewer-body .viewer-dialog :is(button,select),html body.viewer-body .viewer-dialog .court-setting-row strong{font-size:13px!important}
html body.viewer-body .viewer-dialog .dialog-head h2{font-size:15px!important}
@media(max-width:360px){html body.viewer-body .viewer-list>.section-bar.list-title{padding-inline:7px!important}html body.viewer-body .viewer-list .list-title h2{font-size:12px!important}html body.viewer-body .viewer-list #match-count{font-size:10px!important}html body.viewer-body .viewer-list .list-title .icon-only{width:30px;min-width:30px;max-width:30px}}
/* Keep the standalone spectator view usable on wide screens as well as phones. */
.viewer-live:not(.is-fullscreen){width:calc(100% - 20px);max-width:78svh;margin-inline:auto}

/* Compact67: top-right score tools and a genuinely shallow schedule toolbar. */
html body.viewer-body .viewer-live>.section-bar{gap:1px!important;min-height:30px!important;height:30px}
html body.viewer-body .viewer-live>.section-bar button,html body.viewer-body .viewer-live>.fullscreen-bar button{width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;padding:6px!important}
html body.viewer-body .viewer-live .viewer-icon{width:17px;height:17px}
html body.viewer-body .viewer-list>.section-bar.list-title{height:34px!important;min-height:34px!important;padding-block:0!important}
html body.viewer-body .viewer-list .list-title :is(.icon-only,.design-icon-only){width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important;padding:6px!important}
html body.viewer-body .viewer-list .list-title .viewer-icon{width:17px;height:17px}
/* Compact navigation folds continuously, with no abrupt content replacement. */
html body.viewer-body .viewer-tabs{min-height:0;max-height:34px;height:34px;overflow:hidden;opacity:1;padding-block:0;border-bottom-width:1px;transition:height 320ms ease,max-height 320ms ease,opacity 220ms ease,border-width 320ms ease}
html body.viewer-body .viewer-tabs button{min-height:32px;height:32px;padding-block:2px;font-size:14px;border-bottom-width:2px}
html body.viewer-body.viewer-tabs-hidden .viewer-tabs{height:0;max-height:0;opacity:0;border-bottom-width:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){html body.viewer-body .viewer-tabs{transition:none}}

/* Live integration only: expose audio control, fit the authoritative board frame, label drafts. */
.viewer-live .court-card.original-court>.original-score-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;transform:none}
.viewer-body .court-empty{background:#181C22;color:#F2EFE7;border-color:#00E5BE33}
.viewer-body .design-ranking .dt-pending-result{display:inline-block;white-space:nowrap;word-break:keep-all}

/* Complete names stay in the existing scrollable dialog; no automatic movement. */
.viewer-full-names dd{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-height:none;min-width:0}.viewer-full-names{scroll-behavior:auto}
