/* Transport uses the site's Golos Text / Philosopher and shared palette. */
.atlas-layout{grid-template-columns:310px minmax(0,1fr)}
.atlas-aside{padding:0 0 16px}.atlas-aside #atlas-area-panel{padding:0 12px}
.tr-tabs{display:grid;grid-template-columns:1.3fr 1fr;border-bottom:1px solid var(--line);margin-bottom:17px}
.tr-tabs button{font:inherit;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-2);cursor:pointer;padding:13px 7px;font-size:.84rem;min-height:45px}
.tr-tabs button[aria-selected=true]{color:var(--accent-2);border-bottom-color:var(--accent);background:var(--panel)}
.tr-tabs button:focus-visible{outline:2px solid var(--teal);outline-offset:-3px}
.tr-panel{padding:0 17px;min-width:0}.tr-heading{display:flex;gap:10px;align-items:center;justify-content:space-between}.tr-heading h2{font-size:1.2rem}
.tr-eyebrow{font-family:var(--font);color:var(--accent);font-size:.62rem;letter-spacing:.13em;font-weight:600}.tr-subtitle{color:var(--text-2);font-size:.78rem;line-height:1.65;margin:8px 0 17px}
.tr-field{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;color:var(--text-2);font-size:.78rem;margin-bottom:18px}
.tr-field select{width:100%;min-width:0;font:inherit;background:var(--panel);color:var(--text);border:1px solid var(--line-2);border-radius:5px;padding:9px}
.tr-endpoint{position:relative;min-width:0}.tr-endpoint>label{display:flex;gap:7px;align-items:center;font-size:.76rem;color:var(--text-2);margin-bottom:6px}
.tr-letter{display:inline-grid;place-items:center;border:1px solid var(--teal);border-radius:4px;width:20px;height:20px;font-size:.74rem;color:var(--teal-2);background:#48b2a619}.tr-letter.is-b{border-color:var(--accent-dim);color:var(--accent-2);background:#e0b25b15}
.tr-endpoint input{display:block;width:100%;max-width:100%;min-width:0;background:var(--bg);border:1px solid var(--line-2);color:var(--text);font:inherit;font-size:16px;border-radius:6px;padding:11px 10px;outline:none}
.tr-endpoint input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e0b25b15}.tr-endpoint input::placeholder{color:var(--text-3);font-size:.76rem}
.tr-swap-row{display:flex;justify-content:flex-end;padding:6px 0}.tr-text-button{font:inherit;background:none;border:0;color:var(--accent-2);padding:4px 0;text-align:left;cursor:pointer;font-size:.72rem;line-height:1.5}.tr-text-button:hover{text-decoration:underline}.tr-text-button:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.tr-suggestions{position:absolute;z-index:10;top:100%;left:0;right:0;margin-top:5px;border:1px solid var(--line-2);border-radius:6px;background:var(--bg-2);box-shadow:var(--shadow);max-height:280px;overflow-y:auto;scrollbar-color:var(--line-2) var(--bg)}
.tr-option{font-size:.8rem;line-height:1.5;color:var(--text);padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.tr-option:last-child{border:0}.tr-option small{display:block;font-size:.66rem;color:var(--text-2);margin-top:3px}.tr-option:hover,.tr-option[aria-selected=true]{background:var(--panel-2);color:var(--accent-2)}.tr-no-results{padding:12px;font-size:.78rem;color:var(--text-2);line-height:1.5}
.tr-modes{border:0;padding:0;margin:17px 0 13px;display:flex;gap:6px;flex-wrap:wrap}.tr-modes legend{font-size:.72rem;color:var(--text-2);padding:0 0 6px}.tr-modes label{font-size:.7rem;display:flex;align-items:center;gap:4px;padding:6px 5px;background:var(--panel);border:1px solid var(--line);border-radius:4px;cursor:pointer;min-height:32px}.tr-modes input,.tr-options input,.tr-map-toggles input{accent-color:var(--accent);margin:0;width:14px;height:14px;flex:none}
.tr-actions{display:flex;gap:7px}.tr-actions #tr-build{flex:1;justify-content:center;font-size:.85rem;min-height:42px}.tr-actions #tr-clear{font-size:1.2rem;min-width:40px;justify-content:center}
.tr-options{font-size:.73rem;color:var(--text-2);margin-top:13px;line-height:1.5}.tr-options summary{cursor:pointer;color:var(--text-2)}.tr-options label{display:flex;gap:7px;align-items:flex-start;margin-top:12px}.tr-options input{margin-top:3px}.tr-options p{font-size:.67rem;color:var(--text-3);margin-top:10px}
.tr-result{margin-top:19px}.tr-idle{padding:12px 0;border-top:1px solid var(--line);color:var(--text-2);font-size:.77rem;line-height:1.7}.tr-notice{border:1px solid var(--accent-dim);background:#e0b25b0a;border-radius:6px;color:var(--text-2);font-size:.77rem;line-height:1.7;padding:12px;margin:9px 0}
.tr-summary{border-top:1px solid var(--line);padding-top:16px}.tr-summary h3{font-size:1.03rem;margin:8px 0 12px;line-height:1.4}.tr-duration{display:block;color:var(--teal-2);font-size:1.18rem;font-weight:500;line-height:1.4}.tr-summary>p{color:var(--text-2);font-size:.69rem;line-height:1.6;margin-top:5px}.tr-metrics{display:flex;flex-wrap:wrap;gap:6px 12px;margin:12px 0 7px;font-size:.68rem;color:var(--text-2)}
.tr-steps{list-style:none;margin:14px -5px 0 0;padding:0 5px 0 0;max-height:410px;overflow-y:auto;scrollbar-color:var(--line-2) var(--bg-2)}.tr-step{position:relative;border-top:1px solid var(--line);padding:12px 0}.tr-step-head{display:flex;gap:7px;align-items:center;font-size:.72rem}.tr-step-head strong{font-weight:500;color:var(--text)}.tr-step-number{display:grid;place-items:center;flex:none;width:20px;height:20px;border:1px solid var(--line-2);border-radius:50%;font-size:.65rem;color:var(--teal-2)}.tr-step.ship .tr-step-number{color:#83baf0}.tr-step.zeppelin .tr-step-number{color:#c8a2e5}.tr-step.walk .tr-step-number{color:var(--accent-2)}.tr-step-time{margin-left:auto;font-size:.65rem;color:var(--text-2)}.tr-step-route{font-size:.79rem;line-height:1.6;color:var(--text);margin:7px 0 5px}.tr-step-via,.tr-step>small{font-size:.68rem;line-height:1.65;color:var(--text-2);display:block;margin:5px 0}.tr-step-maps{display:flex;gap:2px 12px;flex-wrap:wrap;margin-top:5px}.tr-step-maps button{font-size:.65rem}
.tr-footnote{color:var(--text-3);font-size:.68rem;line-height:1.6;margin-top:10px}.tr-examples{border-top:1px solid var(--line);margin-top:15px;padding-top:13px}.tr-examples>span{font-size:.68rem;color:var(--text-3)}.tr-example{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font:inherit;font-size:.73rem;background:none;color:var(--text-2);border:0;width:100%;padding:11px 0;cursor:pointer}.tr-example:hover{color:var(--accent-2)}.tr-example>span{color:var(--accent)}
.tr-jump-steps{display:block}.tr-itinerary{margin-top:23px;border-top:1px solid var(--line);padding-top:17px;scroll-margin-top:18px}.tr-itinerary-heading{font-family:var(--font-display);font-size:1.2rem;color:var(--text)}.tr-itinerary .tr-steps{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-right:0;padding:0}.tr-itinerary .tr-step{min-width:0}.tr-itinerary .tr-step-route{font-size:.86rem}.tr-itinerary .tr-step-head{font-size:.8rem}.tr-itinerary .tr-step-time{font-size:.72rem}.tr-itinerary .tr-step>small,.tr-itinerary .tr-step-via{font-size:.72rem}.tr-itinerary .tr-step-maps button{font-size:.7rem}
.tr-map-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.tr-map-toggles{display:flex;gap:13px}.tr-map-toggles label{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-2);cursor:pointer;min-height:24px}.tr-legend{display:flex;gap:9px;flex-wrap:wrap;font-size:.65rem;color:var(--text-2)}.tr-key{display:inline-flex;gap:5px;align-items:center}.tr-key:before{content:'';width:14px;border-top:2px solid #7fd3c8}.tr-key.ship:before{border-color:#83baf0}.tr-key.zeppelin:before{border-color:#c8a2e5}.tr-key.walk:before{border-color:var(--accent-2);border-top-style:dashed}.tr-map-status{font-size:.68rem;color:var(--text-2);line-height:1.6;margin:-2px 0 10px;min-height:1.6em}
.tr-lines{pointer-events:none}.tr-path{fill:none;stroke-width:1.3;opacity:.27;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tr-path.ship,.tr-path.zeppelin{stroke-width:1.8;opacity:.58;stroke-dasharray:6 4}.tr-path.walk{stroke-dasharray:3 4}.tr-path.is-route{opacity:1;stroke-width:3;stroke-dasharray:none}.tr-path.is-route.walk{stroke-dasharray:4 5;stroke-width:2}.tr-path-halo{stroke:#131923;stroke-width:6;stroke-opacity:.88;fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.tr-arrow{fill:none;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px #0e1116);vector-effect:non-scaling-stroke}
.tr-marker{cursor:pointer;outline:none}.tr-marker-hit{fill:transparent;stroke:none}.tr-marker-dot{fill:#152529;stroke:#9be1d8;stroke-width:1.6;vector-effect:non-scaling-stroke}.tr-marker.ship .tr-marker-dot{fill:#172d43;stroke:#9fcfff}.tr-marker.zeppelin .tr-marker-dot{fill:#2d203a;stroke:#d9b9f4}.tr-marker-symbol{fill:none;stroke:var(--text);stroke-width:1.1;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tr-marker.is-route .tr-marker-dot{stroke:#fff4cf;stroke-width:2.5}.tr-marker:hover .tr-marker-dot,.tr-marker:focus-visible .tr-marker-dot,.tr-marker.is-selected .tr-marker-dot{fill:#967131;stroke:#fff4cf;stroke-width:3;filter:drop-shadow(0 0 3px #000)}.tr-endpoint-label{font-family:var(--font);font-size:17px;font-weight:700;fill:#fff3c3;stroke:#151c25;stroke-width:4;paint-order:stroke;pointer-events:none}.tr-cluster-count{font:600 9px var(--font);text-anchor:middle;fill:#e7e2d6;pointer-events:none}
.tr-point{margin-top:12px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:6px;padding:14px}.tr-point-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tr-point-heading h3{font-size:1.05rem}.tr-point-row{margin-top:10px;font-size:.78rem;line-height:1.6}.tr-point-row+.tr-point-row{border-top:1px solid var(--line);padding-top:10px}.tr-point-row>p{color:var(--text-2)}.tr-point-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.tr-point-actions .btn{min-height:35px}.tr-departures{margin-top:10px;font-size:.73rem;color:var(--text-2)}.tr-departures summary{cursor:pointer;color:var(--accent-2)}.tr-departures button{display:block;margin-top:5px}.tr-about{margin-top:18px}
@media(min-width:1450px){body:has(.atlas) main.container{width:min(1510px,100% - 48px)}}
@media(max-width:1100px){.atlas-layout{grid-template-columns:280px minmax(0,1fr)}.tr-panel{padding-inline:13px}.tr-legend{gap:7px}.tr-modes{gap:4px}.tr-modes label{font-size:.67rem}.tr-map-controls{gap:6px}.tr-map-heading h2{font-size:1rem}}
@media(max-width:860px){.atlas-layout{display:flex;flex-direction:column}.atlas-aside{order:0;border:0;border-bottom:1px solid var(--line);padding:0 0 15px}.atlas-main{order:1}.tr-panel{padding-inline:15px}.tr-panel #tr-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.tr-field,.tr-swap-row,.tr-modes,.tr-actions,.tr-options{grid-column:1/-1}.tr-field{grid-template-columns:auto 160px;justify-content:start;margin-bottom:12px}.tr-endpoint:has(#tr-from){grid-row:2;grid-column:1}.tr-endpoint:has(#tr-to){grid-row:2;grid-column:2}.tr-swap-row{padding-bottom:0}.tr-actions #tr-build{flex:initial;min-width:210px}.tr-result{margin-top:10px}.tr-summary{display:block}.tr-steps{max-height:260px}.tr-examples{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.tr-example{width:auto}.tr-subtitle{margin-bottom:12px}.tr-tabs{margin-bottom:14px}.tr-options{margin-top:10px}.tr-idle{padding:8px 0}.tr-point-heading{gap:10px}}
@media(max-width:620px){.tr-itinerary .tr-steps{grid-template-columns:1fr}}
@media(max-width:520px){.atlas-intro{display:block}.atlas-intro .chip{display:inline-block;margin-top:10px}.atlas-intro .lead{max-width:none}}
@media(max-width:520px){.tr-panel #tr-form{display:block}.tr-field{display:flex;justify-content:space-between}.tr-field select{max-width:65%}.tr-swap-row{padding:4px 0}.tr-endpoint input{padding:10px}.tr-heading h2{font-size:1.15rem}.tr-actions #tr-build{flex:1;min-width:0}.tr-map-controls{gap:9px}.tr-legend{font-size:.61rem}.tr-modes label{padding:7px 8px;min-height:35px}.tr-modes{gap:7px}.tr-point{padding:10px}.tr-point-heading h3{font-size:1rem}.tr-point-actions .btn{font-size:.73rem}.tr-map-status{font-size:.65rem}.tr-examples{gap:5px 15px}.tr-examples>span{width:100%}.tr-example{padding:6px 0}.tr-summary h3{margin-bottom:7px}.tr-step{padding-block:10px}}
