/* DADS-informed typography, visible focus and text-only loading status. */
:root{--ui-ink:#172f37;--ui-muted:#52666c;--ui-line:#b8c6c9;--ui-accent:#006b61}
body{font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:16px;line-height:1.5;color:var(--ui-ink)}
button,input,select,textarea{font:inherit;color:inherit}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #111!important;outline-offset:3px;box-shadow:0 0 0 6px #ffdf35!important}
button,a,select,input{touch-action:manipulation}
button,select,input:not([type=range]){min-height:44px}


.skip-link{position:fixed;top:-100px;left:12px;z-index:3000;background:white;padding:12px}.skip-link:focus{top:12px}
.site-header{min-height:76px;padding:12px 24px;gap:24px;box-shadow:none;border-bottom:1px solid #d4dfe1}.site-header nav{gap:24px}.site-header nav button{font-size:16px;min-height:48px}.header-contact{font-size:14px;padding:10px 14px;border-color:#859d9e}.brand small{font-size:10px}
.browse-toolbar{padding:14px 24px;gap:16px;background:#fff;align-items:center;border-bottom:1px solid #bccbd0}
.browse-toolbar>.provider-picker{border:0;padding:0;gap:5px;min-width:225px}.provider-picker>span{font-size:14px;color:var(--ui-muted);letter-spacing:0}
.browse-toolbar .provider-picker select{border:1px solid #879c9f!important;border-left:4px solid #be9200!important;border-radius:5px;background:#fff;padding:8px 30px 8px 12px!important;font-size:16px!important;min-height:48px!important}
body[data-provider=docomo-cycle] .browse-toolbar .provider-picker select{border-left-color:#af3042!important}
.map-search-controls{align-self:flex-end;gap:8px}.map-search-controls .search-field input{min-height:48px;font-size:16px;border:1px solid #879c9f;background:#fff;border-radius:5px}.map-search-controls .area-controls select{min-height:48px;width:90px;font-size:16px}.map-search-controls #locate{font-size:14px;min-height:48px}
.rail-period-control .rail-filter-bar{border:1px solid #8aa2a4;padding:3px;border-radius:6px;background:#f3f6f6;gap:2px}.rail-period-control .rail-filter-bar button{font-size:16px;min-width:44px;min-height:44px;border-radius:3px}.rail-period-control .rail-filter-bar button[aria-pressed=true]{background:#006b61;box-shadow:none;text-decoration:underline;text-underline-offset:5px}.rail-period-control p{font-size:14px;color:var(--ui-muted);margin:3px 0 0}
.browse-toolbar #range-label{font-size:14px;color:var(--ui-muted)}#refresh-data{font-size:14px}
.transfer-view .map-layout{height:max(580px,calc(100dvh - 237px))}.transfer-view .face-legend{width:210px;border-radius:6px;padding:12px 16px;box-shadow:0 2px 6px #172f3714}.face-legend .map-legend-heading>strong{font-size:16px}.rating-legend-visible li{font-size:14px;gap:12px}.face-legend .rail-filter-select{font-size:14px;color:var(--ui-muted)}.face-legend .rail-filter-select select{font-size:14px;min-height:44px;border:1px solid #879c9f}
.transfer-view .rail-label{border-radius:8px;box-shadow:0 2px 5px #172f3720}.rail-pin-copy>strong{font-size:14px}.rail-pin-copy .rail-axis{font-size:12px}.rail-pin-copy .rail-pair{gap:8px}.rail-no-ports-label{font-size:14px}
.transfer-view #rail-detail{width:400px;padding:16px 20px;border-radius:6px}.transfer-view #rail-detail h2{font-size:24px}.transfer-view #rail-detail .detail-heading button,#nearby-close{width:44px;height:44px;min-height:44px;border-radius:4px;background:#eff4f3;font-size:26px}
.transfer-view #rail-ports-summary.nearby-trigger{font-size:14px;color:#006b61;min-height:44px;text-decoration:underline;margin:0 0 8px}.transfer-view #rail-detail-period{font-size:14px;color:var(--ui-muted)}.rail-dual-rating h3{font-size:16px!important}.transfer-view .rail-dual-rating .event-percent{font-size:30px;letter-spacing:0}.transfer-view #rail-score-note,.transfer-view #rail-total,.evidence-note,.transfer-view .rail-method,.rail-point{font-size:14px!important;line-height:1.5}.transfer-view .rail-chart-heading h3{font-size:16px}.info-button{min-width:44px;min-height:44px;color:#345b61}.info-tooltip,.gap-tooltip{font-size:14px;line-height:1.6}.face-legend .rating-guide-row{font-size:14px}
.transfer-view .rail-loading{width:340px;max-width:calc(100% - 32px);border-radius:6px;padding:18px;gap:10px;font-size:16px;color:#173f47;border:1px solid #8ba3a2;box-shadow:0 4px 18px #173f4720}.rail-loading small{font-size:14px;color:var(--ui-muted)}.rail-loading .loading-wheel{display:none}#rail-load-progress{display:none}.transfer-view .time-console{display:none}
#nearby-dialog{border-radius:8px;width:min(860px,calc(100vw - 32px))}.nearby-heading{padding:12px 20px;align-items:flex-start}.nearby-heading h2{font-size:24px}.nearby-heading p,.nearby-heading .provider-context{font-size:14px;color:var(--ui-muted)}.nearby-tools label,.nearby-tools select,.nearby-time-row,.nearby-time-row button,#nearby-status{font-size:14px}.nearby-tools select{min-height:44px;border-color:#879c9f}.nearby-rail-label{font-size:14px}#nearby-map{height:260px}input[type=range]{min-height:32px;accent-color:#006b61}
.site-footer,.site-footer a{font-size:14px;line-height:1.7}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.archive-intro p,.request-note,.calendar-caption,.calendar-section label,.archive-request label{font-size:16px;line-height:1.7}.archive-request details,.calendar-section small{font-size:14px}
@media(max-width:1100px){.browse-toolbar #range-label{display:none}.transfer-view #rail-detail{width:360px}.site-header{gap:16px}.site-header nav{gap:14px}.map-search-controls{flex-basis:40%}}
@media(max-width:760px){
 .site-header{padding:10px 12px;gap:8px;flex-wrap:wrap;min-height:0}.site-header .brand{margin:0}.site-header nav{order:3;width:100%;justify-content:space-between;gap:8px}.site-header nav button{font-size:14px;padding:8px 2px;min-height:44px}.header-contact{margin-left:auto;font-size:14px;padding:8px}.brand span{font-size:21px}.brand img{width:36px;height:36px}
 .browse-toolbar{padding:10px 12px;gap:10px}.browse-toolbar>.provider-picker{min-width:0;flex:1;gap:3px}.provider-picker>span{font-size:14px}.browse-toolbar .provider-picker select{font-size:16px!important;min-height:44px!important;width:100%}.browse-toolbar #refresh-data{font-size:14px;align-self:flex-end;min-height:44px}.map-search-controls{flex-basis:100%;order:2;width:100%;gap:8px;flex-wrap:nowrap}.map-search-controls .search-field{min-width:0;flex:1}.map-search-controls .area-controls select{width:72px;font-size:14px}.map-search-controls #locate{font-size:0;min-width:44px}.transfer-view .browse-toolbar .rail-period-control{order:3;width:100%;flex-basis:100%}.rail-period-control .rail-filter-bar button{font-size:16px;min-height:44px}.rail-period-control p{display:none}
 .transfer-view .map-layout{height:auto;min-height:0;padding-top:max(430px,calc(100svh - 325px))}.transfer-view .map-frame,.transfer-view #map{height:max(430px,calc(100svh - 325px));min-height:430px}.transfer-view .face-legend{left:8px;right:8px;top:8px;width:auto;padding:10px;max-width:none}.rating-legend-visible{gap:8px}.rating-legend-visible li{font-size:14px;gap:6px}.transfer-view .leaflet-control-zoom{margin-top:65px!important}.transfer-view #rail-detail{position:relative;top:auto;bottom:auto;right:auto;width:100%;padding:16px;border-radius:0;max-height:none}.transfer-view .rail-loading{top:210px;width:310px}.transfer-view.rail-searching .search-panel{top:60px;max-height:350px}.transfer-view.rail-searching .station-name{font-size:16px}.transfer-view.rail-searching .station-subline{font-size:14px}.nearby-heading{padding:12px}.nearby-content{padding:12px}.nearby-heading h2{font-size:20px}#nearby-dialog{width:calc(100vw - 16px)}#nearby-map{height:230px}.nearby-time-row{gap:8px}.nearby-time-row button{white-space:nowrap}.site-footer{padding:16px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
/* Keep acquisition failures and their retry action reachable. */
.transfer-view .time-console{display:block;left:240px;right:auto;bottom:12px;max-width:calc(100% - 680px);font-size:14px}.transfer-view .preparation{font-size:14px}.transfer-view .preparation progress{display:none}
@media(max-width:760px){.transfer-view .time-console{left:8px;right:8px;top:calc(max(430px,100svh - 325px) - 58px);bottom:auto;max-width:none;height:auto;min-height:44px}.transfer-view .preparation{font-size:14px}}
#nearby-dialog .nearby-heading{height:auto;min-height:100px;flex-shrink:0;gap:16px}.nearby-heading>div{min-width:0}.nearby-heading p{margin-bottom:0}.nearby-heading button{flex-shrink:0}
@media(max-width:760px){.site-header .brand{width:auto}.transfer-view .time-console,.transfer-view .map-layout:has(.station-detail:not([hidden])) .time-console{top:calc(max(430px,100svh - 325px) - 58px);left:8px;right:8px;max-width:none}}

