.map-stage{gap:var(--space-3);--map-ctrl-size:34px;--map-ctrl-gutter:calc(10px + var(--map-ctrl-size) + var(--space-2));flex-direction:column;margin:0;display:flex}.map-stage__frame{isolation:isolate;border-radius:var(--radius-1);background:var(--atlas-ground);position:relative;overflow:hidden}.map-stage__frame>:first-child{width:100%;height:100%;display:block}.map-stage__chrome{z-index:3;pointer-events:none;padding:var(--space-3);flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.map-stage__chrome-row{align-items:flex-start;gap:var(--space-2);display:flex}.map-stage__chrome-row--top{justify-content:flex-start;padding-inline-end:var(--map-ctrl-gutter)}[data-map-help-corner=top-right] .map-stage__chrome-row--top{justify-content:flex-end}[data-map-stage-mode=expanded] .map-stage__chrome-row--top{flex-direction:row-reverse;justify-content:space-between}[data-map-help-corner=top-right] .map-stage__howto{left:auto;right:calc(var(--space-3) + var(--map-ctrl-gutter))}.map-stage__chrome-row--bottom{justify-content:flex-end;align-items:flex-end;padding-inline-start:140px}.map-stage__btn{pointer-events:auto;align-items:center;gap:var(--space-2);border:1px solid var(--atlas-control-line);border-radius:var(--radius-1);background:var(--atlas-surface);color:var(--atlas-ink);font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;padding:.5rem .7rem;font-size:.6875rem;line-height:1;text-decoration:none;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex;box-shadow:0 1px 2px #00000014,0 2px 6px #0000000f}.map-stage__btn svg{flex:none;display:block}.map-stage__btn:hover{border-color:var(--atlas-line-strong);background:var(--atlas-hover);color:var(--atlas-surface)}.map-stage__btn:focus-visible{outline:2px solid var(--atlas-focus);outline-offset:2px}.map-stage__btn--expand{background:var(--atlas-accent);border-color:var(--atlas-accent);color:var(--atlas-surface);font-weight:700}.map-stage__btn--expand:hover{background:var(--atlas-active);border-color:var(--atlas-active);color:var(--atlas-surface)}.map-stage__btn--howto[aria-expanded=true]{background:var(--atlas-ink);border-color:var(--atlas-ink);color:var(--atlas-ground)}.map-stage__hint{left:50%;bottom:var(--space-3);max-width:calc(100% - 2 * var(--space-3));border-radius:var(--radius-round);background:color-mix(in srgb, var(--atlas-ink) 82%, transparent);color:var(--atlas-ground);font-family:var(--font-mono);letter-spacing:.05em;white-space:nowrap;pointer-events:none;opacity:1;margin:0;padding:.35rem .65rem;font-size:.625rem;transition:opacity .2s;position:absolute;transform:translate(-50%)}.map-stage__hint[data-map-hint-state=active]{opacity:0}.map-stage:hover .map-stage__hint[data-map-hint-state=active],.map-stage:focus-within .map-stage__hint[data-map-hint-state=active]{opacity:.75}[data-map-stage-mode=expanded] .map-stage__hint{display:none}.map-stage__howto{z-index:4;top:calc(var(--space-3) + 2.25rem);left:var(--space-3);width:min(30ch, calc(100% - 2 * var(--space-3)));max-height:calc(100% - 2 * var(--space-3) - 2.25rem);overscroll-behavior:contain;padding:var(--space-4);border:1px solid var(--atlas-line-strong);border-radius:var(--radius-2);background:var(--atlas-surface);color:var(--atlas-ink);position:absolute;overflow-y:auto;box-shadow:0 4px 10px #0000001a,0 12px 28px #0000001f}.map-stage__howto[hidden]{display:none}.map-stage__howto-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.map-stage__howto-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--atlas-ink);margin:0;font-size:1.25rem;font-weight:400;line-height:1}.map-stage__howto-close{border:1px solid var(--atlas-control-line);border-radius:var(--radius-1);width:1.75rem;height:1.75rem;color:var(--atlas-ink-muted);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:grid}.map-stage__howto-close:hover{border-color:var(--atlas-line-strong);color:var(--atlas-ink)}.map-stage__howto-close:focus-visible{outline:2px solid var(--atlas-focus);outline-offset:2px}.map-stage__howto-body{color:var(--atlas-ink-muted);font-size:.875rem;line-height:1.5}.map-stage__howto-body>*+*{margin-top:var(--space-3)}.map-stage__howto-body p{margin:0}.map-stage__howto-body dl{gap:var(--space-2) var(--space-3);grid-template-columns:auto 1fr;align-items:center;margin:0;display:grid}.map-stage__howto-body dt{justify-content:center;align-items:center;display:flex}.map-stage__howto-body dd{font-family:var(--font-mono);color:var(--atlas-ink);margin:0;font-size:.75rem}.map-stage__status{z-index:5;place-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;background:color-mix(in srgb, var(--atlas-ground) 92%, transparent);backdrop-filter:blur(2px);display:grid;position:absolute;inset:0}.map-stage__status[hidden]{display:none}.map-stage__status[data-map-status-covering=false]:not([hidden]){z-index:4;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6) calc(var(--space-3) + 2.75rem);background:color-mix(in srgb, var(--atlas-ink) 88%, transparent);backdrop-filter:none;flex-wrap:wrap;display:flex;inset:auto 0 0}.map-stage__status[data-map-status-covering=false] .map-stage__status-text{color:var(--atlas-ground)}.map-stage__status-text{max-width:38ch;font-family:var(--font-mono);letter-spacing:.02em;color:var(--atlas-ink-muted);margin:0;font-size:.8125rem;line-height:1.55}.map-stage__status[data-map-state=error] .map-stage__status-text{color:var(--atlas-ink)}.map-stage__status[data-map-state=loading] .map-stage__status-text:after{content:"";vertical-align:bottom;width:.4em;margin-left:.15em;animation:1.4s steps(4,end) infinite map-stage-ellipsis;display:inline-block;overflow:hidden}@keyframes map-stage-ellipsis{0%{width:0}to{width:1.2em}}.map-stage__status-actions{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.map-stage__status-actions:empty,.map-stage__btn--retry[hidden],.map-stage__caption:empty{display:none}.map-stage .maplibregl-ctrl-top-right{top:var(--space-3);right:var(--space-3)}.map-stage .maplibregl-ctrl-bottom-left{bottom:var(--space-3);left:var(--space-3);align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.map-stage .maplibregl-ctrl-bottom-right{bottom:calc(var(--space-3) + 2.5rem);right:var(--space-3)}.map-stage .maplibregl-ctrl-group{border:1px solid var(--atlas-control-line);border-radius:var(--radius-1);background:var(--atlas-surface);box-shadow:0 1px 2px #00000014,0 2px 6px #0000000f}.map-stage .maplibregl-ctrl-group button{width:32px;height:32px}.map-stage .maplibregl-ctrl-group button.map-stage-ctrl--labelled{width:auto;min-width:32px;height:auto;min-height:32px;padding:0 var(--space-2);white-space:nowrap}.map-stage .maplibregl-ctrl-group button+button{border-top:1px solid var(--atlas-control-line)}.map-stage .maplibregl-ctrl-group button:focus-visible{outline:2px solid var(--atlas-focus);outline-offset:2px;box-shadow:none}.map-stage .maplibregl-ctrl-scale{border:1px solid var(--atlas-control-line);border-radius:0 0 var(--radius-1) var(--radius-1);background:color-mix(in srgb, var(--atlas-surface) 88%, transparent);color:var(--atlas-ink-muted);font-family:var(--font-mono);letter-spacing:.04em;border-top:none;margin:0;font-size:.625rem}.map-stage .maplibregl-ctrl-attrib{border-radius:var(--radius-1);background:color-mix(in srgb, var(--atlas-surface) 88%, transparent);font-family:var(--font-mono);font-size:.625rem}.map-stage .maplibregl-ctrl-attrib a{color:var(--atlas-ink-muted)}.map-stage .maplibregl-ctrl-attrib-button{background-position:50%;background-repeat:no-repeat}.map-stage--expanded,.map-stage--expanded .map-stage__frame{border-radius:0;height:100%}.map-stage--expanded{gap:0}@media (width<=640px){.map-stage__chrome{padding:var(--space-2)}.map-stage__chrome-row--bottom{align-items:flex-end;padding-inline-start:0}.map-stage__btn{padding:.45rem .6rem;font-size:.625rem}.map-stage__btn--howto{letter-spacing:.02em;padding:.4rem .5rem;font-size:.5625rem}.map-stage__hint{left:var(--space-2);right:calc(var(--space-2) + var(--map-ctrl-gutter));bottom:auto;top:calc(var(--space-2) + 2.75rem);text-align:left;white-space:normal;max-width:none;transform:none}.map-stage__howto{top:auto;bottom:var(--space-2);left:var(--space-2);right:var(--space-2);width:auto}.map-stage .maplibregl-ctrl-scale{display:none}.map-stage--expanded .maplibregl-ctrl-scale{display:block}}@media (prefers-reduced-motion:reduce){.map-stage__btn,.map-stage__hint{transition:none}.map-stage__status[data-map-state=loading] .map-stage__status-text:after{width:1.2em;animation:none}}
