:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#eaf2ef;background:#09232b;font-synthesis:none;--mint:#9ce4ce;--line:#ffffff1a;--muted:#aac0c1;--ink:#09232b;--surface:#102d34;--route:#168a79;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:inherit}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#map:focus-visible{outline:3px solid #f0bd6a;outline-offset:3px}button{color:inherit}button[hidden],[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:16px;z-index:3000;padding:14px;background:#fff;color:#123}.skip:focus{top:8px}
.app-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#09232b;position:relative;z-index:1100}.identity{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;letter-spacing:-.6px}.identity img{border-radius:10px}.identity b{font-weight:400;color:var(--mint);margin-left:3px}.identity small{display:block;font-size:8px;letter-spacing:2.4px;color:var(--muted);margin-top:5px}.app-header nav{display:flex;align-items:center;gap:22px}.home-link{font-size:12px;text-decoration:none;color:#c4d4d3}.home-link span{margin-left:8px}.button{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;border-radius:9px;min-height:46px;padding:11px 17px;font-weight:600;font-size:13px;text-decoration:none;transition:background .15s,transform .15s}.button:hover:not(:disabled){transform:translateY(-1px)}.install{background:#ffffff0b;border-color:#ffffff30;color:var(--mint);font-size:12px;min-height:40px}.install svg{width:16px}.primary{background:var(--mint);color:#082c2b;width:100%;justify-content:space-between;padding:15px 19px;min-height:52px}.primary:hover:not(:disabled){background:#b9f0df}.icon-button{background:transparent;border:1px solid #ffffff25;border-radius:50%;height:32px;width:32px;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:#d2dfdd}.icon-button:hover{background:#ffffff14}
.atlas-layout{height:calc(100dvh - 78px);display:grid;grid-template-columns:370px minmax(0,1fr)}.journey-panel{padding:30px 28px 18px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#385057 transparent;position:relative;z-index:600;background:linear-gradient(165deg,#102b32,#0b242c 75%)}.panel-heading{margin-bottom:24px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;margin:0 0 12px;display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);flex-shrink:0;box-shadow:0 0 0 4px #9ce4ce0c}.panel-heading h1{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:0 0 10px;font-weight:500}.panel-heading h1 em{font-style:normal;color:var(--mint)}.panel-heading>p:last-child{font-size:12px;color:var(--muted);margin:0}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;gap:4px;background:#061a2073;border:1px solid var(--line);border-radius:9px;margin-bottom:23px}.segmented button{min-height:37px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:center;gap:8px}.segmented button svg{width:17px;height:17px}.segmented button[aria-pressed=true]{background:#29484c;color:#e4f8f0;box-shadow:0 2px 6px #0002}.field-label{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-bottom:9px}.field-label label{font-size:11px;display:flex;align-items:center;gap:8px;font-weight:500}.text-button{padding:4px 0;background:transparent;border:0;color:var(--mint);font-size:10px;font-weight:500;text-align:left;line-height:1.5}.text-button:hover{text-decoration:underline}.point-dot{border:2px solid var(--mint);width:8px;height:8px;border-radius:50%;display:inline-block}.end-dot{border-color:#f0bd6a;background:#f0bd6a}.search-form{display:flex;border:1px solid #4c686f;border-radius:8px;overflow:hidden;background:#071d2440;transition:border .2s}.search-form:focus-within{border-color:var(--mint);box-shadow:0 0 0 2px #9ce4ce1a}.search-form:has(input[data-selected=true]){border-color:#6d9b8f}.search-form input{background:transparent;border:0;border-radius:0;min-width:0;width:100%;height:47px;padding:10px 12px;color:#fff;font-size:12px;outline:none}.search-form input::placeholder{color:#8fa6ab}.search-form input:focus-visible{outline:none}.search-button{width:43px;flex-shrink:0;border:0;border-left:1px solid #ffffff0c;background:transparent;display:flex;align-items:center;justify-content:center;color:var(--mint)}.search-button:hover{background:#ffffff10}.search-button svg{width:17px}.selection-hint{font-size:10px;line-height:1.55;color:#91acae;margin:7px 0 0;min-height:16px;overflow-wrap:anywhere}.selection-hint.selected{color:#afd8ca}.swap-line{display:flex;align-items:center;gap:10px;height:32px;margin:2px 0 1px}.swap-line>span{height:1px;background:#ffffff0d;flex:1}.swap-line button{width:24px;height:24px;font-size:17px;border-color:#ffffff1a}.map-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:19px 0 15px}.map-picker label{font-size:10px;color:var(--muted)}.map-picker select{max-width:155px;color:#cce3da;background:#102c34;border:1px solid #ffffff25;border-radius:6px;padding:7px 5px;font-size:10px}.status{font-size:11px;line-height:1.65;min-height:36px;margin:10px 0 15px;color:var(--muted)}.status.error{color:#ffd4b3}.status.success{color:#b5e8d7}.status.loading{color:#e7e1c0}.search-results{margin:8px 0 0;border:1px solid #56726d;border-radius:8px;overflow:hidden;background:#16343a;max-height:250px;overflow-y:auto}.search-results button{display:block;text-align:left;width:100%;padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#eff6f1}.search-results button:last-child{border-bottom:0}.search-results button:hover,.search-results button:focus{background:#285147}.search-results strong{display:block;font-size:12px;font-weight:500;line-height:1.5}.search-results small{display:block;font-size:10px;color:#b7cfcb;line-height:1.5;margin-top:3px}.search-results .empty{padding:12px;font-size:11px;color:#d8e4de}
.discover{border-top:1px solid var(--line);padding-top:20px}.discover .eyebrow{color:#aac1be;letter-spacing:1.5px;font-size:8px}.discover-intro{font-size:16px;margin:0 0 12px;font-weight:400}.city-list{display:grid}.city-list button{display:grid;grid-template-columns:23px 1fr 18px;grid-template-rows:auto auto;text-align:left;align-items:center;column-gap:8px;padding:11px 0;border:0;border-bottom:1px solid #ffffff0b;background:transparent}.city-list button:hover strong{color:var(--mint)}.city-list button>span{grid-row:1/3;font-size:9px;color:#75918f}.city-list strong{font-size:12px;font-weight:500}.city-list small{font-size:10px;color:#97b0b1;margin-top:4px}.city-list b{grid-column:3;grid-row:1/3;color:#9ce4ce;font-size:17px;font-weight:400}.panel-footer{border-top:1px solid var(--line);display:flex;gap:10px;padding-top:15px;margin-top:23px;align-items:flex-start}.beta{font-size:7px;letter-spacing:1px;white-space:nowrap;border:1px solid #ffffff2c;padding:4px 5px;border-radius:3px;color:var(--muted)}.panel-footer p{font-size:9px;line-height:1.7;margin:0;color:#9db3b3}.panel-footer button{font-size:9px}.route-result{border-top:1px solid var(--line);padding:17px 0 5px}.result-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.result-heading h2{font-weight:500;font-size:16px;margin:0}.route-options{display:grid;gap:8px}.route-option{background:#0e2930;border:1px solid #46635f;border-radius:8px;display:flex;align-items:center;justify-content:space-between;color:#d9eae3;padding:13px;text-align:left}.route-option[aria-pressed=true]{background:#234b43;border-color:var(--mint)}.route-option strong{font-size:22px;letter-spacing:-.5px;font-weight:500}.route-option span{font-size:12px}.route-option small{display:block;font-size:9px;color:#adc4bf;margin-top:4px}.estimate-note{font-size:10px;line-height:1.65;color:#b0c3be;margin:10px 0}.result-actions{display:grid;gap:7px;margin:14px 0}.secondary{background:#ffffff0c;border-color:#ffffff27;font-size:11px;min-height:42px}.result-actions .text-button{text-align:center}.route-result details{border-top:1px solid var(--line);margin-top:16px}.route-result summary{cursor:pointer;padding:14px 0;font-size:11px;color:#d1e4da}.route-result ol{padding-left:20px;margin:0 0 12px}.route-result li{font-size:11px;line-height:1.6;padding:9px 0 9px 4px;border-bottom:1px solid #ffffff0a;color:#c9dcd4}.route-result li small{display:block;color:#91aba6;font-size:10px;margin-top:3px}
.map-shell{position:relative;min-width:0;background:#e6eade;color:#153d3b;isolation:isolate}#map{position:absolute;inset:0;z-index:0;font-family:inherit;background:#e9ecdf}.map-top{position:absolute;z-index:500;top:22px;left:22px;right:22px;display:flex;gap:12px;align-items:flex-start;justify-content:space-between;pointer-events:none}.map-top>*{pointer-events:auto}.map-badge{display:flex;align-items:center;gap:10px;background:#fffef5ed;box-shadow:0 3px 18px #143e3017;border:1px solid #fff9;border-radius:6px;padding:11px 14px;font-size:9px;letter-spacing:1.5px;font-weight:600}.map-badge .live-dot{background:#1c8d77;box-shadow:none}.map-button{background:#fffef5ee;color:#214b43;border:1px solid #fff;border-radius:6px;padding:10px 14px;font-size:11px;box-shadow:0 3px 18px #143e3017}.map-button span{font-size:15px;margin-left:8px}.map-hint{position:absolute;z-index:500;bottom:66px;left:50%;transform:translateX(-50%);background:#fffef8f0;box-shadow:0 4px 25px #173a3426;backdrop-filter:blur(8px);border:1px solid white;border-radius:10px;display:flex;gap:12px;align-items:center;padding:12px 14px;max-width:calc(100% - 35px);width:max-content;font-size:11px}.hint-cross{background:#e5eee5;border-radius:50%;display:grid;place-items:center;width:27px;height:27px;font-size:21px;flex-shrink:0}.map-hint button{background:none;border:0;color:#3b6158;font-size:20px;margin-left:8px;width:23px;height:28px}.map-bottom{position:absolute;bottom:0;left:0;right:0;z-index:500;background:#f7f9f2dc;display:flex;justify-content:space-between;gap:10px;padding:10px 19px;font-size:9px;backdrop-filter:blur(8px)}.map-bottom a{text-decoration:none}.map-bottom a:hover{text-decoration:underline}.map-error{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:450;background:#fffef9;box-shadow:0 8px 30px #2344;width:min(320px,90%);padding:20px;border-radius:10px;border:1px solid #c4d9c5;display:grid;gap:10px;font-size:12px}.map-error strong{font-size:15px}.map-error span{line-height:1.7}.map-error .text-button{color:#167963}.leaflet-control-zoom a{background:#fffef6!important;color:#2b534a!important;border-color:#d9e4d9!important}.leaflet-bar{border:1px solid #c4d2c3!important;box-shadow:0 2px 12px #173a3420!important}.leaflet-control-zoom{margin:84px 23px 0 0!important}.leaflet-control-attribution{background:#fffef5db!important;color:#234f45!important;margin-bottom:31px!important;font-size:9px!important}.leaflet-control-attribution a{color:#176c57!important}.atlas-marker{background:transparent;border:0}.atlas-pin{width:27px;height:27px;display:grid;place-items:center;border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#155e54;color:white;box-shadow:0 3px 9px #082c4b66}.atlas-pin.end{background:#a76120}.atlas-pin>span{transform:rotate(45deg);font-size:11px;font-weight:700}.leaflet-tooltip{font-family:inherit;font-size:11px;color:#163f35;background:#fffef7;border:0;box-shadow:0 2px 10px #1343}
dialog{max-width:470px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:#102e35;color:#e3eee8;border:1px solid #56726d;border-radius:17px;padding:24px;box-shadow:0 24px 80px #0006}dialog::backdrop{background:#03151bc9;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-header .eyebrow{margin:0;color:var(--mint)}#dialog-content h2{font-size:26px;font-weight:500;letter-spacing:-.7px;line-height:1.3;margin:20px 0 14px}#dialog-content h3{font-size:14px;margin-top:22px;font-weight:600}#dialog-content p,#dialog-content li{font-size:12px;line-height:1.8;color:#c6d8d3}#dialog-content li{margin:9px 0}#dialog-content a{color:var(--mint)}#dialog-content ol,#dialog-content ul{padding-left:20px}#dialog-done{justify-content:center;margin-top:23px;min-height:44px}.noscript{position:fixed;top:80px;z-index:2000;background:#fff0cf;color:#29382a;padding:20px;width:100%;margin:0}
@media(min-width:1400px){.atlas-layout{grid-template-columns:400px minmax(0,1fr)}.journey-panel{padding:35px}.panel-heading h1{font-size:32px}}
@media(max-width:800px){.app-header{height:66px;padding:0 16px}.app-header nav{gap:10px}.identity{font-size:18px;gap:8px}.identity img{width:32px;height:32px}.identity small{font-size:6px;letter-spacing:1.6px}.home-link{display:none}.install{padding:8px 10px;min-height:37px;font-size:11px;gap:6px}.app-header .icon-button{width:29px;height:29px}.atlas-layout{display:flex;flex-direction:column;height:auto}.journey-panel{overflow:visible;padding:24px 20px 18px}.panel-heading{margin-bottom:18px}.panel-heading h1{font-size:29px}.panel-heading>p:last-child{font-size:12px}.segmented{margin-bottom:18px}.search-form input{font-size:16px;height:48px}.selection-hint{font-size:11px}.field-label label{font-size:12px}.field-label .text-button{font-size:11px}.map-picker{margin:15px 0 12px}.map-picker label,.map-picker select{font-size:11px}.status{margin-bottom:0;min-height:26px}.discover{display:none}.map-shell{height:62svh;min-height:390px;order:2}.panel-footer{margin-top:16px;padding-top:12px}.map-top{top:15px;left:13px;right:13px;gap:8px}.map-badge{font-size:8px;letter-spacing:.8px;padding:10px;gap:7px}.map-button{font-size:10px;padding:8px 10px}.map-hint{bottom:62px;font-size:10px;padding:9px 10px;gap:7px}.map-hint .hint-cross{width:23px;height:23px}.map-hint button{margin-left:0}.leaflet-control-zoom{margin:66px 14px 0 0!important}.map-bottom{font-size:8px;padding:10px 12px}.search-results{max-height:300px}.search-results button{min-height:60px}.search-results strong{font-size:14px}.search-results small{font-size:12px}.route-option strong{font-size:25px}.route-result summary,.route-result li{font-size:12px}.result-actions .button{font-size:12px}.panel-footer p,.panel-footer button{font-size:10px}}
@media(max-width:360px){.identity small{display:none}.app-header nav{gap:6px}.install{font-size:10px}.install svg{display:none}.app-header{padding:0 12px}.journey-panel{padding:20px 16px}.map-badge{max-width:185px;font-size:7px}.map-button span{margin-left:0}.map-hint{width:calc(100% - 30px);max-width:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.guide-link{display:inline-block;margin-top:13px;color:var(--mint);font-size:11px;text-underline-offset:4px}.mobile-shortcuts{display:none}dialog[open]{z-index:3000}#map,#journey{scroll-margin-top:12px}
.navigation-ui{position:absolute;inset:0;z-index:850;pointer-events:none}.navigation-sheet,.navigation-controls{pointer-events:auto;position:absolute;left:14px;right:14px;max-width:480px;border:1px solid #9ce4ce45;background:#09232bf7;color:#ecf7f0;border-radius:14px;padding:15px;box-shadow:0 8px 30px #09232b33}.navigation-sheet{top:12px}.navigation-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.navigation-heading strong{font-size:10px;letter-spacing:1.5px;color:var(--mint)}.navigation-heading strong span{font-size:8px;color:#a9bdbe;letter-spacing:1px;margin-left:5px}.nav-small{min-height:40px;border:1px solid #ffffff25;color:#e7f3eb;background:#17383d;border-radius:7px;padding:7px 11px;font-size:11px}.nav-mode{font-size:11px;color:#abc4c2;margin:4px 0 10px}.navigation-sheet h2{font-size:24px;line-height:1.3;margin:0 0 12px;overflow-wrap:anywhere;max-height:95px;overflow:auto;font-weight:550}.nav-progress{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;color:#b9cfcc}.nav-progress strong{font-size:17px;color:var(--mint)}.nav-remaining{font-size:11px;color:#aac0c1;margin:6px 0 12px}.nav-actions{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px}.nav-actions button{min-height:44px;padding:6px 3px;font-size:11px;line-height:1.3;background:#1c3f42;color:#e6f4ec;border:1px solid #ffffff25;border-radius:7px}.nav-actions [aria-pressed=true]{background:#9ce4ce;color:#082c2b}.navigation-controls{bottom:36px;padding:12px}.navigation-controls>p:first-child{font-size:12px;line-height:1.4;color:#d3e7df;margin:0 0 9px;min-height:17px}.navigation-controls .primary{justify-content:center;min-height:46px;padding:10px}.navigation-controls .secondary{width:100%;margin-top:8px}.nav-map-actions{display:flex;gap:8px;margin-top:7px}.nav-map-actions button{flex:1;min-height:40px}.nav-disclosure{font-size:10px;line-height:1.5;color:#9db5b5;margin:8px 0 0}.navigation-controls .nav-alert{color:#ffd6ab}.navigating{overflow:hidden;padding-bottom:0}.navigating .atlas-layout{display:block;height:calc(100dvh - 78px)}.navigating .map-shell{height:100%;min-height:0}.navigating .journey-panel,.navigating .map-top,.navigating .map-hint,.navigating .mobile-shortcuts{display:none!important}.navigating .leaflet-control-zoom{margin-top:250px!important}.navigating .leaflet-control-attribution{font-size:9px}.navigating .map-bottom{font-size:8px}.atlas-location-dot{background:#2675da;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 7px #2675da30}
@media(max-width:800px){.navigating .atlas-layout{height:calc(100dvh - 66px - env(safe-area-inset-top,0px))}.navigation-sheet,.navigation-controls{left:10px;right:10px}.navigation-sheet{padding:12px}.navigation-sheet h2{font-size:21px;max-height:82px}.nav-actions button{font-size:10px}.navigation-controls{bottom:31px}.navigation-controls>p:first-child{font-size:11px}.nav-disclosure{font-size:9px}.navigating .leaflet-control-zoom{margin-top:240px!important}}
@media(max-height:700px){.navigation-sheet{top:6px;padding:9px}.navigation-sheet h2{font-size:18px;margin-bottom:6px;max-height:50px}.nav-mode{margin:1px 0 5px}.nav-remaining{margin:4px 0 7px}.navigation-controls{padding:9px}.nav-disclosure{font-size:8px;margin-top:5px}.nav-small{min-height:35px}.navigating .leaflet-control-zoom{margin-top:205px!important}}
@media(max-width:800px){body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.mobile-shortcuts{position:fixed;bottom:0;left:0;right:0;z-index:1200;display:flex;justify-content:space-around;padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));background:#09232bf5;border-top:1px solid #9ce4ce40}.mobile-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;color:#c7eddf;font-size:12px;text-decoration:none;border-radius:8px}.mobile-shortcuts a:active{background:#284d48}.guide-link{font-size:12px;line-height:1.8}.search-button{min-width:48px}.map-button{min-height:44px}.field-label .text-button{min-height:36px}.app-header{padding-top:env(safe-area-inset-top,0px);height:calc(66px + env(safe-area-inset-top,0px))}}
