:root{--ink: #1b2f52;--btn: #1d5fb8;--btn-hover: #174f9c;--red: #bc002d;--sans: "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Noto Serif JP", "Hiragino Mincho ProN", serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:linear-gradient(#e2ecf6,#f2f6fa 16%);font-family:var(--sans);color:var(--ink);-webkit-tap-highlight-color:transparent}body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#card,#credits,.wh-card,#q{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.wh-card,#sug{touch-action:pan-y;overscroll-behavior:contain}#gl{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab!important}#gl:active{cursor:grabbing!important}#labels,#chips{position:fixed;inset:0;pointer-events:none;overflow:hidden;contain:layout paint}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;transition:opacity .4s ease}#loading.done{opacity:0}html[data-lang=ja] #where-btn{display:none}#loading .bar{position:relative;width:140px;height:3px;overflow:hidden;border-radius:2px;background:#cfdcec}#loading .bar i{position:absolute;top:0;bottom:0;width:40%;border-radius:2px;background:#2f7acb;animation:vt-load 1.1s ease-in-out infinite}#loading p{margin:0;font-size:13px;font-weight:700;color:#51658a}@keyframes vt-load{0%{left:-40%}to{left:100%}}@media(prefers-reduced-motion:reduce){#loading .bar i{animation:none;left:30%}}#labels *,#chips *{touch-action:none}a{color:inherit}:lang(ko){word-break:keep-all}[lang=ja]:not(.wh-card){font-family:var(--sans-ja, var(--sans))}#logo{position:fixed;top:14px;left:16px;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;padding:8px 14px 8px 10px;cursor:pointer;background:#ffffffe0;border-radius:12px;box-shadow:0 1px 8px #1b2f5224;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.sun{grid-row:1 / 3;width:22px;height:22px;border-radius:50%;background:var(--red)}.mark{display:flex;align-items:baseline;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;font-size:17px;line-height:1.2;white-space:nowrap;cursor:pointer}.mark:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.mark b{font-weight:900;letter-spacing:.01em}.by{font-size:11px;color:#51658a;margin-top:1px}.by a{text-decoration:none;border-bottom:1px solid #b6c3d9}#topright{position:fixed;top:14px;right:16px;display:flex;align-items:flex-start;gap:8px;z-index:4}#vr-btn{display:flex;align-items:center;gap:6px;height:40px;padding:0 12px 0 10px;border:0;border-radius:12px;cursor:pointer;white-space:nowrap;box-shadow:0 1px 8px #1b2f5224;font:700 13px var(--sans);color:#fff;background:var(--btn)}#vr-btn:hover{background:var(--btn-hover)}#vr-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#vr-btn[aria-busy]{opacity:.6;cursor:progress}#vr-btn svg{flex:none;display:block}#lang{position:relative}#lang summary{list-style:none;display:flex;align-items:center;gap:6px;height:40px;padding:0 10px 0 12px;border-radius:12px;cursor:pointer;white-space:nowrap;background:#ffffffe0;box-shadow:0 1px 8px #1b2f5224;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:13px;font-weight:700;color:var(--ink)}#lang summary::-webkit-details-marker{display:none}#lang summary:after{content:"";width:6px;height:6px;margin:-3px 2px 0;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg)}#lang[open] summary:after{margin-top:3px;transform:rotate(-135deg)}#lang summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#lang ul{position:absolute;right:0;top:46px;margin:0;padding:4px;list-style:none;min-width:150px;background:#fffffffa;border-radius:12px;box-shadow:0 6px 24px #1b2f5242}#lang a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:700;white-space:nowrap}#lang a:hover,#lang a:focus-visible{background:#e6eefa;outline:none}#lang a[lang=ja]{font-family:"VT Lang JP",var(--sans-ja)}#lang a[aria-current]{background:#eef2f7}@media(max-width:700px){html:not([data-lang=en]):not([data-lang=ja]) #where-btn span{max-width:7em}}#lang a[lang=zh-Hans]{font-family:"VT Lang SC",var(--sans)}#lang a[lang=zh-Hant]{font-family:"VT Lang TC",var(--sans)}#lang a[lang=ko]{font-family:"VT Lang KR",var(--sans)}#search{position:fixed;top:14px;left:50%;transform:translate(-50%);width:min(440px,calc(100vw - 760px));min-width:320px;z-index:3}#search .mag{position:absolute;left:13px;top:12px;color:#51658a;pointer-events:none}#q{width:100%;height:40px;padding:0 34px 0 36px;border:1px solid #c3d0e4;border-radius:12px;background:#fffffff2;box-shadow:0 1px 8px #1b2f5224;color:var(--ink);font:500 14px var(--sans);outline:none}#q::placeholder{color:#6d7f9f}#q:focus{border-color:var(--ink);box-shadow:0 2px 12px #1b2f5238}#search kbd{position:absolute;right:11px;top:9px;min-width:20px;padding:0 6px;border:1px solid #c3d0e4;border-radius:5px;background:#f2f6fa;color:#51658a;font:600 12px/20px var(--sans);text-align:center;pointer-events:none}#q:focus~kbd,#q:not(:placeholder-shown)~kbd{display:none}@media(pointer:coarse){#search kbd{display:none}}#sug{position:absolute;left:0;right:0;top:46px;margin:0;padding:4px;list-style:none;max-height:min(60vh,420px);overflow-y:auto;background:#fffffffa;border-radius:12px;box-shadow:0 6px 24px #1b2f5242}#sug[hidden]{display:none}#sug li{display:flex;align-items:baseline;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;line-height:1.25}#sug li.active{background:#e6eefa}#sug li.none{color:#6d7f9f;font-size:13px;cursor:default}#sug b{font-size:14px;font-weight:700;white-space:nowrap}#sug small{font-size:11.5px;font-weight:500;color:#4b5f84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}#sug em{margin-left:auto;padding-left:8px;font-style:normal;font-size:10.5px;font-weight:600;color:#51658a;white-space:nowrap}@media(max-width:1100px){#search{top:70px;left:16px;right:16px;transform:none;width:auto;min-width:0}}@media(min-width:701px)and (max-width:1100px)and (hover:hover)and (pointer:fine){#search{right:104px}}@media(max-width:700px){#search{top:62px;left:10px;right:10px}#q{height:42px;font-size:16px}#search .mag{top:13px}#sug{top:48px}}#search-btn{display:none}@media(max-width:700px){#search:not(.open){display:none}#search{top:10px;z-index:5}#search-btn,#vr-btn{display:flex;width:40px;height:40px;padding:0;align-items:center;justify-content:center;border:0;border-radius:12px;box-shadow:0 1px 8px #1b2f5224;cursor:pointer}#search-btn{background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink)}#search-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#vr-btn span{display:none}#vr-btn svg{width:22px;height:22px}#topright{gap:6px}}html.in-vr :is(#labels,#chips,.obs,#where,#vrinfo){visibility:hidden!important}#bottom{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 12px 10px;pointer-events:none}#attr,#hint{pointer-events:auto;font-size:11px;line-height:1.5;color:#51658a;background:#ffffffd1;padding:5px 10px;border-radius:8px}#attr{white-space:nowrap}#credits-btn{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}#credits{position:fixed;left:12px;bottom:44px;width:min(420px,calc(100% - 24px));pointer-events:auto;font-size:12px;line-height:1.55;color:#3f527a;background:#fffffff5;padding:4px 14px;border-radius:10px;box-shadow:0 4px 20px #1b2f5233}#credits[hidden]{display:none}#credits p{margin:8px 0}#hint{order:2;white-space:nowrap}@media(max-width:700px){#bottom{flex-direction:column;align-items:flex-start;gap:6px;padding:0 8px 8px}#hint{order:0;white-space:normal;max-width:calc(100% - 215px);word-break:keep-all}#attr{font-size:10px}#credits{bottom:36px}#logo{top:10px;left:10px;padding:6px 10px 6px 8px}.mark{font-size:14px}html[data-lang=ja] .badge span:first-child{font-size:8px;letter-spacing:0}#topright{top:13px;right:10px}#lang summary{width:40px;padding:0;justify-content:center}#lang summary span,#lang summary:after{display:none}#lang summary svg{width:20px;height:20px}}.spot{position:absolute;left:0;top:0;width:0;height:0;font-family:var(--sans);transition:opacity .2s;will-change:transform}.spot .pin{position:absolute;left:-9px;top:0;transform:translateY(-50%);display:flex;align-items:center;gap:5px;padding:3px 4px;border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;pointer-events:auto;white-space:nowrap}.spot.l .pin{left:auto;right:-9px;flex-direction:row-reverse;text-align:right}.spot.u .pin{left:0;top:0;transform:translate(-50%,calc(-100% + 8px));flex-direction:column-reverse;gap:2px;text-align:center;align-items:center}.spot.u .txt{align-items:center}.spot.uu .pin{transform:translate(-50%,calc(-100% - 36px))}.spot.ul .pin{transform:translate(-24px,calc(-100% + 8px));align-items:flex-start;text-align:left}.spot.ul .txt{align-items:flex-start}.spot.ur .pin{transform:translate(calc(-100% + 24px),calc(-100% + 8px));align-items:flex-end;text-align:right}.spot.ur .txt{align-items:flex-end}.spot .dot{width:10px;height:10px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px #fff;flex:none}.spot .txt{display:flex;flex-direction:column;line-height:1.15}.spot .pin{filter:drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 0 3px #fff)}.spot .txt b{font-size:13px;font-weight:700}.spot .txt small{font-size:10.5px;font-weight:500;color:#4b5f84;margin-top:1px}.spot.area .txt b{font-size:16px;font-weight:900;letter-spacing:.01em}.spot.area .txt small{font-size:11px}.spot.area .dot{width:8px;height:8px;background:#fff;box-shadow:0 0 0 2px var(--ink)}.spot.big .txt b{font-size:16px;font-weight:900;letter-spacing:.01em}.spot.area.sub .txt b{font-size:13px}.spot.area{z-index:1}.spot.hidden,.spot .pin.gone{opacity:0;pointer-events:none}.spot .pin{transition:opacity .2s}.spot.hidden .pin{pointer-events:none}.spot .pin:hover .txt b,.spot .pin:focus-visible .txt b{text-decoration:underline}.spot .pin:focus-visible{outline:2px solid var(--ink);border-radius:6px}.spot.selected .dot,.spot.selected.area .dot{background:var(--ink);box-shadow:0 0 0 2px #fff,0 0 0 4px #1b2f5259;width:12px;height:12px}.spot.station .dot,.spot.terminal .dot{width:7px;height:7px;background:#fff;box-shadow:0 0 0 2px var(--ink)}.spot.station .txt b,.spot.terminal .txt b{font-size:11.5px;font-weight:700}.spot.station .txt small,.spot.terminal .txt small{font-size:10px}.spot.emph .txt b{font-size:13px;font-weight:900}.spot.emph .txt small{font-size:10.5px}.spot.dotonly .txt,.spot.dup .txt{display:none}.spot.dotonly .pin,.spot.dup .pin{pointer-events:none}.spot.caption .dot{display:none}.spot.caption .pin{left:0;transform:translate(-50%,2px);text-align:center}.spot.caption .txt small{font-weight:400}.linelabel{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;align-items:center;line-height:1.12;text-align:center;white-space:nowrap;pointer-events:none;color:var(--c);font-family:var(--sans);transition:opacity .2s;will-change:transform;filter:drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 0 3px #fff)}.linelabel.hidden{opacity:0}.linelabel b{font-size:11px;font-weight:700;letter-spacing:.02em}.linelabel small{font-size:9.5px;font-weight:500}.spot.link .badge{position:absolute;left:0;bottom:14px;width:70px;height:70px;border-radius:50%;transform:translate(-50%);transform-origin:50% 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;background:#faf7f0;color:#231815;font-family:var(--serif);font-weight:700;line-height:1.12;pointer-events:auto;box-shadow:0 0 0 2px #231815,inset 0 0 0 3px #faf7f0,inset 0 0 0 4.5px #231815,0 3px 10px #23181547;transition:transform .15s ease,box-shadow .15s ease}.spot.link:before{content:"";position:absolute;left:-.5px;bottom:5px;width:1px;height:9px;background:#231815}.badge span:first-child{font-size:10.5px;letter-spacing:.06em}.badge span:last-child{font-size:12.5px}.badge:after{content:"↗";position:absolute;right:-3px;top:-3px;width:18px;height:18px;border-radius:50%;background:#231815;color:#faf7f0;font:700 11px/18px var(--sans);text-align:center}.spot.link .badge:hover,.spot.link .badge:focus-visible{transform:translate(-50%) scale(1.12);box-shadow:0 0 0 2px #231815,inset 0 0 0 3px #faf7f0,inset 0 0 0 4.5px #231815,0 6px 16px #23181557}.badge:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.chip{position:absolute;left:0;top:0;width:84px;height:84px;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;line-height:1.15;font-family:var(--sans);transition:opacity .2s;will-change:transform}.chip.off{opacity:0;pointer-events:none}.chip b{font-size:12px;font-weight:700}.chip small{font-size:10px;font-weight:500;color:#4b5f84;margin-top:1px}.chip i{font-style:normal;font-size:11px;font-weight:700;color:#2f7acb;margin-top:3px}.chip:before{content:"";position:absolute;inset:0;z-index:-1;border:1px solid #b9c8de;border-radius:50%;background:#fffffff2;box-shadow:0 2px 10px #1b2f522e}.chip .arrow{position:absolute;inset:-9px;z-index:-2;pointer-events:none;color:#2f7acb}.chip .arrow svg{position:absolute;right:-4px;top:50%;margin-top:-9px;width:18px;height:18px}.chip:hover:before{background:#fff;border-color:var(--ink)}.chip .house{width:18px;height:18px;color:var(--ink);margin-bottom:1px}.chip.home:before{background:#e3f0fb;border:2px solid #2f7acb}.chip.home:hover:before{background:#d3e8f8;border-color:#1d5fa8}.chip.home small{color:#34507c}.chip.home i{color:#1d5fa8}#card{position:fixed;left:16px;bottom:114px;width:290px;padding:14px 16px;background:#fffffff5;border-radius:14px;box-shadow:0 4px 20px #1b2f5233}#card[hidden]{display:none}#card .en{font-size:19px;font-weight:900;padding-right:26px;line-height:1.25}#card .ja{font-size:12.5px;font-weight:500;color:#51658a;margin-top:2px}#card .elev{font-size:12.5px;font-weight:700;color:var(--ink);margin-top:6px}#card p{margin:10px 0 0;font-size:13px;color:#51658a}#card .gmaps{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;border:1px solid #b9c8de;border-radius:99px;color:var(--ink);font-size:12.5px;font-weight:700;text-decoration:none}#card .gmaps[hidden]{display:none}#card .gmaps:hover{border-color:var(--ink);background:#f2f6fa}#card .gmaps:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#card .close{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:50%;background:#eef2f7;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}#card .close:hover{background:#dfe7f1}@media(max-width:700px){.spot.link .badge{width:56px;height:56px;bottom:12px}.badge span:first-child{font-size:9px}.badge span:last-child{font-size:10.5px}.badge:after{width:15px;height:15px;font-size:9px;line-height:15px}.chip{width:72px;height:72px;padding:5px}.chip b{font-size:10.5px}.chip small{font-size:9px}.chip i{font-size:10px}#card{left:10px;right:10px;width:auto;bottom:92px}}#bottom{z-index:2}#card{z-index:1}#where-btn{position:fixed;right:12px;bottom:46px;z-index:2;display:flex;align-items:center;gap:12px;padding:8px 18px 8px 13px;border:1px solid var(--btn);border-radius:99px;background:var(--btn);box-shadow:0 1px 8px #1b2f522e;color:#fff;font:700 18.5px/1.2 var(--sans);cursor:pointer}#where-btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}#where-btn svg path{fill:#fff}#where-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#where-btn svg{flex:none;display:block;width:33px;height:36px}@media(max-width:700px){#where-btn{right:8px;bottom:40px;gap:9px;padding:6px 13px 6px 10px;font-size:16.5px}#where-btn svg{width:25px;height:28px}#where-btn span{max-width:4.8em;text-align:left}:lang(ja) #where-btn span,html[lang=ja] #where-btn span{max-width:8em;word-break:keep-all}}#compass{position:fixed;right:12px;bottom:112px;z-index:2;width:64px;height:64px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;filter:drop-shadow(0 1px 4px rgba(27,47,82,.2))}#compass svg{display:block;width:100%;height:100%;font-family:var(--sans)}#compass:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media not ((hover:hover)and (pointer:fine)){#compass{bottom:106px;right:8px}}#zoom{display:none;position:absolute;top:48px;right:0;gap:6px}@media(hover:hover)and (pointer:fine){#zoom{display:flex}}#zoom button{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #c3d0e4;border-radius:50%;background:#fffffff2;box-shadow:0 1px 8px #1b2f522e;color:var(--ink);cursor:pointer}#zoom button:hover:not(:disabled){border-color:var(--ink)}#zoom button:disabled{opacity:.45;cursor:default}#zoom button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
