/* Court first; optional details are fixed above it only when explicitly opened. */
dialog[data-sports-view] .sports-set-score{grid-column:1/-1;grid-row:1;order:-1;text-align:center;font-size:max(16px,1rem);line-height:1.5;color:#f4f2ff;overflow-wrap:anywhere}
.sports-result-leading{width:100%;min-width:0}.sports-result-leading:empty,.sports-result-leading[hidden]{display:none}.sports-result-leading .sports-live-ad{border:0;padding:0;color:#f4f2ff}.sports-result-leading [data-sports-live-ad-slot]{width:100%;min-width:0}
dialog[data-sports-view] [class$="-shell"]{padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
dialog[data-sports-view] [class$="-header"]{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-bottom:6px;min-height:48px}
dialog[data-sports-view] [class$="-header"] h1{font-size:clamp(20px,2.5vw,28px);min-width:0;overflow-wrap:anywhere;flex:1}
dialog[data-sports-view] [data-mode]{display:none}
dialog[data-sports-view] .sports-corner-exit,dialog[data-sports-view] .sports-info-toggle{flex:0 0 48px;min-width:48px;width:48px;height:48px;padding:8px}
dialog[data-sports-view] .sports-corner-exit{order:3}
dialog[data-sports-view] .sports-info-toggle{order:-1}
dialog[data-sports-view] [class$="-match"]{grid-template-rows:auto auto auto;gap:6px;align-content:start}
dialog[data-sports-view] [class$="-scoreboard"],dialog[data-sports-view] [class$="-score"]{padding:6px 10px;gap:6px}
dialog[data-sports-view] [class$="-score"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
dialog[data-sports-view] [class$="-score"]>div:empty{display:none}
dialog[data-sports-view] [class$="-score"]>[data-tennis-games],dialog[data-sports-view] [class$="-score"]>[data-pickleball-games],dialog[data-sports-view] [class$="-score"]>[data-badminton-games]{grid-column:1/-1;text-align:center;font-size:16px}
dialog[data-sports-view] .sports-bottom-ticker{min-height:40px;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 16px;padding:8px 12px;border:1px solid #7c85a7;border-radius:10px;background:#152534;color:#f4f2ff;text-align:center;overflow-wrap:anywhere;font-size:max(16px,1rem);line-height:1.5}
dialog[data-sports-view] .sports-bottom-ticker:empty{display:none}
dialog[data-sports-view] .sports-ticker-content>*{position:static;inset:auto;visibility:visible;margin:0;padding:0;border:0;border-radius:0;background:transparent;max-width:100%;font-size:max(16px,1rem);color:#f4f2ff}
dialog[data-sports-view] .sports-bottom-ticker .pong-banner-hidden{display:none}
dialog[data-sports-view] [data-serving]{display:none}dialog[data-sports-view] .pong-banner-hidden+[data-serving]{display:inline}
dialog[data-sports-view] [class$="-toolbar"]{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));gap:6px;align-content:start}
dialog[data-sports-view] [class$="-toolbar"]>button{min-height:48px;padding:8px}
dialog[data-sports-view] [class$="-toolbar"] [data-watch]{grid-column:auto}
dialog[data-sports-view] [class$="-help"]{position:fixed;inset:64px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));z-index:10;width:auto;max-width:760px;max-height:none;margin:0 auto;padding:16px;overflow:auto;overscroll-behavior:contain;background:#20283e;border:1px solid #a99bc8;border-radius:12px;box-shadow:0 8px 60px #000b}
dialog[data-sports-view] [class$="-help"]>[data-help-close]{position:sticky;top:0;float:inline-end;background:#29324b;z-index:1;min-width:48px;min-height:48px}
dialog[data-sports-view] [class$="-help"]>button:not([data-help-close]){margin:6px}
dialog[data-sports-view] [class$="-help"]>[data-sports-clock],dialog[data-sports-view] [class$="-help"]>[data-rally],dialog[data-sports-view] [class$="-help"]>[data-best]{display:block;margin:8px 0;font-size:16px;color:#f4f2ff}
dialog[data-sports-view] [data-call]{display:none}
@media(orientation:landscape) and (min-width:540px){dialog[data-sports-view] [class$="-layout"]{grid-template-columns:minmax(0,1fr) 120px;align-items:start}dialog[data-sports-view] [class$="-toolbar"]{grid-template-columns:repeat(2,minmax(48px,1fr))}}
@media(orientation:portrait) and (min-width:650px){dialog[data-sports-view] [class$="-toolbar"]{grid-template-columns:repeat(7,minmax(48px,1fr))}}
@media(max-height:500px) and (orientation:landscape){dialog[data-sports-view] [class$="-layout"]{grid-template-columns:minmax(0,1fr) 172px}dialog[data-sports-view] [class$="-toolbar"]{grid-template-columns:repeat(3,minmax(48px,1fr))}}

.sports-camera-controls{display:flex;gap:6px;grid-column:1/-1;justify-content:center}.sports-camera-controls>button{flex:1;min-width:48px;min-height:48px;font-size:24px;padding:6px}

@media(orientation:landscape) and (min-width:540px){.sports-camera-controls{display:grid;grid-template-columns:repeat(2,minmax(48px,1fr))}.sports-camera-controls>[data-camera-turn="0"]{grid-row:2;grid-column:1/-1}}

/* A separate ticker, following Guandan/Mahj's external message strip. */
dialog[data-sports-view] .sports-bottom-ticker{display:block;container-type:inline-size;overflow:hidden;min-height:44px;direction:ltr}
dialog[data-sports-view] .sports-ticker-content{display:flex;align-items:center;gap:24px;width:max-content;min-width:100%;white-space:nowrap;animation:sports-ticker-travel 12s ease-in-out infinite alternate}
dialog[data-sports-view][dir=rtl] .sports-ticker-content{direction:rtl}
@keyframes sports-ticker-travel{0%,25%{transform:translateX(0)}75%,100%{transform:translateX(min(0px,calc(100cqw - 100%)))}}
@media(prefers-reduced-motion:reduce){dialog[data-sports-view] .sports-bottom-ticker{overflow-x:auto}dialog[data-sports-view] .sports-ticker-content{animation:none;white-space:normal;width:auto;flex-wrap:wrap}}
dialog[data-sports-view] .sports-bottom-ticker:focus-within .sports-ticker-content,dialog[data-sports-view] .sports-bottom-ticker:hover .sports-ticker-content{animation-play-state:paused}
.cbid-expedition .exp-header-actions>[data-close]{width:48px;min-width:48px;min-height:48px;padding:8px;font-size:28px;line-height:1}

dialog[data-sports-view] [class$="-toolbar"]>[data-pause]:disabled,dialog[data-sports-view] [class$="-toolbar"]>[data-tennis-pause]:disabled,dialog[data-sports-view] [class$="-toolbar"]>[data-pickleball-pause]:disabled,dialog[data-sports-view] [class$="-toolbar"]>[data-badminton-pause]:disabled{display:none}

/* Screenshot correction: a left info action and right exit, with no icon rail. */
dialog[data-sports-view] [class$="-header"]{direction:ltr}
dialog[data-sports-view][dir=rtl] [class$="-header"] h1{direction:rtl;text-align:right}
dialog[data-sports-view] [class$="-layout"]{grid-template-columns:minmax(0,1fr)}
dialog[data-sports-view] [class$="-controls"],dialog[data-sports-view] [class$="-cheer-row"],dialog[data-sports-view] [data-retired-control]{display:none!important}
dialog[data-sports-view] [class$="-help"]>button{min-width:48px;min-height:48px;font-size:16px}
dialog[data-sports-view] .sports-camera-controls{margin:12px 0;max-width:240px}

/* The service ticker occupies the one top row between info and exit. */
dialog[data-sports-view] [class$="-header"]{gap:6px}
dialog[data-sports-view] [class$="-header"] .sports-bottom-ticker{order:1;flex:1;min-width:0;width:0;margin:0;padding:8px;max-width:none}
dialog[data-sports-view] button,dialog[data-sports-view] a,dialog[data-sports-view] select{touch-action:manipulation}

.sports-result-page{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;gap:20px;overflow:auto;overscroll-behavior:contain;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#101827;color:#f4f2ff;font-size:16px;line-height:1.6}
.sports-result-page[hidden]{display:none!important}
.sports-result-page>header{display:flex;gap:16px;align-items:center}.sports-result-page h2{flex:1;font-size:24px;margin:0}.sports-result-page button{min-width:48px;min-height:48px;font-size:16px;touch-action:manipulation}.sports-result-page>header button{font-size:28px}
.sports-result-page p{color:#f4f2ff;font-size:16px;margin:0}.sports-result-page>[role=timer]{font-size:24px;font-weight:700}
.sports-result-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sports-result-score>div{padding:20px;background:#202b43;border:1px solid #a49ec7;border-radius:12px;overflow-wrap:anywhere;text-align:center}.sports-result-score strong{font-size:48px;color:#f4f2ff}
.sports-result-actions{display:grid;gap:16px}.sports-result-actions p{margin:0}

.tennis-entry select,.pickleball-entry select,.badminton-entry select{font-size:16px;min-height:48px;max-width:100%;padding:8px 12px;touch-action:manipulation}

/* One sound/speech switch sits immediately to the left of the exit. */
.game-voice-toggle{min-width:48px;width:48px;min-height:48px;flex:0 0 48px;font-size:24px!important;line-height:1;padding:8px;touch-action:manipulation;background:#29324b;color:#f4f2ff;border:1px solid #a99bc8;border-radius:10px;cursor:pointer}
.game-voice-toggle:focus-visible{outline:3px solid #a3f0da;outline-offset:3px}
dialog[data-sports-view] [class$="-header"] .game-voice-toggle{order:2}
.dialog-header .game-voice-toggle{margin-inline-start:auto}
dialog[data-sports-view] .sports-score-bid{display:inline-flex;justify-content:center;align-items:center;min-width:48px;min-height:48px;font-size:16px;line-height:1.4;padding:8px 14px;margin:6px 0 0;max-width:100%;white-space:normal;border:1px solid #a3f0da;border-radius:10px;background:#a3f0da;color:#102b24;touch-action:manipulation}
dialog[data-sports-view] .sports-score-bid:disabled{background:#26344b;color:#f4f2ff;border-style:dashed;border-color:#9ba7c4;opacity:1}
dialog[data-sports-view] .sports-bid-status{grid-column:1/-1;grid-row:auto;margin:2px 0;font-size:16px;line-height:1.5;color:#f4f2ff;text-align:center;overflow-wrap:anywhere}
dialog[data-sports-view] .sports-bid-status:empty{display:none}
.sports-round-history{display:grid;gap:8px;margin-top:12px}.sports-round-history>button{width:100%;text-align:start;min-height:48px;font-size:16px}
.sports-result-actions .sports-live-ad{border-top:1px solid #7c85a7;padding-top:16px;color:#f4f2ff}.sports-result-actions [data-sports-live-ad-slot]{width:100%;min-width:0}

/* Sport-specific illustrations replace the repeated court thumbnail. */
.tennis-entry-art,.pickleball-entry-art,.badminton-entry-art{height:160px;width:100%;min-width:0;border:0!important;transform:none!important;border-radius:14px;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important}
.tennis-entry-art{background-image:url('/tennis-card.svg')!important}.pickleball-entry-art{background-image:url('/pickleball-card.svg')!important}.badminton-entry-art{background-image:url('/badminton-card.svg')!important}
.tennis-entry-art::before,.tennis-entry-art::after,.pickleball-entry-art::before,.pickleball-entry-art::after,.badminton-entry-art::before,.badminton-entry-art::after,.tennis-entry-art>*,.pickleball-entry-art>*,.badminton-entry-art>*{display:none!important}
@media(max-width:500px){.tennis-entry-art,.pickleball-entry-art,.badminton-entry-art{width:100%;max-width:340px;height:190px}}
dialog[data-sports-view] [class$="-help"] p{font-size:1rem;line-height:1.65}
.sports-result-page>header{flex-wrap:wrap}.sports-result-page>header .sports-result-ticker{flex:1 1 240px;min-width:0;max-height:168px;overflow-y:auto;text-align:start;order:1}.sports-result-page>header:has(.sports-result-ticker:not([hidden])) h2{flex-basis:100%}.sports-result-page>header .sports-result-ticker[hidden]{display:none}.sports-result-page>header .game-voice-toggle{order:2}.sports-result-page>header>button:not(.game-voice-toggle){order:3}

/* Keep the iframe in place: reparenting it would reload the ad at every result. */
[data-cbid-bid-ad][data-sports-result-ad="true"]{position:fixed;inset-inline:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:auto;z-index:31;background:#101827}
[data-sports-view]:has([data-sports-result-ad="true"]) .sports-result-page{padding-bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--sports-bid-ad-height,0px))}

/* Play and Watch retain one full-width bottom advertisement. */
.site-typography dialog[data-sports-view]:not(.creative-live-dialog){padding:0}
[data-sports-view] [data-cbid-bid-ad]{min-width:0;width:100%}
[data-sports-view] [data-cbid-bid-ad] .bid-page-ad{padding-inline:0}
[data-cbid-bid-ad][data-sports-result-ad="true"]{inset-inline:0;bottom:0}
