/* LeelaMaps HUD — glass over the map. See docs/hud.md.
   Chrome uses custom marks in /static/hud/icons/, never emoji. */

@font-face {
  font-family: "DM Sans";
  src: url("/static/fonts/DMSans-Variable.ttf") format("truetype");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cinzel";
  src: url("/static/fonts/Cinzel-Variable.ttf") format("truetype");
  font-weight: 400 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("/static/fonts/JetBrainsMono-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --ll-under-header: 64px;
  --ll-qs-band: 0px;
  --ll-qs-all-w: 88px;
  --ll-qs-all-h: 32px;
  --ll-brass-root: #e8c478;
  --ll-brass: #e8c478;
  --qs-p: var(--ll-brass) !important;
  --qs-pk: var(--ll-brass-hot) !important;
  --qs-pl: rgba(232, 196, 120, 0.16) !important;
  --qs-ps: rgba(232, 196, 120, 0.28) !important;
  --qs-f1: var(--ll-brass) !important;
  --qs-f2: var(--ll-brass-dim) !important;
  --qs-fs: rgba(232, 196, 120, 0.35) !important;
  --qs-btn-bg: var(--ll-panel) !important;
  --qs-btn-border: var(--ll-panel-border) !important;
  --ll-brass-hot: #ffe0a0;
  --ll-brass-dim: #a08048;
  --ll-place: #3d9b6e;
  --ll-place-hot: #5fd89a;
  --ll-signal: #e24b4b;
  --ll-paper: #ece6da;
  --ll-paper-dim: #b4aa96;
  --ll-slate: #0c0e14;
  --ll-panel: rgba(12, 14, 20, 0.78);
  --ll-panel-border: rgba(232, 196, 120, 0.28);
  --ll-glow-brass: 0 0 1px rgba(232, 196, 120, 0.65), 0 0 18px rgba(232, 196, 120, 0.22);
  --ll-glow-place: 0 0 1px rgba(61, 155, 110, 0.6), 0 0 18px rgba(61, 155, 110, 0.2);
  --ll-radius: 14px;
  --ll-sheet-bg-image: url("/static/hud/plates/sheet.jpg");
  --ll-auth-bg-image: url("/static/hud/plates/auth.jpg");
  --ll-hud-clearance: 72px;
  --ll-font: "DM Sans", system-ui, sans-serif;
  --ll-font-display: "Cinzel", "DM Sans", serif;
  --ll-font-mono: "JetBrains Mono", ui-monospace, monospace;
  --ll-close-ms: 220ms;
}

/* --- icons (classic filled silhouettes; relief = open-cut set) --- */
.ll-i {
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  /* The gold mark sits in the middle ~55% of each 1024px plate, so `contain`
     rendered a 28px icon as a ~14px mark. Zooming to 170% crops the plate's
     padding out of frame — the mark reads ~1.7× larger in the same box — and
     the screen blend melts the baked slate plate into the dark chrome, so a
     button shows ONE shape: its own outline, not a plate floating inside it.
     (Chrome is dark everywhere — hud.css force-darkens leftover paper-white
     surfaces — which is what makes the blend safe.) */
  background: center / 170% no-repeat;
  flex-shrink: 0;
  pointer-events: none;
  /* lighten, not screen: screen ADDS the plate's luminance to the chrome and
     the tile ghosts through ~2× brighter; lighten is a per-channel max, so a
     chrome pixel at or above the plate's slate swallows it entirely while the
     gold marks still win everywhere dark. */
  mix-blend-mode: lighten;
}
.ll-i-lg { width: 32px; height: 32px; }
.ll-i-xl { width: 40px; height: 40px; }
.fgp-icon .ll-i { width: 32px; height: 32px; }
#filterToggleBtn .ll-i,
#clear-search .ll-i { width: 24px; height: 24px; border-radius: 6px; }
/* Circular fabs: the plate IS the button face (Leela's rule — button outline
   or background shape, never both). The icon fills the whole circle, so the
   plate sits edge-to-edge under the button's own ring + glow instead of
   floating inside it as a smaller tile; blend off so the brushed slate reads
   as the face. 145% keeps the mark at ~3/4 of the face. */
.map-fab .ll-i, #fabGridBtn .ll-i, #messengerFab .ll-i, #newNoteFabBtn .ll-i {
  width: 100%; height: 100%; border-radius: 50%;
  background-size: 145%;
  mix-blend-mode: normal;
}
.ms-btn .ll-i { width: 20px; height: 20px; border-radius: 4px; }
.hp-tab .ll-i, .dp-tab .ll-i { width: 18px; height: 18px; border-radius: 4px; vertical-align: middle; }
.hp-tab, .dp-tab { display: inline-flex; align-items: center; gap: 5px; }
#scrapeChip { display: inline-flex; align-items: center; gap: 6px; }
#scrapeChip .ll-i { width: 16px; height: 16px; }
#qsMenuBtn .ll-i { width: 20px; height: 20px; border-radius: 4px; }
#bookingReqFab .ll-i, #adminToggleBtn .ll-i { width: 24px; height: 24px; border-radius: 6px; }

.ll-i-compose  { background-image: url("/static/hud/icons/sets/classic/compose.png"); }
.ll-i-messages { background-image: url("/static/hud/icons/sets/classic/messages.png"); }
.ll-i-find     { background-image: url("/static/hud/icons/sets/classic/find.png"); }
.ll-i-north    { background-image: url("/static/hud/icons/sets/classic/north.png"); }
.ll-i-layers   { background-image: url("/static/hud/icons/sets/classic/layers.png"); }
.ll-i-grid     { background-image: url("/static/hud/icons/sets/classic/grid.png"); }
.ll-i-browse   { background-image: url("/static/hud/icons/sets/classic/browse.png"); }
.ll-i-lists    { background-image: url("/static/hud/icons/sets/classic/lists.png"); }
.ll-i-games    { background-image: url("/static/hud/icons/sets/classic/games.png"); }
.ll-i-archive  { background-image: url("/static/hud/icons/sets/classic/archive.png"); }
.ll-i-planner  { background-image: url("/static/hud/icons/sets/classic/planner.png"); }
.ll-i-history  { background-image: url("/static/hud/icons/sets/classic/history.png"); }
.ll-i-loops    { background-image: url("/static/hud/icons/sets/classic/loops.png"); }
.ll-i-filter   { background-image: url("/static/hud/icons/sets/classic/filter.png"); }
.ll-i-search   { background-image: url("/static/hud/icons/sets/classic/search.png"); }
.ll-i-ai       { background-image: url("/static/hud/icons/sets/classic/ai.png"); }
.ll-i-close    { background-image: url("/static/hud/icons/sets/classic/close.png"); }
.ll-i-back     { background-image: url("/static/hud/icons/sets/classic/back.png"); }
.ll-i-user     { background-image: url("/static/hud/icons/sets/classic/user.png"); }
.ll-i-share    { background-image: url("/static/hud/icons/sets/classic/share.png"); }
.ll-i-settings { background-image: url("/static/hud/icons/sets/classic/settings.png"); }
.ll-i-map      { background-image: url("/static/hud/icons/sets/classic/map.png"); }
.ll-i-orient   { background-image: url("/static/hud/icons/sets/classic/orient.png"); }
.ll-i-ar       { background-image: url("/static/hud/icons/sets/classic/ar.png"); }
.ll-i-feedback { background-image: url("/static/hud/icons/sets/classic/feedback.png"); }
.ll-i-coverage { background-image: url("/static/hud/icons/sets/classic/coverage.png"); }
.ll-i-style    { background-image: url("/static/hud/icons/sets/classic/style.png"); }
.ll-i-admin    { background-image: url("/static/hud/icons/sets/classic/admin.png"); }
.ll-i-booking  { background-image: url("/static/hud/icons/sets/classic/booking.png"); }
.ll-i-bookmark { background-image: url("/static/hud/icons/sets/classic/bookmark.png"); }
.ll-i-basemap-street   { background-image: url("/static/hud/icons/sets/classic/basemap-street.png"); }
.ll-i-basemap-sat      { background-image: url("/static/hud/icons/sets/classic/basemap-sat.png"); }
.ll-i-basemap-outdoors { background-image: url("/static/hud/icons/sets/classic/basemap-outdoors.png"); }
.ll-i-basemap-light    { background-image: url("/static/hud/icons/sets/classic/basemap-light.png"); }
.ll-i-basemap-dark     { background-image: url("/static/hud/icons/sets/classic/basemap-dark.png"); }
.ll-i-night-auto       { background-image: url("/static/hud/icons/sets/classic/night-auto.png"); }
.ll-i-photo            { background-image: url("/static/hud/icons/sets/classic/photo.png"); }
.ll-i-draw             { background-image: url("/static/hud/icons/sets/classic/draw.png"); }
.ll-i-lock             { background-image: url("/static/hud/icons/sets/classic/lock.png"); }
.ll-i-mail             { background-image: url("/static/hud/icons/sets/classic/mail.png"); }
.ll-i-copy             { background-image: url("/static/hud/icons/sets/classic/copy.png"); }
.ll-i-send             { background-image: url("/static/hud/icons/sets/classic/send.png"); }
.ll-i-video            { background-image: url("/static/hud/icons/sets/classic/video.png"); }
.ll-i-mic              { background-image: url("/static/hud/icons/sets/classic/mic.png"); }
.ll-i-eye              { background-image: url("/static/hud/icons/sets/classic/eye.png"); }
.ll-i-bell             { background-image: url("/static/hud/icons/sets/classic/bell.png"); }
.ll-i-wifi             { background-image: url("/static/hud/icons/sets/classic/wifi.png"); }
.ll-i-cell             { background-image: url("/static/hud/icons/sets/classic/cell.png"); }
.ll-i-seat             { background-image: url("/static/hud/icons/sets/classic/seat.png"); }
.ll-i-power            { background-image: url("/static/hud/icons/sets/classic/power.png"); }
.ll-i-play             { background-image: url("/static/hud/icons/sets/classic/play.png"); }
.ll-i-pause            { background-image: url("/static/hud/icons/sets/classic/pause.png"); }
.ll-i-restroom         { background-image: url("/static/hud/icons/sets/classic/restroom.png"); }
.ll-i-elevator         { background-image: url("/static/hud/icons/sets/classic/elevator.png"); }
.ll-i-wheelchair       { background-image: url("/static/hud/icons/sets/classic/wheelchair.png"); }
.ll-i-stepfree         { background-image: url("/static/hud/icons/sets/classic/stepfree.png"); }
.ll-i-warn             { background-image: url("/static/hud/icons/sets/classic/warn.png"); }
.ll-i-clock            { background-image: url("/static/hud/icons/sets/classic/clock.png"); }
.ll-i-plus             { background-image: url("/static/hud/icons/sets/classic/plus.png"); }
.ll-i-minus            { background-image: url("/static/hud/icons/sets/classic/minus.png"); }
.ll-i-expand           { background-image: url("/static/hud/icons/sets/classic/expand.png"); }
.ll-i-shrink           { background-image: url("/static/hud/icons/sets/classic/shrink.png"); }

