/* Shared three-way selector; never a separate light/dark pair within Christmas. */
:root body .theme-picker{display:flex;align-items:center;gap:3px;flex:none;padding:4px;border:1px solid #86afd666;border-radius:999px;background:linear-gradient(160deg,#132c48,#1b395a);box-shadow:inset 0 2px 5px #0003;min-height:42px}
:root body .theme-picker .theme-option{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:6px;border:0;border-radius:50%;background:transparent;color:#9fc5ea;cursor:pointer;box-shadow:none;transition:background .2s,box-shadow .2s}
.theme-option svg{width:22px;height:22px;stroke-width:1.8;fill:none}.theme-option[data-theme-choice=light]{color:#f6b745!important}.theme-option[data-theme-choice=light] circle{fill:#ffd370}.theme-option[data-theme-choice=christmas]{color:#9ed8a2!important}.theme-option .tree-foliage{fill:#397951;stroke:#a4daa6}.theme-option .tree-bauble{fill:#ff8e8e;stroke:#ff8e8e}
:root body .theme-picker .theme-option[aria-pressed=true]{background:linear-gradient(145deg,#47698c,#264566);box-shadow:0 1px 5px #0004,inset 0 1px 0 #d1ecff77;color:#fff}
:root body .theme-picker .theme-option[data-theme-choice=light][aria-pressed=true]{background:linear-gradient(140deg,#fffdf3,#ffecbd)}
:root body .theme-picker .theme-option[data-theme-choice=christmas][aria-pressed=true]{background:linear-gradient(140deg,#8b283b,#5b172a);box-shadow:0 0 0 1px #e5b77999,inset 0 1px 0 #ffdca666}
:root body .theme-picker .theme-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.theme-option:disabled{opacity:.5;cursor:wait!important}
:root[data-theme=light] body .theme-picker{background:linear-gradient(160deg,#cbdff1,#eff8ff);border-color:#8ab4db88}
:root[data-theme=light] body .theme-option[data-theme-choice=dark]{color:#4777a9}
:root[data-theme=christmas]{color-scheme:dark;--bg:#0b211b;--surface:rgba(13,37,29,.81);--raised:rgba(174,199,132,.085);--text:#fff5e3;--muted:#c9d0b9;--line:rgba(216,182,119,.26);--accent:#f0cb87;--on-accent:#302318;--soft:rgba(204,170,99,.1);--shadow:0 18px 50px #0005,inset 0 1px 0 #ffe0a61a;--wallpaper:url('../backgrounds/christmas-rendered.webp');--glass-edge:#e6c48b66;--progress-track:#ced8b822;--row:rgba(204,188,124,.04);--button-blue:linear-gradient(180deg,#a73e4e,#7b2036);--button-soft:linear-gradient(180deg,#315641,#193c2b);--button-edge:#db9a89;--button-depth:#421421;--button-text:#fff2dc;--button-soft-edge:#779570;--focus-ring:#f5d494;--select-option-bg:#1b392b;--select-option-text:#fff5e3;--select-option-selected-bg:#693042;--select-option-selected-text:#fff;--bar-start:#b48c48;--bar-end:#f3d992}
:root[data-theme=christmas] body .theme-picker{background:#12382d;border-color:#e8c68455}
:root[data-theme=christmas] .topbar{background:linear-gradient(115deg,#214536dd,#193b30df 55%,#5e2431dd);border-color:#dbb77c55;box-shadow:0 12px 35px #0004,inset 0 2px 0 #e9bf7c66}
:root[data-theme=christmas] .panel{background:linear-gradient(115deg,#cfbb7810,transparent 40%,#a8263610),var(--surface);border-color:var(--line)}
:root[data-theme=christmas] .chat{--chat-bubble:#18392f;--chat-bubble-own:#512b32;--chat-bubble-edge:#bba56c55;--chat-bubble-shadow:0 2px 4px #0002;--chat-message-fill:linear-gradient(90deg,#294a38,#152e26);--chat-message-own-fill:linear-gradient(270deg,#65343c,#322820);--chat-message-shadow:0 2px 7px #0003;--chat-history:rgba(7,27,20,.22)}
:root[data-theme=christmas] .archive-row:not(.rank-gold):not(.rank-silver):not(.rank-bronze){--bar-start:#5a8c64;--bar-end:#e4cb8b}
:root[data-theme=christmas] .countdown-progress::-webkit-progress-value{background:linear-gradient(90deg,#54865b,#d5b368)}
:root[data-theme=christmas] .countdown-progress::-moz-progress-bar{background:linear-gradient(90deg,#54865b,#d5b368)}
:root[data-theme=christmas] .teammap-shell .leaflet-popup-content-wrapper,:root[data-theme=christmas] .teammap-shell .leaflet-popup-tip,:root[data-theme=christmas] .teammap-shell .leaflet-control-zoom a{background:#163b2d;color:var(--text)}
:root[data-theme=christmas] :is(.form-notice,.calendar-day-today){border-color:#c7a66d; background:#43623b40}
.admin-christmas{margin-bottom:24px}.admin-christmas form{margin-top:18px}.admin-christmas .users-checkbox{align-items:flex-start}.admin-christmas .users-checkbox small{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6}.admin-christmas .admin-button{margin-top:16px}
@container app (max-width:600px){:root body .topbar .theme-picker{padding:3px;gap:1px;min-height:36px}:root body .topbar .theme-option{width:28px;height:28px;padding:4px}.theme-option svg{width:20px;height:20px}.topbar .games-shortcut{width:32px}.topbar .top-actions{gap:5px}.topbar .brand-group{min-width:0}.topbar .brand{min-width:0}}
@media(max-width:600px){.auth-top{gap:12px}.auth-wordmark{min-width:0}:root body .auth-top .theme-picker{padding:3px;gap:1px}:root body .auth-top .theme-option{width:29px;height:29px}.public-page .public-home-link{font-size:11px}.public-page .brand{font-size:14px}}

/* One fixed decorative layer: all page controls remain clickable. */
:root[data-theme=christmas] body::after{
 content:"";position:fixed;inset:0;z-index:10000;pointer-events:none;
 background-image:radial-gradient(circle at 24px 38px,#fff9 1px,transparent 2px),radial-gradient(circle at 95px 172px,#fff8 1.5px,transparent 2.7px),radial-gradient(circle at 173px 71px,#fffd 2px,transparent 3.5px),radial-gradient(circle at 61px 269px,#fff7 1px,transparent 2px);
 background-size:287px 320px,419px 320px,617px 640px,353px 320px;
 background-repeat:repeat;opacity:.7;animation:christmas-page-snow 20s linear infinite;
}
@keyframes christmas-page-snow{
 from{background-position:0 0,0 0,0 0,0 0}
 to{background-position:0 640px,0 320px,0 1280px,0 640px}
}
@media(max-width:600px){
 :root[data-theme=christmas] body::before{background-position:65% center}
 :root[data-theme=christmas] body::after{opacity:.5;background-size:337px 320px,479px 320px,677px 640px,413px 320px}
}
@media(prefers-reduced-motion:reduce){
 :root[data-theme=christmas] body::after{display:none;animation:none}
 .theme-option{transition:none!important}
}
@media print{:root[data-theme=christmas] body::after{display:none;animation:none}}
