/* Seasonal overrides: every rule requires the seasonal root class. */
html.christmas-theme { background: #e8f0e8; }
.christmas-theme body { background: radial-gradient(ellipse at top, #fff7df, transparent 65%), linear-gradient(145deg,#f1f6ee,#dfece3); }
.christmas-theme .ambient { background: radial-gradient(ellipse at top,rgba(231,187,89,.24),transparent 65%),linear-gradient(145deg,#f1f6ee,#dfece3); }
.christmas-theme .shell { border-color: #d8b970; box-shadow: 0 38px 100px rgba(24,71,42,.2),0 0 0 4px rgba(213,175,80,.12); }
.christmas-theme .brand-zone { background: linear-gradient(145deg,#fffdf5,rgba(247,251,245,.92)); }
.christmas-theme .highlight { color:#a32632; }
.christmas-theme .brand-zone::before { border-color:rgba(190,145,42,.14); }
.christmas-theme .link-card { border-color:rgba(168,130,45,.25); }
.christmas-theme .link-card:hover { border-color:#aa8036;box-shadow:0 15px 35px rgba(133,91,27,.14); }
.christmas-theme .link-card:nth-child(even) { border-left:3px solid rgba(159,36,49,.55); }
.christmas-theme .link-card:nth-child(odd) { border-left:3px solid rgba(37,102,53,.55); }
.christmas-theme .christmas-decor { position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:3; }
.christmas-theme .christmas-lights { position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-around;border-top:2px solid #365e40;padding-top:4px; }
.christmas-theme .christmas-light { width:7px;height:12px;border-radius:50%;background:var(--light);box-shadow:0 0 12px 3px var(--light);animation:christmas-twinkle 3s ease-in-out infinite alternate;animation-delay:var(--delay); }
.christmas-theme .christmas-snow { position:absolute;top:-30px;left:var(--left);color:white;font-size:var(--size);text-shadow:0 0 4px rgba(79,103,79,.35);opacity:.8;animation:christmas-fall var(--duration) linear infinite;animation-delay:var(--delay); }
.christmas-theme .christmas-ornaments { position:absolute;top:28px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:34px; }
.christmas-theme .christmas-ornaments span { transform-origin:top center;animation:christmas-sway 6s ease-in-out infinite alternate; }
.christmas-theme .christmas-ornaments span:last-child { animation-delay:-3s; }
.christmas-theme .christmas-sparkle { position:absolute;bottom:7%;color:#b68b2e;font-size:22px;animation:christmas-twinkle 4s ease-in-out infinite alternate; }
.christmas-theme .christmas-sparkle:first-of-type { left:8%; }
.christmas-theme .christmas-sparkle:last-of-type { right:8%;animation-delay:-2s; }
@keyframes christmas-fall { from { transform:translate3d(0,-30px,0) rotate(0); } to { transform:translate3d(40px,110vh,0) rotate(160deg); } }
@keyframes christmas-twinkle { from { opacity:.4; } to { opacity:1; } }
@keyframes christmas-sway { from { transform:rotate(-8deg); } to { transform:rotate(8deg); } }
@media(max-width:600px) { .christmas-theme .christmas-ornaments { top:24px;left:6px;right:6px;font-size:23px; } .christmas-theme .christmas-sparkle { bottom:2%; } }
@media(prefers-reduced-motion:reduce) { .christmas-theme .christmas-snow { display:none; } .christmas-theme .christmas-decor * { animation:none!important; } }
