/* Seasonal atmospheres are presentation only. Clinical score, alert and
   escalation surfaces deliberately remain outside these selectors. */
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) body{position:relative;isolation:isolate}
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) .shell{position:relative;z-index:1}

:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) body::before,
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) body::after{
 content:"";position:fixed;inset:0;pointer-events:none;
}
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) body::before{z-index:0}
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) body::after{z-index:0}

/* Glass edges follow the chosen season without replacing component surfaces
   or their existing shadows. */
:root:is(
 [data-season-theme="halloween"],
 [data-season-theme="christmas"],
 [data-season-theme="breast-cancer"],
 [data-season-theme="mental-health"],
 [data-season-theme="pride"]
) :is(.header,.sidebar,.section,.toolbox,.profile-dialog,.v081-tool-search,.mobile-primary-nav){
 outline:1px solid var(--season-glass-edge);outline-offset:-1px;
}

/* Halloween: unmistakable seasonal decor without adding UI elements. */
:root[data-season-theme="halloween"] body::before{
 background:
  radial-gradient(ellipse at 82% 5%,rgba(255,142,45,.52),transparent 35%),
  radial-gradient(ellipse at 12% 91%,rgba(112,48,145,.46),transparent 42%),
  radial-gradient(ellipse at 54% 46%,rgba(91,37,88,.28),transparent 47%),
  linear-gradient(145deg,rgba(9,16,35,.28),rgba(48,20,55,.34) 55%,rgba(73,36,23,.26));
}
:root[data-season-theme="halloween"] body::after{
 background:url("./season-halloween-icons.svg") repeat 5vw 38px / 360px 260px;
 opacity:.42;
}
:root[data-season-theme="halloween"] :is(.section,.v081-tool-search,.profile-dialog){position:relative}
:root[data-season-theme="halloween"] :is(.section,.v081-tool-search,.profile-dialog)::before{
 content:"";position:absolute;z-index:1;top:0;right:0;width:clamp(88px,20%,154px);height:96px;
 border-radius:inherit;pointer-events:none;background:url("./season-halloween-web.svg") no-repeat right top / contain;
 opacity:.58;
}

/* Christmas: traditional red, Nordic winter blue and visible snow. */
:root[data-season-theme="christmas"] body::before{
 background:
  radial-gradient(ellipse at 88% 3%,rgba(201,38,52,.55),transparent 38%),
  radial-gradient(ellipse at 8% 90%,rgba(151,20,38,.43),transparent 44%),
  radial-gradient(ellipse at 52% 38%,rgba(193,232,255,.32),transparent 50%),
  linear-gradient(128deg,rgba(77,7,22,.27),rgba(14,70,89,.21) 48%,rgba(144,22,40,.30));
}
:root[data-season-theme="christmas"] body::after{
 background-image:
  url("./season-christmas-icons.svg"),
  radial-gradient(circle,rgba(255,255,255,.94) 0 1.2px,transparent 1.8px),
  radial-gradient(circle,rgba(203,241,255,.82) 0 .8px,transparent 1.5px),
  linear-gradient(112deg,transparent 15%,rgba(116,233,215,.10) 38%,rgba(119,188,255,.13) 55%,transparent 78%);
 background-size:360px 260px,181px 197px,109px 143px,100% 100%;
 background-position:4vw 24px,17px 22px,61px 79px,0 0;
 opacity:.52;
 animation:kartlegg-winter-drift 38s linear infinite;
}
:root[data-season-theme="christmas"] :is(.section,.toolbox,.v081-tool-search,.profile-dialog){position:relative}
:root[data-season-theme="christmas"] :is(.section,.toolbox,.v081-tool-search,.profile-dialog)::before{
 content:"";position:absolute;z-index:1;top:-1px;left:7px;right:7px;height:17px;
 border-radius:inherit;pointer-events:none;background:url("./season-christmas-snow.svg") repeat-x left top / 238px 17px;
 opacity:.88;
}
@keyframes kartlegg-winter-drift{
 from{background-position:4vw 24px,17px -197px,61px -143px,0 0}
 to{background-position:4vw 24px,17px 197px,61px 143px,0 0}
}

