/* Quantura professional fintech design system — intentionally solid, calm,
   high-contrast surfaces. This layer replaces the white glass gradients that
   previously washed out dense text and chart controls. */
/* One palette. Legacy names below are aliases, not independent themes. */
:root {
  color-scheme: light;
  --background: #f4f7fb;
  --foreground: #102033;
  --card: #ffffff;
  --card-foreground: var(--foreground);
  --popover: var(--card);
  --popover-foreground: var(--foreground);
  --muted: #eaf0f7;
  --muted-foreground: #53657b;
  --border: #cbd7e5;
  --input: #9fb1c7;
  --primary: #245fc7;
  --primary-hover: #174da8;
  --primary-foreground: #ffffff;
  --secondary: #edf3fa;
  --secondary-foreground: var(--foreground);
  --accent: #e0ecff;
  --accent-foreground: #174da8;
  --destructive: #ad283c;
  --destructive-surface: #fff0f2;
  --success: #126649;
  --success-surface: #e5f5ee;
  --warning: #805400;
  --warning-surface: #fff5dc;
  --focus: #245fc7;
  --brand-highlight: #185dce;
  --brand-hero-image: url("/assets/quantura-brand-light.webp?v=20260909a");
  --brand-dark-background: #061321;
  --brand-dark-foreground: #edf3fb;
  --overlay: rgba(2, 7, 16, .6);
  --shadow: rgba(11, 15, 26, .08);
  --control-height: 34px;
  --q-bg: var(--background);
  --q-bg-elevated: var(--muted);
  --q-surface: var(--card);
  --q-surface-2: var(--secondary);
  --q-border: var(--border);
  --q-border-strong: var(--input);
  --q-text: var(--foreground);
  --q-muted: var(--muted-foreground);
  --q-primary: var(--primary);
  --q-primary-hover: var(--primary-hover);
  --q-primary-soft: var(--accent-foreground);
  --q-success: var(--success);
  --q-warning: var(--warning);
  --q-danger: var(--destructive);
  --q-radius-md: 8px;
  --q-radius-lg: 12px;
  --q-shadow-sm: 0 2px 8px var(--shadow);
  --ink: var(--foreground);
  --ink-2: var(--muted-foreground);
  --graphite: var(--muted-foreground);
  --paper: var(--background);
  --paper-2: var(--muted);
  --surface-solid: var(--card);
  --surface: var(--card);
  --line: var(--border);
  --header-bg: var(--background);
  --bg: var(--background);
  --glass-text: var(--foreground);
  --glass-muted: var(--muted-foreground);
  --glass-tint: var(--card);
  --glass-border: var(--border);
  --glass-panel-fill: var(--card);
  --glass-control-fill: var(--secondary);
  --glass-panel-border-strong: var(--border);
  --glass-control-border-strong: var(--input);
  --glass-shadow: var(--q-shadow-sm);
  --glass-panel-shadow-strong: var(--q-shadow-sm);
  --glass-control-shadow-strong: none;
  --glass-control-hover-shadow: none;
  --glass-focus-ring: var(--focus);
  --glass-panel-backdrop: none;
  --glass-control-backdrop: none;
  --glass-blur: 0px;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --background: #07101f;
  --foreground: #edf3fb;
  --card: #101d31;
  --muted: #0b1628;
  --muted-foreground: #a9b7ca;
  --border: #30425c;
  --input: #526784;
  --primary: #2d66c3;
  --primary-hover: #2455a6;
  --secondary: #14243b;
  --accent: #19375a;
  --accent-foreground: #a7cbff;
  --destructive: #ffabb5;
  --destructive-surface: #351a24;
  --success: #77dfba;
  --success-surface: #0d332b;
  --warning: #f5ce82;
  --warning-surface: #352a13;
  --focus: #8ab4ff;
  --brand-highlight: #40cfff;
  --brand-hero-image: url("/assets/quantura-brand-wave.webp?v=20260909a");
  --shadow: rgba(0, 0, 0, .18);
}

html { background: var(--q-bg); }
body {
  background: var(--q-bg) !important;
  background-image: none !important;
  color: var(--q-text) !important;
  font-family: Inter, Manrope, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -0.006em;
}

body::before,
body::after,
.app-main::before,
.studio-panel::before { display: none !important; }

h1, h2, h3, h4, h5, h6, .logo, .order-title, .task-title {
  color: var(--q-text) !important;
  font-family: Inter, Manrope, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: -0.025em;
}
p, li, td, th, label, .small, .value { color: inherit; }
.muted, .small.muted, .field .small, .table-note { color: var(--q-muted) !important; }
a { color: var(--accent-foreground); }
a:hover { color: var(--accent-foreground); }
code, pre { color: var(--foreground); background: var(--secondary); border-color: var(--q-border); }

.header {
  background: var(--header-bg) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid var(--q-border) !important;
  box-shadow: 0 1px 0 var(--border) !important;
}
.nav-links a, .sidebar-link { color: var(--q-muted) !important; }
.nav-links a:hover, .nav-links a:focus-visible, .sidebar-link:hover, .sidebar-link:focus-visible, .sidebar-link.active {
  color: var(--q-text) !important;
  background: var(--q-surface-2) !important;
}
.app-sidebar {
  background: var(--secondary) !important;
  background-image: none !important;
  border-right: 1px solid var(--q-border) !important;
}

.auth-section,
.section.auth-section,
.app-main > .section.auth-section {
  background: var(--q-bg-elevated) !important;
  background-image: none !important;
  border-color: var(--q-border) !important;
  color: var(--q-text) !important;
}

.card,
.results-panel,
.panel-output,
.notice,
.auth-brand-banner,
.sidebar-card,
.modal-card,
.modal-dialog,
.cookie-banner,
.order-card,
.task-card,
.kanban-col,
.calendar-wrap,
.content-card,
.glass-panel,
.liquid-glass {
  background: var(--q-surface) !important;
  background-image: none !important;
  border: 1px solid var(--q-border) !important;
  box-shadow: var(--q-shadow-sm) !important;
  color: var(--q-text) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.card:hover, .order-card:hover, .task-card:hover { border-color: var(--q-border-strong) !important; }
.content-grid, .dashboard-grid, .productivity-grid, .foundry-main-grid, .data-workflow-grid { gap: 12px !important; }
.card + .card, .results-panel + .card, .card + .results-panel { margin-top: 4px; }

input, select, textarea, .input, .modal-input, button {
  font: inherit;
}
input:not([type="checkbox"]):not([type="radio"]), select, textarea, .input, .modal-input {
  background-color: var(--secondary) !important;
  background-image: none !important;
  border: 1px solid var(--q-border-strong) !important;
  color: var(--q-text) !important;
  border-radius: 9px !important;
  min-height: var(--control-height);
  box-shadow: none !important;
}
input::placeholder, textarea::placeholder { color: var(--muted-foreground) !important; opacity: 1; }
input:focus, select:focus, textarea:focus, .modal-input:focus {
  border-color: var(--q-primary) !important;
  outline: 3px solid rgba(79, 140, 255, 0.2) !important;
  outline-offset: 1px;
}
input:disabled, select:disabled, textarea:disabled { color: var(--muted-foreground) !important; background: var(--secondary) !important; opacity: 1 !important; }
.label { color: var(--foreground) !important; font-weight: 600; }

.cta, button.cta, a.cta {
  background: var(--q-primary) !important;
  background-image: none !important;
  border: 1px solid var(--q-primary) !important;
  color: var(--primary-foreground) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  font-weight: 650;
}
.cta:hover:not(:disabled), .cta:focus-visible:not(:disabled) { background: var(--q-primary-hover) !important; border-color: var(--q-primary-hover) !important; transform: translateY(-1px); }
.cta.secondary, button.secondary, .task-chip {
  background: var(--q-surface-2) !important;
  background-image: none !important;
  border-color: var(--q-border-strong) !important;
  color: var(--q-text) !important;
}
.cta.danger, .task-chip.danger { color: var(--destructive) !important; border-color: var(--destructive) !important; background: var(--destructive-surface) !important; }
button:disabled, .cta:disabled { opacity: 0.56 !important; cursor: not-allowed; transform: none !important; }
button:focus-visible, a:focus-visible { outline: 3px solid rgba(79, 140, 255, 0.35) !important; outline-offset: 2px; }

.pill, .status { background: var(--secondary) !important; border: 1px solid var(--q-border-strong) !important; color: var(--foreground) !important; }
.status.fulfilled, [data-tone="success"] { color: var(--success) !important; }
[data-tone="error"] { color: var(--destructive) !important; }
[data-tone="warning"] { color: var(--warning) !important; }
.integration-status { color: var(--q-muted); margin: 12px 0; min-height: 22px; }
.error-state { padding: 18px; border: 1px solid var(--destructive); background: var(--destructive-surface); color: var(--destructive); border-radius: 10px; }
.empty-state { padding: 28px 18px; color: var(--q-muted); text-align: center; border: 1px dashed var(--q-border-strong); border-radius: 10px; }

.responsive-table-wrap { width: 100%; overflow: auto; border: 1px solid var(--q-border); border-radius: 10px; background: var(--secondary); }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; font-variant-numeric: tabular-nums; }
.data-table th { position: sticky; top: 0; z-index: 1; background: var(--secondary); color: var(--foreground); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.055em; text-align: left; }
.data-table th, .data-table td { padding: 11px 13px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.data-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.018); }
.data-table tbody tr:hover { background: rgba(79, 140, 255, 0.08); }
.options-chain-panel .data-table tbody tr { cursor: pointer; }
.options-chain-panel .data-table tbody tr:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; }
.options-chain-panel .data-table tbody tr.is-selected,
.options-chain-panel .data-table tbody tr[aria-selected="true"] { background: rgba(79, 140, 255, 0.18); box-shadow: inset 3px 0 var(--focus); }
.table-note { margin: 12px; }

