.m74-route-detail{--tram-accent:#19726a;--tram-text:#17293b;color:var(--tram-text);line-height:1.55;min-width:0}
.m74-route-detail .tram-back a{display:inline-flex;align-items:center;min-height:44px;font-size:15px}
.m74-route-detail .tram-route-endpoints{font-size:clamp(20px,3vw,27px);font-weight:700;margin:8px 0}
.m74-route-detail .tram-route-note{font-size:14px;color:#526274;margin:6px 0 18px}
.m74-route-detail .tram-direction-picker{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.m74-route-detail button{font:inherit;cursor:pointer}
.m74-route-detail .tram-direction-picker button{flex:1 1 240px;min-height:48px;padding:10px 14px;border:1px solid #b5c8c7;border-radius:8px;background:white;color:var(--tram-text);font-weight:600;text-align:center}
.m74-route-detail .tram-direction-picker button[aria-pressed=true]{background:var(--tram-accent);border-color:var(--tram-accent);color:white}
.m74-route-detail .tram-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr);gap:20px;align-items:start}
.m74-route-detail .tram-map-panel,.m74-route-detail .tram-stop-panel{min-width:0;border:1px solid #d9e3e9;border-radius:10px;background:#fff;overflow:hidden}
.m74-route-detail .tram-map-panel h2,.m74-route-detail .tram-stop-panel h2{font-size:21px;line-height:1.3;margin:0;padding:18px 18px 8px}
.m74-route-detail .tram-map-tools{display:flex;gap:7px;padding:4px 16px 12px}
.m74-route-detail .tram-map-tools button{min-width:44px;min-height:44px;padding:5px 12px;border:1px solid #bccbd3;border-radius:7px;background:#fff;color:#243b4b;font-weight:700}
.m74-route-detail .tram-map-tools button:disabled{opacity:.4;cursor:default}
.m74-route-detail .tram-map-canvas{position:relative;background:#edf2f3;border-top:1px solid #dce4e8;border-bottom:1px solid #dce4e8}
.m74-route-detail .tram-route-svg{display:block;width:100%;height:590px;background:#edf2f3;touch-action:none;cursor:grab;overflow:hidden}
.m74-route-detail .tram-route-svg.is-dragging{cursor:grabbing}
.m74-route-detail .tram-context{fill:none;stroke:#fff;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.m74-route-detail .tram-context-primary,.m74-route-detail .tram-context-secondary,.m74-route-detail .tram-context-trunk{stroke:#fff4d4;stroke-width:8}
.m74-route-detail .tram-context-tertiary{stroke:#fff;stroke-width:5}
.m74-route-detail .tram-context-park{fill:#d9e8d6;stroke:none;opacity:.9}
.m74-route-detail .tram-context-water{fill:none;stroke:#a9d3e4;stroke-width:8}
.m74-route-detail .tram-context-water-area{fill:#badbe7;stroke:#a9d3e4;stroke-width:1}
.m74-route-detail .tram-map-labels text{fill:#73818a;paint-order:stroke;stroke:#f7f9f9;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none}
.m74-route-detail .tram-track-halo{fill:none;stroke:white;stroke-width:9;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.m74-route-detail .tram-track{fill:none;stroke:var(--tram-accent);stroke-width:5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.m74-route-detail .tram-marker{cursor:pointer;outline:none}
.m74-route-detail .tram-marker-dot{fill:#fff;stroke:var(--tram-accent);stroke-width:2;vector-effect:non-scaling-stroke}
.m74-route-detail .tram-marker-hit{fill:transparent;stroke:none}
.m74-route-detail .tram-marker text{fill:#164f4c;font-family:Arial,sans-serif;font-weight:bold;pointer-events:none}
.m74-route-detail .tram-marker.is-selected .tram-marker-dot,.m74-route-detail .tram-marker:focus .tram-marker-dot{fill:#fff2b4;stroke:#9c5300;stroke-width:3}
.m74-route-detail .tram-map-loading{position:absolute;top:20px;left:16px;right:16px;padding:12px;background:#fff;border-radius:6px}
.m74-route-detail .tram-map-help,.m74-route-detail .tram-map-attribution{font-size:12px;line-height:1.5;padding:0 16px;margin:10px 0;color:#536576}
.m74-route-detail .tram-stop-status{margin:12px 16px;padding:10px 12px;background:#eff7f5;border-left:3px solid var(--tram-accent);font-size:14px;min-height:44px}
.m74-route-detail .tram-stop-panel>p{font-size:14px;color:#526274;margin:0;padding:0 18px 12px}
.m74-route-detail [data-tram-stop-count]{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;margin-left:8px;background:#e7f3f0;border-radius:20px;color:#185a53;font-size:16px}
.m74-route-detail .tram-stop-list{list-style:none;padding:0 12px 12px;margin:0;max-height:750px;overflow:auto}
.m74-route-detail .tram-stop-list li{padding:0;margin:0}
.m74-route-detail .tram-stop-list button{display:flex;align-items:center;gap:10px;min-height:48px;width:100%;padding:10px 6px;text-align:left;border:0;border-bottom:1px solid #e6ecef;background:#fff;color:var(--tram-text);font-size:15px;line-height:1.4}
.m74-route-detail .tram-stop-list button[aria-pressed=true]{background:#e8f5f0;font-weight:700}
.m74-route-detail .tram-stop-number{display:inline-flex;align-items:center;justify-content:center;flex:none;width:25px;height:25px;border:1px solid #9fbcb4;border-radius:50%;font-size:12px;color:#256a5e;background:#fff}
.m74-route-detail button:focus-visible,.m74-route-detail a:focus-visible,.m74-route-detail svg:focus-visible,.m74-route-detail summary:focus-visible{outline:3px solid #d68c16;outline-offset:2px}
.m74-route-detail .tram-source-details{margin:24px 0 0;padding:14px 18px;border:1px solid #d9e3e9;border-radius:8px;font-size:14px}
.m74-route-detail .tram-source-details summary{cursor:pointer;font-weight:700;min-height:32px}
@media(max-width:760px){.m74-route-detail .tram-detail-grid{grid-template-columns:minmax(0,1fr);gap:16px}.m74-route-detail .tram-route-svg{height:470px}.m74-route-detail .tram-stop-list{max-height:none;overflow:visible}.m74-route-detail .tram-direction-picker button{flex-basis:100%;font-size:14px}.m74-route-detail .tram-map-panel h2,.m74-route-detail .tram-stop-panel h2{font-size:20px}}

/* Keep every ordinary direction readable until the interactive map is ready. */
.m74-route-detail .tram-stop-panel{display:none}
.m74-route-detail.is-map-ready .tram-stop-panel{display:block}
.m74-route-detail.is-map-ready .tram-fallback{display:none}
.m74-route-detail .tram-fallback{margin:24px 0;padding:18px;border:1px solid #d9e3e9;border-radius:10px;background:#fff}
.m74-route-detail .tram-fallback h2{font-size:21px}
.m74-route-detail .tram-fallback h3{font-size:18px;margin-top:20px}
.m74-route-detail .tram-fallback ol{padding-left:28px}
.m74-route-detail .tram-fallback li{padding:5px 0}

.m74-route-detail .tram-geometry-note{margin:0 16px 12px;padding:10px 12px;background:#fff6df;border-left:3px solid #d2a13d;font-size:14px;line-height:1.5}
.m74-route-detail .tram-geometry-note[hidden]{display:none}

/* MIR74 tramvai-only release 2026-10-17. Append after checking baseline SHA-256. */
.m74-tramvai-guide{min-width:0;overflow-wrap:anywhere;line-height:1.6;color:var(--m74-ink)}
.m74-tramvai-guide .m74-panel{min-width:0;padding:18px;margin:18px 0;border:1px solid var(--m74-line);border-radius:8px;background:#fff}
.m74-tramvai-guide .m74-panel h2{font-size:clamp(21px,4vw,26px);line-height:1.3;margin:0 0 12px}
.m74-tramvai-guide .m74-panel h3{font-size:20px;line-height:1.35;margin:0 0 12px}
.m74-tramvai-guide .transport-lead{font-size:18px;line-height:1.6}
.m74-tramvai-guide .transport-note{padding:14px;border-left:3px solid var(--m74-blue);background:var(--m74-bg,#f3f7fc)}
.m74-tramvai-guide .transport-number-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.m74-tramvai-guide .transport-number-list li{padding:0;margin:0}
.m74-tramvai-guide .transport-number-list a{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--m74-line);border-radius:8px}
.m74-tramvai-guide .transport-links{list-style:none;padding:0;margin:0}
.m74-tramvai-guide .transport-links li{padding:0;margin:0}
.m74-tramvai-guide .transport-links a,.m74-tramvai-guide .transport-route dd a{display:flex;align-items:center;min-height:44px;padding:8px 0;line-height:1.45}
.m74-tramvai-guide a{color:var(--m74-blue);text-decoration:underline;text-underline-offset:3px}
.m74-tramvai-guide a:focus-visible{outline:3px solid var(--m74-blue);outline-offset:3px}
.m74-tramvai-guide dl{margin:0}.m74-tramvai-guide dt{font-weight:700;margin-top:10px}.m74-tramvai-guide dd{margin:4px 0 0}
.m74-tramvai-guide [id]{scroll-margin-top:180px}
@media(max-width:768px){.m74-tramvai-guide [id]{scroll-margin-top:90px}.m74-tramvai-guide .m74-panel{padding:14px}}


/* MIR74 tramvai retention revision 2026-10-17; lab candidate only. */
.m74-tramvai-guide .transport-local-nav ul{display:flex;flex-wrap:wrap;gap:8px 20px}
.m74-tramvai-guide .transport-local-nav a{font-weight:600}
.m74-tramvai-guide .transport-picker{border-top:3px solid var(--m74-blue,#2867bc)}
.m74-tramvai-guide .transport-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.m74-tramvai-guide .transport-route-grid .transport-route{margin:0}
.m74-tramvai-guide .transport-related{background:var(--m74-bg,#f3f7fc)}
.m74-tramvai-guide .transport-related .transport-links a{font-weight:600}
.m74-tramvai-guide .transport-sources{font-size:15px}
.m74-tramvai-guide .transport-sources h2{font-size:21px}
@media(max-width:640px){.m74-tramvai-guide .transport-route-grid{grid-template-columns:minmax(0,1fr);gap:12px}.m74-tramvai-guide .transport-local-nav ul{display:flex;gap:0 16px}}
