@font-face{font-family:Cofo Kak;src:url(/fonts/CofoKak-Black.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--night: #0c1522;--dusk: #1d3349;--frost: #c5d3dc;--snow: #e6eef3;--line: rgba(230, 238, 243, .14);--line-strong: rgba(230, 238, 243, .3);--ease: cubic-bezier(.22, 1, .36, 1);--sheet-ease: cubic-bezier(.32, .72, 0, 1);--spring: cubic-bezier(.34, 1.45, .64, 1);--dock: calc(84px + env(safe-area-inset-bottom)) ;--panel: min(420px, 44vw);color-scheme:dark;font-family:Inter,Segoe UI,sans-serif;font-size:16px;line-height:1.35;color:var(--snow);background:var(--night)}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;overscroll-behavior:none}body{margin:0;overflow:hidden;overscroll-behavior:none;background:var(--night);color:var(--snow)}button,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--snow);outline-offset:3px}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.display{font-family:Cofo Kak,Inter,sans-serif;font-weight:900;font-synthesis:none;letter-spacing:-.04em}.press:active:not(:disabled){transform:scale(.97)}.top,.zoom,.stations,.sheet-head,.switch,.gallery,.dock,.viewer,.map-wrap{-webkit-user-select:none;user-select:none}@media(hover:hover){.day:not([aria-checked=true]):hover{border-color:var(--frost)}.station:hover .station-photo{border-color:var(--frost)}.station[aria-checked=true]:hover .station-photo{border-color:var(--snow)}.zoom button:hover,.sheet-x:hover,.viewer-close:hover{background:var(--dusk)}.switch-option:not([aria-checked=true]):hover{color:var(--frost)}.write:hover{filter:brightness(1.05)}}.app{height:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--night)}.top{position:relative;z-index:6;flex:none;display:grid;grid-template-columns:minmax(0,1fr);padding-top:env(safe-area-inset-top);background:var(--night)}.mast{grid-area:1 / 1;text-align:center}.wordmark{padding:14px 16px 12px;font-size:clamp(26px,calc((100vw - 116px) / 8.2),52px);line-height:.88}.dates{grid-area:2 / 1;min-width:0;background:var(--dusk);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.channel{grid-area:1 / 1;justify-self:end;align-self:center;z-index:1;margin-right:10px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);color:var(--snow);display:grid;place-items:center;transition:transform .16s var(--ease),background-color .16s var(--ease)}.channel svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;stroke-linecap:round}@media(hover:hover){.channel:hover{background:var(--dusk)}}.stage{position:relative;flex:1;min-height:0;overflow:hidden}.days{position:relative;display:flex;gap:8px;min-width:0;padding:10px 12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none}.days::-webkit-scrollbar{display:none}.days-thumb{position:absolute;left:0;top:0;z-index:0;border-radius:999px;background:var(--snow);pointer-events:none;transition:transform .34s var(--sheet-ease),width .34s var(--sheet-ease)}.day{position:relative;z-index:1;flex:0 0 auto;scroll-snap-align:start;min-width:64px;height:58px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--snow);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;transition:color .24s var(--ease),border-color .24s var(--ease),transform .16s var(--ease)}.day[aria-checked=true]{color:var(--night);border-color:transparent}.day-num{font-size:26px;line-height:.95}.day-sub{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2}.map-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:var(--dusk);--pin: 34px}.map-wrap .map-live{position:absolute;top:0;right:0;bottom:0;left:0;width:auto;height:auto}.map-live .maplibregl-canvas{outline:none}.map-error{position:absolute;z-index:3;top:12px;left:12px;right:68px;margin:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--night);font-size:12px}.zoom{position:absolute;z-index:3;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;visibility:visible;transition:right .46s var(--sheet-ease),opacity .22s var(--ease),visibility 0s}.app.zoom-hidden .zoom{opacity:0;visibility:hidden;transition:opacity .18s var(--ease),visibility 0s .18s}.zoom button{width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--night);color:var(--snow);display:grid;place-items:center;transition:transform .16s var(--ease),background-color .16s var(--ease)}.zoom svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.zoom button:active{background:var(--dusk)}.pin{width:0;height:0}.pin.is-selected{z-index:3}.pin-move{position:absolute;left:0;top:0;animation:pin-in .48s var(--spring) both;animation-delay:var(--delay, 0ms)}.pin-face{position:absolute;left:calc(var(--pin) / -2);top:calc(var(--pin) / -2);width:var(--pin);height:var(--pin);padding:0;border:0;border-radius:50%;background:transparent;transition:transform .3s var(--spring)}.pin-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid var(--snow);background:var(--dusk)}.pin--stack .pin-photo--b1{transform:translate(-30%,-8%) rotate(-12deg) scale(.88)}.pin--stack .pin-photo--b2{transform:translate(30%,-8%) rotate(12deg) scale(.88)}.pin-count{position:absolute;z-index:2;top:-5px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--snow);color:var(--night);font:700 11px/20px Inter,sans-serif;text-align:center;box-shadow:0 0 0 2px var(--night)}.pin-name{position:absolute;left:0;top:calc(var(--pin) / 2 + 7px);padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong);background:var(--night);color:var(--snow);font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,-4px);transition:opacity .22s var(--ease),transform .3s var(--ease),top .3s var(--spring)}.map-wrap.show-names .pin-name,.pin.is-selected .pin-name{opacity:1;transform:translate(-50%)}.pin.is-selected .pin-face{transform:scale(1.22)}.pin.is-selected .pin-name{top:calc(var(--pin) * .61 + 8px);border-color:var(--snow);background:var(--snow);color:var(--night)}.pin-face:active{transform:scale(.92)}.pin.is-selected .pin-face:active{transform:scale(1.14)}@media(hover:hover){.pin-face:hover{transform:scale(1.08)}.pin.is-selected .pin-face:hover{transform:scale(1.22)}}.stations{position:absolute;z-index:2;left:0;right:0;bottom:var(--dock);padding:22px 0 8px;background:linear-gradient(to top,#0c1522f0 34%,#0c152200);pointer-events:none;visibility:visible;transition:opacity .28s var(--ease),transform .46s var(--sheet-ease),visibility 0s}.stations-row{display:flex;gap:4px;padding:0 10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:10px;scrollbar-width:none;pointer-events:auto;justify-content:safe center}.stations-row::-webkit-scrollbar{display:none}.station{position:relative;flex:0 0 84px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:5px;padding:4px 2px;border:0;background:transparent;color:var(--snow);animation:rise-in .46s var(--ease) both;animation-delay:calc(var(--i) * 45ms + 80ms);transition:transform .16s var(--ease)}.station-photo{display:block;width:58px;height:58px;padding:2px;border-radius:50%;border:2px solid var(--line-strong);transition:border-color .22s var(--ease),transform .3s var(--spring)}.station-photo img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}.station[aria-checked=true] .station-photo{border-color:var(--snow);transform:scale(1.06)}.station-count{position:absolute;top:2px;right:10px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--snow);color:var(--night);font:700 11px/20px Inter,sans-serif;text-align:center;box-shadow:0 0 0 2px var(--night)}.station-name{max-width:82px;font-size:10.5px;font-weight:700;letter-spacing:.01em;line-height:1.15;text-align:center;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.app.is-open:not(.is-wide) .stations{opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .2s var(--ease),transform .46s var(--sheet-ease),visibility 0s .2s}.sheet{position:absolute;z-index:4;left:0;right:0;bottom:var(--dock);display:flex;flex-direction:column;overflow:hidden;visibility:visible;background:var(--night);border-top:1px solid var(--line-strong);border-radius:22px 22px 0 0;touch-action:none;will-change:transform;transition:height .46s var(--sheet-ease),transform .46s var(--sheet-ease),visibility 0s}.sheet.is-closed{transform:translateY(calc(100% + var(--dock) + 24px));visibility:hidden;transition:height .46s var(--sheet-ease),transform .46s var(--sheet-ease),visibility 0s .46s}.sheet-head{position:relative;flex:none;display:flex;align-items:center;gap:12px;padding:20px 12px 8px 18px;cursor:grab}.grab{position:absolute;top:0;left:50%;width:140px;height:20px;margin-left:-70px;padding:0;border:0;background:transparent;display:grid;place-items:center}.grab:before{content:"";width:112px;height:5px;border-radius:99px;background:var(--line-strong);transition:background-color .2s}.grab:active:before,.sheet:active .grab:before{background:var(--frost)}.sheet-title{flex:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.sheet-title h2{margin:0;font-size:26px;line-height:1}.sheet-sub{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--frost)}.sheet-x{flex:none;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--snow);display:grid;place-items:center;transition:transform .16s var(--ease)}.sheet-x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.sheet-body{flex:1;min-height:0;display:flex;flex-direction:column}.detail{flex:1;min-height:0;display:flex;flex-direction:column;padding-bottom:12px;animation:content-in .3s var(--ease) both}.detail-place{flex:1;min-height:0;display:flex;flex-direction:column}.switch{position:relative;flex:none;display:flex;gap:2px;width:fit-content;max-width:calc(100% - 32px);margin:2px 16px 10px;padding:4px;border-radius:999px;background:var(--dusk)}.switch-thumb{position:absolute;top:4px;bottom:4px;left:0;border-radius:999px;background:var(--snow);pointer-events:none;transition:transform .34s var(--sheet-ease),width .34s var(--sheet-ease)}.switch-option{position:relative;z-index:1;display:flex;align-items:center;gap:8px;height:40px;padding:4px 14px 4px 4px;border:0;border-radius:999px;background:transparent;color:var(--snow);font-weight:700;font-size:15px;transition:color .24s var(--ease),transform .16s var(--ease)}.switch-option img{width:32px;height:32px;border-radius:50%;object-fit:cover}.switch-option[aria-checked=true]{color:var(--night)}.gallery{position:relative;flex:1 1 auto;min-height:96px;display:flex;flex-direction:column}.shots{flex:1;min-height:0;display:flex;gap:8px;padding:0 16px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none;touch-action:pan-x;-webkit-overflow-scrolling:touch}.shots::-webkit-scrollbar{display:none}.shot{position:relative;flex:0 0 auto;height:100%;aspect-ratio:3 / 4;max-width:84%;scroll-snap-align:start;padding:0;border:0;border-radius:18px;overflow:hidden;background:var(--dusk);cursor:zoom-in;contain:layout paint style;transition:transform .16s var(--ease)}.shot:only-child{max-width:100%}.shot-blur{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;background-size:cover;background-position:center;filter:blur(14px)}.shot-media{position:relative;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .38s var(--ease)}.shot-media.is-loaded{opacity:1}.shot-badge{position:absolute;top:8px;left:8px;width:26px;height:26px;border-radius:50%;background:#0c1522b8;display:grid;place-items:center}.shot-badge svg{width:11px;height:11px;fill:var(--snow)}.dots{flex:none;display:flex;justify-content:center;gap:5px;padding-top:8px}.dot{width:5px;height:5px;border-radius:3px;background:var(--line-strong);transition:width .28s var(--ease),background-color .28s var(--ease)}.dot.is-on{width:16px;background:var(--snow)}.gallery-arrow{display:none}@media(hover:hover)and (pointer:fine){.gallery-arrow{position:absolute;z-index:2;top:calc(50% - 30px);display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:#0c1522db;color:var(--snow);transition:transform .16s var(--ease),opacity .2s}.gallery-arrow--prev{left:22px}.gallery-arrow--next{right:22px}.gallery-arrow:disabled{opacity:0;pointer-events:none}.gallery-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}}.line{flex:none;margin:10px 16px 0;font-size:14px;color:var(--frost)}.widgets{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 16px 0;animation:content-in .34s var(--ease) both}.widget{min-width:0;padding:9px 12px 10px;border-radius:16px;background:var(--dusk);display:flex;flex-direction:column;gap:4px}.widget-kicker{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--frost)}.widget-row{display:flex;align-items:center;gap:8px;min-height:32px}.widget-num{font-size:clamp(26px,7.4vw,34px);line-height:1;white-space:nowrap}.widget-foot{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:11px;color:var(--frost)}.glyph{width:30px;height:30px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sun-arc{width:44px;min-width:32px;height:30px;flex:none;fill:none;stroke:var(--frost);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.sun-arc .sun-arc-set{fill:var(--snow);stroke:var(--snow)}.dock{position:absolute;z-index:5;left:0;right:0;bottom:0;height:var(--dock);padding:10px 16px calc(12px + env(safe-area-inset-bottom));background:var(--night);border-top:1px solid var(--line)}.write{display:flex;align-items:center;justify-content:center;width:100%;height:62px;border-radius:999px;background:var(--snow);color:var(--night);text-decoration:none;text-transform:uppercase;font-family:Cofo Kak,Inter,sans-serif;font-weight:900;font-synthesis:none;font-size:32px;letter-spacing:-.04em;line-height:1;transition:transform .16s var(--ease),background-color .16s var(--ease)}.write:active{background:var(--frost)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;touch-action:none}.viewer-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--night);transition:opacity .32s var(--ease)}.viewer.is-entering .viewer-bg{animation:fade-in .24s var(--ease) both}.viewer.is-pulling .viewer-bg{transition:none}.viewer.is-leaving{animation:fade-out .2s var(--ease) both}.viewer-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x}.viewer-track::-webkit-scrollbar{display:none}.viewer-slide{position:relative;flex:0 0 100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always}.viewer-stage{position:absolute;inset:calc(64px + env(safe-area-inset-top)) 12px calc(28px + env(safe-area-inset-bottom));display:grid;place-items:center}.viewer-box{position:relative;border-radius:16px;overflow:hidden;background:var(--dusk);transition:transform .32s var(--ease)}.viewer-box.is-entering{animation:frame-in .32s var(--ease) both}.viewer-media{display:block;width:100%;height:100%;object-fit:cover;background:var(--dusk)}.viewer-top{position:absolute;z-index:2;top:env(safe-area-inset-top);left:0;right:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 18px;pointer-events:none}.viewer-count{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--frost)}.viewer-close{pointer-events:auto;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--night);color:var(--snow);display:grid;place-items:center;transition:transform .16s var(--ease)}.viewer-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.viewer-arrow{display:none}@media(hover:hover)and (pointer:fine){.viewer-arrow{position:absolute;z-index:2;top:calc(50% - 24px);display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--night);color:var(--snow);transition:transform .16s var(--ease),opacity .2s}.viewer-arrow--prev{left:20px}.viewer-arrow--next{right:20px}.viewer-arrow:disabled{opacity:0;pointer-events:none}.viewer-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}}::view-transition-group(frame){animation-duration:.42s;animation-timing-function:var(--sheet-ease)}::view-transition-old(frame),::view-transition-new(frame){height:100%;object-fit:cover;overflow:clip}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}.app.is-wide{--dock: 84px}.app.is-wide .zoom{top:20px;right:20px}.app.is-wide.is-open .zoom{right:calc(var(--panel) + 40px)}.app.is-wide .stations{left:20px;right:calc(var(--panel) + 40px);bottom:20px;padding:10px 0 8px;border:1px solid var(--line);border-radius:22px;background:#0c1522e6;pointer-events:auto}.app.is-wide .sheet{top:20px;right:20px;left:auto;bottom:calc(var(--dock) + 28px);width:var(--panel);height:auto!important;border:1px solid var(--line-strong);border-radius:22px;touch-action:auto}.app.is-wide .sheet.is-closed{transform:translate(calc(100% + 40px))}.app.is-wide .sheet-head{cursor:default;padding-top:14px}.app.is-wide .dock{left:auto;right:20px;bottom:20px;width:var(--panel);padding:10px;border:1px solid var(--line);border-radius:22px}@media(min-width:960px){.wordmark{font-size:60px;padding:18px 28px 14px}.days{padding-left:28px;padding-right:28px;scroll-padding-inline:28px}.channel{width:44px;height:44px;margin-right:24px}}@media(max-height:700px)and (orientation:portrait){.wordmark{font-size:clamp(26px,calc((100vw - 116px) / 8.2),34px);padding:10px 16px 8px}.channel{width:36px;height:36px}.days{padding-block:7px}.day{height:50px}.day-num{font-size:22px}}@media(orientation:landscape)and (max-height:520px){.app.is-wide{--dock: 64px;--panel: min(420px, 50vw)}.top{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.mast{grid-area:1 / 1}.wordmark{font-size:24px;padding:8px 16px}.dates{grid-area:1 / 2;border-top:0;border-bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}.channel{grid-area:1 / 3;margin:0 10px;width:36px;height:36px}.days{padding-block:6px}.day{height:42px;min-width:52px}.day-num{font-size:19px}.write{height:46px;font-size:24px}.app.is-wide .dock{bottom:10px;padding:8px}.app.is-wide .sheet{top:8px;bottom:calc(var(--dock) + 18px)}.app.is-wide .zoom{top:8px}.app.is-wide .stations{bottom:10px;padding:6px 0 4px}.station{flex-basis:58px;gap:2px}.station-photo{width:44px;height:44px}.station-name{display:none}.sheet-head{padding:8px 8px 2px 14px}.sheet-title h2{font-size:18px}.sheet-x{width:32px;height:32px}.detail{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr);column-gap:8px;padding-bottom:8px}.switch{grid-column:1 / -1;margin:2px 12px 6px;padding:3px}.switch-thumb{top:3px;bottom:3px}.switch-option{height:30px;padding:3px 10px 3px 3px;font-size:13px}.switch-option img{width:24px;height:24px}.detail-place,.gallery{min-height:0}.shots{padding:0 0 0 12px;scroll-padding-inline:12px}.widgets{grid-template-columns:1fr;align-content:start;margin:0 12px 0 0;gap:6px}.widget{padding:6px 10px;gap:2px}.widget-kicker{font-size:9px}.widget-row{min-height:22px}.widget-num{font-size:20px}.widget-foot{font-size:10px}.glyph{width:20px;height:20px}.sun-arc{width:32px;height:22px}.dots{display:none}}@keyframes pin-in{0%{transform:translate(var(--from-x, 0px),var(--from-y, 0px)) scale(.6);opacity:0}to{transform:none;opacity:1}}@keyframes rise-in{0%{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}@keyframes shot-in{0%{transform:translateY(10px) scale(.98);opacity:0}to{transform:none;opacity:1}}@keyframes content-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@keyframes frame-in{0%{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
