﻿/* Canonical sports broadcast composition. Shared tokens own color and typography. */
.public-viewer-shell .viewer-page { --viewer-header-height:80px; --viewer-sheet-height:184px; --viewer-dock-height:124px; width:100%; height:100dvh; min-height:0; padding:0; overflow:hidden; color:var(--public-text); font-family:var(--dm-font-body); }
.public-viewer-shell .viewer-page *, .public-viewer-shell .viewer-page *::before, .public-viewer-shell .viewer-page *::after { box-sizing:border-box; }
.public-viewer-shell .viewer-page :is(button,input,select) { font-family:inherit; }
.public-viewer-shell .viewer-page button:disabled { opacity:.45; cursor:default; }
.public-viewer-shell .viewer-page :is(button,a,input,select,summary):focus-visible { outline:2px solid var(--public-accent); outline-offset:3px; }
.public-viewer-shell .viewer-page .viewer-workspace.is-fullscreen { display:grid; height:100%; min-height:0; grid-template-rows:auto minmax(0,1fr); gap:0; }
.public-viewer-shell .viewer-page .viewer-control-deck { position:relative; inset:auto; z-index:1000; min-height:80px; margin:0; padding:12px 24px; border:0; border-bottom:1px solid var(--public-line); border-radius:0; background:var(--public-surface); box-shadow:none; backdrop-filter:none; }
.public-viewer-shell .viewer-page .viewer-command-bar { border:0; padding:0; }
.public-viewer-shell .viewer-page .viewer-control-strip { display:grid; grid-template-columns:104px minmax(0,1fr) auto 44px; gap:12px 24px; align-items:center; }
.public-viewer-shell .viewer-page .viewer-strip-nav { display:block; }
.public-viewer-shell .viewer-page .viewer-strip-nav a { padding:0; border:0; background:transparent; color:var(--public-text); font-size:17px; font-weight:800; letter-spacing:-.06em; }
.public-viewer-shell .viewer-page .viewer-strip-context { display:grid; grid-template-columns:minmax(0,1fr); justify-self:stretch; grid-column:2; grid-row:1; gap:5px; min-width:0; width:auto; padding:0; }
.public-viewer-shell .viewer-page .viewer-title-compact { display:block; grid-column:1; margin:0; min-width:0; max-width:100%; font-size:20px; font-weight:750; line-height:1.25; letter-spacing:-.035em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.public-viewer-shell .viewer-page .viewer-event-meta { display:flex; grid-column:1; min-width:0; gap:12px; align-items:center; color:var(--public-muted); font-size:13px; line-height:1.3; }
.public-viewer-shell .viewer-page .viewer-event-date { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.public-viewer-shell .viewer-page .viewer-mode-badge { min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:12px; font-weight:700; }
.public-viewer-shell .viewer-page .viewer-mode-badge.status-live::before { content:''; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:currentColor; }
.public-viewer-shell .viewer-page .viewer-core-actions { position:static; display:flex; grid-column:3; grid-row:1; gap:8px; align-items:center; }
.public-viewer-shell .viewer-page :is(.viewer-toggle,.viewer-strip-link,.viewer-extras-menu > summary) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; font-size:14px; font-weight:650; border:1px solid var(--public-line); border-radius:8px; box-shadow:none; background:var(--public-surface); }
.public-viewer-shell .viewer-page .viewer-appearance { grid-column:4; grid-row:1; width:44px; height:44px; }
.public-viewer-shell .viewer-page .viewer-extras-menu { position:relative; }
.public-viewer-shell .viewer-page .viewer-strip-nav .viewer-strip-link { padding:0; border:0; background:transparent; }
.public-viewer-shell .viewer-page #viewer-share-button-mobile { display:none !important; }
.public-viewer-shell .viewer-page .viewer-extras-menu > summary { width:auto; cursor:pointer; list-style:none; }
.public-viewer-shell .viewer-page .viewer-extras-menu > summary::-webkit-details-marker { display:none; }
.public-viewer-shell .viewer-page .viewer-extras-menu .viewer-strip-actions { position:absolute; top:calc(100% + 10px); right:0; z-index:1200; display:flex; flex-direction:column; align-items:stretch; width:240px; max-width:calc(100vw - 24px); padding:8px; gap:4px; border:1px solid var(--public-line); border-radius:10px; background:var(--public-surface); box-shadow:0 12px 32px color-mix(in srgb,var(--public-text) 12%,transparent); }
.public-viewer-shell .viewer-page .viewer-stage[data-layout="night-stage-scene"], .public-viewer-shell .viewer-page.is-rail-collapsed .viewer-stage[data-layout="night-stage-scene"] { display:grid; grid-template-columns:360px minmax(0,1fr); position:relative; height:100%; min-height:0; padding:0; gap:0; }
.public-viewer-shell .viewer-page .viewer-stage-glow { display:none; }
.public-viewer-shell .viewer-page .viewer-roster-rail[data-slot="viewer-overlay-rail"] { position:relative; inset:auto; display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; width:360px; height:100%; min-height:0; padding:20px 0 0; gap:16px; background:var(--public-surface); border:0; border-right:1px solid var(--public-line); border-radius:0; box-shadow:none; backdrop-filter:none; }
.public-viewer-shell .viewer-page .viewer-roster-topline { display:flex; align-items:center; flex-wrap:nowrap; padding:0 20px; gap:10px; }
.public-viewer-shell .viewer-page .viewer-roster-topline > .summary-label { margin:0; color:var(--public-text); font-size:18px; font-weight:750; line-height:1.4; letter-spacing:-.035em; text-transform:none; }
.public-viewer-shell .viewer-page .viewer-roster-meta { margin-left:auto; }
.public-viewer-shell .viewer-page .viewer-roster-meta .viewer-chip { border:0; padding:0; background:transparent; color:var(--public-muted); font-size:13px; font-weight:500; white-space:nowrap; }
.public-viewer-shell .viewer-page .viewer-roster-meta .viewer-chip:last-child, .public-viewer-shell .viewer-page .viewer-selected-summary { display:none; }
.public-viewer-shell .viewer-page #viewer-rail-toggle { display:grid; place-items:center; flex-shrink:0; min-width:32px; width:32px; min-height:40px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--public-muted); font-size:20px; }
.public-viewer-shell .viewer-page .viewer-roster-meta #viewer-roster-count { display:block; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.public-viewer-shell .viewer-page.is-rail-collapsed .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:64px minmax(0,1fr); }
.public-viewer-shell .viewer-page.is-rail-collapsed .viewer-roster-rail[data-slot="viewer-overlay-rail"] { display:block; width:64px; padding:20px 12px; }
.public-viewer-shell .viewer-page.is-rail-collapsed .viewer-roster-topline { justify-content:center; padding:0; }
.public-viewer-shell .viewer-page.is-rail-collapsed .viewer-roster-rail :is(.viewer-roster-tabs,.viewer-search,.viewer-roster,.viewer-desktop-focus,.viewer-roster-meta,.summary-label) { display:none; }
.public-viewer-shell .viewer-page .viewer-roster-tabs { display:flex; padding:0 20px; gap:0; border-bottom:1px solid var(--public-line); }
.public-viewer-shell .viewer-page .viewer-roster-tab { flex:1; min-height:44px; margin-bottom:-1px; padding:8px 6px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--public-muted); font-size:14px; font-weight:650; cursor:pointer; }
.public-viewer-shell .viewer-page .viewer-roster-tab:is(.is-active,[aria-pressed="true"]) { color:var(--public-accent); border-bottom-color:var(--public-accent); }
.public-viewer-shell .viewer-page .viewer-search { display:block; width:calc(100% - 40px); min-height:46px; margin:0 20px; padding:10px 14px; border:1px solid var(--public-line); border-radius:8px; background:var(--public-surface-soft); color:var(--public-text); font-size:14px; }
.public-viewer-shell .viewer-page .viewer-search::placeholder { color:var(--public-muted); opacity:1; }
.public-viewer-shell .viewer-page :is(.viewer-roster,.viewer-mobile-roster) { display:block; min-height:0; overflow-y:auto; overflow-x:hidden; padding:0; scrollbar-width:thin; overscroll-behavior:contain; }
.public-viewer-shell .viewer-page .roster-list { display:grid; gap:0; }
.public-viewer-shell .viewer-page .roster-entry { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:center; min-width:0; border-bottom:1px solid var(--public-line); background:transparent; }
.public-viewer-shell .viewer-page .roster-entry:hover { background:var(--public-surface-soft); }
.public-viewer-shell .viewer-page .roster-entry.is-active { background:var(--dm-accent-soft); box-shadow:inset 3px 0 var(--public-accent); }
.public-viewer-shell .viewer-page .roster-row { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; width:100%; min-width:0; height:84px; min-height:84px; padding:14px 0 14px 20px; gap:12px; border:0; border-radius:0; background:transparent; color:var(--public-text); text-align:left; box-shadow:none; }
.public-viewer-shell .viewer-page .roster-row:is(:hover,.is-active) { background:transparent; box-shadow:none; border:0; }
.public-viewer-shell .viewer-page :is(.roster-avatar,.roster-avatar svg) { display:block; width:36px; height:36px; }
.public-viewer-shell .viewer-page .roster-avatar svg { color:var(--public-muted); }
.public-viewer-shell .viewer-page .roster-avatar .viewer-avatar-disc { fill:var(--public-surface-soft); stroke:var(--public-line); stroke-width:1; }
.public-viewer-shell .viewer-page .roster-entry.is-active .roster-avatar svg { color:var(--public-accent); }
.public-viewer-shell .viewer-page .roster-entry.is-active .viewer-avatar-disc { stroke:var(--public-accent); fill:var(--public-surface); }
.public-viewer-shell .viewer-page .roster-row-main { display:grid; min-width:0; gap:6px; }
.public-viewer-shell .viewer-page .roster-row-head { display:flex; min-width:0; align-items:baseline; gap:8px; }
.public-viewer-shell .viewer-page .roster-name { margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; line-height:1.4; font-weight:750; letter-spacing:-.02em; }
.public-viewer-shell .viewer-page .roster-bib { flex-shrink:0; color:var(--public-muted); font-size:13px; font-variant-numeric:tabular-nums; }
.public-viewer-shell .viewer-page .roster-row-meta { display:flex; flex-wrap:nowrap; justify-content:flex-start; align-items:center; min-width:0; gap:8px; }
.public-viewer-shell .viewer-page .roster-team { margin:0; min-width:0; font-size:13px; color:var(--public-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.public-viewer-shell .viewer-page .viewer-stream-label { color:var(--public-muted); font-size:11px; }
.public-viewer-shell .viewer-page .roster-signal-pill { display:inline-flex; flex-shrink:0; align-items:center; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--public-muted); font-size:12px; font-weight:500; white-space:nowrap; }
.public-viewer-shell .viewer-page [data-signal-state="live"] .roster-signal-pill { color:var(--public-live); }
.public-viewer-shell .viewer-page [data-signal-state="live"] .roster-signal-pill::before { content:''; width:5px; height:5px; margin-right:5px; border-radius:50%; background:currentColor; }
.public-viewer-shell .viewer-page .roster-favorite { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:transparent; color:var(--public-muted); font-size:25px; cursor:pointer; }
.public-viewer-shell .viewer-page .roster-favorite[aria-pressed="true"] { color:var(--public-accent); }
.public-viewer-shell .viewer-page .roster-favorite:hover { background:var(--public-surface-soft); }
.public-viewer-shell .viewer-page .roster-selected-details { display:none; }
.public-viewer-shell .viewer-page .viewer-desktop-focus { padding:20px; border-top:1px solid var(--public-line); background:var(--public-surface); }
.public-viewer-shell .viewer-page .focused-card { display:grid; gap:8px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.public-viewer-shell .viewer-page .focused-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
.public-viewer-shell .viewer-page .focused-card-title { min-width:0; }
.public-viewer-shell .viewer-page .focused-card .summary-label { margin:0 0 7px; color:var(--public-muted); font-size:11px; font-weight:650; letter-spacing:.08em; text-transform:uppercase; }
.public-viewer-shell .viewer-page .focused-card .panel-title { margin:0; font-size:19px; line-height:1.3; font-weight:750; letter-spacing:-.035em; overflow-wrap:anywhere; }
.public-viewer-shell .viewer-page .focused-card-status { display:flex; flex-direction:column; align-items:flex-end; gap:7px; max-width:120px; }
.public-viewer-shell .viewer-page .focused-card-status .viewer-mode-badge { color:var(--public-muted); font-size:14px; }
.public-viewer-shell .viewer-page .focused-bib { color:var(--public-muted); font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; }
.public-viewer-shell .viewer-page :is(.focused-team,.focused-category,.focused-card-signal) { margin:0; color:var(--public-muted); font-size:13px; line-height:1.45; }
.public-viewer-shell .viewer-page .focused-card-signal { color:var(--public-text); }
.public-viewer-shell .viewer-page .focused-card-quality { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; }
.public-viewer-shell .viewer-page .focused-card-actions { display:flex; margin-top:6px; gap:8px; }
.public-viewer-shell .viewer-page .focused-card-actions button { flex:1; min-height:44px; font-size:14px; }
.public-viewer-shell .viewer-page .public-button-primary { border:1px solid var(--public-accent); border-radius:8px; background:var(--public-accent); color:var(--dm-text-inverse); box-shadow:none; font-weight:700; }
.public-viewer-shell .viewer-page .viewer-map-column { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; min-height:0; height:100%; }
.public-viewer-shell .viewer-page .viewer-map-stage { display:block; position:relative; min-width:0; min-height:0; height:100%; padding:0; border:0; border-radius:0; overflow:hidden; background:var(--public-surface-soft); box-shadow:none; }
.public-viewer-shell .viewer-page .viewer-map-stage[data-layout="night-stage-map"] .viewer-map-frame { width:100%; height:100%; min-height:0; padding:0; border:0; border-radius:0; box-shadow:none; }
.public-viewer-shell .viewer-page .viewer-map { min-height:0; width:100%; height:100%; }
.public-viewer-shell .viewer-page .viewer-map-command-bar { display:flex; align-items:flex-start; gap:12px; position:absolute; top:20px; right:20px; max-width:calc(100% - 40px); }
.public-viewer-shell .viewer-page .viewer-camera-controls { display:flex; align-items:center; padding:4px; border:1px solid var(--public-line); border-radius:10px; background:var(--public-surface); box-shadow:0 2px 8px color-mix(in srgb,var(--public-text) 8%,transparent); pointer-events:auto; }
.public-viewer-shell .viewer-page .viewer-camera-button { min-height:36px; padding:7px 12px; border:0; border-radius:6px; color:var(--public-muted); background:transparent; font-size:13px; font-weight:650; cursor:pointer; }
.public-viewer-shell .viewer-page .viewer-camera-button:is(.is-active,[aria-pressed="true"]) { background:var(--dm-accent-soft); color:var(--public-accent); }
.public-viewer-shell .viewer-page .viewer-map-zoom-controls { display:flex; padding:0; gap:0; border:1px solid var(--public-line); border-radius:10px; background:var(--public-surface); overflow:hidden; }
.public-viewer-shell .viewer-page .viewer-map-control-button { min-width:44px; min-height:44px; padding:8px; border:0; border-radius:0; background:var(--public-surface); font-size:20px; }
.public-viewer-shell .viewer-page :is(.viewer-map-zoom-readout,.viewer-map-overlay-status) { display:none; }
.public-viewer-shell .viewer-page .viewer-replay-dock { display:grid; position:relative; z-index:850; height:var(--viewer-dock-height); padding:16px 24px 12px; gap:8px; background:var(--public-surface); border-top:1px solid var(--public-line); }
.public-viewer-shell .viewer-page .viewer-replay-controls, .public-viewer-shell .viewer-page.is-history-open .viewer-replay-controls { position:static; display:flex; align-items:center; gap:12px; grid-column:auto; grid-row:auto; width:100%; height:auto; padding:0; border:0; background:transparent; }
.public-viewer-shell .viewer-page .viewer-replay-controls .public-button { min-height:42px; padding:8px 16px; font-size:14px; }
.public-viewer-shell .viewer-page .viewer-speed { height:42px; min-width:74px; padding:6px 10px; color:var(--public-text); background:var(--public-surface-soft); border:1px solid var(--public-line); border-radius:8px; font-size:14px; font-weight:650; }
.public-viewer-shell .viewer-page .timeline-current-time { display:block; margin:0; color:var(--public-text); font-size:15px; line-height:1.3; font-weight:700; font-variant-numeric:tabular-nums; }
.public-viewer-shell .viewer-page .viewer-live-action { margin-left:auto; min-height:42px; color:var(--public-accent); font-size:13px; }
.public-viewer-shell .viewer-page .viewer-strip-timeline, .public-viewer-shell .viewer-page.is-history-open .viewer-strip-timeline { position:static; display:grid; grid-template-columns:minmax(0,1fr); grid-column:auto; grid-row:auto; width:100%; height:auto; min-width:0; padding:0; gap:0; border:0; background:transparent; }
.public-viewer-shell .viewer-page .viewer-timeline { display:block; width:100%; min-width:0; min-height:24px; height:24px; margin:0; padding:0; accent-color:var(--public-accent); cursor:pointer; }
.public-viewer-shell .viewer-page .timeline-summary { display:block; margin:0; text-align:right; font-size:11px; line-height:1.2; color:var(--public-muted); font-variant-numeric:tabular-nums; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet { display:none; }
.public-viewer-shell .viewer-page .viewer-connection-banner { position:fixed; top:calc(var(--viewer-header-height) + 12px); bottom:auto; left:380px; right:auto; max-width:calc(100vw - 400px); z-index:1050; font-size:13px; }
.public-viewer-shell .viewer-page .viewer-selected-avatar.is-stale { color:var(--public-muted); }
.public-viewer-shell .viewer-page .viewer-selected-avatar.is-stale .viewer-avatar-disc { stroke:var(--public-muted); }
.public-locked-shell .viewer-page .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:minmax(0,1fr); }
.public-locked-shell .viewer-page .viewer-control-strip { grid-template-columns:minmax(0,1fr); }
.public-locked-shell .viewer-page .viewer-strip-context { grid-column:1; }
@media (max-width:1023px) {
.public-viewer-shell .viewer-page { --viewer-header-height:72px; --viewer-dock-height:112px; }
.public-viewer-shell .viewer-page .viewer-control-deck { min-height:72px; padding:10px 12px; }
.public-viewer-shell .viewer-page .viewer-control-strip { grid-template-columns:minmax(0,1fr) auto 44px; gap:8px; }
.public-viewer-shell .viewer-page .viewer-strip-nav { display:none; }
.public-viewer-shell .viewer-page .viewer-strip-context { grid-column:1; gap:5px; }
.public-viewer-shell .viewer-page .viewer-title-compact { max-width:100%; font-size:16px; line-height:1.3; }
.public-viewer-shell .viewer-page .viewer-event-meta { gap:8px; font-size:11px; }
.public-viewer-shell .viewer-page .viewer-mode-badge { font-size:11px; }
.public-viewer-shell .viewer-page .viewer-core-actions { grid-column:2; }
.public-viewer-shell .viewer-page #viewer-share-button { display:none; }
.public-viewer-shell .viewer-page #viewer-share-button-mobile { display:flex !important; }
.public-viewer-shell .viewer-page .viewer-extras-menu > summary { width:44px; padding:0; font-size:0; }
.public-viewer-shell .viewer-page .viewer-extras-menu > summary::before { content:'\2699'; font-size:21px; }
.public-viewer-shell .viewer-page .viewer-appearance { grid-column:3; }
.public-viewer-shell .viewer-page .viewer-stage[data-layout="night-stage-scene"], .public-viewer-shell .viewer-page.is-rail-collapsed .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:minmax(0,1fr); }
.public-viewer-shell .viewer-page .viewer-roster-rail[data-slot="viewer-overlay-rail"] { display:none; }
.public-viewer-shell .viewer-page .viewer-map-column { display:block; position:relative; padding-bottom:0; transition:none; }
.public-viewer-shell .viewer-page .viewer-map-command-bar { top:12px; right:12px; max-width:calc(100% - 24px); flex-direction:column; align-items:flex-end; gap:8px; }
.public-viewer-shell .viewer-page .viewer-camera-button { min-height:36px; padding:7px 10px; font-size:12px; }
.public-viewer-shell .viewer-page .viewer-replay-dock { position:absolute; left:0; right:0; bottom:var(--viewer-sheet-height); padding:10px 12px 8px; gap:4px; }
.public-viewer-shell .viewer-page .viewer-replay-controls { gap:8px; flex-wrap:nowrap; }
.public-viewer-shell .viewer-page .viewer-replay-controls #viewer-play-toggle { width:44px; min-width:44px; height:42px; padding:0; flex-shrink:0; font-size:0; }
.public-viewer-shell .viewer-page #viewer-play-toggle::before { content:'\25b6'; font-size:17px; }
.public-viewer-shell .viewer-page #viewer-play-toggle[aria-pressed="true"]::before { content:'\2016'; font-size:22px; }
.public-viewer-shell .viewer-page .viewer-speed { min-width:59px; padding:4px 6px; font-size:13px; }
.public-viewer-shell .viewer-page .timeline-current-time { min-width:0; font-size:12px; flex:1; }
.public-viewer-shell .viewer-page .viewer-live-action { min-width:44px; padding:6px 8px; max-width:92px; line-height:1.2; font-size:11px; }
.public-viewer-shell .viewer-page .viewer-timeline { min-height:32px; height:32px; }
.public-viewer-shell .viewer-page .timeline-summary { font-size:10px; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet, .public-viewer-shell .viewer-page.is-mobile-sheet-collapsed .viewer-mobile-sheet { position:absolute; z-index:900; bottom:0; left:0; right:0; display:flex; flex-direction:column; width:100%; height:var(--viewer-sheet-height); max-height:calc(100dvh - var(--viewer-header-height) - var(--viewer-dock-height)); margin:0; padding:0 16px max(10px,env(safe-area-inset-bottom)); gap:10px; overflow:hidden; border:0; border-top:1px solid var(--public-line); border-radius:14px 14px 0 0; background:var(--public-surface); box-shadow:0 -4px 16px color-mix(in srgb,var(--public-text) 6%,transparent); }
.public-viewer-shell .viewer-page .viewer-mobile-sheet:is([data-sheet="list"],[data-sheet="half"]) { height:min(52dvh,460px); }
.public-viewer-shell .viewer-page .viewer-mobile-sheet[data-sheet="full"] { height:calc(100dvh - var(--viewer-header-height) - var(--viewer-dock-height)); }
.public-viewer-shell .viewer-page .viewer-mobile-sheet-strip { position:static; display:flex; align-items:center; flex-shrink:0; width:100%; height:40px; min-height:40px; padding:0; gap:6px; border:0; background:transparent; touch-action:none; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet-strip > .summary-label, .public-viewer-shell .viewer-page .viewer-mobile-sheet-meta { display:none; }
.public-viewer-shell .viewer-page #viewer-mobile-sheet-toggle { display:flex; align-items:center; justify-content:space-between; width:auto; flex:1; min-height:40px; height:40px; padding:0; text-align:left; border:0; background:transparent; font-size:14px; font-weight:750; }
.public-viewer-shell .viewer-page #viewer-mobile-sheet-toggle::after { content:'\2303'; font-size:22px; color:var(--public-muted); }
.public-viewer-shell .viewer-page .viewer-sheet-expand { min-height:40px; padding:0 8px; border:0; background:transparent; font-size:12px; }
.public-viewer-shell .viewer-page .viewer-sheet-expand[hidden] { display:none; }
.public-viewer-shell .viewer-page .viewer-mobile-focus { position:static; inset:auto; display:block; width:100%; flex-shrink:0; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 12px; padding:0; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-head { grid-column:1; grid-row:1; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card .summary-label { display:none; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .panel-title { font-size:17px; line-height:1.3; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-status { gap:4px; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-status .roster-signal-pill { display:none; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-team { grid-column:1; grid-row:2; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-category { display:none; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-signal { grid-column:1 / -1; font-size:12px; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-quality { grid-column:1 / -1; gap:4px 8px; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-actions { grid-column:2; grid-row:1 / 3; align-self:center; margin:0; }
.public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-actions button { font-size:12px; padding:7px 10px; }
.public-viewer-shell .viewer-page .viewer-replay-controls .viewer-live-action { flex-shrink:0; gap:6px; padding:6px 8px; font-size:12px; white-space:nowrap; }
.public-viewer-shell .viewer-page .viewer-live-action .viewer-action-label { white-space:nowrap; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet .viewer-roster-tabs { flex-shrink:0; padding:0; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet > .viewer-search { flex-shrink:0; margin:0; width:100%; min-height:44px; }
.public-viewer-shell .viewer-page .viewer-mobile-roster { flex:1; margin:0 -16px; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet .roster-row { padding-left:16px; height:78px; min-height:78px; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet[data-sheet="peek"] :is(.viewer-roster-tabs,.viewer-search,.viewer-mobile-roster), .public-viewer-shell .viewer-page.is-mobile-sheet-collapsed .viewer-mobile-sheet :is(.viewer-roster-tabs,.viewer-search,.viewer-mobile-roster) { display:none; }
.public-viewer-shell .viewer-page .viewer-mobile-sheet:not([data-sheet="peek"]) .viewer-mobile-focus { order:5; padding-top:10px; border-top:1px solid var(--public-line); }
.public-viewer-shell .viewer-page .viewer-connection-banner { left:12px; right:12px; max-width:none; }
.public-locked-shell .viewer-page .viewer-map-column { padding-bottom:0; }
.public-locked-shell .viewer-page .viewer-control-strip { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .public-viewer-shell .viewer-page .viewer-map-column { transition:none; } }
@media (max-width:1023px) and (max-height:550px) and (orientation:landscape) {
  .public-viewer-shell .viewer-page { --viewer-landscape-panel:min(320px,40vw); --viewer-dock-height:104px; }
  .public-viewer-shell .viewer-page .viewer-map-column { width:calc(100% - var(--viewer-landscape-panel)); }
  .public-viewer-shell .viewer-page .viewer-replay-dock { bottom:0; }
  .public-viewer-shell .viewer-page .viewer-mobile-sheet,
  .public-viewer-shell .viewer-page.is-mobile-sheet-collapsed .viewer-mobile-sheet { top:var(--viewer-header-height); bottom:0; left:auto; right:0; width:var(--viewer-landscape-panel); height:auto; max-height:none; padding:0 12px 10px; border-top:0; border-left:1px solid var(--public-line); border-radius:0; box-shadow:none; }
  .public-viewer-shell .viewer-page .viewer-mobile-sheet .viewer-sheet-expand { display:none; }
  .public-viewer-shell .viewer-page .viewer-mobile-sheet:not([data-sheet="peek"]) .viewer-mobile-focus { display:none; }
  .public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card { display:flex; flex-direction:column; gap:8px; }
  .public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-head { width:100%; }
  .public-viewer-shell .viewer-page .viewer-mobile-focus .focused-card-actions { align-self:stretch; margin-top:8px; }
  .public-viewer-shell .viewer-page .viewer-map-command-bar { flex-direction:row; gap:8px; }
  .public-viewer-shell .viewer-page .viewer-camera-button { padding:7px 8px; }
  .public-viewer-shell .viewer-page .viewer-camera-button .viewer-icon { display:none; }
  .public-locked-shell .viewer-page .viewer-map-column { width:100%; }
}