.data-workflow-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); margin-bottom: 20px; }
.workflow-actions { justify-content: flex-start; margin-top: 18px; flex-wrap: wrap; }
.metadata-list { display: grid; gap: 0; }
.metadata-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--q-border); }
.metadata-list > div span { color: var(--q-muted); text-transform: capitalize; }
.metadata-list > div strong { text-align: right; overflow-wrap: anywhere; }
.selected-contract { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; padding: 12px 14px; margin: 10px 0 16px; border-radius: 9px; background: var(--secondary); border: 1px solid var(--q-border); color: var(--q-muted); }
.integration-chart { min-height: 360px; margin-bottom: 18px; background: var(--secondary); border: 1px solid var(--q-border); border-radius: 10px; }
.data-results-panel { margin-top: 20px; }
.field-span-2 { grid-column: 1 / -1; }
.aws-integration-card { margin-top: 24px; }
.compact-list { display: grid; gap: 10px; margin: 12px 0 0 18px; }

.kanban { gap: 14px !important; }
.kanban-col { box-shadow: none !important; min-width: 0; }
.kanban-col-body { min-height: 180px; }
.productivity-form,
#productivity .productivity-form { position: static !important; top: auto !important; }
.task-card { box-shadow: none !important; }
.task-chip:disabled { border-color: var(--q-primary) !important; color: var(--accent-foreground) !important; }
.calendar-cell { background: var(--secondary) !important; border-color: var(--q-border) !important; color: var(--q-text) !important; }
.calendar-cell--out { opacity: 0.52; }
.calendar-cell--today { border-color: var(--q-primary) !important; }

.modal-backdrop { background: rgba(2, 7, 16, 0.78) !important; }
.modal-card, .modal-dialog { background: var(--card) !important; color: var(--q-text) !important; }
.toast, html .toast, [data-theme="dark"] .toast {
  background: var(--secondary) !important;
  background-image: none !important;
  border: 1px solid var(--input) !important;
  color: var(--foreground) !important;
  text-shadow: none !important;
  box-shadow: 0 4px 16px var(--shadow) !important;
}
.toast[data-variant="warn"] { background: var(--warning-surface) !important; border-color: var(--warning) !important; color: var(--warning) !important; }
.cookie-banner, [data-theme="dark"] .cookie-banner {
  background: var(--card) !important;
  background-image: none !important;
  color: var(--q-text) !important;
  border-color: var(--input) !important;
}
.cookie-banner-content h3, .cookie-banner-content .small, .cookie-banner-content p { color: var(--q-text) !important; text-shadow: none !important; }
.cookie-banner .cta.secondary { background: var(--secondary) !important; color: var(--foreground) !important; }

/* The shop has its own stylesheet, so keep its catalog and cart on the same
   solid design tokens without disturbing its commerce-specific layout. */
body.shop-page { background: var(--q-bg) !important; color: var(--q-text) !important; }
.shop-page .shop-header,
.shop-page .shop-hero,
.shop-page .hero-meta > div,
.shop-page .collection-section,
.shop-page .policy-card,
.shop-page .bundle-card,
.shop-page .product-card,
.shop-page .cart-drawer,
.shop-page .shipping-card,
.shop-page .summary-card,
.shop-page .bundle-note,
.shop-page .shop-message,
.shop-page .success-shell,
.shop-page .order-summary {
  background: var(--q-surface) !important;
  background-image: none !important;
  border-color: var(--q-border) !important;
  color: var(--q-text) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
  backdrop-filter: none !important;
}
.shop-page .shop-header { background: var(--header-bg) !important; }
.shop-page .shop-nav a,
.shop-page .shop-hero p,
.shop-page .hero-meta p,
.shop-page .section-copy,
.shop-page .policy-grid p,
.shop-page .product-copy,
.shop-page .bundle-copy,
.shop-page .search-wrap > span { color: var(--q-muted) !important; }
.shop-page .shop-nav a:hover,
.shop-page .shop-nav a[aria-current="page"] { color: var(--q-text) !important; border-color: var(--q-primary) !important; }
.shop-page .eyebrow { color: var(--accent-foreground) !important; }
.shop-page .cart-toggle,
.shop-page .tab,
.shop-page .ghost {
  background: var(--q-surface-2) !important;
  background-image: none !important;
  border-color: var(--q-border-strong) !important;
  color: var(--q-text) !important;
}
.shop-page .tab.active { background: var(--q-primary) !important; border-color: var(--q-primary) !important; color: var(--primary-foreground) !important; }
.shop-page .count-pill { background: var(--q-bg-elevated) !important; color: var(--q-text) !important; }

@media (max-width: 980px) {
  .data-workflow-grid { grid-template-columns: 1fr; }
  .app-sidebar { border-right: 0 !important; }
  .data-table { min-width: 680px; }
}
@media (max-width: 640px) {
  .form-grid, .content-grid, .dashboard-grid, .productivity-grid { grid-template-columns: 1fr !important; }
  .field-span-2 { grid-column: auto; }
  .card, .results-panel { padding: 16px !important; border-radius: 12px !important; }
  .workflow-actions .cta { width: 100%; justify-content: center; }
  .integration-chart { min-height: 300px; }
  .data-table { min-width: 620px; }
  .cookie-banner {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

/* Forecast Foundry quantile-analysis summary */
.forecast-summary-card {
  padding: clamp(16px, 2.2vw, 24px);
  border: 1px solid var(--q-border-strong);
  border-radius: var(--q-radius-lg);
  background: var(--q-surface-2);
  box-shadow: var(--q-shadow-sm);
}
.forecast-summary-card.is-error { border-color: var(--destructive); }
.forecast-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.forecast-summary-head h3,
.forecast-analysis-sections h4 { margin: 4px 0 0; }
.forecast-signal-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--primary);
  border-radius: 999px;
  background: var(--accent);
  color: var(--accent-foreground);
  font-size: 0.76rem;
  font-weight: 750;
  white-space: nowrap;
}
.forecast-signal-pill.is-inactive { border-color: var(--destructive); background: var(--destructive-surface); color: var(--destructive); }
.forecast-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.forecast-metric-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-md);
  background: var(--q-bg-elevated);
}
.forecast-metric-grid span {
  display: block;
  margin-bottom: 6px;
  color: var(--q-muted);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.forecast-metric-grid strong { display: block; overflow-wrap: anywhere; }
.forecast-analysis-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}
.forecast-analysis-sections > section {
  padding: 14px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-md);
  background: var(--q-surface);
}
.forecast-stat-list { margin: 12px 0 0; }
.forecast-stat-list > div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid var(--q-border);
}
.forecast-stat-list > div:last-child { border-bottom: 0; }
.forecast-stat-list dt { color: var(--q-muted); }
.forecast-stat-list dd { margin: 0; color: var(--q-text); font-weight: 700; text-align: right; }
.forecast-validation-notes,
.forecast-analysis-details { margin-top: 14px; }
.forecast-validation-notes summary,
.forecast-analysis-details summary { cursor: pointer; color: var(--q-primary-soft); font-weight: 700; }
.forecast-validation-list { margin: 14px 0 0; color: var(--destructive); }
.forecast-heuristic-note { margin: 14px 0 0; }
.forecast-analysis-details .markdown-output { margin-top: 14px; }


