/* A single, skippable introduction; no tour, timers or location request. */
.welcome-open{overflow:hidden}
.welcome-dialog{--welcome-padding:24px;width:min(29rem,calc(100% - 24px));max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:auto;padding:0;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--paper);box-shadow:0 20px 70px #10251d55;overflow:hidden}
.welcome-dialog[open]{display:flex;flex-direction:column}
.welcome-body{flex:1 1 auto;min-height:0;padding:0 var(--welcome-padding);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.welcome-body:focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.welcome-footer{flex:none;padding:14px var(--welcome-padding) var(--welcome-padding);background:var(--paper);border-top:1px solid var(--line)}
.welcome-dialog::backdrop{background:#10251dbb}
.welcome-top{display:flex;flex:none;align-items:center;justify-content:space-between;gap:12px;padding:var(--welcome-padding) var(--welcome-padding) 18px}
.welcome-top img{display:block;flex-shrink:0}
.welcome-dialog .dialog-close{width:44px;height:44px;flex:0 0 44px}
.welcome-languages{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border-radius:12px;background:#f1f6ee}
.welcome-languages button{min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);font-size:1rem;font-weight:600}
.welcome-languages button[aria-pressed="true"]{background:var(--forest);color:white;border-color:var(--forest)}
.welcome-dialog h2{font:750 1.65rem/1.3 Manrope,system-ui,sans-serif;letter-spacing:-.4px;margin:20px 0 10px;overflow-wrap:break-word}
.welcome-dialog p{font-size:1rem;line-height:1.55;margin:0;color:var(--muted)}
.welcome-steps{padding-left:1.6rem;margin:18px 0 22px;font-size:1rem;line-height:1.55}
.welcome-steps li{padding-left:5px;margin:10px 0}
.welcome-steps li>strong{display:block;margin-bottom:4px}
.welcome-steps .welcome-walk-type{color:var(--ink);font-weight:750}
.welcome-steps li p+p{margin-top:6px}
.welcome-dialog .welcome-note{font-size:.875rem;line-height:1.5;margin:0 0 18px}
.planner-help{min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--green);font:600 .9rem/1.5 Manrope,system-ui,sans-serif;text-align:left;text-decoration:underline;text-underline-offset:3px}
.welcome-steps li::marker{font-weight:750;color:var(--green)}
.welcome-dialog .primary{justify-content:center;font-size:1rem;min-height:52px}
.hide-stops{border:1px solid #bdd2b6;border-radius:8px;background:#eef6e8;color:var(--forest);min-height:44px;padding:8px 12px;font-size:14px;line-height:1.4;font-weight:650}
.map-legend .hide-stops{flex:0 1 auto}
.stops-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.stops-actions button{flex:1;min-width:120px;min-height:44px;padding:10px 12px;border:1px solid #c9ddc2;border-radius:8px;background:#eef6e8;color:var(--forest);font-size:1rem;line-height:1.4;font-weight:600}
.stops-actions button:disabled{cursor:default}
@media(max-width:380px){.welcome-dialog{--welcome-padding:18px}.welcome-dialog h2{font-size:1.5rem}}
@media(max-height:540px){.welcome-dialog{--welcome-padding:16px}.welcome-top{padding-bottom:10px}.welcome-dialog h2{margin-top:14px}.welcome-steps{margin:12px 0 16px}}