/* Breast cancer awareness: rose quartz, warm blush and an abstract ribbon
   curve made only from low-contrast gradients. */
:root[data-season-theme="breast-cancer"] body::before{
 background:
  radial-gradient(ellipse at 87% 8%,rgba(233,123,172,.38),transparent 39%),
  radial-gradient(ellipse at 7% 92%,rgba(196,92,147,.26),transparent 43%),
  linear-gradient(145deg,rgba(106,43,85,.10),rgba(255,190,216,.20));
}
:root[data-season-theme="breast-cancer"] body::after{
 opacity:.38;background:url("./season-breast-cancer-ribbons.svg") repeat 7vw 34px / 360px 260px;
}

/* Mental health day: calm teal, sage and sand with a soft breathing ripple. */
:root[data-season-theme="mental-health"] body::before{
 background:
  radial-gradient(ellipse at 84% 10%,rgba(82,184,174,.34),transparent 40%),
  radial-gradient(ellipse at 8% 88%,rgba(188,174,121,.23),transparent 44%),
  linear-gradient(150deg,rgba(20,81,86,.11),rgba(118,197,172,.19));
}
:root[data-season-theme="mental-health"] body::after{
 opacity:.34;background:url("./season-mental-health-icons.svg") repeat 3vw 46px / 360px 260px;
}

/* Pride: a confident spectrum with celebratory symbols. */
:root[data-season-theme="pride"] body::before{
 background:
  radial-gradient(ellipse at 89% 4%,rgba(150,102,209,.43),transparent 35%),
  radial-gradient(ellipse at 5% 91%,rgba(73,153,202,.38),transparent 41%),
  linear-gradient(118deg,rgba(218,86,109,.23),rgba(229,172,67,.22) 26%,rgba(90,171,128,.22) 50%,rgba(79,139,202,.22) 73%,rgba(142,91,185,.25));
}
:root[data-season-theme="pride"] body::after{
 opacity:.40;background:url("./season-pride-icons.svg") repeat 6vw 28px / 360px 260px;
}

@media(max-width:770px){
 :root[data-season-theme="breast-cancer"] body::after{opacity:.31}
 :root[data-season-theme="mental-health"] body::after{opacity:.29}
 :root[data-season-theme="halloween"] body::after{opacity:.35;background-size:310px 224px}
 :root[data-season-theme="christmas"] body::after{opacity:.43}
 :root[data-season-theme="pride"] body::after{opacity:.34;background-size:310px 224px}
 :root[data-season-theme="halloween"] :is(.section,.v081-tool-search,.profile-dialog)::before{width:88px;height:62px;opacity:.45}
 :root[data-season-theme="christmas"] :is(.section,.toolbox,.v081-tool-search,.profile-dialog)::before{height:14px;background-size:196px 14px;opacity:.82}
}
@media(prefers-reduced-motion:reduce){
 :root[data-season-theme="christmas"] body::after{animation:none}
}

/* Theme controls retain a clear selection and keyboard focus in every palette. */
.base-theme-options[hidden]{display:none!important}
:is(.service-theme-option,.base-theme-option,.appearance-options label){
 transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
:is(.service-theme-option,.base-theme-option,.appearance-options label):has(input:checked){
 border-color:var(--accent-border,var(--accent));box-shadow:inset 0 0 0 1px var(--accent-border,var(--accent));
}
:is(.service-theme-option,.base-theme-option,.appearance-options label):focus-within{
 outline:2px solid var(--accent);outline-offset:3px;
}
@media(prefers-reduced-motion:reduce){
 :is(.service-theme-option,.base-theme-option,.appearance-options label){transition:none}
}
