:root {
  color-scheme: light;
  --aq-bg: #ffffff;
  --aq-bg-deep: #edf1f5;
  --aq-surface: #ffffff;
  --aq-surface-raised: #ffffff;
  --aq-surface-soft: #f0f4f8;
  --aq-mist: #f3f5f8;
  --aq-mint-soft: #eef4f8;
  --aq-warm-soft: #fff0e8;
  --aq-border: rgba(16, 24, 43, 0.14);
  --aq-border-strong: rgba(36, 70, 204, 0.42);
  --aq-text: #10182b;
  --aq-text-soft: #34435c;
  --aq-muted: #58677d;
  --aq-accent: #2446cc;
  --aq-accent-hover: #1938ad;
  --aq-accent-strong: #087c78;
  --aq-accent-ink: #ffffff;
  --aq-positive: #066b68;
  --aq-warning: #855505;
  --aq-negative: #b33c31;
  --aq-focus: #2446cc;
  --aq-cyan: #0fafc5;
  --aq-mint: #7bd7c2;
  --aq-coral: #e85d48;
  --aq-coral-ink: #b33c2f;
  --aq-amber: #d99520;
  --aq-dark: #07111f;
  --aq-dark-raised: #0b1726;
  --aq-dark-soft: #13253a;
  --aq-on-dark: #f3f7fa;
  --aq-on-dark-soft: #c8d6e5;
  --aq-on-dark-muted: #9fb2c8;
  --aq-strong-bg: var(--aq-mist);
  --aq-strong-surface: var(--aq-surface);
  --aq-strong-text: var(--aq-text);
  --aq-strong-muted: var(--aq-text-soft);
  --aq-strong-accent: var(--aq-accent);
  --aq-header-bg: #ffffff;
  --aq-header-bg-scrolled: #ffffff;
  --aq-light-accent: #2446cc;
  --aq-light-accent-ink: #ffffff;
  --aq-light-focus: #2446cc;
  --aq-card-radius: 16px;
  --aq-control-radius: 8px;
  --aq-pill-radius: 999px;
  --aq-shadow-card: 0 4px 16px rgba(29, 41, 70, 0.035);
  --aq-shadow-float: 0 12px 32px rgba(29, 41, 70, 0.10);
  --aq-shadow-button: 0 4px 12px rgba(36, 70, 204, 0.14);
  --aq-radius-xs: 8px;
  --aq-radius-sm: 12px;
  --aq-radius-md: 20px;
  --aq-radius-lg: 28px;
  --aq-shadow-sm: var(--aq-shadow-card);
  --aq-shadow-lg: var(--aq-shadow-float);
  --aq-shell: 1320px;
  --aq-readable: 760px;
  --aq-page-pad: clamp(20px, 4vw, 52px);
  --aq-section-pad: clamp(76px, 8vw, 118px);
  --aq-header-height: 76px;
  --aq-hero-bg: #0b111b;
  --aq-hero-raised: #162739;
  --aq-hero-accent: #89d6f1;
  --aq-hero-button: #3056d8;
  --aq-hero-button-hover: #2445bc;
}

html[data-theme="dark"] {
  color-scheme: dark;
  --aq-bg: #07111f;
  --aq-bg-deep: #050c16;
  --aq-surface: #0b1726;
  --aq-surface-raised: #102033;
  --aq-surface-soft: #13253a;
  --aq-mist: #13253a;
  --aq-mint-soft: #123328;
  --aq-warm-soft: #34231f;
  --aq-border: rgba(164, 187, 211, 0.18);
  --aq-border-strong: rgba(121, 213, 222, 0.42);
  --aq-text: #f3f7fa;
  --aq-text-soft: #c1ceda;
  --aq-muted: #8fa1b3;
  --aq-accent: #62dce5;
  --aq-accent-hover: #8aeaf0;
  --aq-accent-strong: #7ff2cf;
  --aq-accent-ink: #032027;
  --aq-positive: #78ddb3;
  --aq-warning: #f4c76a;
  --aq-negative: #f28a9b;
  --aq-focus: #a2eff4;
  --aq-cyan: #62dce5;
  --aq-mint: #7ff2cf;
  --aq-coral: #ff937e;
  --aq-coral-ink: #ffad9d;
  --aq-amber: #f4c76a;
  --aq-dark: #07111f;
  --aq-dark-raised: #0b1726;
  --aq-dark-soft: #13253a;
  --aq-on-dark: #f3f7fa;
  --aq-on-dark-soft: #c1ceda;
  --aq-on-dark-muted: #8fa1b3;
  --aq-strong-bg: var(--aq-dark);
  --aq-strong-surface: var(--aq-dark-raised);
  --aq-strong-text: var(--aq-on-dark);
  --aq-strong-muted: var(--aq-on-dark-soft);
  --aq-strong-accent: var(--aq-cyan);
  --aq-header-bg: rgba(7, 17, 31, 0.94);
  --aq-header-bg-scrolled: #07111f;
  --aq-shadow-card: 0 4px 16px rgba(0, 0, 0, 0.16);
  --aq-shadow-float: 0 26px 64px rgba(0, 0, 0, 0.38);
  --aq-shadow-button: 0 12px 25px rgba(98, 220, 229, 0.18);
}

html,
body {
  color: var(--aq-text);
  background: var(--aq-bg);
}

html[data-theme="dark"] body {
  background: var(--aq-bg);
}

/* Public-only consent treatment. The portal loads the shared dark defaults without this file. */
body .aq-consent {
  color: var(--aq-text);
  border-color: rgba(16, 24, 43, 0.18);
  border-inline: 0;
  border-bottom: 0;
  border-top: 4px solid var(--aq-coral);
  border-radius: 0;
  background: var(--aq-surface);
  box-shadow: var(--aq-shadow-float);
}

body .aq-consent-copy h2 {
  color: var(--aq-text);
}

body .aq-consent-copy p {
  color: var(--aq-text-soft);
  font-size: 15px;
}

body .aq-consent-copy a {
  color: var(--aq-accent);
}

body .aq-consent-button {
  color: var(--aq-text);
  border-color: var(--aq-border);
  background: var(--aq-surface);
  font-size: 15px;
}

body .aq-consent-button-primary {
  color: var(--aq-accent-ink);
  border-color: transparent;
  background: var(--aq-accent);
}

body .aq-consent-button:hover {
  border-color: var(--aq-accent);
}

html[data-theme="dark"] body .aq-consent {
  border-top-color: var(--aq-cyan);
}
