:root{color-scheme:dark;--bm-paper:#182022;--bm-ink:#f7f8f4;--bm-muted:#bbc7ca;--bm-rule:#485153;--bm-logo-ink:#fff}
:root[data-map-theme="light"]{color-scheme:light;--bm-paper:#f7f8f4;--bm-ink:#121619;--bm-muted:#526067;--bm-rule:#c7ceca;--bm-logo-ink:#121619}
body{margin:0;background:var(--bm-paper)}a{color:inherit;text-underline-offset:.2em}

    #buslane-route-map { --bm-yellow:#ffd642; font-family:Aptos,"Trebuchet MS","Segoe UI",sans-serif; color:var(--bm-ink); }
    #buslane-route-map * { box-sizing:border-box; }
    #buslane-route-map [hidden] { display:none !important; }
    #buslane-route-map .bm-proposal-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
    #buslane-route-map button { font:inherit; cursor:pointer; }
    #buslane-route-map .bm-proposal-tabs button { padding:11px 16px; border:1px solid var(--bm-ink); color:var(--bm-ink); background:transparent; font-size:14px; font-weight:700; }
    #buslane-route-map .bm-proposal-tabs button[aria-pressed="true"] { background:var(--bm-ink); color:var(--bm-paper); }
    #buslane-route-map .bm-page { background:var(--bm-paper); border:1px solid var(--bm-rule); }
    #buslane-route-map .bm-header { background:#121619; color:#fff; border-bottom:5px solid #ffd642; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:18px 24px; }
    #buslane-route-map .bm-wordmark { font-size:23px; font-weight:900; line-height:.85; letter-spacing:-1px; }
    #buslane-route-map .bm-wordmark span { display:block; color:#ffd642; }
    #buslane-route-map .bm-header-note { font-size:11px; text-transform:uppercase; letter-spacing:1.5px; text-align:right; }
    #buslane-route-map .bm-intro { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:24px 24px 15px; }
    #buslane-route-map .bm-intro p { margin:0 0 7px; font-size:11px; letter-spacing:1.3px; text-transform:uppercase; font-weight:700; color:var(--bm-muted); }
    #buslane-route-map .bm-intro h2 { margin:0; font-size:42px; font-weight:900; line-height:1; letter-spacing:-1.5px; }
    #buslane-route-map .bm-map-name { font-size:13px; text-align:right; line-height:1.5; }
    #buslane-route-map .bm-map-name strong { display:block; }
    #buslane-route-map .bm-map-options { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
    #buslane-route-map .bm-theme-toggle { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:8px 11px; border:1px solid var(--bm-rule); background:transparent; color:var(--bm-ink); font-size:12px; font-weight:700; white-space:nowrap; }
    #buslane-route-map .bm-theme-toggle::before { content:""; width:10px; height:10px; border:1px solid currentColor; border-radius:50%; }
    #buslane-route-map .bm-theme-toggle[aria-pressed="true"]::before { background:var(--bm-yellow); border-color:var(--bm-ink); }
    #buslane-route-map .bm-theme-toggle:focus-visible { outline:3px solid var(--bm-yellow); outline-offset:3px; }
    #buslane-route-map .bm-legend { display:flex; flex-wrap:wrap; gap:6px 16px; margin:0 24px; padding:13px 0; border-block:1px solid var(--bm-rule); }
    #buslane-route-map .bm-legend button { display:inline-flex; align-items:center; gap:6px; border:0; padding:5px 0; background:transparent; color:var(--bm-ink); font-size:12px; line-height:1.2; text-align:left; }
    #buslane-route-map .bm-legend button[aria-pressed="true"] { text-decoration:underline; text-underline-offset:4px; font-weight:800; }
    #buslane-route-map .bm-swatch { width:20px; height:5px; display:inline-block; background:var(--bm-route); }
    #buslane-route-map .bm-legend-code { font-size:10px; font-weight:800; }
    #buslane-route-map .bm-drawing { padding:5px 8px 0; }
    #buslane-route-map .bm-map-frame { position:relative; overflow:hidden; aspect-ratio:11 / 10; }
    #buslane-route-map .bm-map { display:block; width:100%; height:100%; overflow:hidden; touch-action:none; user-select:none; cursor:grab; }
    #buslane-route-map .bm-map:active { cursor:grabbing; }
    #buslane-route-map .bm-map:focus-visible { outline:3px solid var(--bm-yellow); outline-offset:-3px; }
    #buslane-route-map .bm-map-help { margin:12px 16px 8px; color:var(--bm-muted); font-size:12px; line-height:1.5; }
    #buslane-route-map .bm-zoom-controls { position:absolute; top:8px; right:8px; display:flex; background:var(--bm-paper); border:1px solid var(--bm-rule); }
    #buslane-route-map .bm-zoom-controls button { display:grid; place-items:center; min-width:44px; min-height:44px; padding:5px; border:0; border-right:1px solid var(--bm-rule); background:transparent; color:var(--bm-ink); font-size:20px; }
    #buslane-route-map .bm-zoom-controls button:last-child { border-right:0; font-size:12px; font-weight:800; }
    #buslane-route-map .bm-zoom-controls button:disabled { opacity:.35; cursor:default; }
    #buslane-route-map .bm-zoom-controls button:focus-visible { outline:3px solid var(--bm-yellow); outline-offset:-3px; }
    .bm-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
    #buslane-route-map .bm-map .bm-station-label { fill:var(--bm-ink); stroke:var(--bm-paper); stroke-width:5px; paint-order:stroke; stroke-linejoin:round; font-size:18px; font-weight:600; }
    #buslane-route-map .bm-map .bm-main-label { font-weight:800; }
    #buslane-route-map .bm-map .bm-path { stroke-linejoin:round; stroke-linecap:round; }
    #buslane-route-map .bm-map a { cursor:pointer; }
    #buslane-route-map .bm-map a:focus { outline:3px solid var(--bm-yellow); outline-offset:4px; }
    #buslane-route-map .bm-map .bm-soft { opacity:.11; }
    #buslane-route-map .bm-key { display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; border-top:1px solid var(--bm-rule); margin:0 24px; padding:14px 0; font-size:11px; color:var(--bm-muted); }
    #buslane-route-map .bm-key span { display:inline-flex; align-items:center; gap:6px; }
    #buslane-route-map .bm-key-dot { width:12px; height:12px; background:var(--bm-paper); border:2px solid var(--bm-ink); border-radius:50%; }
    #buslane-route-map .bm-key-hub { width:15px; height:15px; border:2px solid var(--bm-ink); border-radius:50%; outline:2px solid var(--bm-ink); outline-offset:2px; margin-inline:3px; }
    #buslane-route-map .bm-key-transfer { width:24px; border-top:2px dashed var(--bm-muted); }
    #buslane-route-map .bm-selected { padding:15px 24px; border-top:1px solid var(--bm-rule); min-height:57px; font-size:13px; line-height:1.6; }
    #buslane-route-map .bm-selected strong { font-weight:800; }
    #buslane-route-map .bm-footer { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; background:#121619; color:#fff; padding:15px 24px; font-size:11px; }
    #buslane-route-map .bm-footer strong { color:#ffd642; }
    #buslane-route-map .bm-mobile { display:none; padding:24px; }
    #buslane-route-map .bm-mobile ol { list-style:none; margin:0; padding:0 0 0 12px; }
    #buslane-route-map .bm-mobile li { position:relative; padding:0 0 22px 26px; border-left:4px solid var(--bm-selected-line,#bd9400); font-size:14px; line-height:1.4; }
    #buslane-route-map .bm-mobile li:before { content:""; position:absolute; left:-9px; top:2px; width:14px; height:14px; border:3px solid var(--bm-selected-line,#bd9400); border-radius:50%; background:var(--bm-paper); }
    #buslane-route-map .bm-mobile li:last-child { border-color:transparent; padding-bottom:0; }
    #buslane-route-map .bm-mobile small { display:block; font-size:11px; color:var(--bm-muted); margin-top:4px; }
    #buslane-route-map .bm-mobile h2 { font-size:20px; margin:0 0 24px; }
    #buslane-route-map .bm-mobile-shape { width:100%; height:150px; margin-bottom:24px; }
    @media(max-width:680px) {
      #buslane-route-map .bm-mobile { display:block; }
      #buslane-route-map .bm-intro { flex-wrap:wrap; }
      #buslane-route-map .bm-map-name { text-align:left; }
      #buslane-route-map .bm-proposal-tabs button { flex:1; padding:11px 8px; }
      #buslane-route-map .bm-header,#buslane-route-map .bm-intro { padding-inline:18px; }
      #buslane-route-map .bm-legend,#buslane-route-map .bm-key { margin-inline:18px; }
    }
    @media(max-width:900px) {
      #buslane-route-map .bm-map-frame { height:clamp(300px,68svh,620px); aspect-ratio:auto; border:1px solid var(--bm-rule); }
    }
    @media(max-width:900px) and (orientation:landscape) {
      #buslane-route-map .bm-map-frame { height:70svh; min-height:230px; }
    }
  
#buslane-route-map{max-width:1120px;margin:auto}
#buslane-route-map .bm-page{border:0}
#buslane-route-map .bm-wordmark{text-decoration:none}
#buslane-route-map h1{margin:0;font-size:42px;font-weight:900;line-height:1;letter-spacing:-1.5px}
#buslane-route-map .bm-header-note a{display:inline-block;padding-block:8px}
#buslane-route-map .bm-selected a{font-weight:700}
#buslane-route-map .bm-selected nav{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
#buslane-route-map .bm-text-link{display:block;padding:22px 24px;border-top:1px solid var(--bm-rule);font-weight:700}
#buslane-route-map .bm-map .bm-brand-label{font-weight:800}
#buslane-route-map .bm-map .bm-logo-buslane{fill:var(--bm-logo-ink)}
#buslane-route-map .bm-map .bm-logo-media{fill:#ffd642}
#buslane-route-map .bm-map .bm-ever{fill:#777777}
#buslane-route-map .bm-map .bm-wished{fill:#007bff}
#buslane-route-map .bm-map .bm-label-link:focus-visible{outline:3px solid #036a81;outline-offset:4px}
#buslane-route-map .bm-mobile li>a{font-weight:700}
#buslane-route-map .bm-map a:hover text{text-decoration:underline}
.bm-skip{position:absolute;left:16px;top:8px;z-index:10;padding:12px;background:#ffd642;color:#121619;transform:translateY(-200%)}.bm-skip:focus{transform:none}
@media(pointer:coarse){#buslane-route-map .bm-legend button,#buslane-route-map .bm-theme-toggle{min-height:44px}#buslane-route-map .bm-mobile li>a{display:inline-block;padding-block:10px}}
@media(max-width:680px){#buslane-route-map .bm-selected,#buslane-route-map .bm-footer{padding-inline:18px}#buslane-route-map .bm-header-note{font-size:10px}#buslane-route-map .bm-key{gap:12px}}
@media(forced-colors:active){#buslane-route-map .bm-map .bm-ever,#buslane-route-map .bm-map .bm-wished{fill:CanvasText}}
