*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{font:13px Arial,Helvetica,sans-serif;color:#000;background:#e0e0e0;display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}a{color:inherit}button{border:1px solid #aaa;border-radius:2px;background:linear-gradient(#fff,#e9e9e9);padding:2px 5px}button:hover{background:#fff}input,select{border:1px solid #aaa;background:white;padding:2px 4px;min-width:0}input{cursor:text}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #1872a3;outline-offset:1px}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.icon{width:18px;height:18px;flex:none;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}#header{flex:none;height:37px;border-bottom:1px solid #999;display:flex;align-items:center;gap:14px;padding:0 10px;position:relative;z-index:700}h1{font-size:24px;line-height:28px;margin:0;font-weight:bold}#header .brand{font-size:12px;margin-left:auto}.city-label{display:block;padding:5px 6px 3px}.city-label select{width:100%;font-weight:bold;background:transparent;border-color:transparent;padding:2px 0}.city-label select:hover{border-color:#aaa}.nav-link{display:flex;gap:6px;align-items:center;padding:3px 10px;min-height:24px;text-decoration:none}.nav-link.active{font-weight:bold;background:white}.nav-group{border-top:1px solid #8d8d8d;margin:5px 0 0 5px;padding:8px 10px 8px 5px}.nav-group>a{display:block;text-decoration:none}.nav-group input{width:100%;margin-top:4px}.nav-icon{display:flex!important;align-items:flex-start;gap:5px;line-height:16px;margin-bottom:6px}.nav-icon:last-child{margin-bottom:0}.nav-icon.active{font-weight:bold;text-decoration:underline}.nav-footer{margin-top:auto;padding:15px 10px 18px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#555;font-size:11px}.nav-footer button{margin-left:auto;border:0;background:none;font-size:21px;padding:0 3px}.nav-footer #data-stamp{width:100%;line-height:1.4}#layout{display:flex;flex:1;min-height:0}#sidebar{width:200px;flex:none;display:flex;flex-direction:column;overflow:auto}#workspace{display:flex;flex:1;min-width:0;min-height:0;position:relative;background:white}#content-pane{flex:1;min-width:0;overflow:auto;position:relative;background:white}#map-pane{position:relative;flex:1;min-width:0}#map{height:100%;width:100%;background:#e8e8e0}.with-map #content-pane{flex:0 0 420px;max-width:44%}.map-only #content-pane{display:none}.map-full #content-pane{display:none}.map-full #sidebar{display:none}.map-toolbar{position:absolute;right:2px;top:2px;z-index:600;display:flex;gap:2px}.map-toolbar button{font-size:18px;line-height:18px;width:20px;height:21px;padding:0;background:white;border-color:#555;border-radius:0}.leaflet-top.leaflet-right{top:auto;bottom:82px}.map-switches{position:absolute;right:3px;top:55px;z-index:600;display:grid;gap:5px}.map-switches button{width:34px;height:34px;font-size:22px;background:#fff;border-color:#888}.map-switches button .icon{width:23px;height:23px}.map-switches button[aria-pressed=true]{background:#c2e5ff}#loading{padding:30px;color:#555}.filter-bar{display:flex;gap:4px;align-items:center;min-height:36px;padding:6px 8px;border-bottom:1px solid #ddd;background:#fff;position:sticky;top:0;z-index:5}.filter-bar input{width:340px;max-width:75%}.route-table{border-collapse:collapse;width:100%;table-layout:fixed}.route-table tr{height:24px}.route-table tr:nth-child(odd){background:#efefef}.route-table tr:hover{background:#e1ebf3}.route-table td{padding:0 5px;vertical-align:middle}.route-table .route-cell{display:flex;align-items:center;gap:5px;min-height:24px}.route-table .map-link{color:#7088a1;display:inline-flex;flex:none;text-decoration:none}.route-table .map-link .icon{width:15px;height:15px}.route-title{display:flex;gap:5px;align-items:center;min-width:0;text-decoration:none;line-height:18px}.route-title .ends{overflow-wrap:anywhere}.route-number{display:inline-block;font-weight:bold;background:var(--route-color,#087fab);color:white;min-width:33px;text-align:center;padding:0 4px;line-height:15px;border-radius:3px;white-space:nowrap}.type-icon{color:var(--route-color,#087fab);width:18px;height:18px;flex:none}.route-table .days{width:132px;padding-right:8px}.day-badges{display:flex;gap:2px;text-decoration:none}.day-badges span{font-family:Georgia,serif;font-size:11px;line-height:15px;min-width:13px;text-align:center;border:1px solid #aaa;background:#dedede;color:#555}.day-badges .off{opacity:.3}.route-table .inactive .route-title{color:#777}.with-map .days{display:none}.empty{padding:14px;line-height:1.6;color:#555}.pane-title{padding:9px 10px;font-size:15px;font-weight:bold;margin:0;border-bottom:1px solid #aaa;background:#efefef}.small{color:#777;font-size:11px}.schedule-mode #sidebar{display:none}.schedule-mode #header{background:#808080;color:#333}.schedule-mode #header .brand{color:#eee}.schedule-mode #workspace{background:#e0e0e0}.schedule-mode #content-pane{background:#e0e0e0}.schedule-mode.with-map #content-pane{flex-basis:55%;max-width:65%}#schedule-tools{position:absolute;left:50%;transform:translateX(-50%);bottom:-1px;display:flex;align-items:center;gap:14px;background:white;padding:5px 12px 4px;border-radius:12px 12px 0 0;white-space:nowrap}#schedule-tools button{background:none;border:0;text-decoration:underline;font-weight:bold;color:#555;padding:0;display:flex;align-items:center;gap:5px}#schedule-tools .icon{color:#748da9;width:16px;height:16px}.direction-header{height:auto;min-height:36px;display:flex;justify-content:space-between;gap:10px;padding:7px 9px;background:#fff;border-bottom:1px solid #ddd}.direction-header select{max-width:46%;border-color:transparent;background:#fff;font-weight:bold}.direction-header select:hover{border-color:#888}.schedule-grid{display:grid;grid-template-columns:190px minmax(0,1fr) 190px;align-items:start;gap:10px}.stop-column{background:#e0e0e0;padding:8px 0;min-height:100%}.stop-column a{display:block;text-decoration:none;padding:3px 10px;line-height:15px}.stop-column a:hover{background:#eee;text-decoration:underline}.stop-column a.selected{background:#fff;font-weight:bold}.stop-column .unavailable{color:#888}.schedule-center{background:white;min-height:570px;padding:0 0 10px;min-width:0}.stop-summary{background:#eee;border:1px solid #ddd;margin-bottom:10px;padding:7px 5px;line-height:1.8}.stop-summary strong{margin-left:3px}.stop-summary .other-routes{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:10px}.route-inline{color:var(--route-color);font-weight:bold;text-decoration:none}.schedule-date{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.timetables{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}.timetable{border-collapse:collapse;font-size:13px;min-width:130px;border:1px solid #ddd}.timetable th{background:#eee;color:#555;font-weight:normal;padding:3px 6px;text-align:center;border:1px solid #ddd}.timetable td{padding:3px 5px;border-bottom:1px solid #ddd}.timetable .hour{font-weight:bold;font-size:16px;color:#555;width:26px;background:#efefef;text-align:center;border-right:1px solid #ddd}.timetable tr:nth-child(odd){background:#fafafa}.minute{border:0;background:none;padding:0 3px;margin-right:1px;border-radius:0;line-height:18px}.minute:hover{background:#c9e3f5;text-decoration:underline}.minute.next{background:#fff19e}.schedule-info{margin-top:14px;line-height:1.8;padding-right:10px}.schedule-info p{margin:4px 0}.schedule-info .note{padding-left:24px}.with-map .schedule-grid{grid-template-columns:160px minmax(0,1fr)}.with-map .stop-column:last-child{display:none}.planner-form{padding:10px;border-bottom:1px solid #999;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.planner-stops{display:grid;gap:5px;width:300px}.planner-stops label{display:flex;align-items:center;gap:5px}.planner-stops input{width:100%}.planner-form .options-row{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.planner-form input[type=time]{width:78px}.planner-form input[type=date]{width:130px}.text-button{background:none;border:0;padding:0;text-decoration:underline}.planner-options{width:100%;background:#eee;padding:10px;line-height:2}.planner-options label{display:inline-flex;gap:5px;align-items:center;margin-right:12px}.planner-options legend{font-weight:bold}.planner-options fieldset{border:0;padding:0;margin:0}.planner-help{padding:4px 15px;line-height:1.5}.planner-results{padding:10px}.journey{border:1px solid #bbb;margin-bottom:10px;max-width:800px}.journey-heading{display:flex;gap:15px;padding:6px 8px;background:#eee;align-items:center}.journey-heading strong{font-size:15px}.journey-heading button{margin-left:auto}.journey-leg{padding:9px 10px;border-top:1px solid #ddd;line-height:1.7}.journey-leg .route-number{margin-right:5px}.journey-leg time{font-weight:bold}.journey-leg details{padding-top:5px}.journey-leg ol{margin:0;padding-left:22px}.departures-table{border-collapse:collapse;width:100%}.departures-table td,.departures-table th{padding:7px;text-align:left;border-bottom:1px solid #ddd}.departures-table tr:nth-child(even){background:#f2f2f2}.departures-table th{background:#e5e5e5}.stop-filter{padding:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.stop-filter>input[list]{width:300px;max-width:100%}.stop-filter label{display:inline-flex;gap:5px;align-items:center}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;max-width:calc(100vw - 24px);width:max-content;display:flex;gap:15px;align-items:center;background:#fffbe6;border:1px solid #bfa76d;box-shadow:0 2px 10px #0003;padding:10px 12px;line-height:1.5}#notice button{font-size:20px;border:0;background:none;padding:0 2px}dialog{width:480px;max-width:calc(100vw - 20px);max-height:85vh;padding:0;border:1px solid #888;box-shadow:0 8px 30px #0006}dialog::backdrop{background:#0005}.dialog-heading{display:flex;align-items:center;justify-content:space-between;background:#e0e0e0;padding:8px 12px;position:sticky;top:0}.dialog-heading h2{font-size:17px;margin:0}.dialog-heading button{font-size:22px;line-height:20px;background:none;border:0}#trip-body{padding:10px}#trip-body table{border-collapse:collapse;width:100%}#trip-body td{padding:5px 8px;border-bottom:1px solid #ddd}#trip-body tr:nth-child(odd){background:#f0f0f0}.no-script{position:fixed;top:40px;left:210px;background:white;padding:15px}.mt-map-popup{font:13px Arial,sans-serif}.mt-map-popup button{font:13px Arial,sans-serif;margin:3px 2px}.mt-map-popup h3{font-size:15px;margin:0 0 5px}.mt-map-popup-title{display:block;font-size:15px;margin-bottom:5px}.mt-map-route-chip{font-weight:bold;color:var(--route-color);border-color:var(--route-color);background:white}.mt-map-popup-actions{display:grid;gap:2px}.mt-map-popup-distance{color:#777}.mt-map-stop-label{font:11px Arial,sans-serif;background:#ffffffda;border:0;box-shadow:none;padding:1px 3px}.leaflet-container{font-family:Arial,sans-serif}.leaflet-control-attribution{font-size:10px}.leaflet-popup-content{margin:12px}.leaflet-popup-content p{margin:5px 0}
@media(min-width:1000px){.route-table td:first-child{width:490px}.route-table .days{width:auto}.with-map .route-table td:first-child{width:auto}.day-badges{width:125px}.with-map .route-table .route-cell{font-size:13px}}
@media(max-width:1050px){h1{font-size:21px}#schedule-tools{left:auto;right:10px;transform:none}#schedule-tools button{font-size:12px}.schedule-mode #header h1{max-width:45%;overflow:hidden;white-space:nowrap}.schedule-mode .brand{display:none}.schedule-grid{grid-template-columns:170px minmax(0,1fr) 170px}.with-map #content-pane{flex-basis:360px;max-width:50%}.with-map .schedule-grid{grid-template-columns:130px minmax(0,1fr)}.route-table .days{width:125px}}
@media(max-width:700px){#header{height:44px;padding:4px 8px}h1{font-size:18px;line-height:19px;max-width:80%}#header .brand{font-size:10px}#sidebar{width:155px}.nav-link{padding-left:7px}.nav-group{padding-right:7px}.nav-footer{padding:12px 7px}.city-label select{font-size:12px}.with-map #workspace{flex-direction:column}.with-map #content-pane{flex:0 0 43%;max-width:100%;width:100%}#map-pane{min-height:180px}.route-table .days{display:none}.route-table .route-cell{align-items:flex-start}.route-title{align-items:flex-start}.filter-bar input{max-width:80%}.filter-bar{padding:6px}.schedule-mode #header h1{display:none}.schedule-mode #schedule-tools{left:0;right:0;gap:8px;width:100%;justify-content:center;padding:8px 4px;border-radius:7px 7px 0 0}#schedule-tools button{font-size:11px}#schedule-tools button .icon{display:none}.schedule-grid{grid-template-columns:130px minmax(0,1fr);gap:5px}.stop-column:last-child{display:none}.stop-column a{padding:5px 7px}.schedule-center{padding-right:5px}.direction-header{gap:3px;padding:7px 3px}.direction-header select{font-size:12px;max-width:50%;padding:2px}.timetable{min-width:112px}.schedule-mode.with-map #content-pane{max-width:100%;flex-basis:55%}.planner-form{padding:8px}.planner-stops{width:100%}.planner-help{padding:0 10px}.planner-form .options-row{gap:5px}.planner-form input[type=date]{width:120px}.journey-heading{flex-wrap:wrap;gap:5px}.departures-table td,.departures-table th{padding:5px}.departures-table .direction-name{display:block;font-size:11px}.stop-filter{padding:7px}.schedule-info .note{padding-left:0}.timetables{gap:6px}.nav-group .nav-icon{line-height:16px}.with-map .schedule-grid{grid-template-columns:115px minmax(0,1fr)}}
@media(max-width:400px){#sidebar{width:137px}.nav-link{font-size:12px;padding:4px 5px;gap:4px}.nav-group{font-size:12px;margin-left:3px;padding-left:3px}.nav-group input{font-size:11px}.nav-icon .icon{width:15px;height:15px}.schedule-grid{grid-template-columns:110px minmax(0,1fr)}.stop-column{font-size:12px}.schedule-date{gap:4px}.route-table .route-cell{padding:4px 3px;gap:3px}.route-number{min-width:26px}.route-title .type-icon{display:none}h1{font-size:16px}}
@media print{body{height:auto;background:white}#sidebar,#header,#map-pane,.schedule-date,.filter-bar,.no-print,#notice{display:none!important}#layout,#workspace,#content-pane{display:block;height:auto;overflow:visible}.schedule-grid{display:grid;grid-template-columns:170px minmax(0,1fr) 170px}.stop-column:last-child{display:block}.schedule-center{min-height:0}.minute{color:#000}.timetable{break-inside:avoid}dialog{position:static;max-height:none;width:100%;box-shadow:none;border:0}body:has(dialog[open]) #layout{display:none}}

#split-handle{flex:0 0 5px;background:#ddd;border-left:1px solid #aaa;border-right:1px solid #aaa;cursor:col-resize;touch-action:none;z-index:600}#split-handle:hover,#split-handle:focus-visible{background:#9dbed3}.with-map #content-pane{flex-basis:var(--pane-width,min(420px,45%));max-width:80%}.schedule-mode.with-map #content-pane{flex-basis:var(--pane-width,clamp(320px,30%,55%));max-width:80%}.planner-options{display:grid;gap:5px}.planner-options label{line-height:1.6;flex-wrap:wrap}.planner-options fieldset label{display:inline-flex}.planner-options #plan-route-numbers{width:180px}.search-limit{background:#fff5ce;border:1px solid #c7b879;padding:9px;line-height:1.5}.stop-column .trip-time{display:inline-block;min-width:43px;margin-right:5px;color:#555;font-variant-numeric:tabular-nums}.minute.selected{background:#ffe869;font-weight:bold}.trip-controls{padding:4px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.stop-route-board{padding:8px 10px;display:grid;gap:6px}.stop-route-board a{text-decoration:none}.map-switches button[aria-pressed=true]{background:#c2e5ff}
@media(max-width:700px){.with-map #content-pane,.schedule-mode.with-map #content-pane{flex-basis:var(--pane-height,45%);max-width:100%}.with-map #split-handle{flex-basis:5px;cursor:row-resize;border:0;border-top:1px solid #aaa;border-bottom:1px solid #aaa}#map-pane{min-height:100px}.planner-options{padding:6px}.planner-options label{margin-right:0}}
@media print{body{display:block;height:auto;overflow:visible}#advertising-slot,#split-handle,.trip-controls{display:none!important}}

h1{min-width:0}#language-switcher{display:flex;flex:none;gap:4px;margin-left:auto}#language-switcher button{background:none;border:0;border-radius:0;padding:0;color:#555;font-size:12px;text-decoration:underline}#language-switcher button[aria-pressed=true]{font-weight:bold;color:#000;text-decoration:none}#header .brand{margin-left:0}.schedule-mode #language-switcher button{color:#eee}.schedule-mode #language-switcher button[aria-pressed=true]{color:#fff}
@media(max-width:700px){#header{height:auto;min-height:44px;flex-wrap:wrap;gap:5px}#header h1{flex:1;max-width:none}#language-switcher{gap:3px}#language-switcher button{font-size:10px}.schedule-mode #schedule-tools{position:static;order:2;transform:none;flex:0 0 100%;width:100%;padding:6px 2px;gap:7px}.schedule-mode #language-switcher{min-height:15px}}
@media print{#language-switcher{display:none!important}}

/* Keep every header control in normal flow so print never covers languages. */
.schedule-mode #header{height:auto;min-height:37px;gap:10px}
.schedule-mode #header h1{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.schedule-mode #header .brand{display:none}
.schedule-mode #schedule-tools{position:static;left:auto;right:auto;transform:none;align-self:flex-end;flex:none;max-width:100%;margin-top:5px}
.schedule-mode #language-switcher{margin-left:0}
@media(max-width:1050px){.schedule-mode #header h1{display:none}.schedule-mode #schedule-tools{flex:1;justify-content:center}}
@media(max-width:700px){.schedule-mode #header{gap:3px}.schedule-mode #language-switcher{margin-left:auto}.schedule-mode #schedule-tools{flex:0 0 100%;margin-top:0}.schedule-mode #schedule-tools button{white-space:normal}}

.route-choice{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.route-choice input{appearance:auto;width:13px;height:13px;margin:0;cursor:pointer;opacity:0}
.route-choice:hover input,.route-choice:focus-within input,.route-choice.checked input{opacity:1}
.route-choice input:disabled{cursor:default}
.timetable-numbers{display:flex;align-items:center;gap:4px;margin:5px 0 8px;font-size:12px}
.timetable-numbers input{appearance:auto;margin:0;cursor:pointer}
.timetable .minute{white-space:nowrap}
.minute-route-number{font-size:9px;vertical-align:sub;line-height:1;font-weight:bold}
@media(hover:none),(max-width:700px){.route-choice input{opacity:1}}
@media print{.route-choice input,.timetable-numbers{display:none!important}}

.mt-vehicle-marker{background:none;border:0;overflow:visible}
.mt-vehicle-symbol{position:relative;width:22px;height:22px;overflow:visible}
.mt-vehicle-arrow{position:absolute;left:0;top:0;box-sizing:content-box;width:9px;height:9px;border:1px solid #fff;transform-origin:11px 11px;pointer-events:none}
.mt-vehicle-circle{position:absolute;left:1px;top:1px;box-sizing:content-box;width:18px;height:18px;border:1px solid #fff;border-radius:18px;color:#fff;text-align:center;font:bolder 12px/18px 'Helvetica Neue',Arial,Helvetica,sans-serif;white-space:nowrap;cursor:pointer}
.mt-vehicle-selected .mt-vehicle-circle{box-shadow:0 0 0 2px #333}
.mt-vehicle-marker:focus-visible{outline:2px solid #1872a3;outline-offset:3px;border-radius:50%}
.mt-vehicle-popup-heading{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}
.mt-vehicle-direction-name{font-size:13px;line-height:1.35}
.mt-vehicle-estimation,.mt-vehicle-geometry{color:#666;font-size:11px;line-height:1.4;margin:3px 0 5px}
.mt-vehicle-popup-row{line-height:1.5;margin:3px 0}
.vehicle-status{position:absolute;left:6px;top:6px;z-index:600;max-width:calc(100% - 52px);padding:2px 5px;border:1px solid #888;background:#fffffff0;color:#333;font:11px/1.35 Arial,Helvetica,sans-serif;pointer-events:none}
@media print{.vehicle-status,.mt-vehicle-marker{display:none!important}}

/* Compact stop picker and planner controls, using the reference's 18px rows. */
.stop-input-wrap{position:relative;display:block;min-width:0;width:100%}
.stop-input-wrap>input{display:block;width:100%;margin:0}
.nav-group .stop-input-wrap{margin-top:4px}
.nav-group .stop-input-wrap>input{margin-top:0}
.stop-filter>.stop-input-wrap{width:300px;max-width:100%}
.planner-stops .stop-input-wrap{flex:1}
.stop-suggest{position:absolute;top:100%;left:0;right:0;z-index:1100;min-width:0;background:#fff;border:1px solid;border-color:#808080 #000 #000 #808080;box-shadow:1px 2px 3px #0002;color:#000;font:13px/18px Arial,Helvetica,sans-serif}
.stop-suggest [role=listbox]{max-height:156px;overflow-y:auto;overscroll-behavior:contain}
.stop-suggest-option,.stop-suggest-map{display:flex;align-items:center;gap:5px;width:100%;min-height:20px;margin:0;border:0;border-radius:0;padding:1px 5px;background:#fff;color:#000;font:inherit;text-align:left}
.stop-suggest-option{cursor:default}
.stop-suggest-option>span{min-width:0;overflow-wrap:anywhere}
.stop-suggest-option .icon{width:18px;height:18px;color:#748da9}
.stop-suggest-option:hover,.stop-suggest-option[aria-selected=true],.stop-suggest-option:focus-visible,.stop-suggest-map:hover,.stop-suggest-map:focus-visible{background:#b0e0e6}
.stop-suggest-option:focus-visible,.stop-suggest-map:focus-visible{outline:2px solid #1872a3;outline-offset:-2px}
.stop-suggest-map{border-top:1px solid #d3d3d3;cursor:pointer}
.quick-date{max-width:100%;min-height:22px;padding:1px 3px;vertical-align:middle}
.schedule-date .quick-date{max-width:180px}
.planner-form .quick-date{max-width:170px}
.quick-date+input[type=date]{max-width:100%;vertical-align:middle}
.journey-heading{gap:7px;padding:2px 7px 5px}
.journey-heading .journey-toggle{display:flex;flex:1;align-items:center;flex-wrap:wrap;gap:5px 12px;min-width:0;margin:0;padding:3px 0;border:0;border-radius:0;background:none;color:inherit;text-align:left;line-height:18px}
.journey-toggle::before{content:'';flex:none;width:16px;height:16px;border:1px solid #b0b0b0;background-color:#f7f7f7;background-image:linear-gradient(#666,#666),linear-gradient(#666,#666);background-repeat:no-repeat;background-position:center;background-size:8px 1px,1px 8px}
.journey-toggle[aria-expanded=true]::before{background-image:linear-gradient(#666,#666)}
.journey-toggle:hover{text-decoration:underline}
.journey-toggle:focus-visible{outline:2px solid #1872a3;outline-offset:1px}
.journey-toggle>span{overflow-wrap:anywhere}
.journey-heading>button[data-journey]{flex:none;margin-left:auto}
.journey-body{min-width:0;overflow-wrap:anywhere}
#notice span>button{font:inherit;line-height:1.4;border:1px solid #aaa;background:#fff;padding:1px 4px}
@media(max-width:700px){.stop-suggest [role=listbox]{max-height:min(156px,35vh)}.stop-suggest-option,.stop-suggest-map{min-height:24px}.journey-heading{flex-wrap:nowrap;gap:5px}.journey-heading .journey-toggle{gap:4px 7px}.journey-toggle>b{font-size:12px}.journey-toggle>strong{font-size:14px}.journey-toggle>span{flex-basis:100%;padding-left:23px}.journey-heading>button[data-journey]{padding:2px 4px}.quick-date{min-height:24px}}
@media print{.stop-suggest,.journey-heading>button[data-journey]{display:none!important}.journey-heading .journey-toggle{outline:0;text-decoration:none;cursor:default}.journey-toggle::before{display:none}.journey-body[hidden]{display:block!important}.journey{break-inside:avoid}.planner-form{display:none}}

.direction-header{position:relative}
.direction-picker{min-width:0;max-width:48%;color:#06c}
.direction-picker>summary{list-style:none;cursor:pointer;font-weight:bold;line-height:18px;overflow-wrap:anywhere}
.direction-picker>summary::-webkit-details-marker{display:none}
.direction-picker>summary:hover{text-decoration:underline}
.direction-picker>summary:focus-visible{outline:2px solid #1872a3;outline-offset:2px}
.direction-picker>summary>span{white-space:nowrap;padding-left:3px}
.direction-menu{position:absolute;top:100%;left:0;z-index:1100;width:max-content;max-width:100%;max-height:min(360px,55vh);overflow:auto;overscroll-behavior:contain;background:#fff;border:1px solid;border-color:#808080 #000 #000 #808080;box-shadow:1px 2px 3px #0002;font-size:15px}
.direction-picker:last-child:not(:first-child) .direction-menu{left:auto;right:0}
.direction-menu a{display:block;padding:3px 5px;color:#06c;line-height:18px;text-decoration:none;overflow-wrap:anywhere}
.direction-menu a:hover,.direction-menu a:focus-visible,.direction-menu a[aria-current=true]{background:#b0e0e6}
.direction-menu a:focus-visible{outline:2px solid #1872a3;outline-offset:-2px}
@media(max-width:700px){.direction-picker{font-size:12px}.direction-menu{font-size:13px}.direction-menu a{min-height:26px}}
@media print{.direction-menu,.direction-picker>summary>span{display:none!important}.direction-picker{color:#000}.direction-picker>summary{text-decoration:none}}

.stop-suggest-row{display:flex;align-items:stretch;min-width:0}
.stop-suggest-row>.stop-suggest-option{flex:1;min-width:0}
.stop-suggest-preview{flex:0 0 24px;align-self:stretch;border:0;border-left:1px solid #ddd;border-radius:0;padding:1px 3px;background:#fff;color:#748da9}
.stop-suggest-preview .icon{width:18px;height:18px}
.stop-suggest-preview:hover,.stop-suggest-preview:focus-visible{background:#b0e0e6}
.stop-suggest-preview:focus-visible{outline:2px solid #1872a3;outline-offset:-2px}
.stop-suggest-hint{padding:3px 5px;color:#777;font-size:12px;line-height:18px}
.journey-stages{display:inline-flex;align-items:center;flex-wrap:wrap;gap:3px}
.journey-stage{display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.journey-stage .icon{width:18px;height:18px}
.journey-stage .route-number{min-width:22px;padding:0 3px;margin:0}
.journey-stage-arrow{color:#777;font-size:12px}
.journey-leg>.icon{margin-right:4px;vertical-align:-4px}
.journey-schedule-link{display:block;width:fit-content;max-width:100%;margin-top:2px;font-weight:normal;color:#000;text-decoration:none}
.journey-schedule-link:hover,.journey-schedule-link:focus-visible{text-decoration:underline;color:#06c}
.stop-direction-board{padding:5px 10px}
.stop-direction-group{border-bottom:1px solid #d3d3d3;padding:2px 0 5px 7px}
.stop-direction-heading{display:flex;align-items:center;flex-wrap:wrap;gap:4px;line-height:20px;overflow-wrap:anywhere}
.stop-direction-heading>a{min-width:0}
.stop-direction-days{flex-shrink:0;margin-left:auto}
.with-map .stop-direction-days{display:none}
.stop-direction-heading:focus-visible{outline:2px solid #1872a3;outline-offset:1px}
.stop-direction-heading .route-number{margin-right:4px}
.stop-direction-map{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;min-height:24px;border:0;border-radius:0;padding:2px;background:#fff;color:#748da9}
.stop-direction-map .icon{width:18px;height:18px}
.stop-direction-map:hover,.stop-direction-map:focus-visible{background:#b0e0e6}
.stop-direction-map:focus-visible{outline:2px solid #1872a3;outline-offset:-2px}
.stop-departure-hours{padding:5px 0 0 18px}
.stop-departure-hour{display:flex;align-items:baseline;gap:5px;line-height:20px}
.stop-departure-hour>b{flex:none;min-width:24px;color:#555;text-align:right}
.stop-departure-hour>span{min-width:0}
.stop-board-view,#stop-board-view{max-width:100%;margin:0 5px}
.mt-map-route-picker{position:absolute;top:4px;left:50%;transform:translateX(-50%);z-index:750;max-width:calc(100% - 52px);background:#fff;border:2px solid #0003;border-radius:4px;color:#000;font:13px/20px Arial,Helvetica,sans-serif}
.mt-map-route-summary{display:flex;align-items:center;gap:5px;min-height:28px;min-width:0;padding:2px 5px;cursor:pointer;list-style:none}
.mt-map-route-summary::-webkit-details-marker{display:none}
.mt-map-route-summary:focus-visible{outline:2px solid #1872a3;outline-offset:1px}
.mt-map-route-summary>.route-number{min-width:25px}
.mt-map-route-summary>span:not(.route-number):not(.mt-map-route-arrow){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mt-map-route-arrow{flex:none;font-size:10px}
.mt-map-route-menu{position:absolute;top:100%;left:-2px;right:-2px;min-width:100%;max-height:min(360px,55vh);overflow:auto;overscroll-behavior:contain;border:1px solid #888;background:#fff}
.mt-map-route-menu>.mt-map-popup-action{display:block;width:100%;margin:0;padding:3px 5px;border:0;border-radius:0;background:#fff;color:#000;font:13px/20px Arial,Helvetica,sans-serif;text-align:left;overflow-wrap:anywhere}
.mt-map-route-menu>.mt-map-popup-action:hover,.mt-map-route-menu>.mt-map-popup-action:focus-visible,.mt-map-route-menu>.mt-map-popup-action[aria-pressed=true]{background:#b0e0e6}
.mt-map-route-menu>.mt-map-popup-action:focus-visible{outline:2px solid #1872a3;outline-offset:-2px}
.mt-map-route-menu>.mt-map-route-remove{border-top:1px solid #ccc}
#map-pane:has(.mt-map-route-picker:not([hidden])) .vehicle-status{top:auto;bottom:25px}
.mt-planner-endpoint{background:none;border:0;overflow:visible}
.mt-planner-pin,.mt-planner-pin svg{display:block;width:20px;height:34px}
.mt-planner-pin svg{filter:drop-shadow(0 1px 1px #0006)}
.mt-planner-pin-from svg{fill:#68bf4c}
.mt-planner-pin-to svg{fill:#ff4050}
.mt-planner-endpoint:focus-visible{outline:2px solid #1872a3;outline-offset:3px}
.mt-map-streetview{display:block;padding:3px 2px;font-size:13px}
.mt-journey-boarding{width:max-content!important;height:20px!important;background:none;border:0;white-space:nowrap}
.mt-journey-boarding-label{display:inline-flex;align-items:center;gap:3px;min-height:20px;padding:0 2px;background:#fff;color:#000;font:13px/18px Arial,Helvetica,sans-serif;text-decoration:none;box-shadow:0 1px 2px #0003}
.mt-journey-boarding-label .route-number{min-width:22px;margin:0;line-height:18px}
.mt-journey-boarding-label .icon{width:18px;height:18px}
a.mt-journey-boarding-label:hover,a.mt-journey-boarding-label:focus-visible{background:#b0e0e6;text-decoration:underline}
a.mt-journey-boarding-label:focus-visible{outline:2px solid #1872a3;outline-offset:1px}
.map-full #split-handle{display:none!important}
@media(min-width:701px) and (max-width:1050px){#header h1{font-size:24px}}
@media(max-width:700px){.stop-suggest-preview{flex-basis:28px}.stop-direction-map{flex-basis:28px;min-height:28px}.stop-direction-heading>a{flex:1}.stop-direction-days{flex-basis:100%;margin-left:0;padding-left:32px}.stop-direction-board{padding:5px}.stop-departure-hours{padding-left:8px}.journey-stages{max-width:100%}.mt-map-route-menu>.mt-map-popup-action{min-height:26px}}
@media print{.with-map #content-pane,.schedule-mode.with-map #content-pane,#content-pane{display:block!important;width:100%!important;max-width:none!important;flex:none!important}.with-map .schedule-grid,.schedule-grid{grid-template-columns:170px minmax(0,1fr) 170px!important}.with-map .stop-column:last-child,.stop-column:last-child{display:block!important}.with-map .stop-direction-days{display:flex!important}.mt-map-route-picker,.mt-planner-endpoint,.stop-suggest-preview,.stop-direction-map,.stop-board-view,#stop-board-view{display:none!important}.journey-stage .route-number{background:transparent;color:#000;border:1px solid #777}.stop-direction-group{break-inside:avoid}body:has(dialog[open]) #layout{display:none!important}}

.mt-yandex-base{position:absolute;inset:0;pointer-events:none}
.mt-yandex-base ymaps.ymaps-2-1-79-map{z-index:auto!important;transform:none!important}
.mt-yandex-base [class*="-ground-pane"]{z-index:0!important}
.mt-yandex-base [class*="-areas-pane"]{z-index:10!important}
.mt-yandex-base [class*="-shadows-pane"]{z-index:20!important}
.mt-yandex-base [class*="-places-pane"]{z-index:30!important}
.mt-yandex-base [class*="-overlaps-pane"]{z-index:40!important}
.mt-yandex-base [class*="-copyrights-pane"],.mt-yandex-base [class*="-copyright"]{pointer-events:auto;z-index:850!important}
.mt-yandex-base [class*="-copyright"] a,.mt-yandex-base [class*="-copyright"] button{pointer-events:auto}
.mt-yandex-active .leaflet-control-scale{margin-bottom:29px}
.mt-yandex-active .leaflet-control-attribution{margin-bottom:27px}
.leaflet-top.leaflet-right{top:auto;bottom:124px;display:flex;flex-direction:column;align-items:flex-end}
.leaflet-top.leaflet-right>.leaflet-control{margin:0 10px 0 0}
.leaflet-control-layers-expanded{padding:0;background:#fff}
.leaflet-control-layers-toggle{display:block!important}
.leaflet-control-layers-list{position:absolute;right:0;bottom:100%;width:max-content;max-width:calc(100vw - 24px);padding:6px 10px;background:#fff;border:1px solid #999;border-radius:4px;box-shadow:0 1px 5px #0006;max-height:calc(100vh - 170px);overflow:auto}
.leaflet-control-layers.leaflet-control-layers-expanded .leaflet-control-layers-list{position:absolute}
.mt-map-layer-control button.leaflet-control-layers-toggle{border:0;padding:0;background:#fff url(vendor/images/layers.png) no-repeat center;border-radius:4px}
.leaflet-retina .mt-map-layer-control button.leaflet-control-layers-toggle{background-image:url(vendor/images/layers-2x.png);background-size:26px 26px}
.mt-yandex-loading{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);z-index:760;max-width:calc(100% - 30px);padding:4px 7px;background:#fff;border:1px solid #999;font-size:12px;line-height:18px;pointer-events:none}
.stop-suggest-section{padding:3px 5px 1px;background:#f2f2f2;color:#666;font-size:11px;font-weight:bold;line-height:16px}
.stop-suggest-description{display:block;color:#777;font-size:11px;line-height:14px;white-space:normal;overflow-wrap:anywhere}
.stop-suggest-place-status{margin:0;padding:3px 5px;color:#777;font-size:11px;line-height:16px}
.mt-panorama-dialog{position:fixed;inset:0;width:min(1100px,calc(100vw - 20px));max-width:calc(100vw - 20px);height:min(720px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #555;background:#fff;color:#000;overflow:hidden}
.mt-panorama-dialog[open]{display:flex;flex-direction:column}
.mt-panorama-dialog::backdrop{background:#0007}
.mt-panorama-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border-bottom:1px solid #bbb;flex:none}
.mt-panorama-heading>.mt-map-popup-action{display:block;margin:0;padding:3px 6px;border:1px solid #aaa;background:#fff}
.mt-panorama-status{padding:8px;margin:0;flex:none}
.mt-panorama-viewport{flex:1;min-height:0;width:100%}
.mt-panorama-dialog>.mt-map-streetview{flex:none;margin:0;padding:4px 8px;border-top:1px solid #bbb}
@media(max-width:700px){.mt-panorama-dialog{width:calc(100vw - 10px);max-width:calc(100vw - 10px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.mt-panorama-heading{padding:4px 6px;gap:5px}.mt-panorama-heading>.mt-map-popup-action{min-height:28px}.mt-yandex-active .leaflet-control-attribution{font-size:9px}}
@media print{.mt-yandex-loading,.mt-panorama-dialog{display:none!important}}
@media(max-width:700px){.with-map #map-pane{min-height:240px}.with-map #content-pane,.schedule-mode.with-map #content-pane{flex-shrink:1;min-height:0}.leaflet-top.leaflet-right{left:0;right:auto;top:40px;bottom:auto;align-items:flex-start}.leaflet-top.leaflet-right>.leaflet-control{margin-left:10px;margin-right:0}.leaflet-control-layers.leaflet-control-layers-expanded .leaflet-control-layers-list{left:0;right:auto;top:100%;bottom:auto;width:min(170px,calc(100vw - 170px));max-height:140px}.leaflet-bottom.leaflet-right{left:0;right:0}.leaflet-control-zoom{float:left!important;margin-left:10px!important;margin-right:0!important}}
/* Keep compact forms inside the content pane when the navigation rail is visible. */
.planner-options{grid-template-columns:minmax(0,1fr)}
.planner-options>*{min-width:0}
.planner-options fieldset{min-width:0;width:100%;max-width:100%}
.planner-options legend{max-width:100%;white-space:normal}
.planner-options input,.planner-options select{max-width:100%}
.planner-options #plan-route-numbers{max-width:100%}
.stop-filter label{min-width:0;max-width:100%;flex-wrap:wrap}

/* The reference clients open the map as the compact screen's active view. */
@media screen and (max-width:700px), screen and (max-width:1050px) and (max-height:450px){
  body.with-map{height:100dvh}
  .with-map #sidebar,.with-map #header,.with-map #content-pane,.with-map #split-handle,.with-map #map-full{display:none!important}
  .with-map #workspace{flex-direction:column}
  .with-map #map-pane{min-height:0;flex:1}
  .with-map #map-close{width:32px;height:32px;font-size:26px;line-height:28px}
  .with-map .leaflet-popup-content{max-width:calc(100vw - 60px);max-height:calc(100dvh - 150px);overflow-y:auto}
  .with-map #map-pane:has(.leaflet-popup) .map-switches,.with-map #map-pane:has(.leaflet-popup) .map-toolbar,.with-map #map-pane:has(.leaflet-popup) .mt-map-route-picker,.with-map #map-pane:has(.leaflet-popup) .leaflet-control-layers,.with-map #map-pane:has(.leaflet-popup) .leaflet-control-zoom{visibility:hidden}
  .with-map .mt-map-route-picker{max-width:calc(100% - 80px)}
  .with-map .leaflet-top.leaflet-right{left:0;right:auto;top:40px;bottom:auto;align-items:flex-start}
  .with-map .leaflet-top.leaflet-right>.leaflet-control{margin-left:10px;margin-right:0}
  .with-map .leaflet-control-layers.leaflet-control-layers-expanded .leaflet-control-layers-list{left:0;right:auto;top:100%;bottom:auto;width:min(170px,calc(100vw - 24px));max-height:min(140px,calc(100dvh - 170px))}
  .with-map .leaflet-bottom.leaflet-right{left:0;right:0}
  .with-map .leaflet-control-zoom{float:left!important;margin-left:10px!important;margin-right:0!important}
}
