[data-metro-journey]{display:block;--bg:#f7f5f0;--surface:#fff;--ink:#12212b;--muted:#66717a;--line:#dce2e6;--brand:#0c6f78;--brand-2:#0a4f56;--max:1180px;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55}
[data-metro-journey],[data-metro-journey] *{box-sizing:border-box}
[data-metro-journey] button,[data-metro-journey] select{font:inherit}
[data-metro-journey] button{cursor:pointer}
[data-metro-journey] button:disabled,[data-metro-journey] select:disabled{cursor:wait;opacity:.65}
[data-metro-journey] .container{max-width:var(--max);margin:0 auto;padding:0 20px}
[data-metro-journey] .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border:0;font-weight:750;cursor:pointer;text-decoration:none}
[data-metro-journey] .btn-primary{background:var(--brand);color:white}
[data-metro-journey] .btn-primary:hover{background:var(--brand-2)}
[data-metro-journey] .notice{border:1px solid #e3d0b1;background:#fff9ed;padding:18px;border-radius:12px;font-size:13px}
[data-metro-journey] a{color:var(--brand);text-underline-offset:.16em}
[data-metro-journey] .test-header{max-width:1440px;margin:auto;padding:22px 34px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}[data-metro-journey] .test-brand{font-size:21px;font-weight:800;text-decoration:none;letter-spacing:-.7px}[data-metro-journey] .test-brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--brand);margin-top:2px}[data-metro-journey] .test-pill{font-size:10px;letter-spacing:1.4px;font-weight:700;color:var(--brand);background:#e3edeb;padding:6px 10px;border-radius:6px}[data-metro-journey] .back-guide{margin-left:auto;font-size:13px;color:var(--muted)}[data-metro-journey] .test-main{max-width:1440px;margin:auto;padding:30px 34px 20px}[data-metro-journey] .test-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}[data-metro-journey] .eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--brand);margin:0 0 8px}[data-metro-journey] .test-intro .journey-section-title{font-size:clamp(28px,3.5vw,44px);line-height:1.13;letter-spacing:-1.7px;margin:0 0 8px}[data-metro-journey] .test-intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}[data-metro-journey] .map-credit{text-align:right;line-height:1.6;font-size:12px!important}[data-metro-journey] .map-credit strong{color:var(--ink);font-weight:600}[data-metro-journey] .journey-form{display:grid;grid-template-columns:1fr auto 1fr auto;gap:16px;align-items:end;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:white;margin-bottom:22px}[data-metro-journey] .journey-form label{display:flex;flex-direction:column;gap:7px;min-width:0}[data-metro-journey] .journey-form label span{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.2px}[data-metro-journey] .journey-form select{width:100%;height:46px;background:#f8f9f8;color:var(--ink);border:1px solid #dce2e6;border-radius:8px;padding:0 12px;font-size:14px}[data-metro-journey] .journey-form .btn{height:46px;border-radius:8px;font-size:13px}[data-metro-journey] .swap-control{height:46px;border:0;background:transparent;color:var(--brand);font-size:12px;padding:0 3px}[data-metro-journey] .journey-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}[data-metro-journey] .journey-panel{border:1px solid var(--line);border-radius:16px;background:white;padding:24px 20px}[data-metro-journey] .journey-title{font-size:20px;letter-spacing:-.6px;line-height:1.25;margin:0 0 12px}[data-metro-journey] .journey-title span{display:block;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:0;margin:6px 0}[data-metro-journey] .journey-kpis{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}[data-metro-journey] .journey-kpis span{font-size:11px;padding:5px 8px;background:#f1f5f4;border-radius:5px}[data-metro-journey] .journey-steps{padding:0;margin:0;list-style:none}[data-metro-journey] .journey-steps li{padding:0 0 18px 26px;position:relative;border-left:1px solid #e2e7e5;margin-left:8px}[data-metro-journey] .journey-steps li:last-child{border-left:0;padding-bottom:0}[data-metro-journey] .step-number{position:absolute;left:-10px;top:0;border-radius:50%;background:white;border:1px solid #c9d5d2;font-size:10px;font-weight:700;width:20px;height:20px;display:grid;place-items:center}[data-metro-journey] .journey-steps button{padding:0;text-align:left;border:0;background:transparent;color:var(--ink);font-size:13px;line-height:1.5;width:100%}[data-metro-journey] .journey-steps button:hover strong,[data-metro-journey] .journey-steps button[aria-pressed=true] strong{color:var(--brand)}[data-metro-journey] .journey-steps strong{display:block;font-size:14px}[data-metro-journey] .step-caption{display:block;font-size:11px;color:var(--muted);margin-top:4px}[data-metro-journey] .line-tag{display:inline-block;font-size:10px;font-weight:700;border:1px solid var(--tag-color,#ccc);border-radius:4px;padding:1px 6px;margin-top:6px;color:var(--ink)}[data-metro-journey] .journey-footnote{font-size:10px;line-height:1.6;color:var(--muted);padding-top:18px;margin-top:20px;border-top:1px solid var(--line)}[data-metro-journey] .map-panel{display:block;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}[data-metro-journey] .map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}[data-metro-journey] .map-toolbar strong{font-size:13px;display:block}[data-metro-journey] .map-toolbar span{font-size:11px;color:var(--muted);display:block;margin-top:3px}[data-metro-journey] .map-toolbar button{font-size:11px;border:1px solid var(--line);border-radius:7px;background:white;padding:8px 10px;color:var(--brand)}[data-metro-journey] .map-stage{height:500px;position:relative;overflow:hidden;background:white;touch-action:none;cursor:grab}[data-metro-journey] .map-stage.dragging{cursor:grabbing}[data-metro-journey] .map-stage canvas{width:100%;height:100%;display:block}[data-metro-journey] .map-loading{position:absolute;inset:0;display:grid;place-items:center;background:white;font-size:14px;color:var(--muted)}[data-metro-journey] .map-loading[hidden]{display:none}[data-metro-journey] .map-navigation{position:absolute;right:14px;top:14px;display:flex;gap:4px;padding:4px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 3px 12px #12212b0b}[data-metro-journey] .map-navigation button{border:0;border-radius:5px;min-width:29px;height:29px;background:white;font-size:11px;color:var(--ink);padding:0 7px}[data-metro-journey] .map-navigation button:hover{background:#edf5f3}[data-metro-journey] .map-replay{position:absolute;bottom:16px;left:16px;right:16px;display:flex;gap:10px;align-items:center;pointer-events:none}[data-metro-journey] .map-replay button{pointer-events:auto;background:var(--ink);color:white;border:0;border-radius:8px;padding:10px 14px;font-size:11px}[data-metro-journey] .map-replay span{font-size:11px;color:var(--ink);background:#fffffff2;padding:4px 8px;border-radius:5px}[data-metro-journey] .map-replay span:empty{display:none}[data-metro-journey] .map-bottom{display:flex;justify-content:space-between;gap:10px;padding:13px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}[data-metro-journey] .map-bottom b{display:inline-grid;place-items:center;margin:0 4px 0 10px;font-size:9px;width:18px;height:18px;border-radius:50%;background:#eef5f3;color:var(--brand)}[data-metro-journey] .map-bottom b:first-child{margin-left:0}[data-metro-journey] .map-bottom .legend-b{color:#bd4938;background:#fff0ec}[data-metro-journey] .prototype-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:20px}[data-metro-journey] .prototype-footer p{margin:0}[data-metro-journey] .prototype-footer p:last-child{flex-basis:100%;margin-top:-9px}[data-metro-journey] .prototype-footer a{color:var(--brand)}[data-metro-journey] .map-error{font-size:13px;background:#fff0ec;border:1px solid #e9cbc3;border-radius:9px;padding:14px}[data-metro-journey] .map-marker{position:absolute;transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap;font-size:11px;line-height:1.4;padding:7px 10px;border-radius:7px;background:#12212b;color:white;box-shadow:0 3px 15px #12212b16}[data-metro-journey] .map-marker small{display:block;font-size:9px;opacity:.7}[data-metro-journey] .map-marker.board{background:var(--brand)}[data-metro-journey] .map-marker.alight{background:#bf4e3d}[data-metro-journey] .map-marker.transfer{background:white;color:var(--ink);border:1px solid #cbd9d6}[data-metro-journey] .map-marker[hidden]{display:none}[data-metro-journey] button:focus-visible,[data-metro-journey] select:focus-visible,[data-metro-journey] .map-stage:focus-visible{outline:3px solid #0c6f78;outline-offset:3px}
@media(min-width:1500px){[data-metro-journey] .map-stage{height:560px}}
@media(max-width:1000px){[data-metro-journey] .journey-layout{grid-template-columns:245px minmax(0,1fr)}[data-metro-journey] .test-main{padding:24px}[data-metro-journey] .test-header{padding:18px 24px}[data-metro-journey] .map-bottom>span:last-child{display:none}[data-metro-journey] .map-credit{display:none}[data-metro-journey] .map-stage{height:480px}}
@media(max-width:700px){[data-metro-journey] .test-header{padding:15px 16px;gap:12px}[data-metro-journey] .test-brand{font-size:18px}[data-metro-journey] .test-pill{font-size:8px}[data-metro-journey] .back-guide{font-size:11px}[data-metro-journey] .test-main{padding:24px 16px}[data-metro-journey] .test-intro .journey-section-title{letter-spacing:-1px}[data-metro-journey] .test-intro p:not(.eyebrow){font-size:13px}[data-metro-journey] .journey-form{grid-template-columns:1fr auto;gap:12px;padding:16px}[data-metro-journey] .journey-form label:first-child{grid-column:1}[data-metro-journey] .journey-form label:nth-of-type(2){grid-column:1}[data-metro-journey] .swap-control{grid-column:2;grid-row:1/3;align-self:center}[data-metro-journey] .journey-form .btn{grid-column:1/3;width:100%}[data-metro-journey] .journey-layout{display:flex;flex-direction:column;gap:16px}[data-metro-journey] .journey-panel{width:100%;padding:18px}[data-metro-journey] .map-panel{width:100%;order:-1}[data-metro-journey] .map-toolbar{padding:14px 12px}[data-metro-journey] .map-stage{height:400px}[data-metro-journey] .map-navigation{right:8px;top:8px}[data-metro-journey] .map-navigation button{padding:0 5px}[data-metro-journey] .map-marker{font-size:10px;padding:5px 7px}[data-metro-journey] .map-marker small{font-size:8px}[data-metro-journey] .map-bottom{padding:12px}[data-metro-journey] .journey-steps{display:grid;grid-template-columns:1fr;gap:0}[data-metro-journey] .journey-title{font-size:19px}[data-metro-journey] .prototype-footer{line-height:1.7;gap:8px}[data-metro-journey] .prototype-footer p:last-child{margin-top:0}}
@media(prefers-reduced-motion:reduce){[data-metro-journey] html{scroll-behavior:auto}}[data-metro-journey] .map-panel{min-height:0}[data-metro-journey] .map-navigation button{min-width:36px;height:36px}@media(max-width:700px){[data-metro-journey] .map-navigation button{min-width:40px;height:40px}[data-metro-journey] .map-toolbar button{min-height:40px}}[data-metro-journey] .official-route-section{padding:32px 0 30px;scroll-margin-top:95px}[data-metro-journey] .official-route-widget .map-anchor{display:block;scroll-margin-top:95px}[data-metro-journey] .official-route-widget #official-map-section{scroll-margin-top:95px}[data-metro-journey] .official-map-credit{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;font-size:10px;line-height:1.7;color:var(--muted)}[data-metro-journey] .official-map-credit p{margin:0;max-width:820px}[data-metro-journey] .official-map-credit a{color:var(--brand);flex-shrink:0}[data-metro-journey] .official-route-widget .notice{margin-top:20px}
@media(max-width:700px){[data-metro-journey] .official-route-section{padding-top:24px}[data-metro-journey] .official-map-credit{flex-direction:column;align-items:flex-start;gap:6px}[data-metro-journey] .official-route-widget .map-stage{height:400px}}
