@import url("layers/components/goga-tokens.css?v=1785236761");

/*
 * GOGA Signal — shared presentation layer.
 *
 * The semantic palette lives in goga-tokens.css. This file maps it onto the
 * legacy portal token names and adds a small, intentionally low-specificity
 * set of chrome/surface refinements. Page CSS remains free to own its layout.
 */

:root {
  --goga-focus: color-mix(in srgb, var(--goga-accent) 48%, transparent);
  --goga-surface-glow: color-mix(in srgb, var(--goga-accent) 9%, transparent);
  --goga-ai-soft: color-mix(in srgb, var(--goga-ai) 11%, transparent);
}

html[data-theme="light"] {
  color-scheme: light;
  --bg: var(--goga-bg-primary);
  --bg-elev: var(--goga-bg-card);
  --bg-card: var(--goga-bg-card);
  --bg-hover: var(--goga-bg-secondary);
  --surface: var(--goga-bg-card);
  --surface-2: var(--goga-bg-secondary);
  --card: var(--goga-bg-card);
  --panel: var(--goga-bg-card);
  --panel2: var(--goga-bg-secondary);
  --border: var(--goga-border);
  --border-2: color-mix(in srgb, var(--goga-border) 76%, var(--goga-text-muted));
  --text: var(--goga-text-primary);
  --text-2: var(--goga-text-secondary);
  --text-dim: var(--goga-text-muted);
  --primary: var(--goga-accent);
  --primary-hover: var(--goga-accent-hover);
  --accent: var(--goga-accent);
  --accent-2: var(--goga-ai);
  --success: var(--goga-profit);
  --warn: var(--goga-warning);
  --danger: var(--goga-loss);
  --panel-default: var(--goga-bg-card);
  --panel-raised: var(--goga-bg-secondary);
  --bg-primary: var(--goga-bg-primary);
  --bg-secondary: var(--goga-bg-secondary);
  --bg-tertiary: var(--goga-bg-card);
  --ink-primary: var(--goga-text-primary);
  --ink-secondary: var(--goga-text-secondary);
  --ink-muted: var(--goga-text-muted);
  --border-default: var(--goga-border);
  --border-subtle: var(--goga-border-subtle);
  --accent-info: var(--goga-accent);
  --accent-confirm: var(--goga-profit);
  --accent-warn: var(--goga-warning);
  --accent-reject: var(--goga-loss);
  --accent-sci: var(--goga-ai);
  --shadow-card: var(--goga-shadow-sm);
  --shadow-float: var(--goga-shadow-lg);
  --radius-sm: var(--goga-radius-sm);
  --radius-md: var(--goga-radius-md);
  --radius-lg: var(--goga-radius-lg);
  --r-xs: var(--goga-radius-sm);
  --r-sm: var(--goga-radius-md);
  --r-md: 14px;
  --r-lg: var(--goga-radius-lg);
  --r-card: 16px;
  --r-btn: 12px;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: var(--goga-bg-primary);
  --bg-elev: var(--goga-bg-card);
  --bg-card: var(--goga-bg-card);
  --bg-hover: var(--goga-bg-secondary);
  --surface: var(--goga-bg-card);
  --surface-2: var(--goga-bg-secondary);
  --card: var(--goga-bg-card);
  --panel: var(--goga-bg-card);
  --panel2: var(--goga-bg-secondary);
  --border: var(--goga-border);
  --border-2: color-mix(in srgb, var(--goga-border) 72%, var(--goga-text-muted));
  --text: var(--goga-text-primary);
  --text-2: var(--goga-text-secondary);
  --text-dim: var(--goga-text-muted);
  --primary: var(--goga-accent);
  --primary-hover: var(--goga-accent-hover);
  --accent: var(--goga-accent);
  --accent-2: var(--goga-ai);
  --success: var(--goga-profit);
  --warn: var(--goga-warning);
  --danger: var(--goga-loss);
  --panel-default: var(--goga-bg-card);
  --panel-raised: var(--goga-bg-secondary);
  --bg-primary: var(--goga-bg-primary);
  --bg-secondary: var(--goga-bg-secondary);
  --bg-tertiary: var(--goga-bg-card);
  --ink-primary: var(--goga-text-primary);
  --ink-secondary: var(--goga-text-secondary);
  --ink-muted: var(--goga-text-muted);
  --border-default: var(--goga-border);
  --border-subtle: var(--goga-border-subtle);
  --accent-info: var(--goga-accent);
  --accent-confirm: var(--goga-profit);
  --accent-warn: var(--goga-warning);
  --accent-reject: var(--goga-loss);
  --accent-sci: var(--goga-ai);
  --shadow-card: var(--goga-shadow-sm);
  --shadow-float: var(--goga-shadow-lg);
  --radius-sm: var(--goga-radius-sm);
  --radius-md: var(--goga-radius-md);
  --radius-lg: var(--goga-radius-lg);
  --r-xs: var(--goga-radius-sm);
  --r-sm: var(--goga-radius-md);
  --r-md: 14px;
  --r-lg: var(--goga-radius-lg);
  --r-card: 16px;
  --r-btn: 12px;
}

