.rotezi-route-panel{position:fixed;inset:0;z-index:1200;background:var(--page-bg,#f4f7fb);color:var(--ink,#13223a);overflow:auto}
.route-resume{position:sticky;top:0;z-index:1100;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;background:var(--card,#fff);color:var(--ink,#13223a);border-bottom:2px solid #126bd5}
.route-resume[hidden]{display:none!important}.route-resume span{flex:1 1 180px;font-size:.9rem;overflow-wrap:anywhere}.route-resume button{min-height:44px}.route-resume [data-route-discard]{min-width:44px}
.route-navigation{margin-bottom:14px;padding:14px;border:1px solid currentColor;border-radius:16px;overflow-wrap:anywhere}
.route-navigation[hidden],.route-navigation button[hidden],.route-map-position[hidden]{display:none!important}
.route-navigation>strong{display:block;font-size:1.05rem}.route-navigation .route-panel-actions{margin:12px 0}
.route-navigation-instruction{font-size:1.2rem;font-weight:800;line-height:1.4}.route-navigation small{display:block;line-height:1.45}
.route-map-position circle{fill:#126bd5;stroke:white;stroke-width:4}.route-map-position text{fill:#10233e;stroke:#fff;stroke-width:4;paint-order:stroke;font-size:15px;font-weight:800}
.route-map-world{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.route-map-world .route-map-overlay{overflow:visible}
.route-map-arrow{fill:#126bd5;stroke:#fff;stroke-width:3;stroke-linejoin:round;paint-order:stroke}
.route-map-arrow[hidden],.route-map-compass[hidden],.route-compass-status[hidden]{display:none!important}
.route-map-compass{position:absolute;top:10px;right:10px;z-index:2;display:flex;align-items:center;gap:9px;min-height:44px;max-width:calc(100% - 20px);padding:9px 12px;border:1px solid #bccbdc;border-radius:14px;background:#fff;color:#10233e;box-shadow:0 2px 12px #10233e26;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.route-map-compass:focus-visible{outline:3px solid #126bd5;outline-offset:3px}
.route-map-compass[aria-pressed="true"]{background:#eaf3ff;border-color:#126bd5}
.route-map-north{display:inline-block;color:#a02529;font-size:1rem;white-space:nowrap}
.route-compass-status{margin:10px 0 0}
.rotezi-route-panel.is-navigating .route-panel-form{display:none}.rotezi-route-panel.is-navigating .route-panel-grid{grid-template-columns:1fr}
.rotezi-route-panel.is-navigating .route-panel-status{display:none}
.rotezi-route-panel[hidden]{display:none}.route-panel-shell{width:min(1120px,100%);min-height:100%;margin:auto;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}
.route-panel-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.route-panel-head h2{margin:2px 0 0}.route-panel-back{min-width:44px;min-height:44px}.route-panel-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px}
.route-panel-form,.route-panel-map-card{border-radius:22px;background:var(--card,#fff);box-shadow:0 12px 34px rgba(18,36,62,.12);padding:18px}.route-panel-form label{display:grid;gap:6px;margin-bottom:13px;font-weight:700}.route-panel-form input{width:100%;min-height:46px;border:1px solid #a9b4c4;border-radius:12px;padding:10px 12px;background:transparent;color:inherit}.route-panel-actions{display:flex;flex-wrap:wrap;gap:9px}.route-panel-actions button{flex:1 1 145px}.route-panel-note{font-size:.83rem;line-height:1.45;color:var(--muted,#58677c)}
.route-panel-status{min-height:48px;margin:0 0 12px;padding:12px;border-radius:12px;background:#eef4f8}.route-panel-status[data-kind="error"]{background:#fff0ed;color:#7c2519}.route-panel-status[data-kind="success"]{background:#e8f7ef;color:#145d3b}
.route-map{position:relative;height:min(62vh,620px);min-height:360px;overflow:hidden;overflow:clip;border-radius:16px;background:#dbe7e8}.route-map-tiles{position:absolute;inset:0}.route-map-tiles img{position:absolute;width:256px;height:256px;user-select:none}.route-map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.route-map-overlay polyline{fill:none;stroke:#126e82;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.route-map-marker{fill:#fff;stroke:#0b5362;stroke-width:5}.route-panel-summary{margin:12px 0 0;font-weight:700}
@media(max-width:760px){.route-panel-grid{grid-template-columns:1fr}.route-panel-map-card{padding:10px}.route-map{height:48vh;min-height:310px}.route-panel-shell{padding-inline:10px}.route-panel-form{padding:15px}}
html[data-theme="dark"] .rotezi-route-panel{background:#081428;color:#edf5ff}html[data-theme="dark"] .route-panel-form,html[data-theme="dark"] .route-panel-map-card{background:#10223a}html[data-theme="dark"] .route-panel-status{background:#1b334d}html[data-theme="dark"] .route-panel-note{color:#c2cede}html[data-theme="dark"] .route-panel-form input{border-color:#71839a}html[data-theme="dark"] .route-panel-status[data-kind="success"]{background:#123e31;color:#c9f8df}html[data-theme="dark"] .route-panel-status[data-kind="error"]{background:#4b211e;color:#ffe0da}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .rotezi-route-panel{background:#081428;color:#edf5ff}html:not([data-theme="light"]) .route-panel-form,html:not([data-theme="light"]) .route-panel-map-card{background:#10223a}html:not([data-theme="light"]) .route-panel-status{background:#1b334d}html:not([data-theme="light"]) .route-panel-note{color:#c2cede}html:not([data-theme="light"]) .route-panel-form input{border-color:#71839a}html:not([data-theme="light"]) .route-panel-status[data-kind="success"]{background:#123e31;color:#c9f8df}html:not([data-theme="light"]) .route-panel-status[data-kind="error"]{background:#4b211e;color:#ffe0da}}

/* Visible attribution stays outside the rotating map; disclosure keeps the user in the app. */
.route-map-attribution{position:absolute;right:6px;bottom:5px;z-index:3;display:flex;align-items:center;gap:0;max-width:calc(100% - 12px);padding-left:2px;border-radius:3px;background:rgba(255,255,255,.94);color:#10233e;font-size:clamp(9px,2.4vw,11px);line-height:1.3}
.route-map-credit-names{white-space:nowrap}
.route-map-credit-disclosure{flex:none}
.route-map-attribution summary{display:grid;place-items:center;width:24px;height:24px;cursor:pointer;list-style:none;border-radius:3px;font:16px/1 Arial,sans-serif;color:#174f85}
.route-map-attribution summary::-webkit-details-marker{display:none}
.route-map-credit-panel{position:absolute;right:0;bottom:calc(100% + 6px);width:100%;max-height:min(320px,calc(max(310px,48vh) - 96px));overflow:auto;border:1px solid #bccbdc;border-radius:9px;background:#fff;box-shadow:0 2px 10px #10233e1a;font-size:12px;line-height:1.4}
.map-credits h3{margin:0 0 8px;font-size:1rem}.map-credits p{margin:0 0 10px;line-height:1.5}.map-credits ul{list-style:none;margin:0;padding:0}.map-credits li+li{margin-top:8px}.map-credits li>span{display:block;font-size:.85em;line-height:1.5}.map-credits a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;font-weight:700}
.route-map-attribution .map-credits{padding:12px}.route-map-attribution .map-credits a{color:#174f85}
.route-map-credits-close{display:block;flex:none;min-height:36px;margin:0;padding:6px 9px;border:1px solid #a9b4c4;border-radius:9px;background:#eef4fa;color:#10233e;font:inherit;font-weight:700;cursor:pointer}
.route-map-attribution summary:focus-visible,.route-map-attribution a:focus-visible,.route-map-credits-close:focus-visible{outline:3px solid #126bd5;outline-offset:-3px}

.route-map-credit-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;background:#fff;border-bottom:1px solid #dae2ec}
.route-map-credit-toolbar h3{margin:0;font-size:14px;line-height:1.3}
