/* Seasonal themes. Loaded only while a theme is active; colours only. Chosen in Admin > Site themes. */
:root[data-season="halloween"] { --accent: #F97316; --accent-text: #9A3412; --btn: #7C2D12; --btn-fg: #FFFFFF; --surface: #FFF7ED; --line: #F5D7BE; --band: #FFEDD5; --panel: #2B0F45; --panel-ink: #FFFFFF; --panel-muted: #E9D5FF; --panel-line: #F97316; --panel-land: #4C1D95; --panel-accent: #FB923C; --tag-bg: #FFEDD5; --mark-bg: #2B0F45; --gold: #FB923C; }
:root[data-season="halloween"][data-theme="dark"] { --bg: #120A1C; --surface: #1E1230; --line: #3B2557; --accent: #FB923C; --accent-text: #FDBA74; --btn: #FB923C; --btn-fg: #1A0B05; --band: #180E27; --panel: #2B0F45; --panel-accent: #FB923C; --tag-bg: #2D1A47; --mark-bg: #7C2D12; }
:root[data-season="christmas"] { --accent: #C62828; --accent-text: #8E1B1B; --btn: #166534; --btn-fg: #FFFFFF; --surface: #FEF6F5; --line: #F1D3D0; --band: #FDECEA; --panel: #14532D; --panel-ink: #FFFFFF; --panel-muted: #DCFCE7; --panel-line: #FDE68A; --panel-land: #166534; --panel-accent: #FDE68A; --tag-bg: #FDECEA; --mark-bg: #14532D; --gold: #E6B422; }
:root[data-season="christmas"][data-theme="dark"] { --bg: #0B1A12; --surface: #12261A; --line: #27483A; --accent: #EF5350; --accent-text: #FFB4AB; --btn: #FDE68A; --btn-fg: #14301F; --band: #0F2217; --panel: #14532D; --panel-accent: #FDE68A; --tag-bg: #173424; --mark-bg: #8E1B1B; }
:root[data-season="newyear"] { --accent: #D4A017; --accent-text: #7A5A00; --btn: #111827; --btn-fg: #FFFFFF; --surface: #FFFBEB; --line: #EADFB8; --band: #FEF3C7; --panel: #111827; --panel-ink: #FFFFFF; --panel-muted: #E5E7EB; --panel-line: #FBBF24; --panel-land: #1F2937; --panel-accent: #FBBF24; --tag-bg: #FEF3C7; --mark-bg: #111827; --gold: #FBBF24; }
:root[data-season="newyear"][data-theme="dark"] { --bg: #0B1020; --surface: #151B30; --line: #2D3556; --accent: #FBBF24; --accent-text: #FCD34D; --btn: #FBBF24; --btn-fg: #111827; --band: #10162A; --panel: #1F2937; --panel-accent: #FBBF24; --tag-bg: #1E2540; --mark-bg: #374151; }
:root[data-season="valentines"] { --accent: #E11D74; --accent-text: #9D174D; --btn: #9D174D; --btn-fg: #FFFFFF; --surface: #FFF1F6; --line: #F6CCDD; --band: #FFE4EE; --panel: #831843; --panel-ink: #FFFFFF; --panel-muted: #FBCFE8; --panel-line: #F472B6; --panel-land: #9D174D; --panel-accent: #FDE68A; --tag-bg: #FFE4EE; --mark-bg: #831843; --gold: #F59E0B; }
:root[data-season="valentines"][data-theme="dark"] { --bg: #1A0A13; --surface: #2A1220; --line: #522440; --accent: #F472B6; --accent-text: #FBCFE8; --btn: #F472B6; --btn-fg: #2A0A19; --band: #220E19; --panel: #831843; --panel-accent: #FDE68A; --tag-bg: #3A1730; --mark-bg: #9D174D; }
:root[data-season="easter"] { --accent: #14B8A6; --accent-text: #0F766E; --btn: #0F766E; --btn-fg: #FFFFFF; --surface: #F0FDFA; --line: #C9EFE9; --band: #FEFCE8; --panel: #115E59; --panel-ink: #FFFFFF; --panel-muted: #CCFBF1; --panel-line: #5EEAD4; --panel-land: #0F766E; --panel-accent: #FDE047; --tag-bg: #E6FAF6; --mark-bg: #115E59; --gold: #EAB308; }
:root[data-season="easter"][data-theme="dark"] { --bg: #07191A; --surface: #0E2A2B; --line: #21494A; --accent: #2DD4BF; --accent-text: #99F6E4; --btn: #2DD4BF; --btn-fg: #06302D; --band: #0A2122; --panel: #115E59; --panel-accent: #FDE047; --tag-bg: #12393A; --mark-bg: #0F766E; }

/* A thin coloured stripe under the top bar for every theme. */
:root[data-season] .topbar { border-bottom: 3px solid var(--accent); }
:root[data-season="pride"] .topbar { border-bottom: 0; border-image: linear-gradient(90deg, #E40303, #FF8C00, #FFED00, #008026, #24408E, #732982) 1; border-bottom: 4px solid; }
:root[data-season="pride"] { --accent: #8B5CF6; }
.season-banner { background: var(--panel); color: var(--panel-ink); text-align: center; font: 600 0.8125rem/1.4 var(--font-ui); letter-spacing: 0.02em; padding: 0.5rem 1rem; margin-inline: calc(-1 * clamp(1rem, 4vw, 2rem)); }
.season-banner a { color: var(--panel-ink); text-decoration-color: var(--panel-accent); text-underline-offset: 3px; }
.season-banner a:hover { color: var(--panel-accent); }
.season-banner a:focus-visible { outline-color: var(--panel-accent); }