html[data-ll-set="relief"] .ll-i-compose, [data-ll-surface][data-ll-set="relief"] .ll-i-compose { background-image: url("/static/hud/icons/sets/relief/compose.png"); }
html[data-ll-set="relief"] .ll-i-messages, [data-ll-surface][data-ll-set="relief"] .ll-i-messages { background-image: url("/static/hud/icons/sets/relief/messages.png"); }
html[data-ll-set="relief"] .ll-i-find, [data-ll-surface][data-ll-set="relief"] .ll-i-find { background-image: url("/static/hud/icons/sets/relief/find.png"); }
html[data-ll-set="relief"] .ll-i-north, [data-ll-surface][data-ll-set="relief"] .ll-i-north { background-image: url("/static/hud/icons/sets/relief/north.png"); }
html[data-ll-set="relief"] .ll-i-layers, [data-ll-surface][data-ll-set="relief"] .ll-i-layers { background-image: url("/static/hud/icons/sets/relief/layers.png"); }
html[data-ll-set="relief"] .ll-i-grid, [data-ll-surface][data-ll-set="relief"] .ll-i-grid { background-image: url("/static/hud/icons/sets/relief/grid.png"); }
html[data-ll-set="relief"] .ll-i-browse, [data-ll-surface][data-ll-set="relief"] .ll-i-browse { background-image: url("/static/hud/icons/sets/relief/browse.png"); }
html[data-ll-set="relief"] .ll-i-lists, [data-ll-surface][data-ll-set="relief"] .ll-i-lists { background-image: url("/static/hud/icons/sets/relief/lists.png"); }
html[data-ll-set="relief"] .ll-i-games, [data-ll-surface][data-ll-set="relief"] .ll-i-games { background-image: url("/static/hud/icons/sets/relief/games.png"); }
html[data-ll-set="relief"] .ll-i-archive, [data-ll-surface][data-ll-set="relief"] .ll-i-archive { background-image: url("/static/hud/icons/sets/relief/archive.png"); }
html[data-ll-set="relief"] .ll-i-planner, [data-ll-surface][data-ll-set="relief"] .ll-i-planner { background-image: url("/static/hud/icons/sets/relief/planner.png"); }
html[data-ll-set="relief"] .ll-i-history, [data-ll-surface][data-ll-set="relief"] .ll-i-history { background-image: url("/static/hud/icons/sets/relief/history.png"); }
html[data-ll-set="relief"] .ll-i-loops, [data-ll-surface][data-ll-set="relief"] .ll-i-loops { background-image: url("/static/hud/icons/sets/relief/loops.png"); }
html[data-ll-set="relief"] .ll-i-filter, [data-ll-surface][data-ll-set="relief"] .ll-i-filter { background-image: url("/static/hud/icons/sets/relief/filter.png"); }
html[data-ll-set="relief"] .ll-i-search, [data-ll-surface][data-ll-set="relief"] .ll-i-search { background-image: url("/static/hud/icons/sets/relief/search.png"); }
html[data-ll-set="relief"] .ll-i-ai, [data-ll-surface][data-ll-set="relief"] .ll-i-ai { background-image: url("/static/hud/icons/sets/relief/ai.png"); }
html[data-ll-set="relief"] .ll-i-close, [data-ll-surface][data-ll-set="relief"] .ll-i-close { background-image: url("/static/hud/icons/sets/relief/close.png"); }
html[data-ll-set="relief"] .ll-i-back, [data-ll-surface][data-ll-set="relief"] .ll-i-back { background-image: url("/static/hud/icons/sets/relief/back.png"); }
html[data-ll-set="relief"] .ll-i-user, [data-ll-surface][data-ll-set="relief"] .ll-i-user { background-image: url("/static/hud/icons/sets/relief/user.png"); }
html[data-ll-set="relief"] .ll-i-share, [data-ll-surface][data-ll-set="relief"] .ll-i-share { background-image: url("/static/hud/icons/sets/relief/share.png"); }
html[data-ll-set="relief"] .ll-i-settings, [data-ll-surface][data-ll-set="relief"] .ll-i-settings { background-image: url("/static/hud/icons/sets/relief/settings.png"); }
html[data-ll-set="relief"] .ll-i-map, [data-ll-surface][data-ll-set="relief"] .ll-i-map { background-image: url("/static/hud/icons/sets/relief/map.png"); }
html[data-ll-set="relief"] .ll-i-orient, [data-ll-surface][data-ll-set="relief"] .ll-i-orient { background-image: url("/static/hud/icons/sets/relief/orient.png"); }
html[data-ll-set="relief"] .ll-i-ar, [data-ll-surface][data-ll-set="relief"] .ll-i-ar { background-image: url("/static/hud/icons/sets/relief/ar.png"); }
html[data-ll-set="relief"] .ll-i-feedback, [data-ll-surface][data-ll-set="relief"] .ll-i-feedback { background-image: url("/static/hud/icons/sets/relief/feedback.png"); }
html[data-ll-set="relief"] .ll-i-coverage, [data-ll-surface][data-ll-set="relief"] .ll-i-coverage { background-image: url("/static/hud/icons/sets/relief/coverage.png"); }
html[data-ll-set="relief"] .ll-i-style, [data-ll-surface][data-ll-set="relief"] .ll-i-style { background-image: url("/static/hud/icons/sets/relief/style.png"); }
html[data-ll-set="relief"] .ll-i-admin, [data-ll-surface][data-ll-set="relief"] .ll-i-admin { background-image: url("/static/hud/icons/sets/relief/admin.png"); }
html[data-ll-set="relief"] .ll-i-booking, [data-ll-surface][data-ll-set="relief"] .ll-i-booking { background-image: url("/static/hud/icons/sets/relief/booking.png"); }
html[data-ll-set="relief"] .ll-i-bookmark, [data-ll-surface][data-ll-set="relief"] .ll-i-bookmark { background-image: url("/static/hud/icons/sets/relief/bookmark.png"); }
html[data-ll-set="relief"] .ll-i-basemap-street, [data-ll-surface][data-ll-set="relief"] .ll-i-basemap-street { background-image: url("/static/hud/icons/sets/relief/basemap-street.png"); }
html[data-ll-set="relief"] .ll-i-basemap-sat, [data-ll-surface][data-ll-set="relief"] .ll-i-basemap-sat { background-image: url("/static/hud/icons/sets/relief/basemap-sat.png"); }
html[data-ll-set="relief"] .ll-i-basemap-outdoors, [data-ll-surface][data-ll-set="relief"] .ll-i-basemap-outdoors { background-image: url("/static/hud/icons/sets/relief/basemap-outdoors.png"); }
html[data-ll-set="relief"] .ll-i-basemap-light, [data-ll-surface][data-ll-set="relief"] .ll-i-basemap-light { background-image: url("/static/hud/icons/sets/relief/basemap-light.png"); }
html[data-ll-set="relief"] .ll-i-basemap-dark, [data-ll-surface][data-ll-set="relief"] .ll-i-basemap-dark { background-image: url("/static/hud/icons/sets/relief/basemap-dark.png"); }
html[data-ll-set="relief"] .ll-i-night-auto, [data-ll-surface][data-ll-set="relief"] .ll-i-night-auto { background-image: url("/static/hud/icons/sets/relief/night-auto.png"); }
html[data-ll-set="relief"] .ll-i-photo, [data-ll-surface][data-ll-set="relief"] .ll-i-photo { background-image: url("/static/hud/icons/sets/relief/photo.png"); }
html[data-ll-set="relief"] .ll-i-draw, [data-ll-surface][data-ll-set="relief"] .ll-i-draw { background-image: url("/static/hud/icons/sets/relief/draw.png"); }
html[data-ll-set="relief"] .ll-i-lock, [data-ll-surface][data-ll-set="relief"] .ll-i-lock { background-image: url("/static/hud/icons/sets/relief/lock.png"); }
html[data-ll-set="relief"] .ll-i-mail, [data-ll-surface][data-ll-set="relief"] .ll-i-mail { background-image: url("/static/hud/icons/sets/relief/mail.png"); }
html[data-ll-set="relief"] .ll-i-copy, [data-ll-surface][data-ll-set="relief"] .ll-i-copy { background-image: url("/static/hud/icons/sets/relief/copy.png"); }
html[data-ll-set="relief"] .ll-i-send, [data-ll-surface][data-ll-set="relief"] .ll-i-send { background-image: url("/static/hud/icons/sets/relief/send.png"); }
html[data-ll-set="relief"] .ll-i-video, [data-ll-surface][data-ll-set="relief"] .ll-i-video { background-image: url("/static/hud/icons/sets/relief/video.png"); }
html[data-ll-set="relief"] .ll-i-mic, [data-ll-surface][data-ll-set="relief"] .ll-i-mic { background-image: url("/static/hud/icons/sets/relief/mic.png"); }
html[data-ll-set="relief"] .ll-i-eye, [data-ll-surface][data-ll-set="relief"] .ll-i-eye { background-image: url("/static/hud/icons/sets/relief/eye.png"); }
html[data-ll-set="relief"] .ll-i-bell, [data-ll-surface][data-ll-set="relief"] .ll-i-bell { background-image: url("/static/hud/icons/sets/relief/bell.png"); }
html[data-ll-set="relief"] .ll-i-wifi, [data-ll-surface][data-ll-set="relief"] .ll-i-wifi { background-image: url("/static/hud/icons/sets/relief/wifi.png"); }
html[data-ll-set="relief"] .ll-i-cell, [data-ll-surface][data-ll-set="relief"] .ll-i-cell { background-image: url("/static/hud/icons/sets/relief/cell.png"); }
html[data-ll-set="relief"] .ll-i-seat, [data-ll-surface][data-ll-set="relief"] .ll-i-seat { background-image: url("/static/hud/icons/sets/relief/seat.png"); }
html[data-ll-set="relief"] .ll-i-power, [data-ll-surface][data-ll-set="relief"] .ll-i-power { background-image: url("/static/hud/icons/sets/relief/power.png"); }
html[data-ll-set="relief"] .ll-i-play, [data-ll-surface][data-ll-set="relief"] .ll-i-play { background-image: url("/static/hud/icons/sets/relief/play.png"); }
html[data-ll-set="relief"] .ll-i-pause, [data-ll-surface][data-ll-set="relief"] .ll-i-pause { background-image: url("/static/hud/icons/sets/relief/pause.png"); }
html[data-ll-set="relief"] .ll-i-restroom, [data-ll-surface][data-ll-set="relief"] .ll-i-restroom { background-image: url("/static/hud/icons/sets/relief/restroom.png"); }
html[data-ll-set="relief"] .ll-i-elevator, [data-ll-surface][data-ll-set="relief"] .ll-i-elevator { background-image: url("/static/hud/icons/sets/relief/elevator.png"); }
html[data-ll-set="relief"] .ll-i-wheelchair, [data-ll-surface][data-ll-set="relief"] .ll-i-wheelchair { background-image: url("/static/hud/icons/sets/relief/wheelchair.png"); }
html[data-ll-set="relief"] .ll-i-stepfree, [data-ll-surface][data-ll-set="relief"] .ll-i-stepfree { background-image: url("/static/hud/icons/sets/relief/stepfree.png"); }
html[data-ll-set="relief"] .ll-i-warn, [data-ll-surface][data-ll-set="relief"] .ll-i-warn { background-image: url("/static/hud/icons/sets/relief/warn.png"); }
html[data-ll-set="relief"] .ll-i-clock, [data-ll-surface][data-ll-set="relief"] .ll-i-clock { background-image: url("/static/hud/icons/sets/relief/clock.png"); }
html[data-ll-set="relief"] .ll-i-plus, [data-ll-surface][data-ll-set="relief"] .ll-i-plus { background-image: url("/static/hud/icons/sets/relief/plus.png"); }
html[data-ll-set="relief"] .ll-i-minus, [data-ll-surface][data-ll-set="relief"] .ll-i-minus { background-image: url("/static/hud/icons/sets/relief/minus.png"); }
html[data-ll-set="relief"] .ll-i-expand, [data-ll-surface][data-ll-set="relief"] .ll-i-expand { background-image: url("/static/hud/icons/sets/relief/expand.png"); }
html[data-ll-set="relief"] .ll-i-shrink, [data-ll-surface][data-ll-set="relief"] .ll-i-shrink { background-image: url("/static/hud/icons/sets/relief/shrink.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-compose { background-image: url("/static/hud/icons/sets/classic/compose.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-messages { background-image: url("/static/hud/icons/sets/classic/messages.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-find { background-image: url("/static/hud/icons/sets/classic/find.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-north { background-image: url("/static/hud/icons/sets/classic/north.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-layers { background-image: url("/static/hud/icons/sets/classic/layers.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-grid { background-image: url("/static/hud/icons/sets/classic/grid.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-browse { background-image: url("/static/hud/icons/sets/classic/browse.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-lists { background-image: url("/static/hud/icons/sets/classic/lists.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-games { background-image: url("/static/hud/icons/sets/classic/games.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-archive { background-image: url("/static/hud/icons/sets/classic/archive.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-planner { background-image: url("/static/hud/icons/sets/classic/planner.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-history { background-image: url("/static/hud/icons/sets/classic/history.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-loops { background-image: url("/static/hud/icons/sets/classic/loops.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-filter { background-image: url("/static/hud/icons/sets/classic/filter.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-search { background-image: url("/static/hud/icons/sets/classic/search.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-ai { background-image: url("/static/hud/icons/sets/classic/ai.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-close { background-image: url("/static/hud/icons/sets/classic/close.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-back { background-image: url("/static/hud/icons/sets/classic/back.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-user { background-image: url("/static/hud/icons/sets/classic/user.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-share { background-image: url("/static/hud/icons/sets/classic/share.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-settings { background-image: url("/static/hud/icons/sets/classic/settings.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-map { background-image: url("/static/hud/icons/sets/classic/map.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-orient { background-image: url("/static/hud/icons/sets/classic/orient.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-ar { background-image: url("/static/hud/icons/sets/classic/ar.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-feedback { background-image: url("/static/hud/icons/sets/classic/feedback.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-coverage { background-image: url("/static/hud/icons/sets/classic/coverage.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-style { background-image: url("/static/hud/icons/sets/classic/style.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-admin { background-image: url("/static/hud/icons/sets/classic/admin.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-booking { background-image: url("/static/hud/icons/sets/classic/booking.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-bookmark { background-image: url("/static/hud/icons/sets/classic/bookmark.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-basemap-street { background-image: url("/static/hud/icons/sets/classic/basemap-street.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-basemap-sat { background-image: url("/static/hud/icons/sets/classic/basemap-sat.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-basemap-outdoors { background-image: url("/static/hud/icons/sets/classic/basemap-outdoors.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-basemap-light { background-image: url("/static/hud/icons/sets/classic/basemap-light.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-basemap-dark { background-image: url("/static/hud/icons/sets/classic/basemap-dark.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-night-auto { background-image: url("/static/hud/icons/sets/classic/night-auto.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-photo { background-image: url("/static/hud/icons/sets/classic/photo.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-draw { background-image: url("/static/hud/icons/sets/classic/draw.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-lock { background-image: url("/static/hud/icons/sets/classic/lock.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-mail { background-image: url("/static/hud/icons/sets/classic/mail.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-copy { background-image: url("/static/hud/icons/sets/classic/copy.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-send { background-image: url("/static/hud/icons/sets/classic/send.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-video { background-image: url("/static/hud/icons/sets/classic/video.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-mic { background-image: url("/static/hud/icons/sets/classic/mic.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-eye { background-image: url("/static/hud/icons/sets/classic/eye.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-bell { background-image: url("/static/hud/icons/sets/classic/bell.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-wifi { background-image: url("/static/hud/icons/sets/classic/wifi.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-cell { background-image: url("/static/hud/icons/sets/classic/cell.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-seat { background-image: url("/static/hud/icons/sets/classic/seat.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-power { background-image: url("/static/hud/icons/sets/classic/power.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-play { background-image: url("/static/hud/icons/sets/classic/play.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-pause { background-image: url("/static/hud/icons/sets/classic/pause.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-restroom { background-image: url("/static/hud/icons/sets/classic/restroom.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-elevator { background-image: url("/static/hud/icons/sets/classic/elevator.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-wheelchair { background-image: url("/static/hud/icons/sets/classic/wheelchair.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-stepfree { background-image: url("/static/hud/icons/sets/classic/stepfree.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-warn { background-image: url("/static/hud/icons/sets/classic/warn.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-clock { background-image: url("/static/hud/icons/sets/classic/clock.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-plus { background-image: url("/static/hud/icons/sets/classic/plus.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-minus { background-image: url("/static/hud/icons/sets/classic/minus.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-expand { background-image: url("/static/hud/icons/sets/classic/expand.png"); }
[data-ll-surface][data-ll-set="classic"] .ll-i-shrink { background-image: url("/static/hud/icons/sets/classic/shrink.png"); }

.ll-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.ll-head .ll-i { width: 24px; height: 24px; border-radius: 6px; }
button.ll-x {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
button.ll-x .ll-i { width: 18px; height: 18px; border-radius: 4px; }

/* --- glass chrome --- */
.ll-hud-root { pointer-events: none; }
.ll-hud-root .ll-hit { pointer-events: auto; }

.ll-fab {
  pointer-events: auto;
  width: 48px;
  height: 48px;
  border: 1px solid var(--ll-panel-border);
  border-radius: 50%;
  background: var(--ll-panel);
  box-shadow: var(--ll-glow-brass), 0 8px 24px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--ll-paper);
  padding: 0;
}
.ll-fab-lg {
  width: 56px;
  height: 56px;
  box-shadow: var(--ll-glow-place), 0 8px 28px rgba(0, 0, 0, 0.4);
}

.ll-scrim {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(2, 3, 6, 0.55);
  z-index: 8200; /* sheets / drawers band — docs/z-index.md */
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.ll-scrim.ll-open { display: block; }

.ll-sheet {
  background:
    linear-gradient(rgba(12, 14, 20, 0.84), rgba(12, 14, 20, 0.9)),
    var(--ll-sheet-bg-image) center / cover no-repeat !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
  box-shadow: var(--ll-glow-brass), 0 -8px 40px rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* Archive lost its positioning when converted to .ll-sheet — it sat in
   document flow and ate every click (tabs, map, docks). Keep it a hidden
   overlay until JS opens it. */
#archiveSheet {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-height: 82vh;
  z-index: 9001;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  pointer-events: auto;
}
#archiveOverlay.ll-scrim { z-index: 9000; }

/* Sheets must not intercept the map until they are actually opened.
   A missing display:none / a lost transform left Feedback (Feature request)
   sitting on top of the HUD so the left dock and QS tabs could not be used. */
#feedbackSheet:not(.fb-open) {
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(110%) !important;
}
#feedbackOverlay:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#archiveSheet:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#archiveOverlay:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#historyOverlay:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#dpOverlay:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#notifSettingsOverlay:not(.ll-open) {
  display: none !important;
  pointer-events: none !important;
}
#notifDrawer:not(.nd-open) {
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(110%) !important;
}

.ll-sheet-handle {
  width: 36px;
  height: 4px;
  background: rgba(232, 196, 120, 0.45);
  border-radius: 2px;
  margin: 10px auto 0;
  flex-shrink: 0;
}
.ll-sheet-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px 10px;
  border-bottom: 1px solid rgba(232, 196, 120, 0.12);
  flex-shrink: 0;
}
.ll-sheet-head h2,
.ll-sheet-title {
  margin: 0;
  flex: 1;
  font-family: var(--ll-font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--ll-paper);
  letter-spacing: 0.04em;
}
.ll-sheet-x {
  background: none;
  border: none;
  padding: 6px;
  cursor: pointer;
  color: var(--ll-paper-dim);
}

.ll-scroll {
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(232, 196, 120, 0.45) rgba(255, 255, 255, 0.04);
}
.ll-scroll::-webkit-scrollbar { width: 10px; }
.ll-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.03);
  border-radius: 6px;
}
.ll-scroll::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(232, 196, 120, 0.55), rgba(160, 128, 72, 0.45));
  border-radius: 6px;
  border: 2px solid transparent;
  background-clip: padding-box;
  box-shadow: 0 0 8px rgba(232, 196, 120, 0.3);
}

.ll-wordmark {
  font-family: var(--ll-font-display);
  letter-spacing: 0.08em;
  color: var(--ll-brass);
  text-shadow: 0 0 12px rgba(232, 196, 120, 0.45);
}

/* ==========================================================================
   Chrome restyle — the custom marks sit ON this language, not on the old
   white/green/indigo circles. Loaded last; !important only where the
   template still has inline styles.
   ========================================================================== */

header {
  background: rgba(12, 14, 20, 0.92) !important;
  border-bottom: 1px solid rgba(232, 196, 120, 0.18) !important;
  /* Do NOT use filter/backdrop-filter/transform on <header>: it becomes the
     containing block for every position:fixed descendant (Notifications,
     Planner, Feedback live in that markup). They then pin to the header
     instead of the viewport and cover the map. */
  font-family: var(--ll-font);
}
#search-input {
  background: rgba(8, 10, 16, 0.85) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  border-radius: 22px !important;
  font-family: var(--ll-font) !important;
}
#search-input::placeholder { color: var(--ll-paper-dim) !important; }
#filterToggleBtn {
  background: var(--ll-slate) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
#userTrigger {
  background: var(--ll-slate) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: var(--ll-glow-brass) !important;
}

.map-fab,
.map-fab-sm,
#fabGridBtn,
#closeNotesFab,
#bookingReqFab,
#arCalFab {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35), var(--ll-glow-brass) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 0 !important;
}
#messengerFab,
#newNoteFabBtn,
.map-fab-lg {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-brass) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), var(--ll-glow-place) !important;
  padding: 0 !important;
}
body.qs-all #newNoteFabBtn {
  background: var(--ll-slate) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), var(--ll-glow-brass) !important;
}
#newNoteFabBtn.fab-first-post-pulse {
  animation: llComposePulse 1.8s ease-out infinite !important;
}
@keyframes llComposePulse {
  0%   { box-shadow: 0 0 0 0 rgba(232, 196, 120, 0.55); }
  70%  { box-shadow: 0 0 0 14px rgba(232, 196, 120, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 196, 120, 0); }
}
#fabGridBtn.active,
#fabMapBtn.active {
  background: rgba(232, 196, 120, 0.16) !important;
  color: var(--ll-brass) !important;
  border-color: var(--ll-brass) !important;
}
#findMeFab.nav-recenter {
  background: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-place) !important;
}

#modeSwitch {
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35) !important;
  background: var(--ll-panel);
  backdrop-filter: blur(12px);
}
.ms-btn {
  background: transparent !important;
  color: var(--ll-paper-dim) !important;
}
.ms-btn.active {
  background: rgba(232, 196, 120, 0.18) !important;
}
.ms-lbl { color: var(--ll-paper-dim) !important; }
.ms-btn.active .ms-lbl { color: var(--ll-brass) !important; }

.fgp-item, .fmp-item {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(12px);
}
.fgp-item.reveal, .fmp-item.reveal {
  background: var(--ll-slate) !important;
}
.fgp-label, .fmp-label { color: var(--ll-paper) !important; }
.fgp-item:hover, .fmp-item:hover { border-color: var(--ll-brass) !important; }

#fsBrowseFab {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: var(--ll-glow-brass) !important;
  backdrop-filter: blur(12px);
  font-family: var(--ll-font) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
}

#scrapeChip {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-brass) !important;
  box-shadow: var(--ll-glow-brass) !important;
}

#qsLayerBtn, .qs-btn {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  backdrop-filter: blur(10px);
  font-family: var(--ll-font);
}
/* Ghost QS band: never paint the empty (or chip-row) container. Chips only. */
#quickSearchBar {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
#quickSearchBar:empty {
  display: none !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* All + Scrape share one HUD row. All is a fixed pill; the bar starts after
   its measured width plus a 10px dock-style gap so Scrape never sits under it. */
#qsLayerBtn {
  top: var(--ll-under-header) !important;
  left: 10px !important;
}
#quickSearchBar {
  top: var(--ll-under-header) !important;
  padding-left: calc(10px + var(--ll-qs-all-w) + 10px) !important;
}
#qsLayerPicker {
  top: calc(var(--ll-under-header) + var(--ll-qs-all-h) + 6px) !important;
  left: 10px !important;
}
#adminToggleBtn {
  top: calc(var(--ll-under-header) + max(var(--ll-qs-band), var(--ll-qs-all-h)) + 8px) !important;
  left: 10px !important;
}

#historyPanel,
#archiveSheet,
#dpPanel,
#feedbackSheet,
#notifDrawer,
#adminPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.5), var(--ll-glow-brass) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  font-family: var(--ll-font) !important;
}
#messengerPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}
#messengerHeader {
  background: transparent !important;
  border-bottom-color: rgba(232, 196, 120, 0.14) !important;
  color: var(--ll-paper) !important;
}

#historyPanel .ll-head,
#archiveSheet .ll-head,
#dpPanel .ll-head,
#feedbackSheet .ll-head,
#messengerTitle {
  color: var(--ll-paper) !important;
}
.hp-tab, .dp-tab, .nd-tab {
  background: transparent !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper-dim) !important;
}
.hp-tab.hp-on, .hp-tab.active,
.dp-tab.active, .nd-tab.nd-on {
  background: rgba(232, 196, 120, 0.16) !important;
  border-color: var(--ll-brass) !important;
  color: var(--ll-brass) !important;
}

#feedbackCategory, #feedbackMessage,
#historyPanel input, #archiveSheet input,
#dpPanel input, #dpPanel textarea, #dpPanel select {
  background: rgba(8, 10, 16, 0.7) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#postKindMenu {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font);
}
.pk-item {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(14px);
}
.pk-icon { background: transparent !important; }
.pk-status .pk-icon,
.pk-place .pk-icon { background: transparent !important; }
.pk-title { color: var(--ll-paper) !important; }
.pk-sub { color: var(--ll-paper-dim) !important; }

#statusSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  font-family: var(--ll-font);
}
#statusText {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#userDropdown {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45), var(--ll-glow-brass) !important;
  backdrop-filter: blur(16px);
}
#userDropdown a,
#userDropdown button,
#userDropdown .user-info,
#userDropdown .username {
  color: var(--ll-paper) !important;
  background: transparent !important;
  border-color: var(--ll-panel-border) !important;
}
#userDropdown a:hover { background: rgba(232, 196, 120, 0.1) !important; }

#notifSettingsPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}
#notifSettingsPanel .ns-row-label,
#notifSettingsPanel .ns-ss-name { color: var(--ll-paper) !important; }
#notifSettingsPanel .ns-freq {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#search-results {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  backdrop-filter: blur(16px);
}
.sr-recovery {
  padding: 10px 14px;
  border-top: 1px solid var(--ll-panel-border);
  background: transparent;
  color: var(--ll-paper);
}
.sr-recovery-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ll-paper-dim);
  margin-bottom: 8px;
}
.sr-recovery-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sr-recovery-chip {
  padding: 5px 10px;
  border: 1px solid var(--ll-panel-border);
  border-radius: 999px;
  background: var(--ll-panel);
  font-size: 12.5px;
  cursor: pointer;
  color: var(--ll-paper);
  font-family: inherit;
}
.sr-recovery-chip:hover,
.sr-recovery-chip:focus {
  border-color: var(--ll-brass);
  color: var(--ll-brass-hot);
  outline: none;
}
.sr-search-this-area {
  margin-top: 8px;
  background: none;
  border: none;
  padding: 0;
  color: var(--ll-brass);
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}
.sr-search-this-area:hover { color: var(--ll-brass-hot); }
.sr-showing-broader,
.sr-did-you-mean {
  padding: 8px 14px;
  font-size: 12px;
  color: var(--ll-brass-hot);
  background: rgba(232, 196, 120, 0.12);
  border-bottom: 1px solid var(--ll-panel-border);
  cursor: pointer;
}
.sr-did-you-mean { font-size: 13px; }

#qsEditPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}

#noteModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
  box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.5), var(--ll-glow-brass) !important;
}
.nm-hdr {
  background: transparent !important;
  border-bottom: 1px solid rgba(232, 196, 120, 0.14) !important;
}
.nm-hdr .modal-header { color: var(--ll-paper) !important; font-family: var(--ll-font-display) !important; }
.nm-drag { background: rgba(232, 196, 120, 0.45) !important; }
#cancelNote { color: var(--ll-paper-dim) !important; }
#saveNote {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
#templatePickerBtn {
  background: rgba(232, 196, 120, 0.12) !important;
  color: var(--ll-brass) !important;
  border-color: var(--ll-panel-border) !important;
}
#templatePickerDropdown {
  background: var(--ll-slate) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.tpl-row-label { color: var(--ll-paper) !important; }
.nm-body { background: transparent !important; color: var(--ll-paper) !important; }
#noteText {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#noteText:focus {
  border-color: var(--ll-brass) !important;
  box-shadow: 0 0 0 3px rgba(232, 196, 120, 0.18) !important;
}
#nmAuthorName { color: var(--ll-paper) !important; }
#nmAuthorSub { color: var(--ll-paper-dim) !important; }
#nmPageTabs { border-color: rgba(232, 196, 120, 0.12) !important; }
.nm-page-tab {
  background: transparent !important;
  color: var(--ll-paper-dim) !important;
  border-color: var(--ll-panel-border) !important;
}
.nm-page-tab.active {
  background: rgba(232, 196, 120, 0.16) !important;
  color: var(--ll-brass) !important;
  border-color: var(--ll-brass) !important;
}
.nm-page-tab .ll-i { width: 16px; height: 16px; border-radius: 4px; }
.nm-toggle-lbl input:checked + .nm-toggle-track { background: var(--ll-brass) !important; }
#noteAllowCommentsLabel { color: var(--ll-brass) !important; }

#filterPanel,
#groupsPanel,
#meetLocalsPanel,
#mapViewPanel,
#noteListPanel,
.lp-panel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.45), var(--ll-glow-brass) !important;
}
#filterPanel > div:first-child,
#groupsPanel > div:first-child,
#meetLocalsPanel > div:first-child,
#noteListPanelHeader,
.lp-header {
  background: transparent !important;
  border-bottom-color: rgba(232, 196, 120, 0.14) !important;
  color: var(--ll-paper) !important;
}
#noteListPanelBody { background: transparent !important; }
#noteListPanelTitle { color: var(--ll-paper) !important; }

#filterPanel input,
#filterPanel select,
#filterPanel textarea,
#groupsPanel input,
#meetLocalsPanel input,
#meetLocalsPanel textarea,
#noteListPanel input,
.lp-panel input,
.lp-panel select {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#noteListNewBtn,
#groupsPanel button[onclick*="CreateGroup"] {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border-color: var(--ll-brass) !important;
}
#noteListNewBtn { background: transparent !important; color: var(--ll-brass) !important; }

.lp-section-label { color: var(--ll-paper-dim) !important; }

#geoNavToast {
  background: var(--ll-slate) !important;
  border: 1px solid var(--ll-panel-border);
}

#landingChip {
  background: var(--ll-slate) !important;
  border: 1px solid var(--ll-panel-border);
}

/* ==========================================================================
   GLOBAL language — type, shape, colour on every surface, not only docks.
   ========================================================================== */
html, body, button, input, select, textarea {
  font-family: var(--ll-font) !important;
}
.np-root { font-family: var(--ll-font) !important; }

dialog {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  font-family: var(--ll-font) !important;
}
dialog:not([open]) { display: none !important; }

.mapboxgl-popup-content {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), var(--ll-glow-brass) !important;
  border: 1px solid var(--ll-panel-border);
}
.mapboxgl-popup-close-button {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: none !important;
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip { border-top-color: var(--ll-slate) !important; }
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip { border-bottom-color: var(--ll-slate) !important; }
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip { border-right-color: var(--ll-slate) !important; }
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip { border-left-color: var(--ll-slate) !important; }

.np-root { background: transparent; color: var(--ll-paper); }
.np-username { color: var(--ll-brass) !important; }
.np-text { color: var(--ll-paper) !important; }
.np-privacy.pub { background: rgba(61, 155, 110, 0.22) !important; color: var(--ll-place-hot) !important; }
.np-privacy.fri { background: rgba(232, 196, 120, 0.22) !important; color: var(--ll-brass) !important; }
.np-privacy.fof { background: rgba(232, 196, 120, 0.12) !important; color: var(--ll-brass-hot) !important; }
.np-privacy.prv { background: rgba(226, 75, 75, 0.18) !important; color: #f0a0a0 !important; }
.np-evt {
  background: rgba(232, 196, 120, 0.1) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.np-evt-title { color: var(--ll-brass) !important; }
.np-status-dm {
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
}
.nl-item-row { background: transparent !important; }
.nl-item-text { color: var(--ll-paper) !important; }
.nl-item-num { background: var(--ll-brass) !important; color: var(--ll-slate) !important; }

.lp-header { color: var(--ll-paper) !important; border-bottom-color: rgba(232, 196, 120, 0.14) !important; }
.lp-disclaimer {
  background: rgba(232, 196, 120, 0.08) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper-dim) !important;
}

.hdr-priv-btn {
  background: var(--ll-slate) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

/* Auth (login / register) — same world as the map HUD */
.auth-container {
  background: var(--ll-slate) !important;
  font-family: var(--ll-font) !important;
}
.auth-card {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45), var(--ll-glow-brass) !important;
  backdrop-filter: blur(18px);
}
.auth-header h1 {
  font-family: var(--ll-font-display) !important;
  color: var(--ll-brass) !important;
}
.auth-header p { color: var(--ll-paper-dim) !important; }
.input-group input {
  background: rgba(8, 10, 16, 0.85) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.input-group input:focus {
  border-color: var(--ll-brass) !important;
  box-shadow: 0 0 0 4px rgba(232, 196, 120, 0.18) !important;
}
.auth-button {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
.auth-footer { border-top-color: rgba(232, 196, 120, 0.14) !important; color: var(--ll-paper-dim) !important; }
.auth-footer a { color: var(--ll-brass) !important; }

html, body {
  background: var(--ll-slate) !important;
}
.ob-wrap { font-family: var(--ll-font) !important; }
.ob-card {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  box-shadow: 0 24px 72px rgba(0, 0, 0, 0.45), var(--ll-glow-brass) !important;
}

/* Guest map */
#pv-header {
  background: rgba(12, 14, 20, 0.78) !important;
  border-bottom: 1px solid rgba(232, 196, 120, 0.18) !important;
}
#pv-logo, #pv-logo span {
  color: var(--ll-brass) !important;
  -webkit-text-fill-color: var(--ll-brass) !important;
  background: none !important;
  font-family: var(--ll-font-display) !important;
}
.pv-btn-ghost {
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.pv-btn-ghost:hover { background: rgba(232, 196, 120, 0.12) !important; }
.pv-btn-solid {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}

/* The baked slate plate is now removed by the screen blend on .ll-i (see the
   sizing block); the round clip stays as a backstop so any plate remnant on an
   unexpected light backdrop crops to the button's own shape. */
.map-fab .ll-i,
#fabGridBtn .ll-i,
#messengerFab .ll-i,
#newNoteFabBtn .ll-i,
#filterToggleBtn .ll-i,
#userTrigger .ll-i,
.fgp-icon .ll-i,
.ms-btn .ll-i {
  border-radius: 50%;
}

/* ---- Kill leftover paper-white / grey UI ---- */
[style*="background:white"],
[style*="background: white"],
[style*="background:#fff"],
[style*="background: #fff"],
[style*="background:#ffffff"],
[style*="background:#fafafa"],
[style*="background:#f9fafb"],
[style*="background:#f0f4f8"],
[style*="background:#f3f4f6"],
[style*="background:#fafbfc"],
[style*="background:#fff;"] {
  background: var(--ll-panel) !important;
}

/* Divider lines inside note cards were authored for white cards (#e5e7eb,
   #f3f4f6, #eee, …) and read as glaring white rules on the dark HUD. Retint
   them relative to the theme instead of absolute grey. Scoped to note
   surfaces so deliberate whites elsewhere (map marker rings, .mkr contract)
   are untouched. Attribute-substring selectors lose to JS style writes
   (see the dark-mode inline-styles note) — acceptable for a polish pass. */
:root { --ll-line: rgba(236, 230, 218, 0.16); }
:is(.mapboxgl-popup-content, .fs-card, #noteModal, #fsBrowsePanel)
:is([style*="#e5e7eb"], [style*="#f3f4f6"], [style*="#f0f0f0"],
    [style*="solid #eee"], [style*="#f9fafb"], [style*="solid white"]) {
  border-color: var(--ll-line) !important;
}
[style*="color:#111827"],
[style*="color:#1f2937"],
[style*="color:#374151"],
[style*="color:#1a1a2e"],
[style*="color:#222"],
[style*="color:#333"],
[style*="color:#111"],
[style*="color:#1a1a1a"] {
  color: var(--ll-paper) !important;
}

/* Games — whole dialog, not just the grid icon */
#gameModal,
#gameBuilderModal,
#gameModerationModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 16px 56px rgba(0, 0, 0, 0.5), var(--ll-glow-brass) !important;
  font-family: var(--ll-font) !important;
}
#gameModal::backdrop,
#gameBuilderModal::backdrop,
#gameModerationModal::backdrop {
  background: rgba(2, 3, 6, 0.62) !important;
}
.gm-header,
.gb-header {
  background: transparent !important;
  border-bottom: 1px solid rgba(232, 196, 120, 0.14) !important;
}
.gm-title, .gb-title { color: var(--ll-paper) !important; font-family: var(--ll-font-display) !important; }
.gm-tabs { border-bottom-color: rgba(232, 196, 120, 0.14) !important; }
.gm-tab { color: var(--ll-paper-dim) !important; background: none !important; }
.gm-tab.active { color: var(--ll-brass) !important; border-bottom-color: var(--ll-brass) !important; }
body.dark .gm-tab.active {
  color: var(--ll-brass) !important;
  border-bottom-color: var(--ll-brass) !important;
}
.gm-body, .gb-body { background: transparent !important; color: var(--ll-paper) !important; }
.gm-section-title { color: var(--ll-paper-dim) !important; }
.gm-head-act { background: rgba(232, 196, 120, 0.12) !important; color: var(--ll-paper) !important; }
#gmHdrNew {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 7px 13px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}
.gm-ptab {
  background: rgba(8, 10, 16, 0.6) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper-dim) !important;
}
.gm-ptab.active {
  background: rgba(232, 196, 120, 0.16) !important;
  border-color: var(--ll-brass) !important;
  color: var(--ll-brass) !important;
}
.invite-banner { background: rgba(232, 196, 120, 0.1) !important; border-color: var(--ll-panel-border) !important; color: var(--ll-paper) !important; }
.invite-btn.accept { background: var(--ll-brass) !important; color: var(--ll-slate) !important; }

/* Full-screen note reader */
.nr-shell {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}
.nr-head {
  background: rgba(12, 14, 20, 0.92) !important;
  border-bottom: 1px solid rgba(232, 196, 120, 0.14) !important;
}
.nr-back { background: var(--ll-panel) !important; color: var(--ll-paper) !important; }
.nr-who, .nr-text, .nr-link-title { color: var(--ll-paper) !important; }
.nr-where, .nr-cap { color: var(--ll-paper-dim) !important; }
.nr-chip { background: var(--ll-panel) !important; color: var(--ll-paper-dim) !important; }
.nr-bar {
  background: rgba(12, 14, 20, 0.94) !important;
  border-top: 1px solid rgba(232, 196, 120, 0.14) !important;
}
.nr-btn {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.nr-menu {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
}
.nr-menu button { color: var(--ll-paper) !important; border-bottom-color: rgba(232, 196, 120, 0.1) !important; }
.nr-tpl, .nr-ev {
  background: rgba(232, 196, 120, 0.1) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
}

.np-act {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.nm-info-strip, .nm-seg {
  background: rgba(8, 10, 16, 0.5) !important;
  border-color: var(--ll-panel-border) !important;
}
.exc-tab {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper-dim) !important;
}
.mvp-style-btn, .mvp-pin-form {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#qsLayerPicker, #qsShareBox {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.qslp-row:hover { background: rgba(232, 196, 120, 0.1) !important; }
#tipsModal { background: var(--ll-panel) !important; }
.tm-header { background: var(--ll-slate) !important; }
.tm-body, .tm-footer { background: var(--ll-panel) !important; color: var(--ll-paper) !important; }
.tm-tip-title { color: var(--ll-paper) !important; }
.tm-cta { background: var(--ll-brass) !important; color: var(--ll-slate) !important; }

#fsTextEditor, #fsTextEditor::backdrop { background: var(--ll-slate) !important; color: var(--ll-paper) !important; }

#gmHdrBack, #gmHdrNew, .gm-head-act { font-family: var(--ll-font) !important; }

[style*="background:#667eea"],
[style*="background: #667eea"],
[style*="background:linear-gradient(135deg,#667eea"],
[style*="background:linear-gradient(135deg,#8b5cf6"] {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}

.game-card { border-bottom-color: rgba(232, 196, 120, 0.1) !important; }
.game-card:hover { background: rgba(232, 196, 120, 0.08) !important; }
.game-card-name { color: var(--ll-paper) !important; }
.game-card-sub { color: var(--ll-paper-dim) !important; }

.gb-label, .gb-title { color: var(--ll-paper) !important; }
.gb-input, .gb-select, .gb-textarea, .gp-share-input {
  background: rgba(8, 10, 16, 0.75) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.gb-input:focus { border-color: var(--ll-brass) !important; }
.gb-quest-card, .gb-qcard {
  background: rgba(8, 10, 16, 0.55) !important;
  border-color: var(--ll-panel-border) !important;
}
.gb-qcard-title { color: var(--ll-paper) !important; }
.gb-qchip { background: var(--ll-panel) !important; color: var(--ll-paper-dim) !important; }

#shareToSheet, #boostSheet, #buyLoopsModal, #giveLoopsModal,
#csvWizard, #evtModal, #coverageModal, #aiItineraryModal,
#aiCreditsModal, #editProfileModal, #friendsModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}
#boostSheet > div:first-child,
#buyLoopsModal > div:first-child {
  background: var(--ll-slate) !important;
}
#boostSheet > div:last-child,
#buyLoopsModal > div:last-child {
  background: transparent !important;
  color: var(--ll-paper) !important;
}

.evt-sub-body, .evt-field input, .evt-field select,
.evt-card input, .evt-card textarea, .evtm-input, #evtModal {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

.nc-card, .nc-search-row, .nc-search-results, .nc-hdr {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
  border-color: var(--ll-panel-border) !important;
}
.nc-search-x { background: var(--ll-slate) !important; color: var(--ll-paper) !important; }

.fs-block-card, .poll-card {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}

.dp-picker-cal, .dp-when-tab {
  background: rgba(8, 10, 16, 0.6) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.dp-when-tab.active {
  background: rgba(232, 196, 120, 0.12) !important;
  border-color: var(--ll-brass) !important;
}
.dp-when-tab-v, .dp-slot-title { color: var(--ll-paper) !important; }
.dp-slot-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  border-radius: 8px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.dp-slot-btn .ll-i { width: 12px; height: 12px; }
.dp-slot-btn:hover {
  border-color: var(--ll-brass) !important;
  color: var(--ll-brass) !important;
}
.fscprev-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}
.fscprev-cta .ll-i { width: 12px; height: 12px; }
.np-cprev-add {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: var(--ll-panel) !important;
  color: var(--ll-paper-dim) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.np-cprev-add .ll-i { width: 12px; height: 12px; }
.dp-day-note-toggle {
  color: var(--ll-paper-dim) !important;
}
.dp-day-note-toggle .ll-i { width: 14px; height: 14px; }
.dp-slot-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.dp-slot-badge .ll-i { width: 11px; height: 11px; }
.ll-grip,
.dp-grip,
.dir-stop-handle,
.gb-qcard-grip,
.mvp-drag-handle,
.mpi-drag,
.nl-drag-handle {
  width: 14px !important;
  height: 22px !important;
  margin-left: -4px;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: transparent !important;
  background-image: radial-gradient(circle, var(--ll-brass) 1.15px, transparent 1.3px) !important;
  background-size: 6px 6px !important;
  background-repeat: repeat !important;
  background-position: 1px 2px !important;
  opacity: 0.9;
  flex-shrink: 0;
}
.nm-sec-panel-title {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  color: var(--ll-paper) !important;
}
.nm-time-sub-hdr {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--ll-paper) !important;
}
.nm-sec-panel-title .ll-i,
.nm-time-sub-hdr .ll-i { width: 14px; height: 14px; }
#lpOpenFromEditBtn .ll-i { width: 14px; height: 14px; }
#courierPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.cr-head {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  border-bottom: 1px solid var(--ll-panel-border) !important;
}
.cr-head .ll-head { color: var(--ll-paper) !important; }
.cr-head .ll-i { width: 18px; height: 18px; }
.cr-head-btn {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
}
#mlCourierCard {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#mlCourierCard .ll-head { color: var(--ll-paper) !important; }
#mlCourierCard .ll-i { width: 16px; height: 16px; }
[data-crtab] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
[data-crtab] .ll-i { width: 12px; height: 12px; }

.cart-qty-btn {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.lp-add-card-form { background: rgba(8, 10, 16, 0.5) !important; border-color: var(--ll-panel-border) !important; }

#nmPlaceSearchWrap, #nmPlaceRow {
  background: transparent !important;
  border-color: var(--ll-panel-border) !important;
}

/* Wave 2 docks — glass clusters. History lives in the grid only. */
#histFab,
#courierLayerFab { display: none !important; }

#mapFabStack,
#mapFabStackLeft {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  max-width: none;
}
.ll-dock {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px;
  background: var(--ll-panel);
  border: 1px solid var(--ll-panel-border);
  border-radius: 28px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4), var(--ll-glow-brass);
  pointer-events: auto;
}

.hp-tab, .dp-tab, .gm-tab, .nm-page-tab, .ms-btn, .nd-tab {
  pointer-events: auto !important;
  cursor: pointer !important;
  position: relative;
  z-index: 2;
}

.hp-feed, #archiveList, .gm-body, .gb-body, #noteListPanelBody, #groupsPanelList {
  scrollbar-width: thin !important;
  scrollbar-color: rgba(232, 196, 120, 0.45) rgba(255, 255, 255, 0.04) !important;
  overscroll-behavior: contain;
}
.hp-feed::-webkit-scrollbar,
#archiveList::-webkit-scrollbar,
.gm-body::-webkit-scrollbar,
.gb-body::-webkit-scrollbar,
#noteListPanelBody::-webkit-scrollbar { width: 10px; }
.hp-feed::-webkit-scrollbar-thumb,
#archiveList::-webkit-scrollbar-thumb,
.gm-body::-webkit-scrollbar-thumb,
.gb-body::-webkit-scrollbar-thumb,
#noteListPanelBody::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(232, 196, 120, 0.55), rgba(160, 128, 72, 0.45));
  border-radius: 6px;
}

.auth-container {
  background:
    linear-gradient(rgba(12, 14, 20, 0.72), rgba(12, 14, 20, 0.82)),
    var(--ll-auth-bg-image) center / cover no-repeat !important;
}

/* Legible gold glow on HUD type */
.ll-head, .ll-wordmark, .gm-title, .gb-title, #pv-logo, .hs-lab {
  color: var(--ll-brass-hot) !important;
  text-shadow: 0 0 12px rgba(232, 196, 120, 0.55), 0 1px 2px rgba(0, 0, 0, 0.85);
}
header, .ll-sheet, #mapViewPanel, #hudStudio, .fgp-label {
  text-shadow: 0 0 8px rgba(232, 196, 120, 0.22);
}

/* Grid labels stay on hover (they used to flash once then vanish) */
.fgp-item:hover,
.fgp-item:focus-visible {
  width: auto !important;
  max-width: 220px !important;
  overflow: visible !important;
}
.fgp-item:hover .fgp-label,
.fgp-item:focus-visible .fgp-label {
  opacity: 1 !important;
  color: var(--ll-brass-hot) !important;
  text-shadow: 0 0 10px rgba(232, 196, 120, 0.7);
}

/* Custom scroll on every overflowing HUD surface */
#mapViewPanel, #filterPanel, #groupsPanel, #notifSettingsPanel,
#noteListPanelBody, #messengerPanel,
#webResultsList, #hudStudioBody, .nm-body, .lp-panel {
  scrollbar-width: thin;
  scrollbar-color: rgba(232, 196, 120, 0.5) rgba(255, 255, 255, 0.04);
}
#mapViewPanel::-webkit-scrollbar,
#filterPanel::-webkit-scrollbar,
#groupsPanel::-webkit-scrollbar,
#notifSettingsPanel::-webkit-scrollbar,
#noteListPanelBody::-webkit-scrollbar,
.nm-body::-webkit-scrollbar,
#hudStudioBody::-webkit-scrollbar { width: 10px; }
#mapViewPanel::-webkit-scrollbar-thumb,
#filterPanel::-webkit-scrollbar-thumb,
#groupsPanel::-webkit-scrollbar-thumb,
#notifSettingsPanel::-webkit-scrollbar-thumb,
#noteListPanelBody::-webkit-scrollbar-thumb,
.nm-body::-webkit-scrollbar-thumb,
#hudStudioBody::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(232, 196, 120, 0.6), rgba(160, 128, 72, 0.45));
  border-radius: 6px;
}

#mapViewOverlay.ll-open { display: block !important; z-index: 9998; }
#mapViewPanel {
  background:
    linear-gradient(rgba(12, 14, 20, 0.88), rgba(12, 14, 20, 0.92)),
    var(--ll-sheet-bg-image) center / cover no-repeat !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
  border-left: 1px solid var(--ll-panel-border) !important;
}
#mapViewPanel .ll-sheet-head { padding: 14px 14px 10px; }

#hudStudio {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  max-height: 78vh;
  z-index: 9600;
  background:
    linear-gradient(rgba(12, 14, 20, 0.88), rgba(12, 14, 20, 0.94)),
    var(--ll-sheet-bg-image) center / cover no-repeat;
  border: 1px solid var(--ll-panel-border);
  border-radius: 18px 18px 0 0;
  color: var(--ll-paper);
  font-family: var(--ll-font);
  flex-direction: column;
  overflow: hidden;
  box-shadow: var(--ll-glow-brass);
}
#hudStudio.ll-open { display: flex; }
#hudStudioOverlay.ll-open { display: block !important; z-index: 9599; }
.hs-lead { font-size: 13px; color: var(--ll-paper-dim); line-height: 1.5; margin: 0 0 14px; }
.hs-lab { display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin: 12px 0 6px; }
#hudStudio input[type="range"] { width: 100%; accent-color: var(--ll-brass); }
#hudStudio input[type="color"] { width: 64px; height: 36px; border: 1px solid var(--ll-panel-border); background: var(--ll-slate); border-radius: 8px; }
#hudStudio select {
  width: 100%; padding: 8px 10px; border-radius: 8px;
  background: rgba(8, 10, 16, 0.8); color: var(--ll-paper);
  border: 1px solid var(--ll-panel-border); font-family: var(--ll-font);
}
.hs-packs { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-pack {
  padding: 8px 12px; border-radius: 20px; cursor: pointer;
  border: 1px solid var(--ll-panel-border); background: rgba(8, 10, 16, 0.6);
  color: var(--ll-paper); font-family: var(--ll-font); font-size: 13px; font-weight: 600;
}
.hs-pack.on { border-color: var(--ll-brass); color: var(--ll-brass); box-shadow: var(--ll-glow-brass); }
.hs-reset {
  margin-top: 18px; width: 100%; padding: 10px;
  border-radius: 10px; border: 1px solid var(--ll-panel-border);
  background: transparent; color: var(--ll-paper-dim); cursor: pointer; font-family: var(--ll-font);
}

#llTip {
  position: fixed; z-index: 2147483000; pointer-events: none;
  max-width: 240px; padding: 7px 11px;
  background: rgba(12, 14, 20, 0.94);
  border: 1px solid var(--ll-panel-border);
  border-radius: 8px;
  color: var(--ll-brass-hot);
  font-family: var(--ll-font-display);
  font-size: 12px; letter-spacing: 0.04em;
  text-shadow: 0 0 10px rgba(232, 196, 120, 0.55);
  box-shadow: var(--ll-glow-brass);
  opacity: 0; transform: translateY(4px);
  transition: opacity 0.12s, transform 0.12s;
}
#llTip.ll-tip-on { opacity: 1; transform: translateY(0); }

html[data-ll-pack="steel"] .ll-i { filter: grayscale(1) brightness(1.25) contrast(1.15); }
html[data-ll-pack="copper"] .ll-i { filter: hue-rotate(-28deg) saturate(1.35) brightness(1.05); }
html[data-ll-pack="jade"] .ll-i { filter: hue-rotate(88deg) saturate(0.95) brightness(1.05); }
html[data-ll-pack="bone"] .ll-i { filter: grayscale(1) brightness(1.65) contrast(0.82) sepia(0.15); }
[data-ll-pack="steel"] .ll-i { filter: grayscale(1) brightness(1.25) contrast(1.15); }
[data-ll-pack="copper"] .ll-i { filter: hue-rotate(-28deg) saturate(1.35) brightness(1.05); }
[data-ll-pack="jade"] .ll-i { filter: hue-rotate(88deg) saturate(0.95) brightness(1.05); }
[data-ll-pack="bone"] .ll-i { filter: grayscale(1) brightness(1.65) contrast(0.82) sepia(0.15); }

/* Per-surface token remap. Root values live on --ll-*-root so nested
   --ll-brass: var(--ll-docks-brass, var(--ll-brass)) cannot cycle. */
[data-ll-surface="docks"] {
  --ll-brass: var(--ll-docks-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-docks-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-docks-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}
[data-ll-surface="sheets"] {
  --ll-brass: var(--ll-sheets-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-sheets-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-sheets-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}
[data-ll-surface="composer"] {
  --ll-brass: var(--ll-composer-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-composer-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-composer-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}
[data-ll-surface="dialogs"] {
  --ll-brass: var(--ll-dialogs-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-dialogs-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-dialogs-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}
[data-ll-surface="browse"] {
  --ll-brass: var(--ll-browse-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-browse-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-browse-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}
[data-ll-surface="search"] {
  --ll-brass: var(--ll-search-brass, var(--ll-brass-root));
  --ll-panel: var(--ll-search-panel, var(--ll-panel-root, rgba(12, 14, 20, 0.78)));
  --ll-panel-border: var(--ll-search-border, var(--ll-border-root, rgba(232, 196, 120, 0.28)));
}

/* Sit scrape / geo toast / Mapbox under the real header, not a ghost QS band. */
#scrapeChip,
#geoNavToast,
#qsLowResultsBar {
  top: calc(var(--ll-under-header) + var(--ll-qs-band)) !important;
}
.mapboxgl-ctrl-top-left {
  top: calc(var(--ll-under-header) + var(--ll-qs-band)) !important;
}

/* Post → place template rows (was frosted white). */
.fab-tpl-item {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), var(--ll-glow-brass) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  font-family: var(--ll-font) !important;
}
.fab-tpl-icon {
  background: rgba(8, 10, 16, 0.7) !important;
  border: 1px solid var(--ll-panel-border);
  overflow: hidden;
}
.fab-tpl-icon .ll-i { width: 18px; height: 18px; border-radius: 4px; }
.fab-tpl-themed .fab-tpl-icon {
  background: rgba(232, 196, 120, 0.16) !important;
  border-color: var(--ll-brass) !important;
}
.fab-tpl-blank .fab-tpl-icon { background: rgba(8, 10, 16, 0.7) !important; }
#fabTplScrollArea.can-scroll::before {
  background: linear-gradient(to bottom, rgba(12, 14, 20, 0.95), transparent) !important;
}
#fabTplLayerLabel { color: var(--ll-brass) !important; }

.pk-item {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.pk-status .pk-icon,
.pk-place .pk-icon {
  background: rgba(8, 10, 16, 0.75) !important;
  border: 1px solid var(--ll-panel-border);
}
.pk-icon .ll-i { width: 22px; height: 22px; }

#statusPhotoThumb {
  background: rgba(232, 196, 120, 0.1) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.ll-status-photo {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  border-radius: 10px !important;
  padding: 9px 13px !important;
  cursor: pointer;
}
#statusPostBtn {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
  border: none !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

.mvp-style-btn {
  display: inline-flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: rgba(8, 10, 16, 0.7) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
  border-radius: 10px !important;
  padding: 10px 8px !important;
  font-family: var(--ll-font) !important;
}
.mvp-style-btn .ll-i { width: 28px; height: 28px; border-radius: 8px; }
.mvp-style-btn:hover:not(.mvp-active) {
  background: rgba(232, 196, 120, 0.1) !important;
  border-color: var(--ll-brass) !important;
}
.mvp-style-btn.mvp-active {
  border-color: var(--ll-brass) !important;
  color: var(--ll-brass) !important;
  background: rgba(232, 196, 120, 0.16) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
.mvp-title { color: var(--ll-paper-dim) !important; }
.mvp-section { border-bottom-color: rgba(232, 196, 120, 0.12) !important; }

.hs-surfs, .hs-sets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.hs-surf, .hs-set {
  padding: 8px 12px; border-radius: 20px; cursor: pointer;
  border: 1px solid var(--ll-panel-border); background: rgba(8, 10, 16, 0.6);
  color: var(--ll-paper); font-family: var(--ll-font); font-size: 13px; font-weight: 600;
}
.hs-surf.on, .hs-set.on { border-color: var(--ll-brass); color: var(--ll-brass); box-shadow: var(--ll-glow-brass); }
.hs-inherit {
  display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ll-paper-dim); margin: 8px 0 12px;
}

#filterPanel [style*="background:#fafafa"],
#filterPanel [style*="background: #fafafa"] {
  background: rgba(8, 10, 16, 0.45) !important;
}
#filterPanel [style*="position:sticky"] {
  background: var(--ll-panel) !important;
  border-bottom-color: rgba(232, 196, 120, 0.14) !important;
}

#fsOverlay {
  background: rgba(12, 14, 20, 0.92) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}

.input-group .icon,
.ob-field .f-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.input-group .icon .ll-i,
.ob-field .f-icon .ll-i,
#geoNavToast .ll-i,
#qsLayerBtn .ll-i {
  width: 18px;
  height: 18px;
  border-radius: 4px;
}

.qs-share-copy {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.qs-share-copy .ll-i { width: 16px; height: 16px; }
#qsShareBox h3 {
  color: var(--ll-paper) !important;
  font-family: var(--ll-font-display) !important;
  display: flex;
  align-items: center;
  gap: 8px;
}

#dmImgBtn, #dmVidBtn, #dmMicBtn, #dmPlaceBtn {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#dmImgBtn .ll-i, #dmVidBtn .ll-i, #dmMicBtn .ll-i, #dmPlaceBtn .ll-i,
#messengerSendBtn .ll-i { width: 18px; height: 18px; }
.ns-row-label .ll-i, .fsovm-item .ll-i, .toggle-pw .ll-i, #pwToggle .ll-i,
#notifDrawer .ll-i, #lpTabSettings .ll-i { width: 16px; height: 16px; }
.fsovm-item { display: flex; align-items: center; gap: 8px; }
#messengerInputArea {
  background: var(--ll-panel) !important;
  border-top-color: rgba(232, 196, 120, 0.14) !important;
}
#messengerConvList, #messengerThread {
  background: transparent !important;
  color: var(--ll-paper) !important;
}
#messengerSendBtn {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none !important;
}
#fsCloseBtn {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.fs-info-act .ll-i { width: 16px; height: 16px; }
#fsPlayIcon .ll-i { width: 16px; height: 16px; }
#dirSheetTitle .ll-i { width: 16px; height: 16px; }

.mapboxgl-ctrl-top-right {
  top: 10px !important;
  right: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl {
  margin: 0 !important;
}
.mapboxgl-ctrl-top-right .mapboxgl-ctrl-group {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.mapboxgl-ctrl-zoom-in,
.mapboxgl-ctrl-zoom-out,
.mapboxgl-ctrl-fullscreen,
.mapboxgl-ctrl-shrink,
.mapboxgl-ctrl-compass {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.35), var(--ll-glow-brass) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  margin: 0 !important;
  padding: 0 !important;
}
.mapboxgl-ctrl-zoom-in:hover,
.mapboxgl-ctrl-zoom-out:hover,
.mapboxgl-ctrl-fullscreen:hover,
.mapboxgl-ctrl-shrink:hover {
  transform: scale(1.08);
}
.mapboxgl-ctrl-group button + button {
  border-top: none !important;
}
.mapboxgl-ctrl-icon {
  filter: none !important;
  background-color: transparent !important;
  background-size: 22px 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 22px !important;
  height: 22px !important;
  display: inline-block !important;
}
.mapboxgl-ctrl-group button svg { display: none !important; }
.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/classic/plus.png") !important;
}
.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/classic/minus.png") !important;
}
.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/classic/expand.png") !important;
}
.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/classic/shrink.png") !important;
}
html[data-ll-set="relief"] .mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/relief/plus.png") !important;
}
html[data-ll-set="relief"] .mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/relief/minus.png") !important;
}
html[data-ll-set="relief"] .mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/relief/expand.png") !important;
}
html[data-ll-set="relief"] .mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
  background-image: url("/static/hud/icons/sets/relief/shrink.png") !important;
}

