/* Atlas progressive entry: one question at a time; explicit selection. */
#onboarding .onboarding-modal{
  width:min(720px,100%);padding:27px 30px 23px;
  max-height:min(90dvh,860px);
  background:var(--panel-solid);border-radius:22px;
}
.onboarding-progress{display:grid;gap:9px;margin:0 0 17px}
.onboarding-progress>span{
  color:var(--muted);text-transform:uppercase;
  letter-spacing:.11em;font-weight:800;font-size:.73rem
}
.onboarding-progress-track{
  width:100%;height:4px;overflow:hidden;border-radius:99px;
  background:var(--surface-2);
}
.onboarding-progress-track i{
  display:block;width:50%;height:100%;border-radius:99px;
  background:#38bdf8;transition:width .18s ease;
}
#onboardingTitle{margin:0 0 8px;font-size:clamp(1.55rem,3vw,2.1rem);line-height:1.18;letter-spacing:-.025em}
#onboardingIntro{margin:0 0 22px;font-size:.9rem;line-height:1.6;max-width:560px}
#onboarding .onboarding-step{
  margin:0;padding:0;background:transparent;border:0;transition:none;
}
#onboarding .onboarding-step.hidden{display:none!important}
#onboarding .onboarding-step-head{margin:0 0 17px;align-items:center}
#onboarding .onboarding-step-head .step-number{
  width:31px;height:31px;flex:0 0 31px;
  background:var(--surface);border:1px solid var(--border);
}
#onboarding .onboarding-step-head h3{margin:0;font-size:1rem}
#onboarding .onboarding-step-head p{margin:3px 0 0;font-size:.79rem;color:var(--muted);line-height:1.4}
#onboarding .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#onboarding .choice-grid button{
  display:grid;gap:7px;align-content:center;
  min-height:96px;padding:17px;text-align:left;
  border:1px solid var(--border);border-radius:13px;
  background:var(--surface);transition:border-color .14s,transform .14s,background .14s;
}
#onboarding .choice-grid button strong{font-size:1rem;line-height:1.26}
#onboarding .choice-grid button span{font-size:.8rem;line-height:1.45}
#onboarding .choice-grid button:hover,#onboarding .choice-grid button:focus-visible{
  border-color:#38bdf8;transform:translateY(-1px);outline:none;
  background:color-mix(in srgb,#38bdf8 7%,var(--surface));
}
#onboarding .choice-grid button.active{border-color:#38bdf8}
#onboarding #interestStatus{min-height:0;margin:12px 0 0}
#onboarding .onboarding-back-row{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin:-2px 0 17px;
}
#onboarding .onboarding-back-row button,
#onboarding .location-mode-toggle{
  border:0;background:transparent;color:#38bdf8;
  padding:8px 0;cursor:pointer;text-align:left;
  font-size:.8rem;font-weight:750;min-height:40px;
}
#onboarding .onboarding-back-row button:before{content:'← ';font-size:1rem}
#onboardingInterestSummary{color:var(--muted);font-size:.77rem;text-align:right}
#onboarding .search-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
#onboarding #locationInput{
  min-height:56px;font-size:1.1rem;font-variant-numeric:tabular-nums;
  letter-spacing:.025em;border-radius:11px;
}
#onboarding #searchLocation{min-width:110px;min-height:56px;border-radius:11px;font-weight:800}
#onboarding #locationStatus{margin-top:10px;font-size:.78rem;min-height:18px}
#onboarding #locationResults{max-height:min(31dvh,250px);overflow-y:auto;overscroll-behavior:contain}
#onboarding #locationResults .result{
  min-height:65px;padding:13px 15px;line-height:1.4;
  border-radius:11px;
}
#onboarding .location-mode-toggle{margin:6px 0 0;min-height:39px}
#onboarding .linked-context-suggestion{
  display:grid;gap:9px;margin:0 0 17px;padding:13px 15px;
  border-radius:12px;background:color-mix(in srgb,#38bdf8 8%,var(--surface));
  border:1px solid color-mix(in srgb,#38bdf8 30%,var(--border));
}
#onboarding .linked-context-suggestion.hidden{display:none!important}
#onboarding .linked-context-suggestion span{font-size:.78rem;line-height:1.5;color:var(--muted)}
#onboarding .linked-context-suggestion button{
  justify-self:start;min-height:40px;
  border:1px solid var(--border);background:var(--surface);
  color:var(--text);border-radius:9px;padding:9px 12px;font-weight:700;cursor:pointer;
}
#onboarding .onboarding-secondary-actions{
  margin-top:14px;padding-top:13px;
  border-top:1px solid var(--border);align-items:center;
}
#onboarding .onboarding-secondary-actions .saved-shortcut{margin:0}
#onboarding :is(button,input):focus-visible{outline:2px solid #38bdf8;outline-offset:3px}
@media(max-width:600px){
  #onboarding .onboarding-modal{
    width:calc(100vw - 16px);height:auto;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);
    padding:19px 17px 16px;border-radius:17px;overflow-y:auto;
  }
  #onboarding #onboardingTitle{font-size:1.55rem}
  #onboarding #onboardingIntro{font-size:.81rem;margin-bottom:19px}
  #onboarding .choice-grid{grid-template-columns:1fr;gap:8px}
  #onboarding .choice-grid button{min-height:67px;padding:12px 14px;gap:3px}
  #onboarding .choice-grid button strong{font-size:.95rem}
  #onboarding .choice-grid button span{font-size:.75rem}
  #onboarding .search-row{grid-template-columns:1fr}
  #onboarding #searchLocation{min-height:47px}
  #onboarding #locationInput{min-height:52px}
  #onboarding .onboarding-back-row{align-items:flex-start}
  #onboardingInterestSummary{max-width:46%}
  #onboarding .onboarding-secondary-actions{margin-top:8px}
}
@media(max-height:620px) and (min-width:601px){
  #onboarding .onboarding-modal{padding:17px 23px}
  #onboarding .choice-grid button{min-height:74px;padding:10px 14px}
}
@media(prefers-reduced-motion:reduce){
  .onboarding-progress-track i,#onboarding .choice-grid button{transition:none}
}

