:root{color-scheme:dark;--bg:#0c151c;--panel:#101d25;--line:#ffffff18;--muted:#8fa6b3;--ink:#ecf1ef;--accent:#e5c394}*{box-sizing:border-box}body{margin:0;font-family:Manrope,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:5px}button:hover{background:#ffffff12;border-color:#a6bdc455}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #acd6e9;outline-offset:3px}a{color:inherit}#map{position:absolute;inset:78px 0 0 330px}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#0c161e;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:12px;letter-spacing:2px}.brand b{display:block;font-size:10px;margin-top:5px;color:var(--muted);font-weight:500}.mark{font-size:34px;letter-spacing:-4px;font-weight:800;color:var(--accent)}.mark span{font-size:18px;vertical-align:top}.edition{font-size:10px;letter-spacing:1.7px;color:var(--muted);display:flex;align-items:center;gap:14px}.edition strong{font-size:26px;color:var(--ink);letter-spacing:-1px}.edition i{width:6px;height:6px;border-radius:50%;background:#9fcaab}header button{padding:10px 16px;font-size:12px}aside{position:absolute;top:78px;bottom:0;left:0;width:330px;padding:28px;background:linear-gradient(155deg,#14232c,#0d171f);border-right:1px solid var(--line);overflow:auto;z-index:3}.eyebrow{font-size:9px;letter-spacing:1.9px;color:#9db9be}h1{font-size:42px;line-height:1.1;letter-spacing:-1.8px;font-weight:500;margin:25px 0 18px}h1 em{font-style:normal;color:var(--accent);font-size:36px}.intro{font-size:12px;line-height:1.8;color:var(--muted)}.season{font-size:9px;letter-spacing:.8px;display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.season b{color:var(--accent);font-weight:500}.search{display:flex;align-items:center;border:1px solid #ffffff25;border-radius:5px;padding:10px;gap:10px;margin-top:22px}.search span{font-size:23px;color:var(--accent)}.search input{width:100%;min-width:0;background:none;border:0;color:white;font-size:11px;outline:0}#results{background:#1a2c37;padding:5px;max-height:230px;overflow:auto}#results button{display:block;width:100%;text-align:left;padding:10px;border:0;font-size:11px}#results small{display:block;color:var(--muted)}.section-title{display:flex;gap:10px;font-size:9px;color:var(--accent);letter-spacing:1.5px;margin:23px 0 13px}.section-title span{color:var(--muted)}.switch{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:12px 0;cursor:pointer}.switch.small{font-size:10px;color:var(--muted)}input[type=checkbox]{accent-color:#dab27e;width:16px;height:16px;cursor:pointer}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:5px}.segmented button{border:0;padding:9px;flex:1;font-size:11px}.segmented .active{background:#adc5cf;color:#10212b}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:6px}.destinations button{padding:11px 8px;font-size:10px;text-align:left}.destinations span{float:right;color:var(--accent)}.data-note{margin-top:25px;color:var(--muted);font-size:10px;line-height:1.8}.related{display:block;font-size:10px;text-decoration:none;color:#b5c8ca;margin-top:16px}.map-tools{position:absolute;right:20px;top:96px;display:flex;gap:6px;z-index:2}.map-tools button{padding:11px 14px;background:#10202ce8;font-size:11px}#panel-toggle{display:none}.legend{position:absolute;bottom:48px;left:355px;width:350px;padding:20px;background:#10202ce8;border:1px solid #ffffff25;border-radius:8px;backdrop-filter:blur(15px);z-index:2}.legend-top,.ticks,.legend-foot{display:flex;justify-content:space-between}.legend-top{font-size:9px;letter-spacing:1.2px}.legend-top span{color:var(--accent)}.ramp{height:9px;border-radius:3px;margin:16px 0 7px;background:linear-gradient(90deg,#313696,#4575b4,#75acd0,#aad9e9,#ffffbf,#fee090,#fdae61,#f46d43,#a20025)}.ticks{font-size:10px;color:#bbc9ce}.legend p{font-size:10px;color:var(--muted);margin:10px 0 14px}.legend-foot{border-top:1px solid var(--line);padding-top:12px;font-size:9px;color:var(--muted)}.legend-foot b{color:var(--ink);font-weight:500}.gesture{position:absolute;bottom:18px;left:355px;color:#adc0ca;font-size:9px;background:#0d1820bc;padding:5px 9px;border-radius:3px}#loading{position:absolute;top:44%;left:calc(50% + 165px);transform:translate(-50%,-50%);padding:24px 32px;background:#13232fef;border:1px solid #ffffff20;display:flex;flex-direction:column;align-items:center;gap:15px;z-index:4;border-radius:10px;text-align:center}#loading[hidden]{display:none}#loading span:last-child{font-size:11px;color:var(--muted)}.spinner{width:25px;height:25px;border:2px solid #ffffff20;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#info{position:absolute;right:20px;top:152px;width:300px;max-height:calc(100vh - 220px);overflow:auto;padding:25px;background:#10202cf5;border:1px solid #adc6d333;border-radius:8px;z-index:3}#close-info,#about-close{position:absolute;right:12px;top:8px;border:0;font-size:24px}h2{font-size:24px;font-weight:500;letter-spacing:-.5px}.reading>span{font-size:40px;color:var(--accent);letter-spacing:-2px}.reading small{display:block;color:var(--muted);font-size:10px;margin:5px 0}#info-anomaly{font-size:11px;color:#bacdd7}dl{font-size:11px;display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;border-top:1px solid var(--line);padding-top:16px}dt{color:var(--muted)}dd{margin:0;text-align:right;overflow-wrap:anywhere}#info-note{font-size:10px;line-height:1.7;color:var(--muted)}#osm-link{font-size:10px;color:var(--accent)}dialog{max-width:620px;width:calc(100% - 35px);max-height:85vh;background:#14232d;color:var(--ink);border:1px solid #ffffff33;border-radius:10px;padding:38px}dialog::backdrop{background:#030a10bb;backdrop-filter:blur(6px)}dialog p{font-size:13px;line-height:1.8;color:#b9c9cf}dialog h3{font-size:14px;color:var(--accent);margin-top:25px}dialog a{font-size:12px}.maplibregl-ctrl-group{background:#14242c!important}.maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert(1)}body.collapsed aside{display:none}body.collapsed #map{left:0}body.collapsed .legend,body.collapsed .gesture{left:25px}#panel-toggle{display:block}.maplibregl-ctrl-attrib{font-size:9px!important}
@media(max-height:850px) and (min-width:761px){aside{padding:20px 25px}h1{font-size:32px;margin:17px 0 10px}h1 em{font-size:29px}.intro{font-size:11px}.section-title{margin-top:17px}.search{margin-top:15px}.season{padding:10px 0}.data-note{margin-top:15px}}
@media(max-width:760px){header{height:64px;padding:0 16px}.brand{font-size:10px;gap:10px}.edition{display:none}#map{inset:64px 0 0}aside{top:64px;width:300px;box-shadow:10px 0 50px #0008;bottom:0}body:not(.panel-open) aside{display:none}.map-tools{top:78px;right:12px}.map-tools button{padding:10px}.legend{left:14px!important;bottom:42px;width:calc(100% - 28px);padding:14px;max-width:350px}.gesture{display:none}#info{right:14px;top:130px;width:calc(100% - 28px);max-width:320px;max-height:calc(100vh - 340px)}#loading{left:50%;max-width:90%;min-width:260px}h1{font-size:34px}.maplibregl-ctrl-top-right{top:65px!important}}
.maplibregl-ctrl-top-right{top:65px}

.sun-select{display:flex;align-items:center;justify-content:space-between;margin:14px 0;font-size:11px;color:var(--muted)}.sun-select select{background:#1b303a;color:#e8e5d9;border:1px solid #ffffff25;border-radius:4px;padding:7px;font:inherit}#render-note{font-size:9px;line-height:1.6;color:var(--muted);margin:10px 0}.render-mode .legend .ramp,.render-mode .legend .ticks{display:none}.render-mode .legend p{margin-top:15px}.render-mode header{border-bottom-color:#d5c6a738}.render-mode .legend{background:#15242eea}

.overlay-control{display:block;color:var(--muted);font-size:10px;margin:16px 0}.overlay-control output{float:right;color:var(--accent)}.overlay-control input{display:block;width:100%;margin:12px 0;accent-color:#dab27e}.segmented button{white-space:nowrap;padding:9px 6px}

.ramp{background:linear-gradient(90deg,#2334bb,#226cea,#16abe0,#23c9bf,#93d83c,#ffe52b,#ffa126,#ef4325,#ad0026)}

#terrain-note{font-size:9px;line-height:1.6;color:var(--muted);margin:8px 0}
.scene-sky{position:absolute;inset:0 0 auto;height:24%;min-height:90px;pointer-events:none;overflow:hidden;z-index:1;background:linear-gradient(#83b9dfdd,#c4deedb0 45%,transparent);transition:background 1s,opacity .6s;mask-image:linear-gradient(#000 65%,transparent)}
.scene-sky[data-time=night]{background:linear-gradient(#040c22,#142440bb 65%,transparent)}.scene-sky[data-time=golden]{background:linear-gradient(#75889dcc,#f7bc81aa,transparent)}
.celestial{position:absolute;right:40%;top:15%;width:36px;height:36px;border-radius:50%;background:#fff5cc;box-shadow:0 0 35px 15px #ffebaa66}
[data-time=night] .celestial{background:#ddeafa;box-shadow:0 0 20px 4px #a4c6ff44;width:24px;height:24px}
.cloud{position:absolute;width:320px;height:65px;background:radial-gradient(ellipse at 30% 55%,#ffffffc0,transparent 42%),radial-gradient(ellipse at 58% 45%,#ffffffe0,transparent 49%),radial-gradient(ellipse at 80% 65%,#ffffffa0,transparent 40%);filter:blur(7px);animation:cloud-drift 95s linear infinite;left:-350px;top:27%;opacity:.75}
.cloud-b{top:1%;animation-duration:145s;animation-delay:-62s;transform:scale(1.6)}.cloud-c{top:52%;animation-duration:115s;animation-delay:-28s;opacity:.38}
[data-time=night] .cloud{opacity:.23}.paused .cloud{animation-play-state:paused}.stars{display:none;position:absolute;inset:0;background-image:radial-gradient(1px 1px at 12% 20%,#fff,transparent),radial-gradient(1px 1px at 36% 30%,#fff,transparent),radial-gradient(1px 1px at 62% 16%,#fff,transparent),radial-gradient(1px 1px at 88% 38%,#fff,transparent);background-size:230px 110px}[data-time=night] .stars{display:block}
@keyframes cloud-drift{to{left:110%}}
@media(prefers-reduced-motion:reduce){.cloud{animation:none;left:15%}.cloud-b{left:65%}.cloud-c{left:40%}}

#lst-date{max-width:205px}#date-status{font-size:10px;line-height:1.6;color:var(--muted)}

#scale-mode{max-width:190px}#scale-note{font-size:11px;line-height:1.5;color:#91a5af;margin:6px 0 12px}#scale-caption{font-size:11px;color:#b1c2c9;margin:8px 0}.render-mode #scale-caption{display:none}
