/* Court first; optional details are fixed above it only when explicitly opened. */
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"]>[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}