.forecast-alert-config {
  margin: 16px 0 0;
  padding: 16px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-lg);
  background: var(--q-bg-elevated);
}
.forecast-alert-config legend {
  padding: 0 8px;
  color: var(--q-text);
  font-weight: 750;
}
.forecast-alert-master-toggle {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-md);
  background: var(--q-surface);
  cursor: pointer;
}
.forecast-alert-master-toggle input { margin-top: 3px; accent-color: var(--q-primary); }
.forecast-alert-master-toggle span,
.forecast-alert-master-toggle small { display: block; }
.forecast-alert-master-toggle small { margin-top: 4px; color: var(--q-muted); line-height: 1.5; }
.forecast-alert-options,
.forecast-alert-row-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr);
  gap: 14px;
  margin-top: 14px;
}
.forecast-alert-options.is-disabled { opacity: .55; }
.forecast-boundary-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.forecast-boundary-choices label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--q-border);
  border-radius: 999px;
  background: var(--q-surface);
  color: var(--q-text);
  font-size: .84rem;
  font-weight: 700;
}
.forecast-boundary-choices input { accent-color: var(--q-primary); }
.forecast-alert-status { margin-top: 14px; }
.forecast-alert-inline-card,
.forecast-alert-list-item {
  padding: 16px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-lg);
  background: var(--q-bg-elevated);
}
.forecast-alert-list-item + .forecast-alert-list-item { margin-top: 12px; }
.forecast-alert-list-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.forecast-alert-list-head strong,
.forecast-alert-list-head span { display: block; }
.forecast-alert-list-head > div > span { margin-top: 4px; color: var(--q-muted); font-size: .82rem; }
.forecast-alert-list-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}
.forecast-alert-list-meta > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--q-border);
  border-radius: var(--q-radius-md);
  background: var(--q-surface);
}
.forecast-alert-list-meta dt { color: var(--q-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.forecast-alert-list-meta dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--q-text); font-weight: 700; }
.forecast-alert-error { margin: 8px 0; color: var(--destructive); }
.forecast-alert-settings-card { margin-top: 18px; }
.forecast-active-alerts-head { margin-top: 22px; }
.forecast-active-alerts { margin-top: 12px; }

.pricing-page .use-case-media > i {
  font-size: clamp(2rem, 4vw, 3.25rem);
  color: var(--accent-foreground);
}
.pricing-page .page-hero .eyebrow { color: var(--accent-foreground) !important; }
.pricing-page .page-hero .card > h2 { font-size: 1.25rem; margin-top: 0; }
.pricing-page .cta:not(.secondary),
.pricing-page button.cta:not(.secondary),
.pricing-page a.cta:not(.secondary) {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}
.pricing-page .cta:not(.secondary):hover,
.pricing-page .cta:not(.secondary):focus-visible {
  background: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
}
.pricing-page .use-case-card { text-decoration: none; }
.pricing-page .use-case-card:focus-visible {
  outline: 3px solid var(--q-primary-soft);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .forecast-summary-head { flex-direction: column; }
  .forecast-metric-grid,
  .forecast-analysis-sections { grid-template-columns: 1fr; }
  .forecast-stat-list > div { align-items: flex-start; }
  .forecast-alert-options,
  .forecast-alert-row-controls { grid-template-columns: 1fr; }
  .forecast-alert-list-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forecast-alert-list-head { flex-direction: column; }
}

@media (max-width: 460px) {
  .forecast-alert-list-meta { grid-template-columns: 1fr; }
  .forecast-boundary-choices label { flex: 1 1 auto; justify-content: center; }
}

