.route-library-map .tdt-controls { top:16px; bottom:auto; right:16px; z-index:750; }
.route-library-map .route-layer-control { position:relative; }
.route-library-map .route-layer-trigger { display:flex; align-items:center; justify-content:center; width:36px; height:36px; }
.route-library-map .route-layer-panel { position:absolute; top:0; right:48px; width:min(340px,calc(100vw - 100px)); max-height:calc(var(--route-map-height,500px) - 180px); overflow-y:auto; overscroll-behavior:contain; box-sizing:border-box; padding:20px; background:#fff; color:#263445; border:1px solid #dce3ec; border-radius:6px; box-shadow:0 6px 24px #12223826; text-align:left; cursor:default; }
.route-library-map .route-layer-panel header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.route-library-map .route-layer-panel header strong { font-size:16px; }
.route-library-map .route-layer-panel header button { width:28px; height:28px; border:0; box-shadow:none; font-size:22px; }
.route-library-map .route-layer-panel h3 { margin:20px 0 12px; font-size:14px; font-weight:600; }
.route-library-map .route-layer-switch { display:flex; align-items:center; gap:10px; position:relative; margin:12px 0; font-size:14px; cursor:pointer; }
.route-library-map .route-layer-switch input { position:absolute; width:38px; height:22px; margin:0; opacity:0; }
.route-library-map .route-layer-track { width:38px; height:22px; border-radius:12px; background:#aeb9c6; position:relative; flex:none; transition:background .15s; }
.route-library-map .route-layer-track:after { content:''; width:18px; height:18px; background:#fff; border-radius:50%; position:absolute; left:2px; top:2px; transition:transform .15s; box-shadow:0 1px 3px #0002; }
.route-library-map .route-layer-switch input:checked + .route-layer-track { background:#258afa; }
.route-library-map .route-layer-switch input:checked + .route-layer-track:after { transform:translateX(16px); }
.route-library-map .route-layer-switch input:focus-visible + .route-layer-track { outline:2px solid #126be0; outline-offset:3px; }
.route-library-map .route-layer-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.route-library-map .route-layer-options .route-layer-option { width:100%; height:104px; display:block; overflow:hidden; padding:0; position:relative; border:2px solid transparent; border-radius:3px; box-shadow:none; }
.route-library-map .route-layer-option.selected { border-color:#258afa; }
.route-library-map .route-layer-art { display:block; position:absolute; inset:0; overflow:hidden; background:linear-gradient(115deg,#dae7cf 0 30%,#e8ece5 30% 65%,#aed6f1 65% 80%,#dae7cf 80%); }
.route-library-map .route-layer-art i { position:absolute; width:160%; height:5px; background:#fff; border:1px solid #d7c28d; left:-20%; top:35%; transform:rotate(-24deg); }
.route-library-map .route-layer-art i:nth-child(2) { top:65%; transform:rotate(35deg); }
.route-library-map .route-layer-art i:nth-child(3) { top:40%; transform:rotate(85deg); }
.route-library-map .satellite .route-layer-art { background:repeating-linear-gradient(35deg,#66795b 0 16px,#7d8b64 16px 30px,#596d53 30px 34px); }
.route-library-map .satellite .route-layer-art i { background:#a7b39a; border-color:#85947a; }
.route-library-map .route-layer-name { position:absolute; bottom:0; left:0; right:0; padding:7px 2px; color:#fff; background:#263445b3; font-size:12px; white-space:nowrap; }
.route-library-map .selected .route-layer-name { background:#258afa; }
.route-library-map .route-layer-check { position:absolute; top:5px; left:5px; background:#258afa; color:#fff; border-radius:3px; padding:0 4px; line-height:20px; }
.route-library-map .route-map-summary[data-v-b674a3f2] { right:68px; }
.route-library-map .route-layer-option:focus-visible { outline:2px solid #126be0; outline-offset:2px; }
@media(max-width:1100px) { .route-library-map .route-preview-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .route-library-map .route-layer-panel { width:min(280px,calc(100vw - 100px)); padding:14px; } }
