/* /lastsnowinlondon.html only, loaded after site.css and rain.css (shared with the rain page and NOT
   changed for this page). The snow page reuses rain.css's classes and re-points its tokens: on
   .page--snow, --rain is the snow slate, so the bars, pills and keys follow. Only what is new lives
   here. Mock-up design/lastsnow.dc.html; notes .claude/research/lastsnow-design.md. Cap 8 KB. */
.page--snow{--rain:#2F5675;--rain-tint:#E4EDF4;--sleet:#55667A;--sleet-tint:#DFE5EA;--snow-pale:#C9D7E3}
.rain-answer.is-snowing{background:var(--rain-tint)}
.rain-answer.is-sleet{background:var(--sleet-tint)}
.is-snowing .rain-state{background:var(--rain)}
.is-sleet .rain-state--flag{color:var(--sleet);box-shadow:inset 0 0 0 1.5px var(--sleet)}
.snow-unconf{display:flex;gap:8px;align-items:flex-start;margin:8px 0 0!important;font-size:14px;line-height:1.4}
.snow-unconf .ico{flex:none;width:18px;height:18px;color:var(--muted)}
.rt--key{border:2px solid var(--rain);padding:9px 11px 10px}
.rt--key .rt-v{font-size:30px}
/* Chart text anchors in CSS rather than on every <text>: ticks right-aligned, labels centred. */
.page--snow .rc-tick{text-anchor:end}
.page--snow .rc-date,.page--snow .rc-val{text-anchor:middle}
.page--snow .rc-date--today{text-anchor:end}
.sb{fill:none;stroke:var(--rain);stroke-width:6}
.rc-sleet{fill:var(--snow-pale);stroke:var(--rain);stroke-width:1.5;vector-effect:non-scaling-stroke}
.k-sleet{background:var(--snow-pale);border:1.5px solid var(--rain);border-bottom:0}
.ss-span{fill:none;stroke:var(--rain);stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ss-ref{stroke:var(--ink);stroke-width:1;stroke-dasharray:4 4}
.k-span{width:6px;border-radius:3px;background:var(--rain)}
.k-ref{width:18px;height:0;border-top:1.5px dashed var(--ink);border-radius:0}
.snow-charts{display:grid;gap:26px}
.snow-fig-t{margin:0 0 6px!important;font-weight:600}
.snow-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 6px;border-radius:999px;background:var(--rain);color:#fff;font-size:13px;font-weight:600;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.snow-pill::before{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.snow-pill{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M9 3.5l3 2.5 3-2.5M9 20.5l3-2.5 3 2.5'/%3E%3C/svg%3E")}
.snow-pill--sleet{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M8 3s5 6 5 9.5a5 5 0 0 1-10 0C3 9 8 3 8 3zM18 11v9M14.1 13.2l7.8 4.6M14.1 17.8l7.8-4.6'/%3E%3C/svg%3E");background:none;color:var(--sleet);box-shadow:inset 0 0 0 1.5px var(--sleet)}
.snow-days{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.sd{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.sd p{margin:0}
.sd-d{font-size:17px;font-weight:600}
.sd .snow-pill{grid-row:1;grid-column:2;align-self:start}
.sd-w{grid-column:1/-1;font-size:15px}
.sd-h{grid-column:1/-1;color:var(--muted);font-size:14px}
.page--snow code{padding:1px 5px;border-radius:4px;background:var(--panel);font:14px/1.3 ui-monospace,Menlo,Consolas,monospace}
.snow-reports{font-size:14px}
.snow-reports th,.snow-reports td{padding:6px}
.snow-reports td:nth-child(2){min-width:6em}
.page--snow .rain-more{overflow-x:auto}
.winters,.winters thead,.winters tbody{display:block}
.winters tr{display:grid;grid-template-columns:5.2em 3.6em 1fr 1fr;column-gap:8px;padding:7px 4px;border-bottom:1px solid var(--line)}
.winters thead tr{background:var(--panel)}
.winters th,.winters td{padding:0;border:0;background:none!important}
.winters thead th:nth-child(3),.winters thead th:nth-child(6){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.winters td:nth-child(3),.winters td:nth-child(6){grid-row:2;color:var(--muted);font-size:13px}
.winters td:nth-child(3){grid-column:2/4}
.winters td:nth-child(6){grid-column:4}
.winters td:nth-child(3)::before{content:"sleet days "}
.winters td:nth-child(6)::before{content:"Heathrow "}
.xm-def{padding-left:14px;border-left:3px solid var(--rain)}
.xm-live{padding:10px 14px;border-radius:12px;background:var(--rain-tint)}
.xmas{display:grid;gap:8px;margin:0 0 4px}
.xm{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.xm--air{border-style:dashed;border-color:var(--line-strong)}
.xm p{margin:0}
.xm-k{color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.xm-v{font:650 34px/1.1 var(--serif)}
.xm-s{font-size:15px;line-height:1.5}
.xm-days tbody th{font-weight:600}
@media (min-width:720px){
.snow-charts{grid-template-columns:1fr 1fr;gap:48px}
.snow-days{grid-template-columns:repeat(3,minmax(0,1fr))}
.rain-sec--wide>p,.rain-sec--wide>.rain-small{max-width:720px}
.snow-reports{max-width:900px}
.winters{display:table}
.winters thead{display:table-header-group}
.winters tbody{display:table-row-group}
.winters tr{display:table-row}
.winters th,.winters td{padding:7px 8px;border-bottom:1px solid var(--line);font-size:15px;color:inherit}
.winters thead th{background:var(--panel)!important;font-size:14px}
.winters thead th:nth-child(3),.winters thead th:nth-child(6){position:static;width:auto;height:auto;clip-path:none}
.winters td:nth-child(3)::before,.winters td:nth-child(6)::before{content:none}
.winters td,.winters thead th:not(:first-child){text-align:right}
.xmas{grid-template-columns:1fr 1fr;gap:12px}
}