.np-act {
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.np-act.green, .np-act.orange, .np-act.indigo, .np-act.blue {
  background: var(--ll-panel) !important;
  border-color: var(--ll-panel-border) !important;
}
.np-act .ll-i { width: 16px; height: 16px; }
.np-act-label { color: var(--ll-paper-dim) !important; }
.npo-item {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
.npo-item .ll-i { width: 14px; height: 14px; margin-right: 6px; }
.np-go {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: var(--ll-panel) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 8px;
  padding: 4px 9px;
  font-size: 11px;
  color: var(--ll-brass) !important;
  font-weight: 600;
  cursor: pointer;
}
.np-go .ll-i { width: 12px; height: 12px; }
#fsPlayIcon .ll-i { width: 16px; height: 16px; }

/* ── HARD-FOCUS: Advanced Search ── */
#filterPanel .fl-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(232, 196, 120, 0.14);
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--ll-panel) !important;
}
#filterPanel .fl-saved-bar {
  padding: 10px 16px;
  border-bottom: 1px solid rgba(232, 196, 120, 0.12);
  background: rgba(8, 10, 16, 0.35) !important;
}
#filterPanel .fl-tool {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 6px;
  font-size: 12px;
  cursor: pointer;
}
#filterPanel .fl-tool .ll-i { width: 14px; height: 14px; }
#filterPanel .fl-apply {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none;
  border-radius: 8px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: var(--ll-glow-brass);
}
#filterPanel .fl-apply .ll-i { width: 16px; height: 16px; }
#filterPanel .fl-clear {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  background: transparent !important;
  color: var(--ll-paper-dim) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 8px;
  cursor: pointer;
}
#filterPanel .fl-add-include,
#filterPanel .fl-add-exclude {
  flex: 1;
  padding: 9px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  background: rgba(8, 10, 16, 0.55) !important;
}
#filterPanel .fl-add-include {
  color: var(--ll-place-hot) !important;
  border: 1px dashed var(--ll-place) !important;
}
#filterPanel .fl-add-exclude {
  color: var(--ll-signal) !important;
  border: 1px dashed var(--ll-signal) !important;
}
#filterPanel .fl-empty {
  text-align: center;
  padding: 32px 0;
  color: var(--ll-paper-dim) !important;
  font-size: 14px;
}
#filterPanel .fl-hint { font-size: 11px; color: var(--ll-paper-dim) !important; margin-top: 6px; line-height: 1.4; }
#filterPanel #softSearchBox {
  padding: 10px 16px;
  border-bottom: 1px solid rgba(232, 196, 120, 0.12);
}
#filterPanel #softSearchInput {
  width: 100%;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
  resize: vertical;
  box-sizing: border-box;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#filterPanel #softSearchExamples .fl-tool { font-size: 11px; padding: 4px 8px; }