.market-search-workspace {
  position: relative;
  z-index: 90;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid var(--line, #dce3ea);
  border-radius: 10px;
  background: var(--surface, #fff);
}

.market-search-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(130px, 170px) auto;
  gap: 8px;
  align-items: end;
}

.market-search-heading h2 { font-size: 1rem; margin: 0 0 8px; }
.market-search-results { position: absolute; z-index: 100; inset-inline: 0; top: calc(100% + 4px); margin: 0; padding: 8px; display: grid; gap: 6px; max-height: min(60dvh, 480px); overflow: auto; overscroll-behavior: contain; color: var(--popover-foreground); background: var(--popover); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 8px 24px var(--shadow); }
.market-search-results[hidden] { display: none; }
.ensemble-duration-control[hidden] { display: none !important; }
.ensemble-toolbar-menu[open] { z-index: 100; }
.ensemble-results, .ensemble-forecast-shell, .ensemble-forecast-body { overflow: visible; }
.help-icon { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 1px solid var(--border); border-radius: 50%; color: var(--foreground); background: var(--secondary); cursor: pointer; }
html .app-layout .panel-header h2 { font-size: 1.15rem; margin-block: 0 4px; }
html .app-layout .panel-header { margin-bottom: 8px; }
html .app-layout .panel .form-grid { gap: 8px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 220px)); }
html .app-layout .panel .field { margin: 0; min-width: 0; gap: 4px; }
html .app-layout .panel :is(input:not([type="checkbox"]):not([type="radio"]), select) { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; min-height: var(--control-height); padding: 6px 8px; font-size: .875rem; line-height: 1.3; color: var(--foreground); background: var(--card); border-color: var(--input); }
html .app-layout .panel :is(.label, .small, small) { font-size: .8rem; line-height: 1.45; }
html .app-layout .ensemble-model-grid { gap: 8px; }
html .app-layout .ensemble-model-card { padding: 8px; }
html .app-layout .ensemble-forecast-body { padding: 10px; }
html .app-layout .panel .label { color: var(--foreground); }
html .app-layout .panel :is(.muted, small.muted) { color: var(--muted-foreground); }
html .app-layout .panel input::placeholder { color: var(--muted-foreground); opacity: 1; }
html .ensemble-toolbar-menu-items .task-chip { color: var(--popover-foreground); background: var(--popover); }
html .ensemble-help-dialog pre { overflow: auto; padding: 8px; background: var(--secondary); color: var(--foreground); font-size: .8rem; }
@media (max-width: 720px) {
  html .app-layout .panel :is(input:not([type="checkbox"]):not([type="radio"]), select) { min-height: 44px; font-size: 16px; }
  html .app-layout .panel :is(button, summary.task-chip) { min-height: 44px; }
  html .app-layout .panel .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html .app-layout .panel .field:has(input[type="datetime-local"]),
  html .app-layout .panel .field:has(input[type="file"]),
  html .app-layout .panel [data-ensemble-source="prediction_market"]:has(strong) { grid-column: 1 / -1; }
  .workspace-sidebar-switcher:has(select:disabled) { display: none; }
  .workspace-sidebar-switcher { padding: 8px; gap: 6px; }
  .market-search-workspace { padding: 8px; margin-bottom: 8px; }
  .market-search-workspace .task-chip { font-size: .75rem; padding-inline: 8px; }
  .market-search-workspace .market-mode { gap: 4px; }
  .market-search-heading h2 { font-size: .9rem; margin-bottom: 4px; }
  .market-search-workspace p { margin-block: 6px 0; font-size: .8rem; line-height: 1.35; }
  .market-search-results { max-height: 55dvh; }
}
.market-search-group { display: grid; gap: 4px; }
.market-search-group h3 { font-size: .8rem; margin: 4px 0; }
.market-search-result { display: flex; gap: 8px; align-items: center; justify-content: space-between; padding: 8px; border-bottom: 1px solid var(--border); }
.market-search-result:focus-within { background: var(--accent); }
.market-search-result-main { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; }
.market-search-result-main > div { min-width: 0; }
.market-search-result-main strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.market-search-result-symbol { flex: 0 1 100px; font: 700 0.82rem/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.market-search-result-actions { margin: 0 !important; gap: 6px; flex-shrink: 0; }
#market-search-status { margin: 6px 0 0; font-size: .8rem; min-height: 1.3em; }

@media (max-width: 720px) {
  .market-search-workspace { padding: 10px; }
  .market-search-form { grid-template-columns: minmax(0, 1fr) auto; }
  .market-search-form > .field:first-child { grid-column: 1 / -1; }
  .market-search-result { align-items: flex-start; flex-direction: column; }
  .market-search-result-main { width: 100%; align-items: flex-start; }
  .market-search-result-actions { width: 100%; }
  .market-search-result-actions .cta { flex: 1 1 auto; }
}

/* Shared component surfaces: foreground and background always travel together.
   The legacy layout sheet remains for compatibility, but has no own palette. */
:is(.hero, .page-hero, .forecast-hero, .forecast-detail-hero, .forecast-api-cta,
    .forecast-record-section, .forecast-detail-hero + .section) {
  background: var(--background) !important;
  color: var(--foreground) !important;
}
:is(.hero-card, .use-case-card, .forecast-card, .forecast-method-card,
    .forecast-metric, .forecast-detail-block, .forecast-detail-probability,
    .forecast-calibration-table-wrap, .forecast-admin-list-item, .market-search-result,
    .skeleton, .suggestions, .ticker-suggestions, .command-menu) {
  background: var(--card) !important;
  color: var(--card-foreground) !important;
  border-color: var(--border) !important;
  box-shadow: var(--q-shadow-sm) !important;
  backdrop-filter: none !important;
}
:is(.hero p, .hero-card p, .forecast-hero p, .page-hero p, .forecast-api-cta p,
    .forecast-question, .forecast-card-meta, .forecast-metric span, .forecast-detail-summary,
    .forecast-detail-probability span, .forecast-detail-meta strong, .forecast-trust-row,
    .forecast-evidence-list li span, .forecast-evidence-list li small, .eyebrow) {
  color: var(--muted-foreground) !important;
}
:is(.forecast-card-probability, .forecast-metric strong, .forecast-category,
    .forecast-detail-hero .forecast-detail-block, .forecast-admin-rail summary) { color: var(--foreground) !important; }
:is(.forecast-scenario-grid article, .forecast-detail-meta span, .forecast-history-chart,
    .brand-pill, .badge, .tab, .sidebar-nav, .sidebar-link, .mobile-bottom-nav,
    .mobile-bottom-link, .home-bottom-nav, .home-bottom-nav-link, .mobile-sidebar-toggle,
    .model-council-prompt-card, .model-council-prompt-panel, .module-picker-chip,
    .toggle-select-option, .ensemble-model-card, .ensemble-model-toggle) {
  background: var(--secondary) !important;
  color: var(--secondary-foreground) !important;
  border-color: var(--border) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
:is(.tab.is-active, .sidebar-link.active, .module-picker-chip.is-selected,
    .toggle-select-option[aria-pressed="true"], .mobile-bottom-link.active,
    .home-bottom-nav-link.active, .forecast-label, .forecast-status) {
  background: var(--accent) !important;
  color: var(--accent-foreground) !important;
  border-color: var(--input) !important;
}
:is(.forecast-not-occurred, .forecast-disclosure, .status-disputed) {
  color: var(--warning) !important; background: var(--warning-surface) !important; border-color: var(--warning) !important;
}
:is(.status-resolved_yes, .forecast-resolution-result) { color: var(--success) !important; background: var(--success-surface) !important; }
.status-resolved_no { color: var(--destructive) !important; background: var(--destructive-surface) !important; }
.forecast-change.positive { color: var(--success); }
.forecast-change.negative { color: var(--destructive); }
.toast, html .toast, .toast[data-variant="warn"] { background: var(--popover) !important; color: var(--popover-foreground) !important; border-color: var(--input) !important; backdrop-filter: none !important; }
.toast[data-variant="warn"] { border-inline-start: 4px solid var(--warning) !important; }
.toast[data-variant="error"] { border-inline-start: 4px solid var(--destructive) !important; }
select option, select optgroup { background: var(--popover) !important; color: var(--popover-foreground) !important; }
.plotly-notifier { color: var(--popover-foreground); background: var(--popover); }

/* Compact terminal density; contain wide data at the table, not the viewport. */
:root { --page-gutter: clamp(12px, 1.5vw, 24px); --page-gutter-mobile: 10px; }
.container, .app-main, .studio-panel, .panel, .qs-main, .qs-results, .field,
.form-grid > *, .ensemble-model-grid > *, .market-search-workspace { min-width: 0; max-width: 100%; }
:is(.card, .results-panel, .forecast-workspace-block, .forecast-summary-card,
    .forecast-detail-block, .forecast-method-card, .forecast-metric) { padding: 14px !important; border-radius: 10px !important; }
.section { padding-block: 28px !important; }
.studio-section { padding-block: 12px !important; }
.hero, .page-hero, .forecast-hero, .forecast-detail-hero { padding-block: clamp(24px, 4vw, 52px) !important; }
.hero-grid, .forecast-hero-grid, .forecast-detail-heading { gap: 20px; }
.hero h1 { font-size: clamp(1.9rem, 4vw, 3.5rem); line-height: 1.08; }
.forecast-hero h1, .forecast-detail-heading h1 { font-size: clamp(1.8rem, 4vw, 3.1rem); line-height: 1.1; }
.section-title, .panel-header { margin-bottom: 12px; }
.panel-header h2, .section-title h2 { font-size: clamp(1.25rem, 2vw, 1.8rem); margin-block: 4px 8px; }
.panel-header p { margin-block: 0; }
.forecast-card { min-height: 0 !important; padding: 16px !important; }
.forecast-card-probability { margin-block: 12px 8px; font-size: 2.6rem; }
.forecast-section-heading { margin-bottom: 12px; align-items: start; gap: 12px; flex-wrap: wrap; }
.forecast-section-heading h2 { font-size: clamp(1.4rem, 2.5vw, 2.2rem); }
.forecast-filter-bar { grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); padding: 12px; }
.form-grid { gap: 10px !important; }
.field { margin-bottom: 0; }
.field .label, .label { margin-bottom: 4px; }
.cta, button.cta, a.cta { min-height: var(--control-height); padding: 7px 12px; min-width: 0; line-height: 1.2; }
.cta.small { padding: 6px 10px; }
.hero-actions { gap: 8px; flex-wrap: wrap; }
.form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), .form-grid select, .market-search-form input, .market-search-form select { width: 100%; }
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select { padding-block: 6px; }
.ensemble-model-grid { gap: 8px; }
.ensemble-model-card { padding: 8px; gap: 4px; }
.ensemble-model-capability { min-height: 0; }
.ensemble-model-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
input[type="checkbox"], input[type="radio"] { width: 16px; height: 16px; min-width: 16px; min-height: 16px; padding: 0; margin: 0; flex: 0 0 16px; accent-color: var(--primary); }
.market-search-heading, .market-mode-controls, .market-link-toolbar { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.market-search-heading { justify-content: space-between; margin-bottom: 6px; }
.market-search-heading h2 { margin: 0; }
.market-link-toolbar > .field { flex: 1 1 220px; }
.market-mode-controls [aria-pressed="true"] { background: var(--primary); color: var(--primary-foreground); }
.ensemble-model-weight { display: flex; align-items: center; gap: 6px; }
.ensemble-model-weight input { max-width: 80px; }
.ensemble-model-fieldset, .ensemble-quantile-fieldset { padding: 8px 0; margin: 8px 0; }
.ensemble-forecast-body { padding: 10px; }
#ensemble-forecast-form > .form-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 220px)); align-items: start; gap: 8px !important; }
#ensemble-forecast-form > .form-grid .field { gap: 4px; margin: 0; padding: 0; min-width: 0; }
.ensemble-duration-control { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1fr); gap: 6px; min-width: 0; max-width: 100%; }
.ensemble-duration-control > * { min-width: 0; }
.ensemble-advanced-settings, .ensemble-model-fieldset, .ensemble-quantile-fieldset { min-inline-size: 0; max-inline-size: 100%; }
.ensemble-preset-row .field { flex: 0 1 200px; min-width: 0; width: 100%; }
#ensemble-custom-quantiles { max-width: 440px; }
.ensemble-primary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.ensemble-primary-actions .cta { width: auto; max-width: 100%; justify-content: center; }
.backtest-dialog { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: var(--background); color: var(--foreground); overflow: auto; box-sizing: border-box; }
.backtest-dialog::backdrop { background: rgb(0 0 0 / 70%); }
.backtest-shell { max-width: 1500px; min-height: 100%; margin: auto; padding: clamp(12px, 2vw, 28px); box-sizing: border-box; }
.backtest-header { display: flex; align-items: start; justify-content: space-between; gap: 12px; position: sticky; top: 0; z-index: 2; padding: 8px 0 14px; background: var(--background); border-bottom: 1px solid var(--border); }
.backtest-header h2 { margin: 0 0 4px; font-size: clamp(1.25rem, 2vw, 1.8rem); }
.backtest-header p { margin: 0 0 4px; }
.backtest-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); align-items: start; gap: 14px; margin-top: 14px; }
.backtest-form { display: grid; gap: 12px; min-width: 0; }
.backtest-panel { min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--card); color: var(--card-foreground); }
.backtest-panel h3 { margin: 0 0 8px; font-size: 1rem; }
.backtest-panel p { margin: 0 0 10px; line-height: 1.4; }
.backtest-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.backtest-fields .field { min-width: 0; }
.backtest-fields input, .backtest-fields select { width: 100%; max-width: 100%; min-height: 40px; box-sizing: border-box; }
.backtest-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.backtest-actions .cta, .backtest-actions .task-chip { width: auto; min-height: 40px; }
.backtest-models { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 12px 0; }
.backtest-model { display: grid; gap: 5px; min-width: 0; padding: 9px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); font-size: .82rem; }
.backtest-model label { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.backtest-model input[type="number"] { min-height: 36px; }
.backtest-model[aria-disabled="true"] { opacity: .55; }
.backtest-rules { display: grid; gap: 8px; margin: 10px 0; }
.backtest-rule { display: grid; grid-template-columns: minmax(82px, auto) repeat(2, minmax(100px, 1fr)) auto; align-items: end; gap: 8px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--background); }
.backtest-rule strong { align-self: center; font-size: .82rem; }
.backtest-rule .field { min-width: 0; }
.backtest-rule .field label { font-size: .72rem; }
.backtest-rule select, .backtest-rule input { width: 100%; min-width: 0; min-height: 36px; }
.backtest-rule button { min-height: 36px; }
.backtest-results { position: sticky; top: 104px; }
.backtest-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.backtest-metrics > div { display: flex; flex-direction: column; gap: 3px; padding: 10px; border: 1px solid var(--border); border-radius: 8px; }
.backtest-metrics span { color: var(--muted-foreground); font-size: .78rem; }
.backtest-equity svg { width: 100%; height: 160px; margin: 8px 0; color: var(--primary); background: var(--muted); border-radius: 8px; }
.backtest-table-wrap { max-height: 320px; max-width: 100%; overflow: auto; margin: 8px 0; }
.backtest-table-wrap table { width: 100%; border-collapse: collapse; font-size: .8rem; white-space: nowrap; }
.backtest-table-wrap th, .backtest-table-wrap td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: left; }
.backtest-dialog :focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
@media (max-width: 850px) { .backtest-layout { grid-template-columns: 1fr; } .backtest-results { position: static; } }
@media (max-width: 650px) { .backtest-rule { grid-template-columns: repeat(2, minmax(0, 1fr)); } .backtest-rule strong { grid-column: 1 / -1; } }
@media (max-width: 450px) { .backtest-fields { grid-template-columns: 1fr; } .backtest-shell { padding: 10px; } .backtest-header .task-chip span { display: none; } .backtest-models { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.market-search-form :is(input, select, button), .ensemble-model-card :is(input, select) { min-width: 0; max-width: 100%; box-sizing: border-box; }
.ensemble-model-card select { width: 100%; text-overflow: ellipsis; }
@media (min-width: 769px) {
  #ensemble-forecast-form > .form-grid input, #ensemble-forecast-form > .form-grid select { height: 36px; min-height: 36px; padding-block: 4px; }
}
@media (max-width: 768px) {
  #ensemble-forecast-form > .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #ensemble-forecast-form > .form-grid input, #ensemble-forecast-form > .form-grid select { min-height: 44px; }
  #ensemble-forecast-form input[type="datetime-local"] { appearance: none; min-inline-size: 0; }
  #ensemble-forecast-form .field:has(input[type="datetime-local"]:not([hidden])),
  #ensemble-forecast-form .field:has(input[type="file"]) { grid-column: 1 / -1; }
  .ensemble-primary-actions { display: grid; grid-template-columns: 1fr; }
  .ensemble-primary-actions .cta { width: 100%; }
}
.panel[data-panel="forecast"] > .ensemble-forecast-shell { margin-top: 8px; }
.market-timing { color: var(--success); }
@media (max-width: 760px) {
  .toggle-select-option, .market-mode-controls button, .ensemble-model-toggle, .ensemble-quantile-chips label { min-height: 44px; }
  .ensemble-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ensemble-model-name { font-size: .85rem; }
}
.ensemble-model-card .small { line-height: 1.4; }
.forecast-workspace-section, .data-results-panel { margin-top: 12px; }
.table-wrap, .responsive-table-wrap { max-width: 100%; overflow: auto; overscroll-behavior: contain; }
.data-table th, .data-table td { padding: 8px 10px; }
.integration-chart, .ensemble-chart { min-height: 280px; }
.hero-video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.hero-moodboard img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.fade-in { opacity: 1; animation: none; transform: none; }
.brand-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; }
.brand-track .brand-pill:nth-child(n + 13) { display: none; }
.brand-marquee { overflow: hidden; }
@media (max-width: 760px) {
  :root { --control-height: 44px; }
  .hero-grid, .forecast-hero-grid, .forecast-detail-heading { grid-template-columns: minmax(0, 1fr); }
  .forecast-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .forecast-detail-meta, .forecast-scenario-grid { grid-template-columns: minmax(0, 1fr); }
  .forecast-evidence-list li { grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; }
  .hero-actions .cta { flex: 1 1 auto; text-align: center; justify-content: center; white-space: normal; }
  .hero-card { padding: 12px; }
  .section { padding-block: 20px !important; }
  .cta, .cta.small, .task-chip, .tab, .qs-quantile-filters label, .qs-signal-toggle { min-height: 44px; }
  .qs-main .qs-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .qs-sidebar { max-width: 100%; min-width: 0; }
  .qs-hero p { font-size: .85rem; line-height: 1.45; }
  .qs-hero { gap: 12px; }
  .qs-hero-actions { display: flex; flex-wrap: wrap; }
  .qs-hero-actions .cta { flex: 1; }
  .qs-main .qs-metrics article { padding: 10px; }
  .qs-table-wrap { max-height: 70dvh; overflow: auto; }
  .qs-table td { overflow-wrap: anywhere; }
  .qs-pagination { gap: 8px; padding: 8px; flex-wrap: wrap; }
  #qs-page-label { min-width: 80px; }
  .forecast-section-heading .cta { width: auto; }
}

/* The help launcher loads its dialog and chat code only after a deliberate click. */
.support-launcher { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 1100; min-height: 44px; min-width: 64px; border: 1px solid var(--border); border-radius: 24px; padding: 8px 16px; background: var(--primary); color: var(--primary-foreground); box-shadow: var(--shadow); cursor: pointer; font: 600 14px Inter, sans-serif; }
.support-dialog { position: fixed; inset: auto 16px 16px auto; margin: 0; padding: 0; width: min(400px, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: min(700px, calc(100dvh - 24px)); overflow: hidden; border: 1px solid var(--border); border-radius: 16px; background: var(--popover); color: var(--popover-foreground); box-shadow: var(--shadow); }
.support-dialog[open] { display: flex; flex-direction: column; }
.support-dialog::backdrop { background: var(--overlay); }
.support-header, .support-actions, .support-footer { display: flex; gap: 8px; align-items: center; justify-content: space-between; }
.support-header { padding: 14px; border-bottom: 1px solid var(--border); }
.support-header h2 { font-size: 17px; margin: 0; }
.support-header p { margin: 4px 0 0; color: var(--muted-foreground); }
.support-messages { min-height: 100px; max-height: 38dvh; overflow: auto; overscroll-behavior: contain; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.support-message { min-width: 0; border-radius: 10px; padding: 10px 12px; background: var(--secondary); color: var(--secondary-foreground); }
.support-message-user { margin-left: 24px; background: var(--accent); color: var(--accent-foreground); }
.support-message strong { font-size: 12px; }
.support-message p { font-size: 14px; line-height: 1.5; margin: 5px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: inherit; }
.support-references { display: grid; gap: 6px; margin-top: 10px; }
.support-references a, .support-footer a { color: var(--primary); text-decoration: underline; font-size: 13px; }
.support-form { margin: 0; padding: 0 14px; display: grid; gap: 8px; }
.support-form label { font-size: 13px; }
.support-form textarea { resize: vertical; max-height: 120px; width: 100%; min-height: 60px; background: var(--card); color: var(--foreground); border: 1px solid var(--border); border-radius: 8px; padding: 10px; font: inherit; font-size: 16px; }
.support-form textarea::placeholder { color: var(--muted-foreground); }
.support-status, .support-privacy { padding: 0 14px; margin: 8px 0 0; line-height: 1.4; color: var(--muted-foreground); }
.support-footer { padding: 12px 14px; flex-wrap: wrap; }
.support-launcher:focus-visible, .support-dialog :focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.support-launcher { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; border-radius: 16px; box-shadow: 0 8px 24px #07101f26; transition: transform .15s ease; }
.support-launcher:hover { transform: translateY(-2px); }
.support-dialog { width: min(460px, calc(100vw - 24px)); max-height: min(780px, calc(100dvh - 32px)); border-radius: 22px; }
.support-header { padding: 20px; background: var(--card); }
.support-header h2 { font-size: 21px; letter-spacing: -.4px; }
.support-close { width: 44px; height: 44px; border: 1px solid var(--border); border-radius: 50%; background: var(--secondary); color: var(--foreground); font-size: 26px; cursor: pointer; }
.support-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; }
.support-messages, .support-history { min-height: 170px; max-height: 35dvh; flex: 1 1 auto; overflow: auto; padding: 10px 20px 20px; }
.support-messages[hidden], .support-history[hidden], #qs-games[hidden], .qs-field[hidden], .qs-quantile-filters[hidden], .qs-date-navigation[hidden], #saved-alerts[hidden], #qs-methodology[hidden], .qs-hero-actions [hidden] { display: none !important; }
.support-history h3 { margin: 4px 0; font-size: 16px; }
.support-history p, .support-history-open small { color: var(--muted-foreground); }
.support-history-list { display: grid; gap: 8px; margin-top: 16px; }
.support-history-row { display: flex; gap: 8px; align-items: center; border: 1px solid var(--border); border-radius: 12px; padding: 8px; background: var(--card); }
.support-history-open { display: grid; gap: 6px; flex: 1; min-width: 0; text-align: left; border: 0; background: transparent; color: var(--foreground); padding: 8px; cursor: pointer; font: inherit; }
.support-history-open strong { overflow-wrap: anywhere; font-size: 14px; }
.support-history-open[aria-current="true"] { border-left: 3px solid var(--primary); }
.support-history-delete { min-height: 44px; border: 0; padding: 8px; border-radius: 8px; background: var(--secondary); color: var(--foreground); cursor: pointer; }
.support-form { padding: 0 20px; }
.support-form textarea { border-radius: 12px; min-height: 72px; }
.support-send { justify-self: end; min-width: 88px; min-height: 44px; }
.support-status:empty { display: none; }
.support-status, .support-privacy, .support-accuracy { margin: 10px 0 0; padding: 0 20px; color: var(--muted-foreground); line-height: 1.5; font-size: 12px; }
.support-footer { padding: 14px 20px 18px; }
.support-message-user { background: var(--primary); color: var(--primary-foreground); }
#qs-games { padding: 20px; }
@media (prefers-reduced-motion: reduce) { .support-launcher { transition: none; } }
@media (max-height: 680px) { .support-messages, .support-history { min-height: 70px; }.support-header { padding: 14px 20px; }.support-toolbar { padding-block: 8px; }.support-footer { padding-block: 8px; } }
/* The navigation has a 10px bottom offset and its own safe-area padding.
   Leave a clear gap above its full occupied height, including on tablets. */
@media (max-width: 980px) {
  body.mobile-bottom-nav-enabled .support-launcher {
    bottom: calc(var(--mobile-bottom-nav-height, 62px) + 2 * var(--safe-area-bottom, 0px) + 44px);
    right: 12px;
  }
}
@media (max-width: 768px) {
  .support-launcher { right: 12px; }
  .support-dialog { inset: auto 12px max(12px, env(safe-area-inset-bottom)) 12px; width: auto; }
  .support-dialog button, .support-footer a { min-height: 44px; display: inline-flex; align-items: center; }
}
.blog-photo { margin: 0 0 16px; }
.blog-photo img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; border-radius: 8px; background: var(--muted); }
.blog-photo figcaption { margin-top: 6px; color: var(--muted-foreground); font-size: .8125rem; line-height: 1.5; }
.blog-photo figcaption a { color: var(--foreground); text-decoration: underline; text-underline-offset: 2px; }

/* Supplied September brand direction. Shared tokens keep both themes coherent. */
.home-page .home-intelligence-hero { background: var(--background) var(--brand-hero-image) center / cover no-repeat !important; border-bottom: 1px solid var(--border); padding-block: clamp(28px, 4vw, 60px) !important; }
:root[data-theme="dark"] .home-page .home-intelligence-hero { background-blend-mode: soft-light; }
.home-intelligence-hero .hero-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); align-items: center; gap: 22px; }
.home-intelligence-hero .hero-copy { min-width: 0; }
.home-intelligence-hero .eyebrow { color: var(--muted-foreground); font-size: .72rem; letter-spacing: .14em; margin-bottom: 16px; }
.home-intelligence-hero h1 { color: var(--foreground); font-size: clamp(2rem, 4.15vw, 3.9rem); line-height: 1.04; letter-spacing: -.045em; max-width: 15ch; margin: 0 0 18px; }
.home-intelligence-hero h1 span { color: var(--brand-highlight); }
.home-intelligence-hero .hero-copy > p { color: var(--foreground); font-size: 1rem; line-height: 1.6; max-width: 48ch; margin: 0 0 22px; }
.home-intelligence-hero .hero-actions .cta { min-height: 44px; padding: 10px 18px; border-radius: 24px; }
.hero-product-visual { min-width: 0; margin: 0; }
.hero-product-visual img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
.hero-product-visual figcaption { color: var(--muted-foreground); text-align: center; font-size: .72rem; line-height: 1.5; margin: 8px 0 0; }
.hero-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 26px 0 0; padding: 0; gap: 12px; }
.hero-proof li { padding: 0 10px 0 0; border-right: 1px solid var(--border); }
.hero-proof li:last-child { border: 0; }
.hero-proof strong { display: block; color: var(--foreground); font-size: .84rem; margin-bottom: 5px; }
.hero-proof span { display: block; color: var(--muted-foreground); font-size: .73rem; line-height: 1.4; }
.home-workflow-strip { border-bottom: 1px solid var(--border); background: var(--card); }
.home-workflow-strip .container { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; padding-block: 10px; }
.home-workflow-strip a { color: var(--foreground); display: inline-flex; gap: 8px; align-items: center; min-height: 44px; font-size: .85rem; font-weight: 600; }
.home-workflow-strip i { color: var(--primary); font-size: 20px; }
.home-workflow-strip a:hover { color: var(--primary); }
.home-page .insight-grid .card { border-top: 2px solid var(--primary); }
.home-page .insight-grid h3 { display: flex; align-items: center; gap: 9px; }
.home-page .insight-grid h3 i { color: var(--primary); }
.home-global-banner { border: 1px solid var(--border); border-radius: 12px; background: var(--brand-dark-background) url("/assets/quantura-earth-hero.webp?v=20260909a") center / cover no-repeat; padding: clamp(24px, 4vw, 48px); color: var(--brand-dark-foreground); min-height: 220px; }
.home-global-banner h2, .home-global-banner p { color: var(--brand-dark-foreground) !important; max-width: 30ch; }
.home-global-banner h2 { font-size: clamp(1.5rem, 2.6vw, 2.3rem); line-height: 1.15; margin: 0 0 12px; }
.home-global-banner p { font-size: .9rem; line-height: 1.6; margin: 0 0 18px; }
.header .nav-actions #header-auth { width: auto; }
.header > .nav { padding-inline: clamp(12px, 2.2vw, 32px); }
@media (max-width: 980px) {
  .mobile-nav-toggle { width: auto; min-width: 74px; min-height: 44px; gap: 6px; padding: 7px 10px; font: 600 .8rem Inter, sans-serif; }
  .mobile-nav-toggle span { display: inline; }
  .header.nav-open .nav-actions .cta span { display: inline; }
  .header.nav-open .nav-actions .cta { width: auto; min-width: 0; flex: 1 1 auto; padding: 8px 12px; }
  .header.nav-open .nav-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header.nav-open .nav-links a { gap: 8px; font-size: .82rem; }
  .header.nav-open .nav-links a span { display: inline; }
}
@media (max-width: 760px) {
  .home-intelligence-hero .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .home-intelligence-hero h1 { font-size: clamp(2.15rem, 8vw, 3.4rem); max-width: 17ch; }
  .home-intelligence-hero .hero-copy > p { font-size: .92rem; margin-bottom: 16px; }
  .hero-proof { margin-top: 20px; gap: 8px; }
  .hero-product-visual { max-width: 580px; margin-inline: auto; }
  .home-workflow-strip .container { justify-content: flex-start; gap: 0 16px; }
  .home-workflow-strip a { font-size: .8rem; }
  .home-global-banner { background-position: 38% center; }
  .home-global-banner p { max-width: 27ch; }
  .home-page .support-launcher { bottom: max(16px, env(safe-area-inset-bottom)); }
}
/* Final-ensemble quality: compact, theme-aware and independently scrollable. */
.forecast-quality { margin-block: 12px; padding-block: 12px; border-block-start: 1px solid var(--border); color: var(--foreground); min-width: 0; }
.forecast-quality h3, .forecast-quality h4 { margin: 0 0 6px; }
.forecast-quality h3 { font-size: 16px; }
.forecast-quality h4 { font-size: 14px; }
.forecast-quality p { margin: 6px 0; }
.forecast-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 145px), 1fr)); gap: 8px; margin: 10px 0; }
.forecast-metrics-grid > div { background: var(--secondary); border-radius: 6px; padding: 8px; min-width: 0; }
.forecast-metrics-grid dt { font-size: 12px; color: var(--muted-foreground); }
.forecast-metrics-grid dd { margin: 3px 0 0; font-size: 16px; font-weight: 650; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.forecast-metric-help { border: 0; background: transparent; color: var(--muted-foreground); padding: 3px 6px; min-width: 28px; min-height: 28px; cursor: help; }
.forecast-metric-help:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.forecast-quality summary { cursor: pointer; padding-block: 8px; font-size: 13px; }
@media (max-width: 600px) {
  .forecast-metric-help { min-width: 40px; min-height: 40px; }
  .forecast-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Readable landing page surfaces in both themes. */
.q-home-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,5vw,72px); align-items:center; padding-block:clamp(48px,8vw,110px); }
.q-home-copy h1 { font-size:clamp(2.4rem,5vw,4.6rem); line-height:1.06; letter-spacing:-.05em; margin:16px 0 24px; }
.q-home-copy h1 span { color:var(--brand-highlight); }
.q-home-copy>p:not(.eyebrow) { max-width:48ch; line-height:1.7; }
.q-home-preview { border:1px solid var(--border); border-radius:20px; background:var(--card); padding:24px; box-shadow:0 16px 60px var(--shadow); }
.q-preview-heading,.q-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.q-preview-heading { font-weight:700; }.q-preview-footer { font-size:.8rem; }
.q-home-preview svg { display:block; width:100%; margin:24px 0; overflow:visible; }
.q-preview-grid path { stroke:var(--border); fill:none; stroke-width:1; }
.q-preview-band { fill:var(--accent); }.q-preview-observed { stroke:var(--foreground); fill:none; stroke-width:3; }
.q-preview-median { stroke:var(--brand-highlight); fill:none; stroke-width:3; }.q-preview-cutoff { stroke:var(--muted-foreground); stroke-dasharray:4 6; }
.q-preview-label { fill:var(--muted-foreground); font-size:14px; }
.q-legend-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--brand-highlight); margin-right:6px; }
.q-home-features { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding-block:32px 56px; border-bottom:1px solid var(--border); }
.q-home-features article>i { color:var(--brand-highlight); font-size:28px; }.q-home-features h2 { font-size:1.15rem; margin:16px 0 10px; }.q-home-features p { color:var(--muted-foreground); line-height:1.7; max-width:32ch; }
.q-home-video-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:center; padding-block:64px; }.q-home-video-section h2 { font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.15; }.q-home-video-section p { line-height:1.7; max-width:35ch; }
.q-home-video-section figure { margin:0; }.q-home-video-section video { display:block; width:100%; aspect-ratio:16/9; border:1px solid var(--border); border-radius:16px; background:#07101f; }.q-home-video-section figcaption { margin-top:12px; }
.q-home-games { display:flex; align-items:center; justify-content:space-between; gap:32px; border-top:1px solid var(--border); padding-block:48px 72px; }.q-home-games p { max-width:56ch; line-height:1.7; }
.q-home-audiences,.q-home-guides { padding-block:56px; }
.q-section-heading { margin-bottom:28px; }.q-section-heading h2 { max-width:28ch;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin:12px 0; }
.q-audience-grid,.q-guide-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.q-audience-grid article { display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--foreground); }
.q-audience-grid h3,.q-guide-grid h3 { margin:0;font-size:1.2rem;line-height:1.4; }.q-audience-grid p,.q-guide-grid p { margin:0;line-height:1.7;color:var(--muted-foreground); }
.q-audience-grid a,.q-guide-copy span { margin-top:auto;padding-top:8px;font-weight:600;color:var(--brand-highlight); }
.q-home-evidence { display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:40px;border-block:1px solid var(--border); }.q-home-evidence h2 { font-size:1.65rem;line-height:1.3; }.q-home-evidence p { max-width:54ch;line-height:1.7; }
.q-home-evidence ul { display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style:none;margin:0;padding:0;align-content:center; }.q-home-evidence li { padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card); }
@media(max-width:760px) { .q-audience-grid,.q-guide-grid,.q-home-evidence { grid-template-columns:1fr; }.q-home-audiences,.q-home-guides { padding-block:36px; }.q-home-copy h1 { font-size:clamp(2.2rem,7vw,3rem); } }
.cta:not(.secondary):not(.ghost) { color:var(--primary-foreground) !important; background:var(--primary) !important; }.cta.secondary { color:var(--secondary-foreground) !important; }
.home-page .eyebrow { color:var(--muted-foreground) !important; }.home-page main { color:var(--foreground); }
:where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
@media(max-width:760px) { .q-home-hero,.q-home-video-section { grid-template-columns:1fr; }.q-home-features { grid-template-columns:1fr; gap:24px; }.q-home-games { flex-direction:column; align-items:flex-start; }.q-home-hero { padding-block:40px; }.q-home-preview { padding:18px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* Public game forecasts use the same accessible light/dark surface tokens. */
.game-screener { padding: 24px; margin-bottom:24px; border:1px solid var(--border); border-radius:20px; background:var(--card); color:var(--card-foreground); scroll-margin-top:100px; }
.game-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.game-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.game-card { padding:20px; background:var(--background); border:1px solid var(--border); border-radius:14px; }
.game-card h3 { font-size:1.1rem; margin:8px 0; }
.game-card .small,.game-screener .small,.game-dialog .small { color:var(--muted-foreground) !important; }
.game-card-grid[hidden] { display:none; }
.market-search-workspace[hidden],.qs-game-filter[hidden] { display:none !important; }
.game-market-links { display:flex; flex-wrap:wrap; gap:8px; }
.game-exchange-link { display:flex; align-items:center; min-height:48px; padding:8px 12px; border:1px solid var(--border); border-radius:10px; color:var(--foreground); background:var(--card); font-size:.85rem; }
.game-exchange-link:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.game-price-comparison { font-variant-numeric:tabular-nums; font-weight:600; }
.game-history-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-block:16px; }
.game-history-controls label { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:48px; }
.game-history-controls select { min-height:48px; font-size:1rem; }
.game-card { display:flex; flex-direction:column; gap:12px; color:var(--foreground); min-width:0; }
.game-card p,.game-card h3 { margin:0; }
.game-card .cta { margin-top:auto; }
.game-switch { display:flex; gap:8px; padding:0; margin:0; border:0; min-width:0; flex-wrap:wrap; }
.game-switch legend,.game-market-label { padding:0; margin-bottom:6px; font-size:.8rem; font-weight:600; color:var(--muted-foreground); }
.game-switch-option { position:relative; flex:1; cursor:pointer; }
.game-switch-option input { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.game-switch-option span { display:flex; justify-content:center; align-items:center; min-height:48px; padding:8px 12px; border:1px solid var(--border); border-radius:10px; color:var(--foreground); background:var(--card); font-size:.85rem; font-weight:600; }
.game-switch-option input:checked + span { background:var(--primary); color:var(--primary-foreground); border-color:var(--primary); }
.game-switch-option input:focus-visible + span { outline:3px solid var(--focus); outline-offset:3px; }
.game-switch-option input:disabled + span { color:var(--muted-foreground); border-style:dashed; cursor:not-allowed; }
.game-card select { width:100%; min-height:48px; font-size:1rem; border:1px solid var(--border); background:var(--card); color:var(--foreground); border-radius:10px; padding:10px; }
.game-market-label { margin-bottom:-6px; }
.game-selected-outcome { font-weight:600; }
.game-probability { font-variant-numeric:tabular-nums; font-weight:600; }
.game-quantile-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; padding:12px; background:var(--card); border-radius:10px; }
.game-quantile-summary dt { font-size:.72rem; color:var(--muted-foreground); }
.game-quantile-summary dd { margin:3px 0 0; font-size:.85rem; font-variant-numeric:tabular-nums; }
.game-dialog { --game-band:rgba(37,99,235,.18); background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:20px;padding:24px;width:min(760px,calc(100vw - 32px));max-height:85dvh;overflow:auto; }
:root[data-theme="dark"] .game-dialog { --game-band:rgba(96,165,250,.28); }
.game-dialog::backdrop { background:rgba(3,9,20,.7); }
.game-dialog svg { display:block;width:100%;height:auto;background:var(--background);border-radius:12px; }
.game-table-scroll { overflow:auto;max-height:320px;margin:20px 0; }
.game-probabilities { width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;color:var(--foreground); }
.game-probabilities th,.game-probabilities td { padding:10px;text-align:left;border-bottom:1px solid var(--border); }
.game-probabilities caption { text-align:left;padding-bottom:10px; }
@media(max-width:600px) { .game-section-heading { flex-wrap:wrap; }.game-screener,.game-dialog { padding:16px; } }

.q-guide-card { overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--foreground); }
.q-guide-link { display:flex;flex-direction:column;height:calc(100% - 46px);color:inherit;text-decoration:none; }
.q-guide-link .blog-card-photo { display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0;border-radius:0; }
.q-guide-copy { display:flex;flex:1;flex-direction:column;gap:12px;padding:24px 24px 12px; }
.q-guide-credit { margin:0;padding:0 24px 18px;font-size:.75rem;line-height:1.6;color:var(--muted-foreground); }
.q-guide-credit a { color:inherit;text-decoration:underline;text-underline-offset:2px; }
.q-guide-link:hover h3 { text-decoration:underline;text-underline-offset:4px; }

