:root {
  --season-primary: #4bdcff;
  --season-secondary: #ffd36a;
  --season-tertiary: #66e7ae;
  --season-deep: #061923;
  --season-panel: #0b2431;
  --season-glow: rgba(75, 220, 255, .24);
  --season-particle: rgba(255, 211, 106, .48);
}

html[data-season="winter"] { --season-primary:#80dcff; --season-secondary:#c2b8ff; --season-tertiary:#e8f7ff; --season-deep:#071725; --season-panel:#0d2537; --season-glow:rgba(128,220,255,.24); --season-particle:rgba(226,247,255,.58); }
html[data-season="spring"] { --season-primary:#69e4ad; --season-secondary:#ff98c2; --season-tertiary:#d6f276; --season-deep:#071a17; --season-panel:#0d2a24; --season-glow:rgba(105,228,173,.23); --season-particle:rgba(255,152,194,.54); }
html[data-season="summer"] { --season-primary:#4bdcff; --season-secondary:#ffd36a; --season-tertiary:#66e7ae; --season-deep:#061923; --season-panel:#0b2431; --season-glow:rgba(75,220,255,.24); --season-particle:rgba(255,211,106,.48); }
html[data-season="autumn"] { --season-primary:#ffad58; --season-secondary:#dc83ff; --season-tertiary:#f4d16f; --season-deep:#1b100c; --season-panel:#2b1a13; --season-glow:rgba(255,173,88,.23); --season-particle:rgba(255,173,88,.54); }

html[data-celebration="new-year"] { --season-primary:#70e6ff; --season-secondary:#ffe080; --season-tertiary:#d8c5ff; --season-deep:#071827; --season-panel:#102b3e; --season-glow:rgba(112,230,255,.3); --season-particle:rgba(255,224,128,.66); }
html[data-celebration="christmas"] { --season-primary:#ffd476; --season-secondary:#d6495f; --season-tertiary:#7edda6; --season-deep:#1b1115; --season-panel:#301b20; --season-glow:rgba(255,212,118,.28); --season-particle:rgba(255,240,197,.65); }
html[data-celebration="defender"] { --season-primary:#f0b861; --season-secondary:#6fbb8b; --season-tertiary:#dce5c7; --season-deep:#131a12; --season-panel:#202b1d; --season-glow:rgba(240,184,97,.26); --season-particle:rgba(240,184,97,.58); }
html[data-celebration="womens-day"] { --season-primary:#ff9bc9; --season-secondary:#be9cff; --season-tertiary:#8be1b1; --season-deep:#1c101a; --season-panel:#2d1a2a; --season-glow:rgba(255,155,201,.28); --season-particle:rgba(255,183,216,.62); }
html[data-celebration="labor-day"] { --season-primary:#ff7168; --season-secondary:#ffe18a; --season-tertiary:#70dba0; --season-deep:#1c1210; --season-panel:#30201b; --season-glow:rgba(255,113,104,.26); --season-particle:rgba(255,225,138,.58); }
html[data-celebration="victory-day"] { --season-primary:#ffb34d; --season-secondary:#e1d6b6; --season-tertiary:#a7c47b; --season-deep:#17140e; --season-panel:#29251a; --season-glow:rgba(255,179,77,.28); --season-particle:rgba(255,196,104,.62); }
html[data-celebration="russia-day"] { --season-primary:#71baff; --season-secondary:#ff667a; --season-tertiary:#f2f7ff; --season-deep:#081526; --season-panel:#112841; --season-glow:rgba(113,186,255,.28); --season-particle:rgba(242,247,255,.62); }
html[data-celebration="unity-day"] { --season-primary:#e7b96e; --season-secondary:#b783ff; --season-tertiary:#e97180; --season-deep:#1a111b; --season-panel:#2b1c2e; --season-glow:rgba(231,185,110,.27); --season-particle:rgba(231,185,110,.58); }

body:has(.portal-shell), body:has(.stats-shell), body:has(.operator-main) {
  --bg: var(--season-deep);
  --surface: var(--season-panel);
  --surface-soft: color-mix(in srgb, var(--season-panel) 78%, white 6%);
  --panel: var(--season-panel);
  --panel-2: color-mix(in srgb, var(--season-panel) 80%, white 7%);
  --panel2: color-mix(in srgb, var(--season-panel) 80%, white 7%);
  --cyan: var(--season-primary);
  --green: var(--season-tertiary);
  --amber: var(--season-secondary);
  --purple: color-mix(in srgb, var(--season-secondary) 65%, #b9a0ff 35%);
  background: radial-gradient(circle at 87% -8%, var(--season-glow), transparent 34%), radial-gradient(circle at 12% 70%, color-mix(in srgb, var(--season-secondary) 10%, transparent), transparent 30%), var(--season-deep);
}

body:has(.app-shell), body:has(.login-shell) {
  --cyan: color-mix(in srgb, var(--season-primary) 78%, #008db8 22%);
  --cyan-dark: color-mix(in srgb, var(--season-primary) 48%, #005d79 52%);
  --magenta: color-mix(in srgb, var(--season-secondary) 54%, #df2d68 46%);
  --green: color-mix(in srgb, var(--season-tertiary) 62%, #087454 38%);
  --yellow: color-mix(in srgb, var(--season-secondary) 62%, #835800 38%);
  background: radial-gradient(circle at 90% 4%, color-mix(in srgb, var(--season-primary) 14%, transparent), transparent 30%), radial-gradient(circle at 8% 92%, color-mix(in srgb, var(--season-secondary) 11%, transparent), transparent 30%), var(--bg, #f4f6f8);
}

.portal-shell,.stats-shell,.app-shell,.operator-topbar,.operator-main,.login-shell { position:relative; z-index:1; }
.portal-sidebar,.stats-sidebar { background:linear-gradient(180deg,color-mix(in srgb,var(--season-panel) 94%,black 6%),color-mix(in srgb,var(--season-deep) 96%,black 4%)); }
.portal-topbar,.stats-topbar,.operator-topbar { background:color-mix(in srgb,var(--season-deep) 86%,transparent); }
.welcome-panel { border-color:color-mix(in srgb,var(--season-primary) 26%,transparent); background:linear-gradient(130deg,color-mix(in srgb,var(--season-panel) 91%,white 4%),color-mix(in srgb,var(--season-deep) 95%,black 5%) 63%,color-mix(in srgb,var(--season-primary) 16%,var(--season-deep))); }
.login-panel { border-top-color:var(--season-primary); box-shadow:0 18px 54px color-mix(in srgb,var(--season-primary) 13%,rgba(24,42,56,.09)); }

.season-atmosphere { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.season-atmosphere i { position:absolute; display:block; width:18px; height:18px; opacity:.18; background:var(--season-particle); filter:drop-shadow(0 0 12px var(--season-glow)); animation:season-drift 18s ease-in-out infinite alternate; }
.season-atmosphere i:nth-child(1){left:4%;top:12%;transform:scale(.55) rotate(18deg)}
.season-atmosphere i:nth-child(2){left:18%;top:77%;transform:scale(.8) rotate(72deg);animation-delay:-4s}
.season-atmosphere i:nth-child(3){left:43%;top:8%;transform:scale(.45) rotate(130deg);animation-delay:-8s}
.season-atmosphere i:nth-child(4){right:32%;top:68%;transform:scale(.7) rotate(210deg);animation-delay:-11s}
.season-atmosphere i:nth-child(5){right:10%;top:22%;transform:scale(.9) rotate(285deg);animation-delay:-14s}
.season-atmosphere i:nth-child(6){right:4%;bottom:8%;transform:scale(.5) rotate(330deg);animation-delay:-6s}
html[data-season="winter"] .season-atmosphere i { border-radius:50%; background:radial-gradient(circle,#fff 0 13%,transparent 15%),linear-gradient(45deg,transparent 46%,var(--season-particle) 47% 53%,transparent 54%),linear-gradient(-45deg,transparent 46%,var(--season-particle) 47% 53%,transparent 54%); }
html[data-season="spring"] .season-atmosphere i { width:16px;height:24px;border-radius:70% 20% 70% 20%;transform-origin:center;background:linear-gradient(145deg,var(--season-particle),color-mix(in srgb,var(--season-primary) 55%,transparent)); }
html[data-season="summer"] .season-atmosphere i { width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 34% 32%,rgba(255,255,255,.7),var(--season-particle) 18%,transparent 70%);filter:blur(.3px) drop-shadow(0 0 20px var(--season-glow)); }
html[data-season="autumn"] .season-atmosphere i { width:19px;height:14px;border-radius:80% 15% 80% 15%;background:linear-gradient(145deg,var(--season-particle),color-mix(in srgb,var(--season-secondary) 52%,transparent)); }
html[data-celebration] .season-atmosphere i { opacity:.27; box-shadow:0 0 0 1px color-mix(in srgb,var(--season-secondary) 20%,transparent); }

.theme-signature { display:flex; align-items:center; gap:9px; min-width:0; margin:10px 8px 0; padding:9px 10px; border:1px solid color-mix(in srgb,var(--season-primary) 24%,transparent); border-radius:10px; background:linear-gradient(115deg,color-mix(in srgb,var(--season-primary) 9%,transparent),color-mix(in srgb,var(--season-secondary) 6%,transparent)); color:inherit; }
.theme-signature-mark { position:relative; flex:0 0 auto; width:23px; height:23px; border:1px solid color-mix(in srgb,var(--season-primary) 60%,transparent); border-radius:8px; background:radial-gradient(circle at 35% 30%,var(--season-secondary),transparent 22%),linear-gradient(145deg,color-mix(in srgb,var(--season-primary) 34%,transparent),transparent); box-shadow:0 0 18px var(--season-glow); }
.theme-signature-mark::after { content:""; position:absolute; inset:6px; border:1px solid var(--season-primary); border-radius:50%; }
.theme-signature span:last-child { min-width:0; }
.theme-signature small,.theme-signature strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.theme-signature small { color:var(--muted,#687078); font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.theme-signature strong { margin-top:1px; font-size:9px; }
.operator-topbar .theme-signature { max-width:215px; margin:0 0 0 auto; }
.operator-topbar .theme-signature + form { margin-left:0; }
.login-panel > .theme-signature { margin:22px 0 0; color:#111b25; }
.sidebar > .theme-signature { margin-top:auto; }

.season-preview-admin { display:block; min-width:0; }
.season-preview-admin[hidden] { display:none!important; }
.season-preview-admin-trigger { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:9px; width:100%; min-height:44px; padding:6px 9px; border:1px solid color-mix(in srgb,var(--season-primary) 25%,transparent); border-radius:11px; background:linear-gradient(145deg,color-mix(in srgb,var(--season-primary) 7%,rgba(8,18,31,.94)),rgba(8,18,31,.9)); color:var(--text,#eef6ff); font:inherit; text-align:left; cursor:pointer; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.season-preview-admin-trigger:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--season-primary) 48%,transparent); background:color-mix(in srgb,var(--season-primary) 9%,rgba(8,18,31,.94)); }
.season-preview-admin-trigger>span:nth-child(2) { min-width:0; }
.season-preview-admin-trigger small,.season-preview-admin-trigger strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.season-preview-admin-trigger small { color:var(--season-primary); font-size:7px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.season-preview-admin-trigger strong { margin-top:3px; color:var(--text,#eef6ff); font-size:9px; }
.season-preview-admin-trigger i { color:var(--season-primary); font-size:17px; font-style:normal; }
.season-preview-admin-glyph { display:grid; place-items:center; flex:0 0 auto; width:28px; height:28px; border:1px solid color-mix(in srgb,var(--season-primary) 48%,transparent); border-radius:9px; background:color-mix(in srgb,var(--season-primary) 10%,transparent); color:var(--season-primary); box-shadow:0 0 18px var(--season-glow); font-size:15px; }

.season-preview-dialog { width:min(980px,calc(100vw - 34px)); max-width:none; max-height:min(880px,calc(100vh - 34px)); padding:0; overflow:hidden; border:1px solid color-mix(in srgb,var(--season-primary) 38%,rgba(126,151,178,.24)); border-radius:24px; background:linear-gradient(150deg,color-mix(in srgb,var(--season-panel) 94%,black 6%),color-mix(in srgb,var(--season-deep) 96%,black 4%)); color:var(--text,#eef6ff); box-shadow:0 32px 110px rgba(0,0,0,.6),0 0 60px var(--season-glow); }
.season-preview-dialog::backdrop { background:rgba(1,7,13,.78); backdrop-filter:blur(9px); }
.season-preview-dialog-shell { max-height:min(880px,calc(100vh - 34px)); overflow:auto; padding:24px; }
.season-preview-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.season-preview-dialog header small,.season-preview-dialog header h2,.season-preview-dialog header p { display:block; margin:0; }
.season-preview-dialog header small { color:var(--season-primary); font-size:9px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.season-preview-dialog header h2 { margin-top:6px; color:var(--text,#eef6ff); font-size:30px; letter-spacing:-.035em; }
.season-preview-dialog header p { margin-top:7px; color:var(--muted,#8193a9); font-size:11px; }
.season-preview-dialog [data-season-preview-close] { display:grid; place-items:center; flex:0 0 auto; min-width:38px; height:38px; padding:0 14px; border:1px solid rgba(132,156,181,.2); border-radius:12px; background:rgba(255,255,255,.025); color:var(--text,#eef6ff); font:inherit; cursor:pointer; }
.season-preview-dialog-select { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,250px); align-items:center; gap:16px; margin:20px 0 0; padding:13px 15px; border:1px solid color-mix(in srgb,var(--season-primary) 22%,transparent); border-radius:14px; background:color-mix(in srgb,var(--season-primary) 5%,transparent); }
.season-preview-dialog-select>span { color:var(--text,#eef6ff); font-size:11px; font-weight:800; }
.season-preview-dialog-select select { width:100%; min-width:0; height:38px; padding:0 34px 0 12px; border:1px solid color-mix(in srgb,var(--season-primary) 28%,rgba(126,151,178,.2)); border-radius:10px; background:color-mix(in srgb,var(--season-panel) 88%,black 12%); color:var(--text,#eef6ff); font:inherit; font-size:10px; cursor:pointer; color-scheme:dark; }
.season-preview-plan-ladder { margin-top:16px; padding:15px 16px; border:1px solid color-mix(in srgb,var(--season-primary) 24%,transparent); border-radius:16px; background:linear-gradient(125deg,color-mix(in srgb,var(--season-primary) 7%,transparent),color-mix(in srgb,var(--season-secondary) 4%,transparent)); }
.season-preview-plan-ladder>div:first-child { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 16px; align-items:end; }
.season-preview-plan-ladder>div:first-child small { grid-column:1/-1; color:var(--season-primary); font-size:8px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.season-preview-plan-ladder>div:first-child strong { color:var(--text,#eef6ff); font-size:14px; }
.season-preview-plan-ladder>div:first-child span { color:var(--muted,#8193a9); font-size:9px; }
.season-preview-plan-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:13px; }
.season-preview-plan-grid article { display:grid; justify-items:center; min-width:0; padding:9px 6px; border:1px solid color-mix(in srgb,var(--season-primary) 16%,transparent); border-radius:12px; background:rgba(255,255,255,.016); text-align:center; }
.season-preview-plan-grid .achievement-medal { width:50px!important; height:50px!important; }
.season-preview-plan-grid strong,.season-preview-plan-grid small { display:block; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.season-preview-plan-grid strong { margin-top:6px; color:var(--text,#eef6ff); font-size:9px; }
.season-preview-plan-grid small { margin-top:3px; color:var(--season-secondary); font-size:8px; }
.season-preview-dialog-banner { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:20px 0 16px; padding:15px 17px; border:1px solid color-mix(in srgb,var(--season-secondary) 25%,transparent); border-radius:16px; background:linear-gradient(115deg,color-mix(in srgb,var(--season-secondary) 8%,transparent),color-mix(in srgb,var(--season-primary) 5%,transparent)); }
.season-preview-dialog-banner span { grid-row:1/3; align-self:center; padding:7px 10px; border-radius:10px; background:color-mix(in srgb,var(--season-secondary) 14%,transparent); color:var(--season-secondary); font-size:10px; font-weight:900; }
.season-preview-dialog-banner strong { color:var(--text,#eef6ff); font-size:13px; }
.season-preview-dialog-banner small { color:var(--muted,#8193a9); font-size:9px; }
.season-preview-medal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.season-preview-medal-card { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; min-width:0; padding:14px; border:1px solid color-mix(in srgb,var(--season-primary) 15%,rgba(126,151,178,.15)); border-radius:17px; background:linear-gradient(145deg,color-mix(in srgb,var(--season-primary) 5%,rgba(255,255,255,.02)),rgba(255,255,255,.01)); }
.season-preview-medal-card.is-negative { border-color:rgba(255,104,125,.22); background:linear-gradient(145deg,rgba(255,104,125,.05),rgba(255,255,255,.008)); }
.season-preview-medal-card>div { min-width:0; }
.season-preview-medal-card small,.season-preview-medal-card strong,.season-preview-medal-card span,.season-preview-medal-card p { display:block; }
.season-preview-medal-card small { color:var(--season-primary); font-size:8px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.season-preview-medal-card.is-negative small { color:#ff8197; }
.season-preview-medal-card strong { margin-top:4px; color:var(--text,#eef6ff); font-size:14px; }
.season-preview-medal-card span { margin-top:3px; color:var(--season-secondary); font-size:9px; }
.season-preview-medal-card p { margin:7px 0 0; color:var(--muted,#8193a9); font-size:9px; line-height:1.45; }
.season-preview-dialog footer { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; padding-top:17px; border-top:1px solid rgba(126,151,178,.15); }
.season-preview-dialog footer button { min-height:38px; padding:0 16px; border:1px solid color-mix(in srgb,var(--season-primary) 34%,transparent); border-radius:11px; background:color-mix(in srgb,var(--season-primary) 10%,transparent); color:var(--text,#eef6ff); font:inherit; font-size:10px; font-weight:800; cursor:pointer; }
.season-preview-dialog footer button:first-child { margin-right:auto; border-color:rgba(126,151,178,.2); background:rgba(255,255,255,.025); color:var(--muted,#8193a9); }

@keyframes season-drift { from{translate:0 0;rotate:0deg} to{translate:18px -26px;rotate:42deg} }
@media (prefers-reduced-motion:reduce){.season-atmosphere i{animation:none}}
@media (max-width:900px){.operator-topbar .theme-signature{display:none}.theme-signature{margin-left:4px;margin-right:4px}.season-atmosphere i{opacity:.1}.stats-sidebar-footer .season-preview-admin{display:none}.portal-sidebar-bottom .season-preview-admin{display:none}}
@media (max-width:700px){.season-preview-dialog-shell{padding:17px}.season-preview-dialog header h2{font-size:24px}.season-preview-dialog-select{grid-template-columns:1fr;gap:8px}.season-preview-plan-ladder>div:first-child{grid-template-columns:1fr}.season-preview-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.season-preview-medal-grid{grid-template-columns:1fr}.season-preview-dialog-banner{grid-template-columns:1fr}.season-preview-dialog-banner span{grid-row:auto;width:max-content}.season-preview-dialog footer{flex-wrap:wrap}.season-preview-dialog footer button{flex:1}.season-preview-dialog footer button:first-child{flex:1 0 100%;margin:0}}
