/* Orbit 0.2 is the foundation. This is the product's documented comfortable
   density and accessibility theme, loaded AFTER the installed runtime styles. */
html {
  font-size: 100%;
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: 6rem;
}
body.discovery-app {
  font: 400 var(--text-base) / var(--leading-body) var(--font-sans);
  margin: 0;
  background: var(--canvas);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}
:where(
  .discovery-app h1,
  .discovery-app h2,
  .discovery-app h3,
  .discovery-app p
) {
  margin: 0;
}
.discovery-app :is(h1, h2, h3) {
  font-weight: 500;
  line-height: var(--leading-heading);
  text-wrap: balance;
}
.discovery-app p {
  text-wrap: pretty;
}
.discovery-app svg {
  display: block;
}
.discovery-app .icon {
  width: var(--icon-size);
  height: var(--icon-size);
  stroke-width: 1.7;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.discovery-app span[data-app-icon] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.discovery-app :is(button, input, select, textarea) {
  font-family: inherit;
}
.discovery-app :is(button, a) {
  touch-action: manipulation;
}
.discovery-app :focus-visible {
  outline: 1px solid color-mix(in srgb, var(--text) 34%, transparent);
  outline-offset: 2px;
}
.discovery-app :is(.rank-row,.benchmark-question,.question-row,.gap-row,.traffic-list-row,.traffic-journey,.growth-path > button,.recommendation-stats .stat):focus-visible {
  outline: none;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--text) 24%, transparent);
  background: color-mix(in srgb, var(--text) 4%, var(--surface));
}
.discovery-app :focus {
  scroll-margin-top: 6rem;
  scroll-margin-bottom: var(--space-5);
}
.discovery-app [hidden] {
  display: none !important;
}
.discovery-app .button {
  min-height: var(--control-height);
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-base);
  line-height: 1.5;
  gap: var(--space-2);
  white-space: normal;
}
.discovery-app .button.small {
  min-height: var(--control-height);
  font-size: var(--text-sm);
  padding: var(--space-2) var(--space-3);
}
.discovery-app .icon-button {
  width: var(--control-height);
  height: var(--control-height);
  min-width: var(--control-height);
  min-height: var(--control-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-control);
  flex-shrink: 0;
}
.discovery-app .text-button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-height);
  padding: 0;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--muted);
}
.discovery-app .text-button:hover {
  color: var(--accent-text);
}
.discovery-app .text-button .icon {
  width: 1rem;
  height: 1rem;
}
.discovery-app .control-trigger {
  width: auto;
  min-height: var(--control-height);
  font-size: var(--text-base);
  padding: var(--space-2) var(--space-3);
  gap: var(--space-2);
  border-radius: var(--radius-input);
  line-height: 1.5;
}
.discovery-app .control-trigger .icon {
  width: 1rem;
  height: 1rem;
  color: var(--muted);
}
.discovery-app .control-trigger[aria-expanded="true"] {
  border-color: var(--focus-color);
}
.discovery-app .dropdown-panel {
  border-radius: var(--radius-panel);
  padding: var(--space-1);
  box-shadow: var(--shadow-panel);
}
.discovery-app .control-panel {
  min-width: min(15rem, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  margin: 0;
}
.discovery-app .dropdown-panel button {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--control-height);
  width: 100%;
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-base);
  line-height: 1.5;
  border-radius: var(--radius-row);
  text-align: left;
}
.discovery-app .dropdown-panel .option-check {
  margin-left: auto;
}
.discovery-app .menu-label {
  display: block;
  color: var(--muted);
  font-size: var(--text-sm);
  padding: var(--space-2) var(--space-3);
}
.discovery-app .menu-note {
  color: var(--muted);
  font-size: var(--text-sm);
  line-height: 1.6;
  padding: var(--space-3);
  border-top: 1px solid var(--border);
  margin-top: var(--space-1);
}
.discovery-app .segmented {
  max-width: 100%;
  padding: var(--space-1);
  gap: var(--space-1);
}
.discovery-app .segmented > button {
  min-height: var(--control-height);
  font-size: var(--text-sm);
  line-height: 1.5;
  padding: var(--space-2) var(--space-3);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
}
.discovery-app .segmented > button > span {
  font-size: var(--text-xs);
  color: var(--muted);
}
.discovery-app .segmented.has-indicator > button.active {
  background: transparent;
  box-shadow: none;
}
.discovery-app .badge {
  font-size: var(--text-sm);
  padding: var(--space-1) var(--space-2);
  line-height: 1.5;
  border-radius: var(--radius-badge);
  gap: var(--space-1);
  white-space: nowrap;
}
.discovery-app .badge.neutral {
  color: var(--muted);
  background: var(--bg-a1);
}
.discovery-app .choice {
  min-height: var(--control-height);
  font-size: var(--text-sm);
  gap: var(--space-2);
  line-height: 1.5;
}
.discovery-app .choice input {
  width: 1.25rem;
  height: 1.25rem;
  border-color: var(--border-control);
}
.discovery-app .choice input:checked {
  background: var(--accent-text);
  border-color: var(--accent-text);
}
.discovery-app .search-field {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 37px;
  padding: 9px 11px;
  border: 1px solid var(--bg-a3);
  background: var(--surface);
  border-radius: 9px;
}
.discovery-app .search-field input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  font-size: 12px;
  line-height: 1.5;
  outline: none;
}
.discovery-app .search-field:focus-within {
  outline: 3px solid var(--sky-3);
  outline-offset: var(--focus-offset);
}
.discovery-app .form-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: var(--space-5) 0;
  font-size: 11px;
  line-height: var(--leading-body);
}
.discovery-app .form-field :is(input, textarea, select) {
  min-height: 37px;
  font-size: 12px;
  line-height: var(--leading-body);
  border: 1px solid var(--bg-a3);
  padding: 9px 11px;
  border-radius: 9px;
  background: var(--surface);
  color: var(--text);
  width: 100%;
}
.discovery-app .form-field :is(input, textarea)::placeholder,
.discovery-app .search-field input::placeholder {
  color: var(--fg-2);
  opacity: 1;
}
.discovery-app .form-field :is(input, textarea, select):focus-visible {
  outline: 2px solid var(--sky-3);
  outline-offset: 3px;
}
.discovery-app .search-field > [data-app-icon] .icon {
  width: 15px;
  height: 15px;
  color: var(--fg-2);
}
.discovery-app .form-field textarea {
  min-height: 7rem;
  resize: vertical;
}
.discovery-app .form-field [aria-invalid="true"] {
  border-color: var(--danger-text);
}
.discovery-app .form-error {
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--danger-text);
  margin-top: var(--space-2);
}
.discovery-app kbd {
  font: 400 var(--text-xs) / 1.5 var(--font-sans);
  border: 1px solid var(--bg-a3);
  border-radius: var(--radius-2);
  padding: 0 var(--space-1);
  color: var(--muted);
}
.discovery-app .brand {
  height: auto;
  padding: 0;
  border: 0;
}
.discovery-app .brand img {
  flex-shrink: 0;
}
.discovery-app .skip-link {
  position: fixed;
  top: -5rem;
  left: var(--space-4);
  z-index: 100;
  padding: var(--space-3);
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--focus-color);
  border-radius: var(--radius-row);
}
.discovery-app .skip-link:focus {
  top: var(--space-3);
}
.discovery-app .question-link {
  min-height: var(--control-height);
}
.discovery-app .chart-axis {
  font-size: var(--text-xs);
}
.discovery-app .chart-line {
  stroke: var(--chart-stroke);
}
.discovery-app .chart-previous {
  stroke: var(--chart-previous);
}
.discovery-app .chart-point {
  fill: var(--chart-stroke);
}
.discovery-app .chart-crosshair {
  stroke: var(--chart-stroke);
}
.discovery-app .funnel-step:last-of-type .funnel-track > span {
  background: var(--chart-stroke);
}
.discovery-app .coverage-mini > span.on {
  background: var(--chart-stroke);
}
.discovery-app #app-toast:empty {
  visibility: hidden;
}
@media (max-width: 760px) {
  .discovery-app .control-trigger {
    font-size: var(--text-sm);
  }
  .discovery-app .button {
    font-size: var(--text-sm);
  }
  .discovery-app .form-field :is(input, textarea, select) {
    font-size: var(--text-base);
  }
  .discovery-app .segmented > button {
    padding: var(--space-2);
    font-size: var(--text-sm);
  }
}
@media (forced-colors: active) {
  .discovery-app .choice input {
    appearance: auto;
  }
  .discovery-app .choice input:after {
    display: none;
  }
  .discovery-app .chart-line,
  .discovery-app .chart-previous,
  .discovery-app .chart-point {
    stroke: CanvasText;
  }
  .discovery-app
    :is(.metric.active, .segmented > button.active, .rank-row.self) {
    outline: 1px solid Highlight;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .discovery-app *,
  .discovery-app *:before,
  .discovery-app *:after {
    animation: none !important;
    transition: none !important;
  }
}

.discovery-app #workspace-menu {
  min-width: 16rem;
}
.discovery-app .form-field .form-error {
  margin: 0;
}
.discovery-app .chart-tools .choice {
  color: var(--muted);
}

