.RoadmapList-module__sEW1IW__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:40px 48px;margin-top:40px;display:grid}@media (min-width:1280px){.RoadmapList-module__sEW1IW__list{display:none}}.RoadmapList-module__sEW1IW__line{gap:16px;min-width:0;display:grid}.RoadmapList-module__sEW1IW__lineName{font-size:var(--text-h3);align-items:center;gap:12px;font-weight:800;line-height:1.2;display:flex}.RoadmapList-module__sEW1IW__bar{border-radius:4px;flex:none;width:7px;height:28px}.RoadmapList-module__sEW1IW__stations{margin:0;padding:0;list-style:none}.RoadmapList-module__sEW1IW__station{grid-template-columns:28px minmax(0,1fr);gap:14px;padding-bottom:22px;display:grid;position:relative}.RoadmapList-module__sEW1IW__station:before{content:"";border-left:6px solid;position:absolute;top:0;bottom:0;left:11px}.RoadmapList-module__sEW1IW__building:before{border-left-style:dashed}.RoadmapList-module__sEW1IW__planned:before{border-left-style:dotted}.RoadmapList-module__sEW1IW__station:last-child:before{height:14px;bottom:auto}.RoadmapList-module__sEW1IW__dot{z-index:1;background:var(--paper);border:4px solid var(--ink);border-radius:50%;width:28px;height:28px;margin-top:0;position:relative}.RoadmapList-module__sEW1IW__building .RoadmapList-module__sEW1IW__dot{background:var(--tbc);border-style:dashed}.RoadmapList-module__sEW1IW__planned .RoadmapList-module__sEW1IW__dot{border:3px dotted var(--muted)}.RoadmapList-module__sEW1IW__body{color:var(--ink);gap:4px;display:grid}.RoadmapList-module__sEW1IW__name{padding-top:2px;font-size:18px;font-weight:800;line-height:1.3}.RoadmapList-module__sEW1IW__planned .RoadmapList-module__sEW1IW__name{color:var(--sub)}.RoadmapList-module__sEW1IW__meta{color:var(--sub);flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-size:14px;display:flex}.RoadmapList-module__sEW1IW__status{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.RoadmapList-module__sEW1IW__building .RoadmapList-module__sEW1IW__status{color:var(--ink)}.RoadmapList-module__sEW1IW__text{max-width:60ch;font-size:16px;line-height:1.5}
.RoadmapMap-module__mA946a__wrap{gap:12px;display:grid;position:relative}.RoadmapMap-module__mA946a__phoneOpen{display:none}@media not (min-width:1280px){.RoadmapMap-module__mA946a__wrap:not(.RoadmapMap-module__mA946a__full){display:none}.RoadmapMap-module__mA946a__phoneOpen{border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--panel);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px;padding:16px;display:flex}.RoadmapMap-module__mA946a__phoneOpen p{min-width:0;color:var(--sub);flex:220px;font-size:15px}}.RoadmapMap-module__mA946a__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.RoadmapMap-module__mA946a__hint{color:var(--sub);font-size:15px}.RoadmapMap-module__mA946a__tool,.RoadmapMap-module__mA946a__openButton{border:1.5px solid var(--ink);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:800;transition:background-color .15s,color .15s;display:inline-flex}.RoadmapMap-module__mA946a__openButton{background:var(--ink);color:var(--paper)}@media (hover:hover) and (pointer:fine){.RoadmapMap-module__mA946a__tool:hover{background:var(--ink);color:var(--paper)}.RoadmapMap-module__mA946a__openButton:hover{background:var(--ink-hover)}}.RoadmapMap-module__mA946a__uiIcon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.RoadmapMap-module__mA946a__frame{border:1px solid var(--rule);border-radius:var(--radius-panel);background:var(--paper);padding:8px 0;overflow:hidden}.RoadmapMap-module__mA946a__full{z-index:50;touch-action:none;padding-block:env(safe-area-inset-top,0px) env(safe-area-inset-bottom,0px);background:var(--paper);flex-direction:column;gap:0;display:flex;position:fixed;inset:0}.RoadmapMap-module__mA946a__full .RoadmapMap-module__mA946a__head{display:none}.RoadmapMap-module__mA946a__full .RoadmapMap-module__mA946a__frame{touch-action:none;cursor:grab;border:0;border-radius:0;flex:1;min-height:0;padding:0}.RoadmapMap-module__mA946a__full .RoadmapMap-module__mA946a__frame.RoadmapMap-module__mA946a__dragging{cursor:grabbing}.RoadmapMap-module__mA946a__full .RoadmapMap-module__mA946a__map{-webkit-user-select:none;user-select:none;height:100%}.RoadmapMap-module__mA946a__fsBar{top:calc(12px + env(safe-area-inset-top,0px));z-index:6;gap:6px;display:flex;position:absolute;right:12px}.RoadmapMap-module__mA946a__fsButton{border:1.5px solid var(--ink);background:var(--paper);width:44px;height:44px;color:var(--ink);box-shadow:0 2px 8px var(--shadow-ink);cursor:pointer;border-radius:999px;place-items:center;display:grid}.RoadmapMap-module__mA946a__fsButton .RoadmapMap-module__mA946a__uiIcon{width:20px;height:20px}.RoadmapMap-module__mA946a__fsClose{background:var(--ink);color:var(--paper)}.RoadmapMap-module__mA946a__fsHint{left:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:4;border:1px solid var(--rule);background:var(--paper);color:var(--sub);border-radius:999px;padding:6px 12px;font-size:13px;position:absolute}.RoadmapMap-module__mA946a__touch .RoadmapMap-module__mA946a__fsBar{top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.RoadmapMap-module__mA946a__touch .RoadmapMap-module__mA946a__fsHint{top:calc(12px + env(safe-area-inset-top,0px));text-align:center;font-size:12px;bottom:auto;right:12px}.RoadmapMap-module__mA946a__touch .RoadmapMap-module__mA946a__card{z-index:7;top:auto;right:12px;bottom:calc(68px + env(safe-area-inset-bottom,0px));width:auto;position:fixed;left:12px}.RoadmapMap-module__mA946a__river{fill:none;stroke:var(--map-water);stroke-width:26px}.RoadmapMap-module__mA946a__riverEdge{fill:none;stroke:var(--map-water-edge);stroke-width:30px}.RoadmapMap-module__mA946a__park{fill:var(--map-park)}.RoadmapMap-module__mA946a__trees{fill:var(--map-park-ink)}.RoadmapMap-module__mA946a__treeTrunk{fill:none;stroke:var(--map-park-ink);stroke-width:1.8px;stroke-linecap:round}.RoadmapMap-module__mA946a__relics{fill:none;color:var(--map-relic);stroke:var(--map-relic);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.RoadmapMap-module__mA946a__border{fill:none;stroke:var(--rule);stroke-width:1.5px}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__gridText{font-family:var(--font-mono);fill:var(--map-grid);font-size:13px;font-weight:600}.RoadmapMap-module__mA946a__signBoard{fill:var(--ink)}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__signOperator{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;fill:var(--wattle);font-size:10.5px;font-weight:600}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__signTitle{letter-spacing:-.01em;fill:var(--paper);font-size:30px;font-weight:900}.RoadmapMap-module__mA946a__keyRing{stroke-width:2.5px}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__keyText{fill:var(--sub);font-size:12.5px;font-weight:600}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__edition{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;fill:var(--map-grid);font-size:12px;font-weight:600}.RoadmapMap-module__mA946a__map{width:100%;height:auto;display:block}.RoadmapMap-module__mA946a__map text{font-family:var(--font-sans);fill:var(--ink)}.RoadmapMap-module__mA946a__trackCasing{fill:none;stroke:var(--paper);stroke-width:15px;stroke-linejoin:round}.RoadmapMap-module__mA946a__track{fill:none;stroke-width:7px;stroke-linejoin:round;stroke-linecap:round}.RoadmapMap-module__mA946a__tick{stroke-width:2.5px;stroke-linecap:round}.RoadmapMap-module__mA946a__terminus{stroke-width:7px;stroke-linecap:round}.RoadmapMap-module__mA946a__gate{fill:var(--ink)}.RoadmapMap-module__mA946a__walkway{stroke:var(--ink);stroke-width:4px;stroke-dasharray:.1 9;stroke-linecap:round}.RoadmapMap-module__mA946a__lineName{font-size:15px;font-weight:800}.RoadmapMap-module__mA946a__station{cursor:pointer;outline:none}.RoadmapMap-module__mA946a__hit{fill:#0000}.RoadmapMap-module__mA946a__ring{transition:stroke-width .15s}.RoadmapMap-module__mA946a__built{fill:var(--paper);stroke:var(--ink)}.RoadmapMap-module__mA946a__building{fill:var(--tbc);stroke:var(--ink);stroke-dasharray:3 2.4}.RoadmapMap-module__mA946a__planned{fill:var(--paper);stroke:var(--muted);stroke-dasharray:.1 4.4;stroke-linecap:round}.RoadmapMap-module__mA946a__icon,.RoadmapMap-module__mA946a__iconMuted{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.RoadmapMap-module__mA946a__icon{color:var(--ink);stroke:var(--ink)}.RoadmapMap-module__mA946a__iconMuted{color:var(--muted);stroke:var(--muted)}.RoadmapMap-module__mA946a__halo{fill:none;stroke-width:3px;opacity:0;transition:opacity .15s}.RoadmapMap-module__mA946a__station:hover .RoadmapMap-module__mA946a__ring,.RoadmapMap-module__mA946a__station:focus-visible .RoadmapMap-module__mA946a__ring,.RoadmapMap-module__mA946a__pinned .RoadmapMap-module__mA946a__ring{stroke-width:5px}.RoadmapMap-module__mA946a__station:hover .RoadmapMap-module__mA946a__halo,.RoadmapMap-module__mA946a__station:focus-visible .RoadmapMap-module__mA946a__halo,.RoadmapMap-module__mA946a__pinned .RoadmapMap-module__mA946a__halo{opacity:1}.RoadmapMap-module__mA946a__station:focus-visible .RoadmapMap-module__mA946a__hit{stroke:var(--ink);stroke-width:2px}.RoadmapMap-module__mA946a__station:hover .RoadmapMap-module__mA946a__label,.RoadmapMap-module__mA946a__pinned .RoadmapMap-module__mA946a__label{text-underline-offset:3px;text-decoration:underline}.RoadmapMap-module__mA946a__label{font-size:13.5px;font-weight:600}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__labelPlanned{fill:var(--sub)}.RoadmapMap-module__mA946a__tag{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:600}.RoadmapMap-module__mA946a__map .RoadmapMap-module__mA946a__tag{font-family:var(--font-mono)}.RoadmapMap-module__mA946a__hubLabel{font-size:15px;font-weight:800}.RoadmapMap-module__mA946a__card{z-index:5;background:var(--paper);border:1.5px solid var(--ink);width:320px;box-shadow:0 10px 30px var(--shadow-ink);border-radius:14px;gap:8px;padding:14px 16px 16px;display:grid;position:absolute}.RoadmapMap-module__mA946a__card[hidden]{display:none}.RoadmapMap-module__mA946a__cardTop{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.RoadmapMap-module__mA946a__chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--ink);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.RoadmapMap-module__mA946a__chip_building{background:var(--wattle);border-color:var(--wattle)}.RoadmapMap-module__mA946a__chip_planned{border-style:dashed;border-color:var(--sub);color:var(--sub)}.RoadmapMap-module__mA946a__cardLine{align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.RoadmapMap-module__mA946a__cardLine i{border-radius:2px;width:18px;height:4px;display:inline-block}.RoadmapMap-module__mA946a__cardTitle{font-size:18px;font-weight:800;line-height:1.2}.RoadmapMap-module__mA946a__cardGrid{font-family:var(--font-mono);letter-spacing:.06em;color:var(--sub);font-size:11px;font-weight:600}.RoadmapMap-module__mA946a__cardText{font-size:15px;line-height:1.5}@media (prefers-reduced-motion:reduce){.RoadmapMap-module__mA946a__ring,.RoadmapMap-module__mA946a__halo,.RoadmapMap-module__mA946a__tool,.RoadmapMap-module__mA946a__openButton{transition:none}}
