.td-rail-app{--tdr-blue:#007cae;--tdr-ink:#203545;--tdr-muted:#647582;--tdr-line:#dae4e9;--tdr-soft:#f3f7f9;box-sizing:border-box;max-width:1120px;margin:24px auto;color:var(--tdr-ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.65;background:#fff;isolation:isolate}
.td-rail-app *{box-sizing:border-box}.td-rail-app [hidden]{display:none!important}.td-rail-app h2,.td-rail-app h3,.td-rail-app p,.td-rail-app ul{margin:0;padding:0;background:none;border:0;color:inherit;box-shadow:none;letter-spacing:normal}.td-rail-app h2:before,.td-rail-app h2:after,.td-rail-app h3:before,.td-rail-app h3:after{content:none!important}.td-rail-app h2{font-size:30px;font-weight:750;line-height:1.5}.td-rail-app h3{font-size:20px;font-weight:700}.td-rail-app p{margin:.5em 0}.td-rail-app a{color:#006e9d;text-decoration:underline;text-underline-offset:3px}.td-rail-app button,.td-rail-app input,.td-rail-app select{font:inherit;color:inherit;border:1px solid #b9cbd5;border-radius:6px;background:#fff;box-shadow:none;margin:0;letter-spacing:normal}.td-rail-app button{cursor:pointer;padding:9px 14px;min-height:42px;line-height:1.4;transition:background .12s,border-color .12s}.td-rail-app button:hover{background:#edf6fa;border-color:#007cae}.td-rail-app :is(button,a,input,select,summary):focus-visible{outline:3px solid #009edd;outline-offset:3px}.td-rail-app input,.td-rail-app select{width:100%;padding:11px 12px;min-height:46px;min-width:0}.td-rail-app input::placeholder{color:#798995}.td-rail-app label{display:block;font-weight:650;min-width:0}.td-rail-app label input,.td-rail-app label select,.td-rail-app label .tdr-input-row{margin-top:7px}.td-rail-app label small{font-weight:400;color:var(--tdr-muted)}.td-rail-app .tdr-primary{background:var(--tdr-blue);border-color:var(--tdr-blue);color:#fff;font-weight:700}.td-rail-app .tdr-primary:hover{background:#005f88}.td-rail-app .tdr-eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:var(--tdr-blue);margin:0 0 4px}.tdr-header{border-top:5px solid #00aaff;padding:26px 28px 22px;display:flex;align-items:flex-start;justify-content:space-between;background:linear-gradient(110deg,#f0f8fb,#fff 78%)}.tdr-header>div>p:last-child{color:var(--tdr-muted);font-size:14px}.tdr-beta{font-size:12px;border:1px solid #bbdce9;padding:4px 10px;border-radius:30px;white-space:nowrap;color:#00749e;margin:8px 0 0 12px}.tdr-notice{padding:13px 20px;border:1px solid #e7d8af;background:#fffbef;display:flex;flex-wrap:wrap;gap:5px 14px;font-size:12px;color:#5c4b24}.tdr-notice strong{white-space:nowrap}.tdr-notice a{margin-left:auto}.tdr-tabs{display:flex;margin:25px 0 0;border-bottom:2px solid var(--tdr-blue);gap:6px}.td-rail-app .tdr-tabs button{flex:1;border-radius:7px 7px 0 0;border-color:var(--tdr-line);border-bottom:0;font-weight:700;padding:15px 10px;background:#f1f5f7}.td-rail-app .tdr-tabs button[aria-pressed=true]{background:var(--tdr-blue);color:white;border-color:var(--tdr-blue)}.td-rail-app section[data-panel]{padding-top:23px}.tdr-filters{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;background:var(--tdr-soft);padding:22px;border:1px solid var(--tdr-line);border-radius:8px;font-size:13px}.tdr-kana{display:flex;gap:5px;flex-wrap:wrap;margin:18px 0}.td-rail-app .tdr-kana button{min-height:36px;padding:6px 13px;font-size:13px}.td-rail-app .tdr-kana button[aria-pressed=true]{background:#e2f2f9;border-color:#0094c9;font-weight:700;color:#006b97}.td-rail-app .tdr-kana .tdr-reset{margin-left:auto;border:0;text-decoration:underline;background:none;color:var(--tdr-muted)}.tdr-list-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 4px;border-bottom:2px solid #425b6b}.tdr-list-head>span{font-size:12px;color:var(--tdr-muted)}.tdr-list-head>strong{font-size:18px}.tdr-station{display:grid;grid-template-columns:1.1fr 1.7fr auto;gap:16px;align-items:center;padding:17px 6px;border-bottom:1px solid var(--tdr-line)}.td-rail-app .tdr-station-name{text-align:left;border:0;background:none;padding:0 5px;display:flex;flex-direction:column;justify-content:center}.tdr-station-name small{font-size:11px;color:var(--tdr-muted)}.tdr-station-name strong{font-size:19px;font-weight:700;color:#006d9c}.tdr-members{display:flex;flex-wrap:wrap;gap:9px 16px}.tdr-members>span{display:flex;align-items:center;gap:8px;font-size:13px}.tdr-members small{display:block;font-size:10px;color:var(--tdr-muted);line-height:1.2}.tdr-code{display:inline-grid;place-items:center;min-width:32px;height:30px;padding:2px 6px;background:#fff;border:2px solid var(--line);border-radius:5px;font-size:12px;font-weight:800;line-height:1;color:#263b49;flex-shrink:0}.tdr-station-actions{display:flex;gap:6px}.td-rail-app .tdr-station-actions button{font-size:12px;color:#006f9e;padding:8px 10px}.tdr-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:15px;background:#e7f5fb;border-left:4px solid #009aca}.tdr-picker span{font-weight:700}.tdr-route-form{padding:24px;border:1px solid var(--tdr-line);border-radius:8px;background:var(--tdr-soft)}.tdr-endpoints{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:end}.tdr-input-row{display:flex;background:#fff;border-radius:6px;gap:0}.td-rail-app .tdr-input-row input{margin-top:0;border-radius:6px 0 0 6px;border-right:0;flex:1}.td-rail-app .tdr-input-row button{border-radius:0 6px 6px 0;white-space:nowrap;font-size:12px;color:#006e9d;padding:8px}.td-rail-app .tdr-swap{font-size:23px;line-height:1;height:46px;min-width:46px}.tdr-route-options{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;align-items:end;margin-top:20px}.tdr-route-options>button{height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tdr-hint{font-size:12px;color:var(--tdr-muted)!important;margin:16px 0 0!important}.tdr-empty{text-align:center;padding:45px 20px;border-bottom:1px solid var(--tdr-line)}.tdr-empty p{color:var(--tdr-muted);font-size:14px}.tdr-empty-icon{display:block;margin:0 auto 12px;color:#91b2c3;font-size:45px;line-height:1}.tdr-error{margin-top:16px;background:#fff0ed;border-left:4px solid #b73820;padding:14px 18px;color:#9b2716}.tdr-results-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0 18px}.tdr-results-head p{font-size:12px;color:var(--tdr-muted)}.tdr-results-head h3 span{color:#7e9daf;margin:0 6px}.tdr-results-head>div:last-child{display:flex;gap:7px;white-space:nowrap}.tdr-results-head button{font-size:12px}.tdr-route-card{border:1px solid #c9d9e2;border-radius:8px;overflow:hidden;margin:0 0 20px;background:#fff}.tdr-route-summary{display:flex;justify-content:space-between;gap:20px;padding:17px 22px;background:#f0f7fb;border-bottom:1px solid #d6e5ed}.tdr-route-summary>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.tdr-route-summary>div:first-child>span:last-child{font-size:13px}.tdr-result-number{font-size:12px;font-weight:750;color:#00739c;white-space:nowrap}.tdr-fare{display:grid;grid-template-columns:auto auto;column-gap:18px;align-items:baseline;white-space:nowrap;font-size:12px}.tdr-fare strong{font-size:30px;color:#006c98;font-weight:800}.tdr-fare b{font-size:19px;font-weight:750}.tdr-fare small{grid-column:1/-1;text-align:right;font-size:10px;color:var(--tdr-muted)}.tdr-route-body{padding:22px 26px}.tdr-leg+.tdr-leg{margin-top:16px}.tdr-stop{display:flex;align-items:center;gap:13px;min-height:34px}.tdr-stop>span{display:block;width:14px;height:14px;border:3px solid var(--line);border-radius:50%;background:white;flex-shrink:0}.tdr-stop strong{font-size:18px}.td-rail-app .tdr-stop button{margin-left:auto;font-size:11px;min-height:30px;padding:4px 9px}.tdr-leg-detail{border-left:5px solid var(--line);margin-left:4px;padding:12px 0 12px 20px;display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap}.tdr-leg-detail>small{width:100%;color:var(--tdr-muted);font-size:11px}.tdr-leg-detail details{width:100%;font-size:12px}.tdr-leg-detail details p{line-height:2.1;color:var(--tdr-muted)}.td-rail-app summary{cursor:pointer;list-style:revert}.tdr-walk{padding:12px;color:var(--tdr-muted);border-left:3px dashed #abbcc6;margin:10px 0}.tdr-calculation{padding:13px 22px;background:#fafcfd;border-top:1px solid #e5ecf0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px}.tdr-calculation small{width:100%;color:#865c16}.tdr-footnote{font-size:12px;color:var(--tdr-muted)}.tdr-guide{margin-top:32px;border:1px solid var(--tdr-line);border-radius:7px}.tdr-guide>summary{padding:15px 20px;font-weight:650;background:#f6f9fa;font-size:14px}.tdr-guide-body{padding:22px;font-size:13px}.tdr-guide-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:28px;margin-top:20px}.td-rail-app .tdr-guide h3{font-size:16px;margin:14px 0 8px}.td-rail-app table{width:100%;border-collapse:collapse;font-size:12px;margin:8px 0}.td-rail-app th,.td-rail-app td{padding:7px 10px;border-bottom:1px solid var(--tdr-line);text-align:left;background:none}.td-rail-app th{background:#eef4f7}.td-rail-app td:last-child{text-align:right}.td-rail-app .tdr-guide ul{padding-left:20px;list-style:disc}.td-rail-app .tdr-guide li{margin:8px 0}.tdr-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--tdr-line);margin-top:25px;padding:15px 2px;font-size:11px;color:var(--tdr-muted)}.td-rail-app .tdr-dialog{border:0;border-radius:12px;box-shadow:0 20px 70px #20354540;padding:28px;width:min(560px,94vw);max-height:85vh;overflow:auto;color:var(--tdr-ink)}.tdr-dialog::backdrop{background:#20354580}.td-rail-app .tdr-dialog h3{font-size:28px}.tdr-station-detail{margin:20px 0;border-top:1px solid var(--tdr-line);padding-top:16px;font-size:13px}.tdr-station-detail>.tdr-code{margin-right:10px}.tdr-neighbors{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.tdr-dialog-actions{display:flex;gap:12px}.tdr-dialog-close{margin-top:20px!important;width:100%}.td-rail-app script{display:none}
@media(max-width:760px){.td-rail-app{font-size:14px;margin:12px auto}.tdr-header{padding:20px 16px}.td-rail-app h2{font-size:24px}.tdr-header>div>p:last-child{font-size:12px}.tdr-beta{font-size:10px;margin-left:5px;padding:3px 6px}.tdr-notice{padding:10px 13px}.tdr-filters{grid-template-columns:1fr 1fr;padding:15px;gap:12px}.tdr-wide{grid-column:1/-1}.tdr-station{grid-template-columns:1fr auto;gap:10px;padding:15px 3px}.tdr-members{grid-row:2;grid-column:1/-1}.tdr-station-actions{grid-column:2;grid-row:1}.tdr-station-name strong{font-size:18px}.tdr-members>span{font-size:12px}.tdr-list-head>span{font-size:10px}.tdr-route-form{padding:16px}.tdr-endpoints{grid-template-columns:1fr;gap:10px}.td-rail-app .tdr-swap{justify-self:end;min-height:32px;height:32px;transform:rotate(90deg);padding:3px 9px;margin:-1px 5px}.tdr-route-options{grid-template-columns:1fr;gap:13px;margin-top:18px}.tdr-route-options>button{margin-top:5px}.tdr-results-head{align-items:flex-start;flex-direction:column;gap:10px}.tdr-route-summary{flex-direction:column;gap:8px;padding:14px 16px}.tdr-fare{display:flex;flex-wrap:wrap;gap:8px 18px}.tdr-fare small{margin-left:auto}.tdr-route-body{padding:18px 16px}.tdr-calculation{padding:12px 16px}.tdr-guide-grid{grid-template-columns:1fr}.tdr-guide-body{padding:16px}.tdr-kana{gap:4px}.td-rail-app .tdr-kana button{padding:6px 10px}.tdr-picker{align-items:flex-start;font-size:13px}.tdr-picker button{font-size:11px;white-space:nowrap}.tdr-footer{font-size:10px}.tdr-stop strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.td-rail-app *{transition:none!important}}
@media print{body *{visibility:hidden}.td-rail-app,.td-rail-app *{visibility:visible}.td-rail-app{position:absolute;inset:0;max-width:none;margin:0}.tdr-tabs,.tdr-filters,.tdr-kana,.tdr-route-form,.tdr-guide,.tdr-dialog,.td-rail-app button,[data-panel=stations],.tdr-results-head>div:last-child{display:none!important}.tdr-route-card{break-inside:avoid}.tdr-header{padding:8px}.tdr-route-summary,.tdr-code{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
/* Version 0.2: station page links, compact results and searchable station choices. */
.td-rail-app .tdr-station-name{display:flex;flex-direction:column;justify-content:center;text-decoration:none;padding:0 5px;min-height:44px}.td-rail-app a.tdr-station-name:hover strong{text-decoration:underline}.tdr-stop .tdr-station-jump{margin-left:auto;font-size:11px;white-space:nowrap}.td-rail-app details.tdr-calculation{display:block}.tdr-calculation>summary{font-weight:650}.tdr-calculation>div{padding-top:8px}.tdr-version{font-size:10px;color:#718391;margin-left:14px}.tdr-combo{position:relative;flex:1;min-width:0}.tdr-combo>input{width:100%}.td-rail-app ul.tdr-suggestions{position:absolute;z-index:30;top:100%;left:0;right:0;max-height:310px;overflow:auto;background:#fff;border:1px solid #adc8d5;box-shadow:0 10px 25px #243f5220;border-radius:6px;margin:5px 0 0;padding:4px;list-style:none;font-weight:400}.td-rail-app .tdr-suggestions li{cursor:pointer;padding:10px 11px;margin:0;border-bottom:1px solid #e5eef2;font-size:14px}.tdr-suggestions li[aria-selected=true],.tdr-suggestions li:hover{background:#e9f5fc}.tdr-suggestions li strong{display:inline-block;margin-right:12px}.tdr-suggestions li small{font-size:11px}.tdr-suggestions li>span{display:block;margin-top:5px;color:#5b7380;font-size:11px}.tdr-suggestions .tdr-code{height:23px;min-width:27px;font-size:10px}.td-rail-app .tdr-link-primary,.tdr-station-links>a{display:inline-block;border:1px solid #007cae;border-radius:6px;padding:10px 16px;text-decoration:none;font-weight:650;min-height:44px}.td-rail-app .tdr-link-primary{background:#007cae;color:#fff}.tdr-station-links{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.tdr-station-page{padding:0;margin:20px 0}.tdr-station-page h2{font-size:23px}.tdr-station-page h3{font-size:18px}.tdr-notice{background:#f5f9fb;border-color:#dbe7ed;color:#546c7b}.tdr-tabs{margin-top:18px}
@media(max-width:760px){.tdr-suggestions li>span{line-height:2}.tdr-suggestions{max-height:260px!important}.tdr-footer{flex-wrap:wrap}.tdr-version{margin-left:8px}}
