:root {
  color-scheme: dark;
  --bg: #020706;
  --ink: #f4fff9;
  --muted: #a8c7bd;
  --dim: #6f8a80;
  --line: rgba(199, 255, 229, 0.14);
  --line-strong: rgba(96, 255, 214, 0.42);
  --glass: rgba(9, 23, 20, 0.70);
  --glass-strong: rgba(8, 24, 21, 0.92);
  --mint: #8effcf;
  --teal: #35fbd3;
  --cyan: #7ecbff;
  --gold: #ffda74;
  --danger: #ff7b7b;
  --shadow: 0 42px 120px rgba(0, 0, 0, 0.62);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(53, 251, 211, 0.22), transparent 27%),
    radial-gradient(circle at 88% 18%, rgba(126, 203, 255, 0.16), transparent 31%),
    radial-gradient(circle at 60% 90%, rgba(142, 255, 207, 0.14), transparent 36%),
    linear-gradient(145deg, #020504 0%, #07120f 52%, #020706 100%);
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.020) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(circle at center, #000 0 45%, transparent 82%);
  opacity: .76;
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.04), transparent 20%, rgba(0,0,0,.28));
  mix-blend-mode: soft-light;
}
button, input { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .62; cursor: not-allowed; }
a { color: inherit; }
.ambient { position: fixed; pointer-events: none; filter: blur(22px); opacity: .58; border-radius: 999px; }
.ambient-a { width: 520px; height: 520px; left: -180px; bottom: -160px; background: radial-gradient(circle, rgba(53,251,211,.35), transparent 65%); }
.ambient-b { width: 560px; height: 560px; right: -210px; top: -180px; background: radial-gradient(circle, rgba(126,203,255,.22), transparent 66%); }
.ambient-c { width: 380px; height: 380px; left: 42%; top: 58%; background: radial-gradient(circle, rgba(255,218,116,.12), transparent 68%); }
.showcase-shell {
  position: relative;
  z-index: 1;
  width: min(1200px, calc(100% - 32px));
  min-height: 100vh;
  margin: 0 auto;
  padding: 34px 0;
  display: grid;
  grid-template-columns: minmax(300px, 1fr) 432px;
  gap: 58px;
  align-items: center;
}
.showcase-copy { max-width: 610px; }
.desktop-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  border: 1px solid rgba(142,255,207,.22);
  border-radius: 999px;
  padding: 9px 12px;
  color: var(--mint);
  background: rgba(255,255,255,.045);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.desktop-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--mint); box-shadow: 0 0 16px var(--mint); }
