/* ================================================================
   themes/halloween.css — seasonal palette

   Carries the whole token set rather than overriding default.css, since
   both its grounds are its own. The dark side is themes/dark/halloween.css.
   ================================================================ */

[data-theme="halloween"] {
    /* ── Primitive palette ───────────────────────────────────── */
    /* Light ground: cool, so the orange has something to push against. */
    --palette-white:       #FFFFFF;
    --palette-ghost:       #FCFBFD;
    --palette-fog:         #F4F1F8;
    --palette-mist:        #ECE8F2;
    --palette-heather:     #E3DCEB;
    --palette-thistle:     #CFC6DB;
    --palette-ash:         #8E829F;

    --palette-ink:         #1E1530;
    --palette-ink-soft:    #43385A;
    --palette-ink-mid:     #5A4F6E;
    --palette-ink-muted:   #685D7D;
    --palette-ink-faint:   #958AA6;

    /* Dark ground: violet-black, never pure black. */
    --palette-pitch:       #0A070E;
    --palette-night:       #120D18;
    --palette-crypt:       #1A1422;
    --palette-tomb:        #221A2C;
    --palette-shade:       #2C2338;
    --palette-dusk:        #3A2F49;
    --palette-gloom:       #463A57;
    --palette-haze:        #7A6D90;

    --palette-bone:        #F2ECF7;
    --palette-bone-soft:   #D4CADF;
    --palette-bone-mid:    #B9AECA;
    --palette-bone-muted:  #A194B4;
    --palette-bone-faint:  #7E7193;

    /* Pumpkin. Ember is the light-mode brand (white text clears 5.5:1);
       pumpkin is the dark-mode brand (black text, 7:1). */
    --palette-ember:       #B93E0B;
    --palette-ember-hover: #A2360A;
    --palette-ember-deep:  #8F300F;
    --palette-ember-dark:  #7C2D12;
    --palette-pumpkin:     #FF7518;
    --palette-pumpkin-lit: #FF9447;
    --palette-pumpkin-glow:#FFB27A;
    --palette-flame:       #E25E0B;
    --palette-peach:       #FFF1E6;
    --palette-peach-edge:  #FCD9BD;

    --palette-witch:       #2B1846;
    --palette-witch-lit:   #3B2763;
    --palette-violet:      #6D28D9;
    --palette-violet-mid:  #8B5CF6;
    --palette-violet-lit:  #A78BFA;
    --palette-violet-wash: #F1EAFD;

    --palette-slime:       #15803D;
    --palette-slime-lit:   #16A34A;
    --palette-slime-glow:  #4ADE80;

    --palette-candy:       #D97706;
    --palette-candy-deep:  #B45309;
    --palette-candy-lit:   #FBBF24;

    /* ── Page & surfaces ─────────────────────────────────────── */
    --body-bg: var(--palette-ghost);
    --body-text: var(--palette-ink);
    --page-bg: var(--palette-fog);
    --surface-bg: #FDFCFE;
    --surface-raised: var(--palette-white);
    --surface-muted: var(--palette-mist);
    --surface-sunken: var(--palette-fog);

    --surface-inverse: var(--palette-ink);
    --surface-inverse-deep: #120B1F;
    --surface-inverse-hover: #2E2245;
    --surface-inverse-alt: var(--palette-witch-lit);

    --scrim-rgb: 18, 11, 26;

    /* ── Section rhythm ──────────────────────────────────────── */
    --hero-bg: #FDFCFE;
    --band-bg: var(--palette-peach);
    --band-border: var(--palette-peach-edge);
    --band-text-muted: var(--palette-ink-mid);
    --section-alt-bg: #FDFCFE;
    --section-dark-bg:  var(--palette-witch);
    --card-fill: var(--palette-fog);
    --card-fill-border: var(--palette-heather);
    --btn-secondary-fill: var(--palette-fog);
    --btn-secondary-fill-hover: var(--palette-mist);

    --fill-neutral: rgba(110, 99, 131, 0.10);
    --chip-inactive-bg: rgba(207, 198, 219, 0.50);
    --card-border: rgba(176, 160, 196, 0.45);
    --outline-accent: rgba(217, 119, 6, 0.35);

    --hero-fallback-from: #FDBA74;
    --hero-fallback-mid: #F97316;
    --hero-fallback-to: var(--palette-ember);

    --on-inverse-warm-rgb: 255, 241, 230;
    --link-on-inverse-hover: var(--palette-pumpkin-glow);
    --footer-brand-hover:    var(--link-on-inverse-hover);
    --label-on-inverse:      var(--palette-candy-lit);

    /* ── Long-form reading surfaces ──────────────────────────── */
    --editorial-bg: var(--palette-fog);
    --editorial-surface: var(--palette-white);
    --editorial-surface-alt: #F8F5FB;
    --editorial-fill: #EFEAF5;
    --editorial-fill-alt: #E7E1EF;
    --editorial-border: #E0D8EA;
    --editorial-border-soft: #EAE4F1;
    --editorial-border-dash: #EAE4F1;
    --editorial-hover-fill: #ECE6F3;
    --editorial-media-bg: #F1ECF6;
    --editorial-ghost-bg: #F3EFF8;
    --editorial-rule: var(--palette-thistle);
    --editorial-article-bg:     var(--editorial-surface);
    --editorial-article-radius: 14px;
    --editorial-article-pad-b:  32px;
    --editorial-text: var(--palette-ink);
    --editorial-text-strong: #140D22;
    --editorial-text-soft: #3A2F4F;
    --editorial-text-mid: #4D4262;
    --editorial-text-muted: var(--palette-ink-mid);
    --editorial-text-faint: var(--palette-ink-muted);
    --editorial-text-dim: #857A97;

    --editorial-cta-from: var(--palette-peach);
    --editorial-cta-to: #F7F2FB;
    --editorial-cta-border: #F8D4B8;

    --editorial-notice-bg: #FFF4E0;
    --editorial-notice-border: #F5D9A8;
    --editorial-notice-text: #7A4A06;
    --editorial-paused-bg: #FFF4E0;
    --editorial-paused-fg: #8A5208;
    --editorial-paused-dot: var(--palette-candy);
    --editorial-retired-bg: #F1EEF5;
    --editorial-retired-fg: var(--palette-ink-mid);
    --editorial-retired-dot: var(--palette-ash);
    --preview-bar-bg:   var(--palette-pumpkin);
    --preview-bar-text: #1A0F0A;

    /* ── Gate pages (dark in both modes) ─────────────────────── */
    --gate-bg:            #0D0911;
    --gate-surface:       var(--palette-crypt);
    --gate-surface-hover: var(--palette-tomb);
    --gate-field-bg:      var(--palette-pitch);
    --gate-text:          var(--palette-bone);
    --gate-text-mid:      var(--palette-bone-mid);
    --gate-text-muted:    #9A8DAB;
    --gate-text-faint:    #5E5272;
    --gate-placeholder:   #4A3F5A;
    --gate-accent:        var(--palette-pumpkin);
    --gate-accent-text:   #1A0F0A;
    --gate-success:       var(--palette-slime-glow);
    --gate-success-rgb:   74, 222, 128;

    /* ── Text ────────────────────────────────────────────────── */
    --text-primary: var(--palette-ink);
    --text-secondary: var(--palette-ink-soft);
    --text-subtle: var(--palette-ink-mid);
    --text-muted: var(--palette-ink-muted);
    --text-faint: var(--palette-ink-faint);
    --text-on-brand: var(--palette-white);
    --text-on-accent: var(--palette-ink);
    --text-neutral: var(--palette-ink-mid);
    --text-neutral-faint: #857A97;
    --border-neutral: var(--palette-thistle);

    /* ── Borders ─────────────────────────────────────────────── */
    --border-subtle: var(--palette-heather);
    --border-default: var(--palette-thistle);
    --border-strong: #A69BB5;
    --divider: var(--palette-heather);

    /* ── Brand ───────────────────────────────────────────────── */
    --brand-primary: var(--palette-ember);
    --brand-primary-rgb:    185, 62, 11;
    --brand-primary-hover: var(--palette-ember-hover);
    --brand-primary-active: var(--palette-ember-deep);
    --brand-primary-deep: var(--palette-ember-dark);
    --brand-primary-shade: #8C3211;
    --brand-primary-tint: #FB923C;
    --brand-on-inverse:       var(--palette-pumpkin-lit);
    --brand-on-inverse-hover: var(--palette-pumpkin-glow);

    --brand-secondary: var(--palette-slime);
    --brand-secondary-rgb: 21, 128, 61;
    --brand-tertiary: var(--palette-violet);
    --avatar-gradient-to: var(--palette-violet);

    /* ── Accents ─────────────────────────────────────────────── */
    /* Candy corn. A light fill under dark ink, as in the default theme. */
    --accent-primary: var(--palette-candy);
    --accent-primary-rgb:    217, 119, 6;
    --accent-primary-hover: var(--palette-candy-deep);
    --accent-secondary:      var(--palette-violet-lit);
    --accent-secondary-rgb:  139, 92, 246;
    --accent-secondary-light: #DDD6FE;
    --accent-tertiary: var(--palette-violet);
    --accent-tertiary-rgb:   109, 40, 217;

    --highlight-bg: #FFEDD5;
    --highlight-text: var(--palette-ink);

    /* ── Actions ─────────────────────────────────────────────── */
    --action-neutral-bg: var(--palette-ink-soft);
    --action-disabled-bg: var(--palette-mist);
    --action-disabled-text: var(--palette-ink-faint);
    --action-disabled-border: var(--palette-thistle);

    /* ── Status ──────────────────────────────────────────────────
       Hue stays with the meaning; danger is still red. */
    --status-success-fg: #3A7D52;
    --status-warning-fg: #7A6020;
    --status-danger-fg: #C0392B;
    --status-info-fg: #2C5F9E;
    --status-caution-fg: #B87A20;
    --severity-low-fg: #4A7A4A;
    --status-neutral-fg: var(--palette-ink-mid);

    --status-warning-wash: #FFF3E0;
    --status-warning-wash-deep: #FFE0B2;
    --status-warning-icon: #E67E22;
    --status-info-wash: #E8F0FE;
    --status-info-wash-deep: #D5E3F7;
    --status-danger-wash: #FDE8E8;
    --status-danger-wash-deep: #FCD5CE;

    --notice-warn-bg: #FDF6E7;
    --notice-warn-border: #F0DFB4;
    --notice-warn-icon: #B07C1A;
    --notice-urgent-bg: var(--palette-peach);
    --notice-urgent-border: #F8D4B8;

    --toggle-track-off: var(--palette-ash);
    --toggle-knob: var(--palette-white);

    --flag-proposed-fg: var(--palette-violet);
    --flag-proposed-bg: rgba(139, 92, 246, 0.14);
    --flag-off-fg: var(--palette-ember-deep);
    --flag-off-bg:      rgba(185, 62, 11, 0.12);

    --badge-new-bg: var(--palette-violet-wash);
    --badge-new-border: #DDD6FE;
    --badge-new-text: #5B21B6;

    --sponsored-accent: var(--palette-slime);
    --oauth-github-mark: #24292F;
    --media-placeholder-bg: #F1ECF6;
    --media-placeholder-icon: var(--palette-thistle);
    --skeleton-base: #ECE7F2;
    --skeleton-shine: #F6F3F9;

    /* ── Forms ───────────────────────────────────────────────────
       The outline is a UI edge, so it holds 3:1 against the field. */
    --field-border: var(--palette-ash);
    --field-disabled-bg: #F1EEF5;

    /* ── Elevation ───────────────────────────────────────────── */
    --shadow-color-rgb: 30, 21, 48;

    --link-hover: var(--palette-ember-deep);

    /* ── Bootstrap bridge ────────────────────────────────────── */
    --bs-link:       var(--brand-primary);
    --bs-link-hover: var(--brand-primary-hover);

    --bs-primary-bg:        var(--brand-primary);
    --bs-primary-fg:        var(--text-on-brand);
    --bs-primary-border:    var(--brand-primary);
    --bs-primary-hover:     var(--brand-primary-hover);
    --bs-primary-active:    var(--brand-primary-active);
    --bs-primary-focus-rgb: 185, 62, 11;

    --bs-secondary-bg: var(--palette-ink-soft);
    --bs-secondary-fg:        var(--palette-white);
    --bs-secondary-border: var(--palette-ink-soft);
    --bs-secondary-hover: #2E2245;
    --bs-secondary-active: var(--palette-ink);
    --bs-secondary-focus-rgb: 67, 56, 90;

    --bs-field-bg:           var(--surface-raised);
    --bs-field-fg:           var(--text-primary);
    --bs-field-border:       var(--field-border);
    --bs-field-focus-border: var(--brand-primary);
    --bs-field-focus-rgb:    185, 62, 11;
    --bs-field-disabled-bg:  var(--field-disabled-bg);
    --bs-file-btn-bg:        var(--surface-muted);
    --bs-file-btn-fg:        var(--text-primary);
    --bs-file-btn-hover: var(--palette-heather);

    --bs-alert-success-fg: #0F5132; --bs-alert-success-bg: #D1E7DD; --bs-alert-success-border: #BADBCC;
    --bs-alert-info-fg: #055160; --bs-alert-info-bg: #CFF4FC; --bs-alert-info-border: #B6EFFB;
    --bs-alert-warning-fg: #664D03; --bs-alert-warning-bg: #FFF3CD; --bs-alert-warning-border: #FFECB5;
    --bs-alert-danger-fg: #842029; --bs-alert-danger-bg: #F8D7DA; --bs-alert-danger-border: #F5C2C7;
    --bs-alert-secondary-fg: #41464B; --bs-alert-secondary-bg: #E2E3E5; --bs-alert-secondary-border: #D3D6D8;

    /* ── Admin console ───────────────────────────────────────────
       Already dark in every theme; only the accents go seasonal. */
    --adm-accent:      #CF4410;
    --adm-accent-rgb:  207, 68, 16;
    --adm-accent-lt:   #FB923C;
    --adm-accent-soft: #FDBA74;
    --adm-gold:        var(--palette-candy-lit);
    --adm-gold-rgb:    251, 191, 36;
    --adm-gold-soft:   #FDE68A;
    --adm-on-medal:    #1A0F0A;
    --adm-badge-rust-bg: rgba(255, 117, 24, 0.18);
    --adm-badge-rust-fg: #FB923C;
}
