/* ── Map container & layer switcher ────────────────────────────────────────── */
#map{flex:1;position:relative;min-height:0;}
#lsw{position:absolute;top:12px;right:12px;z-index:500;display:flex;flex-direction:column;gap:3px;}
.lb{display:flex;align-items:center;gap:6px;background:rgba(7,12,20,.88);border:1px solid rgba(255,255,255,.1);color:var(--text2);padding:0 10px;height:32px;border-radius:8px;font-size:11px;cursor:pointer;backdrop-filter:blur(12px);transition:background .15s;white-space:nowrap;}
.lb:hover{background:rgba(22,35,56,.95);color:var(--text);}
.lb.on{background:rgba(56,189,248,.15);border-color:rgba(56,189,248,.3);color:var(--accent);}

/* ── Simulation bar ─────────────────────────────────────────────────────────── */
#sim-bar{background:rgba(7,12,20,.92);padding:7px 14px;display:flex;align-items:center;gap:11px;flex-shrink:0;backdrop-filter:blur(8px);}
#sim-bar.hidden{display:none;}
.s-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:var(--muted);font-weight:700;flex-shrink:0;}
.s-ctrl{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.s-btn{width:32px;height:32px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:background .15s;}
.s-btn.play{background:rgba(52,211,153,.12);border-color:rgba(52,211,153,.2);color:var(--green);}
.s-btn.play:hover{background:rgba(52,211,153,.22);}
.s-btn.pause{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.2);color:var(--yellow);}
.s-btn.reset{background:rgba(248,113,113,.1);border-color:rgba(248,113,113,.15);color:var(--red);}
.s-spsel{height:32px;background:rgba(255,255,255,.04);color:var(--text);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:0 12px;min-width:90px;font-size:12px;font-weight:600;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;line-height:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6' fill='none' stroke='%234cb2ff' stroke-width='1.7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:10px 6px;}
.s-spsel:hover{background:rgba(255,255,255,.08);}
.s-spsel:focus{outline:none;border-color:rgba(56,189,248,.4);}
.s-sep{width:1px;height:20px;background:var(--b1);flex-shrink:0;}
.leaflet-control-attribution{display:none !important;}
.s-st{display:flex;flex-direction:column;gap:1px;flex-shrink:0;}
.s-st .sl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;}
.s-st .sv{font-size:11px;color:var(--text);font-weight:600;font-family:'SF Mono',monospace;}
.s-pw{flex:1;display:flex;align-items:center;gap:7px;min-width:0;}
.s-trk{flex:1;height:5px;background:var(--s3);border-radius:3px;overflow:hidden;cursor:pointer;}
.s-fill{height:100%;background:var(--accent);border-radius:3px;width:0%;transition:width .05s linear;}
.s-pct{font-size:11px;color:var(--muted);font-weight:600;width:34px;text-align:right;flex-shrink:0;}
.vessel-icon{filter:drop-shadow(0 0 6px rgba(56,189,248,.8));}

/* ── Leaflet overrides ──────────────────────────────────────────────────────── */
.leaflet-popup-content-wrapper{background:rgba(12,20,35,.96)!important;color:var(--text)!important;border:1px solid var(--b2)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)!important;backdrop-filter:blur(8px)!important;}
.leaflet-popup-tip{background:rgba(12,20,35,.96)!important;}
.leaflet-popup-close-button{color:var(--muted)!important;}
.leaflet-container{background:#040810;}

.wp-popup h4{color:var(--accent);margin-bottom:8px;font-size:13px;font-weight:600;}
.wp-popup .pr{display:flex;justify-content:space-between;gap:14px;font-size:12px;padding:2px 0;}
.wp-popup .pr .k{color:var(--muted);}
.wp-popup .pr .v{color:var(--text);font-weight:500;}
.wp-popup .dv{border-top:1px solid var(--b1);margin:6px 0;}
