:root{--ink:#11394e;--mist:#1b4255;--panel:#ecf8fa9e;--surface:#f4fbfcf0;--line:color-mix(in srgb, var(--ink) 26%, transparent);--font-sans:"Noto Sans JP", sans-serif;--font-mono:"DM Mono", monospace;--fs-label:clamp(11px, 10.5px + .1vw, 12px);--fs-small:13px;--fs-body:clamp(14px, 13.3px + .2vw, 16px);--fs-lead:clamp(15px, 14px + .3vw, 18px);--fs-h3:clamp(16px, 15px + .3vw, 20px);--fs-heading:clamp(30px, 22px + 2.2vw, 56px);--fs-section:clamp(32px, 24px + 3.6vw, 80px);--fs-display:clamp(32px, 18px + 5.9vw, 104px);--tracking-label:.12em;--tracking-heading:-.03em}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#83c6eb}body{min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);background:linear-gradient(#79c4ed,#e6f5f7);margin:0;transition:background 1.4s,color 1.4s}h1,h2,h3,p{word-break:auto-phrase;text-wrap:pretty}.sky-loader{z-index:20;background:inherit;color:var(--mist);font:var(--fs-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);opacity:0;visibility:hidden;pointer-events:none;place-content:center;justify-items:center;gap:22px;transition:opacity 1s,visibility 0s 1s;display:grid;position:fixed;inset:0}:root.is-loading .sky-loader{opacity:1;visibility:visible;transition:none}.sky-loader i{background:var(--orb-core,#fff);width:14px;height:14px;box-shadow:0 0 18px 6px color-mix(in srgb, var(--orb-light,#fff4cf) 70%, transparent);border-radius:50%;animation:2.2s ease-in-out infinite breathe}@keyframes breathe{50%{box-shadow:0 0 34px 14px color-mix(in srgb, var(--orb-light,#fff4cf) 45%, transparent);transform:scale(1.35)}}#cloudscape{z-index:0;width:100%;height:100%;transition:opacity .7s;position:fixed;inset:0}.grain{z-index:1;pointer-events:none;opacity:.22;position:fixed;inset:0}.site-header{z-index:3;font:var(--fs-label)/1 var(--font-mono);letter-spacing:.14em;align-items:center;gap:13px;display:flex;position:fixed;top:24px;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px)}.site-header a{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);backdrop-filter:blur(8px);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:0 0 36px;place-items:center;font-size:10px;text-decoration:none;display:grid}@media (width<=600px){.site-header>span{display:none}}.site-header>span,.site-header .weather-tag{background:color-mix(in srgb, var(--surface) 70%, transparent);backdrop-filter:blur(8px);border-radius:999px;padding:9px 14px}.site-header .weather-tag{min-width:0;color:var(--mist);letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.site-header .lang-switch{width:auto;font-size:inherit;border-radius:18px;margin-left:auto;padding:0 14px}main{z-index:2;position:relative}a{color:inherit}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::selection{background:color-mix(in srgb, var(--orb-light,#fff4cf) 60%, transparent);color:var(--ink)}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.weather-tag{color:var(--mist);font:inherit;letter-spacing:inherit;cursor:pointer;border:0;align-items:center;gap:8px;display:flex}.weather-tag:hover,.weather-tag:focus-visible{color:var(--ink)}.weather-tag[hidden]{display:none}.weather-tag-text{text-overflow:ellipsis;overflow:hidden}@media (width<=600px){.weather-tag-prefix{display:none}}.site-header .weather-tag.is-pending{background-image:linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--ink) 16%, transparent) 50%, transparent 70%);background-size:220% 100%;animation:1.1s linear infinite sweep}.map-viewport.is-pending:after{content:"";background:linear-gradient(90deg, transparent, var(--ink), transparent) 0 0/40% 100% no-repeat;height:2px;animation:1s ease-in-out infinite run;position:absolute;top:0;left:0;right:0}@keyframes sweep{0%{background-position:110% 0}to{background-position:-110% 0}}@keyframes run{0%{background-position:-40% 0}to{background-position:140% 0}}.weather-tag.is-calm .weather-vane{display:none}.weather-vane{transform:rotate(var(--wind-deg,0deg));animation:vane calc(4s - var(--wind-speed,0) * .18s) ease-in-out infinite;flex-shrink:0;font-style:normal;display:inline-block}@keyframes vane{50%{rotate:calc(var(--wind-speed,0) * 1.2deg)}}.sky-picker{border:1px solid var(--line);background:var(--surface);width:min(1080px,100vw - 24px);max-width:none;max-height:calc(100svh - 24px);color:var(--ink);padding:clamp(20px,3.5vw,40px);overflow:auto}.sky-picker[open]{animation:.6s cubic-bezier(.2,.7,.2,1) picker-arrive}.sky-picker::backdrop{background:color-mix(in srgb, var(--panel) 50%, transparent);backdrop-filter:blur(6px)}.sky-picker header{padding-right:48px;position:relative}.sky-picker h2{font-size:var(--fs-heading);letter-spacing:var(--tracking-heading);margin:12px 0 14px;font-weight:300;line-height:1.15}.sky-picker-label,.map-list summary{color:var(--mist);font:var(--fs-label)/1.5 var(--font-mono);letter-spacing:var(--tracking-label);margin:0}.sky-picker-lead{max-width:560px;color:var(--mist);font-size:var(--fs-small);margin:0 0 22px;line-height:1.9}.sky-picker-close{width:44px;height:44px;color:var(--ink);font:26px/1 var(--font-sans);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:-8px;right:-8px}.map-viewport{border:1px solid var(--line);background:color-mix(in srgb, var(--ink) 5%, transparent);cursor:grab;touch-action:none;user-select:none;height:clamp(260px,50svh,540px);position:relative;overflow:hidden}.map-viewport:active{cursor:grabbing}.map-stage{transform-origin:0 0;width:1000px;height:394.4px;position:absolute;top:0;left:0}.map-land,.map-night{width:100%;height:100%;position:absolute;inset:0}.map-land{transform-origin:0 0}.map-night{width:3000px;left:-1000px}.map-land{opacity:.34}.map-night path{fill:#06102833}.map-markers{pointer-events:none;position:absolute;inset:0}.map-markers button{pointer-events:auto;cursor:pointer;position:absolute;top:0;left:0}.map-city{color:var(--ink);font:var(--fs-label)/1 var(--font-mono);letter-spacing:.06em;white-space:nowrap;text-shadow:0 0 6px var(--surface), 0 0 2px var(--surface);background:0 0;border:0;align-items:baseline;gap:6px;padding:4px 6px 4px 0;display:flex;translate:-5px -50%}.map-city i{border:1.5px solid var(--ink);background:var(--ink);border-radius:50%;align-self:center;width:10px;height:10px}.map-city b{font-weight:400}.map-city small{color:var(--mist);font-size:inherit}.map-city.is-night i{background:var(--surface)}.map-city:hover,.map-city:focus-visible{z-index:3}.map-city:hover b,.map-city:focus-visible b{text-underline-offset:3px;text-decoration:underline}.map-city.is-current i{animation:2.4s ease-out infinite ripple}.map-city[aria-busy=true] i{animation:.8s ease-out infinite ripple}.map-cluster{width:calc(28px + var(--count) * 2.5px);aspect-ratio:1;z-index:2;border:4px solid color-mix(in srgb, var(--ink) 18%, transparent);background:color-mix(in srgb, var(--ink) 82%, transparent);color:var(--surface);font:var(--fs-label)/1 var(--font-mono);background-clip:padding-box;border-radius:50%;place-items:center;transition:border-color .3s;display:grid;translate:-50% -50%}.map-cluster:hover,.map-cluster:focus-visible{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.map-cluster.is-current{animation:2.4s ease-out infinite ripple}.map-controls{justify-content:flex-end;gap:4px;margin-top:8px;display:flex}.map-controls button{border:1px solid var(--line);background:var(--surface);min-width:38px;height:38px;color:var(--ink);font:var(--fs-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);cursor:pointer;padding:0 10px}.map-controls [data-zoom=in],.map-controls [data-zoom=out]{font-size:var(--fs-h3)}.sky-picker footer{flex-wrap:wrap;align-items:flex-start;gap:14px 20px;margin-top:4px;display:flex}.map-status{min-height:1.8em;color:var(--mist);font-size:var(--fs-small);flex:260px;margin:0;line-height:1.8}.map-list{flex-basis:100%;order:3}.map-list summary{cursor:pointer}.map-list ul{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.map-list button{border:1px solid var(--line);color:var(--ink);font:var(--fs-label)/1 var(--font-mono);letter-spacing:.06em;cursor:pointer;background:0 0;padding:7px 10px}.map-list button:hover{border-color:var(--ink)}.map-random{border:1px solid var(--ink);color:var(--ink);font:var(--fs-label)/1 var(--font-mono);letter-spacing:var(--tracking-label);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;transition:background .3s;display:inline-flex}.map-random b{font-weight:400}.map-random:hover,.map-random:focus-visible{background:var(--ink);color:var(--surface)}@keyframes ripple{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ink) 45%, transparent)}to{box-shadow:0 0 0 12px #0000}}@keyframes picker-arrive{0%{opacity:0;transform:translateY(16px)}}
