:root{--land:#fff;--land-2:#f3f4f4;--ink:#101418;--ink-2:#5e666e;--plate:#fff;--water:#dce5ea;--water-ink:#7d97a6;--mountain:#e9ecea;--snow:#fff;--sand:#f1eee6;--park:#edf1ec;--led:#fff;--led-dim:#6b737a;--car:#101418;--focus:var(--ink);--bar:#fff;--line-soft:#10141817;--f-sign:"Helvetica Neue", Helvetica, Inter, sans-serif;--f-body:var(--f-sign);--f-led:var(--f-sign);--t-xs:.75rem;--t-sm:.875rem;--t-md:1rem;--t-lg:1.25rem;--t-xl:1.75rem;--t-2xl:clamp(2.25rem, 6vw, 4rem);--bar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--land);color:var(--ink);font-family:var(--f-body);font-size:var(--t-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow:hidden}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[hidden]{display:none!important}.topbar{height:var(--bar-h);background:var(--bar);color:var(--ink);border-bottom:1px solid var(--line-soft);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex;position:relative}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.roundel{border:6px solid var(--ink);background:var(--plate);border-radius:50%;flex:none;width:26px;height:26px;font-size:0}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-text strong{font:700 var(--t-lg)/1 var(--f-sign);letter-spacing:-.01em}.brand-text small{font-size:var(--t-xs);color:var(--ink-2);letter-spacing:.04em}.hint{font-size:var(--t-sm);color:var(--ink-2);margin:0}.stage{height:calc(100% - var(--bar-h));position:relative}.map,.map-svg{width:100%;height:100%;display:block}.map-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.map-svg.is-grabbing{cursor:grabbing}.land{fill:var(--land)}.mountain{fill:var(--mountain)}.snow{fill:var(--snow)}.sand{fill:#f2ecdd}.sea{fill:var(--water)}.park{fill:var(--park)}.river{fill:none;stroke:var(--water);stroke-width:26px;stroke-linejoin:round}.water-label{fill:var(--water-ink);font:italic 500 13px var(--f-sign);letter-spacing:.2em}.district{fill:var(--ink-2);opacity:.45;font:700 15px var(--f-sign);letter-spacing:.28em}.district--water{fill:var(--water-ink);opacity:.7}.line{transition:opacity .3s}.line-path{fill:none;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.line-ext{fill:none;stroke-width:9px;stroke-linecap:round;stroke-dasharray:.1 16}.map-svg[data-focus] .line:not(.is-focus){opacity:.12}.station{cursor:pointer;opacity:0;animation:.45s ease-out forwards arrive;animation-delay:var(--d)}@keyframes arrive{to{opacity:1}}.station.is-dim{opacity:.15!important}.station .hit{fill:#0000}.tick{stroke-width:6px;stroke-linecap:butt}.tick--unexplored{opacity:.45;stroke:var(--ink-2)!important}.marker{fill:var(--plate);stroke-width:3.5px;transition:stroke-width .15s}.marker--hub{stroke:var(--ink);stroke-width:4.5px}.marker--unexplored{stroke:var(--ink-2);stroke-dasharray:3.5 3;stroke-width:2.5px}.station--unexplored .label{fill:var(--ink-2);font-style:italic;font-weight:500}.marker--construction{stroke-dasharray:3 3;stroke-width:3px}.station:hover .marker,.station:focus-visible .marker{stroke-width:5px}.station:focus{outline:none}.focus-ring{fill:none;stroke:var(--focus);stroke-width:2px;opacity:0;pointer-events:none}.station:focus-visible .focus-ring{opacity:1}.label{fill:var(--ink);font:500 15px var(--f-sign);paint-order:stroke;stroke:var(--land);stroke-width:3px;stroke-opacity:.85;stroke-linejoin:round}.station:hover .label{text-underline-offset:3px;text-decoration:underline}.hub-label{fill:var(--ink);font:700 17px var(--f-sign);letter-spacing:.22em;pointer-events:none}.plane{fill:var(--ink);pointer-events:none;font-size:15px}.rail-core{fill:none;stroke:var(--plate);stroke-width:4px;stroke-linecap:round}.badge--rail{border-radius:6px}.train-body{stroke:var(--plate);stroke-width:1.5px;filter:drop-shadow(0 1px 1.5px #00000059)}.train-nose{fill:var(--plate);opacity:.9}.train{pointer-events:none;transition:opacity .3s}.train.is-dim{opacity:.1}.card{background:var(--plate);border:1px solid var(--line-soft)}.legend{border-radius:6px;width:max-content;max-width:calc(100% - 32px);max-height:calc(100% - 32px);padding:12px 14px;position:absolute;bottom:16px;left:16px;overflow:auto}.legend summary{cursor:pointer;font:700 var(--t-md) var(--f-sign);justify-content:space-between;align-items:baseline;display:flex}.legend-lines{gap:0;margin-top:4px;display:grid}.legend-group{font:700 10px var(--f-sign);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin:8px 6px 2px}.legend-line{font:700 var(--t-sm) var(--f-sign);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:6px;display:flex}.legend-line:hover{background:var(--land)}.legend-line[aria-pressed=true]{background:color-mix(in srgb, var(--c) 16%, transparent)}.legend-key{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);font-size:var(--t-xs);color:var(--ink-2);grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:12px;padding-top:10px;display:grid}.legend-key span{grid-template-columns:18px auto;align-items:center;column-gap:8px;display:grid}.legend-key .key{justify-self:center}.key{width:16px;height:16px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:10px;font-style:normal;display:grid}.key--transfer{border:3px solid var(--ink);background:var(--plate)}.key--unexplored{border:2px dashed var(--ink-2);background:var(--plate)}.key--ext{background:repeating-linear-gradient(90deg, var(--ink-2) 0 3px, transparent 3px 7px);border-radius:0;height:4px}.zoom{border-radius:6px;flex-direction:column;display:flex;position:absolute;bottom:16px;right:16px;overflow:hidden}.zoom button{width:40px;height:40px;font:700 18px var(--f-sign);cursor:pointer;background:0 0;border:0}.zoom button+button{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}.zoom button:hover{background:var(--land)}.tooltip{z-index:10;pointer-events:none;background:var(--ink);color:var(--land);opacity:0;border-radius:4px;max-width:260px;padding:8px 12px;transition:opacity .12s;position:fixed;transform:translate(-50%,calc(-100% - 10px))}.tooltip.is-visible{opacity:1}.tt-head{align-items:center;gap:4px;display:flex}.tt-head i{border-radius:50%;width:10px;height:10px}.tt-head b{font:700 var(--t-md) var(--f-sign);margin-left:4px}.tt-sub{font-size:var(--t-sm);opacity:.8;line-height:1.35}.page{z-index:20;background:var(--land);opacity:0;transition:opacity .25s;position:fixed;inset:0;overflow-y:auto}.page.is-open{opacity:1}.page:focus{outline:none}.page-foot{border-top:1px solid var(--line-soft);text-align:left;font-size:var(--t-xs);color:var(--ink-2);margin-top:8px;padding-top:20px}.doors{z-index:30;pointer-events:none;display:flex;position:fixed;inset:0}.doors i{background:color-mix(in srgb, var(--land) 70%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:10px solid var(--door,var(--ink));flex:1;transform:translate(0)}.doors i:first-child{border-right:1px solid color-mix(in srgb, var(--ink) 20%, transparent)}.page.is-open .doors i{animation:.7s cubic-bezier(.7,0,.2,1) .1s forwards door-l}.page.is-open .doors i:last-child{animation-name:door-r}@keyframes door-l{to{transform:translate(-101%)}}@keyframes door-r{to{transform:translate(101%)}}.page-bar{z-index:2;background:var(--bar);color:var(--ink);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.page-hint{font-size:var(--t-xs);opacity:.65}.page-body{gap:28px;max-width:1180px;margin:0 auto;padding:28px 16px 80px;display:grid}.btn{border:1px solid color-mix(in srgb, var(--ink) 22%, transparent);background:var(--plate);cursor:pointer;font:500 var(--t-sm) var(--f-sign);color:var(--ink);border-radius:3px;align-items:center;gap:6px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--land);border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.btn--ghost{color:inherit;background:0 0;padding:6px 14px}.btn--ghost:hover{background:var(--land)}.badge{--s:30px;width:var(--s);height:var(--s);background:var(--c);color:#fff;font:700 calc(var(--s) * .5)/1 var(--f-sign);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;display:inline-grid}.badge--sm{--s:22px}.station-page{gap:40px;display:grid}.nameboard{background:var(--plate);border:1px solid var(--line-soft);border-radius:4px;overflow:hidden}.nb-top{flex-wrap:wrap;align-items:center;gap:18px;padding:26px 26px 22px;display:flex}.nb-codes{gap:6px;display:flex}.code{border:4px solid var(--c);background:var(--plate);width:50px;height:50px;font:700 19px/1 var(--f-sign);font-variant-numeric:tabular-nums;border-radius:4px;place-items:center;display:grid}.code b{text-transform:uppercase;color:var(--c);letter-spacing:.1em;font-size:9px;line-height:1}.nb-name{font:700 var(--t-2xl)/1 var(--f-sign);letter-spacing:-.03em;text-wrap:balance;min-width:0;margin:0}.nb-band{background:var(--c);color:#fff;font:700 var(--t-lg)/1.15 var(--f-sign);grid-template-columns:1fr 1fr;display:grid}.nb-side{align-items:center;gap:12px;min-width:0;padding:14px 24px;text-decoration:none;display:flex}.nb-side span{flex-direction:column;min-width:0;display:flex}.nb-side small{font-size:var(--t-xs);opacity:.8;letter-spacing:.1em;font-variant-numeric:tabular-nums}.nb-side--next{text-align:right;justify-content:flex-end}.nb-side:not(.is-end):hover{background:#00000026}.nb-side.is-end{opacity:.65;font-size:var(--t-sm)}.nb-arrow{font-size:var(--t-sm)}.intro{gap:12px;max-width:62ch;display:grid}.intro p{margin:0}.nb-sub{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2)}.tagline{font:500 var(--t-xl)/1.25 var(--f-sign);letter-spacing:-.01em;text-wrap:balance}.links{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.section-title{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2);margin:0 0 6px}.entries{max-width:62ch;margin:0;padding:0;list-style:none}.entry{border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;padding:18px 0;text-decoration:none;display:flex}.entry-title{font:700 var(--t-lg)/1.3 var(--f-sign)}.entry-meta{font-size:var(--t-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.entry:hover .entry-title{color:var(--c)}.ride{gap:12px;display:grid}.su-slot{height:var(--tab-h,48px);position:relative}.su-sheet{z-index:4;height:var(--tab-h,48px);background:var(--car);color:#e9ecee;border-radius:8px;transition:height .34s cubic-bezier(.45,0,.2,1) 60ms,box-shadow .3s,background-color .2s;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.su-slot.is-open .su-sheet{height:var(--open-h,420px);transition:height .52s cubic-bezier(.16,1,.3,1),box-shadow .4s;box-shadow:0 -24px 60px -20px #00000073}.su-slot:not(.is-open) .su-sheet:hover{background:#1a2026}.su-tab{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 16px;transition:opacity .22s .24s,visibility 0s .24s;display:flex;position:absolute;bottom:0;left:0;right:0}.su-slot.is-open .su-tab{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s linear,visibility 0s .1s}.su-title{font:700 var(--t-md) var(--f-sign)}.su-count{color:var(--car);font:700 11px var(--f-sign);font-variant-numeric:tabular-nums;background:#fff;border-radius:10px;padding:2px 8px}.su-latest{min-width:0;font:500 var(--t-sm) var(--f-sign);color:#9aa7af;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.su-cue{fill:none;stroke:#9aa7af;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px;transition:transform .2s}.su-tab:hover .su-cue{transform:translateY(-2px)}.su-panel{max-height:var(--open-h,420px);overscroll-behavior:contain;opacity:0;visibility:hidden;scrollbar-width:thin;scrollbar-color:#3a444b transparent;padding:0 16px 8px;transition:opacity .12s linear,visibility 0s .12s;position:absolute;top:0;left:0;right:0;overflow-y:auto}.su-slot.is-open .su-panel{opacity:1;visibility:visible;transition:opacity .3s .12s,visibility}.su-head{z-index:1;background:var(--car);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 8px;display:flex;position:sticky;top:0}.su-head h2{font:500 var(--t-sm) var(--f-sign);color:#9aa7af;margin:0}.su-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #2a3138;border-radius:4px;place-items:center;width:32px;height:32px;margin-right:-6px;padding:0;display:grid}.su-close:hover{background:#1e252b}.su-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:transform .2s}.su-close:hover svg{transform:translateY(2px)}.su-tab:focus-visible{outline-offset:-4px;border-radius:6px;outline:2px solid #fff}.su-close:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes su-row-in{0%{opacity:0;transform:translateY(8px)}}.su-slot.is-open .su-list li{animation:.45s cubic-bezier(.16,1,.3,1) both su-row-in;animation-delay:calc(.14s + var(--i,0) * 40ms)}.su-list{margin:0;padding:0;list-style:none}.su-list li{border-top:1px solid #2a3138;grid-template-columns:64px minmax(0,1fr) auto;align-items:start;gap:4px 14px;padding:11px 0;display:grid}.su-date{font:500 var(--t-sm) var(--f-sign);font-variant-numeric:tabular-nums;color:#9aa7af;padding-top:15px}.su-what{gap:2px;min-width:0;display:grid}.su-kind{font:700 10px var(--f-sign);letter-spacing:.08em;text-transform:uppercase;color:#9aa7af}.su-what a{font:700 var(--t-md)/1.3 var(--f-sign);color:#fff;text-decoration:none}.su-what a:hover{text-underline-offset:3px;text-decoration:underline}.su-what small{font:500 var(--t-sm) var(--f-sign);color:#9aa7af}.su-lines{gap:4px;padding-top:15px;display:flex}.new-pill{font:700 10px/1.3 var(--f-sign);letter-spacing:.08em;text-transform:uppercase;background:var(--car);color:#fff;vertical-align:3px;border-radius:3px;padding:2px 6px 1px;display:inline-block}@media (width<=520px){.su-list li{grid-template-columns:52px minmax(0,1fr)}.su-lines{grid-column:2;padding-top:2px}.su-cue{order:2;margin-left:auto}.su-latest{flex-basis:100%;order:3}.su-panel{padding-inline:14px}}@media (prefers-reduced-motion:reduce){.su-sheet,.su-slot.is-open .su-sheet{transition:none}.su-slot.is-open .su-list li{animation:none}}.nt-float{--nt-arrive:cubic-bezier(.16, 1, .3, 1);--nt-settle:cubic-bezier(.45, 0, .2, 1);--nt-ratio:.382;--nt-at:calc(var(--nt-ratio) * 100dvh);--tab-w:44px;--open-w:min(360px, calc(100vw - 16px - var(--sbw,0px)));--closed-top:calc(var(--nt-at) - var(--tab-h,196px) / 2)}.nt-drawer{right:var(--sbw,0px);top:var(--closed-top);z-index:5;width:var(--tab-w);height:var(--tab-h,196px);background:var(--car);color:#e9ecee;transition:width .34s var(--nt-settle) 60ms, height .34s var(--nt-settle) 60ms, top .34s var(--nt-settle) 60ms, background-color .2s;border-radius:6px 0 0 6px;position:fixed;overflow:hidden;box-shadow:0 12px 34px -14px #1014188c}.nt-float.is-open .nt-drawer{width:var(--open-w);height:var(--open-h,480px);top:var(--open-top,var(--closed-top));transition:width .52s var(--nt-arrive), height .52s var(--nt-arrive), top .52s var(--nt-arrive), box-shadow .4s;box-shadow:0 24px 60px -20px #00000073}.nt-float:not(.is-open) .nt-drawer:hover{background:#1a2026}.nt-tab{width:var(--tab-w);color:#fff;cursor:pointer;font:700 var(--t-xs) var(--f-sign);background:0 0;border:0;flex-direction:column;align-items:center;gap:10px;padding:12px 0 14px;transition:opacity .22s .24s,visibility 0s .24s;display:flex;position:absolute;top:0;right:0}.nt-float.is-open .nt-tab{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .1s linear,visibility 0s .1s}.nt-tab:hover .nt-tab-cue{transform:translate(-2px)}.nt-tab-cue{fill:none;stroke:#9aa7af;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px;transition:transform .2s}.nt-tab-lines{flex-direction:column;gap:4px;display:flex}.badge--xs{--s:20px}.nt-tab-label{writing-mode:vertical-rl;font:500 var(--t-sm) var(--f-sign);white-space:nowrap;transform:rotate(180deg)}.nt-tab-soon{font-variant-numeric:tabular-nums;color:#9aa7af;text-align:center;max-width:40px;font-size:11px;font-weight:700;line-height:1.2}.nt-panel{width:var(--open-w);max-height:var(--open-h,480px);overscroll-behavior:contain;opacity:0;visibility:hidden;scrollbar-width:thin;scrollbar-color:#3a444b transparent;padding:4px 18px 10px;transition:opacity .12s linear,visibility 0s .12s;position:absolute;top:0;right:0;overflow-y:auto}.nt-float.is-open .nt-panel{opacity:1;visibility:visible;transition:opacity .3s .12s,visibility}.nt-panel::-webkit-scrollbar{width:8px}.nt-panel::-webkit-scrollbar-track{background:0 0}.nt-panel::-webkit-scrollbar-thumb{background:#3a444b;border-radius:4px}.nt-panel-head{z-index:1;background:var(--car);justify-content:space-between;align-items:center;gap:12px;padding:10px 0 8px;display:flex;position:sticky;top:0}.nt-panel-head h2{font:500 var(--t-sm) var(--f-sign);color:#9aa7af;margin:0}.nt-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #2a3138;border-radius:4px;place-items:center;width:32px;height:32px;margin-right:-6px;padding:0;display:grid}.nt-close:hover{background:#1e252b}.nt-close svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px;transition:transform .2s}.nt-close:hover svg{transform:translate(2px)}.nt-tab:focus-visible{outline-offset:-4px;border-radius:4px;outline:2px solid #fff}.nt-close:focus-visible{outline-offset:2px;outline:2px solid #fff}@keyframes nt-board-in{0%{opacity:0;transform:translate(10px)}}.nt-float.is-open .nt-board{animation:nt-board-in .5s var(--nt-arrive) both;animation-delay:calc(.14s + var(--i,0) * 45ms)}.nt-boards{margin:0;padding:0;list-style:none;display:grid}.nt-board{border-top:1px solid #2a3138;align-content:start;gap:8px;padding:12px 0 4px;display:grid}.nt-head{font:700 var(--t-md)/1.3 var(--f-sign);color:#fff;align-items:flex-start;gap:10px;margin:0;display:flex}.nt-head .badge{margin-top:1px}.nt-head .zh{color:#8a939b;font-size:var(--t-sm);margin:2px 0 0;font-weight:500;display:block}.nt-rows{margin:0;padding:0;list-style:none}.nt-rows li{font:500 var(--t-md) var(--f-sign);font-variant-numeric:tabular-nums;border-top:1px solid #2a3138;justify-content:space-between;gap:8px;padding:7px 0;display:flex}.nt-rows li:first-child{font-size:var(--t-lg);color:#fff;border-top:0;font-weight:700}.nt-at{color:#9aa7af}.nt-rows li:first-child .nt-at{font-weight:500}@media (width<=700px){.nt-float{--nt-ratio:.618;--tab-w:34px}.nt-tab{gap:8px;padding:10px 0 12px}.nt-tab .badge--xs{--s:18px}.nt-tab-soon{max-width:32px;font-size:10px}}@media (prefers-reduced-motion:reduce){.nt-drawer,.nt-float.is-open .nt-drawer{transition:none}.nt-float.is-open .nt-board{animation:none}}.transfer{font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.transfer-link{font:700 var(--t-sm) var(--f-sign);color:var(--ink);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.transfer-link:hover{text-decoration:underline}.transfer-intercity .picto{flex:none}.hs-icon .picto{vertical-align:-.2em;width:1.15em;height:1.15em}.label-icon{color:var(--ink);pointer-events:none}.car{background:var(--car);color:#c5ced3;border-radius:4px;overflow:hidden}.car-top{font:700 var(--t-sm) var(--f-sign);color:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px 0;display:flex}.car-towards{color:#9aa7af;margin-left:auto;font-weight:500}.car-strip{grid-template-columns:repeat(var(--n), minmax(80px, 1fr));scrollbar-width:none;padding:8px 8px 16px;display:grid;overflow-x:auto}.strip-stop{flex-direction:column;align-items:center;gap:8px;padding-top:10px;text-decoration:none;display:flex;position:relative}.strip-stop:before{content:"";background:var(--c);height:4px;position:absolute;top:15px;left:0;right:0}.strip-stop:first-child:before{left:50%}.strip-stop:last-child:before{right:50%}.strip-stop.is-past:before{background:#3a444b}.strip-stop.is-here:before{background:linear-gradient(90deg, #3a444b 50%, var(--c) 50%)}.strip-stop:first-child.is-here:before{background:var(--c)}.strip-stop:last-child.is-here:before{background:#3a444b}.strip-dot{background:var(--car);border:3px solid var(--c);border-radius:50%;width:14px;height:14px;position:relative}.strip-stop.is-past .strip-dot{border-color:#3a444b}.strip-stop.is-here .strip-dot{background:var(--led);border-color:var(--led);animation:1.6s ease-in-out infinite blink}@keyframes blink{0%,to{box-shadow:0 0 0 3px #ffffff59}50%{box-shadow:0 0 0 8px #fff0}}.strip-name{text-align:center;font:700 var(--t-xs)/1.25 var(--f-sign);padding:0 4px}.strip-stop.is-past .strip-name{color:#6d7880}.strip-stop.is-here .strip-name{color:var(--led);font-family:var(--f-led);font-weight:700;font-size:var(--t-sm)}.strip-stop:hover .strip-name{color:#fff}.article{width:100%;max-width:740px;margin:0 auto}.article~.page-foot{width:100%;max-width:740px;margin-inline:auto}.crumb{font:700 var(--t-sm) var(--f-sign);align-items:center;gap:8px;margin-bottom:24px;text-decoration:none;display:inline-flex}.crumb:hover{text-decoration:underline}.article h1{font:700 var(--t-2xl)/1.05 var(--f-sign);text-wrap:balance;margin:8px 0 16px}.lede{font-size:var(--t-lg);color:var(--ink-2);margin:0 0 24px}.prose{font-size:1.0625rem;line-height:1.6}.prose h2{font:700 var(--t-xl)/1.2 var(--f-sign);margin:36px 0 8px}.prose h3{font:700 var(--t-lg)/1.3 var(--f-sign);margin:28px 0 6px}.prose h4{font:700 var(--t-md)/1.4 var(--f-sign);margin:22px 0 4px}.prose hr{border:0;border-top:1px solid var(--line-soft);margin:32px 0}.prose blockquote{border-left:2px solid var(--line-soft);font:inherit;color:var(--ink);margin:28px 0;padding:2px 0 2px 20px;font-weight:400}.prose blockquote p+p{margin-top:10px}.prose blockquote .cite{font-size:var(--t-sm);color:var(--ink-2)}.article .entry-meta{margin:0}.more{margin-top:48px;display:grid}.more a{font:700 var(--t-md) var(--f-sign);border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent);justify-content:space-between;padding:14px 0;text-decoration:none;display:flex}.more a:hover span{transform:translate(4px)}.more a span{transition:transform .2s}@media (width<=700px){.hint,.page-hint{display:none}.legend{width:calc(100% - 84px);bottom:12px;left:12px}.zoom{bottom:12px;right:12px}.district{display:none}.nb-top{gap:12px;padding:20px 18px 16px}.nb-side{padding:12px 18px}.code{width:44px;height:44px;font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.station{opacity:1}.doors{display:none}}.legend:not([open]){width:auto}.above{gap:28px;max-width:62ch;display:grid}.above .section-title{margin-bottom:-12px}.place-name{font:700 var(--t-xl)/1.2 var(--f-sign);align-items:baseline;gap:10px;margin:0;display:flex}.place-type{font:700 10px var(--f-sign);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border:1.5px solid;border-radius:4px;padding:3px 6px 1px;transform:translateY(-3px)}.place .entry{padding:12px 0}.place .entry-title{font-size:var(--t-md)}.blindspot{border:2px dashed color-mix(in srgb, var(--ink) 25%, transparent);border-radius:4px;padding:20px 22px}.blindspot p{margin:0}.blindspot-title{font:700 var(--t-lg) var(--f-sign);margin-bottom:4px!important}.station-page.is-unexplored .nb-name{color:var(--ink-2)}.say-row{border-block:1px solid var(--line-soft);padding:18px 0}.strip-stop.is-unexplored .strip-dot{border-style:dashed}.strip-stop.is-unexplored .strip-name{font-style:italic}.mark{background:var(--ink);width:20px;height:20px;color:var(--plate);font:700 11px/1 var(--f-sign);border-radius:6px 50% 50%;place-items:center;padding-top:1px;font-style:normal;display:inline-grid}.myview{background:var(--plate);border:1px solid var(--line-soft);border-radius:4px;gap:10px;max-width:68ch;padding:clamp(20px,4vw,32px);display:grid}.myview-label{font:700 var(--t-xs) var(--f-sign);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:8px;margin:0;display:flex}.myview-title{font:700 var(--t-xl)/1.2 var(--f-sign);margin:0}.myview-intro{color:var(--ink-2);margin:0 0 12px}.walk{margin:0;padding:0;list-style:none;display:grid}.walk-stop{border-radius:4px;grid-template-columns:24px 1fr;gap:14px;padding-bottom:26px;display:grid;position:relative}.walk-stop:before{content:"";background:var(--c);border-radius:3px;width:6px;position:absolute;top:12px;bottom:-4px;left:9px}.walk-stop:last-child:before{display:none}.walk-stop.is-now:before{background:repeating-linear-gradient(var(--c) 0 6px, transparent 6px 12px)}.walk-dot{z-index:1;background:var(--plate);border:5px solid var(--c);border-radius:50%;width:24px;height:24px;margin-top:1px;position:relative}.walk-stop.is-now .walk-dot{border-color:var(--ink);box-shadow:0 0 0 5px color-mix(in srgb, var(--c) 30%, transparent)}.walk-stop.is-next .walk-dot{border-style:dashed;border-color:var(--ink-2)}.walk-body{gap:6px;min-width:0;display:grid}.walk-when{font:700 var(--t-xs) var(--f-sign);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.walk-here{background:var(--ink);color:var(--plate);letter-spacing:.08em;border-radius:3px;padding:3px 8px 1px}.walk-name{font:700 var(--t-lg)/1.25 var(--f-sign);margin:0}.walk-stop.is-next .walk-name{color:var(--ink-2)}.walk-detail{color:var(--ink-2);font-size:var(--t-sm);max-width:60ch;margin:0}.walk .entry,.place .entry{padding:10px 0}.walk .entry-title{font-size:var(--t-md)}.place{border-radius:4px;gap:6px;display:grid}.place-about{color:var(--ink-2);margin:0}.place.is-unexplored .place-name{color:var(--ink-2);font-style:italic}.place.is-unexplored .place-type{border-style:dashed}.bridge{font-size:var(--t-sm);flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 0;display:flex}.bridge-label{font:700 var(--t-xs) var(--f-sign);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:6px;margin-right:2px;display:inline-flex}.bridge-label .mark{width:16px;height:16px;font-size:9px}.bridge-link{border:1.5px solid var(--ink);background:var(--plate);color:var(--ink);font:700 var(--t-xs) var(--f-sign);cursor:pointer;border-radius:3px;padding:3px 10px 1px}.bridge-link:hover{background:var(--ink);color:var(--plate)}.bridge-link--city{border-color:var(--c)}.bridge-link--city:hover{background:var(--c);color:#fff}.is-flash{animation:1.4s ease-out flash}@keyframes flash{0%{box-shadow:0 0 0 8px color-mix(in srgb, var(--c) 35%, transparent);background:color-mix(in srgb, var(--c) 10%, transparent)}}.station--transfer .label,.station--airport .label{font-size:16px;font-weight:700}.strip-stop.is-here .strip-name{font-family:var(--f-sign);font-weight:700;font-size:var(--t-sm)}.myview{gap:28px}.mv-sec{gap:10px;display:grid}.mv-sec+.mv-sec{border-top:1px solid var(--line-soft);padding-top:24px}.mv-h{font:700 var(--t-lg)/1.25 var(--f-sign);letter-spacing:-.01em;margin:0}.mv-text{margin:0}.mv-list{gap:4px;margin:0;padding-left:1.1em;display:grid}.mv-quote{border-left:3px solid var(--c);font:500 var(--t-md)/1.45 var(--f-sign);margin:4px 0;padding-left:16px}.mv-quote cite{font:400 var(--t-sm) var(--f-sign);color:var(--ink-2);margin-top:4px;font-style:normal;display:block}.mv-source{font-size:var(--t-sm);color:var(--ink-2);margin:0}.walk h4.walk-name{font:700 var(--t-md)/1.35 var(--f-sign)}.history{max-width:68ch}.gates{border:1px solid var(--line-soft);border-radius:4px;gap:12px;max-width:62ch;padding:20px 22px;display:grid}.gates-title{font:700 var(--t-xs) var(--f-sign);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0}.btn.is-disabled{opacity:.45;cursor:not-allowed;border-style:dashed}.heritage{fill:none;stroke:var(--ink-2);stroke-width:1.5px}a.bridge-link{text-decoration:none;display:inline-block}.zone{fill:var(--land-2)}.zone--green{fill:#eaf1e7}.zone--heritage{fill:#f5f0e6}.zone--campus{fill:#eef0f5}.zone-label{fill:var(--ink-2);font:700 11px var(--f-sign);letter-spacing:.2em;opacity:.8}.walkway{fill:none;stroke:var(--ink-2);stroke-width:3px;stroke-dasharray:1 7;stroke-linecap:round}.footbridge-edge{fill:none;stroke:var(--ink-2);stroke-opacity:.45;stroke-width:13px;stroke-linecap:butt}.footbridge{fill:none;stroke:var(--land);stroke-width:10px;stroke-linecap:butt}.key--walk{background:repeating-linear-gradient(90deg, var(--ink-2) 0 2px, transparent 2px 6px);border-radius:0;height:3px}.key--heritage{color:var(--ink-2);font-size:13px}.above{max-width:none}.directory{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.exits{border-top:1px solid var(--line-soft);margin:0;padding:0;list-style:none}.exit{border-bottom:1px solid var(--line-soft);border-radius:0;grid-template-columns:40px 1fr;gap:16px;padding:18px 0;display:grid}.exit-letter{background:color-mix(in srgb, var(--c,var(--ink)) 14%, var(--plate));width:40px;height:40px;color:var(--c,var(--ink));font:700 20px/1 var(--f-sign);border-radius:4px;place-items:center;display:inline-grid}.exit-letter--sm{flex:none;width:20px;height:20px;font-size:12px}.exit-body{gap:4px;min-width:0;display:grid}.exit-name{font:700 var(--t-lg)/1.2 var(--f-sign);margin:0;padding-top:8px}.exit-about{font-size:var(--t-sm);color:var(--ink-2);margin:0}.exit-dests{gap:8px;margin:6px 0 0;padding:0;list-style:none;display:grid}.exit-dests a{font-weight:500;text-decoration:none}.exit-dests a:before{content:"→";color:var(--ink-2);margin-right:8px;font-weight:400}.exit-dests a:hover{text-underline-offset:3px;text-decoration:underline}.exit.is-closed .exit-letter{background:var(--land-2);color:var(--ink-2)}.exit.is-closed .exit-name{color:var(--ink-2)}.exit-closed{font-size:var(--t-sm);color:var(--ink-2);margin:4px 0 0;font-style:italic}.dest-index{border-top:1px solid var(--line-soft);padding-top:14px}.dest-title{font:700 var(--t-xs) var(--f-sign);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}.dest-index ul{margin:0;padding:0;list-style:none}.dest-index li{border-bottom:1px solid var(--line-soft);font-size:var(--t-sm);justify-content:space-between;align-items:center;gap:12px;padding:7px 0;display:flex}.dest-index a{min-width:0;text-decoration:none}.dest-index a:hover{text-decoration:underline}.bridge-link .exit-letter--sm{vertical-align:-3px;width:16px;height:16px;margin-right:6px;font-size:10px}@media (width<=760px){.directory{grid-template-columns:1fr;gap:28px}}.latest{min-width:0;font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;flex:1;justify-content:center;align-items:center;gap:10px;text-decoration:none;display:flex;overflow:hidden}.latest:hover{color:var(--ink)}.latest-tag{font:700 10px var(--f-sign);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1.5px solid var(--ink);border-radius:2px;padding:2px 6px 1px}.top-actions{flex:none;align-items:center;gap:10px;display:flex}.view-toggle{border:1px solid var(--line-soft);border-radius:4px;display:flex;overflow:hidden}.view-toggle button{font:500 var(--t-sm) var(--f-sign);cursor:pointer;color:var(--ink-2);background:0 0;border:0;padding:7px 12px}.view-toggle button[aria-pressed=true]{background:var(--ink);color:var(--plate)}.search-btn{border:1px solid var(--line-soft);background:var(--plate);font:500 var(--t-sm) var(--f-sign);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 10px;display:flex}.search-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:16px;height:16px}.search-btn kbd{font:500 11px var(--f-sign);border:1px solid var(--line-soft);color:var(--ink-2);border-radius:3px;padding:0 5px}.search-btn:hover{border-color:var(--ink)}.lines-view{background:var(--land);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start;gap:40px;max-width:1000px;margin:0 auto;padding:28px 20px 80px;display:grid;position:absolute;inset:0;overflow-y:auto}body.is-lines .legend,body.is-lines .zoom{display:none}.lv-head{font:700 var(--t-lg) var(--f-sign);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;display:flex}.lv-head small{font:400 var(--t-sm) var(--f-sign);color:var(--ink-2);flex-basis:100%}.lv-stops{margin:0;padding:0;list-style:none}.lv-stop a{grid-template-columns:24px 1fr auto;align-items:start;gap:12px;padding:0 0 18px;text-decoration:none;display:grid;position:relative}.lv-stop a:before{content:"";background:var(--c);width:6px;position:absolute;top:8px;bottom:-8px;left:9px}.lv-stop:last-child a:before{display:none}.lv-dot{z-index:1;width:24px;height:12px;margin-top:5px;display:block;position:relative}.lv-dot:after{content:"";background:var(--c);width:15px;height:6px;position:absolute;top:0;left:9px}.lv-stop.is-hub .lv-dot:after{background:var(--plate);border:4px solid var(--ink);border-radius:50%;width:12px;height:12px;top:-5px;left:2px}.lv-stop.is-unexplored .lv-dot:after{background:var(--ink-2);opacity:.45}.lv-text{min-width:0;display:grid}.lv-text b{font:700 var(--t-md) var(--f-sign)}.lv-text small{font-size:var(--t-sm);color:var(--ink-2);line-height:1.35}.lv-stop.is-unexplored .lv-text b{color:var(--ink-2);font-style:italic}.lv-stop a:hover .lv-text b{text-underline-offset:3px;text-decoration:underline}.search{z-index:40;background:#10141859;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.search-panel{background:var(--plate);border-radius:6px;width:min(560px,100%);overflow:hidden;box-shadow:0 24px 60px -20px #00000073}#search-input{border:0;border-bottom:1px solid var(--line-soft);width:100%;font:400 var(--t-lg) var(--f-sign);background:var(--plate);color:var(--ink);outline:none;padding:16px 18px}.search-results{max-height:50vh;margin:0;padding:6px 0;list-style:none;overflow-y:auto}.search-results li[role=option]{cursor:pointer;grid-template-columns:92px 1fr;gap:0 12px;padding:9px 18px;display:grid}.search-results li[aria-selected=true]{background:var(--land-2)}.sr-kind{font:500 var(--t-xs) var(--f-sign);color:var(--ink-2);grid-row:span 2;padding-top:3px}.sr-label{font:500 var(--t-md) var(--f-sign)}.sr-sub{font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sr-empty{color:var(--ink-2);padding:14px 18px}.search-foot{border-top:1px solid var(--line-soft);font-size:var(--t-xs);color:var(--ink-2);margin:0;padding:8px 18px}.updates ul{border-top:1px solid var(--line-soft);max-width:68ch;margin:0;padding:0;list-style:none}.updates li{border-bottom:1px solid var(--line-soft);font-size:var(--t-sm);grid-template-columns:110px 1fr;gap:12px;padding:10px 0;display:grid}.updates time{color:var(--ink-2);font-variant-numeric:tabular-nums}.updates a{font-weight:500;text-decoration:none}.updates a:hover{text-decoration:underline}.mv-more{font:500 var(--t-sm) var(--f-sign);color:var(--ink);text-underline-offset:3px;justify-self:start}@media (width<=700px){.latest,.search-btn span,.search-btn kbd,.brand-text small{display:none}.topbar{gap:8px;padding:0 12px}.topbar .chime-test,.topbar .chime-tune{display:none}.updates li{grid-template-columns:1fr;gap:2px}}.orient{max-width:300px;font-size:var(--t-sm);border-radius:4px;margin:0;padding:10px 14px;line-height:1.4;position:absolute;top:16px;left:16px}.empty-note{color:var(--ink-2);font-size:var(--t-sm);margin:0}@media (width<=480px){.brand-text{display:none}}@media (width<=400px){.script-toggle button{padding:7px 9px}.top-actions{gap:8px}}@media (width<=340px){.topbar{padding:0 7px}.view-toggle button{padding:7px}.script-toggle button{padding:7px 6px}.top-actions{gap:4px}.topbar .sound-btn,.search-btn{padding-inline:6px}}@media (width<=700px){.orient{max-width:none;top:12px;left:12px;right:12px}.nb-codes .badge{--s:32px}}.twin{border-block:1px solid var(--line-soft);grid-template-columns:20px 1fr;align-items:start;gap:12px;margin-top:6px;padding:12px 0;display:grid}.twin p{margin:0;line-height:1.45}.twin-mark{border:4px solid var(--ink);background:var(--plate);border-radius:50% 50% 50% 0;width:16px;height:16px;margin-top:3px;transform:rotate(-45deg)}.twin-label{font:700 10px var(--f-sign);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-right:8px;display:inline-block}.twin b{font-weight:700}.twin-when{color:var(--ink-2);font-variant-numeric:tabular-nums}.twin-note{color:var(--ink-2);font-size:var(--t-sm)}.tt-twin{font-size:var(--t-xs);opacity:.75;margin-top:4px}.exit-building{font:400 var(--t-sm) var(--f-sign);color:var(--ink-2);margin-left:6px}.writing{max-width:62ch}.draft-note{border:1.5px dashed var(--ink-2);font-size:var(--t-sm);color:var(--ink-2);border-radius:4px;margin:0 0 16px;padding:10px 14px}.draft-tag{font:700 10px var(--f-sign);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border:1px dashed var(--ink-2);vertical-align:2px;border-radius:2px;margin-left:6px;padding:1px 5px}.nameboard{border-top:8px solid var(--c)}.nb-top{align-items:center}.nb-art{background:color-mix(in srgb, var(--c) 14%, var(--plate));width:56px;height:56px;color:var(--c);border-radius:4px;flex:none;place-items:center;display:grid}.nb-codes{margin-left:auto}.nb-codes .badge{--s:30px}.prose img{border-radius:4px;max-width:100%;height:auto;display:block}.prose figure:not(.pair):not(.portrait){width:fit-content;max-width:100%;margin-inline:auto}.prose figure:not(.pair):not(.portrait) figcaption{contain:inline-size;text-align:center}.prose figure:not(.pair):not(.portrait) img,.prose>p>img{width:auto;max-width:min(100%,520px);max-height:min(400px,60vh);margin-inline:auto}.page-body>*,.prose{min-width:0}.table-wrap{margin:20px 0;overflow-x:auto}.table-wrap table{margin:0}.prose figcaption{font-size:var(--t-sm);color:var(--ink-2);margin-top:6px}.prose details{border:1px solid var(--line-soft);border-radius:4px;margin:10px 0;padding:0 16px}.prose details[open]{padding-bottom:12px}.prose summary{cursor:pointer;font:500 var(--t-md) var(--f-sign);padding:12px 0}.prose table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:6px 10px}.prose blockquote p{margin:0}.prose iframe,.prose video{max-width:100%}@media (width<=700px){.nb-art{width:44px;height:44px}.nb-art .picto{width:26px;height:26px}.nb-codes .badge{--s:24px}}.prose p{margin:0 0 1em}.prose figure{margin:20px 0}.prose h2{margin-top:32px}.file-link{border:1px solid var(--line-soft);font:500 var(--t-sm) var(--f-sign);border-radius:4px;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;display:inline-flex}.file-link:before{content:attr(data-type);font:700 10px var(--f-sign);letter-spacing:.1em;border:1.5px solid var(--ink);border-radius:2px;padding:2px 5px}.file-link:hover{border-color:var(--ink)}.file-link:not([data-type]):before{content:"PDF"}.dot{transition:r .15s}.dot--written{stroke:var(--plate);stroke-width:2.5px}.dot--unexplored{fill:var(--plate);stroke:var(--ink-2);stroke-width:2px;stroke-dasharray:3 2.5}.station:hover .dot--unexplored{r:8}.station:hover .dot--written{r:11}.key--written{background:var(--ink);width:12px;height:12px}.key--unexplored{width:12px;height:12px}.lv-dot:after{border:3px solid var(--c);box-sizing:border-box;border-radius:50%;background:var(--plate)!important;width:14px!important;height:14px!important;top:-1px!important;left:5px!important}.lv-stop.is-written .lv-dot:after{border-color:var(--c);background:var(--c)!important}.lv-stop.is-unexplored .lv-dot:after{border:2px dashed var(--ink-2);opacity:1}.lv-stop.is-hub .lv-dot:after{border:4px solid var(--ink);background:var(--plate)!important;width:20px!important;height:20px!important;top:-4px!important;left:2px!important}.lv-stop:not(.is-written):not(.is-hub) .lv-text b{color:var(--ink-2);font-weight:500}.line--construction .line-ext{stroke-width:7px;stroke-dasharray:.1 13;opacity:.9}.badge--construction{border:2px dashed var(--c);background:var(--plate)!important;color:var(--c)!important}.under-construction{font:500 var(--t-xs) var(--f-sign);opacity:.75;margin-left:6px}.legend-line small{color:var(--ink-2);margin-left:4px;font-weight:400}.line-path--express{stroke-width:12px}.rail-core{stroke-width:4px;opacity:0;animation:.4s 1.9s forwards core-in}@keyframes core-in{to{opacity:1}}.badge--express{box-shadow:inset 0 0 0 2px var(--plate), 0 0 0 1.5px var(--c)}@media (prefers-reduced-motion:reduce){.rail-core{opacity:1}}.logo{border:1px solid var(--line-soft);background:var(--plate);border-radius:5px;flex:none;width:28px;height:28px;padding:2px}.orient a{text-underline-offset:3px;margin-top:4px;font-weight:700;display:inline-block}.station-desc{color:var(--ink);max-width:62ch;margin:4px 0 0;font-size:1.0625rem;line-height:1.6}:lang(zh-Hans){font-family:PingFang SC,Noto Sans SC,sans-serif}:lang(zh-Hant){font-family:PingFang TC,Noto Sans TC,sans-serif}:lang(ja){font-family:Hiragino Sans,Noto Sans JP,sans-serif}[lang=en]{font-family:var(--f-sign)}.zh{color:var(--ink-2);margin-left:4px;font-weight:500}.nb-zh{letter-spacing:.08em;color:var(--ink-2);margin-top:6px;font-size:.5em;font-weight:500;display:block}.zh--band{font-size:var(--t-sm);color:inherit;opacity:.85;margin:2px 0 0;font-weight:500;display:block}.nb-side span{line-height:1.15}.zh--sm{color:inherit;opacity:.8;margin:2px 0 0;font-size:11px;display:block}.label-zh{fill:var(--ink-2);font-size:13px;font-weight:500}.script-toggle button{padding:7px 10px}.tt-head .zh{color:inherit;opacity:.75}.page-tools{align-items:center;gap:14px;display:flex}.lv-text b .zh,.legend-line .zh{margin:2px 0 0;font-size:12px;display:block}.label-zh{font-size:12px}.turbine-mast{stroke:var(--plate);stroke-width:2px}.turbine-blades{stroke:var(--plate);stroke-width:1.6px;stroke-linecap:round}.zone--home{fill:#f4efe9}.view-3d{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2);border-left:1px solid var(--line-soft);align-items:center;padding:7px 12px;text-decoration:none;display:inline-flex}.view-3d:hover{color:var(--ink)}.legend{position:absolute}.legend-close{width:30px;height:30px;font:400 22px/1 var(--f-sign);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:4px;position:absolute;top:6px;right:6px}.legend-close:hover{background:var(--land-2);color:var(--ink)}.legend:not([open]) .legend-close{display:none}.legend[open] summary{padding-right:32px}.lang-tabs{gap:4px;margin:4px 0 12px;display:flex}.lang-tabs a,.lang-tabs button{cursor:pointer;border:1px solid var(--line-soft);font:500 var(--t-sm) var(--f-sign);color:var(--ink-2);background:0 0;border-radius:4px;padding:5px 12px;text-decoration:none}.lang-tabs a.is-active,.lang-tabs button.is-active{background:var(--ink);color:var(--plate);border-color:var(--ink)}.prose:lang(zh-Hans),.prose:lang(zh-Hant){line-height:1.85}.lines-view{background:var(--land);max-width:none;margin:0;padding:0;display:block}.lv-wrap{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-content:start;gap:48px;max-width:1040px;margin:0 auto;padding:32px 24px 80px;display:grid}.lv-head{font-size:var(--t-lg);margin-bottom:18px}.lv-head .zh{font-size:var(--t-md)}.lv-stop a{align-items:center;padding-bottom:14px}.lv-text b{font-size:var(--t-md);line-height:1.25}.lv-text b .zh{margin-top:1px}.lv-stop a:before{top:20px!important;bottom:-20px!important}.sound-btn{border:1px solid var(--line-soft);background:var(--plate);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:4px;place-items:center;display:inline-grid}.sound-btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.sound-btn svg path:first-child{fill:currentColor}.sound-btn[aria-pressed=false]{color:var(--ink-2)}.sound-btn[aria-pressed=false] svg path:last-child{display:none}.sound-btn:hover{border-color:var(--ink)}.sound-group{border:1px solid var(--line-soft);border-radius:4px;display:inline-flex;overflow:hidden}.sound-group .sound-btn{border:0;border-radius:0}.chime-test{border:0;border-left:1px solid var(--line-soft);background:var(--plate);width:32px;height:36px;color:var(--ink);cursor:pointer;font-size:11px}.chime-test svg{fill:currentColor;width:11px;height:11px;margin:auto;display:block}.chime-tune{border-left:1px solid var(--line-soft);background:var(--plate);width:32px;height:36px;color:var(--ink);place-items:center;display:grid}.chime-tune svg{width:16px;height:16px;fill:var(--plate);stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}.chime-test:hover,.chime-tune:hover,.sound-group .sound-btn:hover{background:var(--land-2)}.chime-test.is-playing{animation:2.6s ease-out chime-flash}@keyframes chime-flash{0%,60%{background:var(--ink);color:var(--plate)}}.legend-row{align-items:center;gap:4px;display:flex}.legend-row .legend-line{flex:1;min-width:0}.legend-line b{white-space:nowrap}@media (width<=360px){.legend-line b{white-space:normal}}.legend-about{font:500 var(--t-xs) var(--f-sign);color:var(--ink-2);border-radius:4px;flex:none;padding:4px 6px;text-decoration:none}.legend-about:hover{color:var(--ink);background:var(--land)}.lv-line-link{color:inherit;align-items:flex-start;gap:8px;text-decoration:none;display:flex}.lv-line-link .badge{margin-top:2px}.lv-name{display:grid}.lv-name .lv-zh{font-size:var(--t-sm);color:var(--ink-2);margin:2px 0 0;font-weight:500}.lv-more{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2);flex-basis:100%;text-decoration:none}.lv-more:hover,.lv-line-link:hover .lv-name{color:var(--ink);text-decoration:underline}.car-line{color:inherit;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.car-line:hover{text-decoration:underline}.line-page{gap:36px;display:grid}.line-board{background:var(--plate);border:1px solid var(--line-soft);border-top:8px solid var(--c);border-radius:4px;align-items:center;gap:20px;padding:26px;display:flex}.line-board .nb-sub{margin:0 0 6px}.badge--lg{--s:64px;flex:none;font-size:1.75rem}.line-facts{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.lf{background:var(--plate);padding:12px 14px}.lf dt{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2)}.lf dd{font:700 clamp(1.5rem, 2.6vw, 2.1rem)/1.15 var(--f-sign);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 0}.lf dd small{font:500 var(--t-sm) var(--f-sign);letter-spacing:0;color:var(--ink-2)}.line-route{margin:12px 0 0;padding:0;list-style:none;position:relative}.line-route:before{content:"";background:var(--c);border-radius:3px;width:6px;position:absolute;top:14px;bottom:14px;left:11px}.line-route.is-loop:after{content:"↻ back to the start";font:500 var(--t-xs) var(--f-sign);color:var(--ink-2);padding:6px 0 0 40px;display:block}.lr-stop{align-items:center;gap:10px;display:flex;position:relative}.lr-stop>a{min-width:0;color:inherit;border-radius:4px;flex:1;align-items:flex-start;gap:14px;padding:9px 8px 9px 0;text-decoration:none;display:flex}.lr-stop>a:hover{background:var(--land)}.lr-dot{z-index:1;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative}.lr-dot:before{content:"";background:var(--plate);border:4px solid var(--c);box-sizing:border-box;border-radius:50%;width:14px;height:14px}.lr-stop.is-written .lr-dot:before{background:var(--c);border-color:var(--plate);box-shadow:0 0 0 2px var(--c)}.lr-stop.is-hub .lr-dot:before{background:var(--plate);border:4px solid var(--ink);width:20px;height:20px;box-shadow:none}.lr-stop.is-unexplored .lr-dot:before{border-style:dashed}.lr-text{gap:2px;min-width:0;padding-top:3px;display:grid}.lr-text b{font:700 var(--t-md) var(--f-sign)}.lr-text b .zh{color:var(--ink-2);margin-left:6px;font-weight:500}.lr-text b small{font:500 var(--t-sm) var(--f-sign);color:var(--ink-2);margin-left:6px}.lr-text>span{font-size:var(--t-sm);color:var(--ink-2)}.lr-stop.is-unexplored .lr-text b{color:var(--ink-2)}.lr-change{flex:none;gap:4px;display:flex}.lr-change a{text-decoration:none}.line-others{justify-items:start;gap:10px;display:grid}@media (width<=700px){.line-board{gap:14px;padding:18px}.badge--lg{--s:48px;font-size:1.35rem}}.tagline--tr{font-size:var(--t-lg);color:var(--ink-2);margin-top:-6px;font-weight:500}.station-desc--tr{color:var(--ink-2)}.page-body:has(.line-page){max-width:1260px}.line-intro{grid-template-columns:minmax(0,400px) minmax(0,1fr);align-items:stretch;gap:40px;display:grid}.line-intro>.intro{align-content:start}@media (width<=1100px){.line-intro{grid-template-columns:minmax(0,1fr)}}.line-map{background:var(--plate);border:1px solid var(--line-soft);border-radius:4px;flex-direction:column;justify-content:center;max-width:100%;margin:0;padding:8px;display:flex;overflow-x:auto}.line-map svg{width:var(--w);height:var(--h);max-width:none;margin:0 auto;display:block}.line-map figcaption{text-align:center;max-width:60ch;font-size:var(--t-xs);color:var(--ink-2);margin:0 auto;padding:6px 6px 2px}.lm-other{fill:none;stroke:var(--ink);stroke-opacity:.1;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.lm-line{fill:none;stroke:var(--c);stroke-width:14px;stroke-linecap:round;stroke-linejoin:round}.lm-arrow{fill:none;stroke:var(--plate);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.lm-dot{fill:var(--plate);stroke:var(--c);stroke-width:5px}.lm-dot.is-hub{stroke:var(--ink);stroke-width:6px}.lm-name{font:500 24px var(--f-sign);fill:var(--ink-2);paint-order:stroke;stroke:var(--plate);stroke-width:4px;stroke-opacity:.85}.line-map a:hover .lm-name{fill:var(--ink);text-decoration:underline}.lm-phase circle{fill:var(--c);fill-opacity:.16}.lm-phase text{font:700 28px var(--f-sign);fill:var(--c);letter-spacing:.06em}.lm-phase text tspan+tspan{letter-spacing:0;fill-opacity:.8;font-size:21px;font-weight:500}.ext-arrow,.prose a.out:after{vertical-align:.02em;background:currentColor;width:.72em;height:.72em;margin-left:.3em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9L9 3M4.5 3H9v4.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 9L9 3M4.5 3H9v4.5' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.prose a.out:after{content:""}.btn .ext-arrow{margin-left:-2px}:lang(zh-Hans),:lang(zh-Hant),:lang(ja){text-wrap:pretty}.prose figure.portrait{max-width:280px;margin:24px 0}.prose figure.portrait img{aspect-ratio:1;object-fit:cover;border-radius:4px;width:100%;display:block}.prose figure.pair{flex-wrap:wrap;justify-content:center;gap:8px;margin:24px 0;display:flex}.prose figure.pair img{object-fit:cover;border-radius:4px;flex:none;width:auto;max-width:100%;height:220px}.prose figure.pair figcaption{flex-basis:100%}@media (width<=520px){.prose figure.pair img{height:150px}}.station-photo{aspect-ratio:1;object-fit:cover;border-radius:4px;width:220px;max-width:100%;margin-top:8px;display:block}.orient-tr{color:var(--ink-2);margin-top:6px;display:block}.orient-tr a{color:inherit;font-weight:700}.narrow-only{display:none}@media (width<=700px){.wide-only{display:none}.narrow-only{display:inline}.orient a{margin-top:0}.orient-tr{margin-top:2px}.view-toggle button,.sound-group .sound-btn,.chime-test,.chime-tune,.search-btn,.page-bar .btn{min-height:44px}.brand{margin:-8px;padding:8px}.lv-more,.transfer-link,.car-line,.crumb{padding-block:11px}.lr-change a{margin:-10px 0;padding:10px 2px;display:inline-block}.lang-tabs a,.lang-tabs button{padding-block:12px}}.lm-hint{font:500 var(--t-xs) var(--f-sign);color:var(--ink-2);margin:4px 0 0;padding:0 6px;display:none;position:sticky;left:0}.lm-hint span{margin-left:4px;font-weight:500}.line-map.is-scrollable .lm-hint{display:block}.line-map.was-scrolled .lm-hint{display:none}.lines-view>.orient{width:calc(100% - 48px);max-width:992px;margin:24px auto 0;position:static}@media (width<=700px){.lines-view>.orient{width:calc(100% - 32px);margin-top:16px}}button,select,input,textarea{font-family:inherit}b,strong{font-weight:700}pre,code,kbd{font-family:inherit}.station-quote{border-left:2px solid var(--line-soft);margin:4px 0;padding:2px 0 2px 18px}.station-quote p{margin:0;font-size:1.0625rem;line-height:1.6}.station-quote .cite{font-size:var(--t-sm);color:var(--ink-2);margin-top:6px}.station-figure{margin:8px 0 0}.station-figure.is-wide .station-photo{aspect-ratio:auto;width:100%;max-width:560px;height:auto}.station-figure figcaption{max-width:560px;font-size:var(--t-sm);color:var(--ink-2);margin-top:6px}.intro.has-photo{grid-template-columns:minmax(0,62ch) minmax(0,1fr);align-items:start;column-gap:40px;max-width:none}.intro-connect{gap:4px;margin-top:44px;display:grid}.intro.has-photo>.intro-text{grid-column:1;align-content:start;gap:12px;display:grid}.intro.has-photo.is-profile>.station-figure{aspect-ratio:1;grid-area:1/2;place-self:start;width:auto;height:100%;position:relative}.intro.is-profile .station-photo{width:100%;height:100%;margin:0;position:absolute;inset:0}.intro.has-photo>*{grid-column:1}.intro.has-photo>.station-figure{grid-area:1/2;margin:0}.intro.has-photo .station-figure.is-wide .station-photo{max-width:100%}@media (width<=900px){.intro.has-photo{grid-template-columns:minmax(0,1fr)}.intro.has-photo>.station-figure{grid-area:auto/1;margin-top:8px}.intro.has-photo>.intro-text{display:contents}.intro.is-profile .intro-connect{order:1;margin-top:20px}.intro.has-photo.is-profile>.station-figure{aspect-ratio:auto;grid-area:auto/1;width:auto;height:auto;position:static}.intro.is-profile .station-photo{aspect-ratio:1;width:200px;height:auto;position:static}}.exit-note{color:var(--ink-2);font-size:var(--t-sm);margin-left:calc(1em + 10px);font-weight:400;display:block}.page-nav{align-items:center;gap:8px;min-width:0;display:flex}.page-prev{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:46vw;color:var(--ink-2);overflow:hidden}.page-prev[hidden]{display:none}