/* Long labels contract before typography or touch targets do. */
.discovery-app .narrow-label {
  display: none;
}
.discovery-app .segmented > button > .control-label {
  font-size: inherit;
  color: inherit;
}
.discovery-app .brand {
  min-width: var(--control-height);
  min-height: var(--control-height);
}
.discovery-app .filter-chip {
  min-height: var(--control-height);
}
@media (max-width: 760px) {
  .discovery-app .wide-label {
    display: none;
  }
  .discovery-app .narrow-label {
    display: inline;
  }
  .discovery-app .header-inner {
    gap: var(--space-2);
  }
  .discovery-app .header-inner > .button.primary {
    min-height: var(--control-height);
    white-space: nowrap;
  }
  .discovery-app .page-heading {
    display: block;
    position: relative;
  }
  .discovery-app .page-heading > div {
    padding-right: 0;
  }
  .discovery-app .page-heading h1 {
    padding-right: var(--control-height);
  }
  .discovery-app .page-heading > .button {
    position: absolute;
    right: 0;
    top: var(--space-6);
    width: var(--control-height);
    height: var(--control-height);
    min-width: var(--control-height);
    min-height: var(--control-height);
    padding: 0;
  }
  .discovery-app .export-label {
    display: none;
  }
  .discovery-app .question-controls .segmented {
    width: 100%;
  }
  .discovery-app .question-controls .segmented > button {
    flex: 1;
    justify-content: center;
    font-size: var(--text-sm);
  }
  .discovery-app .question-table td:last-child {
    width: var(--control-height);
  }
  .discovery-app .mini-spark {
    display: none;
  }
}

