/* Map-first presentation. Controls are shared with the individual station view. */
.map-search-controls{display:flex;align-items:center;gap:12px;flex:1;min-width:200px}
.map-search-controls .search-field{margin:0;flex:1;min-width:130px}
.map-search-controls .search-field input{width:100%;min-height:44px;font-size:13px}
.map-search-controls .area-controls{margin:0;display:flex;gap:8px}
.map-search-controls .area-controls select{width:90px;min-height:44px;font-size:12px}
.map-search-controls #locate{min-height:44px;white-space:nowrap;font-size:12px}
.browse-toolbar{gap:18px;padding:14px 3vw;flex-wrap:wrap}
.browse-toolbar>label select{min-height:44px}
.browse-toolbar #range-label{font-size:10px;flex-basis:auto;margin-left:auto}
.transfer-view .browse-toolbar .rail-period-control{display:block;position:static;max-width:none;padding:0;border:0;box-shadow:none;background:none}
.rail-period-control .rail-filter-bar{background:#f0f4f4;padding:3px;border-radius:10px}
.rail-period-control .rail-filter-bar button{min-height:40px;min-width:44px;font-size:13px}
.rail-period-control .rail-filter-bar button[aria-pressed=true]{background:#087e73;color:white;border-color:#087e73;box-shadow:0 1px 4px #16594c30}
.rail-period-control p{margin:4px 4px 0;font-size:10px;color:#677d83}
.transfer-view .map-layout{height:clamp(570px,calc(100dvh - 310px),1000px);padding:0 0 170px;display:block}
.transfer-view .map-frame{top:0;bottom:170px;height:auto}
.transfer-view #map{height:100%}
.transfer-view .search-panel{position:absolute;top:auto;bottom:0;left:0;right:0;width:100%;height:170px;max-height:none;padding:14px 26px;background:#fff;border:0;border-top:1px solid #e1e9e8;border-radius:0;box-shadow:0 -4px 14px #143a4210;display:grid;grid-template-columns:1fr auto auto;grid-template-rows:28px 1fr;column-gap:18px;row-gap:10px;z-index:410}
.transfer-view .panel-heading{margin:0;font-size:14px;align-self:center}
.transfer-view .rail-filter-select{display:flex;gap:8px;align-items:center;margin:0;font-size:11px}
.transfer-view .rail-filter-select select{margin:0;min-height:30px;width:210px;font-size:11px}
.transfer-view #search-status{grid-column:3;grid-row:1;margin:0;align-self:center;font-size:10px}
.transfer-view .station-list{grid-column:1 / -1;grid-row:2;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;min-height:0;max-height:none;padding-bottom:5px;scroll-snap-type:x proximity}
.transfer-view .station-list>button{flex:0 0 245px;display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid #dce7e5;border-radius:10px;background:#fff;scroll-snap-align:start}
.transfer-view .station-list>button:hover,.transfer-view .station-list>button[aria-pressed=true]{background:#f0f8f4;border-color:#71b39d}
.transfer-view .station-name{font-size:14px;color:#183e48}
.rail-list-copy{min-width:0;flex:1;text-align:left}.rail-list-copy .station-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-list-copy .rail-routes{font-size:9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.rail-list-copy .station-subline{display:flex;gap:10px;align-items:center;margin-top:5px;font-size:10px}
.transfer-view .search-help,.transfer-view #list-more{display:none}
.face-legend{display:none}
.transfer-view .face-legend{display:block;position:absolute;left:20px;top:20px;z-index:405;width:216px;padding:20px;background:#fffffff7;border:1px solid #e0e9e7;border-radius:14px;box-shadow:0 3px 12px #153e4912}
.face-legend h2{font-size:14px;margin:0 0 5px;color:#153e49}.face-legend>p{font-size:10px;color:#71848d;margin:0 0 20px}
.face-legend>div{display:flex;gap:12px;align-items:center;margin:18px 0}.face-legend strong{display:block;font-size:12px}.face-legend small{display:block;font-size:10px;color:#71848d;margin-top:5px}.face-legend>a{font-size:10px;color:#397c72;text-decoration:none}
.transfer-view .mood-face{--face:#86949e;background:var(--face);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px color-mix(in srgb,var(--face) 28%,white)}
.transfer-view .mood-face.low{--face:#0ca465}.transfer-view .mood-face.medium{--face:#eab20e}.transfer-view .mood-face.high{--face:#ed6266}
.transfer-view .mood-face:before{background:white;box-shadow:7px 0 white}.transfer-view .mood-face:after{border-color:white}
.transfer-view .rail-label{display:flex;flex-direction:row;align-items:center;gap:9px;background:white;min-width:140px;max-width:180px;padding:5px 10px 5px 4px;border-radius:30px;border:1px solid #c7dfd7;box-shadow:0 3px 10px #19435022;color:#143d48}
.rail-pin-copy{display:flex;flex-direction:column;align-items:start;gap:5px}.rail-pin-copy>strong{font-size:12px;max-width:115px;overflow:hidden;text-overflow:ellipsis}
.rail-pin-copy .rail-pair{gap:8px}.rail-pin-copy .rail-axis{font-size:9px;gap:4px}.rail-pin-copy .mood-face{transform:scale(.7);margin:-3px}
.transfer-view .pin-face,.transfer-view .list-face,.face-legend>div>.mood-face{transform:scale(1.6);margin:10px;flex-shrink:0}
.transfer-view .pin-face{margin:10px 9px 10px 10px}
.transfer-view .map-display-label{display:none}
.transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{left:255px;right:24px;bottom:186px;top:auto;max-width:calc(100% - 700px);width:fit-content;background:#ffffffed;border:1px solid #e2ebe8;border-radius:8px;padding:7px 12px}
.transfer-view #transfer-guide{display:none}.transfer-view .preparation{font-size:10px;margin:0}
.transfer-view #rail-detail{top:20px;right:20px;bottom:190px;height:auto;max-height:none;width:360px;padding:22px;border-radius:15px;border:1px solid #dce8e3;background:#fff;box-shadow:0 4px 20px #163b4817}
.transfer-view #rail-detail h2{font-size:23px}.transfer-view #rail-lines{margin:9px 0;color:#7a8990;font-size:10px}
.rail-detail-period{font-size:11px;margin:15px 0}.rail-overview{display:flex;align-items:center;gap:24px;margin:24px 0 28px;padding-left:15px}
.rail-overview>.mood-face{transform:scale(2.6);margin:16px 10px}.rail-overview strong{font-size:24px;color:#175e49}.rail-overview p{font-size:10px;line-height:1.8;color:#71848d;margin:5px 0 0}
.rail-dual-rating{padding:18px 0;border-top:0}.rail-dual-rating h3{font-size:13px!important;color:#224d55}.rail-rating-line strong{font-size:14px}.rail-index{margin-left:0;font-size:10px}
.transfer-view .leaflet-control-zoom{margin-top:20px!important;margin-right:20px!important}
.transfer-view .map-layout:has(#rail-detail:not([hidden])) .leaflet-control-zoom{margin-right:400px!important}
.archive-open .map-search-controls,.archive-open .rail-period-control{display:none!important}
@media(min-width:1600px){.transfer-view #rail-detail{width:390px}.transfer-view .map-layout:has(#rail-detail:not([hidden])) .leaflet-control-zoom{margin-right:430px!important}}
@media(max-width:1100px){.browse-toolbar{gap:10px}.map-search-controls{flex-basis:55%}.transfer-view .face-legend{width:180px;padding:14px}.face-legend small{font-size:9px}.transfer-view #rail-detail{width:320px}.transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{left:215px;max-width:calc(100% - 580px)}.transfer-view .map-layout:has(#rail-detail:not([hidden])) .leaflet-control-zoom{margin-right:360px!important}.rail-overview strong{font-size:20px}}
@media(max-width:760px){
 .browse-toolbar{padding:12px 14px;gap:10px;align-items:center}.browse-toolbar>label{font-size:10px}.browse-toolbar>label select{max-width:180px;font-size:12px;min-height:38px}.map-search-controls{order:2;flex-basis:100%;flex-wrap:wrap;gap:8px}.map-search-controls .search-field{flex-basis:100%}.map-search-controls .area-controls{width:100%;justify-content:space-between}.map-search-controls .area-controls select{width:120px}.map-search-controls #locate{padding:8px 12px}.transfer-view .browse-toolbar .rail-period-control{order:3;flex-basis:100%}.rail-period-control .rail-filter-bar{width:100%;justify-content:space-between}.rail-period-control .rail-filter-bar button{flex:1;min-height:42px}.rail-period-control p{text-align:center;margin-top:6px}.browse-toolbar #range-label{font-size:9px;order:1;flex:1}.browse-toolbar #refresh-data{font-size:10px}
 .transfer-view .map-layout{height:auto;min-height:0;padding:440px 0 0;display:flex;flex-direction:column}.transfer-view .map-frame{height:440px;top:0;bottom:auto;width:100%}.transfer-view #map{height:440px}
 .transfer-view .face-legend{top:12px;left:12px;width:auto;right:60px;padding:8px 10px;display:flex;align-items:center;gap:11px;border-radius:8px}.face-legend h2,.face-legend>p,.face-legend small,.face-legend>a{display:none}.face-legend>div{margin:0;gap:5px}.face-legend strong{font-size:9px;white-space:nowrap}.face-legend>div>.mood-face{transform:scale(.85);margin:0 -1px}.face-legend>div:nth-of-type(2) strong{font-size:0}.face-legend>div:nth-of-type(2) strong:after{content:'注意';font-size:9px}.face-legend>div:nth-of-type(1) strong{font-size:0}.face-legend>div:nth-of-type(1) strong:after{content:'良好';font-size:9px}.face-legend>div:nth-of-type(3) strong{font-size:0}.face-legend>div:nth-of-type(3) strong:after{content:'難しい';font-size:9px}
 .transfer-view .search-panel{position:relative;top:auto;bottom:auto;left:auto;right:auto;order:1;height:auto;min-height:170px;width:100%;padding:15px 14px;grid-template-columns:1fr auto;grid-template-rows:auto auto 100px;gap:9px}.transfer-view .panel-heading{font-size:13px}.transfer-view #search-status{grid-row:2;grid-column:1 / -1;font-size:10px}.transfer-view .rail-filter-select{font-size:0}.transfer-view .rail-filter-select select{font-size:10px;width:145px}.transfer-view .station-list{grid-row:3}.transfer-view .station-list>button{flex-basis:230px}
 .transfer-view #rail-detail{position:relative;top:auto;right:auto;bottom:auto;order:2;width:100%;height:auto;max-height:none;border-radius:0;padding:24px 22px;box-shadow:none}.rail-overview{margin:30px 0}.rail-overview strong{font-size:24px}.transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{top:394px;left:12px;right:12px;bottom:auto;max-width:none;width:auto;height:34px;padding:8px 10px}.transfer-view .map-layout:has(#rail-detail:not([hidden])) .leaflet-control-zoom,.transfer-view .leaflet-control-zoom{margin-right:12px!important;margin-top:65px!important}
}

.transfer-view #list-more:not([hidden]){display:block;position:absolute;right:18px;bottom:2px;min-height:22px;padding:2px 10px;font-size:10px;background:#fff;border:1px solid #dde8e4}.transfer-view .station-list{padding-bottom:14px}

/* Keep the map uninterrupted; search results appear only while finding a station. */
#explore-intro{display:none!important}
.transfer-view .map-layout{height:max(620px,calc(100dvh - 190px));padding:0}
.transfer-view .map-frame{bottom:0}
.transfer-view .search-panel{display:none}
.transfer-view.rail-searching .search-panel{display:block;top:16px;left:16px;right:auto;bottom:auto;width:300px;height:auto;max-height:calc(100% - 90px);overflow:auto;padding:16px;border:1px solid #dce7e5;border-radius:12px;box-shadow:0 6px 22px #173e4920;z-index:420}
.transfer-view.rail-searching .station-list{display:block;overflow:visible;padding:0}
.transfer-view.rail-searching .station-list>button{width:100%;margin-top:8px;min-height:72px}
.transfer-view.rail-searching #list-more:not([hidden]){position:static;width:100%;margin-top:8px}
.transfer-view .face-legend{width:190px;padding:14px;top:16px;left:16px}
.face-legend>p,.face-legend small{display:none}.face-legend>div{margin:14px 0}.face-legend strong{font-size:11px}
.face-legend .rail-filter-select{display:block;margin-top:14px;font-size:10px}.face-legend .rail-filter-select select{width:100%;margin-top:5px}
.transfer-view #rail-detail{top:16px;bottom:16px;padding:18px;width:360px}
.transfer-view #rail-detail h2{font-size:22px}.transfer-view #rail-lines{margin:5px 0;line-height:1.5}
.transfer-view .rail-detail-period{margin:14px 0 8px;color:#536b73}
.transfer-view .rail-dual-rating{padding:12px 0;margin:0;border-top:1px solid #e5ecea;border-bottom:1px solid #e5ecea}
.rail-dual-rating .event-percent{display:block;font-size:26px;line-height:1.4;letter-spacing:-1px;color:#173f47}
.rail-dual-rating small{display:block;font-size:10px;color:#718087}.rail-dual-rating h3{margin:0!important}
.transfer-view #rail-score-note{font-size:10px;margin:8px 0 12px;line-height:1.6}
.transfer-view .rail-chart-heading{margin-top:12px}.transfer-view .rail-chart-heading h3{font-size:12px}
.transfer-view #rail-total{font-size:10px;margin:5px 0}.transfer-view .rail-chart-key{font-size:9px;margin:6px 0 12px;line-height:1.5}
.transfer-view .rail-method,.rail-port-details{margin:8px 0;padding:10px 0;border-top:1px solid #e5ecea;font-size:12px}
.rail-port-details summary,.rail-method summary{cursor:pointer}
#rail-nearest{padding:18px 0}#rail-nearest h3{font-size:15px;margin:0 0 24px}#rail-nearest p{font-size:12px;margin:12px 0 6px}#rail-nearest>strong{font-size:30px;display:block}#rail-nearest button{display:block;width:100%;text-align:left;margin:14px 0;padding:14px;background:#eef7f3;border:1px solid #c8e2d9;border-radius:8px;color:#075c58}#rail-nearest small{font-size:10px;color:#657a81;display:block}
.rail-no-ports{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:white;border:2px solid #82969d;color:#516971;font-size:12px;font-weight:700;box-shadow:0 2px 6px #173e4920}
.nearest-port-pin{display:grid;place-items:center;width:36px;height:36px;background:#087e73;color:white;border:3px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 8px #173e4940;font-size:24px}
.transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{bottom:16px;left:225px;max-width:calc(100% - 640px)}
.chart,.rail-chart{position:relative}.chart-gap{cursor:help}.chart-gap:focus{outline:none}.chart-gap:focus line:first-of-type{stroke-width:4}.gap-tooltip{position:absolute;left:10px;right:10px;bottom:20px;pointer-events:none;padding:10px;background:#173f47;color:#fff;font-size:11px;border-radius:6px;z-index:1;line-height:1.6}
@media(max-width:760px){
 .transfer-view .map-layout{height:auto;min-height:0;padding:calc(100svh - 250px) 0 0;display:flex}
 .transfer-view .map-frame,.transfer-view #map{height:calc(100svh - 250px);min-height:370px}
 .transfer-view .map-layout{padding-top:max(370px,calc(100svh - 250px))}
 .transfer-view .face-legend{top:10px;left:10px;right:55px;width:auto;padding:8px;gap:9px}.face-legend>div{margin:0}.face-legend .rail-filter-select{display:none}
 .transfer-view #rail-detail{position:relative;top:auto;bottom:auto;right:auto;width:100%;padding:18px;order:2;max-height:none}
 .transfer-view.rail-searching .search-panel{position:absolute;top:55px;left:10px;right:10px;width:auto;max-height:300px;min-height:0}
 .transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{top:calc(max(370px,100svh - 250px) - 45px);bottom:auto;left:10px;right:10px;max-width:none}
 .map-search-controls{flex-wrap:nowrap}.map-search-controls .search-field{flex-basis:auto}.map-search-controls .area-controls{width:auto}.map-search-controls .area-controls select{width:65px}.map-search-controls #locate{font-size:0;padding:8px}.map-search-controls #locate:after{content:'◎';font-size:18px}
 .rail-period-control p{display:none}.browse-toolbar{padding:8px 12px}.transfer-view .rail-detail-period{margin-top:10px}
}

/* Compact rail heading: one title and an expandable station count. */
.transfer-view #rail-detail .detail-heading{align-items:center;margin:0;gap:8px}
.transfer-view #rail-detail h2{margin:0;font-size:21px;line-height:1.3}
.transfer-view #rail-detail .detail-heading button{width:30px;height:30px;min-height:30px;padding:0;flex-shrink:0}
.transfer-view #rail-detail>.rail-port-details{border:0;padding:0;margin:4px 0 12px;color:#74878c;font-size:11px}
.transfer-view #rail-detail>.rail-port-details summary{line-height:1.6}
.rail-port-description{font-size:10px;line-height:1.6;margin:10px 0 6px}
.transfer-view #rail-ports button{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;margin:0;border:0;border-bottom:1px solid #edf1ef;border-radius:0;background:none}
.transfer-view #rail-ports strong{font-size:11px;font-weight:500;line-height:1.5;color:#285a61}
.transfer-view #rail-ports span{font-size:10px;white-space:nowrap;color:#6b7e84}
.transfer-view #rail-detail-period{margin:6px 0;font-size:10px}
.transfer-view .rail-dual-rating{padding:8px 0}
.transfer-view .rail-dual-rating .event-percent{font-size:25px}
.transfer-view .rail-chart-heading{margin-top:10px}

/* Loading is a process, not a station rating. */
.loading-wheel{display:inline-block;width:22px;height:22px;flex-shrink:0;border:2px solid #cce4dc;border-top-color:#087e73;border-radius:50%;animation:record-spin 1s linear infinite}
@keyframes record-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loading-wheel{animation:none;border-style:dashed}}
.transfer-view .loading-wheel.pin-face{margin:8px;transform:none}.rail-pin-copy .rail-pair{color:#6b817d}
.rail-loading{display:none;position:absolute;z-index:430;top:18px;left:50%;transform:translateX(-50%);align-items:center;gap:10px;background:#fff;padding:12px 18px;border:1px solid #cde2da;border-radius:10px;box-shadow:0 3px 14px #153e4918;font-size:12px;color:#075c58}
.transfer-view .rail-loading:not([hidden]){display:flex}.records-loading .face-legend>div:nth-of-type(4){visibility:hidden}
.rail-station-label{display:inline-flex;align-items:center;gap:4px;color:#49606a;background:#ffffffed;border-radius:4px;padding:4px 6px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px #24455016}
.rail-glyph{display:inline-flex;align-items:center;justify-content:center;color:#526c77;flex-shrink:0}.rail-glyph-list{width:34px}
.transfer-view #rail-ports-summary.nearby-trigger{display:block;border:0;background:none;padding:0;margin:4px 0 12px;text-align:left;font-size:11px;color:#66817e;min-height:24px;line-height:1.5;cursor:pointer}
.nearby-trigger:after{content:' ↗';color:#087e73}.nearby-trigger:hover{text-decoration:underline}
.info-wrap{position:relative;display:inline-flex;align-items:center;margin-left:auto}
.info-button{border:0;background:none;color:#728680;min-width:30px;min-height:30px;padding:2px;font-size:18px;cursor:help}
.info-tooltip{display:none;position:absolute;right:0;top:100%;z-index:1000;width:260px;max-width:75vw;padding:12px;background:#173f47;color:white;font-size:11px;line-height:1.8;border-radius:7px;box-shadow:0 4px 15px #153e4920;font-weight:400}
.info-wrap:hover .info-tooltip,.info-wrap:focus-within .info-tooltip{display:block}
.boundary-label{fill:#796343;font-size:12px}.transfer-view .rail-chart-heading{justify-content:space-between}
#nearby-dialog{width:min(860px,calc(100vw - 32px));max-height:92dvh;padding:0;border:1px solid #d7e5df;border-radius:14px;color:#173f47;background:white;box-shadow:0 20px 70px #062d3840;overflow:auto}
#nearby-dialog::backdrop{background:#102e3b66}
.nearby-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5ece8}.nearby-heading h2{font-size:19px;margin:0}.nearby-heading p{font-size:11px;margin:6px 0 0;color:#708780}.nearby-heading button{width:34px;height:34px;border:0;border-radius:50%;background:#eef4ef;font-size:22px;color:#21474d}
#nearby-map{height:280px;background:#e8eee4}.nearby-content{padding:14px 20px}.nearby-tools{display:flex;align-items:center;gap:10px}.nearby-tools label{font-size:11px}.nearby-tools select{min-width:0;flex:1;width:100%;font-size:12px;padding:8px;border:1px solid #d8e4de;border-radius:6px;background:white;color:#173f47}
.nearby-time-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px}.nearby-time-row button{border:0;background:#eef6f1;color:#087e73;border-radius:5px;padding:6px 10px;font-size:11px}
#nearby-time{width:100%;accent-color:#087e73}#nearby-chart{max-width:590px;margin:0 auto}#nearby-status{font-size:10px;color:#6c807c;margin:0}
.nearby-bike-pin{display:grid;place-items:center;width:34px;height:34px;background:#fff;border:2px solid #087e73;border-radius:8px;color:#087e73;font-size:15px;font-weight:700;box-shadow:0 2px 8px #173f4730}.nearby-bike-pin.selected{background:#087e73;color:#fff;border-color:white}
.nearby-rail-label{font-size:11px;background:#fff;padding:3px 5px;white-space:nowrap;color:#4c626d;border-bottom:2px solid #6e8891}
@media(max-width:760px){.rail-loading{top:52px;max-width:calc(100% - 28px);width:max-content;padding:10px 12px;font-size:11px}.rail-loading .loading-wheel{width:17px;height:17px}#nearby-dialog{width:calc(100vw - 16px);max-height:94dvh;border-radius:10px}.nearby-heading{padding:12px}.nearby-heading h2{font-size:17px}.nearby-content{padding:12px}#nearby-map{height:230px}.nearby-tools label{display:none}.nearby-tools select{max-width:calc(100% - 40px)}}

.nearby-heading{position:sticky;top:0;z-index:1100;background:#fff}
#nearby-chart{max-width:490px}#nearby-map{height:230px}
.face-legend>.map-legend-heading{display:flex;align-items:center;justify-content:space-between;margin:0;gap:10px}
.face-legend .map-legend-heading>strong{font-size:12px}.face-legend .info-tooltip{left:0;right:auto;color:#fff;width:280px}
.face-legend .rating-guide-row{display:flex;gap:10px;align-items:center;margin:7px 0;font-size:11px}
.face-legend .info-tooltip a{display:block;color:#bde3d8;margin-top:6px}.face-legend .info-wrap{position:static}.face-legend .info-tooltip{top:42px}
@media(max-width:760px){.transfer-view .face-legend{width:115px;right:auto;display:block}.face-legend .map-legend-heading>strong{font-size:11px}.face-legend .info-tooltip{max-width:calc(100vw - 40px);left:0}.face-legend .rating-guide-row{font-size:11px}#nearby-map{height:210px}}

.face-legend>.map-legend-heading>strong:after{content:none!important}

/* One loading notice for the map; keep the three rating faces visible. */
.rating-legend-visible{list-style:none;padding:0;margin:10px 0 4px;display:grid;gap:12px}
.rating-legend-visible li{display:flex;align-items:center;gap:10px;font-size:11px;color:#21474d;white-space:nowrap}
.rating-legend-visible .mood-face{flex-shrink:0}
.transfer-view .rail-loading{top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}
@media(max-width:760px){
 .transfer-view .face-legend{width:auto;right:55px;padding:8px 10px}
 .face-legend>.map-legend-heading{display:none}
 .rating-legend-visible{display:flex;justify-content:space-between;gap:10px;margin:0}
 .rating-legend-visible li{gap:6px;font-size:10px}
 .transfer-view .rail-loading{top:calc(max(370px,100svh - 250px)/2);max-width:calc(100% - 28px)}
}

/* Only background tiles are faded; station markers and labels retain contrast. */
#map,#nearby-map{background:#fff}
#map .leaflet-tile-pane,#nearby-map .leaflet-tile-pane{opacity:.8}
.provider-badge{display:inline-flex;align-items:center;font-weight:700;font-size:12px;padding:7px 10px;border-radius:5px;border:1px solid #d6dfda;background:#fff;color:#254c4c}
.provider-badge[data-provider=hellocycling]{border-color:#e4cb65;background:#fff9df;color:#685412}
.provider-badge[data-provider=docomo-cycle]{border-color:#e4a5ab;background:#fff0f1;color:#a52636}
.map-provider{position:absolute;z-index:405;top:16px;left:50%;transform:translateX(-50%);box-shadow:0 2px 8px #183f4614}
.provider-picker{font-weight:700;color:#234d4c}.provider-picker select{font-weight:700!important;border-width:2px!important}
.nearby-heading .provider-badge{font-size:10px;padding:3px 7px;margin-bottom:6px}
.rail-loading{flex-wrap:wrap;justify-content:center;max-width:330px}
@media(max-width:760px){.map-provider{top:55px;left:10px;transform:none;font-size:10px;padding:5px 8px}.rail-loading{width:280px;max-width:calc(100% - 28px)}.provider-picker select{max-width:200px!important}.nearby-heading .provider-badge{margin-bottom:4px}}

#rail-load-progress{flex-basis:100%;width:100%;height:4px;accent-color:#087e73}.rail-loading small{font-size:10px;color:#657e78;line-height:1.5}

/* Service identity belongs to the selector and the detail heading, not a floating tag. */
.browse-toolbar>.provider-picker{display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:0 16px 0 12px;border-left:3px solid #d0ad35;min-width:195px;font-weight:400}
body[data-provider=docomo-cycle] .provider-picker{border-left-color:#b93646}
.provider-picker>span{font-size:10px;letter-spacing:.03em;color:#71817f;line-height:1.4}
.browse-toolbar .provider-picker select{border:0!important;border-radius:0;background-color:transparent;padding:4px 23px 4px 0!important;font-size:14px!important;color:#193f47;min-height:30px!important;max-width:none!important;font-weight:700!important;cursor:pointer;box-shadow:none}
.provider-picker:focus-within{border-left-color:#087e73}
.nearby-heading .provider-context{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.035em;color:#627773;font-weight:600;margin-bottom:5px;line-height:1.5}
.provider-context:before{content:'';width:3px;height:12px;background:#d0ad35;border-radius:1px}
.provider-context[data-provider=docomo-cycle]:before{background:#b93646}
@media(max-width:760px){.browse-toolbar>.provider-picker{min-width:0;padding-left:9px;padding-right:0}.provider-picker>span{font-size:9px}.browse-toolbar .provider-picker select{font-size:12px!important;min-height:26px!important}.nearby-heading .provider-context{font-size:10px}}