#filterPanel .fl-layer {
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 10px;
  background: rgba(8, 10, 16, 0.55) !important;
  margin-bottom: 10px;
  overflow: hidden;
}
#filterPanel .fl-layer-include { border-color: var(--ll-place) !important; }
#filterPanel .fl-layer-exclude { border-color: var(--ll-signal) !important; }
#filterPanel .fl-layer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(232, 196, 120, 0.12);
}
#filterPanel .fl-mode-btn {
  padding: 3px 10px;
  border-radius: 20px;
  border: none;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  color: var(--ll-slate);
}
#filterPanel .fl-layer-include .fl-mode-btn { background: var(--ll-place) !important; }
#filterPanel .fl-layer-exclude .fl-mode-btn { background: var(--ll-signal) !important; color: #fff; }
#filterPanel .fl-layer-body { padding: 8px 12px; }
#filterPanel .fl-facet-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}
#filterPanel .fl-facet-label {
  font-size: 12px;
  color: var(--ll-paper) !important;
  min-width: 120px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#filterPanel .fl-facet-label .ll-i { width: 14px; height: 14px; }
#filterPanel .fl-facet-rm {
  background: transparent !important;
  border: 1px solid var(--ll-signal) !important;
  border-radius: 50%;
  color: var(--ll-signal) !important;
  cursor: pointer;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}
