:root{--ink:#edf6fc;--muted:#c6d8e3;--paper:#142a38;--map-card-bg:rgba(20,42,56,.82);--blue:#0764d7;--accent:#a9cfff;--line:rgba(191,217,235,.3);--soft:#234456;--mint:#a9cfff;--search-surface:#142a38;--search-text:#edf6fc;--search-muted:#c6d8e3;--search-border:#688898;--map-label-ink:#102a47;color:var(--ink);background:var(--paper)}
.map-card{background:var(--map-card-bg);border:1px solid var(--line);box-shadow:0 4px 12px #102a4714;color:var(--ink)}
#navigate[hidden]{display:flex;visibility:hidden}
.vignette{background:none;box-shadow:inset 0 0 110px #102a4710}.search{background:var(--soft);color:var(--ink)}.search:focus-within{box-shadow:0 0 0 3px #0764d71a}.panel.search-open .search{background:var(--soft)}
.filters button,.origin,.route-stats,.gps-note,.live-eta,.snap-note,.place-meta,.place-meta a,.demo-note,.destination p,.panel-foot,.list-heading,.empty{color:var(--muted)}.filters button{background:var(--soft)}.filters button.active{background:var(--blue);color:#fff}.place{color:var(--ink);border-color:var(--line)}.place small{color:var(--muted)}.place-icon{background:var(--soft);color:var(--accent)}.place:hover,.place.selected{background:#214f73}.place.selected .place-text{color:var(--accent)}.origin select{background:var(--soft);color:var(--ink);border:1px solid var(--line);color-scheme:dark}.primary{background:var(--blue);color:#fff}.destination .close{color:var(--ink)}.data-dialog{background:var(--map-card-bg)}.data-dialog,.data-dialog p,.data-dialog li{color:var(--ink)}.data-dialog a{color:var(--accent)}
.map-label-filters button{color:var(--muted)}.map-label-filters button[aria-pressed=true]{background:var(--blue);color:#fff}.map-label-filters button:hover:not([aria-pressed=true]){background:var(--soft);color:var(--ink)}
.map-label{--label-bg:rgba(247,249,252,.62);--label-border:#b9cbe1;color:var(--map-label-ink)}.map-label.selected,.hall-map-label[aria-pressed=true]{--label-bg:rgba(6,64,151,.8);--label-border:#0764d7;color:#fff}.map-label:focus-visible{outline-color:#0764d7;box-shadow:0 0 0 2px #fff}.hall-map-label{font-size:12px;z-index:2;max-width:190px}
@media(hover:hover){.map-label:hover{--label-border:#0764d7}.map-label:hover:not(.selected):not([aria-pressed=true]){color:var(--map-label-ink)}}
.association-back{background:var(--map-card-bg);color:var(--accent);border-color:var(--line)}.association-guide{background:var(--soft);color:var(--accent);border-color:var(--line);width:100%;min-height:44px}.map-attribution{background:var(--paper);color:var(--ink)}.compass,.compass span{color:#102a47;text-shadow:0 1px 4px #fff}.hall-open .destination{display:none}.hall-open .association-back{z-index:8}
.hall-inspector{position:fixed;right:16px;top:100px;width:290px;max-height:calc(100dvh - 140px);overflow:auto;padding:20px;background:var(--map-card-bg);border:1px solid var(--line);border-radius:20px;z-index:7;box-shadow:0 4px 12px #102a4714}.hall-inspector h2{font-size:18px;margin:15px 0 8px}.hall-inspector p{font-size:12px;line-height:1.9;color:var(--muted)}.hall-close{position:sticky;top:0;z-index:3;background:var(--soft);color:var(--accent);padding:10px 12px;min-height:44px;border-radius:10px;font-size:12px}.hall-inspector .hall-plan{margin-bottom:0}.hall-inspector .hall-plan figcaption{display:none}.hall-inspector .hall-zone{font-size:11px}.hall-inspector .hall-floor{aspect-ratio:3/4.8}.hall-inspector .hall-plan>small{font-size:10px}
@media(max-width:600px){
 .panel:not(.search-open){background:transparent;border:0}
 .destination[data-outside-campus] #dest-desc{display:block;margin:4px 0 8px}
 .panel:not(.search-open) .search{background:var(--map-card-bg)}
 :where(body:not(.navigating)) .destination>.association-guide{display:grid;place-items:center;margin-top:4px;padding:6px;font-size:11px}
 :where(body:not(.navigating)) .destination>#hall-open{grid-column:1}
 :where(body:not(.navigating)) .destination>#association-guide{grid-column:2}
 .hall-inspector:where(:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);align-items:center;gap:4px 8px;top:auto;bottom:calc(24px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:32dvh;padding:6px 10px;overflow:hidden}
 .hall-inspector h2{grid-area:1/1;font-size:15px;margin:0}
 .hall-inspector p,.hall-inspector .hall-plan>small{display:none}
 .hall-close{grid-area:1/2;position:static;padding:6px 8px;font-size:11px}
 .hall-inspector .hall-plan{grid-column:1/-1;align-self:stretch;min-height:0;margin:0;padding:4px;overflow-y:auto;overscroll-behavior:contain}
 .hall-inspector .hall-floor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;height:auto;aspect-ratio:auto;direction:rtl;border:0;overflow:visible;background:none;border-radius:0}
 .hall-inspector .hall-zone{position:static;width:auto!important;height:auto!important;min-height:44px}
 .hall-inspector :is(.hall-entry-zone,.hall-cross-aisle,[data-hall-zone=counselling],[data-hall-zone=cafe]){grid-column:1/-1}
 .hall-map-label{font-size:11px}
 .panel.search-open #search-collapse{color:var(--ink)}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.hall-open .panel{visibility:hidden;pointer-events:none}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){:root{--map-card-bg:var(--paper);--map-label-ink:var(--ink)}.map-label{--label-bg:var(--paper)}.map-label.selected,.hall-map-label[aria-pressed=true]{--label-bg:var(--blue)}}

.hall-inspector .hall-floor{background:var(--paper);border-color:var(--line)}
.hall-inspector .hall-zone{background:var(--soft);border-color:var(--line);color:var(--ink)}
.hall-inspector .hall-zone:hover{background:#214f73}
.hall-inspector .hall-zone[aria-pressed=true]{background:var(--blue);color:#fff}
.hall-inspector .hall-plan>small{color:var(--muted)}
.map-attribution a{color:var(--accent)}
@media(max-width:600px){.hall-inspector .hall-floor{background:none}}
