/* Analytics uses the existing Drop Dungeon palette with quieter, legible data surfaces. */
.analytics-page { font-family: var(--font-text), system-ui, sans-serif; font-variant-numeric: tabular-nums; max-width: 1800px; margin: auto; }
.analytics-page h1,.analytics-page h2,.analytics-page h3 { font-family: var(--font-text), system-ui, sans-serif; text-transform: none; letter-spacing: -.025em; }
.analytics-page h1 { color: var(--text); font-size: clamp(2rem,3.5vw,3rem); line-height: 1.1; margin: .3rem 0 .7rem; }
.analytics-eyebrow { color: var(--gold-tint); font-size: .68rem; letter-spacing: .16em; margin: 0; }
:root[data-theme="light"] .analytics-eyebrow { color: #8B441F; }
.analytics-subtitle { color: var(--text-muted); margin: 0; font-size: .9rem; }
.analytics-heading { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin: .3rem 0 1.8rem; }
.analytics-actions { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.analytics-actions [role=status] { font-size: .72rem; color: var(--text-muted); }
.analytics-page button,.analytics-page input,.analytics-page select { font: inherit; font-size: .78rem; border: 1px solid var(--stone-edge); border-radius: 7px; background: var(--panel); color: var(--text); min-height: 44px; box-shadow: none; text-transform: none; letter-spacing: 0; padding: .55rem .8rem; }
.analytics-page button { cursor: pointer; }
.analytics-page button:hover { background: var(--stone-hover); border-color: var(--text-muted); }
.analytics-page button:disabled { opacity: .4; cursor: default; }
.analytics-page button:focus-visible,.analytics-page select:focus-visible,.analytics-page input:focus-visible,.analytics-page summary:focus-visible,.analytics-page a:focus-visible { outline: 2px solid var(--teal-tint); outline-offset: 3px; }
.analytics-page .analytics-primary,.analytics-page #analytics-customize[aria-pressed=true] { color: var(--ink); background: var(--gold-tint); border-color: var(--gold-tint); }
.analytics-page .analytics-primary:hover { background: var(--gold); }
.analytics-page label { display: flex; flex-direction: column; gap: .3rem; color: var(--text-muted); font-size: .65rem; font-weight: 600; letter-spacing: .02em; }
.analytics-toolbar { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.analytics-toolbar label { min-width: 185px; margin-right: .2rem; }
.analytics-toolbar a { font-size: .75rem; min-height: 44px; display: inline-flex; align-items: center; padding: .5rem; }
.analytics-toolbar a:first-of-type { margin-left: auto; }
.analytics-filters { display: flex; align-items: end; flex-wrap: wrap; gap: .65rem; padding: 1rem; border: 1px solid var(--stone-edge); border-radius: 10px; background: var(--panel); margin: 0 0 1.1rem; }
.analytics-filters input,.analytics-filters select { background: var(--bg); width: 100%; max-width: 175px; }
.analytics-filters label { flex: 1 1 100px; min-width: 0; position: relative; }
.analytics-filters .analytics-version-field { display: flex; flex-direction: column; gap: .3rem; flex: 1 1 100px; min-width: 0; }
.analytics-filters .analytics-version-field { flex-basis: 270px; }
.analytics-filters .analytics-version-field select { max-width:100%; }
.analytics-filters .analytics-version-field label { flex: 0 0 auto; }
.analytics-version-field label { display: block; }
.analytics-filters label:has(input[type=date]) { flex-basis: 150px; }
.analytics-filters .filter-unit { position: static !important; }
.analytics-page .analytics-filter-panel { border: 1px solid var(--stone-edge); border-radius: 9px; background: var(--panel); margin: 0 0 1.1rem; }
.analytics-page .analytics-filter-panel > summary { padding: .8rem 1rem; font-size: .75rem; min-height: 44px; }
.analytics-filter-panel .analytics-filters { border: 0; margin: 0; padding-top: .4rem; }
.analytics-filters label:nth-child(7) { flex-basis: 85px; }
.analytics-filters input[type=number] { max-width: 110px; }
.analytics-filters .filter-unit { position: absolute; bottom: -1rem; font-size: .55rem; }
.analytics-filters .analytics-checkbox { display: flex; flex-direction: row; align-items: center; gap: .5rem; min-height: 44px; flex-basis: 110px; }
.analytics-filters input[type=checkbox] { width: 18px; height: 18px; min-height: 18px; accent-color: var(--gold); }
.analytics-filter-options-status { flex-basis: 100%; margin: .1rem 0 0; color: var(--text-muted); font-size: .68rem; }
.analytics-choice-hint { color: var(--text-muted); font-size: .65rem; line-height: 1.4; white-space: normal; }
.analytics-notice { padding: .85rem 1rem; border: 1px solid var(--teal); border-radius: 8px; margin-bottom: 1rem; font-size: .8rem; background: color-mix(in srgb,var(--teal) 9%,var(--panel)); }
.analytics-notice.error { border-color: var(--ember); }
.analytics-editor { display: flex; align-items: end; flex-wrap: wrap; gap: .7rem; padding: 1.1rem; border: 1px dashed var(--gold); border-radius: 9px; margin-bottom: 1rem; }
.analytics-editor[hidden],.analytics-notice[hidden] { display: none; }
.analytics-editor > div { flex-basis: 100%; }
.analytics-editor h2 { font-size: 1rem; margin: 0 0 .3rem; color: var(--text); }
.analytics-editor p { font-size: .8rem; color: var(--text-muted); margin: 0; }
.analytics-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1rem; align-items: stretch; }
.analytics-widget { grid-column: span var(--grid-span,3); min-width: 0; overflow: hidden; border: 1px solid var(--stone-edge); border-radius: 12px; background: var(--panel); box-shadow: 0 2px 8px #00000012; }
.analytics-widget > header { display: flex; justify-content: space-between; gap: .5rem; align-items: center; padding: 1.2rem 1.25rem .7rem; }
.analytics-widget h2 { font-size: .92rem; color: var(--text); margin: 0; font-weight: 600; }
.widget-body { padding: 0 1.25rem 1.15rem; min-height: calc((var(--height,1) - 1) * 150px); }
.kpi-widget > header { padding-bottom: .4rem; }
.kpi-widget h2 { font-size: .75rem; color: var(--text-muted); letter-spacing: .01em; }
.kpi-value { font-size: clamp(2.1rem,3.5vw,3.4rem); letter-spacing: -.05em; line-height: 1.25; color: var(--text); }
.kpi-widget:first-child { border-top: 2px solid var(--teal); }
.kpi-widget:first-child .kpi-value { color: var(--teal-tint); }
.kpi-comparison { font-size: .68rem; color: var(--text-muted); margin: .35rem 0 .7rem; }
.analytics-page details { border: 0; background: none; padding: 0; margin: .5rem 0 0; }
.analytics-page summary { color: var(--text-muted); font-size: .7rem; cursor: pointer; min-height: 32px; display: list-item; padding: .45rem 0; }
.analytics-page details p { font-size: .72rem; color: var(--text-muted); margin: .3rem 0; line-height: 1.6; }
.metric-definition summary { font-size: .62rem; }
.analytics-empty,.analytics-loading { min-height: 100px; display: flex; justify-content: center; align-items: center; text-align: center; color: var(--text-muted); padding: 1.5rem; font-size: .85rem; }
.analytics-loading { grid-column: 1/-1; min-height: 200px; }
.analytics-loading span { width: 18px; height: 18px; border: 2px solid var(--stone-edge); border-top-color: var(--teal); border-radius: 50%; animation: analytics-spin 1s linear infinite; margin-right: .8rem; }
@keyframes analytics-spin { to { transform: rotate(360deg); } }
.analytics-table-wrap { max-width: 100%; overflow: auto; max-height: 430px; }
.analytics-page table { width: 100%; border-collapse: collapse; font-size: .72rem; margin: .4rem 0 0; }
.analytics-page th { font-family: inherit; text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--text-muted); font-size: .65rem; background: var(--panel); position: sticky; top: 0; text-align: left; white-space: nowrap; }
.analytics-page th,.analytics-page td { padding: .7rem .6rem; border: 0; border-bottom: 1px solid var(--stone-edge); }
.analytics-page td { color: var(--text); }
.analytics-page td:not(:first-child),.analytics-page th:not(:first-child) { text-align: right; }
.analytics-page tr:last-child td { border-bottom: 0; }
.widget-help,.analytics-footnote { font-size: .68rem; color: var(--text-muted); line-height: 1.6; margin: .8rem 0 0; }
.analytics-footnote { margin: 1.1rem .2rem; }
.version-definition { margin-top: .15rem; max-width: 100ch; }
.version-filter-note { color: var(--gold-tint); font-size: .72rem; margin: .65rem 0; }
.version-platforms { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,480px),1fr)); gap: 1rem; margin-top: 1rem; }
.version-platform { min-width: 0; border: 1px solid var(--stone-edge); border-radius: 8px; padding: .85rem; container: version-panel / inline-size; }
.version-platform-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: .35rem .8rem; }
.version-platform-heading h3 { color: var(--text); font-size: .9rem; margin: 0; }
.version-platform-heading > span { font-size: .78rem; color: var(--teal-tint); }
.version-platform-heading small { font-size: .62rem; color: var(--text-muted); }
.version-platform table { white-space: nowrap; }
.version-platform tbody th { position: static; color: var(--text); font-size: .74rem; }
.version-platform tr:last-child th { border-bottom: 0; }
.version-platform time { font-size: .67rem; color: var(--text-muted); }
.version-share { min-width: 60px; }
.version-share i { display: block; height: 4px; margin-top: .35rem; border-radius: 3px; background: linear-gradient(to right,var(--teal-tint) var(--share),var(--stone-edge) var(--share)); }
.version-platform .analytics-table-wrap:focus-visible { outline: 2px solid var(--teal-tint); outline-offset: 2px; }
@container version-panel (max-width:420px) {
  .version-platform thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .version-platform table,.version-platform tbody { display: block; }
  .version-platform tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; padding: 1rem 0; border-bottom: 1px solid var(--stone-edge); }
  .version-platform tbody tr:last-child { border-bottom: 0; padding-bottom: .2rem; }
  .version-platform tbody th,.version-platform tbody td { display: block; padding: 0; border: 0; text-align: left; }
  .version-platform tbody th { grid-column: 1/-1; white-space: normal; overflow-wrap: anywhere; }
  .version-platform tbody th::before { content: 'Version '; color: var(--text-muted); font-weight: 400; }
  .version-platform tbody td::before { display: block; color: var(--text-muted); font-size: .62rem; margin-bottom: .3rem; }
  .version-platform tbody td:nth-child(2)::before { content: 'Players'; }
  .version-platform tbody td:nth-child(3)::before { content: 'Share'; }
  .version-platform.version-filtered tbody td:nth-child(3)::before { content: 'Sessions'; }
  .version-platform tbody td:nth-child(4)::before { content: 'Sessions'; }
  .version-platform tbody td:last-child { grid-column: 1/-1; }
  .version-platform tbody td:last-child::before { content: 'Last seen (UTC)'; display: inline; margin-right: .5rem; }
  .version-share { min-width: 0; }
}
.retention-wrap { container-type: inline-size; }
.retention-cards { display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem; padding: .8rem 0; }
.retention-cards > div { display: flex; flex-direction: column; gap: .65rem; }
.retention-cards span { color: var(--teal-tint); font-size: .65rem; letter-spacing: .08em; }
.retention-cards strong { font-size: clamp(1.5rem,min(2.7vw,6.5cqi),2.6rem); letter-spacing: -.04em; }
/* Four days across fit a widget from 22.5rem wide; a narrower one stacks them two by two. */
@container (max-width: 22.5rem) { .retention-cards { grid-template-columns: repeat(2,1fr); } .retention-cards strong { font-size: clamp(1.5rem,2.7vw,2.6rem); } }
.retention-cards small { font-size: .62rem; color: var(--text-muted); }
.analytics-page .cohort-table td:nth-child(n+3) { background: color-mix(in srgb,var(--teal) calc(var(--heat) * 65%),var(--panel)); text-align: center; border: 3px solid var(--panel); border-radius: 6px; }
.analytics-page .cohort-table th:nth-child(n+3) { text-align: center; }
.analytics-chart { margin: 1rem 0; color: var(--text-muted); font-size: .6rem; }
.analytics-chart svg { width: 100%; height: auto; display: block; max-height: 260px; overflow: visible; }
.analytics-chart polyline { fill: none; stroke: var(--teal-tint); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.analytics-chart rect { fill: var(--teal-tint); }
.analytics-chart .chart-area { fill: color-mix(in srgb,var(--teal) 12%,transparent); }
.analytics-chart .chart-grid { fill: none; stroke: var(--stone-edge); stroke-dasharray: 3 5; }
.chart-axis { display: flex; justify-content: space-between; }
.funnel-list { list-style: none; margin: .6rem 0; padding: 0; }
.funnel-list li { display: grid; grid-template-columns: 23px 1fr auto 48px; align-items: center; gap: .65rem; margin: .9rem 0; font-size: .72rem; }
.funnel-list .funnel-number { color: var(--text-muted); }
.funnel-list small { color: var(--text-muted); text-align: right; }
.funnel-track { height: 5px; border-radius: 3px; background: var(--stone-edge); margin-top: .5rem; overflow: hidden; }
.funnel-track i { height: 100%; display: block; background: var(--gold-tint); border-radius: 3px; }
/* Tutorial steps under the funnel: every step in view at once, the step losing the most players marked. */
.tutorial-steps { margin: 1.2rem 0 .4rem; }
.analytics-page .tutorial-steps h3 { font-size: .8rem; color: var(--text); margin: 0 0 .2rem; }
.analytics-page .tutorial-steps .analytics-table-wrap { max-height: none; }
.analytics-page .tutorial-steps th,.analytics-page .tutorial-steps td { padding: .5rem .4rem; }
/* Ten columns share a half-width widget beside the 264px navigation: a header may take two lines, a value never does. */
.analytics-page .tutorial-steps th { white-space: normal; vertical-align: bottom; }
.analytics-page .tutorial-steps tr.tutorial-worst td { background: color-mix(in srgb,var(--ember) 16%,var(--panel)); font-weight: 700; }
.analytics-page .tutorial-steps tr.tutorial-worst td:first-child { box-shadow: inset 3px 0 0 var(--ember); }
.quality-stats { display: grid; grid-template-columns: repeat(6,1fr); gap: .8rem; margin: .8rem 0; }
.quality-stats > div { display: flex; flex-direction: column; gap: .5rem; }
.quality-stats span { font-size: .65rem; color: var(--text-muted); }
.quality-stats strong { font-size: 1.5rem; }
.quality-warnings,.quality-ok { font-size: .75rem; line-height: 1.7; }
.quality-ok { color: var(--teal-tint); }
.quality-warnings { color: var(--gold-tint); }
.widget-controls { display: flex; flex-wrap: wrap; gap: .3rem; padding: .65rem; border-bottom: 1px dashed var(--stone-edge); }
.widget-controls input { min-width: 60px; width: 100%; }
.widget-controls select { max-width: 120px; padding: .3rem; font-size: .65rem; }
.widget-controls button { padding: .3rem .55rem; min-width: 36px; }
.widget-controls label { flex: 0 0 auto; justify-content: center; }
.widget-controls [data-position] { min-width: 110px; }
.widget-controls .widget-remove { color: var(--ember); border-color: var(--ember); font-weight: 700; }
.analytics-scope-bar { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; padding: .85rem 1rem; margin-bottom: .6rem; background: color-mix(in srgb,var(--teal) 7%,var(--panel)); border: 1px solid var(--teal); border-radius: 10px; }
.analytics-scope-intro { display: flex; flex: 1 1 230px; flex-direction: column; gap: .15rem; font-size: .75rem; color: var(--text-muted); }
.analytics-scope-intro strong { color: var(--text); font-size: .88rem; }
.analytics-scope-bar label { flex: 1 1 190px; max-width: 310px; }
.analytics-scope-bar label:has(#analytics-quick-version) { flex:2 1 340px; max-width:480px; }
.analytics-scope-bar select { width: 100%; }
.analytics-scope-bar button { white-space: nowrap; }
.analytics-scope-bar button[hidden] { display: none; }
.analytics-release-comparison { margin: 1rem 0 1.2rem; padding: 1.2rem; border: 1px solid var(--stone-edge); border-radius: 12px; background: var(--panel); }
.analytics-release-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.analytics-release-heading h2 { margin: .25rem 0 .3rem; font-size: 1.35rem; }
.analytics-release-heading p:last-child { margin: 0; font-size: .78rem; color: var(--text-muted); }
.analytics-release-controls { display: flex; align-items: end; flex-wrap: wrap; gap: .65rem; margin: 1rem 0 .35rem; }
.analytics-release-controls label { flex: 1 1 200px; }
.analytics-release-controls select { width: 100%; max-width: 100%; }
.analytics-release-controls button { flex: 0 0 auto; }
.analytics-release-comparison #analytics-release-result { min-height: 2.5rem; color: var(--text); font-size: .76rem; }
.analytics-release-comparison .release-scope { color: var(--teal-tint); font-size: .74rem; line-height: 1.5; }
:root[data-theme="light"] .analytics-release-comparison .release-scope { color: #0A5964; }
.analytics-release-comparison .release-explainer { color: var(--text-muted); font-size: .7rem; line-height: 1.55; }
.release-table-wrap { max-width: 100%; overflow: auto; margin: .6rem 0 1rem; }
.analytics-page .release-table { min-width: 670px; }
.analytics-page .release-table th:first-child { text-align: left; }
.analytics-page .release-table td,.analytics-page .release-table th:not(:first-child) { text-align: right; white-space: nowrap; }
.analytics-page .release-table tbody th { position: static; font-size: .72rem; font-weight: 500; color: var(--text); }
.analytics-page .release-table .release-change { color: var(--text); font-weight: 700; }
.analytics-release-comparison details { border-top: 1px solid var(--stone-edge); margin-top: .7rem; padding-top: .4rem; }
.analytics-release-comparison summary { font-size: .78rem; color: var(--text); font-weight: 700; }
@media (max-width:540px) { .analytics-scope-bar label { max-width: none; flex-basis: calc(50% - .5rem); } .analytics-scope-bar button { width: 100%; } .analytics-release-comparison { padding: .85rem; } .analytics-release-controls label { flex-basis: 100%; } .analytics-release-controls button { width: 100%; } }
@media (max-width:700px) { .analytics-scope-bar label:has(#analytics-quick-version) { flex-basis:100%; max-width:none; } }
@media (max-width:640px) {
  .analytics-page .release-table { display: block; min-width: 0; width: 100%; }
  .release-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .release-table tbody { display: block; }
  .release-table tbody tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; padding: .8rem 0; border-bottom: 1px solid var(--stone-edge); }
  .release-table tbody tr:last-child { border-bottom: 0; }
  .analytics-page .release-table tbody th { grid-column: 1 / -1; padding: 0; white-space: normal; }
  .analytics-page .release-table tbody td { min-width: 0; padding: 0; border: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .release-table tbody td::before { display: block; color: var(--text-muted); font-size: .62rem; margin-bottom: .2rem; }
  .release-table tbody td:nth-child(2)::before,.release-table tbody td:nth-child(3)::before { content: attr(data-version); }
  .analytics-page .release-table tbody td:nth-child(4) { grid-column: 1 / -1; }
  .release-table tbody td:nth-child(4):not(:empty)::before { content: 'B − A'; }
}
.map-widget { background: #101E29; color: #EFEAE0; }
.map-widget > header h2 { color: #EFEAE0; }
.map-widget .widget-body { padding: 0; }
.live-badge { color: #4CCFDA; font-size: .6rem; letter-spacing: .12em; white-space: nowrap; }
.live-badge::before { content: ''; display: inline-block; width: 6px; height: 6px; background: #4CCFDA; border-radius: 50%; margin-right: 6px; }
/* The badge's dot says how the map is fed: streaming (breathes), the 3-second fallback (amber), connecting or paused (grey). */
.live-badge[data-feed="poll"] { color: #FCC65A; }
.live-badge[data-feed="poll"]::before { background: #FCC65A; }
.live-badge:is([data-feed="connecting"],[data-feed="paused"]) { color: #B9B3A6; }
.live-badge:is([data-feed="connecting"],[data-feed="paused"])::before { background: #B9B3A6; }
@media (prefers-reduced-motion: no-preference) { .live-badge[data-feed="stream"]::before { animation: live-breathe 2s ease-in-out infinite; } }
@keyframes live-breathe { 50% { opacity: .35; } }
.map-controls { display: flex; gap: .5rem; padding: .2rem 1.25rem .65rem; align-items: end; flex-wrap: wrap; }
.map-controls label { display: flex; flex-direction: row; align-items: center; gap: .5rem; color: #B9B3A6; }
.map-controls button,.map-controls select { background: #162934; color: #EFEAE0; border-color: #395462; font-size: .65rem; min-height: 34px; padding: .4rem .6rem; }
.map-controls button:last-child { margin-left: auto; }
.map-stage { position: relative; aspect-ratio: 2 / 1; width: 100%; background: radial-gradient(ellipse at 50% 40%,#18313F,#101E29 75%); }
.map-stage canvas { width: 100%; height: 100%; display: block; }
.map-summary { position: absolute; top: 5%; left: 3%; display: flex; flex-direction: column; pointer-events: none; text-shadow: 0 2px 12px #101E29; }
.map-summary > span { font-size: .57rem; letter-spacing: .12em; color: #B9B3A6; }
.map-summary strong { font-size: clamp(2rem,5vw,4.3rem); line-height: 1.3; color: #4CCFDA; }
.map-summary small { font-size: .62rem; color: #B9B3A6; }
.map-empty { position: absolute; left: 15%; right: 15%; bottom: 8%; text-align: center; font-size: .75rem; color: #B9B3A6; background: #101E29D9; border-radius: 5px; padding: .5rem; }
.map-empty:empty { display: none; }
.map-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding: .8rem 1.25rem; color: #B9B3A6; font-size: .58rem; }
.map-widget:is(:fullscreen,.is-expanded-map) .map-footer { font-size: .75rem; }
.map-legend { display: flex; gap: 1rem; }
.map-legend i { display: inline-block; height: 6px; width: 6px; border-radius: 50%; margin-right: 5px; }
.map-widget details { padding: 0 1.25rem .8rem; }
.map-widget summary { color: #B9B3A6; }
.map-widget table th,.map-widget table td { background: #101E29; color: #EFEAE0; }
.map-widget:is(:fullscreen,.is-expanded-map) { display: flex; flex-direction: column; border: 0; border-radius: 0; width: 100%; height: 100%; }
.map-widget:is(:fullscreen,.is-expanded-map) .widget-body { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.map-widget:is(:fullscreen,.is-expanded-map) .map-stage { flex: 1; aspect-ratio: auto; min-height: 0; }
.map-widget:is(:fullscreen,.is-expanded-map) details { display: none; }
.analytics-page dialog { width: min(420px,calc(100vw - 30px)); background: var(--panel); color: var(--text); border: 1px solid var(--stone-edge); border-radius: 14px; padding: 1.5rem; }
.analytics-page dialog::backdrop { background: #00000099; }
.analytics-page dialog h2 { font-size: 1.25rem; color: var(--text); margin-top: 0; }
.analytics-page dialog input { width: 100%; }
.analytics-page dialog form > div { display: flex; gap: .6rem; justify-content: end; margin-top: 1rem; }
html.analytics-map-expanded,body.analytics-map-expanded { overflow: hidden !important; }
.analytics-page dialog.map-wallboard { position: fixed; inset: 0; width: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: #101E29; }
.analytics-page .map-wallboard h2 { font-size: .92rem; color: #EFEAE0; margin: 0; }
.map-widget:is(:fullscreen,.is-expanded-map) > header,.map-widget:is(:fullscreen,.is-expanded-map) .map-controls,.map-widget:is(:fullscreen,.is-expanded-map) .map-footer { flex-shrink: 0; }
@media (max-width:1200px) { .analytics-heading { align-items: start; } .analytics-actions { justify-content: end; } .analytics-actions [role=status] { flex-basis: 100%; text-align: right; } .analytics-filters label { flex-basis: 120px; } .quality-stats { grid-template-columns: repeat(3,1fr); } }
@media (max-width:900px) { .analytics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; } .analytics-widget { grid-column: span min(var(--span),2); } .analytics-heading { flex-wrap: wrap; gap: 1rem; } .analytics-actions [role=status] { flex-basis: auto; } .analytics-widget:not(.kpi-widget) { grid-column: 1/-1; } .analytics-page .map-controls button,.analytics-page .map-controls select { min-height: 44px; } }
@media (max-width:540px) { .analytics-page h1 { font-size: 2.2rem; } .analytics-heading { margin-bottom: 1.2rem; } .analytics-subtitle { font-size: .8rem; max-width: 30ch; } .analytics-actions { width: 100%; justify-content: start; } .analytics-actions [role=status] { margin-right: auto; font-size: .65rem; } .analytics-toolbar { gap: .4rem; } .analytics-toolbar label { flex-basis: 100%; } .analytics-toolbar a:first-of-type { margin-left: 0; } .analytics-filters { padding: .75rem; gap: .75rem .5rem; } .analytics-filters label { flex: 1 1 42%; } .analytics-filters input,.analytics-filters select { max-width: none; } .analytics-filters button { width: 100%; } .analytics-widget > header { padding: 1rem .85rem .5rem; } .widget-body { padding: 0 .85rem .85rem; } .kpi-value { font-size: 2.2rem; } .kpi-comparison { font-size: .6rem; } .analytics-page .map-controls { padding: .4rem .75rem; gap: .4rem; } .map-controls label { width: 100%; } .map-controls button:last-child { margin-left: 0; } .map-stage { aspect-ratio: 1.65; } .map-summary strong { font-size: 2rem; } .map-summary small { font-size: .5rem; } .map-empty { font-size: .6rem; left: 8%; right: 8%; bottom: 3%; } .map-footer { padding: .7rem; gap: .7rem; } .retention-cards { grid-template-columns: repeat(2,1fr); } .retention-cards strong { font-size: 1.7rem; } .analytics-page .cohort-table th,.analytics-page .cohort-table td { padding-left: .35rem; padding-right: .35rem; } .retention-cards small { font-size: .58rem; } .analytics-page .widget-controls button { min-width: 44px; } }
@media (prefers-reduced-motion:reduce) { .analytics-loading span { animation: none; } }
@media (max-width:540px) {
  .analytics-filter-panel .analytics-filters { align-items: flex-start; }
  .shell:has(.analytics-page) .brand { font-size: .7rem; gap: .35rem; }
  .shell:has(.analytics-page) .brand-mark { width: 25px; height: 25px; }
  .shell:has(.analytics-page) .brand-env { font-size: .6rem; }
  .shell:has(.analytics-page) .appbar-spacer { display: none; }
  .shell:has(.analytics-page) .appbar .who { order: 5; width: 100%; font-size: .7rem; }
  .shell:has(.analytics-page) .appbar button,.shell:has(.analytics-page) .drawer-toggle { font-size: .7rem; min-height: 36px; padding: .4rem .65rem; }
  .analytics-toolbar label { min-width: 0; }
  .analytics-page .analytics-filter-panel > summary { font-size: .7rem; }
  .analytics-filters label:has(input[type=date]) { flex: 1 1 42%; }
  .analytics-filters .analytics-version-field { flex: 1 1 42%; }
  .map-footer { font-size: .65rem; }
}

/* DD-ANALYTICS-WIDGETS-v1: board navigation, independent card scopes, and focus. */
.main:has(> .analytics-page) > .operator-help { width:100%; box-sizing:border-box; margin:0 0 .25rem; padding:0; border:0; background:transparent; }
.main:has(> .analytics-page) > .operator-help .operator-help-intro { display:none; }
.main:has(> .analytics-page) > .operator-help .operator-help-menu > summary { width:max-content; min-height:32px; padding:0 .2rem; font-size:.76rem; line-height:32px; }
.main:has(> .analytics-page) > .operator-help .operator-help-menu[open] { padding:.5rem .75rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); }
.analytics-page h1 { font-size:clamp(1.75rem,2.3vw,2.2rem); margin:0; line-height:1.15; }
.analytics-heading { gap:.7rem; margin:0 0 .35rem; }
.analytics-actions { gap:.4rem; }
.analytics-actions [role=status] { white-space:nowrap; }
.analytics-page .analytics-actions button { min-height:38px; padding:.4rem .7rem; }
.analytics-board-bar { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid var(--stone-edge); margin:-.6rem 0 1rem; }
.analytics-board-tabs { display:flex; gap:.35rem; min-width:0; overflow-x:auto; }
.analytics-page .analytics-board-tabs button { border:0; border-radius:7px 7px 0 0; background:transparent; color:var(--text-muted); padding:.7rem 1rem; white-space:nowrap; font-weight:700; }
.analytics-page .analytics-board-tabs button[aria-selected=true] { background:var(--panel); color:var(--text); box-shadow:inset 0 -3px 0 var(--teal); }
.analytics-board-bar p { color:var(--text-muted); font-size:.72rem; max-width:42ch; margin:0; line-height:1.45; }
.analytics-board-bar { margin:0 0 .35rem; }
.analytics-board-bar p { font-size:.77rem; }
.analytics-page .analytics-saved-tools { margin:0 0 .45rem; }
.analytics-page .analytics-saved-tools > summary { width:max-content; box-sizing:border-box; min-height:36px; padding:.3rem .75rem .3rem 1.4rem; border:1px solid var(--stone-edge); border-radius:7px; background:var(--panel); color:var(--text); font-size:.74rem; line-height:1.4; }
.analytics-saved-tools .analytics-toolbar { align-items:center; gap:.45rem; margin:.4rem 0 0; padding:.65rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); }
.analytics-saved-tools .analytics-toolbar label { margin:0; }
.analytics-saved-tools .analytics-toolbar a:first-of-type { margin-left:auto; }
.analytics-scope-bar { gap:.55rem; padding:.55rem .7rem; margin-bottom:.45rem; }
.analytics-scope-intro { flex:1 1 170px; font-size:.68rem; }
.analytics-scope-intro strong { font-size:.76rem; }
.analytics-scope-bar label { flex:1 1 170px; }
.analytics-page .analytics-filter-panel { margin-bottom:.45rem; }
.analytics-page .analytics-filter-panel > summary { padding:.55rem .75rem; }
.analytics-page .analytics-comparisons { margin:.15rem 0 .45rem; }
.analytics-page .analytics-comparisons > summary { min-height:36px; padding:.35rem 0; }
.analytics-page .analytics-editor { align-items:center; gap:.5rem; padding:.6rem .75rem; border:1px solid var(--stone-edge); background:var(--panel); margin-bottom:.7rem; }
.analytics-page .analytics-editor > div { flex:1 1 170px; }
.analytics-page .analytics-editor h2 { margin:0; font-size:.83rem; }
.analytics-page .analytics-editor p { font-size:.68rem; line-height:1.35; }
.analytics-page .analytics-editor label { flex:0 1 170px; }
.analytics-page .analytics-editor #analytics-add { align-self:end; }
.analytics-page.is-editing .analytics-widget { overflow:visible; position:relative; }
.analytics-page.is-editing .analytics-widget:has(.analytics-card-menu[open]) { z-index:12; }
.analytics-widget > header { padding-top:.85rem; padding-bottom:.45rem; }
.analytics-widget-scopes { padding-bottom:.5rem; }
.retention-summary,.purchase-summary { display:grid; align-content:center; min-height:7.5rem; gap:.15rem; }
.retention-summary > span,.purchase-summary span { color:var(--text-muted); font-size:.65rem; letter-spacing:.04em; }
.retention-summary strong,.purchase-summary strong { display:block; color:var(--text); font-size:clamp(1.8rem,2.6vw,2.6rem); line-height:1.15; letter-spacing:-.035em; }
.retention-summary small { color:var(--text-muted); font-size:.72rem; }
.purchase-summary { gap:.65rem; }
.purchase-summary > div { display:grid; gap:.1rem; }
.purchase-summary p { color:var(--text-muted); font-size:.76rem; line-height:1.5; margin:0; }
.analytics-card-details { border-top:1px solid var(--stone-edge)!important; padding-top:.35rem!important; }
.analytics-widget { container-type:inline-size; }
.analytics-widget > header { align-items:flex-start; flex-wrap:wrap; }
.analytics-widget > header h2 { padding-top:.45rem; min-width:8ch; flex:1; }
.analytics-card-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:.3rem; min-width:0; }
.analytics-page .analytics-card-actions > button { min-height:36px; padding:.35rem .55rem; font-size:.66rem; white-space:nowrap; }
.analytics-widget-scopes { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem; padding:0 1.25rem .85rem; color:var(--text-muted); }
.analytics-widget-scopes span { border:1px solid var(--stone-edge); background:color-mix(in srgb,var(--teal) 5%,var(--panel)); border-radius:100px; padding:.2rem .45rem; font-size:.62rem; line-height:1.3; overflow-wrap:anywhere; }
.analytics-widget-scopes span:first-child { color:var(--teal-tint); border-color:var(--teal); }
.analytics-card-edit { display:flex; align-items:center; gap:.25rem; }
.analytics-page .analytics-drag-handle { min-height:36px; width:36px; padding:0; cursor:grab; font-size:1.15rem; color:var(--gold-tint); touch-action:none; }
.analytics-card-menu { position:relative; margin:0!important; }
.analytics-page .analytics-card-menu summary { display:grid; place-items:center; width:36px; min-height:36px; padding:0; border:1px solid var(--stone-edge); border-radius:7px; color:var(--text); list-style:none; font-size:1rem; }
.analytics-card-menu summary::-webkit-details-marker { display:none; }
.analytics-card-menu > div { position:absolute; z-index:8; right:0; top:calc(100% + .3rem); width:190px; display:grid; gap:.15rem; padding:.35rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); box-shadow:0 16px 35px #0009; }
.analytics-page .analytics-card-menu button { text-align:left; background:transparent; border:0; min-height:36px; padding:.4rem .6rem; font-size:.7rem; }
.analytics-page .analytics-card-menu [data-action=remove] { color:var(--ember); }
.analytics-grid.is-dragging .analytics-widget { transition:box-shadow .15s ease; }
.analytics-grid.is-dragging .analytics-widget:hover { box-shadow:inset 0 0 0 2px var(--gold-tint); }
.analytics-card-ab { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }
.analytics-card-ab > div { min-width:0; padding:.75rem; border:1px solid var(--stone-edge); border-radius:8px; }
.analytics-card-ab h3 { color:var(--gold-tint); font-size:.72rem; margin:0 0 .6rem; }
.analytics-card-population,.analytics-card-limitation,.analytics-card-stamp { font-size:.67rem; line-height:1.5; color:var(--text-muted); margin:.8rem 0 0; }
.analytics-card-population { border-top:1px solid var(--stone-edge); padding-top:.65rem; }
.analytics-card-limitation { color:var(--teal-tint); }
.analytics-card-error { color:var(--ember); font-size:.78rem; line-height:1.45; }
.analytics-page .analytics-release-comparison.analytics-widget { padding:0; margin:0; border-top:2px solid var(--gold-tint); }
.analytics-release-comparison .widget-body { min-width:0; }
.analytics-undo { position:fixed; z-index:30; right:clamp(1rem,2vw,2rem); bottom:calc(env(safe-area-inset-bottom) + 1rem); display:flex; align-items:center; gap:.65rem; width:max-content; max-width:calc(100vw - 2rem); margin:0; padding:.55rem .75rem; border:1px solid var(--teal); border-radius:9px; background:var(--panel); color:var(--text); box-shadow:0 18px 40px #0008; font-size:.75rem; }
.analytics-undo[hidden] { display:none; }
.analytics-page .analytics-undo button { min-height:34px; color:var(--gold-tint); }
.analytics-page .analytics-widget-dialog { box-sizing:border-box; width:min(720px,calc(100vw - 24px)); max-height:min(92dvh,900px); padding:0; border:1px solid var(--stone-edge); border-radius:16px; background:var(--panel); color:var(--text); box-shadow:0 25px 80px #000b; overflow:hidden; }
.analytics-widget-dialog::backdrop,.analytics-widget-focus::backdrop { background:#07131bd9; backdrop-filter:blur(3px); }
.analytics-widget-dialog form { display:flex; flex-direction:column; max-height:calc(min(92dvh,900px) - 2px); }
.analytics-page .analytics-widget-dialog form > .analytics-widget-dialog-scroll { display:block; flex:1 1 auto; min-width:0; min-height:0; margin:0; overflow:auto; overscroll-behavior:contain; padding:clamp(1rem,2.2vw,1.6rem); }
.analytics-page .analytics-dialog-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.analytics-dialog-head h2 { font-size:1.2rem; margin:.2rem 0 0; }
.analytics-page .analytics-dialog-head button { min-height:36px; width:36px; padding:0; }
.analytics-page .analytics-widget-filter-grid,.analytics-page .analytics-widget-audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.analytics-widget-filter-grid label,.analytics-widget-audience-grid label { min-width:0; font-size:.75rem; }
.analytics-widget-filter-grid select,.analytics-widget-filter-grid input[type=date],.analytics-widget-audience-grid select,.analytics-widget-audience-grid input[type=number] { box-sizing:border-box; width:100%; min-width:0; background:var(--bg); }
.analytics-widget-filter-grid [hidden] { display:none!important; }
.analytics-compare-builder { margin:1.15rem 0 .35rem; padding:1rem; border:1px solid color-mix(in srgb,var(--teal) 34%,var(--stone-edge)); border-radius:12px; background:color-mix(in srgb,var(--teal) 4%,var(--bg)); }
.analytics-compare-builder legend { padding:0 .45rem; color:var(--teal-tint); font-size:.78rem; font-weight:700; letter-spacing:.015em; }
.analytics-compare-builder-head { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.analytics-compare-builder label,.analytics-trend-measure { min-width:0; font-size:.76rem; }
.analytics-compare-builder select,.analytics-trend-measure select { box-sizing:border-box; width:100%; min-width:0; background:var(--bg); }
.analytics-compare-builder [hidden],.analytics-compare-choice[hidden],.analytics-trend-measure[hidden] { display:none!important; }
.analytics-compare-values { margin:.9rem 0 .7rem; }
.analytics-compare-choice-head { display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; margin-bottom:.5rem; font-size:.74rem; }
.analytics-compare-choice-head span { color:var(--text-muted); font-size:.68rem; }
.analytics-compare-choice-actions { display:flex; gap:.4rem; margin:.45rem 0; }
.analytics-compare-choice-actions button { min-height:32px; padding:.25rem .55rem; border:1px solid var(--stone-edge); border-radius:6px; background:var(--panel); color:var(--teal-tint); font:inherit; font-size:.69rem; cursor:pointer; }
.analytics-compare-choice-actions button:hover,.analytics-compare-choice-actions button:focus-visible { border-color:var(--teal); }
.analytics-compare-values > input[type=search] { box-sizing:border-box; width:100%; min-height:40px; margin:0 0 .55rem; padding:.5rem .7rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); color:var(--text); }
.analytics-compare-choice-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:.45rem; max-height:230px; overflow:auto; padding:.15rem; }
.analytics-page .analytics-compare-choice { display:flex; flex-direction:row; align-items:center; gap:.45rem; min-height:38px; padding:.35rem .55rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); color:var(--text); font-size:.75rem; line-height:1.3; cursor:pointer; }
.analytics-compare-choice span { min-width:0; overflow-wrap:anywhere; }
.analytics-compare-choice .analytics-choice-copy { display:flex; flex-direction:column; align-items:flex-start; gap:.18rem; }
.analytics-compare-choice .analytics-choice-copy > span { font-weight:600; }
.analytics-compare-choice .analytics-choice-copy small { line-height:1.25; }
.analytics-page .analytics-compare-choice:has(input:checked) { border-color:var(--teal); background:color-mix(in srgb,var(--teal) 13%,var(--panel)); }
.analytics-page .analytics-compare-choice input { accent-color:var(--teal-tint); width:17px; height:17px; min-height:17px; margin:0; padding:0; box-shadow:none; }
.analytics-compare-choice.is-unobserved { opacity:.68; cursor:not-allowed; }
.analytics-compare-choice small { color:var(--text-muted); font-size:.62rem; }
.analytics-compare-builder-note { margin:.65rem 0 0; color:var(--text-muted); font-size:.71rem; line-height:1.45; }
.analytics-trend-measure { display:block; margin:.8rem 0 0; }
.analytics-multi-overview { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .55rem; }
.analytics-multi-overview span { padding:.28rem .55rem; border:1px solid var(--stone-edge); border-radius:99px; background:color-mix(in srgb,var(--gold-tint) 6%,var(--panel)); color:var(--text); font-size:.69rem; }
.analytics-widget:has(.analytics-funnel-compare) .widget-body { container-type:inline-size; }
.analytics-funnel-compare { min-width:0; margin:.9rem 0 1.2rem; border:1px solid color-mix(in srgb,var(--teal) 48%,var(--stone-edge)); border-radius:14px; background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 9%,var(--panel)),var(--panel) 65%); overflow:clip; }
.analytics-funnel-hero { padding:1rem 1rem .9rem; border-bottom:1px solid var(--stone-edge); }
.analytics-funnel-eyebrow { color:var(--teal-tint); font-size:.64rem; font-weight:800; letter-spacing:.13em; }
.analytics-funnel-hero h3 { margin:.32rem 0 .15rem; color:var(--text); font-size:1.25rem; line-height:1.2; letter-spacing:-.02em; }
.analytics-funnel-hero p,.analytics-funnel-step-heading p { margin:.25rem 0 0; color:var(--text-muted); font-size:.75rem; line-height:1.4; }
.analytics-funnel-outcome { display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .6rem; margin-top:.75rem; padding:.55rem .7rem; border:1px solid color-mix(in srgb,var(--teal) 42%,var(--stone-edge)); border-radius:8px; background:color-mix(in srgb,var(--teal) 7%,var(--panel)); }
.analytics-funnel-outcome strong { flex-basis:100%; color:var(--teal-tint); font-size:1.7rem; line-height:1.1; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.analytics-funnel-outcome.is-down strong,.analytics-funnel-step-change.is-down { color:var(--ember); }
.analytics-funnel-outcome span { color:var(--text-muted); font-size:.72rem; overflow-wrap:anywhere; }
.analytics-funnel-evidence { margin:.48rem 0 0 !important; color:var(--text-muted); font-size:.73rem !important; line-height:1.35; }
.analytics-funnel-coverage span { display:inline-block; white-space:nowrap; }
.analytics-funnel-completion { display:grid; gap:.42rem; padding:.8rem 1rem; }
.analytics-funnel-series { min-width:0; padding:.47rem .6rem; border:1px solid var(--stone-edge); border-radius:8px; background:color-mix(in srgb,var(--teal) 3%,var(--panel)); }
.analytics-funnel-series-label { display:flex; align-items:baseline; gap:.38rem; min-width:0; }
.analytics-funnel-series-label i { width:.55rem; height:.55rem; flex:none; border-radius:50%; background:var(--series-color); }
.analytics-funnel-series-label strong { min-width:0; overflow-wrap:anywhere; color:var(--text); font-size:.79rem; font-weight:650; }
.analytics-funnel-series-label span { color:var(--text-muted); font-size:.65rem; }
.analytics-funnel-series-label .analytics-funnel-series-key { color:var(--series-color); font-weight:800; }
.analytics-funnel-series-label b { margin-left:auto; color:var(--series-color); font-size:1.24rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.analytics-funnel-series small { display:block; margin:.15rem 0 0 1rem; color:var(--text-muted); font-size:.69rem; line-height:1.35; }
.analytics-funnel-context { margin:.2rem 0 0; padding:.55rem .65rem; border:1px solid var(--stone-edge); border-radius:8px; color:var(--text-muted); font-size:.7rem; line-height:1.4; overflow-wrap:anywhere; }
.analytics-funnel-awaiting { padding:1rem; }
.analytics-funnel-awaiting h3 { margin:0 0 .35rem; font-size:1rem; }
.analytics-funnel-awaiting p { margin:0; color:var(--text-muted); font-size:.78rem; line-height:1.45; }
.analytics-funnel-step-chart { margin:0 1rem 1rem; padding-top:.75rem; border-top:1px solid var(--stone-edge); }
.analytics-funnel-step-heading { margin-bottom:.65rem; }
.analytics-funnel-step-heading h4 { margin:0; color:var(--text); font-size:.89rem; }
.analytics-funnel-legend { display:grid; gap:.3rem; margin:.45rem 0 .6rem; color:var(--text-muted); font-size:.72rem; line-height:1.3; }
.analytics-funnel-legend-context,.analytics-funnel-legend-series { display:flex; align-items:center; flex-wrap:wrap; gap:.2rem .85rem; min-width:0; }
.analytics-funnel-legend-context { justify-content:space-between; }
.analytics-funnel-legend-context b { color:var(--teal-tint); font-size:.65rem; letter-spacing:.075em; }
.analytics-funnel-legend-context span { font-size:.69rem; }
.analytics-funnel-legend-series > span { display:inline-flex; align-items:center; gap:.28rem; min-width:0; overflow-wrap:anywhere; }
.analytics-funnel-legend i { width:.55rem; height:.55rem; flex:none; border-radius:50%; }
.analytics-funnel-legend-series strong { margin-left:auto; color:var(--text-muted); font-size:.68rem; font-weight:650; }
.analytics-funnel-verdict { display:flex; align-items:center; flex-wrap:wrap; gap:.2rem .85rem; padding-top:.5rem; border-top:1px solid var(--stone-edge); }
.analytics-funnel-verdict b { color:var(--gold-tint); font-size:.88rem; letter-spacing:.025em; }
.analytics-funnel-verdict > span { font-size:.82rem; font-weight:750; white-space:nowrap; }
.analytics-funnel-verdict .is-up { color:var(--teal-tint); }
.analytics-funnel-verdict .is-down { color:var(--ember); }
.analytics-funnel-verdict small { color:var(--text-muted); font-size:.73rem; }
.analytics-funnel-step-head,.analytics-funnel-step { display:grid; grid-template-columns:minmax(7.3rem,26%) minmax(6rem,1fr) minmax(6.5rem,25%) 3.65rem; gap:.35rem; align-items:center; }
.analytics-funnel-step-head { color:var(--text-muted); font-size:.63rem; font-weight:700; padding:.2rem 0 .4rem; }
.analytics-funnel-step-head.is-many { grid-template-columns:minmax(7.3rem,26%) minmax(0,1fr) 3.65rem; }
.analytics-funnel-step-head span:nth-child(3) { text-align:right; }
.analytics-funnel-step-head span:last-child { text-align:right; }
.analytics-funnel-stage { margin:.35rem 0 0; padding:.5rem 0 .35rem; border-top:1px solid var(--stone-edge); color:var(--text-muted); font-size:.63rem; font-weight:800; letter-spacing:.13em; }
.analytics-funnel-step { min-height:39px; padding:.2rem 0; border-top:1px solid color-mix(in srgb,var(--stone-edge) 55%,transparent); }
.analytics-funnel-step.is-finish { margin:0 -.35rem; padding:.3rem .35rem; border:1px solid color-mix(in srgb,var(--teal) 62%,var(--stone-edge)); border-radius:7px; background:color-mix(in srgb,var(--teal) 8%,var(--panel)); }
.analytics-funnel-step h5 { margin:0; color:var(--text); font-size:.81rem; font-weight:650; line-height:1.25; overflow-wrap:break-word; }
.analytics-funnel-step-plot { display:grid; gap:2px; min-width:0; }
.analytics-funnel-step-series { min-width:0; }
.analytics-funnel-step-track { height:5px; border-radius:99px; background:color-mix(in srgb,var(--stone-edge) 75%,var(--bg)); overflow:hidden; }
.analytics-funnel-step-track i { display:block; height:100%; border-radius:inherit; background:var(--series-color); }
.analytics-funnel-step-track em { display:block; width:100%; height:100%; border:1px dashed var(--text-muted); border-radius:inherit; opacity:.55; }
.analytics-funnel-step-values { display:grid; grid-template-columns:repeat(var(--series-count),minmax(0,1fr)); gap:.1rem; min-width:0; }
.analytics-funnel-step-values b { font-size:.75rem; font-weight:750; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.analytics-funnel-step-change { color:var(--teal-tint); font-size:.73rem; font-weight:750; text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.analytics-funnel-step.is-many { grid-template-columns:minmax(7.3rem,26%) minmax(0,1fr) 3.65rem; align-items:start; }
.analytics-funnel-step.is-many .analytics-funnel-step-plot { gap:.24rem; }
.analytics-funnel-step.is-many .analytics-funnel-step-series { display:grid; grid-template-columns:1rem minmax(0,1fr) 2.65rem; align-items:center; gap:.28rem; }
.analytics-funnel-step.is-many .analytics-funnel-step-series span,.analytics-funnel-step.is-many .analytics-funnel-step-series b { color:var(--series-color); font-size:.68rem; font-variant-numeric:tabular-nums; }
.analytics-funnel-step.is-many .analytics-funnel-step-series b { text-align:right; }
.analytics-stage1-route { margin:.65rem -.35rem; padding:.65rem .35rem; border:1px solid color-mix(in srgb,var(--teal) 62%,var(--stone-edge)); border-radius:8px; background:color-mix(in srgb,var(--teal) 5%,var(--panel)); }
.analytics-stage1-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:.65rem 1.5rem; padding:.15rem 0 .5rem; }
.analytics-stage1-heading h4 { margin:0 0 .3rem; color:var(--teal-tint); font-size:.8rem; letter-spacing:.08em; line-height:1.35; }
.analytics-stage1-heading p,.analytics-stage1-note { margin:0; color:var(--text-muted); font-size:.75rem; line-height:1.5; }
.analytics-stage1-population { display:grid; gap:.3rem; color:var(--text); font-size:.75rem; line-height:1.5; }
.analytics-stage1-population i { display:inline-block; width:8px; height:8px; margin-right:.3rem; border-radius:50%; }
.analytics-stage1-route .analytics-funnel-step { min-height:52px; }
.analytics-stage1-route .analytics-funnel-step-values small { display:block; margin-top:.2rem; font-size:.72rem; font-weight:500; line-height:1.35; white-space:normal; }
.analytics-stage1-outcomes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:.45rem 1.2rem; padding:.6rem 0; font-size:.75rem; line-height:1.5; color:var(--text); }
.analytics-stage1-route > .analytics-stage1-note { padding:.2rem 0 .55rem; }
.journey-line > .analytics-stage1-route { list-style:none; margin:.65rem 0; padding:.75rem; }
@media(max-width:640px) {
  .analytics-stage1-heading p,.analytics-stage1-note,.analytics-stage1-population,.analytics-stage1-outcomes { font-size:.78rem; }
  .analytics-stage1-heading { gap:.45rem; }
  .analytics-stage1-route .analytics-funnel-step { padding:.6rem 0; }
}
.analytics-funnel-method { margin:0; padding:.8rem 1rem 1rem; border-top:1px solid var(--stone-edge); color:var(--text-muted); font-size:.71rem; line-height:1.5; }
@container (max-width:470px) {
  .analytics-funnel-legend-series strong { flex-basis:100%; margin-left:0; }
  .analytics-funnel-verdict { gap:.18rem .5rem; }
  .analytics-funnel-verdict b span { display:none; }
  .analytics-funnel-verdict small { flex-basis:100%; }
  .analytics-funnel-step-head { display:none; }
  .analytics-funnel-step,.analytics-funnel-step.is-many { grid-template-columns:minmax(0,1fr) auto; gap:.2rem .6rem; padding:.4rem 0; }
  .analytics-funnel-step h5 { grid-column:1; }
  .analytics-funnel-step-change { grid-column:2; grid-row:1; }
  .analytics-funnel-step-plot { grid-column:1 / -1; grid-row:2; }
  .analytics-funnel-step-values { grid-column:1 / -1; grid-row:3; }
  .analytics-funnel-step-values b { text-align:center; }
  .analytics-funnel-step.is-many .analytics-funnel-step-plot { grid-row:2; }
}
.analytics-multi-chart { min-width:0; margin:1rem 0; padding:.85rem; border:1px solid var(--stone-edge); border-radius:10px; background:color-mix(in srgb,var(--teal) 3%,var(--panel)); }
.analytics-multi-chart figcaption { color:var(--text); font-size:.82rem; font-weight:700; }
.analytics-multi-chart-legend { display:flex; flex-wrap:wrap; gap:.35rem .8rem; margin:.7rem 0; }
.analytics-multi-chart-legend button { display:inline-flex; align-items:center; gap:.35rem; padding:.22rem .38rem; border:1px solid transparent; border-radius:6px; background:transparent; color:var(--text-muted); font:inherit; font-size:.69rem; cursor:pointer; }
.analytics-multi-chart-legend button:hover,.analytics-multi-chart-legend button:focus-visible,.analytics-multi-chart-legend button[aria-pressed="true"] { border-color:var(--teal); color:var(--text); }
.analytics-multi-chart-legend i { display:block; width:9px; height:9px; border-radius:50%; }
.analytics-legend-state { display:block; color:var(--text-muted); font-size:.65rem; margin:-.4rem 0 .35rem; }
.analytics-multi-chart-scroll { overflow-x:auto; max-width:100%; }
.analytics-multi-chart svg { width:100%; height:auto; max-height:250px; overflow:visible; }
.analytics-multi-chart .chart-grid { fill:none; stroke:var(--stone-edge); stroke-dasharray:3 5; }
.analytics-multi-chart svg circle { fill:currentColor; }
.analytics-multi-chart svg rect { fill:currentColor; }
.analytics-multi-chart svg [data-series].is-muted { opacity:.13; }
.analytics-multi-chart svg text { fill:var(--text-muted); font-size:12px; }
.analytics-multi-chart > p { color:var(--text-muted); font-size:.68rem; line-height:1.4; margin:.3rem 0 0; }
.analytics-multi-matrix table { min-width:max(100%,460px); }
.analytics-multi-matrix th,.analytics-multi-matrix td { min-width:125px; vertical-align:top; }
.analytics-multi-matrix th:first-child { min-width:180px; }
.analytics-multi-matrix th:first-child { position:sticky; left:0; z-index:1; background:var(--panel); }
.analytics-multi-matrix thead th:first-child { z-index:2; }
.analytics-multi-matrix thead small { display:block; margin-top:.2rem; color:var(--text-muted); font-size:.66rem; font-weight:400; }
.analytics-multi-mobile { display:none; }
@media (max-width:640px) {
  .analytics-multi-matrix { display:none; }
  .analytics-multi-mobile { display:block; margin:.75rem 0; }
  .analytics-multi-mobile-measure { margin:.65rem 0; padding:.75rem; border:1px solid var(--stone-edge); border-radius:9px; background:color-mix(in srgb,var(--teal) 3%,var(--panel)); }
  .analytics-multi-mobile-measure h4 { margin:0 0 .38rem; color:var(--text); font-size:.76rem; line-height:1.35; }
  .analytics-multi-mobile-group { display:grid; grid-template-columns:minmax(75px,.42fr) minmax(0,1fr); gap:.55rem; padding:.48rem 0; border-top:1px solid var(--stone-edge); color:var(--text-muted); font-size:.72rem; }
  .analytics-multi-mobile-group > span { overflow-wrap:anywhere; font-weight:700; }
  .analytics-multi-mobile-group small { display:block; color:var(--text-muted); font-size:.63rem; font-weight:400; line-height:1.35; }
  .analytics-multi-mobile-group strong { display:block; color:var(--text); font-size:.74rem; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
  .analytics-multi-mobile-group div small { color:var(--teal-tint); margin-top:.15rem; }
}
.analytics-multi-matrix td strong { display:block; color:var(--text); font-size:.76rem; font-weight:600; white-space:normal; }
.analytics-multi-evidence { display:block; margin-top:.16rem; color:var(--text-muted); font-size:.67rem; line-height:1.35; overflow-wrap:anywhere; }
.analytics-multi-matrix td small { display:block; margin-top:.27rem; color:var(--teal-tint); font-size:.65rem; white-space:normal; }
.analytics-multi-details { margin-top:.8rem!important; }
.analytics-multi-arms { display:grid; gap:.9rem; margin-top:.8rem; }
.analytics-multi-arms > section { min-width:0; padding:.85rem; border:1px solid var(--stone-edge); border-radius:10px; }
.analytics-multi-arms h3 { margin:0; color:var(--gold-tint); font-size:.86rem; }
.analytics-all-version-context { margin:.9rem 0; padding:.85rem; border-left:3px solid var(--gold-tint); border-radius:0 8px 8px 0; background:color-mix(in srgb,var(--gold-tint) 6%,var(--panel)); }
.analytics-all-version-context strong { color:var(--gold-tint); font-size:.77rem; }
.analytics-all-version-context p { margin:.35rem 0 0; color:var(--text-muted); font-size:.72rem; line-height:1.45; }
.analytics-map-group-switch { display:flex; flex-wrap:wrap; gap:.4rem; margin:.55rem 0 .85rem; }
.analytics-map-group-switch button { min-height:34px; padding:.35rem .65rem; border:1px solid var(--stone-edge); border-radius:7px; background:var(--panel); color:var(--text); font:inherit; font-size:.72rem; cursor:pointer; }
.analytics-map-group-switch button:hover,.analytics-map-group-switch button:focus-visible,.analytics-map-group-switch button[aria-pressed="true"] { border-color:var(--teal); background:color-mix(in srgb,var(--teal) 13%,var(--panel)); }
.analytics-widget-filter-grid .analytics-widget-compare-check { grid-column:1/-1; flex-direction:row; align-items:center; gap:.55rem; min-height:44px; color:var(--text); }
.analytics-page .analytics-widget-compare-check input { accent-color:var(--gold-tint); width:18px; height:18px; min-height:18px; padding:0; background:transparent; box-shadow:none; }
.analytics-widget-audience-grid .analytics-widget-include-test { grid-column:1/-1; flex-direction:row; align-items:center; gap:.55rem; min-height:44px; color:var(--text); }
.analytics-page .analytics-widget-include-test input { accent-color:var(--gold-tint); width:18px; height:18px; min-height:18px; padding:0; background:transparent; box-shadow:none; }
.analytics-page .analytics-card-audience { margin:.8rem 0 0; border-top:1px solid var(--stone-edge); }
.analytics-page .analytics-card-audience > summary { min-height:44px; color:var(--teal-tint); font-size:.75rem; line-height:1.45; padding:.55rem 0; }
.analytics-page .analytics-card-audience .analytics-widget-audience-grid { padding:.35rem 0 .5rem; }
#analytics-widget-filter-status,#analytics-widget-filter-help { color:var(--text-muted); font-size:.73rem; line-height:1.5; margin:.8rem 0 0; }
.analytics-page .analytics-widget-dialog form > .analytics-dialog-actions { display:flex; flex:0 0 auto; justify-content:flex-end; flex-wrap:wrap; gap:.5rem; margin:0; padding:.75rem clamp(1rem,2.2vw,1.6rem); border-top:1px solid var(--stone-edge); background:var(--panel); }
@media (min-width:641px) { .analytics-dialog-actions #analytics-widget-inherit { margin-right:auto; } }
.analytics-page .analytics-widget-focus { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:var(--bg); color:var(--text); overflow:auto; }
.analytics-widget-focus .analytics-widget:has(.analytics-funnel-compare) { overflow:visible; }
.analytics-focus-top { position:sticky; top:0; z-index:9; display:flex; align-items:center; justify-content:space-between; gap:.5rem; box-sizing:border-box; min-height:68px; padding:.6875rem clamp(1rem,3vw,2rem); border-bottom:2px solid var(--gold-tint); background:var(--panel); }
.analytics-focus-actions { display:flex; flex:0 0 auto; align-items:center; gap:.5rem; }
.analytics-widget-focus .analytics-focus-actions button { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; scroll-margin-top:0; }
.analytics-focus-actions svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; color:var(--teal-tint); }
.analytics-focus-phone { display:none; }
.analytics-widget-focus .analytics-funnel-legend { position:sticky; top:68px; z-index:8; margin:0 -1rem .65rem; padding:.55rem 1rem; border:1px solid var(--stone-edge); border-radius:8px; background:var(--panel); box-shadow:0 6px 18px #0005; }
.analytics-focus-top strong { color:var(--gold-tint); font-size:.8rem; }
#analytics-focus-content { max-width:1360px; margin:auto; padding:clamp(1rem,3vw,2.5rem); }
.analytics-widget.is-focused-card { width:100%; min-height:calc(100dvh - 160px); }
.analytics-focus-placeholder { border:1px dashed var(--stone-edge); border-radius:12px; }
@media(max-width:700px) {
  .analytics-heading { margin:.1rem 0 .45rem; gap:.35rem; }
  .analytics-page h1 { font-size:1.8rem; }
  .analytics-actions { width:100%; gap:.4rem; }
  .analytics-actions [role=status] { flex:1 1 auto; text-align:left; }
  .analytics-page .analytics-actions button { min-height:40px; }
  .analytics-board-bar { display:block; }
  .analytics-board-bar p { padding:.25rem 0 .4rem; font-size:.76rem; }
  .analytics-page .analytics-saved-tools { margin-bottom:.45rem; }
  .analytics-scope-intro { flex-basis:100%; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:.2rem .45rem; }
  .analytics-scope-bar label { flex:1 1 calc(50% - .3rem); max-width:none; }
  .analytics-page .analytics-editor > div { flex-basis:100%; }
  .analytics-page .analytics-editor label { flex:1 1 calc(50% - .25rem); }
  .analytics-page .analytics-editor #analytics-add { flex:1 1 100%; }
  .analytics-grid { grid-template-columns:minmax(0,1fr); }
  .analytics-widget,.analytics-widget:not(.kpi-widget) { grid-column:1/-1; }
  .analytics-widget-scopes { padding-left:.85rem; padding-right:.85rem; }
  .analytics-widget > header { padding-left:.85rem; padding-right:.85rem; }
  .analytics-page .analytics-card-actions > button,.analytics-page .analytics-drag-handle,.analytics-page .analytics-card-menu summary { min-height:44px; }
  .analytics-page .analytics-drag-handle,.analytics-page .analytics-card-menu summary { width:44px; }
  .analytics-page .analytics-widget-dialog { position:fixed; inset:auto 0 0; width:100vw; max-width:none; max-height:90dvh; margin:0; border-radius:15px 15px 0 0; }
  .analytics-page .analytics-widget-dialog form { max-height:calc(90dvh - 2px); }
  .analytics-page .analytics-widget-filter-grid,.analytics-page .analytics-widget-audience-grid { grid-template-columns:minmax(0,1fr); }
  .analytics-compare-builder-head { grid-template-columns:minmax(0,1fr); }
  .analytics-compare-choice-list { grid-template-columns:1fr; }
  .analytics-funnel-series small { font-size:.72rem; }
  .analytics-undo { left:.75rem; right:.75rem; width:auto; }
  .analytics-page .analytics-dialog-head button { min-height:44px; min-width:44px; }
  .analytics-dialog-actions > button { box-sizing:border-box; min-width:0; flex:1 1 calc(50% - .25rem); }
  .analytics-dialog-actions > .analytics-primary { flex-basis:100%; }
  .analytics-focus-top strong { min-width:0; line-height:1.4; }
  .analytics-focus-actions button { font-size:.875rem; padding:.55rem .65rem; }
  .analytics-focus-desktop { display:none; }
  .analytics-focus-phone { display:inline; }
}
/* The onboarding journey (docs/analytics/ONBOARDING_FUNNEL.md): one line in play order, each row's drop beside it, the row
   that loses the most players marked. Indented rows are side steps only some players see. */
.journey-headline { font-size: .8rem; color: var(--text); margin: .5rem 0 .3rem; line-height: 1.5; }
.journey-headline strong { color: var(--ember); }
.journey-line { list-style: none; margin: .6rem 0; padding: 0; }
.journey-step { display: grid; grid-template-columns: minmax(8.5rem,1.2fr) minmax(4rem,2fr) 3.4rem minmax(9rem,1.5fr); align-items: center; gap: .25rem .65rem; margin: .15rem 0; padding: .4rem .45rem; border-radius: 4px; font-size: .72rem; }
.journey-name { color: var(--text); }
.journey-kind { font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-tint); margin-right: .4rem; }
.journey-bar { height: 7px; border-radius: 3px; background: var(--stone-edge); overflow: hidden; }
.journey-bar i { display: block; height: 100%; background: var(--gold-tint); border-radius: 3px; }
.journey-count { text-align: right; font-variant-numeric: tabular-nums; }
.journey-drop { color: var(--text-muted); font-size: .66rem; font-variant-numeric: tabular-nums; }
.journey-drop b { color: var(--ember); }
.journey-split,.journey-aside { display: block; }
.journey-value,.journey-versus { display: block; white-space: nowrap; }
.journey-versus { font-size: .64rem; color: var(--text-muted); margin-top: .15rem; }
.journey-choices,.journey-detail { grid-column: 1 / -1; font-size: .62rem; color: var(--text-muted); }
.journey-choices { color: var(--teal-tint); }
/* The parchment theme keeps the bright teal, too faint for small text on it: its dark link colour instead. */
:root[data-theme="light"] .journey-kind,:root[data-theme="light"] .journey-choices { color: var(--link); }
.journey-worst { background: color-mix(in srgb,var(--ember) 16%,var(--panel)); box-shadow: inset 3px 0 0 var(--ember); }
.journey-worst .journey-name { font-weight: 700; }
.journey-grey { opacity: .55; }
.journey-grey .journey-drop,.journey-grey .journey-optional-counts { font-style: italic; }
.journey-optional { display: flex; flex-wrap: wrap; gap: .2rem .8rem; margin: 0 0 .1rem; padding: .15rem .45rem .15rem 1.6rem; font-size: .66rem; color: var(--text-muted); }
.journey-optional .journey-name { color: var(--text-muted); }
.journey-skips,.journey-unrecorded { margin: .9rem 0 .4rem; padding: .7rem .85rem; border: 1px solid var(--stone-edge); border-radius: 6px; font-size: .7rem; }
.analytics-page .journey-skips h3,.analytics-page .journey-unrecorded h3 { font-size: .78rem; margin: 0 0 .3rem; color: var(--text); }
.journey-skips p,.journey-unrecorded p { margin: .2rem 0; color: var(--text-muted); line-height: 1.5; }
.journey-compare td,.journey-compare th { font-variant-numeric: tabular-nums; }
.journey-real { color: var(--ember); font-weight: 700; }
.journey-noise { color: var(--text-muted); }
@media (max-width:640px) {
  .journey-step { grid-template-columns: 1fr 3.4rem; }
  .journey-count { grid-row: 1; grid-column: 2; }
  .journey-bar,.journey-drop { grid-column: 1 / -1; }
  .journey-optional { padding-left: 1rem; }
}

/* Keep board navigation and saved views on one line so the first card is visible without a long preamble. */
.analytics-board-nav { display:flex; align-items:flex-start; gap:.65rem; position:relative; z-index:15; margin:0 0 .5rem; border-bottom:1px solid var(--stone-edge); }
.analytics-page .analytics-board-nav .analytics-board-bar { flex:1 1 auto; min-width:0; border:0; margin:0; }
.analytics-page .analytics-board-nav .analytics-saved-tools { flex:0 0 auto; position:relative; margin:.15rem 0 0; }
.analytics-page .analytics-board-nav .analytics-saved-tools > summary { min-height:36px; white-space:nowrap; }
.analytics-board-nav .analytics-saved-tools[open] .analytics-toolbar { position:absolute; z-index:20; top:calc(100% + .5rem); right:0; box-sizing:border-box; width:min(750px,calc(100vw - 36px)); margin:0; box-shadow:0 18px 40px #0008; }
.analytics-page .analytics-editor { position:relative; z-index:9; align-items:center; justify-content:space-between; min-height:52px; border:1px solid var(--stone-edge); border-left:3px solid var(--gold-tint); border-radius:9px; background:color-mix(in srgb,var(--gold) 4%,var(--panel)); }
.analytics-arrange-hint { display:flex; flex:1 1 300px; flex-direction:column; gap:.2rem; min-width:0; }
.analytics-arrange-hint strong { color:var(--text); font-size:.78rem; }
.analytics-arrange-hint span { color:var(--text-muted); font-size:.69rem; line-height:1.4; }
.analytics-add-panel { position:relative; flex:0 0 auto; }
.analytics-add-panel > summary { display:flex; align-items:center; box-sizing:border-box; min-height:38px; padding:.4rem .75rem; color:var(--ink); background:var(--gold-tint); border-radius:7px; cursor:pointer; font-size:.73rem; font-weight:700; list-style:none; }
.analytics-add-panel > summary::-webkit-details-marker { display:none; }
.analytics-add-panel[open] > summary { background:var(--gold); }
.analytics-add-fields { position:absolute; top:calc(100% + .45rem); right:0; box-sizing:border-box; width:min(465px,calc(100vw - 36px)); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; padding:.8rem; border:1px solid var(--stone-edge); border-radius:9px; background:var(--panel); box-shadow:0 18px 40px #0009; }
.analytics-add-fields label { min-width:0; }
.analytics-add-fields select { box-sizing:border-box; width:100%; min-width:0; }
.analytics-page .analytics-add-fields #analytics-add { grid-column:1/-1; justify-self:end; min-height:38px; color:var(--ink); background:var(--gold-tint); border-color:var(--gold-tint); }
.analytics-unknown-purchases { margin:.9rem 0; padding:.75rem .9rem; border:1px solid var(--gold); border-radius:8px; background:color-mix(in srgb,var(--gold) 7%,var(--panel)); }
.analytics-unknown-purchases strong { color:var(--gold-tint); font-size:.73rem; }
.analytics-unknown-purchases p { margin:.4rem 0; color:var(--text); font-size:.75rem; line-height:1.5; }
.analytics-unknown-purchases small { color:var(--text-muted); font-size:.65rem; line-height:1.4; }
.analytics-card-menu > .analytics-card-menu-panel { box-sizing:border-box; width:240px; max-height:min(65dvh,450px); overflow:auto; gap:.25rem; padding:.65rem; }
.analytics-card-menu-panel label { margin:0 0 .3rem; }
.analytics-widget.is-focused-card [data-action=focus-card],.analytics-widget.is-focused-card .analytics-card-edit { display:none; }
.analytics-card-menu-panel input,.analytics-card-menu-panel select { box-sizing:border-box; width:100%; min-width:0; }
.analytics-card-menu-group { display:grid; gap:.2rem; border-top:1px solid var(--stone-edge); padding-top:.45rem; }
.analytics-card-menu-group > span { color:var(--text-muted); font-size:.64rem; font-weight:700; }
.analytics-card-menu-group > div { display:flex; gap:.25rem; }
.analytics-page .analytics-card-menu-group button { flex:1 1 auto; min-width:0; text-align:center; border:1px solid var(--stone-edge); border-radius:5px; padding:.25rem .35rem; }
.analytics-page .analytics-card-menu-group button[aria-pressed=true] { color:var(--ink); background:var(--gold-tint); border-color:var(--gold-tint); }
.analytics-page .analytics-card-menu-panel > [data-action=remove] { border-top:1px solid var(--stone-edge); margin-top:.25rem; padding-top:.6rem; }
.analytics-page .analytics-scope-panel { margin:0 0 .45rem; }
.analytics-scope-panel > summary { display:none; }
.analytics-scope-panel .analytics-scope-bar { margin:0; }
.analytics-widget-scopes span { font-size:.69rem; line-height:1.35; }
.analytics-card-population,.analytics-card-limitation,.analytics-card-stamp,.analytics-card-sample { font-size:.72rem; line-height:1.5; }
.analytics-widget .widget-help { font-size:.72rem; line-height:1.5; }
.analytics-widget.is-focused-card { min-height:0; }
@media (max-width:700px) {
  .analytics-board-nav { align-items:center; gap:.25rem; margin-bottom:.4rem; }
  .analytics-page .analytics-board-nav .analytics-board-bar { display:block; }
  .analytics-page .analytics-board-nav .analytics-board-bar p { display:none; }
  .analytics-board-tabs { gap:0; }
  .analytics-page .analytics-board-tabs button { padding:.65rem .7rem; font-size:.7rem; }
  .analytics-page .analytics-board-nav .analytics-saved-tools > summary { padding:.3rem .45rem .3rem 1.1rem; font-size:.69rem; }
  .analytics-page .analytics-editor { gap:.45rem; }
  .analytics-arrange-hint { flex-basis:100%; }
  .analytics-add-panel { margin-left:auto; }
  .analytics-add-fields { grid-template-columns:minmax(0,1fr); }
  .analytics-page .analytics-add-fields #analytics-add { justify-self:stretch; }
  .analytics-card-menu > .analytics-card-menu-panel { position:fixed; top:auto; bottom:12px; right:12px; width:min(300px,calc(100vw - 24px)); max-height:min(72dvh,520px); }
  .analytics-page .analytics-scope-panel { border:1px solid var(--teal); border-radius:9px; background:color-mix(in srgb,var(--teal) 7%,var(--panel)); }
  .analytics-scope-panel > summary { display:flex; align-items:center; justify-content:flex-start; gap:.35rem; box-sizing:border-box; min-height:42px; padding:.55rem .75rem; color:var(--text); font-size:.73rem; cursor:pointer; }
  .analytics-scope-panel > summary::before { content:'▸'; flex:0 0 auto; color:var(--teal-tint); font-size:.95rem; line-height:1; }
  .analytics-scope-panel[open] > summary::before { content:'▾'; }
  .analytics-scope-panel > summary span { font-weight:700; white-space:nowrap; }
  .analytics-scope-panel > summary strong { margin-left:auto; color:var(--teal-tint); font-size:.72rem; font-weight:600; text-align:right; overflow-wrap:anywhere; }
  .analytics-scope-panel[open] > summary { border-bottom:1px solid var(--stone-edge); }
  .analytics-scope-panel .analytics-scope-bar { padding:.55rem .7rem .7rem; border:0; border-radius:0; background:transparent; }
  .analytics-scope-panel .analytics-scope-intro { display:none; }
  .analytics-widget-scopes span { font-size:.7rem; }
  .analytics-page .analytics-card-menu-panel button { min-height:44px; }
}
:root[data-theme="light"] .analytics-scope-panel > summary strong,:root[data-theme="light"] .analytics-scope-panel > summary::before { color:#0A5964; }