#filterPanel .fl-add-facet {
  width: 100%;
  padding: 5px 8px;
  border: 1px dashed var(--ll-panel-border) !important;
  border-radius: 6px;
  font-size: 12px;
  color: var(--ll-paper-dim) !important;
  background: rgba(8, 10, 16, 0.7) !important;
}
#cfPanelChips .cf-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#cfPanelChips .cf-chip.active {
  border-color: var(--ll-brass) !important;
  color: var(--ll-brass) !important;
}
#cfPanelChips .cf-chip .ll-i { width: 12px; height: 12px; }
#cfPanelChips .cf-clear {
  background: transparent !important;
  color: var(--ll-paper-dim) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.mp-head {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  border-bottom: 1px solid var(--ll-panel-border);
}
.mp-act {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
.mp-say {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.mp-say .ll-i { width: 16px; height: 16px; }

#filterPanel .fl-save-box {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  border-radius: 18px;
  padding: 24px;
  width: 320px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), var(--ll-glow-brass);
}

/* ── HARD-FOCUS: Profile ── */
#editProfileModal,
#myProfileModal,
#profileModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  font-family: var(--ll-font) !important;
}
#editProfileModal > div,
#editProfileContent,
#myProfileContent,
#profileContent {
  background: transparent !important;
  color: var(--ll-paper) !important;
}
#editProfileModal h2, #editProfileModal label, #profileEmailAddr { color: var(--ll-paper) !important; }
#editProfileModal textarea, #editProfileModal input {
  background: rgba(8, 10, 16, 0.7) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.ep-lab {
  font-size: 12px;
  font-weight: 700;
  color: var(--ll-paper-dim) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ep-lab .ll-i, .ep-affix .ll-i, .ep-photo-btn .ll-i { width: 14px; height: 14px; }
.ep-photo-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border-radius: 6px;
  cursor: pointer;
  font-size: 13px;
  margin-top: 4px;
}
.ep-affix {
  padding: 0 8px;
  display: flex;
  align-items: center;
  background: rgba(8, 10, 16, 0.55) !important;
  border-right: 1px solid var(--ll-panel-border);
}
.hdr-priv-btn {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.hdr-priv-btn.sel {
  border-color: var(--ll-brass) !important;
  box-shadow: var(--ll-glow-brass);
}
.hdr-priv-btn .ll-i { width: 16px; height: 16px; }
.mp-act-i .ll-i { width: 16px; height: 16px; }
.hdr-priv-more {
  width: 100%;
  margin-top: 8px;
  padding: 7px 0;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 9px;
  background: rgba(8, 10, 16, 0.55) !important;
  font-size: 12px;
  font-weight: 600;
  color: var(--ll-brass) !important;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.hdr-priv-more .ll-i { width: 14px; height: 14px; }
#userDropdown .ud-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 16px;
  color: var(--ll-paper) !important;
  text-decoration: none;
}
#userDropdown .ud-row-split { justify-content: space-between; padding: 0; }
#userDropdown .ud-row-split > .ud-row { flex: 1; }
#userDropdown .ud-count {
  display: none;
  background: var(--ll-signal);
  color: #fff;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  min-width: 20px;
  height: 20px;
  text-align: center;
  line-height: 20px;
  padding: 0 5px;
  margin-right: 16px;
}
#userDropdown .logout { color: var(--ll-signal) !important; border-top: 1px solid rgba(232, 196, 120, 0.12); }
#profileAvatarPreview div {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
}
#editProfileModal .btn-primary,
#editProfileModal button[onclick*="saveProfile"] {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none !important;
  box-shadow: var(--ll-glow-brass);
}
#editProfileModal .btn-secondary {
  background: transparent !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}