html[data-theme] body {
  background-color: var(--goga-bg-primary);
  color: var(--goga-text-primary);
}

html[data-theme] .tnav {
  border-color: color-mix(in srgb, var(--goga-border) 78%, transparent);
  background:
    linear-gradient(90deg, var(--goga-surface-glow), transparent 34%),
    color-mix(in srgb, var(--goga-bg-card) 86%, transparent);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--goga-accent) 8%, transparent);
}

html[data-theme] .tnav__inner {
  height: 66px;
}

html[data-theme] .tnav__trg,
html[data-theme] .tnav__link,
html[data-theme] .tnav__icon,
html[data-theme] .tnav__burger {
  min-height: 40px;
}

html[data-theme] .tnav__trg:hover,
html[data-theme] .tnav__link:hover,
html[data-theme] .tnav__group.open .tnav__trg {
  background: color-mix(in srgb, var(--goga-accent) 8%, var(--goga-bg-card));
}

html[data-theme] .tnav__cta {
  border: 1px solid color-mix(in srgb, var(--goga-accent) 74%, var(--goga-border));
  color: var(--goga-on-accent);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--goga-accent) 24%, transparent);
}

html[data-theme] :where(.card, .panel, .tile) {
  border-color: var(--goga-border);
  box-shadow: var(--goga-shadow-sm);
}

html[data-theme] :where(.btn, .btn-primary) {
  min-height: 44px;
  border-radius: 12px;
}

html[data-theme] :where(.btn-primary, .button-primary) {
  background: linear-gradient(135deg, var(--goga-accent), var(--goga-accent-hover));
  box-shadow: 0 10px 26px color-mix(in srgb, var(--goga-accent) 22%, transparent);
}

html[data-theme] .footer {
  border-color: var(--goga-border);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--goga-accent) 5%, transparent), transparent 42%),
    var(--goga-bg-card);
}

html[data-theme] :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--goga-focus);
  outline-offset: 3px;
}

/* The home keeps its human imagery and authored layout, but now speaks the
 * same Signal palette instead of reverting to Aurum blue between sections. */
html[data-theme] .bn-home {
  --bn-ink: var(--goga-text-primary);
  --bn-muted: var(--goga-text-secondary);
  --bn-line: var(--goga-border);
  --bn-blue: var(--goga-accent);
  --bn-blue-2: var(--goga-accent-hover);
  --bn-sky: color-mix(in srgb, var(--goga-accent) 9%, var(--goga-bg-card));
  --bn-card: var(--goga-bg-card);
  --bn-shadow: var(--goga-shadow-lg);
}

html[data-theme] .bn-home :where(.bn-eyebrow, .bn-kicker, .bn-text-link, .bn-action-card__link, .bn-market__links a) {
  color: var(--goga-accent);
}

html[data-theme] .bn-home :where(.bn-step-list li > span, .bn-hero__trust i, .bn-action-card__icon) {
  color: var(--goga-accent);
  background: color-mix(in srgb, var(--goga-accent) 10%, var(--goga-bg-card));
}

html[data-theme] .bn-home :where(.bn-progress i, .bn-action-widget--checklist > span > i:first-child, .bn-proof-strip__label i) {
  background: var(--goga-accent);
}

html[data-theme] .bn-home :where(.bn-proof, .bn-proof-strip) {
  background: linear-gradient(135deg, #102a23, #081713);
}

@media (max-width: 820px) {
  html[data-theme] .tnav__inner {
    height: 60px;
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }

  html[data-theme] :where(.tnav__icon, .tnav__burger, .gnav__icon, .gnav__burger) {
    width: 44px;
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  html[data-theme] *,
  html[data-theme] *::before,
  html[data-theme] *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