/* Domain rows inherit the product scale, not the gallery's compact tables. */
.discovery-app .rank-row {
  min-height: var(--control-height);
}
.discovery-app .rank-row .rank-name {
  display: block;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}
.discovery-app :is(.small-label, .table-hint, .metric-comparison) {
  font-size: var(--text-sm);
}
.discovery-app .card-tabs {
  flex-wrap: wrap;
}
.discovery-app .card-tabs .table-hint {
  margin-left: auto;
}
@media (max-width: 760px) {
  .discovery-app .metric-label {
    white-space: normal;
    min-height: 2.8em;
  }
  .discovery-app .metric-comparison {
    line-height: 1.6;
  }
  .discovery-app .question-table th .text-button {
    font-size: var(--text-sm);
    white-space: normal;
  }
  .discovery-app .rank-row {
    gap: var(--space-2);
  }
  .discovery-app .rank-row > .icon:last-child {
    display: none;
  }
}

/* ── Component dimensions and shell patches, formerly app/density.css (folded 2026-10-19). ── */
/* Orbit 0.2 component dimensions, matching runtime/styles.css and controls.css.
   Product compositions use the same scale; touch input expands hit targets. */
.discovery-app #recommendation-summary {
  margin: var(--space-5) 0 var(--space-6);
  border: 0;
  container-type: inline-size;
}
.discovery-app #recommendation-summary[hidden],
.discovery-app[data-current-view="questions"] #question-stats,
.discovery-app .page-context:empty { display: none; }
.discovery-app .recommendation-stats {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--space-3);
}
.discovery-app .recommendation-stats .stat {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 18px;
  align-items: center;
  gap: var(--space-4);
  min-width: 0;
  min-height: 82px;
  padding: var(--space-4) var(--space-5);
  text-align: left;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--surface);
  transition: background var(--motion-fast), border-color var(--motion-fast), transform var(--motion-fast);
}
.discovery-app .recommendation-stats .stat:hover {
  background: var(--background-subtle);
  border-color: color-mix(in srgb,var(--border) 65%,var(--text) 35%);
}
.discovery-app .recommendation-stats .stat > span:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.discovery-app .recommendation-kicker {
  color: var(--text);
  font-size: var(--text-base);
  font-weight: 500;
}
.discovery-app .recommendation-stats .stat > span:first-child > small {
  color: var(--muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}
.discovery-app .recommendation-stats .stat > strong {
  color: var(--text);
  font-size: var(--text-2xl);
  font-weight: 500;
  letter-spacing: -.6px;
  white-space: nowrap;
}
.discovery-app .recommendation-stats .stat > strong small {
  color: var(--muted);
  font-size: var(--text-sm);
  font-weight: 400;
  letter-spacing: 0;
}
.discovery-app .recommendation-stats .stat > .icon {
  width: 16px;
  height: 16px;
  color: var(--muted);
  transition: transform var(--motion-fast), color var(--motion-fast);
}
.discovery-app .recommendation-stats .stat:is(:hover,:focus-visible) > .icon {
  color: var(--text);
  transform: translateX(2px);
}
/* In the Overview the summary shares a 360px column with nothing else; two cards side by side
   left the label column at 0px and painted the value over its description. One card per row
   whenever the summary itself is narrower than two readable cards, whatever the viewport. */
@container (max-width: 560px) {
  .discovery-app .recommendation-stats { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .discovery-app .recommendation-stats { grid-template-columns: 1fr; }
  .discovery-app .recommendation-stats .stat { min-height: 74px; padding: var(--space-4); }
}
.discovery-app .disclosure-end { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--muted); }
.discovery-app .evidence-disclosure[open] > summary .icon { transform: rotate(180deg); }
.discovery-app .intelligence-action { border-block: 1px solid var(--border); padding-block: var(--space-3); }
.discovery-app .intelligence-action .evidence-summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); font-size: var(--text-base); }
.discovery-app .intelligence-action .evidence-summary strong { font-weight: 500; }
.discovery-app .intelligence-action p { color: var(--muted); font-size: var(--text-base); line-height: var(--leading-body); }
.discovery-app[data-current-view="overview"] #chart-context { display: none; }
.discovery-app .overview-grid > .context-report { order: 1; }
@media (max-width: 600px) {
  .discovery-app .recommendation-stats { flex-wrap: wrap; row-gap: var(--space-4); }
  .discovery-app .recommendation-stats .stat { flex: 1 0 50%; padding: var(--space-3); }
  .discovery-app .recommendation-stats .stat:nth-child(odd) { padding-inline-start: 0; }
  .discovery-app .recommendation-stats .stat:nth-child(even) { border-inline-end: 0; }
  .discovery-app .recommendation-stats .stat .icon { display: none; }
}
.discovery-app .header-inner { max-width: var(--content-width); width: calc(100% - 48px); margin-inline: auto; padding-inline: 0; }
.discovery-app .report-focus,
.discovery-app[data-current-view="overview"] .report-focus { display: flex; flex-direction: column; gap: 24px; }
.discovery-app .report-focus .chart-area,
.discovery-app[data-current-view="overview"] .report-focus .chart-area { width: 100%; max-width: none; margin-inline: 0; padding: 24px 0 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; box-sizing: border-box; }
/* The trend stays inside the content column: a plot that bleeds past the page grid implied a canvas the page does not have. */
.discovery-app .chart-toolbar,
.discovery-app .chart-caption { width: 100%; max-width: var(--content-width); margin-inline: auto; }
.discovery-app .chart-wrapper,
.discovery-app[data-current-view="overview"] .chart-wrapper,
.discovery-app #main-chart { height: clamp(280px, 38vw, 440px); }
.discovery-app #report-core .metrics { border: 1px solid var(--border); border-radius: var(--radius-card); padding: var(--space-1); gap: var(--space-1); box-shadow: none; background: var(--surface); overflow: visible; }
.discovery-app #report-core .metric { min-height: 116px; padding: var(--space-4); border: 0; border-radius: calc(var(--radius-card) - var(--space-1)); background: transparent; box-shadow: none; }
.discovery-app #report-core .metric:hover { background: var(--background-subtle); }
.discovery-app #report-core .metric.active { background: var(--selection-surface); color: var(--text); box-shadow: none; }
.discovery-app #report-core .metric .metric-label { font-size: var(--text-base); color: var(--muted); }
.discovery-app #report-core .metric.active .metric-label { color: var(--text); }
.discovery-app #report-core .metric .metric-value { margin-top: 0; }
.discovery-app #report-core .metric .metric-comparison { margin-top: 0; }
.discovery-app #report-core .metric :is(.metric-meaning, .mini-spark) { display: none; }
.discovery-app .chart-tools .choice,
.discovery-app[data-current-view="overview"] .chart-tools .choice,
.discovery-app .chart-tools .button { font-size: var(--text-base); }
.discovery-app .chart-tools .choice { min-height: 36px; }
.discovery-app #compare-toggle { accent-color: var(--text); }
.discovery-app .chart-caption { justify-content: flex-start; flex-wrap: wrap; }
.discovery-app .chart-caption > .text-button { margin-inline-start: auto; }
.discovery-app .chart-caption > [hidden] { display: none; }
.discovery-app .legend-dash { width: 16px; border-top: 2px dashed var(--muted); }
@media (max-width: 600px) {
  .discovery-app #report-core .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discovery-app .chart-toolbar { flex-direction: column; gap: var(--space-2); }
  .discovery-app .chart-tools { flex-wrap: wrap; }
  .discovery-app .chart-tools .choice { font-size: var(--text-sm); }
}
.discovery-app .next-move { width: 100%; box-sizing: border-box; }
.discovery-app .overview-grid > .card { display: flex; flex-direction: column; min-width: 0; }
.discovery-app .overview-grid .card-heading { min-height: 38px; margin-bottom: var(--space-3); flex-wrap: wrap; }
.context-total { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.context-total strong { font-size: 25px; font-weight: 500; font-variant-numeric: tabular-nums; }
.context-total > span,.context-axis { font-size: 12px; color: var(--muted); }
.context-bars { height: 100px; display: flex; align-items: end; gap: 4px; }
.context-bars button { position: relative; height: 100%; flex: 1; min-width: 0; padding: 0; border: 0; background: transparent; display: flex; align-items: end; cursor: pointer; }
.context-bars button > span { width: 100%; border-radius: 4px 4px 0 0; background: var(--sky-3); transition: background 140ms; }
.context-bars button:hover > span { background: var(--accent-text); }
.context-chart-scale { font-size: var(--text-base); color: var(--muted); text-align: right; margin-bottom: var(--space-2); }
.context-bars { border-bottom: 1px solid var(--border); }
.context-bars .is-zero::after { content: ""; display: block; position: absolute; bottom: -2px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: var(--fg-1); }
.context-bars button:focus-visible { outline: var(--focus-width) solid var(--focus-color); outline-offset: var(--focus-offset); }
.context-total > span { font-size: var(--text-base); }
.context-axis { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }
.context-ratio { height: 24px; margin-top: 76px; background: var(--subtle); border-radius: 6px; overflow: hidden; }
.context-ratio > span { display: block; height: 100%; background: var(--accent); }
@media (max-width: 600px) { .discovery-app .header-inner { width: calc(100% - 32px); } }
.demo-tour { position: fixed; z-index: 30; right: 16px; bottom: 16px; width: min(360px, calc(100vw - 32px)); padding: 20px; border: 1px solid var(--sky-2); border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--shadow-panel); }
.tour-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tour-top > span { font-size: 10px; letter-spacing: .06em; color: var(--accent-text); }
.demo-tour h2 { font-size: 18px; margin: 12px 0 8px; }
.demo-tour p { font-size: 13px; line-height: 1.6; color: var(--muted); }
.tour-task { display: flex; gap: 8px; margin-top: 16px; padding: 12px; border-radius: 9px; background: var(--sky-1); font-size: 12px; line-height: 1.5; }
.tour-task .icon { width: 16px; height: 16px; color: var(--accent-text); }
.tour-actions { display: flex; justify-content: space-between; gap: 8px; margin-top: 16px; }
.tour-progress { display: flex; gap: 4px; margin-top: 10px; }
.tour-progress span { height: 3px; flex: 1; border-radius: 3px; background: var(--subtle); }
.tour-progress .complete { background: var(--accent); }
.tour-progress span { transition: background-color 180ms ease; }
.tour-try { width: 100%; border: 1px solid var(--sky-2); text-align: left; color: var(--accent-text); cursor: pointer; align-items: center; }
.tour-try > span { flex: 1; }
.tour-try:hover { background: var(--sky-2); }
@media (prefers-reduced-motion: reduce) {
  .tour-progress span { transition: none; }
}
.tour-highlight { outline: 2px solid var(--sky-3); outline-offset: 4px; }
body:has(.demo-tour:not([hidden])) main { padding-bottom: 360px; }
@media (max-width: 600px) {
  .demo-tour { right: 8px; bottom: 8px; width: calc(100vw - 16px); padding: 16px; max-height: 45dvh; overflow: auto; }
  .header-inner > [data-tour=start] { padding: 8px; }
}
.discovery-app dialog.drawer {
  inset: var(--space-2) var(--space-2) var(--space-2) auto;
  margin: 0;
  width: min(580px, calc(100vw - 2 * var(--space-2)));
  max-width: calc(100vw - 2 * var(--space-2));
  height: calc(100dvh - 2 * var(--space-2));
  max-height: calc(100dvh - 2 * var(--space-2));
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-panel);
}
.benchmark-scope { color: var(--muted); font-size: 12px; margin-bottom: 16px; }
.benchmark-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 24px; }
.benchmark-heading h3 { margin: 0; font-size: 15px; }
.benchmark-heading > span { color: var(--muted); font-size: 12px; white-space: nowrap; }
.benchmark-description { color: var(--muted); font-size: 12px; margin: 8px 0 16px; }
.benchmark-list { border-top: 1px solid var(--border); }
.benchmark-question { display: grid; grid-template-columns: minmax(0, 1fr) 48px 16px; gap: 16px; align-items: center; width: 100%; padding: 16px 8px; border: 0; border-bottom: 1px solid var(--border); background: transparent; text-align: left; color: var(--text); cursor: pointer; border-radius: 6px; transition: background 140ms ease; }
.benchmark-question:hover { background: var(--subtle); }
.benchmark-question-copy > strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 500; }
.benchmark-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 11px; }
.benchmark-meta img { flex: 0 0 16px; object-fit: contain; }
.benchmark-meta > span { margin-left: 4px; }
.benchmark-count { text-align: right; font-variant-numeric: tabular-nums; }
.benchmark-count strong { display: block; font-size: 18px; font-weight: 500; }
.benchmark-count small { display: block; color: var(--muted); font-size: 10px; }
.benchmark-question > .icon { width: 16px; color: var(--muted); }
.benchmark-method { margin-top: 24px; color: var(--muted); font-size: 12px; }
.benchmark-method summary { min-height: 36px; cursor: pointer; }
.benchmark-method p { line-height: 1.6; }
.discovery-app .button {
  min-height: 36px;
  padding: 8px 14px;
  font-size: 12px;
  line-height: 1.5;
  gap: 7px;
}
.discovery-app .button.small { min-height: 28px; padding: 4px 11px; font-size: 11px; }
.discovery-app .button .icon { width: 15px; height: 15px; }
.discovery-app .icon-button { width: 35px; height: 35px; min-width: 35px; min-height: 35px; }
.discovery-app .icon-button .icon { width: 17px; height: 17px; }
.discovery-app .control-trigger { min-height: 38px; padding: 9px 12px; gap: 10px; font-size: 12px; }
.discovery-app .control-trigger .icon { width: 16px; height: 16px; }
.discovery-app .workspace.control-trigger { height: 38px; padding-block: 5px; }
.discovery-app .workspace .acme-mark { width: 24px; height: 24px; font-size: 16px; }
.discovery-app .dropdown-panel button,
.discovery-app .control-panel [role=option] { min-height: 36px; padding: 8px 12px; font-size: 12px; }
.discovery-app .badge { font-size: 10px; padding: 3px 7px; gap: 5px; border-radius: 6px; }
.discovery-app .choice input { width: 17px; height: 17px; }
.discovery-app .header-inner { min-height: 60px; }
.discovery-app .page-nav-inner { min-height: 52px; gap: 4px; }
.discovery-app .page-nav-inner > a { min-height: 36px; padding: 8px 12px; }
.discovery-app main { padding-top: 24px; }
.discovery-app .workspace-heading h1 { font-size: 28px; }
.discovery-app .metric { min-height: 124px; padding: 20px; }
.discovery-app .metric-value { font-size: 25px; letter-spacing: -.6px; margin-top: 8px; }
.discovery-app .card-heading h2,
.discovery-app .chart-title-block h2 { font-size: 15px; }
.discovery-app .rank-row { min-height: 40px; }
.discovery-app .addon-focus-copy h2 { font-size: 28px; }
.discovery-app .addon-focus-copy { padding: 24px; }
.discovery-app .addon-focus-copy > p,
.discovery-app .addon-title { font-size: 14px; }
.discovery-app .addon-row { min-height: 88px; }
.discovery-app .addon-shelf-heading h2 { font-size: 15px; }
@media (pointer: coarse) {
  .discovery-app .button,
  .discovery-app .button.small,
  .discovery-app .control-trigger,
  .discovery-app .dropdown-panel button,
  .discovery-app .control-panel [role=option],
  .discovery-app .page-nav-inner > a { min-height: 44px; }
  .discovery-app .icon-button { min-width: 44px; min-height: 44px; }
  .discovery-app .form-field :is(input, textarea, select),
  .discovery-app .search-field input { font-size: 16px; }
  .discovery-app .form-field :is(input, select),
  .discovery-app .search-field { min-height: 44px; }
}