#filterPanel .fl-saved-lab {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ll-paper-dim) !important;
  flex-shrink: 0;
}
#filterPanel .fl-saved-lab .ll-i { width: 12px; height: 12px; }
#filterPanel .fl-actions {
  padding: 12px 16px;
  border-top: 1px solid rgba(232, 196, 120, 0.12);
  display: flex;
  gap: 8px;
}
#filterPanel .fl-add-include,
#filterPanel .fl-add-exclude {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#filterPanel .fl-add-include .ll-i,
#filterPanel .fl-add-exclude .ll-i { width: 14px; height: 14px; }
#filterPanel .fl-facet-in {
  flex: 1;
  min-width: 0;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#filterPanel .fl-facet-rm .ll-i { width: 12px; height: 12px; }
#filterPanel select,
#filterPanel #savedSearchSelect {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}

.ep-save {
  flex: 1;
  padding: 10px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: var(--ll-glow-brass);
}
.ep-cancel {
  flex: 1;
  padding: 10px;
  background: transparent !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.ep-danger-lab {
  font-size: 11px;
  font-weight: 700;
  color: var(--ll-signal) !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ep-danger-lab .ll-i, .ep-danger-btn .ll-i { width: 14px; height: 14px; }
.ep-danger-btn {
  width: 100%;
  padding: 10px;
  background: transparent !important;
  color: var(--ll-signal) !important;
  border: 1.5px solid var(--ll-signal) !important;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#editProfileModal [style*="background:#f9fafb"],
#editProfileModal [style*="background: #f9fafb"] {
  background: rgba(8, 10, 16, 0.45) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#locPrivSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#locPrivSheet .ll-head { color: var(--ll-paper) !important; }
#liveProfileSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#liveProfileSheet .lwb-title,
#liveProfileSheet .lps-head-text h3,
#liveProfileSheet #lpsTitle { color: var(--ll-paper) !important; }
#liveProfileSheet .lwb-sub,
#liveProfileSheet #lpsSubtitle { color: var(--ll-paper-dim) !important; }
#liveProfileSheet .lps-priv-btn {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
#liveProfileSheet .lps-priv-btn .ll-i { width: 12px; height: 12px; }
#liveProfileSheet .lps-save {
  flex-shrink: 0;
  padding: 8px 14px;
  border-radius: 20px;
  border: none;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: var(--ll-glow-brass);
}
#liveProfileSheet .lps-save .ll-i,
#liveProfileSheet .lps-icon-btn .ll-i,
#liveProfileSheet .lps-av-overlay .ll-i,
#liveProfileSheet .lps-color-lab .ll-i { width: 14px; height: 14px; }
#liveProfileSheet .lps-color-lab {
  font-size: 12px;
  font-weight: 700;
  color: var(--ll-paper-dim) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
#liveProfileSheet .lps-icon-btn {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}

#originFallbackOverlay {
  background: rgba(2, 3, 6, 0.55);
  z-index: 9511;
}
#originFallbackSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45), var(--ll-glow-brass);
}
#originFallbackSheet .ll-head { color: var(--ll-paper) !important; }
#originFallbackGo.mvp-offline-btn { margin-top: 0; }