.game-forecast-page details[hidden] { display: none; }

.quant-screener-page #qs-search { padding-left: 38px; min-height: 48px; font-size: 16px; }
.qs-game-filter select { min-height: 48px; font-size: 16px; }

.game-chart-legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; font-size: 13px; margin-bottom: 16px; }

/* Compact shared market search; selected-market context stays in the terminal. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.header .nav{gap:1rem;justify-content:flex-start}
.header .nav-links{margin-inline-end:auto;gap:1rem;flex:0 1 auto}
.header .header-market-search{flex:0 1 300px;min-width:220px;max-width:340px;margin:0;padding:0;border:0;background:transparent;z-index:110}
/* Each action owns a grid column; none can cover the input or another action. */
.header .header-market-search .market-search-form{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;position:relative;box-sizing:border-box;padding:4px;border:1px solid var(--border);border-radius:16px;background:var(--card);box-shadow:0 2px 6px var(--shadow);transition:border-color .15s,box-shadow .15s}
.header .header-market-search .market-search-form:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}
.header .header-market-search .market-search-form>.field{grid-column:2;grid-row:1;margin:0;padding:0;min-width:0;width:100%}
.header .header-market-search input[type=search]{box-sizing:border-box;width:100%;height:44px;min-height:44px;padding:0 6px;font-size:1rem;border:0!important;border-radius:0!important;background:transparent!important;color:var(--foreground);box-shadow:none!important;outline:none!important}
.header .header-market-search :is(.header-search-submit,.header-upload-csv){position:static;inset:auto;grid-row:1;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:12px;box-shadow:none;cursor:pointer;touch-action:manipulation;transition:background .15s,color .15s}
.header .header-market-search .header-upload-csv{grid-column:1;background:var(--secondary);color:var(--accent-foreground)}
.header .header-market-search .header-upload-csv:hover{background:var(--accent)}
.header .header-market-search .header-search-submit{grid-column:3;background:var(--primary);color:var(--primary-foreground)}
.header .header-market-search .header-search-submit:hover{background:var(--primary-hover)}
.header .header-market-search button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.header .header-market-search button svg{display:block;pointer-events:none}
.header .header-market-search input[type=hidden],.header .header-market-search [hidden]{display:none!important}
.header .header-market-search #market-search-status{position:absolute;top:calc(100% + 6px);inset-inline-end:0;width:min(610px,calc(100vw - 2rem));box-sizing:border-box;margin:0;padding:.75rem 1rem;background:var(--surface);color:var(--ink-2);border:1px solid var(--line);border-radius:10px 10px 0 0;display:none;z-index:120;line-height:1.4}
.header .header-market-search.search-expanded #market-search-status{display:block}
.header .header-market-search .market-search-results{inset-inline-start:auto;inset-inline-end:0;top:calc(100% + 3.6rem);width:min(610px,calc(100vw - 2rem));box-sizing:border-box;max-height:min(65dvh,550px);border-radius:0 0 10px 10px;z-index:120}
.header-market-search .market-search-result-main{min-width:0;flex-wrap:wrap}
.header-market-search .market-search-result-actions{flex-wrap:wrap}
#profile-api-docs-links[hidden],#profile-api-trial[hidden],#api-docs-content[hidden],#api-docs-gate[hidden]{display:none!important}
@media(max-width:1100px){.header .nav{flex-wrap:wrap}.header .nav-links{gap:.75rem}.header .nav-links a{font-size:.85rem}.header .header-market-search{flex-basis:260px}.header .nav-actions{margin-inline-start:auto}}
@media(max-width:760px){.header .nav{gap:.55rem}.header .nav-links{flex:1 1 auto;overflow:auto;white-space:nowrap;order:1}.header .logo{order:0}.header .nav-actions{order:2}.header .header-market-search{order:3;flex:1 0 100%;max-width:100%;min-width:0}.header .header-market-search .market-search-results{width:100%;top:calc(100% + 4.7rem)}.header .header-market-search #market-search-status{width:100%}}

/* Account and appearance controls stay in the header, including with the menu closed. */
@media(max-width:980px){
  .header .nav{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px}
  .header .mobile-nav-toggle{grid-column:1;grid-row:1;min-width:48px;min-height:48px;margin:0;padding:8px}
  .header .mobile-nav-toggle span{display:none}
  .header .logo{grid-column:2;grid-row:1;min-width:0;font-size:.95rem;gap:6px}
  .header .logo-img{width:28px;height:28px}
  .header .nav-actions,.header.nav-open .nav-actions{display:flex;grid-column:3;grid-row:1;align-items:center;gap:6px;position:static;width:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none;max-height:none}
  .header .nav-actions .pill,.header .nav-actions .language-picker{display:none}
  .header .nav-actions #theme-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:10px}
  .header .nav-actions #header-auth{min-height:48px;padding:10px 12px;font-size:.85rem;white-space:nowrap}
  .header [data-clerk-user-button]{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px}
  .header [data-clerk-user-button] .cl-userButtonTrigger{min-width:48px;min-height:48px}
  .header .header-market-search{grid-column:1/-1;grid-row:2;width:100%;max-width:100%;min-width:0}
  .header .nav-links{order:unset}
  .header.nav-open .nav{align-items:center}
}
@media(max-width:359px){.header .logo>span{font-size:.78rem}.header .nav-actions{gap:2px}.header .nav-actions #header-auth{padding-inline:8px}}

/* Public databases share the market research workflow. */
.q-database-section{margin-block:2.5rem 3.5rem}.q-database-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.q-database-grid>a{display:block;padding:1.5rem;border:1px solid var(--border);border-radius:16px;background:var(--card);color:var(--foreground);text-decoration:none;transition:border-color .15s}.q-database-grid>a:hover{border-color:var(--primary)}.q-database-grid>a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.q-database-grid h3{font-size:1.05rem;margin:1rem 0 .5rem}.q-database-grid p{font-size:.9rem;color:var(--muted-foreground);line-height:1.6}.q-database-grid>a>span:last-child{display:block;font-size:.875rem;font-weight:650;margin-top:1rem;color:var(--primary)}.q-database-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--background);border:1px solid var(--border);font-size:.85rem;font-weight:700;color:var(--foreground)}.research-jev-intro{margin-bottom:1.5rem}
@media(max-width:900px){.q-database-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:580px){.q-database-grid{grid-template-columns:1fr}.q-database-grid>a{padding:1.2rem}}

/* Canvas research library and compact header upload */
.sagemaker-library{padding-top:48px;padding-bottom:64px}.canvas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:24px}.canvas-grid .card{display:flex;flex-direction:column;gap:10px}.canvas-grid h2{font-size:1.1rem;margin:0}.canvas-actions{display:flex;gap:8px;flex-wrap:wrap}.sagemaker-library dialog{max-width:min(1000px,94vw);width:100%;max-height:85vh;border:1px solid #64748b;border-radius:18px;background:var(--surface,#fff);color:inherit;padding:24px}.sagemaker-library dialog::backdrop{background:rgba(0,0,0,.55)}.sagemaker-library input{max-width:100%}.sagemaker-library .table-wrap{max-height:400px;overflow:auto;margin:16px 0}html[data-theme="dark"] .sagemaker-library dialog{background:#101d31;color:#edf3fb}
.sagemaker-library [hidden]{display:none!important}
