/* Sainte-Victoire: local additions, same colours and typography as the scene. */
#markers{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:10}
button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.intro a,.warning a,.route-card a,#fallback a,.no-script a{color:#f5ddb0;text-underline-offset:3px}
.route-card{max-height:calc(100vh - 160px);overflow:auto;padding:12px 16px 10px 20px}
.route-card[hidden],#touchControl[hidden],#fallback[hidden]{display:none}
.route-card h3{font-size:18px;line-height:1.2;margin:0 28px 6px 0}
.route-card .route-duration{margin:0 0 4px;color:#eee;font-size:12px;font-weight:700}
.route-card .route-notice{margin:0 0 5px;color:#e8c887;font-size:11px;line-height:1.35}
#routeDetails summary{cursor:pointer;color:#e5ddcf;font-size:11px;line-height:1.5;min-height:26px;padding:4px 0}
#routeDetails[open] .eyebrow{display:block;margin:7px 0;letter-spacing:1px}
#closeCard{min-width:32px;min-height:32px;right:3px;top:3px}
#fallback,.no-script{position:fixed;z-index:101;inset:0;display:flex;flex-direction:column;justify-content:center;padding:30px;text-align:center;background:linear-gradient(#111b,#111e),url('../hub-assets/sainte-victoire-800.webp') center/cover;font-size:14px;line-height:1.6}
.no-script{display:block;padding-top:20vh}
.scene-failed .tools,.scene-failed #mobileRoutes,.scene-failed .routes-panel,.scene-failed #touchControl,.scene-failed .route-card{display:none}
#loading{transition:opacity .2s}
.embedded-tools{position:fixed;top:12px;right:12px;z-index:24}
html[data-embed] #mobileRoutes{display:block;position:fixed;z-index:24;top:12px;bottom:auto;left:12px;padding:10px 12px;min-height:36px;color:#fff;border:1px solid #ffffff40;background:#111e;border-radius:3px;font-size:12px;letter-spacing:0;text-transform:none}
html[data-embed] #mobileRoutes span{display:none}
html[data-embed] .tools{gap:6px}
html[data-embed] .tools button{width:36px;height:36px}
html[data-embed] .routes-panel{top:62px;left:12px;bottom:36px;width:min(300px,calc(100vw - 24px));height:auto;max-height:none;padding:14px;background:rgba(13,13,11,.96);transform:translateX(-120%);transition:transform .18s;z-index:25}
html[data-embed] .routes-panel.open{transform:none}
html[data-embed] .routes-panel h2{font-size:21px}
html[data-embed] .routes-panel .eyebrow{display:none}
html[data-embed] .route-card{right:12px;bottom:64px;left:auto;width:min(310px,calc(100vw - 24px));max-height:calc(100vh - 120px);padding:10px 12px 6px 16px}
html[data-embed] .route-card h3{font-size:16px}
html[data-embed] .compass{right:12px;bottom:76px;width:40px;height:40px}
html[data-embed] .compass i{left:17px;top:13px}
html[data-embed]:has(.route-card.open) .compass{display:none}
html[data-embed] .legend,html[data-embed] .help{display:none}
html[data-embed] .credits{display:block;left:0;right:0;bottom:0;padding:5px 8px;background:#111c;color:#c6c0b6;text-align:center;font-size:8px;line-height:1.3}
html[data-embed] .marker span{font-size:9px;padding:4px 6px}
html[data-embed] .marker.major span{font-size:10px}
#touchControl{position:fixed;z-index:24;bottom:34px;left:8px;padding:5px 8px;min-height:26px;border:1px solid #ffffff40;border-radius:3px;background:#111e;color:#eee;font-size:10px}
#touchControl[aria-pressed=true]{border-color:var(--gold);color:#f5ddb0}
@media(max-width:760px){.topbar{padding:0 10px}.title-block{display:none}.tools{gap:4px}.tools button{width:32px;height:36px}.route-card{max-height:calc(100vh - 170px)}html[data-embed] .embedded-tools{right:8px;top:12px}html[data-embed] .tools{gap:4px}html[data-embed] .tools button{width:32px;height:36px}html[data-embed] #mobileRoutes{left:8px;padding:8px;font-size:11px}html[data-embed] .marker:not(.major){display:none}}
@media(max-width:359px){html[data-embed] #mobileRoutes{top:12px}html[data-embed] .routes-panel{top:62px}html[data-embed] #zoomIn,html[data-embed] #zoomOut{position:fixed;top:auto;bottom:34px;height:28px;width:28px}html[data-embed] #zoomIn{right:40px}html[data-embed] #zoomOut{right:8px}html[data-embed] #touchControl{max-width:calc(100vw - 84px);font-size:9px}html[data-embed] .route-card{bottom:64px}html[data-embed] .route-card h3{font-size:14px}html[data-embed] .route-card .route-notice{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:760px){html:not([data-embed]) .route-card{bottom:112px;max-height:calc(100vh - 205px)}}