.brand-row { display: flex; align-items: center; gap: 13px; min-width: 0; }
.brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: none;
  border-radius: 17px;
  border: 1px solid var(--line-strong);
  color: var(--teal);
  font-weight: 1000;
  background: radial-gradient(circle at 35% 25%, rgba(142,255,207,.54), rgba(26,115,100,.25) 54%, rgba(5,15,14,.90));
  box-shadow: 0 0 38px rgba(53,251,211,.19), inset 0 0 0 1px rgba(255,255,255,.07);
}
.eyebrow { margin: 0 0 6px; color: var(--teal); font-size: .68rem; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 0; max-width: 670px; font-size: clamp(2.7rem, 5vw, 5.55rem); line-height: .89; letter-spacing: -.078em; }
h2 { margin: 0; font-size: 1.3rem; line-height: 1; letter-spacing: -.045em; }
h3 { margin: 0 0 8px; font-size: 1.08rem; line-height: 1.07; letter-spacing: -.035em; }
.hero-copy { margin: 22px 0; max-width: 540px; color: #bdd6cd; font-size: 1.08rem; line-height: 1.65; }
.launch-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.launch-pills span { border: 1px solid var(--line); border-radius: 999px; padding: 10px 13px; background: rgba(255,255,255,.045); color: var(--mint); font-size: .82rem; font-weight: 850; }
.glass-card { border: 1px solid var(--line); background: linear-gradient(145deg, rgba(255,255,255,.078), rgba(255,255,255,.026)); box-shadow: 0 18px 54px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.025); backdrop-filter: blur(22px); }
.desktop-proof { margin-top: 22px; max-width: 440px; padding: 18px; border-radius: 26px; }
.desktop-proof strong { display: block; margin-bottom: 8px; color: var(--ink); }
.desktop-proof p { margin: 0; color: var(--muted); line-height: 1.48; }
.phone-frame { width: min(432px, 100%); justify-self: center; border-radius: 52px; padding: 10px; background: linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.035)); box-shadow: var(--shadow), 0 0 0 1px rgba(255,255,255,.08); }
.phone-glass { position: relative; min-height: 875px; max-height: calc(100vh - 84px); overflow: auto; scrollbar-width: none; border-radius: 42px; padding: 14px; background: radial-gradient(circle at 50% -16%, rgba(53,251,211,.16), transparent 34%), linear-gradient(180deg, rgba(7,18,17,.985), rgba(2,8,7,.99)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.065); }
.phone-glass::-webkit-scrollbar { display: none; }
.statusbar { display: flex; align-items: center; justify-content: space-between; padding: 3px 12px 13px; color: rgba(244,255,249,.84); font-size: .76rem; font-weight: 820; }
.app-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.header-copy { min-width: 0; }
.icon-button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 999px; text-decoration: none; color: var(--mint); border: 1px solid var(--line); background: rgba(255,255,255,.045); }
.hero-card { border-radius: 28px; padding: 14px; margin-bottom: 11px; background: radial-gradient(circle at 90% 0%, rgba(53,251,211,.18), transparent 34%), linear-gradient(145deg, rgba(255,255,255,.078), rgba(255,255,255,.028)); }
.hero-topline { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: .72rem; font-weight: 850; }
.hero-topline strong { margin-left: auto; color: var(--mint); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.live-dot { width: 8px; height: 8px; flex: none; border-radius: 999px; background: var(--mint); box-shadow: 0 0 14px var(--mint); }
.hero-main { display: flex; justify-content: space-between; gap: 12px; align-items: end; margin-top: 13px; }
.hero-main h3 { margin-bottom: 0; font-size: 1.42rem; letter-spacing: -.055em; }
.hero-token { min-width: 92px; min-height: 74px; display: grid; place-items: center; border-radius: 24px; border: 1px solid rgba(142,255,207,.24); background: radial-gradient(circle at 40% 25%, rgba(142,255,207,.23), rgba(255,255,255,.045)); }
.hero-token span { font-size: 2rem; line-height: .86; font-weight: 1000; letter-spacing: -.07em; }
.hero-token small { color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .09em; }
.profile-card { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 25px; margin-bottom: 10px; }
.avatar { width: 56px; height: 56px; display: grid; place-items: center; flex: none; border-radius: 20px; color: var(--ink); font-size: 1.35rem; font-weight: 950; border: 1px solid var(--line-strong); background: radial-gradient(circle at 35% 25%, rgba(142,255,207,.50), rgba(21,103,91,.22) 52%, rgba(3,12,11,.88)); }
.profile-main { min-width: 0; flex: 1; }
.profile-label-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 7px; }
label, .profile-label-row span { color: var(--muted); font-size: .76rem; }
#usernameStat { color: var(--mint); font-weight: 850; max-width: 156px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.name-row { display: flex; gap: 8px; }
input { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 16px; background: rgba(0, 7, 6, .68); color: var(--ink); outline: 0; padding: 11px 12px; }
input:focus { border-color: rgba(53,251,211,.62); box-shadow: 0 0 0 4px rgba(53,251,211,.08); }
.name-row button { border: 0; border-radius: 16px; padding: 0 14px; color: #02110d; font-weight: 950; background: linear-gradient(135deg, var(--mint), var(--cyan)); }
.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 10px; }
.mini-stat { min-width: 0; min-height: 108px; padding: 12px 10px; border-radius: 23px; }
.stat-icon { width: 32px; height: 32px; display: grid; place-items: center; margin-bottom: 8px; border-radius: 13px; border: 1px solid var(--line); color: var(--mint); background: rgba(53,251,211,.08); font-size: .88rem; font-weight: 950; }
.stat-icon.star { color: var(--gold); background: rgba(255,218,116,.075); }
.stat-icon.shield { color: var(--teal); }
.mini-stat span, .metric-strip span { display: block; color: var(--muted); font-size: .68rem; margin-bottom: 6px; }
.mini-stat strong { display: block; min-width: 0; color: var(--ink); font-size: 1.38rem; line-height: 1; letter-spacing: -.04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-stat small { display: flex; align-items: center; gap: 5px; margin-top: 6px; color: var(--dim); font-size: .66rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini-stat i { display: inline-block; width: 7px; height: 7px; border-radius: 999px; background: var(--mint); box-shadow: 0 0 12px var(--mint); }
.flow-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 10px; padding: 6px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.035); }
.flow-tab { border: 0; min-height: 38px; border-radius: 999px; color: var(--muted); background: transparent; font-weight: 900; }
.flow-tab.is-active { color: #03110d; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 10px 26px rgba(53,251,211,.16); }
.action-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; margin-bottom: 10px; }
.action-card { position: relative; overflow: hidden; min-height: 185px; padding: 14px; border-radius: 27px; border: 1px solid rgba(53,251,211,.18); background: radial-gradient(circle at 86% 12%, rgba(53,251,211,.21), transparent 35%), linear-gradient(150deg, rgba(13,73,59,.86), rgba(5,17,16,.90)); box-shadow: 0 20px 60px rgba(0,0,0,.36); }
.action-card.find { background: radial-gradient(circle at 86% 12%, rgba(126,203,255,.19), transparent 34%), linear-gradient(150deg, rgba(9,52,62,.82), rgba(5,17,16,.90)); }
.action-card.is-active { border-color: rgba(142,255,207,.70); box-shadow: 0 20px 64px rgba(53,251,211,.17); transform: translateY(-1px); }
.action-card::after { content: ""; position: absolute; width: 130px; height: 130px; right: -56px; bottom: -60px; border-radius: 999px; background: rgba(255,255,255,.075); }
.action-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.action-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 16px; border: 1px solid var(--line-strong); color: var(--teal); font-weight: 1000; background: rgba(0,0,0,.22); }
.action-top p { margin: 0; color: var(--mint); font-size: .68rem; font-weight: 950; text-transform: uppercase; letter-spacing: .14em; }
.action-copy { min-height: 42px; margin: 0 0 10px; color: #c2d7cf; font-size: .82rem; line-height: 1.34; }
.action-meta { display: flex; justify-content: space-between; gap: 8px; margin-bottom: 10px; color: var(--muted); font-size: .68rem; }
.action-meta strong { color: var(--gold); }
.action-button { position: relative; z-index: 1; width: 100%; min-height: 45px; display: flex; align-items: center; justify-content: space-between; border: 0; border-radius: 999px; padding: 0 7px 0 15px; color: #02110d; font-weight: 950; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 14px 38px rgba(53,251,211,.21); }
.action-button span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.42); }
.result-card { overflow: hidden; border-radius: 30px; padding: 14px; margin-bottom: 10px; }
.result-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.confidence-badge { display: grid; place-items: center; min-width: 82px; min-height: 50px; border: 1px solid rgba(142,255,207,.20); border-radius: 18px; color: var(--muted); background: rgba(255,255,255,.042); font-size: .63rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.confidence-badge b { display: block; color: var(--mint); font-size: 1.05rem; letter-spacing: -.02em; }
.route-map { position: relative; height: 190px; overflow: hidden; border-radius: 25px; border: 1px solid rgba(142,255,207,.16); background: radial-gradient(circle at 32% 36%, rgba(53,251,211,.18), transparent 18%), linear-gradient(145deg, rgba(4,26,24,.95), rgba(3,9,10,.95)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.028); }
.street { position: absolute; height: 2px; width: 150%; background: rgba(216,255,240,.095); transform-origin: left center; }
.street-a { left: -20%; top: 25%; transform: rotate(14deg); }
.street-b { left: -18%; top: 58%; transform: rotate(-12deg); }
.street-c { left: 12%; top: -8%; transform: rotate(75deg); }
.street-d { left: 62%; top: -10%; transform: rotate(76deg); }
.route { position: absolute; left: 26%; top: 62%; width: 45%; height: 3px; border-top: 3px dashed rgba(53,251,211,.82); transform: rotate(-26deg); filter: drop-shadow(0 0 8px rgba(53,251,211,.70)); }
.origin, .destination { position: absolute; display: grid; place-items: center; border-radius: 999px; }
.origin { width: 20px; height: 20px; left: 23%; top: 60%; background: var(--cyan); box-shadow: 0 0 0 9px rgba(126,203,255,.14), 0 0 24px rgba(126,203,255,.7); }
.destination { width: 38px; height: 38px; right: 21%; top: 31%; color: #02110d; font-weight: 1000; background: linear-gradient(135deg, var(--mint), var(--teal)); box-shadow: 0 0 0 11px rgba(53,251,211,.13), 0 0 31px rgba(53,251,211,.62); }
.map-label { position: absolute; color: rgba(244,255,249,.54); font-size: .68rem; font-weight: 800; }
.label-one { left: 10%; bottom: 17%; }
.label-two { right: 11%; top: 15%; color: var(--mint); }
.metric-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
.metric-strip article { border: 1px solid rgba(255,255,255,.07); border-radius: 18px; padding: 10px; background: rgba(255,255,255,.04); }
.metric-strip strong { color: var(--ink); font-size: .9rem; white-space: nowrap; }
.result-copy { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.45; }
.found-signal { margin-top: 11px; padding: 12px; border-radius: 20px; border: 1px solid rgba(142,255,207,.18); background: rgba(142,255,207,.055); }
.found-signal.hidden { display: none; }
.found-signal strong { display: block; margin-bottom: 6px; color: var(--mint); }
.found-signal p { margin: 0 0 10px; color: var(--muted); font-size: .82rem; line-height: 1.42; }
.found-signal a { display: inline-flex; align-items: center; min-height: 38px; padding: 0 14px; border-radius: 999px; text-decoration: none; color: #02110d; font-weight: 950; background: linear-gradient(135deg, var(--mint), var(--cyan)); }
.activity-card { border-radius: 28px; padding: 14px; margin-bottom: 10px; }
.activity-head { display: flex; justify-content: space-between; gap: 12px; align-items: start; margin-bottom: 10px; }
.activity-pill { border: 1px solid var(--line); border-radius: 999px; padding: 7px 9px; color: var(--mint); background: rgba(255,255,255,.04); font-size: .68rem; font-weight: 900; }
.activity-feed { display: grid; gap: 8px; color: var(--muted); font-size: .82rem; }
.feed-item { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; padding: 10px; border-radius: 17px; background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.055); }
.feed-item strong { color: var(--ink); font-size: .86rem; }
.feed-item div { grid-column: 1 / -1; color: var(--muted); font-size: .78rem; }
.feed-item small { color: var(--dim); font-size: .72rem; }
.legal-note { display: flex; gap: 7px; align-items: flex-start; padding: 12px 13px; border-radius: 22px; border: 1px solid rgba(255,218,116,.20); color: #d4dfd9; background: rgba(255,218,116,.055); font-size: .76rem; line-height: 1.4; }
.legal-note strong { color: var(--gold); white-space: nowrap; }
/* v3.0 Mapbox real-map layer */
.mapbox-live .street,
.mapbox-live .route,
.mapbox-live .origin,
.mapbox-live .destination,
.mapbox-live .map-label { display: none; }
.mapbox-live .mapboxgl-canvas,
.mapbox-live .mapboxgl-canvas-container,
.mapbox-live .mapboxgl-control-container { border-radius: 25px; }
.mapbox-live .mapboxgl-ctrl-logo,
.mapbox-live .mapboxgl-ctrl-bottom-left { opacity: .72; }
.statio-map-marker { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 999px; border: 1px solid rgba(142,255,207,.72); color: #03110d; font-size: .78rem; font-weight: 1000; background: linear-gradient(135deg, var(--mint), var(--teal)); box-shadow: 0 0 0 10px rgba(53,251,211,.13), 0 0 30px rgba(53,251,211,.62); }
.statio-map-marker.user { width: 22px; height: 22px; color: transparent; border-color: rgba(126,203,255,.86); background: var(--cyan); box-shadow: 0 0 0 8px rgba(126,203,255,.16), 0 0 24px rgba(126,203,255,.82); }
.statio-map-marker.own { background: linear-gradient(135deg, var(--gold), var(--mint)); box-shadow: 0 0 0 10px rgba(255,218,116,.12), 0 0 28px rgba(255,218,116,.46); }
.mapbox-fallback::after { content: "Mapbox-ready fallback active"; position: absolute; left: 14px; top: 12px; z-index: 7; color: rgba(244,255,249,.52); font-size: .68rem; font-weight: 850; }
@media (max-width: 920px) {
  .showcase-shell { display: block; width: min(462px, 100%); padding: 0; }
  .showcase-copy { display: none; }
  .phone-frame { width: 100%; padding: 0; border-radius: 0; box-shadow: none; background: transparent; }
  .phone-glass { min-height: 100vh; max-height: none; border-radius: 0; padding: 12px 10px 18px; box-shadow: none; }
  body::before { background-size: 34px 34px; }
}
@media (max-width: 390px) {
  .hero-main h3 { font-size: 1.24rem; }
  .stats-row { gap: 7px; }
  .mini-stat { padding: 10px 8px; }
  .mini-stat strong { font-size: 1.15rem; }
  .action-grid { grid-template-columns: 1fr; }
  .action-card { min-height: 158px; }
  .route-map { height: 160px; }
}
/* v3.0 full-radar Mapbox hotfix: make unlocked-signal actions obvious and tappable. */
.found-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.found-actions .found-link,
.found-actions button { min-height: 38px; border: 0; border-radius: 999px; padding: 0 13px; color: #02110d; font-weight: 950; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 10px 24px rgba(53,251,211,.14); }
.found-actions button:nth-of-type(2),
.found-actions button:nth-of-type(3) { color: var(--ink); border: 1px solid var(--line); background: rgba(255,255,255,.06); box-shadow: none; }
.found-actions button:disabled { opacity: .58; }
.flow-tab:focus-visible,
.action-button:focus-visible,
.found-actions button:focus-visible,
.found-actions .found-link:focus-visible { outline: 3px solid rgba(142,255,207,.42); outline-offset: 3px; }

/* v3.0 full-radar Mapbox hotfix: accurate card-based signal selection. */
.signal-picker { margin: 10px 0 12px; padding: 12px; border-radius: 24px; border: 1px solid rgba(142,255,207,.18); background: linear-gradient(180deg, rgba(142,255,207,.08), rgba(255,255,255,.035)); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.signal-picker.hidden { display: none; }
.signal-picker-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.signal-picker-head strong { color: var(--ink); font-size: .98rem; }
.signal-picker-head span { color: var(--muted); font-size: .72rem; font-weight: 850; border: 1px solid var(--line); border-radius: 999px; padding: 6px 8px; white-space: nowrap; background: rgba(0,0,0,.15); }
.signal-choice-list { display: grid; gap: 8px; }
.signal-choice { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: stretch; padding: 8px; border-radius: 20px; border: 1px solid rgba(255,255,255,.075); background: rgba(0,0,0,.18); transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.signal-choice.is-selected { border-color: rgba(142,255,207,.48); background: rgba(53,251,211,.10); box-shadow: 0 14px 30px rgba(53,251,211,.10), inset 0 0 0 1px rgba(255,255,255,.045); }
.signal-choice-main { display: grid; grid-template-columns: 32px 1fr; gap: 10px; align-items: center; min-width: 0; padding: 0; border: 0; text-align: left; color: inherit; background: transparent; }
.choice-rank { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 999px; color: #02110d; font-weight: 1000; background: linear-gradient(135deg, var(--mint), var(--teal)); box-shadow: 0 0 0 7px rgba(53,251,211,.10); }
.choice-copy { display: grid; gap: 3px; min-width: 0; }
.choice-copy strong { color: var(--ink); font-size: .84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.choice-copy small { color: var(--muted); font-size: .73rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.unlock-choice { min-height: 42px; align-self: center; border: 0; border-radius: 999px; padding: 0 14px; color: #02110d; font-weight: 1000; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 10px 24px rgba(53,251,211,.14); }
.signal-choice-main:focus-visible,
.unlock-choice:focus-visible { outline: 3px solid rgba(142,255,207,.42); outline-offset: 3px; }
.signal-choice-main:disabled,
.unlock-choice:disabled { opacity: .55; }
@media (max-width: 390px) {
  .signal-choice { grid-template-columns: 1fr; }
  .unlock-choice { width: 100%; }
  .signal-picker-head { display: grid; }
  .signal-picker-head span { width: fit-content; }
}

/* v3.0 reliable Mapbox tile-live renderer */
.mapbox-tile-live { overflow: hidden; background: #07110e; }
.statio-tile-map,
.statio-marker-layer,
.statio-route-svg { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; }
.statio-tile-map { z-index: 1; }
.statio-map-tile { position: absolute; width: 512px; height: 512px; user-select: none; pointer-events: none; filter: saturate(.9) contrast(1.05) brightness(.86); }
.statio-route-svg { z-index: 3; pointer-events: none; }
.statio-route-svg .route-glow { stroke: rgba(53,251,211,.28); stroke-width: 12; stroke-linecap: round; filter: blur(3px); }
.statio-route-svg .route-line { stroke: rgba(53,251,211,.98); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 8 7; }
.statio-marker-layer { z-index: 4; pointer-events: none; }
.statio-marker-layer .statio-map-marker { position: absolute; transform: translate(-50%, -50%); pointer-events: auto; }
.statio-map-attribution { position: absolute; right: 10px; bottom: 8px; z-index: 6; padding: 4px 7px; border-radius: 999px; background: rgba(3,10,8,.6); color: rgba(244,255,249,.66); font-size: .58rem; font-weight: 800; backdrop-filter: blur(10px); }
.mapbox-tile-live::after { content: "Mapbox tile live"; position: absolute; left: 14px; top: 12px; z-index: 7; color: rgba(244,255,249,.74); font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }


/* v3.0 live map manipulation for the premium user demo */
.route-map.mapbox-tile-live { cursor: grab; touch-action: none; }
.route-map.mapbox-tile-live.is-dragging { cursor: grabbing; }
.route-map .statio-tile-map,
.route-map .statio-marker-layer,
.route-map .statio-route-svg { position: absolute; inset: 0; overflow: hidden; }
.route-map .statio-tile-map { z-index: 1; }
.route-map .statio-map-tile { position: absolute; width: 512px; height: 512px; user-select: none; pointer-events: none; filter: saturate(.88) contrast(1.08) brightness(.82); }
.route-map .statio-route-svg { z-index: 3; pointer-events: none; }
.route-map .statio-route-svg .route-glow { fill: none; stroke: rgba(53,251,211,.22); stroke-width: 9; stroke-linecap: round; filter: none; }
.route-map .statio-route-svg .route-line { fill: none; stroke: rgba(53,251,211,.98); stroke-width: 3.5; stroke-linecap: round; stroke-dasharray: 8 7; }
.route-map .statio-marker-layer { z-index: 4; pointer-events: none; }
.route-map .statio-marker-layer .statio-map-marker { position: absolute; transform: translate(-50%, -50%); pointer-events: auto; }
.route-map .statio-map-marker { width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.82); border-radius: 999px; background: rgba(136,242,189,.86); color: #03110c; font-size: .72rem; font-weight: 1000; box-shadow: 0 0 0 8px rgba(136,242,189,.18), 0 0 28px rgba(136,242,189,.72); }
.route-map .statio-map-marker.user { background: #84b8ff; box-shadow: 0 0 0 8px rgba(132,184,255,.18), 0 0 28px rgba(132,184,255,.72); }
.route-map .statio-map-marker.own,
.route-map .statio-map-marker.selected { background: var(--gold); box-shadow: 0 0 0 8px rgba(255,218,116,.18), 0 0 30px rgba(255,218,116,.75); }
.route-map .statio-map-loading { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; padding: 16px; text-align: center; color: rgba(244,255,249,.82); background: radial-gradient(circle at center, rgba(6,21,17,.72), rgba(2,8,6,.22)); font-weight: 900; }
.route-map .statio-map-loading.hidden { display: none; }
.route-map .statio-map-controls { position: absolute; right: 10px; top: 34px; z-index: 8; display: grid; gap: 6px; }
.route-map .statio-map-controls button { width: 30px; height: 30px; border-radius: 11px; border: 1px solid rgba(199,255,229,.22); background: rgba(3,12,9,.78); color: var(--ink); font-weight: 1000; }
.route-map .statio-map-hint { position: absolute; left: 10px; bottom: 8px; z-index: 7; padding: 4px 7px; border-radius: 999px; background: rgba(3,10,8,.62); color: rgba(244,255,249,.66); font-size: .56rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.route-map .statio-map-attribution { position: absolute; right: 9px; bottom: 8px; z-index: 6; padding: 4px 7px; border-radius: 999px; background: rgba(3,10,8,.62); color: rgba(244,255,249,.58); font-size: .52rem; font-weight: 800; backdrop-filter: blur(10px); }
.route-map.mapbox-tile-live::after { content: "Mapbox tile live"; position: absolute; left: 10px; top: 9px; z-index: 7; color: rgba(244,255,249,.76); font-size: .56rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }

/* v3.0 beta-ready polish: onboarding, tester guide, and mobile-first empty-state clarity. */
.beta-onboarding {
  padding: 14px;
  display: grid;
  gap: 12px;
}
.beta-onboarding h3 { margin: 2px 0 0; font-size: 1rem; }
.beta-steps {
  list-style: none;
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.beta-steps li {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 8px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(120, 255, 203, 0.12);
  background: rgba(255,255,255,0.045);
  border-radius: 18px;
}
.beta-steps strong { color: #dfffee; }
.beta-steps span { color: rgba(229, 255, 242, 0.68); font-size: .78rem; line-height: 1.35; }
.beta-action-row { display: flex; flex-wrap: wrap; gap: 8px; }
.beta-action-row a {
  text-decoration: none;
  color: #9fffd1;
  border: 1px solid rgba(118,255,194,.18);
  background: rgba(9, 48, 34, 0.44);
  padding: 8px 10px;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 800;
}
@media (max-width: 760px) {
  .beta-steps li { grid-template-columns: 1fr; }
  .beta-action-row a { flex: 1; text-align: center; }
}

/* v3.0 Lean Beta Mode: make the main app simple, fast, and thumb-friendly. */
body.lean-beta { min-height: 100vh; overflow-x: hidden; }
.lean-beta .showcase-shell { width: min(100%, 560px); min-height: 100vh; padding: max(10px, env(safe-area-inset-top)) 10px max(16px, env(safe-area-inset-bottom)); display: block; margin: 0 auto; }
.lean-beta .phone-frame { width: 100%; margin: 0 auto; filter: none; }
.lean-beta .phone-glass { width: 100%; min-height: calc(100vh - 20px); max-height: none; overflow: visible; padding: 10px; border-radius: 34px; box-shadow: 0 28px 90px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.06); }
.lean-beta .statusbar { padding-bottom: 8px; }
.lean-header { margin-bottom: 10px; }
.lean-hero { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 16px; margin-bottom: 10px; }
.lean-hero h1 { margin: 3px 0 5px; font-size: clamp(1.6rem, 9vw, 2.35rem); line-height: .95; letter-spacing: -.07em; }
.lean-hero p { margin: 0; color: rgba(229,255,242,.72); font-size: .88rem; line-height: 1.36; }
.lean-token-pill { width: 82px; height: 82px; border-radius: 28px; display: grid; place-items: center; align-content: center; background: linear-gradient(135deg, rgba(53,251,211,.26), rgba(36,175,255,.13)); border: 1px solid rgba(142,255,207,.22); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 40px rgba(53,251,211,.10); }
.lean-token-pill strong { display:block; color: var(--ink); font-size: 1.75rem; line-height: 1; }
.lean-token-pill span { color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.lean-command-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.lean-command { min-height: 116px; border: 1px solid rgba(142,255,207,.18); border-radius: 27px; padding: 15px; text-align: left; color: var(--ink); background: linear-gradient(145deg, rgba(10,31,25,.86), rgba(6,14,13,.78)); box-shadow: 0 20px 42px rgba(0,0,0,.20), inset 0 0 0 1px rgba(255,255,255,.04); }
.lean-command.share { background: radial-gradient(circle at 20% 10%, rgba(53,251,211,.26), transparent 42%), linear-gradient(145deg, rgba(8,34,27,.92), rgba(5,14,12,.86)); }
.lean-command.find { background: radial-gradient(circle at 20% 10%, rgba(36,175,255,.23), transparent 42%), linear-gradient(145deg, rgba(8,27,34,.92), rgba(5,14,12,.86)); }
.lean-command span { display: inline-flex; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .10em; font-weight: 1000; }
.lean-command strong { display:block; margin-top: 8px; font-size: 1.15rem; letter-spacing: -.04em; }
.lean-command small { display:block; margin-top: 5px; color: rgba(229,255,242,.62); font-size: .78rem; font-weight: 800; }
.lean-profile { padding: 12px; margin-bottom: 10px; }
.lean-stats { gap: 8px; margin-bottom: 10px; }
.lean-stats .mini-stat { padding: 10px; border-radius: 23px; }
.lean-stats .mini-stat strong { font-size: 1.1rem; }
.lean-stats .mini-stat small { font-size: .64rem; }
.lean-onboarding { padding: 12px; margin-bottom: 10px; }
.lean-onboarding h3 { margin: 0 0 7px; font-size: 1rem; }
.lean-onboarding .beta-steps { grid-template-columns: 1fr; gap: 7px; }
.lean-onboarding .beta-steps li { padding: 9px; border-radius: 18px; }
.compact-tabs { margin: 0 0 10px; }
.lean-result { padding: 12px; margin-bottom: 10px; }
.lean-map { height: 220px; min-height: 220px; border-radius: 26px; margin: 10px 0; }
.lean-result .metric-strip { margin-top: 0; }
.lean-activity { padding: 12px; margin-bottom: 10px; }
.lean-legal { display: grid; gap: 4px; padding: 10px 12px 8px; }
.lean-map-status { display: inline-flex; width: fit-content; margin-top: 4px; padding: 4px 8px; border-radius: 999px; background: rgba(53,251,211,.10); color: rgba(229,255,242,.76); font-weight: 900; font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; }
@media (min-width: 760px) {
  .lean-beta .showcase-shell { width: min(100%, 620px); padding-top: 22px; }
  .lean-beta .phone-glass { border-radius: 38px; }
  .lean-map { height: 260px; }
}
@media (max-width: 430px) {
  .lean-beta .showcase-shell { padding-left: 6px; padding-right: 6px; }
  .lean-beta .phone-glass { padding: 8px; border-radius: 28px; }
  .lean-command-grid { gap: 8px; }
  .lean-command { min-height: 108px; padding: 13px; border-radius: 24px; }
  .lean-token-pill { width: 72px; height: 72px; border-radius: 24px; }
  .lean-hero { padding: 14px; }
}

/* v3.6.6 lean live-beta cleanup: no flow tabs/activity, confirm shared pin before posting. */
.lean-beta .app-header { justify-content: flex-start; }
.share-confirm { margin: 10px 0; padding: 12px; border-radius: 22px; border: 1px solid rgba(53,251,211,.24); background: linear-gradient(145deg, rgba(6,28,24,.94), rgba(2,10,9,.92)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.035); }
.share-confirm.hidden { display: none; }
.share-confirm .signal-picker-head { margin-bottom: 8px; }
.nudge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; max-width: 210px; margin: 10px auto; }
.nudge-grid button,
.share-confirm .found-actions button { min-height: 38px; border: 1px solid rgba(142,255,207,.2); border-radius: 14px; background: rgba(255,255,255,.055); color: var(--ink); font-weight: 950; }
.nudge-grid button:hover,
.share-confirm .found-actions button:hover { border-color: rgba(53,251,211,.44); background: rgba(53,251,211,.12); }
.share-confirm .found-actions { display: grid; grid-template-columns: 1.35fr .85fr; gap: 8px; }
.share-confirm .found-actions #confirmShareBtn { color: #02120e; border: 0; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 14px 30px rgba(53,251,211,.18); }
.share-pin-crosshair { position: absolute; z-index: 60; left: 50%; top: 50%; transform: translate(-50%, -100%); width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50% 50% 50% 8px; rotate: -45deg; color: #03110d; background: linear-gradient(135deg, var(--mint), var(--cyan)); box-shadow: 0 12px 28px rgba(53,251,211,.28), 0 0 0 8px rgba(53,251,211,.08); font-weight: 1000; pointer-events: none; }
.share-pin-crosshair::after { content: ''; position: absolute; inset: 8px; border-radius: inherit; border: 1px solid rgba(3,17,13,.38); }
.share-pin-crosshair { font-size: 0; }
.share-pin-crosshair::before { content: 'S'; rotate: 45deg; font-size: 15px; }
.share-pin-crosshair.hidden,
.share-pin-hint.hidden { display: none; }
.share-pin-hint { position: absolute; z-index: 61; left: 50%; top: calc(50% + 4px); transform: translateX(-50%); padding: 5px 8px; border: 1px solid rgba(53,251,211,.24); border-radius: 999px; color: var(--mint); background: rgba(3,13,12,.78); backdrop-filter: blur(8px); font-size: .64rem; font-weight: 900; pointer-events: none; white-space: nowrap; }
.lean-beta .route-map { touch-action: none; }
.lean-beta .legal-note { margin-top: 10px; }
@media (max-width: 520px) {
  .share-confirm .found-actions { grid-template-columns: 1fr; }
  .nudge-grid { max-width: 190px; }
}

/* v3.6.6 map cleanup: live beta shows only the icons needed for the current task. */
.statio-map-controls-hidden .statio-map-controls { display: none; }
.statio-map-controls-hidden .statio-map-hint { left: 10px; right: auto; max-width: calc(100% - 20px); }
.lean-beta .lean-map-status { display: none; }
.lean-beta .lean-map-status.visible { display: inline-flex; }
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-route-svg,
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-marker-layer { display: none; }
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-map-hint::before { content: "Drag map to place pin"; }
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-map-hint { font-size: 0; }
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-map-hint::before { font-size: .56rem; }


/* v3.6.6 confirmation/cooldown flow: confirmed shares post live and return user to default map state. */
.cooldown-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 10px; margin: 0 0 10px; }
.cooldown-strip div { min-height: 50px; border: 1px solid rgba(142,255,207,.13); border-radius: 18px; padding: 9px 10px; background: rgba(255,255,255,.035); }
.cooldown-strip strong { display: block; color: var(--ink); font-size: .78rem; margin-bottom: 3px; }
.cooldown-strip span { display: block; color: var(--muted); font-size: .68rem; line-height: 1.25; }
.lean-command:disabled { opacity: .58; cursor: not-allowed; filter: saturate(.78); }
@media (max-width: 430px) { .cooldown-strip { grid-template-columns: 1fr; } }


/* v3.6.6 live-beta polish: cooldown timers are enforced but not shown to users; feedback stays visible. */
.cooldown-strip.hidden { display: none !important; }
.feedback-button {
  width: fit-content;
  margin-top: 6px;
  min-height: 36px;
  border: 1px solid rgba(142,255,207,.22);
  border-radius: 999px;
  padding: 0 12px;
  color: #dfffee;
  background: rgba(255,255,255,.055);
  font-weight: 900;
  letter-spacing: .01em;
}
.feedback-button:focus-visible { outline: 3px solid rgba(142,255,207,.42); outline-offset: 3px; }
.feedback-button:hover { border-color: rgba(53,251,211,.42); background: rgba(53,251,211,.10); }

/* v3.6.6 integrated feedback + mobile usage polish. */
.legal-copy-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px;
}
.legal-copy-row > div { display: grid; gap: 4px; min-width: 0; }
.feedback-panel {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid rgba(142,255,207,.18);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(9,30,25,.90), rgba(3,13,11,.92));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 14px 34px rgba(0,0,0,.20);
}
.feedback-panel.hidden { display: none; }
.feedback-panel label { font-size: .72rem; font-weight: 900; color: rgba(229,255,242,.76); }
.feedback-panel select,
.feedback-panel textarea {
  width: 100%;
  border: 1px solid rgba(199,255,229,.15);
  border-radius: 16px;
  background: rgba(0, 7, 6, .72);
  color: var(--ink);
  outline: 0;
  padding: 11px 12px;
  font: inherit;
  font-size: 16px;
}
.feedback-panel textarea { min-height: 92px; resize: vertical; line-height: 1.35; }
.feedback-panel select:focus,
.feedback-panel textarea:focus { border-color: rgba(53,251,211,.62); box-shadow: 0 0 0 4px rgba(53,251,211,.08); }
.feedback-actions { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8px; }
.feedback-actions button {
  min-height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(142,255,207,.20);
  color: var(--ink);
  background: rgba(255,255,255,.055);
  font-weight: 950;
}
.feedback-actions #sendFeedbackBtn { border: 0; color: #02120e; background: linear-gradient(135deg, var(--mint), var(--cyan)); }
.feedback-button { min-height: 42px; }

@media (max-width: 600px) {
  body.lean-beta { background: linear-gradient(180deg, #03100d, #020806); }
  .lean-beta .ambient,
  .lean-beta body::before,
  .lean-beta body::after { display: none; }
  .lean-beta .showcase-shell {
    width: 100%;
    max-width: none;
    min-height: 100dvh;
    padding: 0;
  }
  .lean-beta .phone-frame {
    width: 100%;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
  .lean-beta .phone-glass {
    min-height: 100dvh;
    border-radius: 0;
    padding: max(10px, env(safe-area-inset-top)) 10px max(14px, env(safe-area-inset-bottom));
    box-shadow: none;
  }
  .lean-beta .statusbar { display: none; }
  .lean-beta .app-header { margin-top: 2px; }
  .lean-beta .brand-mark { width: 38px; height: 38px; border-radius: 15px; }
  .lean-hero { grid-template-columns: 1fr; }
  .lean-token-pill { width: 100%; height: auto; min-height: 64px; grid-template-columns: auto auto; justify-content: center; gap: 8px; border-radius: 22px; }
  .lean-token-pill strong { font-size: 1.55rem; }
  .lean-command { min-height: 98px; }
  .lean-map { height: min(44dvh, 300px); min-height: 215px; }
  .route-map .statio-map-attribution { font-size: .48rem; max-width: 50%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .stats-row.lean-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mini-stat .stat-icon { width: 28px; height: 28px; }
  .mini-stat span { font-size: .65rem; }
  .mini-stat small { display: none; }
  .legal-copy-row { grid-template-columns: 1fr; }
  .feedback-button { width: 100%; min-height: 48px; }
  .feedback-actions { grid-template-columns: 1fr; }
  button, .lean-command, .feedback-actions button, .share-confirm .found-actions button, .nudge-grid button { touch-action: manipulation; }
}

@media (max-width: 370px) {
  .lean-command-grid { grid-template-columns: 1fr; }
  .stats-row.lean-stats { grid-template-columns: 1fr 1fr; }
  .lean-onboarding { display: none; }
}
@media (max-width: 600px) {
  body.lean-beta::before,
  body.lean-beta::after { display: none; }
}

/* v3.6.6 global curb guidance: lightweight hints, never legal guarantees. */
.curb-guidance-card {
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(142,255,207,.16);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}
.curb-guidance-card strong { display: block; color: var(--ink); font-size: .82rem; line-height: 1.32; }
.curb-guidance-legend { display: flex; flex-wrap: wrap; gap: 6px; }
.curb-chip { padding: 5px 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: var(--muted); background: rgba(255,255,255,.035); font-size: .58rem; font-weight: 900; letter-spacing: .035em; }
.curb-chip.likely_favorable, .statio-map-marker.guidance-likely_favorable { border-color: rgba(142,255,207,.56); color: var(--mint); }
.curb-chip.paid_parking_nearby, .statio-map-marker.guidance-paid_parking_nearby { border-color: rgba(126,203,255,.56); color: var(--cyan); }
.curb-chip.check_signs, .statio-map-marker.guidance-check_signs { border-color: rgba(255,218,116,.55); color: var(--gold); }
.curb-chip.restricted, .statio-map-marker.guidance-restricted { border-color: rgba(255,112,112,.58); color: #ff9a9a; }
.curb-chip.verified_signal_zone, .statio-map-marker.guidance-verified_signal_zone { border-color: rgba(53,251,211,.66); color: var(--teal); }
.statio-map-marker.guidance {
  width: 22px;
  height: 22px;
  z-index: 8;
  opacity: .86;
  font-size: .58rem;
  background: rgba(3,13,11,.82);
  box-shadow: 0 0 0 4px rgba(255,255,255,.035), 0 8px 18px rgba(0,0,0,.34);
}
.lean-beta .route-map[data-statio-map-mode="share_adjust"] .statio-map-marker.guidance { display: none; }
@media (max-width: 520px) {
  .curb-guidance-card { padding: 9px 10px; border-radius: 18px; }
  .curb-guidance-legend { gap: 5px; }
  .curb-chip { font-size: .54rem; padding: 4px 6px; }
}

/* v3.6.24: Lean beta route cleanup. Hide decorative route art until a real
   unlocked route is active so the map does not show ghost navigation. */
body.lean-beta .statio-route-svg,
body.lean-beta .route-map .statio-route-svg {
  display: none !important;
}

/* v3.6.6: In-app Mapbox directions are intentionally shown only after a seeker
   unlocks a signal. Before that, no decorative dotted line should appear. */
body.lean-beta .route-map[data-statio-route="active"] .statio-route-svg {
  display: block !important;
}
body.lean-beta .route-map .statio-route-svg line,
body.lean-beta .route-map .statio-route-svg polyline {
  fill: none;
}
body.lean-beta .route-map[data-statio-route="active"] .statio-route-svg .route-line {
  fill: none;
  stroke-dasharray: none;
  stroke-width: 4;
}
body.lean-beta .route-map[data-statio-route="active"] .statio-route-svg .route-glow {
  fill: none;
  stroke-width: 9;
  filter: none;
  opacity: .72;
}
.found-actions .secondary-link {
  color: var(--ink);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  box-shadow: none;
}
.found-ack-note {
  display: block;
  margin-top: 9px;
  color: rgba(244,255,249,.62);
  font-size: .72rem;
  line-height: 1.35;
}

/* v3.6.6 route visual cleanup: SVG route geometry uses fill:none so it cannot create dark polygon artifacts between route bends. */
body.lean-beta .curb-guidance-card + .lean-map { margin-top: 8px; }

/* v3.6.6: Share/Find stay on one page, but the screen smoothly moves to the map so the next action is obvious. */
.lean-result.map-jump-highlight {
  outline: 2px solid rgba(53,251,211,.38);
  box-shadow: 0 0 0 6px rgba(53,251,211,.08), 0 22px 60px rgba(53,251,211,.10);
  transition: outline-color .22s ease, box-shadow .22s ease;
}

/* v3.6.6: map action placement hotfix. Share/Find must visually belong to the map workflow. */
.map-bound-actions {
  margin: 10px 0 8px;
  padding: 8px;
  border: 1px solid rgba(142,255,207,.18);
  border-radius: 24px 24px 14px 14px;
  background: linear-gradient(180deg, rgba(9,30,25,.82), rgba(3,12,10,.74));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 12px 28px rgba(0,0,0,.22);
}
.map-bound-actions + .route-map {
  margin-top: 0;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.map-bound-actions .lean-command {
  min-height: 92px;
}
.map-bound-actions-full {
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

/* v3.6.24: Statio icon branding pass. */
.brand-mark { overflow: hidden; padding: 0; background: #020706; }
.brand-mark img { width: 100%; height: 100%; display: block; object-fit: cover; }
