/* /snowmaking/: thin rules, one cobalt scale for how cold it is. Sizes: --t44, 22, 16, 14. */
.sn-page{--c-off:#d5d8df;--c-edge:#c3d0ee;--c-low:#7f9be0;--c-good:#3a60c8;--c-best:var(--accent);padding-block-end:24px}
.sn-page [hidden]{display:none!important}
.sn-page [data-pro]{display:none}
.sn-page.is-pro [data-pro]{display:revert}
.sn-page.is-pro label[data-pro]{display:grid}
.sn-page.is-pro .sn-hourly[data-pro],.sn-page.is-pro .sn-method[data-pro]{display:block}
.sn-page.is-pro dl div[data-pro]{display:flex}
.sn-page h1,.sn-page h2{margin:0;font-family:Sofia,Golos,sans-serif;font-weight:800;font-size:var(--t44);line-height:1;letter-spacing:0;text-transform:uppercase}
:lang(ar) .sn-page h1,:lang(ar) .sn-page h2,:lang(zh) .sn-page h1,:lang(zh) .sn-page h2{font-family:inherit;text-transform:none}
.sn-page h3,.sn-page h4{margin:0 0 8px;font-size:22px;font-weight:650;line-height:1.2;letter-spacing:0}
.sn-page h4{font-size:16px}
.sn-page small,.sn-small{display:block;color:var(--muted);font-size:14px;line-height:1.4}
.sn-page section+section{margin-block-start:clamp(32px,5vw,56px)}
.sn-head{padding-block-start:clamp(24px,3.4vw,40px)}
.sn-verdict{margin:14px 0 0;max-width:46ch;font-size:22px;line-height:1.35;font-weight:650}
.sn-lead{margin:10px 0 0;max-width:68ch;font-size:16px;line-height:1.5}
.sn-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-block-start:16px}
.sn-tools small{flex-basis:100%}
.sn-page table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.35;font-variant-numeric:tabular-nums}
.sn-page thead th{padding:8px 14px 8px 0;border-block-end:2px solid var(--ink);color:var(--muted);font-size:14px;font-weight:600;text-align:start;vertical-align:bottom}
[dir=rtl] .sn-page thead th,[dir=rtl] .sn-page tbody th,[dir=rtl] .sn-page td{padding-inline:0 14px}
.sn-page tbody th,.sn-page td{padding:9px 14px 9px 0;border-block-end:1px solid var(--line);text-align:start;vertical-align:middle;font-weight:400}
.sn-board h2{margin-block-end:14px}
.sn-board tbody th a{color:var(--ink);font-weight:650;text-decoration:none}
.sn-board tbody th a:hover{text-decoration:underline}
.sn-board .is-picked th a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.sn-state{display:flex;align-items:center;gap:8px;min-width:190px;border-block-end:0}
.sn-board tbody tr{border-block-end:1px solid var(--line)}.sn-board tbody th,.sn-board td{border-block-end:0}
.sn-state .snow-gun{flex:none;width:32px;height:32px;color:var(--snow-c,#8b95a1)}
.snow-off{--snow-c:#8b95a1}.snow-edge{--snow-c:#7f9be0}.snow-low{--snow-c:#5b7fd6}.snow-good{--snow-c:#2f55bf}.snow-best{--snow-c:var(--accent)}
.snow-off .snow-gun-flow{display:none}
.sn-num{white-space:nowrap}.sn-num strong{font-weight:650}
.sn-strip{display:grid;grid-template-columns:repeat(28,1fr);gap:1px;width:196px;height:18px}
.sn-dates{display:grid;grid-template-columns:repeat(7,1fr);width:196px;margin-block-end:3px;font-size:14px;line-height:1;color:var(--muted)}.sn-dates b{font-weight:400}
.sn-strip i:nth-child(4n):not(:last-child){margin-inline-end:2px}
.sn-strip i,.sn-legend i{display:block;background:var(--c-off)}
.c-na{background:transparent!important;box-shadow:inset 0 0 0 1px var(--line)}
.c-off{background:var(--c-off)!important}.c-edge{background:var(--c-edge)!important}.c-low{background:var(--c-low)!important}.c-good{background:var(--c-good)!important}.c-best{background:var(--c-best)!important}
.sn-need{font-size:14px;line-height:1.35}.sn-need--run{font-weight:650;color:var(--accent)}.sn-need--none{color:var(--muted)}
.sn-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;font-size:14px;color:var(--muted);list-style:none}
.sn-legend li{display:flex;align-items:center;gap:6px}.sn-legend i{width:14px;height:14px}
.sn-notes{margin-block-start:10px;max-width:78ch;color:var(--muted);font-size:14px}.sn-notes p{margin:0 0 4px}
.sn-chart h2{margin-block-end:12px}
.sn-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;color:var(--muted)}
.sn-page select,.sn-page input{min-height:44px;width:100%;padding-inline:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:16px}
.sn-pick select{width:auto;max-width:100%}
.sn-chart figure{position:relative;margin:14px 0 0}
.sn-chart svg{display:block;width:100%;height:auto;touch-action:pan-y;direction:ltr}
.sn-night{fill:var(--tint)}.sn-cold{fill:var(--accent);opacity:.07}.sn-tick{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.sn-tick.is-main{stroke:var(--accent);stroke-dasharray:6 4}
.sn-day{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.sn-axis{fill:var(--muted);font-size:14px}
.sn-wet,.sn-air{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sn-wet{stroke:#c3cbd6;stroke-width:1}.sn-wet.is-on{stroke:var(--accent);stroke-width:3}
.sn-air{display:none;stroke:#b0297a;stroke-width:1.5;stroke-dasharray:4 3}.is-pro .sn-air.is-on{display:inline}
.sn-cursor{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.sn-tip{position:absolute;inset-block-start:0;z-index:1;padding:6px 10px;background:var(--ink);color:#fff;font-size:14px;line-height:1.35;pointer-events:none;white-space:nowrap}
.sn-chart figcaption{margin-block-start:6px;color:var(--muted);font-size:14px}
.sn-key{margin-inline-end:14px}.sn-key::before{content:"";display:inline-block;width:18px;height:3px;margin-inline-end:6px;vertical-align:middle;background:var(--accent)}.sn-key--air::before{background:#b0297a}
.sn-panel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,48px);margin-block-start:24px}
.sn-fleet p{margin:0 0 8px}
.sn-days p{margin:8px 0 0}
.sn-days tbody th{white-space:nowrap}
.sn-hourly{margin-block-start:24px}
.sn-scroll{overflow-x:auto;max-height:420px}
.sn-scroll table{min-width:560px}
.sn-calc-band{padding-block:clamp(24px,4vw,40px);background:var(--tint)}
.sn-calc{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(20px,4vw,40px);margin-block-start:16px}
.sn-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;align-content:start}
.sn-fields label{display:grid;gap:4px;font-size:14px;color:var(--muted)}
.sn-wide{grid-column:1/-1;margin:0}
.sn-result{display:block;padding:20px;background:var(--night);color:#fff}
.sn-result h3,.sn-result h4{color:#fff}
.sn-big{display:inline-block;margin:0 24px 8px 0;font-family:Sofia,Golos,sans-serif;font-weight:800;font-size:var(--t44);line-height:1}
.sn-big small{display:block;margin-block-start:4px;color:#c9d6e6;font-family:Golos,sans-serif;font-weight:400}
.sn-warn{margin:8px 0;font-weight:650}
.sn-result dl{margin:8px 0 16px}
.sn-result dl div{display:flex;justify-content:space-between;gap:12px;padding-block:5px;border-block-end:1px solid #ffffff33;font-size:16px}
.sn-result dt{color:#c9d6e6}.sn-result dd{margin:0;font-weight:650}
.sn-page .sn-wind{font-size:14px}.sn-page .sn-wind th,.sn-page .sn-wind td{color:#fff;border-block-end-color:#ffffff33;padding-block:5px}.sn-page .sn-wind thead th{color:#c9d6e6;border-block-end-color:#fff}
.sn-scheme svg{display:block;width:100%;height:auto;margin-block-start:12px}
.sn-plume{fill:var(--tint)}.sn-flakes{fill:var(--accent);opacity:.55}.sn-barrel{fill:var(--accent)}.sn-ring{fill:none;stroke:var(--night);stroke-width:6}
.sn-stand{fill:none;stroke:var(--ink);stroke-width:6;stroke-linecap:round}.sn-pipe{fill:none;stroke:var(--accent);stroke-width:4}.sn-pipe--air{stroke:var(--muted);stroke-dasharray:8 5}
.sn-mark circle{fill:var(--surface);stroke:var(--ink);stroke-width:2}.sn-mark text{fill:var(--ink);font-size:16px;font-weight:650}
.sn-scheme-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,4vw,48px);align-items:center}
.sn-steps{margin:0;padding-inline-start:24px;font-size:16px;line-height:1.4}.sn-steps li{margin-block-end:6px}
.sn-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:640px;margin-block-start:14px}
.sn-bars div{text-align:center;font-size:16px}.sn-bars strong{display:block;font-weight:650}
.sn-bar{position:relative;display:block;height:184px}.sn-bar i{position:absolute;inset-block-end:0;inset-inline:0}
.b1{background:var(--c-low)}.b2{background:var(--c-good)}.b3{background:var(--c-best)}
.sn-columns{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:clamp(20px,4vw,48px);margin-block-start:14px}
.sn-columns p{margin:0 0 10px;max-width:68ch}
.sn-columns h3{margin-block-start:12px;font-size:16px}
.sn-method>h3{margin-block-start:20px}
.sn-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,48px)}
.sn-articles h2{font-size:var(--t44)}
.sn-articles p{margin:12px 0 0;max-width:68ch;line-height:1.55}
.sn-sources summary{cursor:pointer;font-weight:650;min-height:44px;display:flex;align-items:center}
.sn-sources ul{columns:2;margin:8px 0 16px;padding:0;list-style:none;font-size:14px}
.sn-sources li{margin-block-end:4px;break-inside:avoid}
@media(max-width:1000px){
  .sn-page thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .sn-board table,.sn-board tbody{display:block}
  .sn-board tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding-block:12px}
  .sn-board tbody th,.sn-board td{display:block;padding:0}
  .sn-board tbody th{grid-column:1}.sn-board .sn-num{grid-column:2;grid-row:1;text-align:end}
  .sn-board .sn-state,.sn-board .sn-need,.sn-board td:has(.sn-strip){grid-column:1/-1}
  .sn-board .sn-state{display:flex}
  .sn-strip,.sn-dates{width:100%}
  .sn-panel,.sn-calc,.sn-columns,.sn-articles,.sn-scheme-grid{grid-template-columns:minmax(0,1fr)}
  .sn-days table thead,.sn-scroll table thead{position:static;width:auto;height:auto;clip-path:none}
}
@media(max-width:760px){.sn-chart figure{overflow-x:auto}.sn-chart svg{width:720px;max-width:none;touch-action:auto}}
@media(max-width:480px){
  .sn-days{overflow-x:auto}.sn-days table{min-width:420px}
  .sn-sources ul{columns:1}
  .sn-big{display:block}
}
@media print{.sn-tools,.sn-calc-band{display:none}}
@media(max-width:1000px){.sn-board tbody th a{display:inline-block;padding-block:6px}}
