/* OnlyNSFW seasonal themes. Default is intentionally a no-op for the current design. */
html[data-ons-season]{
  --ons-primary:var(--ons-season-accent);
  --ons-secondary:var(--ons-season-secondary);
  --ons-bg:var(--ons-season-bg);
  background:var(--ons-season-bg)!important;
}
html[data-ons-season] body{
  background:
    radial-gradient(circle at 12% 4%,var(--ons-season-haze),transparent 38%),
    radial-gradient(circle at 88% 12%,var(--ons-season-haze-2),transparent 40%),
    var(--ons-season-bg)!important;
}
html[data-ons-season] .site-header .nav-shell{
  border-color:var(--ons-season-line)!important;
  box-shadow:0 18px 55px var(--ons-season-shadow)!important;
}
html[data-ons-season] :is(.hero-badge,.stat-glass,.search-glass,.card,.membership-card,.join-community-inner,.creator-modal-panel,.site-footer){
  border-color:var(--ons-season-line)!important;
  box-shadow:0 0 34px var(--ons-season-shadow)!important;
}
html[data-ons-season] :is(.btn-discord-hero,.btn-premium-hero-wow,.button,.nav-join){
  border-color:var(--ons-season-line)!important;
}
html[data-ons-season] .hero-glow{
  background:radial-gradient(ellipse,var(--ons-season-haze),transparent 68%)!important;
}
html[data-ons-season] .hero-title span,
html[data-ons-season] .drops-heading h1 span,
html[data-ons-season] .eyebrow,
html[data-ons-season] .drops-pill{
  text-shadow:0 0 28px var(--ons-season-shadow);
}
html[data-ons-season] ::selection{background:var(--ons-season-accent);color:#08060b}
html[data-ons-season]{scrollbar-color:var(--ons-season-accent) var(--ons-season-bg)}
html[data-ons-season] ::-webkit-scrollbar-thumb{background:linear-gradient(var(--ons-season-accent),var(--ons-season-secondary))!important}

.ons-season-layer{position:fixed;inset:0;pointer-events:none!important;z-index:7;overflow:hidden;contain:strict}
.ons-season-aurora{position:absolute;inset:-24%;background:radial-gradient(ellipse at 12% 14%,var(--ons-season-haze),transparent 43%),radial-gradient(ellipse at 88% 74%,var(--ons-season-haze-2),transparent 42%);opacity:.7;animation:ons-season-breathe 14s ease-in-out infinite alternate}
.ons-season-trim{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--ons-season-accent),var(--ons-season-secondary),transparent);box-shadow:0 0 28px var(--ons-season-accent)}
.ons-season-emblem{position:absolute;right:-32px;bottom:8%;width:200px;height:200px;opacity:.10;filter:drop-shadow(0 0 28px var(--ons-season-accent));animation:ons-season-breathe 12s ease-in-out infinite alternate}
.ons-season-particle{position:absolute;top:-12%;left:var(--x);width:var(--size);height:var(--size);background:var(--ons-season-accent);border-radius:50%;box-shadow:0 0 8px var(--ons-season-accent);opacity:var(--opacity);animation:ons-season-fall var(--duration) linear var(--delay) infinite;will-change:transform}
html[data-ons-season="winter"] .ons-season-particle{background:#eafaff;box-shadow:0 0 12px var(--ons-season-accent)}
html[data-ons-season="winter"] .ons-season-trim{height:34px;background:radial-gradient(circle at 12px 8px,#fff 0 2px,transparent 4px) 0 0/66px 30px,radial-gradient(circle at 44px 17px,var(--ons-season-accent) 0 2px,transparent 4px) 0 0/66px 30px;box-shadow:none;filter:drop-shadow(0 0 5px var(--ons-season-accent))}
html[data-ons-season="winter"] .ons-season-emblem{border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0 27deg,var(--ons-season-accent) 28deg 31deg,transparent 32deg 60deg);mask-image:radial-gradient(circle,transparent 0 8%,#000 10% 55%,transparent 65%)}
html[data-ons-season="halloween"] .ons-season-particle{background:var(--ons-season-secondary);box-shadow:0 0 14px var(--ons-season-accent);border-radius:2px;transform:rotate(45deg)}
html[data-ons-season="halloween"] .ons-season-emblem{border-radius:50%;box-shadow:inset 34px -12px 0 2px var(--ons-season-secondary);transform:rotate(-20deg)}
html[data-ons-season="autumn"] .ons-season-particle{border-radius:1px 85% 2px 85%;background:linear-gradient(45deg,var(--ons-season-accent),var(--ons-season-secondary));box-shadow:none}
html[data-ons-season="autumn"] .ons-season-emblem{width:155px;height:215px;border-radius:3px 100% 5px 100%;background:linear-gradient(35deg,var(--ons-season-secondary),var(--ons-season-accent));transform:rotate(30deg)}
.ons-season-still *{animation:none!important}.ons-season-still .ons-season-particle{top:var(--static-y)}
@keyframes ons-season-fall{from{transform:translate3d(0,-10vh,0) rotate(0)}to{transform:translate3d(var(--drift),115vh,0) rotate(280deg)}}
@keyframes ons-season-breathe{to{transform:translate3d(3%,2%,0) scale(1.08);opacity:1}}
@media(max-width:600px){.ons-season-particle:nth-child(n+25){display:none}.ons-season-emblem{width:125px;height:125px;opacity:.07}}
@media(prefers-reduced-motion:reduce){.ons-season-layer *{animation:none!important}.ons-season-particle{top:var(--static-y)}}
