/* Optional app palette only. Report templates keep their own colors. */
:root[data-palette="winterglow"]{
  color-scheme:dark; --bg:#081725;
  --palette-ambient-start:rgba(46,157,164,.19); --palette-ambient-end:rgba(206,171,87,.09);
  --palette-focus-ring:rgba(146,221,244,.2); --winter-snow:#d9f3ff; --winter-gold:#edca84;
}
:root[data-palette="winterglow"][data-theme="light"]{
  color-scheme:light; --bg:#edf5f7;
  --palette-ambient-start:rgba(155,213,219,.3); --palette-ambient-end:rgba(245,217,155,.24);
  --palette-focus-ring:rgba(20,111,85,.14); --winter-snow:#639faf; --winter-gold:#aa772a;
}
:root[data-palette="winterglow"] :is(#appRoot,.page-bg,#bottomNav,#loginScreen,.station-history-dialog,.station-dates-dialog,.toast,.update-banner,.staging-banner){
  --panel:#112c39; --panel-2:#183847; --panel-deep:#0c2230;
  --line:#315667; --line-soft:#264858; --text:#e8f8ff; --text-dim:#a7c7d2; --placeholder:#87a9b9;
  --green:#80e4bc; --green-dim:#457e6f; --amber:#edca84; --danger:#ffa39b; --rst-q4:#a2d9ff;
  --green-solid:#85e4b5; --amber-solid:#edca84; --palette-success:#80e4bc;
  --palette-card-shadow:0 8px 28px rgba(0,12,25,.16),inset 0 1px rgba(209,243,255,.045);
  --palette-heading-wash:linear-gradient(115deg,#153d47,#163347 65%,#303d3d);
  --palette-row-tint:#14303e; --palette-active-tint:#1a4547;
}
:root[data-palette="winterglow"][data-theme="light"] :is(#appRoot,.page-bg,#bottomNav,#loginScreen,.station-history-dialog,.station-dates-dialog,.toast,.update-banner,.staging-banner){
  --panel:#ffffff; --panel-2:#f0f7f8; --panel-deep:#e1edf0;
  --line:#c4dce0; --line-soft:#deeaec; --text:#153846; --text-dim:#526f7b; --placeholder:#63838f;
  --green:#146f55; --green-dim:#86b9aa; --amber:#865b19; --danger:#b43c43; --rst-q4:#236b9c;
  --green-solid:#146f55; --amber-solid:#e7c887; --palette-success:#146f55;
  --palette-card-shadow:0 7px 25px rgba(31,80,94,.055),inset 0 1px #fff;
  --palette-heading-wash:linear-gradient(115deg,#edf8f6,#f3f9fc 65%,#fffaed);
  --palette-row-tint:#f5fafb; --palette-active-tint:#e4f2ed;
}
:root[data-palette="winterglow"] #appRoot .hdr{
  --header-ink:var(--text); --header-art:#a8dce9;
  background:radial-gradient(ellipse at 66% 0,rgba(116,227,199,.16),transparent 62%),linear-gradient(115deg,#133c43,#122d40 68%,#304044);
  border-color:#477578; box-shadow:0 9px 35px rgba(0,10,25,.18),inset 0 1px rgba(198,242,249,.15);
}
:root[data-palette="winterglow"][data-theme="light"] #appRoot .hdr{
  background:radial-gradient(ellipse at 66% 0,rgba(160,221,214,.35),transparent 62%),linear-gradient(115deg,#fcffff,#e4f1f5 68%,#fff3d7);
  --header-art:#588b99; border-color:#b8d5d7; box-shadow:0 8px 28px rgba(28,85,95,.07),inset 0 1px #fff;
}
:root[data-palette="winterglow"] #appRoot .header-skyline{opacity:0;}
:root[data-palette="winterglow"] #appRoot :is(.hdr .title .call,.header-account .who-call){color:var(--green);}
:root[data-palette="winterglow"] :is(#appRoot,.page-bg,.station-history-dialog) .rst-q5{color:var(--palette-success);}
:root[data-palette="winterglow"] .conn-badge:not(.offline)::before{background:var(--palette-success);}
:root[data-palette="winterglow"] #appRoot .btn-log{
  background:linear-gradient(130deg,#a0edca,#72d7af);color:#103b2e;border:1px solid rgba(190,255,224,.25);
  box-shadow:0 5px 18px rgba(91,210,161,.13),inset 0 1px rgba(255,255,255,.35);
}
:root[data-palette="winterglow"][data-theme="light"] #appRoot .btn-log{background:linear-gradient(130deg,#1d8564,#11634e);color:#fff;border-color:#196c54;}
:root[data-palette="winterglow"] #appRoot .btn-share{background:linear-gradient(130deg,#d0ecff,#94cce9);color:#163a51;box-shadow:inset 0 1px rgba(255,255,255,.4);}
:root[data-palette="winterglow"][data-theme="light"] #appRoot .btn-share{background:linear-gradient(130deg,#2e718d,#225673);color:#fff;}
:root[data-palette="winterglow"] :is(.qbox.active,.suggest .opt.hover,.suggest .opt:active){background:var(--palette-active-tint);}
:root[data-palette="winterglow"] .nav-btn.active{box-shadow:inset 0 0 0 1px var(--green-dim);}
:root[data-palette="winterglow"] :is(.settings-btn,.btn-lookup-pill,.repeater-tag){border-color:var(--line);}
@media (hover:hover){
  :root[data-palette="winterglow"] #appRoot :is(.btn-log,.btn-share):hover{filter:brightness(1.07);}
  :root[data-palette="winterglow"] .settings-btn:hover{border-color:var(--green-dim);}
}
/* Decoration is separate from form/report DOM and can never intercept input. */
:root[data-palette="winterglow"] .winter-effects{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none;contain:strict;user-select:none;}
.winter-effects *,.winter-header *{pointer-events:none;}
.winter-flake{position:absolute;top:-36px;left:var(--winter-x);width:var(--winter-size);height:var(--winter-size);color:var(--winter-snow);opacity:0;
  animation:winter-drift var(--winter-duration) linear var(--winter-delay) infinite;will-change:transform;}
.winter-flake.dot{border-radius:50%;background:currentColor;}
.winter-flake.crystal{background:currentColor;clip-path:polygon(48% 0,54% 0,54% 36%,84% 18%,88% 24%,59% 43%,94% 45%,94% 52%,59% 54%,88% 75%,84% 81%,54% 62%,54% 100%,47% 100%,47% 62%,15% 81%,11% 75%,40% 54%,5% 52%,5% 45%,40% 43%,11% 24%,15% 18%,47% 36%);}
@keyframes winter-drift{
  0%{transform:translate3d(0,-35px,0) rotate(0);opacity:0;}
  8%{opacity:var(--winter-opacity);}
  85%{opacity:var(--winter-opacity);}
  100%{transform:translate3d(var(--winter-drift),calc(100dvh + 70px),0) rotate(130deg);opacity:0;}
}
.winter-header{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;user-select:none;}
.winter-landscape{position:absolute;bottom:0;left:22%;width:58%;height:100%;color:var(--header-art);opacity:.38;}
.winter-lights{position:absolute;top:-3px;left:15px;right:15px;display:flex;justify-content:space-between;height:15px;border-top:1px solid rgba(142,180,166,.55);}
.winter-bulb{display:block;width:4px;height:6px;margin-top:2px;border-radius:2px 2px 5px 5px;background:#efcf8b;color:#efcf8b;box-shadow:0 0 8px 2px currentColor;opacity:.55;
  animation:winter-glimmer 5s ease-in-out var(--winter-delay) infinite alternate;}
.winter-bulb:nth-child(3n){background:#8ee3c2;color:#8ee3c2;}
.winter-bulb:nth-child(3n + 1){background:#c0e7ff;color:#c0e7ff;}
@keyframes winter-glimmer{from{opacity:.4;}to{opacity:.9;}}
.winter-sleigh{position:absolute;width:140px;height:45px;left:0;top:8px;color:var(--winter-gold);opacity:0;animation:winter-flight 64s linear 4s infinite;}
@keyframes winter-flight{
  0%{transform:translate3d(-170px,10px,0);opacity:0;}
  2%{opacity:.8;}
  24%{transform:translate3d(calc(100vw + 170px),-8px,0);opacity:.8;}
  25%,100%{transform:translate3d(calc(100vw + 170px),-8px,0);opacity:0;}
}
.winter-star{position:absolute;right:25%;top:18px;width:9px;height:9px;background:var(--winter-gold);opacity:.65;
  clip-path:polygon(50% 0,60% 38%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 38%);}
.winter-star.small{right:39%;top:31px;width:5px;height:5px;opacity:.5;}
.winter-spark{position:absolute;top:0;left:0;width:9px;height:9px;opacity:0;background:var(--winter-gold);
  clip-path:polygon(50% 0,60% 38%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 38%);}
:root[data-winter-paused] :is(.winter-flake,.winter-bulb,.winter-sleigh){animation-play-state:paused;}
:root[data-winter-quiet] :is(.winter-flake,.winter-sleigh,.winter-spark){display:none;}
:root:not([data-palette="winterglow"]) :is(.winter-effects,.winter-header){display:none;}
@media (max-width:700px){.winter-landscape{left:28%;width:50%;opacity:.23;}.winter-sleigh{width:95px;height:32px;}.winter-bulb{width:3px;height:4px;}}
@media (prefers-reduced-motion:reduce){
  :root[data-palette="winterglow"] :is(.winter-flake,.winter-sleigh,.winter-spark){display:none;}
  :root[data-palette="winterglow"] .winter-bulb{animation:none;opacity:.6;}
}
@media print{.winter-effects,.winter-header{display:none!important;}}
