/* Spectator-first composition. Shared appearance tokens continue to own both themes. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page {
  --viewer-dock-height:112px;
  --viewer-player-height:0px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page [hidden] { display:none !important; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-strip {
  grid-template-columns:140px minmax(0,1fr) auto;
  gap:16px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-core-actions { grid-column:3; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu > summary { width:auto; gap:8px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu .viewer-strip-actions {
  width:280px; max-width:calc(100vw - 24px); padding:10px; gap:8px; max-height:calc(100dvh - 140px); overflow:auto;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions { display:grid; gap:6px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > button {
  display:flex; width:100%; justify-content:flex-start; gap:10px; min-height:44px; border:0; padding:10px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions .viewer-action-label { display:inline; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions .viewer-appearance {
  position:static; display:flex; width:auto; height:auto; padding:4px 10px; gap:10px; align-items:center;
}
.viewer-menu-actions .viewer-appearance::before { content:'Оформление'; font-size:13px; color:var(--public-muted); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-share-action { display:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings-menu > summary,
.viewer-recording-settings > summary {
  display:flex; min-height:44px; align-items:center; padding:10px; cursor:pointer; font-size:13px; font-weight:650;
}
.viewer-map-settings { display:grid; gap:10px; padding:8px; }
.viewer-map-settings > div { display:grid; gap:6px; }
.viewer-map-settings label,.viewer-player-tools-panel > label { font-size:12px; color:var(--public-muted); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings :is(button,select) {
  display:flex; min-height:44px; width:100%; padding:10px; border:1px solid var(--public-line);
  background:var(--public-surface); color:var(--public-text); border-radius:6px; font-size:13px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings .viewer-action-label { display:inline; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:320px minmax(0,1fr); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-roster-rail[data-slot="viewer-overlay-rail"] { width:320px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-camera-menu { display:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-map-zoom-reset { display:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-main-actions > button {
  display:flex; min-height:44px; padding:10px 14px; gap:8px; align-items:center;
  border:1px solid var(--public-line); border-radius:8px; background:var(--public-surface); color:var(--public-text);
  box-shadow:0 2px 8px color-mix(in srgb,var(--public-text) 8%,transparent); font-size:13px; font-weight:650; cursor:pointer;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-main-actions .viewer-action-label { display:inline; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-command-bar { flex-direction:column; align-items:flex-end; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-replay-dock {
  display:grid; gap:8px; padding:10px 20px; background:var(--public-surface); border-top:1px solid var(--public-line);
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-bar { display:flex; flex-wrap:nowrap; gap:12px; align-items:center; justify-content:space-between; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main { display:flex; flex:1; min-width:0; gap:12px; align-items:center; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main #viewer-jump-live { display:inline-flex; min-height:44px; gap:6px; flex-shrink:0; white-space:nowrap; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main .viewer-time-jump { flex:initial; }
.viewer-recording-settings { position:relative; flex-shrink:0; }
.viewer-recording-settings > summary { border:1px solid var(--public-line); border-radius:7px; white-space:nowrap; }
.viewer-player-tools-panel {
  position:absolute; bottom:calc(100% + 8px); right:0; width:250px; padding:14px;
  display:grid; grid-template-columns:1fr 1fr; gap:10px; border:1px solid var(--public-line); border-radius:10px;
  background:var(--public-surface); box-shadow:0 8px 30px color-mix(in srgb,var(--public-text) 12%,transparent); z-index:1200;
}
.viewer-recording-settings:not([open]) > .viewer-player-tools-panel { display:none; }
.viewer-player-tools-panel > label,.viewer-player-tools-panel .viewer-player-quick-controls { grid-column:1/-1; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-tools-panel :is(button,select) {
  display:flex; min-height:44px; width:100%; align-items:center; justify-content:center; border:1px solid var(--public-line);
  background:var(--public-surface); color:var(--public-text); border-radius:6px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-status { margin:0; font-size:13px; color:var(--public-muted); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-column { padding-bottom:0; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet { bottom:var(--viewer-player-height,0px); }
@media(min-width:1024px) {
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet { display:none; }
}
@media(max-width:1023px) {
  .public-viewer-shell:not(.public-embed-shell) .viewer-page { --viewer-header-height:66px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-deck { min-height:0; padding:8px 12px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-strip { grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-nav { display:none; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-context { grid-column:1; grid-row:1; grid-template-columns:36px minmax(0,1fr); gap:0 8px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-catalog-mobile-back { display:flex; grid-column:1; grid-row:1/3; min-width:36px; min-height:44px; align-items:center; justify-content:center; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page :is(.viewer-title-compact,.viewer-event-meta) { grid-column:2; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-title-compact { font-size:15px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-core-actions { grid-column:2; grid-row:1; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu > summary { min-width:44px; padding:10px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu > summary > span:not(.viewer-icon) { display:none; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:minmax(0,1fr); }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-roster-rail { display:none; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet { display:flex; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet[data-sheet="peek"] .viewer-mobile-focus { display:block; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet:not([data-sheet="peek"]) .viewer-mobile-focus { display:none; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-sheet-strip { min-height:44px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-mobile-sheet-toggle { flex:1; width:auto; min-width:0; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-roster { flex:1; min-height:0; overflow:auto; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card { grid-template-columns:minmax(0,1fr) auto; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-mobile-focus .focused-card-actions { grid-column:2; grid-row:1/3; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-main-actions > button { font-size:12px; padding:10px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-replay-dock { padding:8px 12px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main #viewer-play-toggle { min-width:44px; width:44px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main #viewer-play-toggle .viewer-action-label { display:none; }
  .viewer-recording-settings > summary { font-size:12px; padding:10px; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-column { padding-bottom:0; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-focus-details { max-height:25dvh; overflow:auto; }
}
@media(prefers-reduced-motion:reduce) { .viewer-page * { scroll-behavior:auto !important; } }

/* The primary participant action is a labelled button at every size. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card { grid-template-columns:minmax(0,1fr) 108px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-actions [data-mobile-action="follow"] {
  display:inline-flex; width:auto; min-width:108px; min-height:44px; padding:10px 12px; gap:8px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-actions [data-mobile-action="follow"] .viewer-action-label { display:inline; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-desktop-focus .focused-card-actions { width:auto; }

/* Quiet participant cards; the map color stays in the small participant dot. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .roster-list { padding:6px 10px 12px; gap:6px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .roster-entry { border:0; border-radius:10px; box-shadow:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .roster-entry.is-active {
  background:color-mix(in srgb,var(--public-accent) 8%,var(--public-surface)); box-shadow:none;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .roster-entry:hover { background:var(--public-surface-soft); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .roster-row { padding-left:10px; }

.viewer-live-indicator { display:inline-flex; gap:6px; align-items:center; flex-shrink:0; color:var(--public-muted); font-size:12px; white-space:nowrap; }
.viewer-live-indicator[data-live="true"]::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--public-live); }
.viewer-recording-settings > summary { gap:8px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-jump-live .viewer-action-label { display:inline; }
@media(max-width:1023px) {
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main { gap:8px; }
  .viewer-recording-settings > summary { width:44px; justify-content:center; padding:10px; }
  .viewer-recording-settings > summary > .viewer-action-label { display:none; }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-jump-live { padding:8px; font-size:12px; }
}

/* Map controls are independent targets, not a toolbar that eats map space. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-main-actions { pointer-events:auto; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-stage > .viewer-map-zoom-controls {
  position:absolute; top:50%; right:20px; transform:translateY(-50%); z-index:800;
  display:flex; flex-direction:column; width:44px; pointer-events:auto; border-radius:10px;
  border:1px solid var(--public-line); background:var(--public-surface); box-shadow:0 2px 8px color-mix(in srgb,var(--public-text) 8%,transparent);
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-map-zoom-in { order:1; border-bottom:1px solid var(--public-line); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-map-zoom-out { order:2; }
/* Override legacy toolbar layouts inside the spectator menu. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu > summary::before { content:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu .viewer-strip-actions {
  display:flex; flex-direction:column; align-items:stretch; width:288px; padding:8px; gap:6px; border-radius:12px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu:not([open]) .viewer-strip-actions { display:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu .viewer-strip-actions > .viewer-menu-actions {
  display:flex !important; flex-direction:column; align-items:stretch; width:100%; gap:4px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > :is(button,.viewer-appearance) {
  display:flex; align-items:center; justify-content:flex-start; width:100%; min-height:44px; margin:0; padding:10px; border:0; border-radius:8px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > button:hover { background:var(--public-surface-soft); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > .viewer-appearance { justify-content:space-between; padding:0 0 0 10px; height:44px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > .viewer-appearance::before { content:'Тема'; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-menu-actions > #viewer-share-button { display:flex; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-extras-menu .viewer-strip-actions > .viewer-map-settings-menu {
  display:block !important; width:100%; min-width:0; border-top:1px solid var(--public-line); padding-top:6px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings-menu > summary { list-style:none; justify-content:space-between; border-radius:8px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings-menu > summary::after { content:'⌄'; color:var(--public-muted); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-settings-menu[open] > summary::after { content:'⌃'; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page :is(#viewer-share-button-mobile,#viewer-map-zoom-reset,#viewer-tracks-toggle,#viewer-points-open,#viewer-camera-resume,.viewer-strip-link-admin) { display:none !important; }
@media(max-width:1023px) {
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-stage > .viewer-map-zoom-controls { top:calc((100% - var(--viewer-sheet-height,0px))/2); right:12px; }
}
@media(max-width:1023px) and (orientation:landscape) and (max-height:550px) {
  .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-stage > .viewer-map-zoom-controls { top:50%; right:calc(var(--viewer-landscape-panel) + 12px); }
  .public-viewer-shell:not(.public-embed-shell) .viewer-page.is-map-only .viewer-map-stage > .viewer-map-zoom-controls { right:12px; }
}

.public-viewer-shell:not(.public-embed-shell) .viewer-page #viewer-share-button .viewer-action-label { display:inline; }

/* Playback state already lives beside the timeline. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-event-meta { display:none; }

.public-viewer-shell:not(.public-embed-shell) .viewer-page.is-map-only .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:minmax(0,1fr); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page.is-rail-collapsed:not(.is-map-only) .viewer-stage[data-layout="night-stage-scene"] { grid-template-columns:0 minmax(0,1fr); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-only-legend { display:none; }

.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-timeline {
  display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:24px 16px; align-items:center; gap:0; min-height:40px;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-timeline-wrap { grid-column:1; grid-row:1; width:100%; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-timeline-scale { grid-column:1; grid-row:2; width:100%; }

.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-replay-dock { height:auto; min-height:112px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-bar { flex-wrap:wrap; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-main { flex:1 1 auto; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-control { position:relative; display:block; flex-shrink:0; order:2; margin-left:auto; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-recording-settings { order:3; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-status { order:4; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-trigger {
  display:flex; align-items:center; min-height:44px; padding:10px 12px; border:1px solid var(--public-line); border-radius:8px;
  background:var(--public-surface); color:var(--public-text); font-size:12px; font-weight:600; white-space:nowrap; cursor:pointer;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-trigger:hover,
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-trigger[aria-expanded="true"] { background:var(--public-surface-soft); border-color:var(--public-accent); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options {
  position:fixed; z-index:2200; margin:0; padding:6px; list-style:none; overflow:auto; overscroll-behavior:contain;
  background:var(--public-surface); color:var(--public-text); border:1px solid var(--public-line); border-radius:12px;
  box-shadow:0 8px 32px color-mix(in srgb,var(--public-text) 16%,transparent);
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options > li {
  display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 12px;
  border-radius:7px; font-size:13px; cursor:pointer; outline:none;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options > li:is(:hover,:focus) { background:var(--public-surface-soft); }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options > li[aria-selected="true"] { color:var(--public-accent); background:color-mix(in srgb,var(--public-accent) 10%,var(--public-surface)); font-weight:650; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options .viewer-option-check { visibility:hidden; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options [aria-selected="true"] .viewer-option-check { visibility:visible; }
@media(max-width:1023px) {
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-trigger { padding:10px 8px; font-size:11px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-player-bar { gap:6px 8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-spectator-view="recording"] .viewer-player-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-spectator-view="recording"] .viewer-player-main { grid-column:1/-1; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-spectator-view="recording"] .viewer-trail-control { grid-column:1; margin-left:0; justify-self:start; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page[data-spectator-view="recording"] .viewer-recording-settings { grid-column:2; }
}

.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-core-actions > .viewer-appearance {
  position:static; display:flex; align-items:center; width:44px; height:44px; padding:0; flex-shrink:0;
}

.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-trail-options > li:focus-visible { outline:2px solid var(--public-accent); outline-offset:-2px; }

/* A single name line gets the space previously split between name and bib. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card { gap:4px 12px; align-content:center; min-height:48px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-head { min-width:0; align-self:end; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-person-details { display:flex; gap:8px; align-items:center; min-height:22px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-person-details > .viewer-participant-swatch { flex:0 0 6px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card .viewer-person-name { width:auto; max-width:100%; font-size:14px; line-height:1.4; font-weight:650; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-quality {
  display:flex; align-items:center; flex-wrap:nowrap; gap:6px; min-width:0; padding-left:14px; align-self:start;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-quality .focused-bib { flex-shrink:0; font-size:11px; line-height:1.4; font-weight:450; color:var(--public-muted); white-space:nowrap; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-meta-separator { flex-shrink:0; color:var(--public-muted); font-size:11px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-quality .focused-card-signal { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; line-height:1.4; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-desktop-focus { padding:14px 16px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-actions { align-self:center; }

.public-viewer-shell:not(.public-embed-shell) .viewer-page .focused-card-status:empty { display:none; }

.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-nav { display:flex; align-items:center; min-height:44px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-nav .viewer-strip-link { display:inline-flex; align-items:center; padding:0; border:0; background:transparent; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-nav .gpslive-logo { width:112px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-strip { grid-template-columns:120px minmax(0,1fr) auto; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .gpslive-header-mark { display:block; width:28px; height:28px; }
@media(max-width:1023px) {
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-nav { display:none; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-control-strip { grid-template-columns:minmax(0,1fr) auto; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-strip-context { grid-template-columns:32px minmax(0,1fr); gap:0 8px; }
 .public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-catalog-mobile-back { min-width:32px; }
}

/* Settings float above the map while theme remains in the header. */
.public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu {
  position:fixed; top:calc(var(--viewer-header-height) + 20px); right:20px; z-index:1100;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu > summary {
  display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:10px; gap:0;
  border:1px solid var(--public-line); border-radius:8px; background:var(--public-surface); color:var(--public-text);
  box-shadow:0 2px 8px color-mix(in srgb,var(--public-text) 8%,transparent); cursor:pointer;
}
.public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu > summary > span { display:none; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page .viewer-map-main-actions { padding-right:52px; }
.public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu .viewer-strip-actions {
  max-height:calc(100dvh - var(--viewer-header-height) - 96px);
}
@media(max-width:1023px) {
 .public-viewer-shell:not(.public-embed-shell) .viewer-page > .viewer-extras-menu { top:calc(var(--viewer-header-height) + 12px); right:12px; }
}