#placeSheetOverlay {
  background: rgba(2, 3, 6, 0.55);
}
#placeSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45), var(--ll-glow-brass);
}
#placeSheet .ps-handle {
  width: 36px;
  height: 4px;
  background: rgba(232, 196, 120, 0.35);
  border-radius: 2px;
  margin: 0 auto 12px;
}
#placeSheetName { color: var(--ll-paper) !important; }
#placeSheetCat {
  display: none;
  font-size: 11px;
  font-weight: 700;
  color: var(--ll-slate) !important;
  background: var(--ll-brass) !important;
  border-radius: 10px;
  padding: 2px 8px;
  width: fit-content;
  margin: 4px 0 6px;
}
#placeSheetAddr {
  display: none;
  font-size: 13px;
  color: var(--ll-paper-dim) !important;
  margin-bottom: 14px;
  line-height: 1.35;
}
#placeSheetEta.ps-eta {
  display: flex;
  gap: 8px;
  margin: 0 0 12px;
}
#placeSheetEta.ps-eta[hidden] { display: none !important; }
.ps-eta-chip {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 6px;
  border: 1px solid var(--ll-panel-border);
  border-radius: 12px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  cursor: pointer;
  font: inherit;
}
.ps-eta-chip .ll-i { width: 14px; height: 14px; }
.ps-eta-label {
  font-size: 11px;
  font-weight: 700;
  color: var(--ll-paper-dim);
}
.ps-eta-dur {
  font-size: 13px;
  font-weight: 700;
  color: var(--ll-brass);
}
.ps-eta-chip:disabled {
  opacity: 0.55;
  cursor: default;
}
.ps-eta-chip.ps-eta-miss .ps-eta-dur { color: var(--ll-paper-dim); }
#placeSheetDir {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: none;
  border-radius: 12px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  margin-bottom: 8px;
  box-shadow: var(--ll-glow-brass);
}
#placeSheetPost {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px;
  border: 1.5px solid var(--ll-panel-border) !important;
  border-radius: 12px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
#placeSheetDir .ll-i, #placeSheetPost .ll-i, #placeSheetSave .ll-i { width: 16px; height: 16px; }
#placeSheetSave {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px;
  margin-top: 8px;
  border: 1.5px solid var(--ll-panel-border) !important;
  border-radius: 12px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
#saveToListSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
}
#saveToListTitle { color: var(--ll-paper) !important; }
.stl-new {
  display: flex;
  gap: 8px;
  padding: 10px 16px 12px;
  border-bottom: 1px solid var(--ll-panel-border);
}
.stl-new input {
  flex: 1;
  min-width: 0;
  padding: 9px 11px;
  border-radius: 10px;
  border: 1px solid var(--ll-panel-border);
  background: rgba(8, 10, 16, 0.55);
  color: var(--ll-paper);
  font-size: 14px;
}
.stl-new-btn {
  flex-shrink: 0;
  padding: 9px 12px;
  border: none;
  border-radius: 10px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.nl-export-btn {
  padding: 6px 11px;
  border-radius: 8px;
  border: 1.5px solid var(--ll-panel-border);
  background: rgba(8, 10, 16, 0.35);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  color: var(--ll-paper);
}
.ll-list-map-pin {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ll-brass);
  border: 2px solid #0c0e14;
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
  cursor: pointer;
  pointer-events: auto;
}
#srAreaChip {
  position: fixed;
  top: calc(var(--sa-top, 0px) + 62px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 904;
  display: flex;
  align-items: center;
  gap: 2px;
  background: var(--ll-panel);
  color: var(--ll-paper);
  border: 1px solid var(--ll-panel-border);
  border-radius: 999px;
  box-shadow: 0 4px 18px rgba(0,0,0,.28);
  overflow: hidden;
}
#srAreaChip[hidden] { display: none !important; }
#srAreaChip .sr-area-go {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  color: inherit;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 12px 8px 14px;
  cursor: pointer;
}
#srAreaChip .sr-area-go .ll-i { width: 14px; height: 14px; }
#srAreaChip .sr-area-dismiss {
  background: none;
  border: none;
  color: var(--ll-paper-dim);
  padding: 8px 12px 8px 6px;
  cursor: pointer;
}
#srAreaChip .sr-area-dismiss .ll-i { width: 12px; height: 12px; }

.sr-place-cluster {
  background: var(--ll-slate) !important;
  color: var(--ll-brass) !important;
  border-color: var(--ll-brass) !important;
}

.mvp-offline-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--ll-panel-border);
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.mvp-offline-btn .ll-i { width: 16px; height: 16px; }
.mvp-offline-btn:disabled { opacity: 0.55; cursor: default; }
.off-prog { margin-top: 10px; }
.off-prog-bar {
  height: 6px;
  border-radius: 99px;
  background: rgba(232, 196, 120, 0.18);
  overflow: hidden;
}
#offlineAreaProgFill {
  height: 100%;
  width: 0;
  background: var(--ll-brass);
  border-radius: 99px;
}
.off-prog-label {
  font-size: 11px;
  color: var(--ll-paper-dim);
  margin-top: 6px;
}
.off-region-list { margin-top: 10px; }
.off-region-empty {
  font-size: 12px;
  color: var(--ll-paper-dim);
}
.off-region-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--ll-panel-border);
}
.off-region-meta { flex: 1; min-width: 0; }
.off-region-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--ll-paper);
}
.off-region-sub {
  font-size: 11px;
  color: var(--ll-paper-dim);
}
.off-region-del {
  background: none;
  border: 1px solid var(--ll-panel-border);
  color: var(--ll-paper);
  border-radius: 8px;
  padding: 5px 8px;
  font-size: 12px;
  cursor: pointer;
}

#directionsSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  box-shadow: 4px 0 32px rgba(0, 0, 0, 0.45) !important;
}
#directionsSheet .dir-leg-value { color: var(--ll-paper) !important; }
#directionsSheet .dir-leg-label { color: var(--ll-paper-dim) !important; }
#directionsSheet .dir-leg-value .ll-i,
#directionsSheet .dir-app-btn .ll-i,
#dirMapboxBtn .ll-i,
#dirFromChangeBtn .ll-i,
#dirAddStopBtn .ll-i { width: 14px; height: 14px; }
#dirFromChangeBtn {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#dirAddStopBtn {
  color: var(--ll-brass) !important;
  border-color: var(--ll-panel-border) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.dir-app-btn {
  color: var(--ll-paper) !important;
  border-bottom-color: rgba(232, 196, 120, 0.12) !important;
}
.dir-app-btn:hover, #dirMapboxBtn:hover {
  background: rgba(232, 196, 120, 0.08) !important;
}
#dirMapboxBtn { color: var(--ll-brass) !important; }
.dir-app-hdr, #dirMapboxNote { color: var(--ll-paper-dim) !important; }
.dir-mode-seg {
  background: rgba(8, 10, 16, 0.55) !important;
}
.dir-mode-btn {
  color: var(--ll-paper-dim) !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.dir-mode-btn .ll-i { width: 12px; height: 12px; }
.dir-mode-btn.on {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass);
}

#routePanelExpanded {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45) !important;
}
#routePanelTitle { color: var(--ll-paper) !important; }
#routePanelInfo { color: var(--ll-paper-dim) !important; }
#routePanel .route-step { border-bottom-color: rgba(232, 196, 120, 0.12) !important; color: var(--ll-paper-dim) !important; }
.rp-tool {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 6px;
  color: var(--ll-paper) !important;
  cursor: pointer;
  padding: 3px 8px;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rp-tool .ll-i { width: 14px; height: 14px; }
.rp-tool.rp-muted { opacity: 0.45; }
.rp-exit { color: var(--ll-signal) !important; border-color: var(--ll-signal) !important; }
.rp-pill {
  padding: 9px 14px;
  border-radius: 24px;
  background: var(--ll-panel) !important;
  border: 1.5px solid var(--ll-brass) !important;
  color: var(--ll-brass) !important;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: var(--ll-glow-brass);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rp-pill .ll-i { width: 14px; height: 14px; }
.rp-pill.rp-exit {
  border-color: var(--ll-signal) !important;
  color: var(--ll-signal) !important;
}
#routeHandOffBtn {
  width: 100%;
  margin-bottom: 8px;
  padding: 8px 12px;
  border-radius: 9px;
  border: 1.5px solid var(--ll-panel-border) !important;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-brass) !important;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#routeHandOffBtn .ll-i { width: 14px; height: 14px; }

.nm-priv-select {
  flex: 1;
  min-width: 0;
  padding: 7px 11px;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ll-paper) !important;
  background: rgba(8, 10, 16, 0.55) !important;
  cursor: pointer;
  font-family: inherit;
}
.nm-priv-side,
#noteCoAuthorBtn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 8px;
  color: var(--ll-paper) !important;
  font-size: 12.5px;
  font-weight: 600;
  padding: 7px 11px;
  cursor: pointer;
  font-family: inherit;
}
.nm-priv-side .ll-i,
#noteCoAuthorBtn .ll-i { width: 14px; height: 14px; }
.nm-tpl-act {
  flex: 1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  border-radius: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  text-align: left;
}
.nm-tpl-act .ll-i { width: 14px; height: 14px; }
#privacyNetwork { color: var(--ll-paper) !important; }

#dpEditSlotSheet,
#dpNewSlotSheet,
#dpLinkLocSheet,
#schedPickerSheet,
#slotTypeSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45) !important;
}
#dpEditSlotSheet .sv-label,
#dpNewSlotSheet .sv-label,
#schedPickerSheet .sv-label { color: var(--ll-paper-dim) !important; }
#dpEditSlotSheet .sv-input,
#dpNewSlotSheet .sv-input,
#dpEditVisibility {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
.dp-map-pick {
  width: 100%;
  margin-top: 8px;
  padding: 9px;
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1.5px dashed var(--ll-brass) !important;
  border-radius: 8px;
  color: var(--ll-brass) !important;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.dp-map-pick .ll-i { width: 14px; height: 14px; }
.sv-submit {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass);
}

#deleteAccountModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#deleteAccountModal h3,
#deleteAccountModal p,
#deleteAccountModal label { color: var(--ll-paper) !important; }
#deleteAccountModal input {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
.da-mark { margin-bottom: 8px; display: flex; justify-content: center; }
.da-mark .ll-i { width: 36px; height: 36px; }
.da-cancel {
  flex: 1;
  padding: 10px;
  background: transparent !important;
  color: var(--ll-paper) !important;
  border: 1.5px solid var(--ll-panel-border) !important;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}
