/* A year of small celebrations, without changing the memories themselves. */
:root[data-season] { --season-glow: #ba7f4930; --season-warm: #f3b777; --season-on-accent: #251b24; }
:root[data-season="halloween"] { --bg:#1b1523; --panel:#251d2f; --panel2:#302539; --ink:#faf2e8; --muted:#bab0c5; --line:#44354e; --lilac:#ffc080; --lime:#d3b4f5; --coral:#efb473; --season-glow:#ef963123; --season-warm:#ffa753; }
:root[data-season="christmas"] { --bg:#14221e; --panel:#1b2c26; --panel2:#23392f; --ink:#fbf3e6; --muted:#b0c0b6; --line:#365046; --lilac:#f3d293; --lime:#bcd8ba; --coral:#f09c9c; --season-glow:#c5453920; --season-warm:#e89b91; }
:root[data-season="winter"] { --bg:#101923; --panel:#192632; --panel2:#243340; --ink:#f1f5fa; --muted:#adbece; --line:#354856; --lilac:#b9dafa; --lime:#c8d7ec; --coral:#b9b7ef; --season-glow:#8fbdec1b; --season-warm:#c5dcf2; }
:root[data-season="spring"] { --bg:#15211d; --panel:#202f28; --panel2:#2b3b30; --ink:#f6f5e9; --muted:#b4c2b5; --line:#3e5143; --lilac:#e9c3de; --lime:#c5dfaa; --coral:#efc58e; --season-glow:#e4a9d01d; --season-warm:#e8b3d4; }
:root[data-season="summer"] { --bg:#142126; --panel:#1c3036; --panel2:#274047; --ink:#fff5e5; --muted:#b3c5c7; --line:#3c555a; --lilac:#ffda94; --lime:#a8e0d6; --coral:#ffb49b; --season-glow:#ffc26020; --season-warm:#ffcf75; }
:root[data-season="autumn"] { --bg:#231b16; --panel:#30261e; --panel2:#3c3025; --ink:#fbf2e6; --muted:#c7b9aa; --line:#514133; --lilac:#eebd85; --lime:#d5d5a4; --coral:#f3ad8c; --season-glow:#d98c3e20; --season-warm:#e9a660; }
:root[data-season="valentine"] { --bg:#21131d; --panel:#311f2a; --panel2:#3d2936; --ink:#fff0f4; --muted:#cbb2c2; --line:#543849; --lilac:#f4b7ce; --lime:#e9cedf; --coral:#f49dab; --season-glow:#df69942b; --season-warm:#f3a3bd; }
:root[data-season="newyear"] { --bg:#101522; --panel:#1b2233; --panel2:#283148; --ink:#fcf5e8; --muted:#b6baca; --line:#3b4560; --lilac:#f6d99a; --lime:#c2c9f4; --coral:#d6b7f4; --season-glow:#c9a55823; --season-warm:#f4d28c; }

body { position:relative; isolation:isolate; min-height:100vh; background:radial-gradient(ellipse at 87% 260px,var(--season-glow,transparent),transparent 530px),var(--bg); }
.site-header { position:relative; z-index:1; background:var(--bg); }
.season-bar { max-width:1312px; margin:0 auto; min-height:52px; display:flex; align-items:center; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); font-size:11px; color:var(--muted); position:relative; z-index:1; }
.season-title { display:flex; align-items:center; gap:9px; color:var(--lilac); font-size:10px; font-weight:650; letter-spacing:1.3px; text-transform:uppercase; }
#season-icon { display:flex; }
#season-icon svg { width:22px; height:22px; stroke-width:1.5; }
.season-bar-spark { margin-left:auto; font-size:25px; color:var(--lime); line-height:1; }
.season-art { position:absolute; top:146px; right:max(20px,calc((100vw - 1440px)/2 + 30px)); width:240px; height:160px; pointer-events:none; z-index:-1; }
.season-scene { width:100%; height:100%; display:none; overflow:visible; stroke-width:1.5; }
[data-season="halloween"] .scene-halloween, [data-season="christmas"] .scene-christmas,
[data-season="winter"] .scene-winter, [data-season="spring"] .scene-spring,
[data-season="summer"] .scene-summer, [data-season="autumn"] .scene-autumn,
[data-season="valentine"] .scene-valentine, [data-season="newyear"] .scene-newyear { display:block; }
.season-moon { fill:var(--season-warm); stroke:none; opacity:.18; }
.season-bat { fill:var(--lilac); stroke:none; opacity:.56; }
.little-bat { opacity:.3; }
.season-pumpkin { fill:none; stroke:var(--season-warm); opacity:.55; }
.season-twinkle { fill:none; stroke:var(--lilac); opacity:.7; }
.festive-cord,.season-stem { fill:none; stroke:var(--lime); opacity:.55; }
.festive-lights { stroke:var(--lilac); fill:var(--lilac); opacity:.7; }
.festive-lights ellipse:nth-of-type(even) { fill:var(--coral); stroke:var(--coral); }
.season-tree { stroke:var(--lime); fill:var(--lime); fill-opacity:.12; opacity:.65; }
.season-star { stroke:var(--lilac); fill:var(--lilac); fill-opacity:.18; }
.season-snow { fill:none; stroke:var(--lilac); opacity:.5; }
.scene-winter>circle { fill:var(--lilac); stroke:none; opacity:.55; }
.season-flower { fill:var(--lilac); fill-opacity:.15; stroke:var(--lilac); opacity:.65; }
.season-flower circle { fill:var(--lime); stroke:none; }
.season-sun { stroke:var(--lilac); fill:var(--lilac); fill-opacity:.13; opacity:.6; }
.season-waves { fill:none; stroke:var(--lime); opacity:.45; }
.season-leaf { fill:var(--season-warm); fill-opacity:.18; stroke:var(--season-warm); opacity:.65; }
.leaf-small { fill:var(--lime); stroke:var(--lime); }
.season-love { fill:var(--coral); fill-opacity:.15; stroke:var(--coral); opacity:.65; }
.little-love { fill:var(--lilac); stroke:var(--lilac); opacity:.45; }
.season-confetti { stroke:var(--lime); stroke-width:3; opacity:.55; }
.big-star { opacity:.6; }

/* Existing components pick up the palette; media is never tinted or filtered. */
[data-season] .button { color:var(--season-on-accent); }
[data-season] .button:hover { background:var(--lilac); filter:brightness(1.06); }
[data-season] .button.secondary { color:var(--ink); border-color:var(--line); }
[data-season] .button.secondary:hover { background:var(--panel2); filter:none; }
[data-season] .button.lime { background:var(--lime); }
[data-season] .button.danger { color:white; background:#6b3436; }
[data-season] .brand-symbol { color:var(--season-on-accent); }
[data-season] .note-card { background:var(--panel2); color:var(--ink); border:1px solid var(--line); }
[data-season] .note-card .small-label { color:var(--lilac); }
[data-season] .mini-heart { background:var(--panel2); color:var(--lime); }
[data-season] .date-square { background:var(--panel2); color:var(--lilac); }
[data-season] .event-mini:nth-of-type(3) .date-square { background:var(--panel2); color:var(--lime); }
[data-season] .cal-event { background:var(--panel2); color:var(--lilac); }
[data-season] .hero-art .photo-one>div { background:linear-gradient(155deg,var(--panel2),var(--bg))!important; color:var(--lilac)!important; }
[data-season] .hero-art .photo-two>div { background:linear-gradient(30deg,var(--panel2),var(--line))!important; color:var(--lime)!important; }
[data-season="halloween"] .photo-one,[data-season="halloween"] .photo-two { border-color:#f3dfc5; background:#f3dfc5; }
[data-season="christmas"] .photo-one .tape { background:#a5b99dc9; }
[data-season="christmas"] .site-header { border-bottom-color:#57624c; }

@media(min-width:1100px) { .season-bat { animation:season-drift 9s ease-in-out infinite alternate; transform-origin:center; } .season-twinkle { animation:season-glimmer 6s ease-in-out infinite alternate; } }
@keyframes season-drift { to { transform:translate(-7px,5px) rotate(-3deg); } }
@keyframes season-glimmer { to { opacity:.35; } }
@media(max-width:1439px) { .season-bar { margin-right:64px; margin-left:64px; } }
@media(max-width:900px) { .season-bar { margin-right:32px; margin-left:32px; } .season-art { width:180px; height:120px; top:185px; right:15px; opacity:.7; } }
@media(max-width:570px) { .season-bar { margin:0 20px; min-height:49px; gap:10px; } .season-title { font-size:9px; letter-spacing:.7px; gap:6px; white-space:nowrap; } #season-icon svg { width:19px; height:19px; } #season-message { font-size:10px; line-height:1.45; max-width:155px; } .season-bar-spark { display:none; } .season-art { width:120px; height:80px; top:200px; right:5px; opacity:.36; } }
@media(prefers-reduced-motion:reduce) { .season-scene * { animation:none!important; } }