.discovery-app .daily-source { display: inline-flex; align-items: center; gap: var(--space-2); }

/* Workspace menu sits above the sticky page navigation. */
.discovery-app .app-header { position:relative; z-index:50; overflow:visible; }
.discovery-app .header-inner { overflow:visible; gap:12px; }
.discovery-app .header-inner > .dropdown { flex-shrink:0; }
.discovery-app #workspace-menu { z-index:60; top:calc(100% + 8px); left:0; min-width:250px; max-width:calc(100vw - 32px); }
.discovery-app .workspace-brand { display:grid; place-items:center; width:112px; height:32px; opacity:.42; margin-left:2px; }
.discovery-app .workspace-brand:hover,.discovery-app .workspace-brand:focus-visible { opacity:.8; }
.discovery-app .workspace-brand img { width:108px; height:auto; display:block; }
.discovery-app .tour-launch { gap:9px; }
.tour-pulse { position:relative; display:inline-block; flex:0 0 auto; width:6px; height:6px; border-radius:50%; background:var(--accent-text); }
.tour-pulse::after { content:''; position:absolute; inset:-4px; border:1px solid var(--accent-text); border-radius:50%; animation:tour-pulse 1.4s ease-out 3 both; }
@keyframes tour-pulse { from { transform:scale(.5); opacity:.65; } to { transform:scale(1.6); opacity:0; } }
#tour-shade { position:fixed; inset:0; z-index:90; pointer-events:none; }
#tour-shade[hidden] { display:none; }
#tour-shade > div { position:fixed; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); background:rgb(247 247 249 / .55); pointer-events:auto; }
.tour-frame { position:fixed; border:1px solid var(--gray-3); border-radius:var(--radius-card); pointer-events:none; box-shadow:0 0 0 4px rgb(255 255 255 / .7); }
.discovery-app .demo-tour { z-index:100; border-color:var(--border); box-shadow:var(--shadow-card-hover); max-height:45dvh; overflow:auto; }
.discovery-app .demo-tour[hidden] { display:none; }
.discovery-app .tour-top > span { text-transform:none; letter-spacing:0; font-size:12px; color:var(--muted); }
.discovery-app .tour-highlight { outline:none; scroll-margin-top:90px; }
.discovery-app .tour-task { background:var(--subtle); color:var(--text); border-color:var(--border); }
.discovery-app .tour-task:hover { background:var(--gray-1); }
.discovery-app .tour-progress .complete { background:var(--text); }
@media(max-width:600px) {
 .discovery-app .header-inner { gap:8px; }
 .discovery-app .workspace-brand { width:92px; margin:0; }
 .discovery-app .demo-badge { display:none; }
 .discovery-app .header-spacer { display:block; min-width:0; }
 .discovery-app .header-inner .setup-launch { width:44px; min-width:44px; height:44px; padding:0; }
 .discovery-app .header-inner .setup-launch .icon { display:block; }
 .discovery-app .setup-launch :is(.wide-label,.narrow-label) { display:none; }
 .discovery-app .tour-launch { white-space:nowrap; }
 .discovery-app .tour-highlight { scroll-margin-top:68px; }
}
@media(prefers-reduced-motion:reduce) { .tour-pulse::after { animation:none; opacity:.35; } }

