:root{color-scheme:dark;--bg:#0b1521;--panel:#122131;--line:#2b4052;--text:#f2f6fa;--muted:#b0c1d2;--accent:#93e5df;--radius:16px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* Decorative winter landscape ends before the recency legend; no layout or hit targets. */
.masthead{position:relative;isolation:isolate;padding-top:40px;background:#30485b}
.masthead::before{content:"";position:absolute;inset:96px 0 0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#30485b 0%,transparent 24%,transparent 65%,var(--bg) 100%),url('./hero-snow-mountains-reference.webp') center 15%/cover no-repeat}
.masthead .topbar{border-bottom-color:transparent}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.65}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.wrap{width:min(1080px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-100px;left:16px;z-index:10;background:var(--panel);padding:12px}.skip:focus{top:8px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:90px;border-bottom:1px solid var(--line)}.brand{font-size:22px;letter-spacing:-.8px;font-weight:750;color:var(--text);text-decoration:none}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:block;width:26px;height:26px;flex-shrink:0;color:#afd8eb}.language{display:flex;padding:4px;border:1px solid var(--line);border-radius:10px;gap:3px}.language button{border:0;background:transparent;padding:7px 12px;border-radius:6px;min-height:40px}.language button[aria-pressed=true]{background:#294456;color:white}.hero{padding:52px 0 28px;max-width:820px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);font-weight:700}h1{font-size:clamp(31px,5.5vw,52px);font-weight:650;letter-spacing:-1.5px;line-height:1.3;margin:16px 0}.lead{color:var(--muted);margin:0 0 26px;font-size:16px}.preview-notice{display:flex;gap:12px;padding:15px 18px;border:1px solid #46616a;border-radius:10px;background:#142b34;font-size:13px}.preview-notice p{margin:3px 0 0;color:#c4d6db}.dot{height:7px;width:7px;flex-shrink:0;border-radius:100%;margin-top:8px;background:var(--accent)}.comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin-bottom:26px}.comparison>div{padding:22px 26px;display:flex;flex-direction:column;gap:6px}.comparison>div+div{border-left:1px solid var(--line)}.comparison span{font-size:13px;color:var(--muted)}.comparison strong{font-size:32px;font-weight:500}.comparison strong small{font-size:12px;color:var(--muted)}.comparison>div>small{font-size:11px;color:var(--muted)}h2{font-size:19px;font-weight:650;margin:0}h3{font-size:13px;margin:18px 0 8px;font-weight:500;color:var(--muted)}.forecast{border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:38px}.forecast-top,.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.forecast-top a{font-size:14px}.office-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.office-links a{padding:6px 12px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-size:13px;min-height:36px}.office-links a:hover{background:#21394b}summary{font-size:13px;padding:8px 0;min-height:40px}.muted{font-size:12px;color:var(--muted)}.forecast>.muted{margin-bottom:0;max-width:850px}.filters{display:grid;grid-template-columns:1fr 200px;gap:14px;margin-top:20px}label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}input,select{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:9px;min-height:48px;padding:11px 13px}input::placeholder{color:#9eb2c5}#list-note{margin:14px 0 20px}.resort-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resort{padding:20px;border:1px solid var(--line);border-radius:12px;min-width:0;background:linear-gradient(135deg,#132332,#11202e)}.resort h3{font-size:16px;color:var(--text);font-weight:600;margin:0;overflow-wrap:anywhere}.resort-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pref-tag{font-size:11px;color:var(--muted);white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 8px}.metrics div{min-width:0}.metrics dt{font-size:10px;color:var(--muted)}.metrics dd{margin:4px 0 0;font-size:22px;color:#c9d5de}.resort-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;font-size:11px}.resort-bottom a{padding:4px 0}.review{color:#edcf9d;font-size:10px;margin:10px 0 0}.more{display:block;margin:22px auto 0;border:1px solid var(--line);background:var(--panel);padding:12px 28px;border-radius:9px;min-height:46px}.more[hidden]{display:none}.message{color:var(--muted);padding:20px 0}.message:empty{display:none}.about{margin-top:40px;padding-top:26px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.about h2{font-size:14px;color:var(--text)}.about p{margin:8px 0}footer{margin-top:36px!important;padding:26px 0 32px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}footer>p:first-child{font-size:15px;color:var(--text)}.credits{display:flex;gap:20px}noscript{display:block;text-align:center;padding:20px}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.topbar{min-height:76px}.brand{font-size:20px}.hero{padding-top:34px}.lead{font-size:14px}.comparison>div{padding:15px 10px;gap:8px}.comparison span{font-size:10px;min-height:32px;line-height:1.5}.comparison strong{font-size:27px}.comparison strong small{font-size:10px}.comparison>div>small{font-size:9px}.forecast{padding:18px;margin-bottom:30px}.forecast-top{align-items:flex-start;flex-direction:column;gap:8px}h2{font-size:17px}.filters{grid-template-columns:minmax(0,1fr) 124px;gap:10px}.resort-list{grid-template-columns:1fr}.resort{padding:18px}.preview-notice{padding:13px;font-size:12px}.section-head{gap:8px}.section-head .muted{font-size:11px}.metrics dt{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s ease}}
.depth-section{margin:0 0 26px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);scroll-margin-top:18px}.depth-section select{background:var(--bg)}#depth-chart{display:block;width:100%;height:auto;min-height:125px}.chart-grid{stroke:var(--line);stroke-width:1}.chart-label{fill:var(--muted);font:13px system-ui,sans-serif}.chart-line{stroke:var(--accent);stroke-width:3;stroke-linejoin:round}.chart-point{fill:var(--accent)}.sample-label{border:1px solid #9e8046;border-radius:7px;padding:10px;color:#ffe0a4;font-size:12px}.sample-toggle{background:#234353;border:1px solid #477184;border-radius:8px;min-height:44px;padding:9px 14px;color:var(--text);font-size:13px}.depth-section table{width:100%;font-size:12px;border-collapse:collapse}.depth-section td,.depth-section th{padding:7px;text-align:left;border-bottom:1px solid var(--line)}.graph-link{display:block;background:transparent;border:0;padding:8px 0;min-height:44px;color:var(--accent);font-size:12px;text-decoration:underline;text-underline-offset:3px}.operating-status{color:var(--muted);font-size:11px;margin:8px 0 0}@media(max-width:640px){.depth-section{padding:18px}.depth-section h2{font-size:17px}}
/* Area-first discovery: layout is a schematic, never a geographic weather map. */
[hidden]{display:none!important}.discovery{margin:2rem 0 3rem}.period-pill{font-size:.8rem;border:1px solid #466071;border-radius:30px;padding:.45rem .75rem;color:#b7cdd7}.map-layout{position:relative;background:linear-gradient(145deg,#102b3d,#101d2c);border:1px solid #294354;border-radius:20px;margin:1.4rem 0;padding:1.25rem;min-height:330px}.map-key{position:absolute;left:1.5rem;top:1.5rem;max-width:35%;font-size:.85rem}.map-key p{margin:.65rem 0}.legend-snow{color:#74e5df}.legend-unknown{color:#91a4b5}.region-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(56px,auto));gap:8px;max-width:700px;margin-left:auto}.region-tile{border:1px solid #4b6575;background:#1c3041;border-radius:12px;padding:.65rem .3rem;color:#edf6fa;cursor:pointer;display:flex;flex-direction:column;gap:.3rem;min-width:0}.region-tile span{font-size:.7rem}.region-tile[data-region=hokkaido]{grid-area:1/5}.region-tile[data-region=tohoku]{grid-area:2/5}.region-tile[data-region=kanto]{grid-area:3/5}.region-tile[data-region=koshinetsu]{grid-area:3/4}.region-tile[data-region=hokuriku]{grid-area:3/3}.region-tile[data-region=tokai]{grid-area:4/4}.region-tile[data-region=kansai]{grid-area:4/3}.region-tile[data-region=chugoku]{grid-area:4/2}.region-tile[data-region=shikoku]{grid-area:5/2}.region-tile[data-region=kyushu]{grid-area:5/1}.region-tile.has-snow{background:#174d56;border-color:#74e5df;color:#a5fff1}.region-tile[aria-pressed=true]{outline:3px solid #fff;outline-offset:2px}.area-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.area-card{display:flex;flex-direction:column;text-align:left;gap:.65rem;border:1px solid #354b5b;background:#142536;color:#eef7fc;border-radius:14px;padding:1.1rem;cursor:pointer;min-width:0}.area-card strong{font-size:1.2rem;overflow-wrap:anywhere}.area-card small{color:#b7cad6}.area-card.snow{border-color:#59c9c7;background:#123e48}.snow-badge{font-size:.8rem;color:#c6d7e0}.snow .snow-badge{color:#8cf5df}.area-tools{margin:1.4rem 0}.check-label{display:flex;align-items:center;gap:.5rem}.check-label input{width:20px;height:20px;accent-color:#69dbd0}.manual-search,.back-link,#region-reset{background:transparent;border:1px solid #496375;color:#d9edf5;border-radius:10px;padding:.7rem 1rem;cursor:pointer}.manual-search{margin-top:1.5rem;width:100%}.back-link{margin-bottom:1rem}button:hover{filter:brightness(1.15)}button:focus-visible{outline:3px solid #fff;outline-offset:3px}#scope-title{font-size:1.7rem;margin:0 0 1.3rem}
@media(max-width:640px){.map-layout{padding:.65rem;min-height:300px}.map-key{left:1rem;top:1rem;max-width:47%;font-size:.75rem}.region-map{gap:5px;grid-template-rows:repeat(5,minmax(53px,auto))}.region-tile{padding:.55rem .1rem;border-radius:8px}.region-tile strong{font-size:.74rem}.region-tile span{font-size:.6rem;overflow-wrap:anywhere}.area-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.area-card{padding:.9rem .7rem}.area-card strong{font-size:1.05rem}.period-pill{font-size:.7rem}.area-tools{align-items:center}.check-label{font-size:.85rem}}

/* Recency colors: text labels carry the same meaning without color. */
.recency-key{margin-top:1.4rem}.recency-legend{display:flex;flex-wrap:wrap;gap:8px;margin:.8rem 0}.legend-chip{border:1px solid var(--recency,#789);border-radius:8px;padding:.45rem .65rem;font-size:.82rem;background:#162838;color:#f3f8ff}.legend-chip:before{content:"";display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:var(--recency,#789);margin-right:.45rem}.recency-h1{--recency:#caa4ff;--recency-bg:#392b58}.recency-h3{--recency:#7ebaff;--recency-bg:#203b59}.recency-h6{--recency:#56d8d4;--recency-bg:#17474e}.recency-h12{--recency:#f0d976;--recency-bg:#494126}.recency-h24{--recency:#f4ab75;--recency-bg:#4e352b}.recency-none{--recency:#a7b6bf;--recency-bg:#25333d}.recency-unknown{--recency:#6d8293;--recency-bg:#182735}.region-tile.has-snow,.area-card.snow{border-color:var(--recency);background:var(--recency-bg);color:#f5f8ff}.snow .snow-badge{color:var(--recency)}.area-card .snow-badge:before{content:"● ";color:var(--recency)}.area-card.unknown{border-style:dashed}.region-tile.recency-unknown{border-style:dashed}.window-label{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.window-label select{width:auto;min-width:100px}.area-tools{flex-wrap:wrap;gap:12px}.map-key{max-width:36%;font-size:.75rem}
@media(max-width:640px){.map-key{max-width:45%;font-size:.65rem}.legend-chip{font-size:.75rem;padding:.4rem .5rem}.area-tools .check-label{width:100%}.window-label{font-size:.8rem}.region-tile span{font-size:.57rem}}

/* Local, non-interactive ad mockups. No advertising scripts or requests. */
.ad-placeholder{grid-column:1/-1;position:relative;min-height:250px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;margin:28px 0;padding:40px 18px 24px;border:1px dashed #627482;border-radius:8px;background:repeating-linear-gradient(135deg,#162330,#162330 12px,#182733 12px,#182733 24px);color:#bbc8d0;text-align:center}.ad-placeholder strong{font-size:1rem;font-weight:500}.ad-placeholder small{font-size:.8rem;color:#95a8b5}.ad-label{position:absolute;top:12px;left:16px;font-size:.7rem;letter-spacing:.08em;color:#aab9c4}.depth-ad{margin-top:36px}.depth-ad .ad-placeholder{margin-bottom:0}

/* Both detail panels keep a section gap, even when the chart is hidden. */
main > .depth-section,main > .forecast{margin-top:32px}

.region-tile.no-resorts{background:#1a222c;border-color:#35404b;color:#83909d;cursor:default;opacity:.7}.region-tile.no-resorts:hover{filter:none}

/* Supplementary ski-area terrain information, clearly distinguished from snowfall. */
.terrain-summary{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:#0d1d2b;font-size:12px}
.terrain-summary p{margin:3px 0 7px}
.terrain-altitude{font-weight:600;color:var(--text)}
.terrain-aspect{color:var(--muted)}
.terrain-summary summary{color:var(--accent)}
.terrain-summary ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px 8px;list-style:none;padding:0;margin:8px 0;font-size:11px}
@media(max-width:640px){.terrain-summary ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Eight-direction compass: relative sample counts, not shade measurements. */
.terrain-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.terrain-heading strong{font-size:13px}.terrain-caveat,.terrain-mini-label{font-size:10px;color:var(--muted)}
.terrain-compass-layout{display:grid;grid-template-columns:minmax(0,190px) minmax(0,1fr);gap:10px;align-items:center}
.terrain-compass{display:block;width:100%;max-width:190px;height:auto;overflow:visible}
.terrain-compass-label{font-size:11px;fill:#dbe9f5}.terrain-compass-center{font-size:12px;fill:#dbe9f5}
.terrain-compass-facts{display:flex;flex-direction:column;gap:5px;min-width:0}
.terrain-main-direction{font-size:21px;color:#f2b36d;line-height:1.3}
.terrain-secondary{font-size:12px;color:var(--text)}
.terrain-compass-facts .terrain-north{color:#8fc9ea;font-size:12px;margin:7px 0 0}
.terrain-compass-facts .terrain-explanation{font-size:10px;color:var(--muted);line-height:1.5}
@media(max-width:420px){.terrain-compass-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}.terrain-main-direction{font-size:17px}.terrain-compass-label{font-size:10px}}

/* Programmatic section focus must not draw Safari's full-panel focus ring. */
main section[tabindex="-1"]:focus{outline:none}
main section[tabindex="-1"]:focus-visible{outline:none}
h2[tabindex="-1"]:focus,h2[tabindex="-1"]:focus-visible{outline:none}

.terrain-sunlight{margin:10px 0;padding:10px 0;border-top:1px solid var(--line)}
.terrain-sunlight strong{display:block;font-size:12px;margin-bottom:6px}
.terrain-sunlight .sunlight-times{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.sunlight-times span{padding:3px 7px;border-radius:5px;background:#1c3041;color:#e5eef6;font-size:11px}
.chart-back{margin:0 0 16px}

.terrain-sunlight{border-top:0;border-bottom:1px solid var(--line);padding:8px 0 12px;margin:4px 0 12px}
.terrain-sunlight .terrain-exposure{font-size:17px;line-height:1.5;color:#f2b36d;margin:4px 0}
.terrain-summary[data-aspect-group="N"] .terrain-main-direction,.terrain-summary[data-aspect-group="N"] .terrain-exposure{color:#78bfe1}
.terrain-sunlight .muted{font-size:10px;margin:4px 0 0}



.step-back{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:20;width:48px;height:48px;padding:0;display:grid;place-items:center;border:1px solid #678aa1;border-radius:50%;background:#183044;color:#edf7ff;box-shadow:0 4px 18px #0006;font:inherit;font-size:24px;line-height:1;cursor:pointer}.step-back[hidden]{display:none}#map-title,#area-heading,#list-title{scroll-margin-top:24px;outline:none}body{padding-bottom:80px}

/* Resort overview first; controls belong only to the station records below. */
.depth-section .chart-back{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;margin:0 0 8px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:13px}
.conditions-heading h2{margin:0 0 20px;font-size:20px;line-height:1.4;letter-spacing:-.025em}.resort-picker label{display:block;margin:0 0 7px;font-size:12px;color:var(--muted)}.resort-picker select{width:100%;font-size:18px;font-weight:600;min-height:48px;padding:10px 36px 10px 12px}
.temperature-section{margin:20px 0 0;padding:0 0 8px;border:0;border-radius:18px;background:#192c3c;overflow:hidden}.temperature-section[hidden]{display:none}.temperature-overview{padding:24px 22px 12px}.temperature-eyebrow{margin:0 0 10px;font-size:13px;font-weight:500;color:var(--muted)}.temperature-value{margin:0;font-size:clamp(30px,6vw,38px);line-height:1.25;font-weight:600;letter-spacing:-.04em;text-wrap:balance}.temperature-summary-note{margin:12px 0 0;font-size:12px;color:var(--muted)}.temperature-summary-note:empty{display:none}.temperature-overview.is-cold .temperature-value{font-size:clamp(24px,5vw,32px);color:#b6e9f0}.temperature-section:has(.is-cold){background:#193340}.temperature-details{margin:0 22px}.temperature-details>summary{display:list-item;padding:10px 0;min-height:44px;font-size:12px;color:var(--muted)}#temperature-method{font-size:12px;line-height:1.8;margin-top:4px}#temperature-elevation-source{display:inline-block;font-size:12px;padding:6px 0}#temperature-elevation-source[hidden]{display:none}
.observation-records{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.records-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.records-heading h3{font-size:16px;font-weight:600;margin:0;letter-spacing:-.02em}.records-source{color:var(--muted);font-size:10px;white-space:nowrap}.station-context{margin:14px 0 18px;padding:0;background:transparent;border:0}.station-reference{margin:0;font-size:14px;font-weight:500;color:var(--text)}.station-context .muted{font-size:12px;margin:3px 0 5px;line-height:1.5}.station-context strong{display:block;font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}
.observation-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line);gap:20px}.observation-switch button{min-width:0;min-height:46px;padding:10px 6px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;font-size:14px;color:var(--muted)}.observation-switch button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
.history-range-field{margin:18px 0 18px}.history-range-label{display:block;margin-bottom:7px;font-size:11px;color:var(--muted)}.history-range{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border:0;border-radius:10px;background:var(--bg);max-width:420px}.history-range button{min-width:0;min-height:40px;padding:7px 6px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:13px;white-space:nowrap}.history-range button[aria-pressed=true]{background:#304759;color:var(--text);font-weight:600}
.observation-panel[hidden]{display:none}.observation-title{font-size:13px;font-weight:500;color:var(--muted);margin:16px 0 8px}#depth-chart,#temperature-chart{display:block;width:100%;height:auto}#temperature-chart[hidden],#depth-chart[hidden]{display:none}.temperature-key{display:flex;gap:20px;font-size:12px;margin:8px 0}.temperature-key span:before{content:'● ';font-size:10px}.temperature-high{color:#f2b36d;stroke:#f2b36d;fill:#f2b36d}.temperature-low{color:#83bfe5;stroke:#83bfe5;fill:#83bfe5}.temperature-line{stroke-width:2;fill:none}.chart-zero{stroke:#8b9fac;stroke-width:1;stroke-dasharray:4 4}.chart-status{font-size:12px;color:var(--muted);line-height:1.65;margin:12px 0}.observation-panel>details{margin-top:10px}.observation-panel summary{font-size:12px;color:var(--muted);min-height:44px;padding:10px 0}.record-help p{font-size:12px;line-height:1.7}#history-caption,#temperature-caption{text-align:left;font-size:12px;color:var(--muted);padding:8px 0}#temperature-table table{width:100%;font-size:12px;border-collapse:collapse}#temperature-table th,#temperature-table td{padding:8px;border-bottom:1px solid var(--line);text-align:right}#temperature-table th:first-child,#temperature-table td:first-child{text-align:left}
@media(max-width:480px){.depth-section{padding:18px 16px}.conditions-heading h2{font-size:18px;margin-bottom:16px}.temperature-overview{padding:22px 20px 10px}.temperature-details{margin-inline:20px}.records-heading{gap:8px}.records-heading h3{font-size:15px}.records-source{font-size:9px}.history-range{max-width:none}}

/* Measured endpoint change leads the snow chart; rises are visible in context. */
.depth-change{margin:18px 0 6px}.depth-change[hidden],.depth-rise-key[hidden],#depth-change-coverage[hidden]{display:none}.depth-change-label{margin:0 0 7px;font-size:12px;color:var(--muted)}.depth-change-reading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.depth-change-reading strong{font-size:clamp(29px,6vw,36px);font-weight:600;letter-spacing:-.035em;line-height:1.3}.depth-change[data-direction=up] strong{color:var(--accent)}#depth-change-levels{font-size:13px;color:var(--muted);white-space:nowrap}.depth-change-period{display:flex;flex-wrap:wrap;gap:6px 10px;margin:8px 0 12px;font-size:11px;color:var(--muted)}#depth-change-coverage{padding:0 6px;border:1px solid var(--line);border-radius:5px}.depth-rise-key{font-size:11px;color:var(--muted);margin:0 0 12px}.depth-rise-key:before{content:'';display:inline-block;width:16px;height:3px;background:var(--accent);margin:0 7px 3px 0}#depth-chart .chart-line{stroke:#89a2b5;stroke-width:2}#depth-chart .chart-point{fill:#89a2b5}#depth-chart .chart-rise{stroke:var(--accent);stroke-width:4;stroke-linecap:round}#depth-chart .chart-rise-fill{fill:var(--accent);fill-opacity:.12}

/* Estimates use a dashed violet line and diamond markers, distinct from observations. */
.temperature-key{flex-wrap:wrap;gap:8px 16px}.temperature-upper-low{color:#c9b9ff;stroke:#c9b9ff;fill:#c9b9ff}.temperature-upper-low.temperature-line{fill:none;stroke-dasharray:6 4;stroke-width:2}.temperature-key .temperature-upper-low:before{content:'';display:inline-block;width:16px;border-top:2px dashed #c9b9ff;margin:0 7px 3px 0}.temperature-upper-point{stroke-width:1}.temperature-table-scroll{max-width:100%;overflow-x:auto}#temperature-table th{font-weight:500}#temperature-table th,#temperature-table td{white-space:nowrap;font-variant-numeric:tabular-nums}

.temperature-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;max-width:540px}.temperature-key span{line-height:1.5}.temperature-upper-high{color:#f3a5ba;stroke:#f3a5ba;fill:#f3a5ba}.temperature-upper-high.temperature-line{fill:none;stroke-dasharray:6 4;stroke-width:2}.temperature-key .temperature-upper-high:before{content:'';display:inline-block;width:16px;border-top:2px dashed #f3a5ba;margin:0 7px 3px 0}

.records-heading{flex-wrap:wrap}.records-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.observation-refresh{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted)}.observation-refresh:hover:not(:disabled){background:#21394b;color:var(--text)}.observation-refresh:active:not(:disabled){background:#294456}.observation-refresh[aria-busy=true] svg{animation:observation-refresh-spin 1s linear infinite}@keyframes observation-refresh-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.observation-refresh[aria-busy=true] svg{animation:none}}.observation-refresh:disabled{opacity:.55;cursor:default}.refresh-status{font-size:12px;color:var(--muted);margin:4px 0 0}.refresh-status:empty{display:none}

.topbar{gap:8px;flex-wrap:wrap;padding-block:8px}.brand{white-space:nowrap}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.header-search{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;padding:0;background:transparent;color:var(--muted)}.header-search:hover,.header-search:active{color:var(--text);background:#21394b}@media(max-width:640px){.header-actions{gap:4px}.header-actions .language button{padding:7px 8px;font-size:12px}}

.display-help{margin-bottom:24px}.display-help summary{font-size:14px}.display-help p{font-size:12px;line-height:1.7;max-width:720px}

.distribution-status{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:8px}.distribution-status p{margin:0}.distribution-status button{margin-left:auto}.display-help a{font-size:12px}

/* Numeric ranges stay whole even in narrow three-column resort cards. */
.metrics dt{line-height:1.4;min-height:2.8em}.metrics dd{display:grid;justify-items:start;align-content:start;gap:3px;line-height:1.2;min-height:52px;font-variant-numeric:tabular-nums}.metric-value{display:block;white-space:nowrap}.metric-unit{display:block;font-size:11px;line-height:1.4;color:var(--muted);white-space:nowrap}@media(max-width:420px){.metrics dd{font-size:20px}}

/* Compact comparison list; full terrain remains visible inside expanded details. */
.snow-list-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:18px}.snow-list-label{display:flex;align-items:center;white-space:nowrap;font-size:14px;font-weight:600}.snow-list-label button{display:flex;align-items:center;justify-content:center;min-height:44px;width:44px;border:0;background:transparent;color:var(--muted);font-size:17px}.snow-list-toolbar select{width:auto;min-width:0;max-width:60%;font-size:16px}.snow-list-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:6px 0 12px}.snow-list-meta+#snow-list-sample{font-size:11px;color:#edcf9d;margin:0 0 10px}#list-note[hidden]{display:none}.resort-list{grid-template-columns:minmax(0,1fr);gap:12px}.resort{padding:0;min-width:0;border:1px solid var(--recency,var(--line));border-radius:14px;background:var(--panel);overflow:hidden}.resort-toggle{display:block;width:100%;padding:16px 18px 12px;border:0;text-align:left;background:var(--recency-bg,var(--panel));color:var(--text)}.resort-toggle .resort-top{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.resort-toggle h3{font-size:16px;line-height:1.5;flex:1;min-width:0;margin:0}.resort-toggle .pref-tag{font-size:11px;order:3;flex-basis:100%;margin-top:-5px}.resort-toggle .metrics{display:block;flex:none;margin:0}.resort-toggle .metrics dd{display:flex;align-items:baseline;gap:4px;min-height:0;margin:0;font-size:23px;line-height:1.3;font-weight:600;color:var(--text);white-space:nowrap}.resort-toggle .metric-unit{display:inline;font-size:11px;font-weight:400;color:#d1dce8}.snow-trend{display:block;width:100%;height:32px;color:var(--recency,var(--muted));margin-top:12px}.snow-row-axis{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#c1ccd8;margin-top:4px;font-variant-numeric:tabular-nums}.resort-detail{padding:10px 18px 16px}.resort-detail .terrain-summary{padding:0;margin:0;border:0;border-radius:0;background:transparent}.resort-detail-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 12px;margin-bottom:18px}.resort-detail-top .terrain-altitude{font-size:13px;font-weight:600;margin:0}.resort-detail-top .resort-bottom{margin:0;padding:0;border:0}.resort-detail-top a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;white-space:nowrap}.resort-detail .terrain-sunlight{margin:0 0 18px;padding:0 0 18px;border-top:0;border-bottom:1px solid var(--line)}.resort-detail .terrain-mini-label,.resort-detail .terrain-caveat{font-size:11px}.resort-detail .terrain-exposure{font-size:18px;font-weight:650;line-height:1.65}.resort-detail .terrain-heading{margin:0 0 12px}.resort-detail .terrain-heading strong{font-size:14px}.resort-detail .terrain-compass-layout{grid-template-columns:minmax(112px,160px) minmax(0,1fr);gap:16px}.resort-detail .terrain-main-direction{font-size:21px}.resort-detail .terrain-explanation{font-size:11px;line-height:1.7}.resort-detail .terrain-secondary{font-size:13px;line-height:1.8}.resort-detail .terrain-compass-label{font-size:14px}.resort-detail .graph-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin-top:8px;border:0;border-radius:0;background:transparent;color:var(--accent);text-align:left;text-decoration:underline;text-underline-offset:4px;font-size:14px}.resort-detail .graph-link::after{content:none}.resort-station{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.resort-station-heading{font-size:12px;color:var(--muted)}.resort-station-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px}.resort-station-metrics>div{display:flex;flex-direction:column;min-width:0;gap:4px}.resort-station-metrics strong{font-size:22px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.resort-detail[hidden]{display:none}
@media(max-width:360px){.resort-toggle{padding:14px 13px 12px}.resort-detail{padding-inline:13px}.resort-toggle h3{font-size:15px}.resort-toggle .metrics dd{font-size:21px}.resort-detail .terrain-compass-layout{grid-template-columns:112px minmax(0,1fr);gap:10px}.resort-detail .terrain-main-direction{font-size:19px}.resort-station-metrics strong{font-size:19px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Centered disclosure chevron; reserve space without changing card height. */
.resort-toggle{position:relative;padding-right:36px}
.resort-toggle::after{content:"";position:absolute;right:12px;top:50%;width:8px;height:8px;color:var(--muted);opacity:.75;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.resort-toggle[aria-expanded="true"]::after{transform:translateY(-20%) rotate(225deg)}
@media(max-width:360px){.resort-toggle{padding-right:33px}.resort-toggle::after{right:11px}}

/* Search clear control stays inside the existing input height. */
.search-input-wrap{position:relative}.search-input-wrap #search{padding-right:44px}.search-input-wrap #search::-webkit-search-cancel-button,.search-input-wrap #search::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.search-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.search-clear:hover{color:var(--text)}

/* Frameless area map; the region tiles remain the only bordered elements. */
.map-layout{border:0;border-radius:0;background:transparent;padding:0;min-height:0}
.map-key{left:0;top:0}
.region-tile span{white-space:nowrap;font-size:clamp(9px,1.9vw,11px);letter-spacing:-.025em}
@media(max-width:640px){.map-layout{padding:0;min-height:0}.map-key{left:0;top:0}.region-tile span{font-size:clamp(9px,2.35vw,11px)}}


/* Match the approved mobile reference: calm sky above the ridge and a soft language pill. */
.masthead .topbar{min-height:50px;padding-block:0}
.masthead .language{border-color:#506b8066;background:#20384b26;border-radius:11px;padding:4px}
.masthead .language button{border-radius:8px}
.masthead .language button[aria-pressed=true]{background:#385366;color:var(--text)}
.masthead .hero{padding-top:52px}
@media(max-width:640px){
  .masthead{padding-top:32px}
  .masthead::before{top:68px}
  .masthead .language button{font-size:13px;padding-inline:7px}
}

/* Keep uncertain amounts readable without assigning a snowfall recency color. */
.resort-toggle .metrics dd{flex-wrap:wrap;max-width:100%}
@media(max-width:420px){.resort-toggle .metrics{max-width:100%}.resort-toggle .metrics dd{font-size:20px}}


/* Keep qualitative light snowfall quieter than numeric amounts. */
.resort-toggle .metrics dd.metric-light{font-size:16px;font-weight:400}

.footer-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:18px;font-size:14px}
.privacy-settings{border:0;background:transparent;padding:8px 0;color:var(--accent);text-decoration:underline;min-height:44px;font-size:14px;text-underline-offset:4px}
.info-header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;padding-block:24px}
.info-page{max-width:780px;padding-block:10px 36px;font-size:16px;overflow-wrap:anywhere}
.info-page h1{font-size:30px}.info-page h2{margin-top:32px;font-size:23px}.info-page h3{font-size:18px;color:var(--text);margin-top:24px}
.info-page p,.info-page li{line-height:1.85}.info-page li+li{margin-top:12px}.info-page [hidden]{display:none}
.analytics-banner{position:fixed;z-index:100;bottom:0;left:0;right:0;max-height:75dvh;overflow:auto;background:#000;border:0;padding:14px max(18px,calc((100% - 1040px)/2));font-size:14px;color:#e6e6e6}
.analytics-banner p{margin:0 0 4px;line-height:1.6;text-wrap:balance}.analytics-banner.has-close p{padding-right:34px}
.analytics-banner a{font-size:13px;color:#bdbdbd;text-decoration:none}.analytics-banner a:hover{text-decoration:underline}
.analytics-banner .analytics-close{position:absolute;top:4px;right:max(6px,calc((100% - 1064px)/2));width:44px;min-height:44px;border:0;background:transparent;padding:0;color:#bdbdbd;font-size:24px;font-weight:400;line-height:1}
.analytics-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:420px;margin-top:10px}.analytics-actions button{white-space:nowrap;min-width:0;border:0;color:#e6e6e6;background:#242424;border-radius:6px;padding:8px 12px;min-height:44px;font-size:14px}
.analytics-banner-visible{padding-bottom:200px}.analytics-banner-visible .step-back{visibility:hidden}
@media(max-width:640px){.analytics-banner{padding-bottom:max(12px,env(safe-area-inset-bottom))}.info-page h1{font-size:26px}}
