/* Shared theme preference. Dark remains the unselected/default presentation.
   Light overrides use the existing component hierarchy; media and brand artwork
   keep their original colours. This file loads after each page's own styles. */
.sr-theme-control[hidden] { display: none; }
.sr-theme-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #ffffff14;
  color: #b7c0cb;
  font: 500 12px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.sr-theme-label { color: inherit; }
.sr-theme-options {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border: 1px solid #34404e;
  border-radius: 999px;
  background: #111820;
}
.sr-theme-control .sr-theme-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 90px;
  min-height: 44px;
  width: auto;
  margin: 0;
  padding: 10px 15px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: #aebdce;
  font: inherit;
  line-height: 1.4;
  cursor: pointer;
  box-shadow: none;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}
.sr-theme-control .sr-theme-button svg { display: block; flex: 0 0 16px; width: 16px; height: 16px; }
.sr-theme-control .sr-theme-button:hover { color: #f5f8ff; background: #213044; }
.sr-theme-control .sr-theme-button[aria-pressed="true"] { background: #22364c; border-color: #3c5d7e; color: #e2f0ff; }
.sr-theme-control .sr-theme-button:focus-visible { outline: 3px solid #62b2ff; outline-offset: 3px; }
.landing-nav .sr-theme-control--menu {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 18px 0 0;
  font-size: 13px;
  letter-spacing: normal;
}
.landing-nav .sr-theme-control--menu .sr-theme-button { min-width: 80px; padding-inline: 12px; }

html[data-theme="light"] {
  color-scheme: light;
  --sr-bg: #f6f8fb;
  --sr-surface: #ffffff;
  --sr-surface-soft: #edf2f8;
  --sr-field: #f8fafc;
  --sr-ink: #162638;
  --sr-copy: #46596e;
  --sr-muted: #5d6e81;
  --sr-border: #d3dde9;
  --sr-blue: #0866c7;
  --sr-blue-soft: #e7f1ff;
  --sr-positive: #14694e;
  --sr-negative: #b03935;
  --sr-warning: #875b0c;
  --sr-shadow: 0 12px 32px #213a5810;
  --sr-text: var(--sr-ink);
  --sr-soft: var(--sr-surface-soft);
  --sr-link: var(--sr-blue);
  --bg: var(--sr-bg);
  --surface: var(--sr-surface);
  --tile: var(--sr-surface);
  --paper: var(--sr-surface);
  --soft: var(--sr-surface-soft);
  --field: var(--sr-field);
  --ink: var(--sr-ink);
  --ink2: var(--sr-ink);
  --text: var(--sr-copy);
  --muted: var(--sr-muted);
  --mute: var(--sr-muted);
  --blue: var(--sr-blue);
  --blue2: var(--sr-blue);
  --blue-d: #006bd6;
  --blueSoft: var(--sr-blue-soft);
  --button-hover: #075ab2;
  --border: var(--sr-border);
  --line: var(--sr-border);
  --ice: var(--sr-bg);
  --navy: var(--sr-surface);
  --navy2: var(--sr-surface-soft);
  background: var(--sr-bg);
}
html[data-theme="light"] body { background: var(--sr-bg); color: var(--sr-ink); }
html[data-theme="light"] :focus-visible { outline-color: var(--sr-blue); }
html[data-theme="light"] ::selection { background: #bfdcff; color: #142940; }
html[data-theme="light"] :is(input, textarea, select) { color-scheme: light; }

/* Public navigation and the shared account navigation. */
html[data-theme="light"] .landing-nav { color-scheme: light; background: #ffffffed; color: var(--sr-ink); border-color: var(--sr-border); }
html[data-theme="light"] .landing-nav :is(a, summary, .nav-login) { color: var(--sr-copy); }
html[data-theme="light"] .landing-nav :is(.logo, .links a:hover, .nav-login:hover) { color: var(--sr-ink); }
html[data-theme="light"] .landing-nav summary { background: var(--sr-surface); border-color: var(--sr-border); }
html[data-theme="light"] .landing-nav :is(.sr-lang-menu, .mobile-menu) { background: var(--sr-surface); border-color: var(--sr-border); box-shadow: 0 16px 40px #213a5826; }
html[data-theme="light"] .landing-nav :is(.sr-lang-option:hover, .sr-lang-option.active, .mobile-menu>a:hover) { background: var(--sr-blue-soft); color: var(--sr-blue); }
html[data-theme="light"] .landing-nav .logo svg rect { fill: #e8eff8; }
html[data-theme="light"] .landing-nav .logo svg path { fill: #0874dc; }
html[data-theme="light"] .landing-nav .btn { background: #006bd6; }
html[data-theme="light"] .landing-nav .btn:hover { background: #075ab2; }
html[data-theme="light"] .landing-nav .mobile-menu>.btn { color: #fff; }
html[data-theme="light"] .landing-nav:is(.sr-mobile-open, :has(.mobile-nav[open])),
html[data-theme="light"] .landing-nav:has(.mobile-nav[open])>.wrap::before,
html[data-theme="light"] .landing-nav.sr-mobile-open>.wrap::before { background: #f8fafc; border-color: var(--sr-border); }
html[data-theme="light"] .landing-nav .mobile-nav[open]>.mobile-menu { background: radial-gradient(ellipse at 90% 85%, #dfedff, transparent 60%), #f8fafc; }
html[data-theme="light"] .landing-nav .mobile-nav[open]>.mobile-menu>a:not(.btn) { color: var(--sr-ink); border-color: var(--sr-border); }
html[data-theme="light"] .landing-nav .mobile-nav[open]>.mobile-menu>a:not(.btn):is(:hover, :focus-visible, [aria-current="page"]) { color: var(--sr-blue); background: var(--sr-blue-soft); }
html[data-theme="light"] .landing-nav .mobile-nav[open]>summary { color: var(--sr-ink); border-color: var(--sr-border); background: #fff; }
html[data-theme="light"] .landing-nav .mobile-nav[open]>.mobile-menu>.btn { background: #006bd6; color: #fff; }

/* Landing sections and illustrative cards. */
html[data-theme="light"] #main>.hero { background: radial-gradient(ellipse at 50% 22%, #deecff, transparent 68%), var(--sr-bg); }
html[data-theme="light"] .sr-price-comet-layer::after { background: radial-gradient(ellipse at 50% 42%, #f6f8fba8 0%, #f6f8fb55 42%, #f6f8fb00 66%, #f6f8fbd9 100%), linear-gradient(0deg, #f6f8fb 0%, #f6f8fb00 20%); }
html[data-theme="light"] #main>.hero.sr-price-comet-hero :is(h1, .lead, .tiny) { text-shadow: none; }
html[data-theme="light"] .hero .pill { background: var(--sr-blue-soft); border-color: #c3d9f1; color: var(--sr-blue); }
html[data-theme="light"] .hero h1 .hero-accent { color: var(--sr-blue); }
html[data-theme="light"] .hero :is(.lead, .tiny) { color: var(--sr-copy); }
html[data-theme="light"] #how { background: radial-gradient(ellipse at 50% 65%, #e4eefb, transparent 65%), var(--sr-bg); }
html[data-theme="light"] .step { --step-accent: #0866c7; --step-rgb: 8, 102, 199; background: linear-gradient(145deg, #fff, #f4f8fe); border-color: var(--sr-border); box-shadow: var(--sr-shadow); }
html[data-theme="light"] .step:hover { box-shadow: 0 18px 42px #213a581c; border-color: #9ebdde; }
html[data-theme="light"] .step:nth-child(2) .step-icon rect { fill: #e3effc; }
html[data-theme="light"] .step :is(p, .n span) { color: var(--sr-muted); }
html[data-theme="light"] :is(.how-real-choice, #control, #exchanges) { border-color: var(--sr-border); }
html[data-theme="light"] .how-real-choice a { color: var(--sr-blue); }
html[data-theme="light"] .checks li { background: var(--sr-surface); }
html[data-theme="light"] #sharks { background: #edf3fb; border-color: var(--sr-border); }
html[data-theme="light"] .shark-card { --shark-accent: #0b6fc7; --shark-rgb: 11, 111, 199; background: linear-gradient(150deg, #fff, #f6f9fe); border-color: var(--sr-border); box-shadow: var(--sr-shadow); }
html[data-theme="light"] .shark-card:hover { border-color: #a2bbd8; box-shadow: 0 18px 42px #213a581c; }
html[data-theme="light"] .shark-reef { --shark-accent: #7351bf; --shark-rgb: 115, 81, 191; }
html[data-theme="light"] .shark-deep { --shark-accent: #0c7b78; --shark-rgb: 12, 123, 120; }
html[data-theme="light"] .shark-open { --shark-accent: #2b7753; --shark-rgb: 43, 119, 83; }
html[data-theme="light"] :is(.sharks-subtitle, .sharks-toolbar, .shark-number, .shark-description, .shark-plot figcaption, .shark-card-bottom, .sharks-disclosure) { color: var(--sr-muted); }
html[data-theme="light"] .sharks-eyebrow { color: var(--sr-blue); }
html[data-theme="light"] .shark-card-bottom { border-color: var(--sr-border); }
html[data-theme="light"] .shark-gridlines { stroke: #173a6014; }
html[data-theme="light"] .shark-chart-point { stroke: #fff; }
html[data-theme="light"] .sharks-cta { background: #fff; border: 1px solid var(--sr-border); }
html[data-theme="light"] #ai-builder { background: var(--sr-bg); }
html[data-theme="light"] :is(.ai-eyebrow, #ai-builder h2 span) { color: var(--sr-blue); }
html[data-theme="light"] :is(.ai-description, .ai-free, .ai-input-label, .ai-example-badge, .ai-rule-line, .ai-motion, .ai-review, .ai-note) { color: var(--sr-muted); }
html[data-theme="light"] :is(.ai-steps, .ai-card-bar, .ai-rule-heading) { color: var(--sr-ink); }
html[data-theme="light"] .ai-card { background: linear-gradient(140deg, #fff, #f4f8fe); border-color: var(--sr-border); box-shadow: var(--sr-shadow); }
html[data-theme="light"] .ai-prompt { background: #f8fafc; color: var(--sr-ink); border-color: var(--sr-border); }
html[data-theme="light"] :is(.ai-rule, .ai-example-badge) { border-color: var(--sr-border); }
html[data-theme="light"] .ai-rule { background: var(--sr-blue-soft); }
html[data-theme="light"] .ai-connector svg { background: #edf4fc; stroke: var(--sr-blue); border-color: var(--sr-border); }
html[data-theme="light"] :is(.ai-rule-line b, .ai-avatar svg, .ai-steps span) { color: var(--sr-blue); }
html[data-theme="light"] .ai-spark { stroke: var(--sr-blue); }
html[data-theme="light"] .ai-motion:hover { color: var(--sr-ink); background: var(--sr-surface-soft); }
html[data-theme="light"] #sentiment { background: radial-gradient(ellipse at 82% 42%, #dfedfb, transparent 56%), var(--sr-bg); border-color: var(--sr-border); }
html[data-theme="light"] #sentiment :is(.sentiment-eyebrow, h2 span, .sentiment-link, .sentiment-method a) { color: var(--sr-blue); }
html[data-theme="light"] #sentiment :is(.sentiment-intro, .sentiment-facts dd, .sentiment-scope, .mood-label, .radar-meta, .radar-disclosure, .sentiment-method p) { color: var(--sr-muted); }
html[data-theme="light"] #sentiment :is(.sentiment-facts dt, .sentiment-console-bar, [data-radar-select], .radar-current .radar-headline, .sentiment-method summary) { color: var(--sr-ink); }
html[data-theme="light"] #sentiment :is(.sentiment-facts, .radar-disclosure, .sentiment-method) { border-color: var(--sr-border); }
html[data-theme="light"] #sentiment .sentiment-console { background: linear-gradient(150deg, #fff, #f4f8fe); color: var(--sr-ink); border-color: var(--sr-border); box-shadow: var(--sr-shadow); }
html[data-theme="light"] #sentiment .sentiment-example { color: var(--sr-blue); background: var(--sr-blue-soft); border-color: #c4d8ef; }
html[data-theme="light"] #sentiment [data-tone] { --mood-tint: #0866c7; }
html[data-theme="light"] #sentiment [data-tone="negative"] { --mood-tint: #ab4330; }
html[data-theme="light"] #sentiment [data-tone="positive"] { --mood-tint: #137554; }
html[data-theme="light"] #sentiment .mood-scale i { background: #162638; }
html[data-theme="light"] :is(.learn-home-feature, .cta) { background: linear-gradient(120deg, #e6f0fe, #fff); border-color: #c3d8f0; }
html[data-theme="light"] .learn-home-feature>p { color: var(--sr-copy); }
html[data-theme="light"] :is(.learn-home-logo, .learn-home-icon) { background: var(--sr-blue-soft); border-color: var(--sr-border); color: var(--sr-blue); }
html[data-theme="light"] .learn-home-badge { background: var(--sr-blue-soft); border-color: #c3d8f0; color: var(--sr-blue); }
html[data-theme="light"] .learn-home-guide { border-color: var(--sr-border); }
html[data-theme="light"] #waitlistMessage[role="alert"] { color: var(--sr-warning); }
html[data-theme="light"] #waitlistMessage.success { color: var(--sr-positive); }

/* Reading, guide library and legal surfaces. */
html[data-theme="light"] :is(.reading-layout article, .card, .archive-list, .exchange-archive-notice, .product-status) { background: var(--sr-surface); color: var(--sr-ink); border-color: var(--sr-border); }
html[data-theme="light"] :is(.checklist, #worksheet, #methodology, .number) { background: var(--sr-surface-soft); border-color: var(--sr-border); }
html[data-theme="light"] :is(.table-scroll, .table-scroll th, .table-scroll td) { border-color: var(--sr-border); }
html[data-theme="light"] .table-scroll { background: var(--sr-surface); scrollbar-color: #98a9bc #edf2f8; }
html[data-theme="light"] :is(.table-scroll caption, .table-scroll th) { background: var(--sr-surface-soft); color: var(--sr-ink); }
html[data-theme="light"] .table-scroll td { background: var(--sr-surface); color: var(--sr-copy); }
html[data-theme="light"] .table-scroll tr:nth-child(even) td { background: #f5f8fc; }
html[data-theme="light"] :is(.reading-layout, .intro, .cta) a:not(.button):hover { color: #075ab2; }
html[data-theme="light"] :is(.library-tools>label, .library-result-count, .library-clear, .library-group-note) { color: var(--sr-muted); }
html[data-theme="light"] .library-search { background: #fff; border-color: var(--sr-border); }
html[data-theme="light"] .library-search input { color: var(--sr-ink); }
html[data-theme="light"] :is(.library-filters button, .library-reset, .library-more) { background: #fff; color: var(--sr-copy); border-color: var(--sr-border); }
html[data-theme="light"] :is(.library-filters button:hover, .library-reset:hover, .library-more:hover, .library-filters button[aria-pressed="true"]) { background: var(--sr-blue-soft); color: var(--sr-blue); border-color: #9dbfe4; }
html[data-theme="light"] .learning-hub-page .library-feature { background: linear-gradient(120deg, #e5f0ff, #fff); border-color: #b6cee8; }
/* The feature anchor has a legacy !important colour, so its counterpart is scoped. */
html[data-theme="light"] .library-feature-link { color: var(--sr-ink) !important; }
html[data-theme="light"] .learning-hub-page :is(.library-entry h3, .library-entry-link) { color: var(--sr-ink); }
html[data-theme="light"] .learning-hub-page :is(.library-entry p, .library-group-note) { color: var(--sr-copy); }
html[data-theme="light"] :is(.library-eyebrow, .library-feature-cta, .library-entry-arrow, .library-other-chevron) { color: var(--sr-blue); }
html[data-theme="light"] :is(.library-feature-icon, .library-entry-mark) { background: #e7f1ff; border-color: #bdd1e9; color: var(--sr-blue); }
html[data-theme="light"] .learning-hub-page .library-entry:not(.library-feature),
html[data-theme="light"] .learning-hub-page #daily-guides .daily-card,
html[data-theme="light"] .library-other { background: #fff; border-color: var(--sr-border); }
html[data-theme="light"] .library-entry-link:hover { background: #f0f5fc; }
html[data-theme="light"] :is(.library-other-count, .library-empty, .learning-hub-page .product-status) { border-color: var(--sr-border); color: var(--sr-muted); }
html[data-theme="light"] .learning-hub-page .product-status { background: transparent; }
html[data-theme="light"] .learning-hub-page #daily-guides .daily-card .reviewed { color: var(--sr-muted); }

/* Public product pages. */
html[data-theme="light"] .product-page { background: radial-gradient(ellipse at 78% 5%, #e1edfc, transparent 35%), var(--sr-bg); }
html[data-theme="light"] .product-page :is(h1, h2, h3) { color: var(--sr-ink); }
html[data-theme="light"] .product-page :is(p, dd, .product-breadcrumb, .product-small, .product-caption, .product-risk) { color: var(--sr-copy); }
html[data-theme="light"] .product-page a { color: var(--sr-blue); }
html[data-theme="light"] .product-page :is(.product-button, .product-button:hover) { color: #fff; }
html[data-theme="light"] :is(.product-preview, .product-tile, .product-steps li, .product-cost, .product-final) { background: linear-gradient(145deg, #fff, #f1f6fd); border-color: var(--sr-border); box-shadow: var(--sr-shadow); }
html[data-theme="light"] :is(.product-shark, .product-pill) { color: var(--sr-blue); border-color: #c2d7ec; background: var(--sr-blue-soft); }
html[data-theme="light"] :is(.product-budget>span, .product-budget small, .product-metrics dt, .product-rule span:not(.product-dot), .product-rule small, .product-control-list dt, .product-facts span, .product-controls dd) { color: var(--sr-muted); }
html[data-theme="light"] :is(.product-facts strong, .product-grid-four .product-tile h3, .product-step-number) { color: var(--sr-blue); }
html[data-theme="light"] :is(.product-metrics, .product-caption, .product-control-list>div, .product-facts, .product-facts>div, .product-controls, .product-controls>div, .product-faq, .product-faq details, .product-related>a) { border-color: var(--sr-border); }
html[data-theme="light"] .product-related>a:hover { background: var(--sr-blue-soft); border-color: #a9c7e6; }

/* Public pricing explanation sits beneath the shared application pricing cards. */
html[data-theme="light"] .pricing-details { --details-line: #d3dde9; --details-copy: #46596e; }
html[data-theme="light"] .pricing-details :is(h2, h3, h4) { color: var(--sr-ink); }
html[data-theme="light"] .pricing-details-overview { background: radial-gradient(ellipse at 0 0, #e2eeff, transparent 70%), #fff; border-color: #c1d6ee; }
html[data-theme="light"] .pricing-details-panel { background: #fff; border-color: var(--sr-border); }
html[data-theme="light"] :is(.pricing-details .pricing-details-eyebrow, .pricing-disclosure-index) { color: var(--sr-blue); }
html[data-theme="light"] .pricing-detail-icon,
html[data-theme="light"] .pricing-details-billing-heading .pricing-detail-icon { color: var(--sr-blue); background: var(--sr-blue-soft); border-color: #bfd4ed; }
html[data-theme="light"] :is(.pricing-details-tools li, .pricing-details-metrics dt, .pricing-details-disclosures h4) { color: var(--sr-copy); }
html[data-theme="light"] .pricing-details-tools li>span { color: var(--sr-positive); }
html[data-theme="light"] .pricing-details-metrics dd { color: var(--sr-ink); }
html[data-theme="light"] :is(.pricing-metric-unit, .pricing-details-metrics .pricing-metric-note, .pricing-details-billing-heading p, .pricing-details-disclosures p, .pricing-public .pricing-details-currency) { color: var(--sr-muted); }
html[data-theme="light"] .pricing-details-billing { border-color: var(--sr-border); }

/* Consent retains the same controls and permissions in either theme. */
html[data-theme="light"] .consent,
html[data-theme="light"] .consent.consent-compact { background: #fff; color: var(--sr-ink); border-color: #bdcce0; box-shadow: 0 12px 40px #213a5829; }
html[data-theme="light"] .consent-compact :is(.consent-title, .consent-details label) { color: var(--sr-ink); }
html[data-theme="light"] .consent-compact :is(.consent-summary, .consent-text) { color: var(--sr-copy); }
html[data-theme="light"] .consent-compact :is(a, .consent-settings-toggle) { color: var(--sr-blue); }
html[data-theme="light"] .consent-compact .consent-button { color: var(--sr-ink); background: #edf4fd; border-color: #bfd0e5; }
html[data-theme="light"] .consent-compact .consent-button:hover { background: #dfeefe; border-color: #7fa5cc; }
html[data-theme="light"] .consent-compact .consent-details { scrollbar-color: #899fb7 #f1f5fa; }
html[data-theme="light"] .consent-compact input[type="checkbox"] { accent-color: var(--sr-blue); }
html[data-theme="light"] body.confirmation-page main { background: #fff; border-color: var(--sr-border); color: var(--sr-ink); }

/* One footer, including the preference control, on every public page. */
html[data-theme="light"] footer.sr-public-footer.footer { background: radial-gradient(ellipse at 12% 0%, #e8f1fc, transparent 55%), #edf2f8; color: var(--sr-muted); border-color: var(--sr-border); }
html[data-theme="light"] .sr-public-footer :is(a, button) { color: var(--sr-copy); }
html[data-theme="light"] .sr-public-footer a:hover { color: var(--sr-blue); }
html[data-theme="light"] .sr-public-footer :is(.sr-footer-logo, .sr-footer-tagline, h2, .sr-company-identity>span:first-child, .sr-footer-meta>p:first-child) { color: var(--sr-ink); }
html[data-theme="light"] .sr-public-footer :is(.sr-footer-bottom, .sr-footer-meta) { color: var(--sr-muted); border-color: #d3dde9; }
html[data-theme="light"] .sr-public-footer .sr-footer-trademark { color: var(--sr-muted); }
html[data-theme="light"] .sr-public-footer .sr-company-identity a { text-decoration-color: #8d9eb2; }
html[data-theme="light"] .sr-theme-control { color: var(--sr-copy); border-color: var(--sr-border); }
html[data-theme="light"] .sr-theme-options { background: #e6edf6; border-color: #cad8e8; }
html[data-theme="light"] .sr-theme-control .sr-theme-button { color: var(--sr-copy); }
html[data-theme="light"] .sr-theme-control .sr-theme-button:hover { background: #dce8f8; color: var(--sr-ink); }
html[data-theme="light"] .sr-theme-control .sr-theme-button[aria-pressed="true"] { background: #fff; border-color: #c0d3e9; color: #075fb8; box-shadow: 0 2px 5px #213a580a; }
@media (max-width: 360px) { .sr-theme-control { align-items: flex-start; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { .sr-theme-control .sr-theme-button { transition: none; } }
@media print { .sr-theme-control { display: none; } }
