driver-atlas {display:block;background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:0 0 20px}
.atlas-tools {display:flex;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.atlas-tabs {display:flex;gap:3px;padding:3px;border-radius:6px;background:var(--soft)}
.atlas-tabs button,.atlas-zoom button,.atlas-roster button {font:inherit;color:var(--ink);background:none;border:0;cursor:pointer}
.atlas-tabs button {padding:6px 12px;border-radius:4px}
.atlas-tabs button[aria-pressed=true] {background:#454252;color:white}
.atlas-tools {flex-wrap:wrap}
.atlas-search {position:relative;min-width:0;width:min(100%,330px);margin-left:auto}
.atlas-search input {width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--ink);font:inherit}
.atlas-results,.atlas-inspect {border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 22px #0006;background:#1c2432;color:var(--ink)}
.atlas-results {position:absolute;z-index:3;top:calc(100% + 4px);inset-inline:0;padding:6px;max-height:285px;overflow:auto}
.atlas-results button,.atlas-inspect button[data-place] {width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:none;background:transparent;color:inherit;border-radius:4px;padding:6px;font:inherit;cursor:pointer}
.atlas-results svg,.atlas-inspect svg {flex:none}
.atlas-results strong,.atlas-results small,.atlas-inspect strong,.atlas-inspect small {display:block}
.atlas-results small,.atlas-inspect small {color:var(--muted);font-size:12px}
.atlas-results button:hover,.atlas-inspect button[data-place]:hover {background:#30394b}
.atlas-layers {display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line)}
.atlas-layers button {display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:5px;padding:4px 9px;background:transparent;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.atlas-layers button[aria-pressed=true] {background:#293040;border-color:#4d566c}
.atlas-layers button[aria-pressed=false] {color:var(--muted)}
.atlas-layers button[aria-pressed=false] svg {opacity:.45}
.atlas-inspect {position:absolute;z-index:1;bottom:10px;left:10px;max-width:calc(100% - 20px);max-height:180px;overflow:auto;padding:9px 35px 9px 34px;font-size:13px}
.atlas-inspect>svg {position:absolute;top:10px;left:10px}
.atlas-inspect>strong {overflow-wrap:anywhere}
.atlas-dismiss {position:absolute;right:5px;top:5px;border:none;background:transparent;color:var(--ink);font:inherit;font-size:18px;cursor:pointer}
.atlas-inspect:not([hidden])~[data-map-status] {display:none}
.atlas-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,22%)}
.atlas-frame {position:relative;background:#0d1929;min-width:0}
.atlas-frame canvas {width:100%;height:clamp(340px,55vh,600px);display:block;cursor:grab;touch-action:none}
.atlas-frame canvas:active {cursor:grabbing}
.atlas-frame [data-map-status]:empty {display:none}
.atlas-frame [data-map-status] {position:absolute;left:12px;bottom:12px;background:var(--soft);padding:5px 10px;border-radius:5px;margin:0}
.atlas-zoom {position:absolute;right:10px;top:10px;display:grid;gap:1px;overflow:hidden;border:1px solid var(--line);background:var(--line);border-radius:5px}
.atlas-zoom button {width:34px;height:32px;background:#1b2534;font-size:18px}
.atlas-zoom button:hover,.atlas-tabs button:hover {background:#3c4151}
.atlas-roster {border-left:1px solid var(--line);padding:14px 10px;font-size:13px;max-height:600px;overflow:auto}
.atlas-roster h3 {font-size:14px;margin:0 4px 8px}
.atlas-roster ul {list-style:none;margin:0;padding:0}
.atlas-roster li {padding:3px 0;color:var(--muted)}
.atlas-roster button {display:block;width:100%;padding:8px;text-align:left;border:1px solid var(--line);border-radius:5px;font-weight:650;overflow-wrap:anywhere}
.atlas-roster button[aria-pressed=true] {border-color:var(--accent)}
.atlas-roster button:disabled {cursor:default;font-weight:500}
.atlas-roster small {display:block;margin-top:3px;color:var(--muted);font-weight:400}
driver-atlas footer {padding:6px 12px;color:var(--muted);border-top:1px solid var(--line);font-size:11px}
driver-atlas footer a {color:inherit}
@media(max-width:760px) {
  .atlas-tools {gap:8px;padding:8px 10px}
  .atlas-search {width:100%}
  .atlas-layers {gap:5px;padding:8px 10px}
  .atlas-layout {grid-template-columns:minmax(0,1fr)}
  .atlas-roster {border-left:0;border-top:1px solid var(--line);max-height:180px}
  .atlas-frame canvas {height:365px}
}
