/* Palette B. Shared by every public/account page; layout and behavior stay local. */
@media screen {
  :root {
    color-scheme: light;
    --sh-background: #F7F8F4;
    --sh-surface: #FFFFFF;
    --sh-soft: #ECF1EB;
    --sh-border: #DFE4DC;
    --sh-control-border: #7C877B;
    --sh-forest: #164B35;
    --sh-forest-hover: #103B29;
    --sh-gold: #C4A45A;
    --sh-gold-text: #806020;
    --sh-on-forest: #FFF7EC;
    --sh-ink: #171412;
    --sh-muted: #5D6259;
    --sh-error: #A33226;
    --sh-error-soft: #FFF0ED;
    --sh-warning-soft: #FBF3DF;
    /* Compatibility aliases keep existing component styles and state hooks intact. */
    --bg: var(--sh-background);
    --deep: var(--sh-background);
    --paper: var(--sh-background);
    --cream: var(--sh-soft);
    --panel: var(--sh-surface);
    --panel-2: var(--sh-surface);
    --panel-strong: var(--sh-soft);
    --card: var(--sh-surface);
    --cream-card: var(--sh-surface);
    --ink: var(--sh-ink);
    --muted: var(--sh-muted);
    --line: var(--sh-border);
    --citrus: var(--sh-forest);
    --citrus-dim: var(--sh-border);
    --teal: var(--sh-forest);
    --green: var(--sh-forest);
    --green-dark: var(--sh-forest-hover);
    --coral: var(--sh-error);
    --sky: var(--sh-gold-text);
    --purple: var(--sh-forest);
    --warn: var(--sh-gold-text);
    --error: var(--sh-error);
    --shadow: 0 12px 36px rgba(22, 75, 53, .08);
  }

  body[data-brand-palette="b"] { background: var(--sh-background); color: var(--sh-ink); }
  body[data-brand-palette="b"] a { color: var(--sh-forest); }
  body[data-brand-palette="b"] h1,
  body[data-brand-palette="b"] h2,
  body[data-brand-palette="b"] h3 { color: var(--sh-forest); }
  body[data-brand-palette="b"] .brand-logo,
  body[data-brand-palette="b"] .founder-mark img { filter: none; }

  /* Marketing sections and embedded app previews. */
  body[data-brand-palette="b"] .hero,
  body[data-brand-palette="b"] .guided-section,
  body[data-brand-palette="b"] .cream-band,
  body[data-brand-palette="b"] .phone-screen,
  body[data-brand-palette="b"] .guided-screen,
  body[data-brand-palette="b"] .app-preview-screen,
  body[data-brand-palette="b"] footer { background: var(--sh-background); }
  body[data-brand-palette="b"] .topbar { background: var(--sh-background); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .app-preview-screen { border-color: var(--sh-border); }
  body[data-brand-palette="b"] .trust-bar,
  body[data-brand-palette="b"] .founder-band,
  body[data-brand-palette="b"] .guided-step,
  body[data-brand-palette="b"] .guided-convenience span,
  body[data-brand-palette="b"] .app-icon-button,
  body[data-brand-palette="b"] .app-chip,
  body[data-brand-palette="b"] .app-card-metric,
  body[data-brand-palette="b"] .hunt-log-mini,
  body[data-brand-palette="b"] .comparison-row:first-child,
  body[data-brand-palette="b"] .comparison-feature,
  body[data-brand-palette="b"] .eyebrow,
  body[data-brand-palette="b"] .quote,
  body[data-brand-palette="b"] .closing,
  body[data-brand-palette="b"] .independence { background: var(--sh-soft); color: var(--sh-ink); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .notice { background: var(--sh-soft); color: var(--sh-ink); border-color: var(--sh-forest); }
  body[data-brand-palette="b"] .founder-band::after { box-shadow: none; border-color: var(--sh-border); }
  body[data-brand-palette="b"] .founder-mark,
  body[data-brand-palette="b"] .feature-card,
  body[data-brand-palette="b"] .feature-card:nth-child(2),
  body[data-brand-palette="b"] .feature-card:nth-child(3),
  body[data-brand-palette="b"] .phone-card,
  body[data-brand-palette="b"] .guided-phone,
  body[data-brand-palette="b"] .guided-screen-card,
  body[data-brand-palette="b"] .app-preview-shell,
  body[data-brand-palette="b"] .mini-search,
  body[data-brand-palette="b"] .contest-mini,
  body[data-brand-palette="b"] .app-search-demo,
  body[data-brand-palette="b"] .app-contest-card,
  body[data-brand-palette="b"] .hero-flow span,
  body[data-brand-palette="b"] .hero-metric,
  body[data-brand-palette="b"] .app-stat-tile,
  body[data-brand-palette="b"] .stat-float,
  body[data-brand-palette="b"] .tier,
  body[data-brand-palette="b"] .tier.featured,
  body[data-brand-palette="b"] .tier-preview-card,
  body[data-brand-palette="b"] .tier-preview-card.featured,
  body[data-brand-palette="b"] .tier-preview-card.max,
  body[data-brand-palette="b"] .founding-offer-card,
  body[data-brand-palette="b"] .comparison-table,
  body[data-brand-palette="b"] .comparison-row,
  body[data-brand-palette="b"] .step,
  body[data-brand-palette="b"] .definition,
  body[data-brand-palette="b"] .card,
  body[data-brand-palette="b"] .note,
  body[data-brand-palette="b"] .contact-card { background: var(--sh-surface); color: var(--sh-ink); border-color: var(--sh-border); box-shadow: none; }
  body[data-brand-palette="b"] .tier.featured,
  body[data-brand-palette="b"] .tier-preview-card.featured { border-color: var(--sh-gold); }
  body[data-brand-palette="b"] .comparison-cell { border-color: var(--sh-border); color: var(--sh-muted); }
  body[data-brand-palette="b"] .comparison-cell.included { color: var(--sh-forest); }
  body[data-brand-palette="b"] .comparison-cell.limited { color: var(--sh-ink); }
  body[data-brand-palette="b"] .comparison-cell.locked { color: var(--sh-muted); }
  body[data-brand-palette="b"] .app-bottom-nav { background: var(--sh-surface); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .meter,
  body[data-brand-palette="b"] .app-progress { background: var(--sh-soft); }
  body[data-brand-palette="b"] .app-icon-button svg { stroke: var(--sh-forest); }
  body[data-brand-palette="b"] .app-icon-button.mark { background: var(--sh-forest); }
  body[data-brand-palette="b"] .photo-card { background: var(--sh-soft); box-shadow: var(--shadow); }
  body[data-brand-palette="b"] .photo-card::before { background: var(--sh-gold); box-shadow: 210px -24px 0 var(--sh-forest); }
  body[data-brand-palette="b"] .photo-card::after { background: var(--sh-forest); color: var(--sh-on-forest); }
  body[data-brand-palette="b"] .app-card-hero { background: var(--sh-soft); color: var(--sh-forest); }
  body[data-brand-palette="b"] .app-card-hero::after { color: rgba(22, 75, 53, .08); }
  body[data-brand-palette="b"] .app-badge,
  body[data-brand-palette="b"] .app-badge.highlight,
  body[data-brand-palette="b"] .app-card-prize { background: var(--sh-surface); color: var(--sh-forest); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .spark { background: radial-gradient(circle at 4.5px 50%, var(--sh-gold) 0 4.5px, transparent 5px), radial-gradient(circle at 18.5px 50%, var(--sh-forest) 0 4.5px, transparent 5px), radial-gradient(circle at 32.5px 50%, var(--sh-gold) 0 4.5px, transparent 5px); }

  /* All copy formerly optimized for a dark surface. */
  body[data-brand-palette="b"] .hero-copy,
  body[data-brand-palette="b"] .stat-methodology,
  body[data-brand-palette="b"] .section-copy,
  body[data-brand-palette="b"] .feature-card p,
  body[data-brand-palette="b"] .mini-muted,
  body[data-brand-palette="b"] .stat-float span,
  body[data-brand-palette="b"] .guided-screen-card span,
  body[data-brand-palette="b"] .guided-step span,
  body[data-brand-palette="b"] .app-stat-tile span,
  body[data-brand-palette="b"] .app-card-copy,
  body[data-brand-palette="b"] .founding-offer p,
  body[data-brand-palette="b"] .text-link,
  body[data-brand-palette="b"] .lede,
  body[data-brand-palette="b"] .story p,
  body[data-brand-palette="b"] .story ul,
  body[data-brand-palette="b"] .closing p,
  body[data-brand-palette="b"] .step p,
  body[data-brand-palette="b"] .definition span,
  body[data-brand-palette="b"] .independence p,
  body[data-brand-palette="b"] .copy,
  body[data-brand-palette="b"] .intro,
  body[data-brand-palette="b"] .note,
  body[data-brand-palette="b"] .legal-check,
  body[data-brand-palette="b"] .danger-zone p,
  body[data-brand-palette="b"] .billing-option span,
  body[data-brand-palette="b"] .metric span,
  body[data-brand-palette="b"] .card-note,
  body[data-brand-palette="b"] .card-link-locked,
  body[data-brand-palette="b"] .site-footer .ip-notice,
  body[data-brand-palette="b"] footer a,
  body[data-brand-palette="b"] footer p { color: var(--sh-muted); }
  body[data-brand-palette="b"] .guided-screen h3,
  body[data-brand-palette="b"] .guided-screen-card strong,
  body[data-brand-palette="b"] .guided-step strong,
  body[data-brand-palette="b"] .app-card-copy b,
  body[data-brand-palette="b"] .quote strong,
  body[data-brand-palette="b"] .trust-bar-copy strong { color: var(--sh-ink); }
  body[data-brand-palette="b"] .trust-points span { background: var(--sh-surface); color: var(--sh-muted); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .trust-bar-kicker,
  body[data-brand-palette="b"] .trust-bar-link,
  body[data-brand-palette="b"] .eyebrow,
  body[data-brand-palette="b"] .section-kicker,
  body[data-brand-palette="b"] .step-number,
  body[data-brand-palette="b"] .tier-badge { color: var(--sh-gold-text); }
  body[data-brand-palette="b"] .tier-badge,
  body[data-brand-palette="b"] .contest-card.is-teaser { border-color: var(--sh-gold); }
  body[data-brand-palette="b"] .eyebrow::before { background: var(--sh-gold); }

  /* Account, workspace and modal surfaces. No visibility/privacy rules change. */
  body[data-brand-palette="b"] .login-card,
  body[data-brand-palette="b"] .session-card,
  body[data-brand-palette="b"] .panel,
  body[data-brand-palette="b"] .profile-panel,
  body[data-brand-palette="b"] .account-row,
  body[data-brand-palette="b"] .account-choice,
  body[data-brand-palette="b"] .contest-card,
  body[data-brand-palette="b"] .entry-mode-button,
  body[data-brand-palette="b"] .metric,
  body[data-brand-palette="b"] form,
  body[data-brand-palette="b"] dialog { background: var(--sh-surface); color: var(--sh-ink); border-color: var(--sh-border); box-shadow: none; }
  body[data-brand-palette="b"] .max-plan-bar,
  body[data-brand-palette="b"] .eligibility-cue,
  body[data-brand-palette="b"] .browser-reminder-panel,
  body[data-brand-palette="b"] .profile-check,
  body[data-brand-palette="b"] .legal-check,
  body[data-brand-palette="b"] .billing-panel,
  body[data-brand-palette="b"] .flow-hint,
  body[data-brand-palette="b"] .status { background: var(--sh-soft); color: var(--sh-ink); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .profile-checks,
  body[data-brand-palette="b"] .max-plan-steps > section,
  body[data-brand-palette="b"] .hunt-log-metrics span,
  body[data-brand-palette="b"] .tracked-card[data-history="true"] { border-color: var(--sh-border); }
  body[data-brand-palette="b"] input,
  body[data-brand-palette="b"] select,
  body[data-brand-palette="b"] textarea { background: var(--sh-surface); color: var(--sh-ink); border-color: var(--sh-control-border); accent-color: var(--sh-forest); }
  body[data-brand-palette="b"] input::placeholder,
  body[data-brand-palette="b"] textarea::placeholder { color: var(--sh-muted); opacity: 1; }
  body[data-brand-palette="b"] .contest-lock-overlay { background: rgba(247, 248, 244, .97); color: var(--sh-ink); }
  body[data-brand-palette="b"] .contest-lock-overlay strong { color: var(--sh-forest); }
  body[data-brand-palette="b"] .contest-lock-overlay span { color: var(--sh-muted); }
  body[data-brand-palette="b"] dialog::backdrop { background: rgba(23, 20, 18, .55); }

  /* Primary/secondary states are explicit: forest fills never inherit dark labels. */
  body[data-brand-palette="b"] .pill-button,
  body[data-brand-palette="b"] .button,
  body[data-brand-palette="b"] .skip-link,
  body[data-brand-palette="b"] button.primary,
  body[data-brand-palette="b"] .button.primary,
  body[data-brand-palette="b"] .tier-cta.primary,
  body[data-brand-palette="b"] .tier.featured .tier-cta.primary,
  body[data-brand-palette="b"] .guided-screen-action,
  body[data-brand-palette="b"] .guided-step > b,
  body[data-brand-palette="b"] .icon-bubble,
  body[data-brand-palette="b"] .app-chip.active,
  body[data-brand-palette="b"] .flow-hint b,
  body[data-brand-palette="b"] .entry-mode-button[data-active="true"] { background: var(--sh-forest); color: var(--sh-on-forest); border-color: var(--sh-forest); box-shadow: none; }
  body[data-brand-palette="b"] .pill-button:hover,
  body[data-brand-palette="b"] .button:hover,
  body[data-brand-palette="b"] button.primary:hover,
  body[data-brand-palette="b"] .tier-cta.primary:hover { background: var(--sh-forest-hover); color: var(--sh-on-forest); box-shadow: none; }
  body[data-brand-palette="b"] .hero-actions .pill-button:first-child { box-shadow: none; }
  body[data-brand-palette="b"] .tier-preview-list li::before { box-shadow: none; }
  body[data-brand-palette="b"] .guided-screen-card .guided-screen-action { color: var(--sh-on-forest); }
  body[data-brand-palette="b"] .pill-button.login-button,
  body[data-brand-palette="b"] .pill-button.alt,
  body[data-brand-palette="b"] .cta-band .pill-button.alt,
  body[data-brand-palette="b"] .button.secondary,
  body[data-brand-palette="b"] .tier-cta:not(.primary),
  body[data-brand-palette="b"] .back-to-top { background: var(--sh-surface); color: var(--sh-forest); border-color: var(--sh-control-border); box-shadow: none; }
  body[data-brand-palette="b"] .pill-button.login-button:hover,
  body[data-brand-palette="b"] .pill-button.alt:hover,
  body[data-brand-palette="b"] .cta-band .pill-button.alt:hover,
  body[data-brand-palette="b"] .button.secondary:hover,
  body[data-brand-palette="b"] .tier-cta:not(.primary):hover,
  body[data-brand-palette="b"] .back-to-top:hover { background: var(--sh-soft); color: var(--sh-forest); border-color: var(--sh-forest); box-shadow: none; }
  body[data-brand-palette="b"] .workspace-nav [aria-pressed="true"],
  body[data-brand-palette="b"] .tracked-tabs [aria-selected="true"] { background: var(--sh-soft); color: var(--sh-forest); border-color: var(--sh-forest); }
  body[data-brand-palette="b"] :focus-visible { outline-color: var(--sh-forest); }

  /* Gold is brand artwork/accent; small gold text uses its accessible companion. */
  body[data-brand-palette="b"] .founding-member-badge { background: var(--sh-gold); color: var(--sh-ink); border-color: var(--sh-gold); box-shadow: none; }
  body[data-brand-palette="b"] .founding-member-crest { background: var(--sh-forest); border-color: var(--sh-gold); }
  body[data-brand-palette="b"] .tier-preview-card.featured .tier-preview-label,
  body[data-brand-palette="b"] .tier .save-note,
  body[data-brand-palette="b"] .tier.featured .save-note { background: var(--sh-soft); color: var(--sh-forest); border-color: var(--sh-border); }
  body[data-brand-palette="b"] .launch-note,
  body[data-brand-palette="b"] .founding-offer,
  body[data-brand-palette="b"] .app-requirement-pill,
  body[data-brand-palette="b"] .status[data-kind="hold"],
  body[data-brand-palette="b"] .profile-check[data-result="review"],
  body[data-brand-palette="b"] .requirement-chip:not([data-severity="warning"]),
  body[data-brand-palette="b"] .max-plan-result-note[data-kind="warning"] { background: var(--sh-warning-soft); color: var(--sh-gold-text); border-color: var(--sh-gold); }
  body[data-brand-palette="b"] .founding-offer-card b { color: var(--sh-gold-text); }
  body[data-brand-palette="b"] .status[data-kind="ready"] { background: var(--sh-soft); color: var(--sh-forest); border-color: var(--sh-forest); }
  body[data-brand-palette="b"] .danger-zone,
  body[data-brand-palette="b"] button.danger,
  body[data-brand-palette="b"] .tracked-bulk-actions,
  body[data-brand-palette="b"] .compliance-strip,
  body[data-brand-palette="b"] .max-plan-result-note,
  body[data-brand-palette="b"] .status[data-kind="error"],
  body[data-brand-palette="b"] .profile-check[data-result="mismatch"],
  body[data-brand-palette="b"] .requirement-chip[data-severity="warning"] { background: var(--sh-error-soft); color: var(--sh-error); border-color: var(--sh-error); }

  /* Editorial/legal pages retain their existing layout and content. */
  body[data-brand-palette="b"] .site-footer a { color: var(--sh-forest); }
  body[data-brand-palette="b"] .actions > a:not(.button) { background: var(--sh-forest); color: var(--sh-on-forest); }
  body[data-brand-palette="b"] .actions > a.secondary { background: var(--sh-surface); color: var(--sh-forest); border: 1px solid var(--sh-control-border); }
  body[data-brand-palette="b"] .cta-band { background: var(--sh-soft); color: var(--sh-ink); box-shadow: none; }
  body[data-brand-palette="b"] .cta-band .section-kicker { color: var(--sh-gold-text); }
  body[data-brand-palette="b"] .cta-band .section-copy { color: var(--sh-muted); }
  body[data-brand-palette="b"] .cta { background: var(--sh-forest); color: var(--sh-on-forest); }
  body[data-brand-palette="b"] .cta h2,
  body[data-brand-palette="b"] .cta p,
  body[data-brand-palette="b"] .cta a { color: var(--sh-on-forest); }

  /* The consent component injects its styles later; scoped rules retain B. */
  body[data-brand-palette="b"] .sh-privacy-banner,
  body[data-brand-palette="b"] .sh-privacy-choices { background: var(--sh-surface); color: var(--sh-forest); border-color: var(--sh-control-border); box-shadow: var(--shadow); }
  body[data-brand-palette="b"] .sh-privacy-banner h2,
  body[data-brand-palette="b"] .sh-privacy-banner a { color: var(--sh-forest); }
  body[data-brand-palette="b"] .sh-privacy-banner a { background: transparent; }
  body[data-brand-palette="b"] .sh-privacy-banner p { color: var(--sh-muted); }
  body[data-brand-palette="b"] .sh-privacy-allow { background: var(--sh-forest); color: var(--sh-on-forest); border-color: var(--sh-forest); }
  body[data-brand-palette="b"] .sh-privacy-decline { background: var(--sh-surface); color: var(--sh-forest); border-color: var(--sh-control-border); }
}
