/* The mobile panel owns roster geometry; the player remains a sibling below it. */
.viewer-title-dialog { max-width:min(420px,calc(100vw - 32px)); padding:24px; border:1px solid var(--public-line); border-radius:16px; color:var(--public-text); background:var(--public-surface); }
.viewer-title-dialog::backdrop { background:#10182866; }
.viewer-title-dialog p { margin:0 0 20px; font-size:20px; line-height:1.4; font-weight:650; overflow-wrap:anywhere; }
.viewer-title-dialog button { min-height:44px; padding:8px 18px; border:1px solid var(--public-line); border-radius:10px; background:var(--public-surface); color:var(--public-text); }
.viewer-event-title { display:block; width:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; }
.viewer-mobile-handle { display:none; }
@media(max-width:1023px) {
 .public-viewer-shell:not(.public-embed-shell) .viewer-page { height:var(--viewer-viewport-height,100dvh); --viewer-header-height:56px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-event-title { min-height:44px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-deck { padding:6px 12px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-strip { grid-template-rows:44px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-context { grid-template-rows:44px; gap:0 8px; align-items:center; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-catalog-mobile-back,
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-title-compact { grid-row:1; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-mobile-sheet="full"] > .viewer-extras-menu,
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-mobile-sheet="full"] .viewer-map-main-actions,
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-mobile-sheet="full"] .viewer-map-zoom-controls { visibility:hidden; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet {
  position:absolute; inset:auto 0 var(--viewer-player-height,0px); width:100%; max-height:none;
  margin:0; padding:0 12px 12px; gap:8px; border:0; border-top:1px solid var(--public-line);
  border-radius:18px 18px 0 0; background:var(--public-surface); box-shadow:0 -6px 20px color-mix(in srgb,var(--public-text) 5%,transparent);
 }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet[data-sheet="peek"] { padding:0 12px 12px; gap:8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-handle { display:block; flex:none; height:10px; margin-bottom:-6px; padding-top:5px; touch-action:none; cursor:ns-resize; }
 .viewer-mobile-handle::before { content:''; display:block; width:32px; height:3px; margin:auto; border-radius:3px; background:var(--public-line); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet-strip { display:flex; flex-direction:row; flex-wrap:nowrap; flex:none; width:100%; height:44px; min-height:44px; padding:0; margin:0; gap:8px; touch-action:auto; align-self:stretch; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-mobile-sheet-toggle { flex:1 1 0; width:100%; max-width:none; height:44px; min-height:44px; padding:0 4px; justify-content:space-between; font-size:14px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-mobile-panel="overview"] #viewer-mobile-sheet-toggle { border:1px solid var(--public-line); border-radius:10px; padding:0 12px; background:var(--public-surface-soft); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-sheet-heading { display:flex; align-items:center; gap:8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-sheet-count { margin:0; font-size:12px; font-weight:500; background:transparent; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-sheet-title { flex:1; min-width:0; margin:0; font-size:14px; font-weight:650; color:var(--public-text); text-align:left; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet-strip :is(.viewer-sheet-expand,.viewer-sheet-close) { display:inline-flex; flex:none; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:10px; margin:0; border:1px solid var(--public-line); border-radius:10px; background:var(--public-surface-soft); color:var(--public-muted); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet-strip :is(.viewer-sheet-expand,.viewer-sheet-close):is(:hover,:focus-visible) { color:var(--public-text); border-color:var(--public-accent); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-mobile-sheet { transition:height 260ms cubic-bezier(.22,1,.36,1); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-map-zoom-controls { transition:top 260ms cubic-bezier(.22,1,.36,1); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-mobile-sheet:not([data-sheet="peek"]) :is(.viewer-roster-tabs,.viewer-search,.viewer-mobile-roster),
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-mobile-sheet[data-sheet="peek"] .viewer-mobile-focus { animation:viewer-panel-content-in 200ms ease-out both; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-mobile-panel="overview"] .viewer-mobile-sheet .viewer-mobile-focus { display:none; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus { flex:none; padding:0; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card { display:grid; grid-template-columns:minmax(0,1fr) 108px; padding:0 2px 4px; gap:6px 12px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .panel-title { font-size:15px; line-height:1.35; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card-quality .focused-card-signal { font-size:12px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .viewer-person-details { justify-content:flex-start; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .viewer-person-name { text-align:left; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card-actions { width:108px; margin:0; align-self:center; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card-actions button { min-height:44px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet .viewer-roster-tabs { margin:0; padding:0; gap:16px; min-height:44px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet .viewer-roster-tab { min-height:44px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-mobile-participant-search { flex:none; min-height:44px; margin:0; padding:10px 12px; border-radius:10px; font-size:16px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-roster { flex:1; min-height:0; margin:0 -4px; padding:0; overflow-y:auto; overscroll-behavior:contain; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-roster .roster-list { padding:0 0 4px; gap:4px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-roster .roster-row { min-height:64px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-replay-dock { padding:6px 12px max(8px,env(safe-area-inset-bottom)); gap:4px; border-top:1px solid var(--public-line); box-shadow:none; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-stage > .viewer-map-zoom-controls { right:12px; top:max(72px,calc((100% - var(--viewer-sheet-height,0px))/2)); }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-column { width:100%; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-replay-dock { left:0; right:0; bottom:0; width:100%; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-focus-details { max-height:18dvh; overflow:auto; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-command-bar { flex-direction:column; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu .viewer-strip-actions { min-height:0; max-height:max(88px,calc(var(--viewer-viewport-height,100dvh) - var(--viewer-header-height) - var(--viewer-player-height) - 80px)); overflow:auto; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet:not([data-sheet="peek"]) {
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:8px 44px 44px minmax(0,1fr); gap:6px 12px;
 }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet:not([data-sheet="peek"]) .viewer-mobile-handle { grid-row:1; grid-column:1/-1; margin:0; height:8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet:not([data-sheet="peek"]) .viewer-mobile-sheet-strip { grid-row:2; grid-column:1/-1; min-width:0; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet .viewer-roster-tabs { grid-row:3; grid-column:2; gap:8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet .viewer-roster-tab { font-size:11px; padding-left:0; padding-right:0; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet #viewer-mobile-participant-search { grid-row:3; grid-column:1; min-width:0; width:100%; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-mobile-sheet .viewer-mobile-roster { grid-row:4; grid-column:1/-1; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-sheet-heading { min-width:0; white-space:nowrap; overflow:hidden; font-size:12px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-short-viewport .viewer-sheet-count { display:none; }
}
@keyframes viewer-panel-content-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) {
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-mobile-sheet,
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-map-zoom-controls { transition:none; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page.has-mobile-panel-motion .viewer-mobile-sheet[data-sheet] :is(.viewer-roster-tabs,.viewer-search,.viewer-mobile-roster,.viewer-mobile-focus) { animation:none; }
}
