/* Journey comparisons and rail profiles share the atlas' paper-and-ink palette. */
.sidebar>.sidebar-tabs{padding-top:22px}
.map-top{justify-content:flex-end}
.sidebar-footer{justify-content:flex-end;gap:16px}
.sidebar-footer #guide-button{margin-left:0}
.language-setting select{font:inherit;font-size:calc(11px * var(--font-scale,1.12));color:#4b6442;background:#f8faf4;border:1px solid #dce4d4;border-radius:5px;padding:7px 5px;cursor:pointer;max-width:100px}
.brand strong{white-space:nowrap}
.sidebar:has(#route-panel:not([hidden])) .sidebar-intro{padding-top:18px;padding-bottom:15px}
.sidebar:has(#route-panel:not([hidden])) .sidebar-intro h1{font-size:calc(23px * var(--font-scale, 1.12));margin:7px 0}
.sidebar:has(#route-panel:not([hidden])) .sidebar-intro p{display:none}
#route-panel{overflow-y:auto;scrollbar-width:thin;padding-bottom:15px}
#route-results{overflow:visible;flex-shrink:0;border:0;padding-top:4px}
.route-options-heading{display:flex;gap:8px;justify-content:space-between;align-items:center}
.route-options-heading button{font-size:calc(10px * var(--font-scale,1.12));color:#69835b;text-decoration:underline;text-underline-offset:3px;padding:3px 0}
.route-options-heading strong{font-size:calc(12px * var(--font-scale, 1.12))}.route-options-heading span{font-size:calc(10px * var(--font-scale, 1.12));color:#7b8a78}
.route-results .estimate-caption{font-size:calc(10px * var(--font-scale, 1.12));text-align:left;color:#798875;margin:7px 0 12px}
.route-choices{display:grid;gap:9px}
.route-choice{display:block;width:100%;text-align:left;border:1px solid #e0e5d9;background:#fffefa;border-radius:9px;padding:13px 12px;transition:border-color .15s,background .15s}
.route-choice:hover{border-color:#a9bba1;background:#f5f8f0}.route-choice.selected{border:1px solid #6d8b66;background:#edf3e8;box-shadow:inset 3px 0 #6d8b66}
.choice-top{display:flex;align-items:center;gap:8px}.choice-number{font-size:calc(10px * var(--font-scale, 1.12));color:#8c9b81;letter-spacing:1px}.choice-top strong{font-size:calc(17px * var(--font-scale, 1.12));font-weight:600;color:#2a463b}.choice-check{margin-left:auto;color:#64825c;font-size:calc(13px * var(--font-scale, 1.12))}
.choice-tags{display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:wrap}.choice-tags i{font-style:normal;font-size:calc(10px * var(--font-scale, 1.12));border-radius:3px;padding:3px 5px;background:#dfead8;color:#53704b}.choice-tags>span{font-size:calc(10px * var(--font-scale, 1.12));color:#74816b;margin-left:auto}
.choice-lines{display:block;font-size:calc(11px * var(--font-scale, 1.12));line-height:1.8;margin-top:9px;color:#435947;overflow-wrap:anywhere}.choice-lines b{font-weight:400;color:#9ba98f}
.choice-breakdown{display:block;font-size:calc(10px * var(--font-scale, 1.12));color:#7d8c74;margin-top:6px;line-height:1.6}
.route-results .alternative-note{font-size:calc(10px * var(--font-scale, 1.12));color:#819176;text-align:left;margin:10px 1px;line-height:1.8}
.journey-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #dde5d6;margin-top:23px;padding-top:20px}.journey-heading h3{font-size:calc(12px * var(--font-scale, 1.12));margin:0}.journey-heading span{font-size:calc(11px * var(--font-scale, 1.12));color:#65805d}
.time-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#f1f4ec;border-radius:7px;padding:12px 10px;margin-top:12px}.time-breakdown>span{font-size:calc(10px * var(--font-scale, 1.12));color:#7d8b72;line-height:1.6}.time-breakdown strong{display:block;font-size:calc(14px * var(--font-scale, 1.12));font-weight:500;color:#465d3c;margin-top:3px}
.time-explainer{font-size:calc(10px * var(--font-scale, 1.12));color:#7a8d6e;line-height:1.9;margin:12px 0 23px}.time-explainer summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.time-explainer p{margin:10px 0}.route-results .route-note{text-align:left;color:#7d8d73;font-size:calc(10px * var(--font-scale, 1.12))}
.route-step{padding-bottom:22px}.route-step h4 button,.route-end-title button{padding:0;text-align:left;font-size:calc(12px * var(--font-scale, 1.12));line-height:1.7}.route-step .step-line{align-items:flex-start;font-size:calc(11px * var(--font-scale, 1.12));line-height:1.7;color:#536c47}.step-line .line-badge{margin-top:1px}.step-line>span:last-child{flex:1}.step-meta{font-size:calc(10px * var(--font-scale, 1.12));color:#849379;line-height:1.8;margin-top:6px}.step-meta button{font-size:calc(10px * var(--font-scale, 1.12));color:#5e8154;text-decoration:underline;text-underline-offset:3px;padding:2px 0}.route-step details{font-size:calc(10px * var(--font-scale, 1.12));color:#7e9071}
.profile-kicker{font-size:calc(9px * var(--font-scale, 1.12));letter-spacing:1.2px;color:#819275}.line-intro{background:#f0f4e9;border:1px solid #dce5d2;border-radius:9px;padding:17px 14px;margin-bottom:17px}.line-intro h3{font-size:calc(15px * var(--font-scale, 1.12));line-height:1.7;margin:8px 0 10px}.line-intro p,.station-profile p{font-size:calc(12px * var(--font-scale, 1.12));line-height:1.9;color:#607156;margin:9px 0}.line-intro ul,.station-profile ul{padding-left:17px;margin:10px 0;font-size:calc(11px * var(--font-scale, 1.12));line-height:1.9;color:#728465}.line-intro li,.station-profile li{margin:6px 0}.profile-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.profile-sources a{font-size:calc(10px * var(--font-scale, 1.12));line-height:1.7;text-decoration:underline;text-underline-offset:3px;color:#668258}.line-stations{font-size:calc(11px * var(--font-scale, 1.12));line-height:1.9;color:#6a805b;margin-top:14px;border-top:1px solid #dce4d2;padding-top:11px}.line-stations summary{cursor:pointer}.line-stations>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.line-stations button{font-size:calc(11px * var(--font-scale, 1.12));background:#fffefa;border:1px solid #dce4d2;border-radius:4px;padding:5px 8px;text-align:left}
.station-profile{padding:13px 0;border-top:1px solid #e0e6d7;margin-top:12px}.station-profile details{font-size:calc(10px * var(--font-scale, 1.12));line-height:1.8;color:#718365}.station-profile summary{cursor:pointer}.station-card{width:310px}.station-profile h4 { margin:.7em 0 .45em; }
.station-profile .nearby-places { list-style:none; margin:.3em 0; padding:0; }
.nearby-places li { padding:.35em 0; }
.nearby-places a { color:#355744; text-decoration:underline; text-underline-offset:3px; }
.nearby-places small { display:block; color:#52645d; margin-top:.12em; }
.nearby-scale { color:#52645d; }
.station-card .station-lines{gap:6px}
#line-profile-dialog{padding:35px 26px 24px;width:min(550px,calc(100vw - 30px))}#line-profile-content .line-intro{margin:0;border:0;background:none;padding:10px 0}#line-profile-content .line-intro h3{font-size:calc(23px * var(--font-scale, 1.12))}#line-profile-content .line-intro p{font-size:calc(13px * var(--font-scale, 1.12))}
.atlas-directory{border-top:1px solid #e2e7db;margin-top:18px}.atlas-directory h3{font-size:calc(13px * var(--font-scale, 1.12));margin:21px 0 13px}.profile-station-grid{display:flex;flex-wrap:wrap;gap:7px}.profile-station-grid button{font-size:calc(11px * var(--font-scale, 1.12));background:#eef3e7;border:1px solid #dae3d0;padding:8px 12px;border-radius:5px}.profile-line-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.profile-line-grid button{display:flex;align-items:center;gap:8px;text-align:left;font-size:calc(11px * var(--font-scale, 1.12));padding:7px 4px;line-height:1.65}.profile-line-grid .line-badge{width:24px;height:24px;font-size:calc(9px * var(--font-scale, 1.12))}
.font-setting{display:flex;align-items:center;gap:5px;color:#73816b}.font-setting>span{font-size:calc(15px * var(--font-scale, 1.12))}.font-setting select{font:inherit;font-size:calc(11px * var(--font-scale, 1.12));color:#4b6442;background:#f8faf4;border:1px solid #dce4d4;border-radius:5px;padding:7px 5px;cursor:pointer;max-width:87px}
.sidebar{width:360px;min-width:360px}.sidebar-footer{padding-left:15px;padding-right:15px;gap:6px}.sidebar-footer #network-summary{flex:1;line-height:1.6}.sidebar-footer button{white-space:nowrap}.header-right{gap:15px}.line-count{font-size:calc(10px * var(--font-scale, 1.12))}
@media(min-width:1600px){.sidebar{width:380px;min-width:380px}}
@media(max-width:1050px){.sidebar{width:340px;min-width:340px}.main-nav{gap:14px}.topbar{padding:0 17px}.header-right{gap:7px}.station-card{width:285px}.map-heading{max-width:190px}}
@media(max-width:720px),(max-width:950px) and (max-height:500px){.header-right{display:flex;gap:0}.header-right #about-button{display:none}.font-setting>span{display:none}.font-setting select{font-size:calc(10px * var(--font-scale, 1.12));padding:6px 3px;max-width:68px}.topbar{padding:0 11px;gap:9px}.brand{gap:8px}.brand strong{font-size:calc(13px * var(--font-scale, 1.12));letter-spacing:0}.brand small{font-size:calc(9px * var(--font-scale, 1.12));letter-spacing:.4px}.brand-icon{height:30px;width:30px}.main-nav{gap:8px}.nav-button{padding:0 1px;font-size:calc(10px * var(--font-scale, 1.12))}.sidebar{width:100%;min-width:0}.sidebar:has(#route-panel:not([hidden])){height:79dvh}.sidebar:has(#route-panel:not([hidden])) .sidebar-intro{padding:14px 20px}.sidebar:has(#route-panel:not([hidden])) .sidebar-intro h1{font-size:calc(20px * var(--font-scale, 1.12))}.sidebar:has(#route-panel:not([hidden])) .sidebar-tabs{top:37px}.sidebar.mobile-open:has(#route-panel:not([hidden]))~.map-section .map-attribution{bottom:calc(79dvh + 6px)}.station-card{width:min(310px,calc(100% - 32px))}.shinkansen-option small{display:block;margin-left:0}.profile-line-grid{grid-template-columns:1fr}.sidebar-footer{padding:10px 16px}.map-heading h2{max-width:145px}.map-watermark{display:none}.route-choice{padding:12px}.map-legend{flex-wrap:wrap;gap:7px;max-width:calc(100% - 66px)}.map-legend>span{white-space:nowrap}}
@media(max-width:390px){.main-nav .nav-button[data-view=explore]{display:none}.brand strong{font-size:calc(12px * var(--font-scale, 1.12))}}
@media(max-width:720px),(max-width:950px) and (max-height:500px){.sidebar .sidebar-intro{padding:13px 20px 9px}.sidebar .sidebar-intro h1{display:none}.sidebar .sidebar-tabs{position:static;border-bottom:1px solid var(--border);padding:0 20px;gap:25px}.sidebar .sidebar-tabs button{padding-bottom:12px}.sidebar:has(#route-panel:not([hidden])) .sidebar-intro{padding:13px 20px 9px}}
.sidebar-footer{gap:16px}.sidebar-footer #network-summary[hidden]{display:none}
.inline-line-detail .line-intro{border-top:0;border-radius:0 0 8px 8px;margin:0 0 12px;padding:14px 12px 17px}
.inline-line-detail .line-intro h3{display:none}
.line-list,.route-results,#route-panel,.station-card{overflow-anchor:none}
.route-pending{margin:4px 0 12px;padding:9px 11px;border-radius:5px;background:#f4f0df;color:#766d49;font-size:calc(11px * var(--font-scale,1.12));line-height:1.7;flex-shrink:0}
.operator-filters{display:flex;flex-wrap:wrap;gap:5px}.operator-filters button{flex:1 0 auto;white-space:nowrap;padding:8px 6px}
.line-row-info{min-width:0}.line-row-info strong{overflow-wrap:anywhere}.line-row-info small:empty{display:none}
.header-right{flex-shrink:0}.language-setting select{max-width:108px}
@media(max-width:900px){.main-nav{display:none}.brand{margin-right:auto}}
@media(max-width:720px),(max-width:950px) and (max-height:500px){.sidebar .sidebar-tabs{padding-top:18px;flex-shrink:0}.header-right{gap:5px}.language-setting select{font-size:calc(10px * var(--font-scale,1.12));padding:6px 3px;max-width:78px}.brand strong{font-size:calc(12px * var(--font-scale,1.12))}.brand-icon{width:27px;height:27px;flex-shrink:0}.brand{gap:6px}.sidebar-footer{gap:14px}.map-top{top:16px}.map-tools{gap:5px}.mobile-panel{top:107px}.selection-banner{top:151px}}
@media(max-width:360px){.topbar{padding:0 8px;gap:5px}.brand-icon{display:none}.brand strong{font-size:calc(11px * var(--font-scale,1.12))}.header-right{gap:3px}.font-setting select{max-width:66px}.language-setting select{max-width:73px}}

/* Search and keyboard navigation remain usable at every viewport size. */
.search-more{display:block;width:100%;padding:12px;margin:9px 0;color:#3a6853;background:#eef3e7;border:1px solid #d4dfca;border-radius:6px;font-size:calc(11px * var(--font-scale,1.12));line-height:1.7}
.station-result>span:last-child{min-width:0}.station-result small{font-size:calc(10px * var(--font-scale,1.12));line-height:1.65;color:#6a7a62;overflow-wrap:anywhere}
.suggestions strong{display:block;font-weight:500}.suggestions small{display:block;margin:4px 0 0;color:#6a7a62;line-height:1.6}
select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}.search-box:focus-within,.route-input:focus-within{border-color:#668258;box-shadow:0 0 0 2px #66825820}
.data-notes details{border-top:1px solid var(--border);padding:12px 0}.data-notes summary{cursor:pointer;font-size:calc(12px * var(--font-scale,1.12));color:#435b40}.data-notes p{margin:10px 0;font-size:calc(11px * var(--font-scale,1.12))}
@media(max-width:720px),(max-width:950px) and (max-height:500px){.sidebar:not(.mobile-open){visibility:hidden}.sidebar.mobile-open{visibility:visible}.workspace{min-height:0}.card-close,.dialog-close{min-width:36px;min-height:36px}.station-actions button{min-height:42px}}

@media(max-width:720px),(max-width:950px) and (max-height:500px){.sidebar{transition:transform .25s,visibility 0s .25s}.sidebar.mobile-open{transition-delay:0s}}

/* Travel notes lead; operational details stay available without crowding the card. */
.station-card{width:360px;scroll-padding-bottom:65px}
.station-profile{margin-top:6px;padding:0 0 14px;border-top:0;border-bottom:1px solid #e0e6d7}
.line-intro p,.station-profile p{font-size:calc(13px * var(--font-scale,1.12));color:#405742}
.line-intro .travel-highlights,.station-profile .travel-highlights{font-size:calc(12px * var(--font-scale,1.12));color:#52654c;line-height:1.85;padding-left:18px}
.travel-highlights li{padding-left:2px;margin:10px 0}
.profile-detail{font-size:calc(11px * var(--font-scale,1.12));line-height:1.8;color:#607156;margin-top:8px}
.profile-detail summary{cursor:pointer;padding:5px 0;color:#526b49}
.profile-detail .profile-sources{margin:5px 0 10px;gap:6px}
.profile-detail .profile-sources a{overflow-wrap:anywhere}
.station-card .station-lines{margin-top:14px}
.station-card .station-actions{position:sticky;bottom:-23px;z-index:1;margin-bottom:-23px;padding:12px 0 23px;background:#fffefa;border-top:1px solid #e0e6d7;box-shadow:0 -8px 10px #fffefa}
@media(max-width:1050px){.station-card{width:330px}}
@media(max-width:720px),(max-width:950px) and (max-height:500px){.station-card{width:min(360px,calc(100% - 32px));max-height:calc(100% - 250px)}.station-card .station-actions{bottom:-18px;margin-bottom:-18px;padding-bottom:18px}}
.profile-search{display:block;margin-top:20px;font-size:calc(12px * var(--font-scale,1.12));color:#52654c}
.profile-search input{display:block;width:100%;margin-top:9px;padding:11px 12px;border:1px solid #cbd8c4;border-radius:6px;background:#fff;font:inherit;color:#203b30}
.profile-search input::placeholder{color:#819078}
.atlas-directory h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.atlas-directory h3 small{font-size:calc(10px * var(--font-scale,1.12));font-weight:400;color:#708368}
.directory-more{font-size:calc(11px * var(--font-scale,1.12));padding:9px 0;color:#58764c;text-decoration:underline;text-underline-offset:3px;margin-top:9px}
.profile-line-grid button{min-width:0}.profile-line-grid .line-badge{flex-shrink:0}
.reading-guide{margin-top:23px;border-top:1px solid #dce4d5;padding-top:17px}
.reading-guide>summary{font-size:calc(12px * var(--font-scale,1.12));cursor:pointer;color:#53694a}

.route-more-actions{margin:12px 0 4px}.route-more-button{display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid #cbd8c1;border-radius:7px;background:#f4f7ee;color:#486541;font:inherit;font-size:calc(12px * var(--font-scale,1.12));cursor:pointer}.route-more-button:hover{background:#eaf1e2}.route-more-button:focus-visible{outline:2px solid #486541;outline-offset:3px}.route-more-button[aria-disabled=true]{opacity:.6;cursor:wait}.route-more-button:disabled{cursor:default}.route-results .route-more-status{font-size:calc(11px * var(--font-scale,1.12));color:#72816a;line-height:1.7;margin:8px 1px 0;text-align:left}.route-more-status:empty{display:none}

.service-note{padding:10px 12px;border-left:3px solid #738e69;background:#f0f5ec;color:#4f6548;font-size:calc(11px * var(--font-scale,1.12));line-height:1.7}.route-step .through-note,.route-step .transfer-note{margin:0 0 9px;font-size:calc(11px * var(--font-scale,1.12));font-weight:600;color:#456b3e}.route-step .transfer-note{color:#8b654a}.service-label{display:block;margin:5px 0;color:#637859;font-size:calc(10px * var(--font-scale,1.12))}.pass-station{color:#87947e;margin-left:5px;font-size:.85em}

/* These controls belong to the fixed sidebar header, outside every list scroll. */
.route-view-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;padding:5px 20px;border-bottom:1px solid #dce4d5;background:#fffefa}
.route-view-controls>span{font-size:calc(11px * var(--font-scale,1.12));color:#63745d}
.route-view-controls>button{min-height:44px;padding:8px 12px;border:1px solid #d7c6bd;border-radius:6px;color:#82503b;background:#fcf7f1;font:inherit;font-size:calc(12px * var(--font-scale,1.12));line-height:1.5}
.route-view-controls #resume-route-view{color:#45653f;border-color:#cbd8c4;background:#f0f5eb}
.route-map-exit{display:none}
.journey-transfer-summary{font-size:calc(12px * var(--font-scale,1.12));font-weight:600;color:#496244;line-height:1.7;margin:10px 0 0}
.route-step[data-walk-kind]{border-left-style:dashed}.route-step .walk-connection{display:block;overflow-wrap:anywhere;color:#52694d}
@media(max-width:720px),(max-width:950px) and (max-height:500px){
 .route-map-exit{position:absolute;top:16px;left:17px;z-index:4;display:flex;align-items:center;justify-content:center;gap:7px;min-width:72px;min-height:44px;padding:6px 10px;border:1px solid #d7c6bd;border-radius:7px;background:#fffefa;color:#82503b;box-shadow:0 3px 12px #243b3e10;font:inherit;font-size:calc(12px * var(--font-scale,1.12))}
 .route-map-exit>span:first-child{font-size:24px;line-height:1}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .route-map-exit{visibility:hidden;pointer-events:none}
 .map-section:has(#station-card:not([hidden])) .route-map-exit{visibility:hidden;pointer-events:none}
}

.sheet-controls{display:none}.view-line-map{display:block;position:sticky;top:0;z-index:2;max-width:calc(100% - 35px);min-height:44px;margin:0 35px 12px 0;padding:11px 14px;border:1px solid #c9d7bf;border-radius:7px;background:#f0f5e9;color:#3f623a;font:inherit;font-size:calc(12px * var(--font-scale,1.12));text-align:left}.view-line-map:focus-visible,.sheet-handle:focus-visible,.sheet-close:focus-visible{outline:2px solid #486541;outline-offset:-3px}.selection-banner>button{min-width:44px;min-height:44px;margin-left:4px;flex-shrink:0}
@media(max-width:720px),(max-width:950px) and (max-height:500px){
 /* The route-height selector must never set the panel offset: its ID-level
    specificity would override .mobile-open and hide the active route panel. */
 .sidebar{--sheet-height:62dvh;--sheet-offset:101%}
 .sidebar,.sidebar:has(#route-panel:not([hidden])){height:var(--sheet-height);transform:translateY(calc(var(--sheet-offset) + var(--sheet-drag,0px)));overflow:hidden}
 .sidebar:has(#route-panel:not([hidden])){--sheet-height:min(72dvh,calc(100dvh - 100px))}
 .sidebar.mobile-open{--sheet-offset:0px;transform:translateY(calc(var(--sheet-offset) + var(--sheet-drag,0px)))}
 .sidebar.mobile-peek{--sheet-offset:calc(100% - 96px);transform:translateY(calc(var(--sheet-offset) + var(--sheet-drag,0px)))}
 .sidebar.mobile-full,.sidebar.mobile-full:has(#route-panel:not([hidden])){position:fixed;inset:0;--sheet-height:100dvh;height:100dvh;border-radius:0;z-index:20;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
 .sidebar .sheet-controls{display:flex;align-items:center;min-height:88px;flex-shrink:0;gap:3px;padding:0 8px 0 14px;border-bottom:1px solid #e0e7d9}
 .sheet-handle{flex:1;min-width:0;min-height:86px;touch-action:none;cursor:grab;padding:10px 4px;text-align:center;user-select:none}
 .sheet-grip{display:block;width:42px;height:4px;margin:0 auto 9px;background:#b7c5ad;border-radius:4px}
 .sheet-handle strong{display:block;font-size:calc(12px * var(--font-scale,1.12));font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#3e5840}
 .sheet-handle small{display:block;font-size:calc(10px * var(--font-scale,1.12));line-height:1.5;color:#75866b;margin-top:3px}
 .sheet-close{min-width:44px;width:44px;min-height:44px;flex-shrink:0;font-size:26px;color:#63765a;border-radius:50%;background:#f1f5ec}
 .sidebar.mobile-peek>:not(.sheet-controls){visibility:hidden;pointer-events:none}
 .sidebar .sidebar-tabs{padding-top:12px}.sidebar .panel{overscroll-behavior-y:contain}
 #sidebar.mobile-open~.map-section .map-attribution{bottom:calc(62dvh + 6px)}
 #sidebar.mobile-open:has(#route-panel:not([hidden]))~.map-section .map-attribution{bottom:calc(min(72dvh,100dvh - 100px) + 6px)}
 #sidebar.mobile-open.mobile-peek~.map-section .map-attribution,#sidebar.mobile-open.mobile-peek:has(#route-panel:not([hidden]))~.map-section .map-attribution{bottom:102px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}

@media(max-width:720px),(max-width:950px) and (max-height:500px){.sidebar.sheet-dragging{transition:none}}

/* Keep a reachable close control above long detail content. */
dialog,.guide-dialog,#line-profile-dialog,.station-card{padding-top:0}
.overlay-controls{position:sticky;top:0;z-index:5;display:flex;justify-content:flex-end;height:60px;margin-bottom:10px;padding:8px 0;background:#fffefa}
.overlay-controls .card-close,.overlay-controls .dialog-close{position:static;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#f1f5ec;color:#63765a;font-size:26px;line-height:1}
.overlay-controls button:focus-visible{outline-offset:-3px}
#line-profile-content .view-line-map{top:60px}

.workspace{position:relative;min-height:0;overflow:clip}
#clear-selection{color:#8a5847}
dialog,.station-card{overscroll-behavior:contain}
@media(max-width:720px),(max-width:950px) and (max-height:500px){
 /* One scroll container keeps short screens from squeezing the list away. */
 #explore-panel{display:block;overflow-y:auto;overscroll-behavior-y:contain;padding-top:0}
 #explore-panel .search-box{position:sticky;top:0;z-index:3;background:#fffefa;margin-top:13px}
 #explore-panel .line-list{overflow:visible}
 #search,#from,#to,#profile-search{font-size:max(16px,calc(12px * var(--font-scale,1.12)))}
 .map-legend{flex-wrap:nowrap;align-items:stretch;gap:0;padding:3px;max-width:calc(100% - 80px)}
 .map-legend>span{display:none}
 .sidebar-footer{gap:10px;flex-wrap:wrap}
 .sidebar-footer button{min-height:32px}
 .sidebar.mobile-peek .sheet-handle small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #sidebar.mobile-open~.map-section{--map-sheet-cover:62dvh}
 #sidebar.mobile-open:has(#route-panel:not([hidden]))~.map-section{--map-sheet-cover:min(72dvh,calc(100dvh - 100px))}
 #sidebar.mobile-open.mobile-peek~.map-section,#sidebar.mobile-open.mobile-peek:has(#route-panel:not([hidden]))~.map-section{--map-sheet-cover:96px}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-controls{display:flex;width:108px;left:17px;right:auto;bottom:calc(var(--map-sheet-cover) + 6px)}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-controls>div{display:none}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-controls button{width:36px;flex-shrink:0}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-modes,
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-legend,
 #sidebar.mobile-open:not(.mobile-peek)~.map-section #mobile-panel,
 #sidebar.mobile-open:not(.mobile-peek)~.map-section #selection-banner{visibility:hidden;pointer-events:none}
 #sidebar.mobile-open:not(.mobile-peek)~.map-section .map-attribution{left:auto;right:15px;max-width:calc(100% - 150px);bottom:calc(var(--map-sheet-cover) + 6px);font-size:calc(9px * var(--font-scale))}
 #sidebar.mobile-open.mobile-peek~.map-section .map-legend{bottom:122px;max-width:calc(100% - 80px)}
 .map-section:has(#station-card:not([hidden])) #selection-banner{visibility:hidden;pointer-events:none}
}
@media(max-width:720px) and (max-height:600px),(max-width:950px) and (max-height:500px){
 .station-card{top:12px;max-height:calc(100% - 24px)}
}
