:root{
  --bg:#f3f4f6; --panel:#ffffff; --muted:#6b7280; --text:#111827; --accent:#0ea5e9;
  --mapW:30%; --vidH:72vh;
}
*{box-sizing:border-box} html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Roboto,Arial}
#topbar{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#ffffff;border-bottom:1px solid #e5e7eb}
#split{display:grid;grid-template-columns:var(--mapW) 1fr;gap:10px;height:calc(100% - 48px);padding:10px}
.pane{background:var(--panel);border:1px solid #e5e7eb;border-radius:12px;padding:10px}
#map{width:100%;height:var(--vidH);border-radius:10px;outline:1px solid #e5e7eb;overflow:hidden}
#viewer{width:100%;height:var(--vidH);background:#000;border-radius:10px;outline:1px solid #e5e7eb;overflow:hidden}
#controls{margin-top:8px;display:grid;grid-template-columns:auto auto auto 1fr auto;gap:8px;align-items:center}
#controls button{border:1px solid #e5e7eb;background:#ffffff;color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer}
#controls button:hover{border-color:#94a3b8}
#controls input[type=range]{width:100%}
#timeLabel{color:var(--muted);font-variant-numeric:tabular-nums}
#anchorsPane h3{margin:.5rem 0 .25rem 0;color:#374151}
#anchors{display:flex;flex-wrap:wrap;gap:8px}
.anchorBtn{background:#ffffff;color:#111827;border:1px solid #e5e7eb;padding:6px 12px;border-radius:9999px;box-shadow:0 1px 2px rgba(0,0,0,0.04);cursor:pointer}
.anchorBtn:hover{border-color:#111827}