/* A selected question remains legible in either light or dark mode. */
#onboarding .choice-grid button.active{
  background:color-mix(in srgb,#38bdf8 10%,var(--surface));
  color:var(--text);border-color:#38bdf8;
}
#onboarding .choice-grid button.active span{color:var(--muted)}

/* Optional, explicit browser location in the same progressive entry step. */
#onboarding .current-location-option{display:grid;gap:7px;margin:2px 0 17px}
#onboarding .current-location-button{
  display:flex;align-items:center;justify-content:center;gap:11px;
  width:100%;min-height:57px;padding:13px 16px;
  border:1px solid color-mix(in srgb,#38bdf8 62%,var(--border));
  border-radius:12px;background:color-mix(in srgb,#38bdf8 10%,var(--surface));
  color:var(--text);font-family:inherit;font-weight:800;font-size:1rem;
  line-height:1.35;cursor:pointer;
}
#onboarding .current-location-icon{
  display:inline-flex;justify-content:center;align-items:center;
  font-size:1.5rem;line-height:1;color:#38bdf8;font-weight:700;
}
#onboarding .current-location-button:hover:not(:disabled){
  border-color:#38bdf8;
  background:color-mix(in srgb,#38bdf8 17%,var(--surface));
}
#onboarding .current-location-button:disabled{opacity:.7;cursor:progress}
#onboarding #geolocationExplanation{
  margin:0;color:var(--muted);font-size:.77rem;line-height:1.5;
  text-align:center;
}
#onboarding #geolocationStatus:empty{display:none}
#onboarding #geolocationStatus{
  font-size:.79rem;line-height:1.5;color:var(--text);
  padding:9px 12px;border:1px solid var(--border);
  background:var(--surface);border-radius:9px;
}
#onboarding .location-choice-divider{
  display:flex;align-items:center;gap:12px;
  margin:0 0 14px;color:var(--muted);
  font-size:.73rem;font-weight:750;letter-spacing:.015em;
}
#onboarding .location-choice-divider:before,
#onboarding .location-choice-divider:after{
  content:'';display:block;flex:1 1 0;
  height:1px;background:var(--border);
}
@media(max-width:600px){
  #onboarding .current-location-button{min-height:52px;font-size:.91rem;padding:11px}
  #onboarding .current-location-option{margin-bottom:14px}
  #onboarding #geolocationExplanation{font-size:.74rem}
}


/* The chosen place opens the map directly; only a brief in-step loading
   announcement remains, not another review screen or required button. */
#onboarding #onboardingMapStatus:not(.hidden){
  padding:14px 16px;margin:12px 0 0;
  border:1px solid var(--border);border-radius:11px;
  background:var(--surface);color:var(--text);
  line-height:1.5;font-size:.85rem;
}
#onboarding #onboardingMapStatus.hidden{display:none!important}
#onboarding #onboardingBack:disabled,
#onboarding #locationModeToggle:disabled{opacity:.55;cursor:wait}