.da-go {
  flex: 1;
  padding: 10px;
  background: var(--ll-signal) !important;
  color: #fff !important;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

#mediaDetailDrawer {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#mediaDetailDrawer h3,
#mediaDetailDrawer label,
#mediaDetailDrawer summary { color: var(--ll-paper) !important; }
#mediaDetailDrawer input,
#mediaDetailDrawer select,
#mediaDetailDrawer textarea {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
.mdd-ai {
  padding: 6px 12px;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mdd-ai .ll-i { width: 14px; height: 14px; }
#mdPrivacyDetails summary .ll-i { width: 14px; height: 14px; }
#mdPrivAudRow .lps-priv-btn,
#mdPrivAudRow2 .lps-priv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
#gbQuestPanel .gb-header,
#gameModerationModal .gb-header {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
.gb-qpanel-mark .ll-i { width: 20px; height: 20px; }
#gameModerationModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
.fs-book-chip-title .ll-i,
.fs-book-propose .ll-i { width: 12px; height: 12px; }

#noteModal .nm-sec-panel {
  border-bottom-color: rgba(232, 196, 120, 0.12) !important;
}
#noteModal .nm-sec-panel-hdr:hover {
  background: rgba(232, 196, 120, 0.06) !important;
}
#noteModal .nm-toggle-row span {
  color: var(--ll-paper) !important;
}
#noteModal .nm-toggle-row .ll-i,
#noteModal #nmSecSelling .ll-i,
#noteModal #nmSecTime .ll-i { width: 14px; height: 14px; }
#nmMediaToggle {
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
  background: transparent !important;
}
#nmMediaToggle .ll-i { width: 16px; height: 16px; }
#mediaAddBtns > button,
#mediaUploadLabel,
#mediaFolderBtn {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-brass) !important;
}
#mediaAddBtns .ll-i,
#mediaUploadLabel .ll-i { width: 18px; height: 18px; }
.mfbar-reuse {
  background: rgba(8, 10, 16, 0.55) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.mfbar-reuse .ll-i { width: 14px; height: 14px; }

.st-pick {
  width: 100%;
  text-align: left;
  padding: 13px 14px;
  border: 1.5px solid var(--ll-panel-border) !important;
  border-radius: 12px;
  background: rgba(8, 10, 16, 0.55) !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  color: var(--ll-paper) !important;
}
.st-pick-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ll-paper) !important;
}
.st-pick-meta {
  font-size: 12px;
  color: var(--ll-brass) !important;
  margin-top: 2px;
}
.st-pick-chev { font-size: 18px; color: var(--ll-brass); }
.st-pick-propose {
  width: 100%;
  text-align: center;
  padding: 11px 14px;
  border: 1.5px dashed var(--ll-brass) !important;
  border-radius: 12px;
  background: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--ll-brass) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.st-pick-propose .ll-i { width: 14px; height: 14px; }
#slotTypeList { display: flex; flex-direction: column; gap: 8px; }

#mdAccessDetails summary .ll-i,
#mdExcTabGroup .ll-i,
#mdExcTabFriend_list .ll-i,
#mdExcTabIndividual .ll-i { width: 14px; height: 14px; }
.exc-tab {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#nmComposerPin .nmp-edit-badge {
  background: var(--ll-panel) !important;
  border-color: var(--ll-brass) !important;
}
#nmComposerPin .nmp-edit-badge .ll-i { width: 11px; height: 11px; }
.md-ful-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
}
.md-ful-btn .ll-i,
#nmSecSelling .ll-i,
#nmSecFundraising .ll-i,
#privCfgPanel .ll-i,
#coAuthorModal .ll-i { width: 14px; height: 14px; }

#evtModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45) !important;
}
#evtModal h3,
#evtModal .ll-head,
#evtModal .evtm-lbl,
#evtModal .evt-modal-sec-lbl { color: var(--ll-paper) !important; }
#evtModal .evtm-mode {
  background: rgba(8, 10, 16, 0.55) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#evtModal .evtm-mode .ll-i { width: 12px; height: 12px; }
#evtModal input,
#evtModal select { background: rgba(8, 10, 16, 0.55) !important; color: var(--ll-paper) !important; border-color: var(--ll-panel-border) !important; }

#deleteNoteDialog,
#mediaUnlockDialog,
#createListDialog,
#coAuthorModal > div,
#createGroupModal,
#landingPromptModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#deleteNoteDialog h3,
#mediaUnlockDialog .ll-head,
#createListDialog .ll-head,
#coAuthorModal h3,
#createGroupModal .ll-head,
#landingPromptModal .ll-head { color: var(--ll-paper) !important; }
#deleteNoteDialog p,
#mediaUnlockDialog #mudDesc,
#landingPromptModal div { color: var(--ll-paper-dim); }
#createListDialog input,
#coAuthorModal input,
#createGroupModal input,
#createGroupModal textarea,
#createGroupModal select {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#createListSubmitBtn,
#extLinkOpenBtn {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
}
#extLinkSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#extLinkSheet #extLinkHostname { color: var(--ll-paper) !important; }
#saveSearchDialog .fl-save-box {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}

#dpProposedConfirm,
#dpVisitStrip {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border-top-color: var(--ll-panel-border) !important;
}
#dpProposedConfirm .ll-head,
#dpVisitStrip .ll-head { color: var(--ll-brass) !important; }
#dpShareSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#dpShareSheet .ll-head { color: var(--ll-paper) !important; }
#dpShareSheet input,
#dpShareSheet label {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#dpShareSheet .ll-i { width: 14px; height: 14px; }
#privCfgPanel > div {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#gameIntroModal,
#questIntroModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: none;
}
#gameIntroModal .gi-footer button,
#questIntroModal .qi-footer button { font-family: var(--ll-font); }
.qhp-req .ll-i,
.qhp-status-ok .ll-i { width: 12px; height: 12px; }
#groupPotModal { background: var(--ll-panel) !important; }
#groupPotModalTitle .ll-i { width: 16px; height: 16px; }
#mdPaymentDetails .ll-i { width: 14px; height: 14px; }

#userDropdown .user-info {
  border-bottom: 1px solid var(--ll-panel-border) !important;
}
#userDropdown .username { color: var(--ll-paper) !important; }
#userDropdown .hdr-priv-btn {
  background: rgba(8, 10, 16, 0.55) !important;
  border: 1px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#userDropdown .hdr-priv-btn.sel,
#userDropdown .hdr-priv-btn[data-priv].sel {
  border-color: var(--ll-brass) !important;
  background: rgba(232, 196, 120, 0.16) !important;
  box-shadow: var(--ll-glow-brass);
}
.np-privacy {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}
.np-privacy .ll-i { width: 11px; height: 11px; }

#lpPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#lpPanel .dp-header,
#lpPanel .dp-tabs {
  background: transparent !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#lpPanel input,
#lpPanel select {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}

#cartPanel,
#leelayPanel {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#cartPanelBody .da-mark .ll-i { width: 36px; height: 36px; }
.lp-disclaimer .ll-i { width: 14px; height: 14px; }

#groupProfileModal,
#groupInviteModal,
#groupMemberInviteModal,
#potRulesModal,
#treasuryRulesModal,
#treasurySpendModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
}
#groupProfileModal .ll-x .ll-i,
#potRulesModal .ll-i,
#treasuryRulesModal .ll-i,
#treasurySpendModal .ll-i { width: 16px; height: 16px; }
.gp-pot-lbl .ll-i { width: 14px; height: 14px; }
.gp-pot-rules-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#msgNewConvDialog,
#dmPlaceSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#msgNewConvDialog .ll-head,
#dmPlaceSheet .ll-head { color: var(--ll-paper) !important; }
#msgNewConvDialog input,
#dmPlaceSheet input {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#messengerConvList,
#messengerThread {
  background: rgba(8, 10, 16, 0.45) !important;
  color: var(--ll-paper) !important;
}
#messengerInputArea {
  background: var(--ll-panel) !important;
  border-top-color: var(--ll-panel-border) !important;
}

.evt-card-hdr-title {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.evt-card-hdr-title .ll-i,
.evt-card-chip .ll-i,
.evt-card-when-btn .ll-i,
.evt-card-photo .ll-i { width: 12px; height: 12px; }
.evt-card {
  background: rgba(8, 10, 16, 0.55) !important;
  border-color: var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
.evt-card-hdr-title { color: var(--ll-brass) !important; }

#saveTplModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#saveTplModal .ll-head { color: var(--ll-paper) !important; }
#saveTplModal .sv-input {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#lpBlockSheet {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
}
#lpBlockSheet .ll-head { color: var(--ll-paper) !important; }
.nr-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}
.nr-chip .ll-i { width: 11px; height: 11px; }
.nr-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
}
.nr-btn .ll-i { width: 14px; height: 14px; }
.lb-cart-btn .ll-i,
.lb-soc-btn .ll-i,
#lbCameraAddBtn .ll-i { width: 14px; height: 14px; }
[data-loops-balance] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
[data-loops-balance] .ll-i { width: 12px; height: 12px; }
#callActions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
#callActions .ll-i { width: 16px; height: 16px; }
.qslp-cat-hdr .ll-i { width: 11px; height: 11px; }

#ageGateModal,
#humanityModal,
#termsDialog,
#changelogModal {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  font-family: var(--ll-font) !important;
}
#ageGateModal .ll-head,
#humanityModal .ll-head,
#termsDialog .ll-head,
#changelogModal .ll-head { color: var(--ll-paper) !important; }
#ageGateModal p,
#humanityModal p,
#termsDialogBody { color: var(--ll-paper-dim) !important; }
#ageGateModal select,
#ageGateModal input {
  background: rgba(8, 10, 16, 0.55) !important;
  color: var(--ll-paper) !important;
  border-color: var(--ll-panel-border) !important;
}
#ageGateBtn,
#humanityBtn,
#termsAgreeBtn,
.cl-cta {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass);
}
.cl-header {
  background: var(--ll-slate) !important;
}
.cl-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.cl-icon .ll-i { width: 18px; height: 18px; }
#helpTip .ll-i,
#_helpTip .ll-i { width: 13px; height: 13px; }
.nm-cart-btn .ll-i,
.thumb-cart-overlay .ll-i { width: 12px; height: 12px; }
.csv-btn .ll-i { width: 14px; height: 14px; }

#tipsModal,
#betaNoticeDialog,
#pushOfferDialog,
#bgPresenceDialog {
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border) !important;
  font-family: var(--ll-font) !important;
}
#pushOfferDialog .ll-head,
#bgPresenceDialog .ll-head { color: var(--ll-paper) !important; }
#pushOfferDialog .po-primary,
#bgPresenceDialog .po-primary {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
#pushOfferDialog .po-secondary,
#bgPresenceDialog .po-secondary {
  background: transparent !important;
  border: 1.5px solid var(--ll-panel-border) !important;
  color: var(--ll-paper) !important;
}
#pushOfferDialog .da-mark .ll-i,
#bgPresenceDialog .da-mark .ll-i { width: 36px; height: 36px; }
.tm-header {
  background: var(--ll-slate) !important;
}
.tm-header-title,
#betaNoticeDialog .ll-head { color: var(--ll-paper) !important; }
.tm-header-icon .ll-i { width: 36px; height: 36px; }
.tm-tip-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
.tm-tip-icon .ll-i { width: 18px; height: 18px; }
.tm-cta,
#betaNoticeFeedbackBtn {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
#betaNoticeFeedbackBtn .ll-i { width: 16px; height: 16px; }

.legal-header {
  background: var(--ll-slate) !important;
  color: var(--ll-paper) !important;
  font-family: var(--ll-font) !important;
}
.legal-header h1 { color: var(--ll-brass) !important; font-family: var(--ll-font-display) !important; }
.legal-nav {
  background: var(--ll-panel) !important;
  border-bottom-color: var(--ll-panel-border) !important;
}
.legal-nav a,
footer.legal-footer a,
.legal-footer a { color: var(--ll-brass) !important; }
.toc { background: var(--ll-panel) !important; border-color: var(--ll-panel-border) !important; color: var(--ll-paper) !important; }
.toc a { color: var(--ll-brass) !important; }
.legal-body,
.legal-body h2,
.legal-body p,
h2.sect { color: var(--ll-paper) !important; }

/* G1: public resources map + share interstitial */
#topBar {
  background: var(--ll-slate) !important;
  border-bottom: 1px solid var(--ll-panel-border);
}
#brandName { color: var(--ll-brass) !important; }
#addResourceBtn,
.popup-cta,
a.sp-open {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
}
#nearMeBtn .ll-i,
#brandLogo .ll-i,
#searchClear .ll-i { width: 16px; height: 16px; }

#navStepBanner {
  position: fixed;
  top: calc(var(--sa-top, 0px) + 58px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 4605;
  display: flex;
  align-items: center;
  gap: 10px;
  width: min(520px, calc(100vw - 24px));
  box-sizing: border-box;
  padding: 8px 10px 8px 12px;
  background: var(--ll-panel) !important;
  color: var(--ll-paper) !important;
  border: 1px solid var(--ll-panel-border);
  border-radius: 16px;
  box-shadow: 0 6px 22px rgba(0,0,0,.32);
  font-family: var(--ll-font) !important;
}
#navStepBanner .nsb-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#navStepBanner .nsb-icon .ll-i { width: 18px; height: 18px; }
#navStepBanner .nsb-body { flex: 1; min-width: 0; }
#navStepBanner .nsb-step {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#navStepBanner .nsb-eta {
  font-size: 11.5px;
  color: var(--ll-brass);
  font-weight: 600;
  margin-top: 1px;
}
#navStepBanner .nsb-end {
  flex-shrink: 0;
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  border: none;
  border-radius: 10px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}
.filter-chip .ll-i { width: 13px; height: 13px; }
#loadLogo .ll-i { width: 48px; height: 48px; }

.ob-btn-primary {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
  box-shadow: var(--ll-glow-brass) !important;
}
.ob-progress-fill {
  background: var(--ll-brass) !important;
}
.ob-footer a,
.ob-btn-back:hover,
.ob-btn-skip:hover { color: var(--ll-brass) !important; }
.ob-dot.active { background: var(--ll-brass) !important; }

a.btn,
.auth-container .btn,
.cta-join {
  background: var(--ll-brass) !important;
  color: var(--ll-slate) !important;
}
.cta-back,
.manage-link,
.small a { color: var(--ll-brass) !important; }