/* Filters reveal dimensions and values inside one quiet, shared surface. */
.discovery-app #global-filters .filter-bar { display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:var(--space-3); margin-bottom:var(--space-5); }
.discovery-app #global-filters .filter-controls { display:flex; width:auto; }
.discovery-app #global-filters .period-trigger { min-width:0; width:auto; min-height:36px; padding:7px 12px; gap:8px; border-radius:var(--radius-control); font-size:var(--text-base); box-shadow:none; }
.discovery-app #global-filters .period-trigger > [data-app-icon] { display:inline-flex; }
.discovery-app #filters-toggle { position:relative; width:36px; height:36px; min-width:36px; min-height:36px; color:var(--muted); box-shadow:none; }
.discovery-app #filters-toggle:hover,.discovery-app #filters-toggle[aria-expanded=true] { color:var(--text); background:var(--subtle); }
.discovery-app #filters-toggle.has-filters::after { content:''; position:absolute; width:5px; height:5px; right:0; top:1px; border-radius:50%; background:var(--text); box-shadow:0 0 0 3px var(--canvas); }
.discovery-app #period-menu { width:240px !important; min-width:0; max-width:calc(100vw - 24px); border-radius:var(--radius-card); padding:var(--space-2); }
.discovery-app #period-menu > button { min-height:40px; font-size:var(--text-base); border-radius:var(--radius-row); }
.discovery-app #period-menu > button[aria-selected=true] { color:var(--text); background:var(--subtle); }
.discovery-app #period-menu .menu-note { padding:12px; font-size:12px; }
.discovery-app #filter-chips:not(:empty) { margin:calc(-1 * var(--space-2)) 0 var(--space-5); gap:var(--space-2); }
.active-filter { display:inline-flex; align-items:center; min-width:0; max-width:100%; border:1px dashed var(--gray-3); border-radius:var(--radius-control); background:var(--surface); }
.active-filter button { display:inline-flex; align-items:center; border:0; background:transparent; cursor:pointer; font-size:13px; color:var(--text); }
.filter-chip-edit { gap:6px; min-width:0; min-height:32px; padding:5px 2px 5px 10px; border-radius:var(--radius-control); }
.filter-chip-label { color:var(--muted); white-space:nowrap; }
.filter-chip-value { min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.active-filter .filter-chip-remove { justify-content:center; flex-shrink:0; width:30px; height:30px; padding:0; border-radius:50%; color:var(--muted); }
.active-filter button:hover { background:var(--subtle); }
.discovery-app .active-filter .icon,.active-filter img { width:15px; height:15px; flex-shrink:0; }
.active-filter .engine-icon { width:15px; height:15px; background:none; border:0; padding:0; box-shadow:none; }
.discovery-app .filter-clear { font-size:13px; padding:6px; }
#filters-popover { position:fixed; inset:auto; margin:0; width:304px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:var(--space-2); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--surface); color:var(--text); box-shadow:var(--shadow-panel); overflow:hidden; }
#filters-popover:popover-open { display:flex; flex-direction:column; }
#filters-popover::backdrop { background:transparent; }
.filter-popover-heading { display:flex; align-items:center; gap:4px; min-height:40px; flex-shrink:0; padding:0 4px 0 12px; }
.discovery-app .filter-popover-heading h2 { flex:1; margin:0; color:var(--muted); font-size:var(--text-base); font-weight:400; }
.filter-popover-heading button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; color:var(--muted); background:transparent; cursor:pointer; }
.filter-popover-heading button:hover { background:var(--subtle); color:var(--text); }
.filter-back { margin-left:-8px; }
.filter-back .icon { transform:rotate(180deg); }
.filter-options { min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.filter-option { display:flex; align-items:center; gap:10px; width:100%; min-height:42px; padding:10px 12px; border:0; border-radius:var(--radius-row); background:transparent; color:var(--text); font-size:var(--text-base); line-height:1.5; text-align:left; cursor:pointer; }
.filter-option:hover,.filter-option[aria-pressed=true] { background:var(--subtle); }
.filter-option:focus-visible { outline-offset:-2px; }
.filter-option > span:not(.engine-icon):not(.filter-applied-dot) { flex:1; }
.filter-option > .icon { color:var(--muted); }
.filter-category > .icon:last-child { width:14px; height:14px; }
.filter-option img,.filter-option .engine-icon { width:20px; height:20px; flex:0 0 auto; background:none; border:0; padding:0; box-shadow:none; }
.filter-applied-dot { width:4px; height:4px; flex:0 0 auto; border-radius:50%; background:var(--muted); }
.discovery-app .filter-option .filter-check { width:15px; height:15px; color:var(--text); }
.filter-search { display:flex; align-items:center; gap:8px; min-height:40px; flex-shrink:0; margin:4px 4px 8px; padding:0 10px; border-radius:var(--radius-input); background:var(--subtle); color:var(--muted); }
.filter-search input { width:100%; min-width:0; padding:9px 0; border:0; border-radius:0; background:transparent; color:var(--text); font-size:var(--text-base); box-shadow:none; }
.filter-search input:focus-visible { outline:none; }
.filter-search:focus-within { outline:var(--focus-width) solid var(--gray-3); outline-offset:0; }
.filter-empty { padding:18px 12px; font-size:var(--text-base); color:var(--muted); }
#filters-popover :focus { scroll-margin:8px; }
@media(pointer:coarse) {
 .discovery-app #global-filters .period-trigger,.discovery-app #filters-toggle { min-height:44px; min-width:44px; }
 .filter-option,.filter-popover-heading button { min-height:44px; }
 .filter-search input { font-size:16px; }
 .active-filter button { min-height:44px; }
 .active-filter .filter-chip-remove { min-width:36px; }
}

/* Four visible rows; extra results stay within the same card. */
.discovery-app .overview-grid { align-items:stretch; }
.discovery-app .overview-scroll-list { display:flex; flex-direction:column; gap:4px; max-height:236px; overflow:hidden; scrollbar-width:none; }
.discovery-app .overview-scroll-list::-webkit-scrollbar { display:none; }
.discovery-app .overview-scroll-list.is-expanded { overflow-y:auto; overscroll-behavior:contain; scroll-behavior:smooth; }
.discovery-app .overview-scroll-list > .rank-row { height:56px; min-height:56px; flex-shrink:0; margin:0; }
.discovery-app .overview-scroll-list > [hidden] { display:none; }
.discovery-app .list-more { align-self:flex-start; margin-top:16px; }
.discovery-app .context-report .card-heading { margin-bottom:16px; min-height:28px; }
.discovery-app .context-report .context-total { margin:0 0 20px; gap:10px; }
.discovery-app .context-report .context-total > span { font-size:13px; }
.discovery-app .context-report .context-chart-scale { font-size:12px; margin-bottom:8px; }
.discovery-app .context-report .context-ratio { margin-top:24px; height:20px; }
.discovery-app .context-report .context-axis { font-size:12px; margin-top:12px; flex-wrap:wrap; }
.discovery-app .context-report { align-self:start; }
@media(prefers-reduced-motion:reduce) { .discovery-app .overview-scroll-list.is-expanded { scroll-behavior:auto; } }

/* Shared shell edges; page content aligns with navigation labels and workspace mark. */
.discovery-app:not(.marketing-app) { --page-gutter:24px; --page-inset:12px; }
.discovery-app:not(.marketing-app) :is(.early-access-strip-inner,.header-inner,.page-nav-inner,main#main) {
  box-sizing:border-box;
  width:calc(100% - var(--page-gutter) * 2);
  max-width:var(--content-width);
  margin-inline:auto;
}
.discovery-app:not(.marketing-app) main#main { padding-inline:var(--page-inset); }
.discovery-app:not(.marketing-app) .page-nav-inner { padding-inline:0; }
.discovery-app:not(.marketing-app) .early-access-strip-inner { padding-inline:var(--page-inset); }
.discovery-app:not(.marketing-app) .page-nav-inner > a,
.discovery-app:not(.marketing-app) .header-inner .workspace { padding-inline:var(--page-inset); }
@media(max-width:600px) {
  .discovery-app:not(.marketing-app) { --page-gutter:16px; --page-inset:8px; }
}
