*{box-sizing:border-box}:root{font:15px system-ui,sans-serif;color-scheme:light;--bg:#f1f5f3;--panel:#fff;--ink:#193039;--line:#c8d8d3;--accent:#17685e;--soft:#e1eee8}:root[data-theme=dark]{color-scheme:dark;--bg:#112127;--panel:#1c3037;--ink:#eff8f5;--line:#45615e;--accent:#92dfc7;--soft:#24473f}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}button{cursor:pointer}button:hover,button[aria-pressed=true]{background:var(--soft);border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}header,.archive-head,.actions,.row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}header{padding:18px;background:var(--panel)}.brand{font-size:24px}.tagline{margin-left:20px}.badge,small,.fine,figcaption{font-size:12px}main{display:grid;grid-template-columns:310px minmax(0,1fr);grid-template-rows:48vh auto}.map-area{grid-column:2;grid-row:1;position:relative;min-height:320px;background:var(--soft)}#map{position:absolute;inset:0}#map-status{position:absolute;top:8px;left:12px;right:12px;z-index:2;background:var(--panel);padding:10px;border-radius:10px;font-size:12px}#placeholder{position:relative;padding:90px 25px 20px}h1{font-size:30px}h2{font-size:21px}aside{grid-column:1;grid-row:1/3;background:var(--panel);border-right:1px solid var(--line)}.sheet-content{padding:20px;max-height:100dvh;overflow:auto}label{display:block;font-size:12px;margin:8px 0}#search{width:100%}#resorts,.cameras{display:grid;gap:8px;margin:16px 0 24px}#resorts button,.cameras button{text-align:left}button small{display:block;margin-top:5px}#archive{grid-column:2;padding:24px;min-width:0}#dates,.available,#map-resorts{display:flex;gap:8px;flex-wrap:wrap}.date-group{flex:1;min-width:220px}.available{margin:10px 0}.available button{font-size:11px;padding:5px}.date-group select{width:100%}#notice{font-size:13px}#images{display:grid;gap:12px}#images.comparison{grid-template-columns:1fr 1fr}figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}figure button{display:block;padding:0;border:0;width:100%}figure img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}figcaption{padding:10px;line-height:1.6}.empty{padding:30px 15px;border:1px dashed var(--line)}.sheet-controls{display:none}dialog{width:min(1100px,96vw);max-height:94dvh;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:15px}dialog::backdrop{background:#061319cc}dialog img{width:100%;max-height:72dvh;object-fit:contain}#offline{position:fixed;bottom:10px;left:10px;right:10px;z-index:5;background:var(--panel);border:2px solid var(--accent);padding:12px}[hidden]{display:none!important}@media(max-width:760px){header{padding:12px}.brand{font-size:21px}.tagline{display:none}header button{font-size:12px}.badge{font-size:10px}main{display:flex;flex-direction:column}.map-area{min-height:42dvh}aside{border-radius:20px 20px 0 0}.sheet-controls{display:flex;justify-content:center;gap:8px;padding:10px}.sheet-content{max-height:46dvh;padding:16px}aside[data-height=compact] .sheet-content{max-height:110px}aside[data-height=expanded] .sheet-content{max-height:75dvh}#archive{padding:20px 16px}.date-group{min-width:100%}figcaption{font-size:11px}#images.comparison{gap:6px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}
