:root{--ink:#223e34;--green:#224d3c;--green-dark:#173c2e;--muted:#7b8178;--paper:#faf9f5;--line:#e5e7df;--coral:#d66b4b;--soft:#f0f2e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button{border:0;background:none}input,select{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d89d5e;outline-offset:4px}h1,h2,p{margin:0}h2{font-weight:550}.site-header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:64px;max-width:1440px;margin:auto;padding:0 5%}.brand{display:flex;align-items:center;font-weight:700;font-size:25px;letter-spacing:-1.3px}.brand-icon{width:36px;height:40px;margin-right:9px;color:var(--green)}.brand-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8}.brand-period{color:var(--coral)}nav{display:flex;align-items:stretch;gap:30px;height:100%;font-size:12px;font-weight:550}nav>a,nav>button{padding:0;display:flex;align-items:center;position:relative;gap:7px}nav .nav-active:after{content:'';position:absolute;bottom:-1px;height:3px;background:var(--green);left:0;right:0}#saved-count{background:#eceee5;padding:2px 6px;font-size:10px;border-radius:4px}.tiny-arrow{font-size:15px}.header-note{margin-left:auto;color:var(--muted);font-size:11px;display:flex;gap:8px;align-items:center}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6e8e62}.intro{display:flex;justify-content:space-between;align-items:center;padding:48px 0 37px;gap:20px}main{max-width:1320px;padding:0 40px;margin:auto}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;display:flex;align-items:center;gap:9px}.little-line{width:20px;height:2px;background:var(--coral)}h1{font-family:'Instrument Serif',Georgia,serif;font-size:53px;font-weight:400;letter-spacing:-1.2px;line-height:1.15;margin:12px 0 10px}h1 em{color:#6e8064;font-weight:400}.intro p{color:var(--muted);font-size:12px}.coverage{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.8;padding-top:26px}.coverage small{display:block;color:var(--muted);font-size:9px}.swiss-cross{color:var(--coral);background:#f2e8dc;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:23px}.workspace{display:grid;grid-template-columns:318px minmax(0,1fr);gap:25px;align-items:start}.planner-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:23px;position:sticky;top:20px;box-shadow:0 4px 20px #243a2a03}.card-heading{display:flex;align-items:center;gap:8px;margin-bottom:25px}.card-heading h2{font-size:17px}.label-icon{font-size:24px;line-height:1}.text-button{font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.card-heading .text-button{margin-left:auto}.route-wrap{position:relative;margin-bottom:24px}.stop{position:relative;display:flex;align-items:center;gap:12px;min-height:65px}.stop:not(:last-child):before{position:absolute;left:6px;top:36px;bottom:-13px;content:'';border-left:1px dashed #b7c5b5}.stop-dot{width:14px;height:14px;border:3px solid var(--green);border-radius:50%;flex-shrink:0;z-index:1;background:#fff}.stop:not(:first-child) .stop-dot{border-color:var(--coral)}.stop-fields{flex:1;min-width:0;background:#f7f8f3;border:1px solid #e9ece2;border-radius:7px;padding:9px 12px}.stop-kicker{font-size:8px;text-transform:uppercase;letter-spacing:1.3px;color:#899080;display:flex;justify-content:space-between}.stop-name{display:block;padding:0;text-align:left;font-weight:550;font-size:12px;margin-top:4px;width:100%}.stop-remove{font-size:16px;padding:0 0 0 10px;line-height:.8;color:#8a9185}.stop-buffer{margin:3px 0 5px 26px;display:flex;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.stop-buffer input{width:44px;padding:3px;border:1px solid var(--line);border-radius:4px;background:white;font-size:10px}.add-stop{display:flex;align-items:center;gap:12px;color:var(--green);font-size:11px;padding:11px 0 0}.date-time{display:grid;grid-template-columns:1.35fr 1fr;gap:9px;margin:24px 0 20px}label{font-size:10px;color:#687364;display:block}label input{width:100%;display:block;border:1px solid var(--line);background:white;border-radius:6px;padding:11px 8px;margin-top:7px;font-size:11px;color:var(--ink)}.buffer-box{border-top:1px solid var(--line);padding-top:19px;margin-bottom:22px}.buffer-title{display:flex;justify-content:space-between;font-size:11px;font-weight:500}.info-button{border:1px solid #a1aa9c;border-radius:50%;width:13px;height:13px;font-size:8px;padding:0;color:#7e8978}.buffer-control{display:flex;align-items:center;gap:10px;padding-top:13px}.buffer-symbol{font-size:25px;color:#6e8064}.buffer-control strong{font-size:18px;font-weight:550}.buffer-control strong span{font-size:11px;font-weight:400;color:var(--muted)}.buffer-control small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.buffer-control button{border:1px solid var(--line);border-radius:5px;width:29px;height:29px;font-size:17px}.buffer-control button:first-of-type{margin-left:auto}.buffer-control button:hover{background:var(--soft)}.primary-button{width:100%;background:var(--green);color:white;border-radius:6px;padding:14px 15px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:500;transition:background .2s,transform .2s}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{background:#b8c3b2;transform:none}.primary-button span:last-child{font-size:20px;line-height:14px}.planner-note{font-size:9px;text-align:center;color:var(--muted);margin-top:10px;line-height:1.6}.slow-note{border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;margin-top:23px;padding-top:20px;font-size:10px;color:#6e7e63;line-height:1.7}.slow-note strong{font-weight:400;color:#8b9185;font-size:9px}.slow-note svg{width:28px;height:28px;stroke:#81966f;stroke-width:1.3;flex-shrink:0}.map-card{border:1px solid #dce2d5;border-radius:12px;overflow:hidden;position:relative;background:#e9ede3;aspect-ratio:1.82}.map-top{position:absolute;top:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;z-index:2;pointer-events:none}.map-tag{font-size:8px;letter-spacing:1.1px;background:#fbfcf7ed;border:1px solid #dde4d5;border-radius:4px;padding:9px 10px;display:flex;gap:7px;align-items:center}.map-region{font-size:9px;color:#84917c}#map-container{position:absolute;inset:0}#rail-map{width:100%;height:100%}.map-bottom{position:absolute;bottom:30px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.legend{display:flex;gap:15px;background:#fbfcf2dd;border:1px solid #e0e5d7;border-radius:5px;padding:9px 11px;font-size:8px}.legend span{display:flex;gap:6px;align-items:center}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral)}.legend .reach-key{background:#6f8a6c;width:6px;height:6px}.map-fit{pointer-events:auto;background:#fffdf5;border:1px solid #dbe0d3;box-shadow:0 2px 4px #20351d06;border-radius:5px;padding:7px 10px;font-size:17px;display:flex;align-items:center;gap:5px}.map-fit span{font-size:9px}.map-credit{position:absolute;right:12px;bottom:8px;font-size:7px;color:#85917d}.map-country{font-size:10px;letter-spacing:3px;fill:#a2ad97;font-family:'DM Sans',sans-serif}.map-station{cursor:pointer;outline:none}.map-station circle{transition:r .2s,fill .2s}.map-station:hover circle,.map-station:focus circle{r:8;fill:var(--coral)}.map-station text{font-family:'DM Sans',sans-serif;font-size:10px;fill:#495c45;paint-order:stroke;stroke:#edf0e7;stroke-width:4px;stroke-linejoin:round}.map-station.selected text{font-size:12px;fill:var(--ink);font-weight:650}.destinations-head{display:flex;justify-content:space-between;align-items:center;margin-top:27px;gap:12px}.eyebrow.small{font-size:8px;letter-spacing:1.4px;color:#969a8e}.destinations-head h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:29px;margin-top:6px;letter-spacing:-.3px}.heading-question{color:var(--coral)}.count-chip{font-size:9px;white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:7px 10px;color:#76836b}.board-caption{color:var(--muted);font-size:10px;margin-top:8px;line-height:1.6}.destination-controls{display:flex;gap:10px;align-items:center;margin:17px 0 14px}.filter-field{border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:8px;background:white;flex:1;padding:0 10px}.filter-field>span{font-size:22px;color:#89927f}.filter-field input{border:0;background:transparent;padding:10px 0;outline:none;font-size:10px;flex:1;width:100%}.destination-controls select{font-size:10px;padding:9px 6px;background:transparent;border:0;max-width:140px}.destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.destination-card{border:1px solid var(--line);background:white;border-radius:8px;overflow:hidden;transition:border-color .2s,transform .2s}.destination-card:hover{border-color:#a5b39b;transform:translateY(-2px)}.destination-art{height:67px;background:#e4e9da;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-start;padding:11px 12px}.destination-art svg{position:absolute;width:100%;height:100%;inset:0}.destination-country,.train-tag{position:relative;z-index:1;font-size:8px;color:#4f6547}.train-tag{background:#fafbf4c9;padding:3px 5px;border-radius:3px;font-size:7px}.destination-content{padding:12px}.destination-content h3{font-weight:550;font-size:12px;margin:0 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destination-bottom{display:flex;justify-content:space-between;align-items:center;gap:4px}.destination-meta{font-size:8px;color:var(--muted);line-height:1.7}.destination-meta strong{color:#6b7f5d;font-weight:450}.destination-add{border:1px solid #dfe5d7;border-radius:50%;width:25px;height:25px;flex-shrink:0;color:var(--green);font-size:17px;display:grid;place-items:center;padding:0}.destination-add:hover{background:var(--green);color:white}.data-note{font-size:9px;color:#90968a;line-height:1.7;margin-top:14px}.show-more{width:100%;padding:13px;color:var(--green);font-size:10px;border:1px solid var(--line);border-radius:6px;margin-top:12px;display:flex;justify-content:center;gap:10px}.show-more:hover{background:var(--soft)}.loading-state,.empty-state{grid-column:1/-1;padding:38px 15px;border:1px dashed #d5ddce;border-radius:8px;text-align:center;font-size:11px;color:var(--muted);line-height:1.7}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #d3dbcd;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite;margin-right:7px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.empty-state button{display:block;margin:12px auto 0;font-size:11px;text-decoration:underline}.station-search{margin:13px 0 0 25px;position:relative}.station-search input{display:block;width:100%;padding:11px 9px;border:1px solid #a7b69a;border-radius:5px;margin-top:7px;font-size:11px;background:white}.suggestions{background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 24px #1b38221a;margin-top:4px;max-height:220px;overflow:auto}.suggestions:empty{display:none}.suggestion{display:block;text-align:left;padding:11px;width:100%;border-bottom:1px solid #f0f2eb;font-size:11px}.suggestion:hover,.suggestion[aria-selected=true]{background:var(--soft)}.suggestion small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.suggestion-status{padding:12px;font-size:10px;color:var(--muted)}.cancel-search{margin-top:9px}.connections-section{border-top:1px solid var(--line);margin-top:35px;padding-top:27px}.results-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:15px}.results-heading h2{font-family:'Instrument Serif',Georgia,serif;font-size:32px}.results-heading p{font-size:11px;color:var(--muted);margin-top:7px}.secondary-button{border:1px solid #b7c6af;background:white;border-radius:6px;font-size:11px;padding:10px 15px}.secondary-button:hover{background:var(--soft)}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.journey-result{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.journey-result.active{border:1px solid #6e8b60;box-shadow:0 0 0 1px #6e8b60}.result-summary{padding:20px;cursor:pointer;width:100%;text-align:left}.result-tag{font-size:8px;letter-spacing:1px;color:#748768;display:block;margin-bottom:15px}.result-times{display:flex;align-items:center;justify-content:space-between;font-size:23px;font-weight:500}.result-times span{font-size:12px;color:#9ca794}.result-info{font-size:10px;color:var(--muted);margin-top:10px}.result-details{padding:0 20px 20px}.train-leg{font-size:11px;padding:12px 0;border-top:1px solid var(--line)}.train-leg header{display:flex;justify-content:space-between;font-size:9px;margin-bottom:12px;color:#89937f}.train-leg .leg-point{display:flex;gap:10px;line-height:1.8}.leg-point strong{min-width:38px;font-weight:550}.leg-point small{margin-left:auto;color:var(--muted);font-size:9px}.layover{padding:10px;background:#f1f3eb;border-radius:4px;font-size:9px;color:#748068;margin:5px 0}.journey-foot{font-size:9px;color:var(--muted);line-height:1.6;margin-top:16px}.result-actions{display:flex;gap:8px;margin-top:20px}.result-actions button{flex:1}footer{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);margin-top:50px;padding:24px 0 28px;font-size:9px;color:#959a8f}.footer-brand{font-size:15px;letter-spacing:-.8px;font-weight:650;color:#74806a}footer a{margin-left:auto;font-size:8px}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:28px;max-width:490px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 30px 100px #14302230}dialog::backdrop{background:#20332566;backdrop-filter:blur(3px)}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.modal-top h2{font-family:'Instrument Serif',Georgia,serif;font-size:30px;font-weight:400}.modal-top button{font-size:26px;padding:0 3px}#modal-content{font-size:12px;line-height:1.8;color:#77816f}#modal-content p+p{margin-top:13px}#modal-content strong{color:var(--ink);font-weight:550}#modal-content ol{padding-left:18px}#modal-content li{margin-bottom:12px}#modal-content a{text-decoration:underline}#modal-content input{width:100%;padding:11px;border:1px solid #bac6b0;border-radius:5px;background:white;margin:8px 0 16px}.saved-item{display:flex;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.saved-load{flex:1;text-align:left;padding:0}.saved-load strong{display:block}.saved-load small{font-size:10px;color:var(--muted)}.saved-delete{font-size:18px;color:#a98b78}.modal-note{font-size:10px;margin-top:16px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--green-dark);color:white;border-radius:8px;padding:13px 22px;box-shadow:0 6px 20px #18351b22;font-size:12px;opacity:0;transition:all .25s;pointer-events:none;z-index:10;max-width:calc(100vw - 30px);text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}@media(min-width:1450px){main{max-width:1400px;padding:0 50px}.workspace{grid-template-columns:340px minmax(0,1fr);gap:30px}.planner-card{padding:26px}.map-card{aspect-ratio:1.95}.destination-art{height:90px}.destination-content{padding:15px}}@media(max-width:1050px){.site-header{gap:35px;padding:0 30px}.header-note{display:none}main{padding:0 30px}.workspace{grid-template-columns:285px minmax(0,1fr);gap:20px}.planner-card{padding:19px}.coverage{display:none}h1{font-size:48px}.destinations{grid-template-columns:repeat(2,minmax(0,1fr))}.map-card{aspect-ratio:1.4}.map-region{display:none}.map-top{left:12px;top:13px}.results-grid{grid-template-columns:1fr}.result-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-details .result-actions,.result-details .journey-foot{grid-column:1/-1}}@media(max-width:720px){.site-header{height:72px;padding:0 20px;gap:20px;justify-content:space-between}.brand{font-size:22px}.brand-icon{width:30px;margin-right:5px}nav{gap:16px;font-size:10px}nav a{display:none}nav #how-nav{font-size:0}nav #how-nav span{font-size:16px}main{padding:0 20px}.intro{padding:31px 0 25px}h1{font-size:39px;letter-spacing:-.8px;max-width:350px;line-height:1.05;margin:13px 0}.intro p{font-size:11px;max-width:300px;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:1.5px}.workspace{display:flex;flex-direction:column;gap:22px}.planner-card{width:100%;position:static;padding:21px}.card-heading{margin-bottom:15px}.date-time{margin-top:18px}.slow-note{display:none}.explore-panel{width:100%}.map-card{aspect-ratio:1.3}.map-bottom{left:12px;right:12px}.map-tag{font-size:7px;padding:7px}.map-credit{font-size:5px}.destinations-head{margin-top:25px}.destinations-head h2{font-size:28px}.destination-controls{gap:5px}.destinations{gap:10px}.destination-content{padding:12px}.destination-art{height:73px}.count-chip{font-size:8px;padding:6px 8px}.destination-meta{font-size:9px}.destination-controls select{font-size:9px;max-width:120px}.results-heading h2{font-size:28px}.results-heading p{font-size:10px}.result-details{display:block}.result-summary{padding:18px}.result-times{font-size:25px}footer{flex-wrap:wrap;gap:10px;margin-top:32px}footer a{flex-basis:100%;margin:0}.data-note{font-size:8px}#toast{font-size:11px;width:max-content}.date-time input{font-size:12px}.stop-name{font-size:13px}.stop-kicker{font-size:9px}.primary-button{font-size:13px}.map-station text{font-size:12px}.map-station.selected text{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Labels remain legible when the map is shown in a narrow panel. */
.map-country{font-size:13px;letter-spacing:2px}.map-station text{font-size:15px}.map-station.selected text{font-size:19px}@media(max-width:1050px){.map-country{font-size:17px}.map-station text{font-size:19px}.map-station.selected text{font-size:24px}.map-top{right:12px}.map-station text{stroke-width:5px}}@media(max-width:720px){.map-country{font-size:15px}.map-station text{font-size:19px}.map-station.selected text{font-size:24px}}
/* Real map and European station discovery. */
.europe-icon{width:37px;height:37px;border-radius:50%;background:#e7ede1;display:grid;place-items:center;font-size:22px;color:#496d46}.map-card{aspect-ratio:auto;height:470px}.map-top{z-index:450;right:62px;pointer-events:none}.map-region{background:#fffdf2de;padding:5px;border-radius:3px}.map-bottom{z-index:450;bottom:39px;left:14px;right:14px}.legend{font-size:9px;background:#fffef5ef}.legend .origin-key{height:3px;width:16px;background:#1f7053;border-radius:0}.legend .reach-key{background:#d1744f}.map-fit{font-size:20px}.map-fit span{font-size:10px}#rail-map{height:100%;width:100%;font-family:'DM Sans',sans-serif;background:#e6ece3;isolation:isolate}.leaflet-top.leaflet-right{top:9px;right:8px}.leaflet-control-attribution{font-size:9px!important;background:#fffffff0!important;padding:3px 6px!important;max-width:100%;white-space:normal}.leaflet-control-scale{margin-bottom:7px!important}.leaflet-bar{box-shadow:0 2px 9px #28401e15!important;border:1px solid #d4dccd!important}.route-station-label{border:1px solid #b3c4a9;background:#fffcf3;color:var(--ink);box-shadow:0 2px 7px #20301812;font-size:11px;font-weight:550;padding:4px 7px}.leaflet-tooltip-top:before{border-top-color:#b3c4a9}.map-route-status{font-size:10px;color:#73806a;line-height:1.7;margin-top:9px}.map-error{position:absolute;z-index:600;bottom:76px;left:15px;right:15px;background:#fff9e6;border:1px solid #ddbb88;border-radius:6px;padding:12px;font-size:11px}.map-add{display:block;background:var(--green);color:white;border-radius:4px;padding:8px 10px;margin-top:12px;font:11px 'DM Sans',sans-serif}.choose-origin{width:100%;border:1px dashed #a8b89c;border-radius:8px;background:#f5f7ef;padding:19px 14px;text-align:left;line-height:1.6}.choose-origin strong{display:block;font-weight:500;font-size:13px}.choose-origin small{font-size:10px;color:var(--muted)}.choose-origin:hover{background:#edf2e6}.planning-zone{font-size:9px;color:var(--muted);margin:-10px 0 20px;line-height:1.5}.start-exploring{grid-column:1/-1;border:1px dashed #cdd7c3;padding:26px;border-radius:8px}.start-exploring p{font-family:'Instrument Serif',Georgia,serif;font-size:26px;margin-bottom:20px}.start-exploring>div{display:flex;flex-wrap:wrap;gap:9px}.start-exploring button{background:white;border:1px solid #dfe6d5;border-radius:5px;padding:10px;font-size:11px}.start-exploring button:hover{background:#e6eedf}.preview-route{font-size:9px;border-top:1px solid var(--line);margin-top:11px;padding:9px 0 0;color:var(--green);text-align:left;width:100%}.preview-route:hover{text-decoration:underline}.preview-route:disabled{color:var(--muted)}footer #source-info{padding:0;text-decoration:underline;font-size:8px}.destination-art{height:48px}.destination-country{font-size:8px;text-transform:uppercase}.leaflet-container a{color:#2c674c}button:disabled{opacity:.65}.primary-button:disabled{opacity:1}@media(max-width:1050px){.map-card{height:430px}.map-region{display:none}.destinations-head h2{font-size:27px}}@media(max-width:720px){.map-card{height:420px}.map-route-status{font-size:10px}.map-tag{font-size:8px}.map-top{top:16px;left:14px}.leaflet-control-attribution{font-size:8px!important}.map-bottom{bottom:40px}.destination-art{height:46px}.legend{font-size:8px;padding:8px}.map-fit{padding:8px}.map-fit span{font-size:9px}.start-exploring{padding:20px}.start-exploring p{font-size:25px}.planning-zone{font-size:10px}.preview-route{font-size:10px;padding-top:11px}.destinations-head h2{font-size:29px}footer #source-info{flex-basis:100%;text-align:left;font-size:9px}}
.destination-art{height:37px;background:#eaf0e2;align-items:center;padding:9px 12px}.destination-country{font-size:7px;letter-spacing:.9px}.train-tag{font-size:8px}.map-card .map-region{font-size:8px}.map-add:focus-visible{outline:2px solid #d89d5e}
/* Flexible stopovers and departure selection. */
.planner-card{max-height:calc(100dvh - 40px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c6d1bc transparent}.stop-pause{margin:8px 0 14px 26px;padding:11px;background:#f7f8f3;border:1px solid #e5eadf;border-radius:7px}.pause-label{font-size:10px;color:#6c7e61;margin-bottom:8px}.pause-quantity{display:grid;grid-template-columns:minmax(55px,1fr) minmax(75px,1.2fr);gap:7px}.pause-quantity input,.pause-quantity select{width:100%;padding:8px;border:1px solid #dbe2d2;border-radius:5px;background:#fff;font-size:11px}.pause-hint{font-size:9px;line-height:1.6;color:#7c8873;margin-top:8px}.stop-departure{border-top:1px solid #e0e6d9;margin-top:10px;padding-top:9px}.stop-departure summary{font-size:10px;color:var(--green);cursor:pointer;line-height:1.6}.stop-departure-fields{display:flex;flex-direction:column;gap:9px;margin-top:10px}.stop-departure label{font-size:9px}.stop-departure input{font-size:11px;margin-top:4px;padding:8px}.stop-departure small{display:block;font-size:8px;line-height:1.5;color:#829078;margin-top:9px}.clear-departure{display:block;margin-top:9px;font-size:9px}.departure-arrival{padding:13px;background:#edf2e5;border:1px solid #dce6d2;border-radius:6px;line-height:1.9;font-size:11px;margin:17px 0}.departure-dialog-fields{display:grid;grid-template-columns:1.2fr 1fr;gap:13px}.departure-dialog-fields input{margin:7px 0 0!important;font-size:13px}.departure-zone{font-size:10px;line-height:1.6;margin-top:12px;color:#7a8670}.departure-error{font-size:11px;line-height:1.5;color:#a44b2f;min-height:15px;margin:11px 0}.departure-cancel{display:block;margin:12px auto 0;font-size:11px;text-decoration:underline;color:#7a8670}.departure-question{line-height:1.8}.arrival-date{display:block;font-size:9px;font-weight:400;color:#7d8874}.result-info{line-height:1.8}.train-leg header{gap:10px;line-height:1.6}.train-leg header>span:last-child{white-space:nowrap}.layover{line-height:1.8}.buffer-control small{line-height:1.6;max-width:135px}.planner-note{line-height:1.8}@media(max-width:720px){.planner-card{max-height:none;overflow:visible}.stop-pause{padding:12px}.pause-label,.pause-hint,.stop-departure summary{font-size:11px}.pause-quantity input,.pause-quantity select,.stop-departure input{font-size:13px}.stop-departure small{font-size:10px}.stop-departure-fields{display:grid;grid-template-columns:1.3fr 1fr}.stop-departure label{font-size:10px}.departure-dialog-fields{gap:9px}.arrival-date{font-size:10px}.train-leg header{flex-wrap:wrap}}

/* Reserved, clearly labelled sponsorship spaces. Never overlay the planner. */
.sponsor-slot[hidden]{display:none!important}
.sponsor-slot{border:1px solid #dfe3d8;background:#f4f5ee;border-radius:9px;color:#52604d}
.sponsor-inline{display:flex;align-items:center;gap:24px;padding:16px 22px;margin:0 0 32px;min-height:90px}
.sponsor-label{font-size:9px;text-transform:uppercase;letter-spacing:1.3px;line-height:1.8;color:#66705f;flex-shrink:0}
.sponsor-copy{flex:1;min-width:0;line-height:1.6}
.sponsor-copy strong{display:block;font-size:13px;font-weight:500;color:#47583f}
.sponsor-copy p{font-size:11px;margin-top:3px;color:#697461;overflow-wrap:anywhere}
.sponsor-link{font-size:11px;text-decoration:underline;text-underline-offset:4px;line-height:1.6;padding:9px 0;flex-shrink:0}
.sponsor-preview{border-style:dashed;background:#f6f6f0}
.sponsor-side{display:none}
.results-heading+.sponsor-inline{margin-top:28px;margin-bottom:36px}
@media(min-width:1800px) and (min-height:650px){
  .sponsor-side{display:flex;position:fixed;top:230px;width:160px;min-height:300px;max-height:calc(100dvh - 260px);overflow-y:auto;padding:22px 18px;flex-direction:column;gap:28px;align-items:flex-start;z-index:5}
  .sponsor-side .sponsor-copy{flex:none}
  .sponsor-side .sponsor-copy strong{font-family:'Instrument Serif',Georgia,serif;font-size:25px;line-height:1.15;font-weight:400}
  .sponsor-side .sponsor-copy p{margin-top:14px;font-size:11px;line-height:1.9}
  .sponsor-side .sponsor-link{margin-top:auto;text-align:left}
  .sponsor-left{left:calc(50% - 884px)}.sponsor-right{right:calc(50% - 884px)}
}
@media(max-width:720px){
  .sponsor-inline{flex-wrap:wrap;gap:9px 16px;padding:15px 17px;margin-bottom:24px;min-height:120px}
  .sponsor-inline .sponsor-label{flex-basis:100%;font-size:8px}
  .sponsor-inline .sponsor-copy strong{font-size:12px}.sponsor-inline .sponsor-copy p{font-size:10px}
  .sponsor-inline .sponsor-link{font-size:10px}
}
@media print{.sponsor-slot{display:none!important}}

.search-privacy{font-size:10px;line-height:1.7;color:var(--muted);margin:8px 0}.search-privacy a{text-decoration:underline;text-underline-offset:2px}

.departure-card-date{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:3px}

/* A destination outside the sampled direct trains can still be added. */
.european-stations{margin:-4px 0 20px;border:1px solid #dce4d4;border-radius:8px;background:#fff;overflow:hidden}
.station-search-heading{padding:15px 17px;background:#f0f4e9;line-height:1.7}
.station-search-heading strong{display:block;font-size:12px;font-weight:500}
.station-search-heading>span{display:block;font-size:10px;color:var(--muted)}
.station-search-status{padding:17px;font-size:11px;line-height:1.7;color:var(--muted)}
.european-station{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px;border-top:1px solid var(--line);text-align:left}
.european-station:hover{background:#f6f8f1}.european-station:focus-visible{outline:2px solid var(--green);outline-offset:-3px}
.european-station strong{display:block;font-size:12px;font-weight:500}.european-station small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.station-add-label{font-size:11px;color:var(--green);flex-shrink:0}
@media(max-width:720px){.european-station{padding:15px;gap:10px}.european-station strong{font-size:13px}.station-search-heading>span,.european-station small{font-size:10px}}

/* Keep planner controls aligned independently of font glyph metrics. */
.choose-origin{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;min-height:86px;padding:14px 12px;line-height:1.45;appearance:none;-webkit-appearance:none}
.origin-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8eee1;color:#6b855e}
.origin-icon svg{display:block;width:19px;height:19px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.origin-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.choose-origin strong{font-size:13px;font-weight:550;line-height:1.4;overflow-wrap:break-word}
.choose-origin small{display:block;font-size:10px;line-height:1.55;overflow-wrap:break-word}
.add-stop{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 0;margin-top:6px;text-align:left;line-height:1.5;border-radius:6px;appearance:none;-webkit-appearance:none}
.add-stop:hover{background:#f5f7ef}
.add-stop-icon{display:block;flex:0 0 14px;width:14px;height:14px;overflow:visible;stroke:#9dab93;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.add-stop-icon path{stroke:var(--green);stroke-width:1.5}
.add-stop-label{display:block;min-width:0}
.slow-note{align-items:flex-start;gap:10px;line-height:1.6}
.slow-note svg{display:block;flex:0 0 25px;width:25px;height:25px;margin-top:1px;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.slow-note-copy{display:block;min-width:0}
.slow-note-copy>span,.slow-note-copy strong{display:block}
.slow-note-copy strong{margin-top:4px;line-height:1.6}
@media(max-width:720px){.choose-origin{grid-template-columns:34px minmax(0,1fr);min-height:84px}.choose-origin strong{font-size:13px}.choose-origin small{font-size:11px}.add-stop{font-size:12px;min-height:44px}}

/* Ad units have a reserved height and never sit over journey controls. */
.sponsor-network.sponsor-inline{padding:14px 22px;min-height:136px;background:#fafaf6;border-style:solid;justify-content:center}
.ad-content{width:100%;min-width:0;text-align:center}
.ad-content>.sponsor-label{display:block;font-size:8px;line-height:16px;margin-bottom:8px;color:#727d6b}
.ad-content>.adsbygoogle{margin:0 auto;max-width:970px}
.sponsor-network.sponsor-side{position:absolute;padding:10px 0;top:360px;min-height:644px;max-height:none;overflow:visible;background:#fafaf6;pointer-events:auto}
#ad-consent-settings[hidden]{display:none}
@media(max-width:720px){.sponsor-network.sponsor-inline{padding:12px 8px;min-height:132px}}

.timetable-attribution{font-size:10px;color:#6d7864;line-height:1.8;margin:34px 0 0}.timetable-attribution a{text-decoration:underline;text-underline-offset:3px}

.beta-notice{display:flex;align-items:center;gap:18px;padding:18px 22px;margin:0 0 26px;border:1px solid #dce4d3;border-radius:12px;background:#edf2e7;color:#294b3c;font-size:14px;line-height:1.6}.beta-notice strong{flex-shrink:0}.beta-notice span{flex:1}.beta-notice a{color:inherit;white-space:nowrap;text-underline-offset:4px}@media(max-width:760px){.beta-notice{align-items:flex-start;flex-direction:column;gap:6px;padding:16px}.header-note{font-size:11px}}
