/* ParkQuest v33 — UX audit remediation */
.skip-link{position:fixed;top:10px;left:10px;z-index:10000;padding:10px 14px;border-radius:8px;background:#fff;color:var(--brand-ink);font-weight:750;transform:translateY(-150%)}.skip-link:focus{transform:none}
.magic-link-button{width:100%;margin:4px 0 10px;padding:11px;border:1px solid #cfdad3;border-radius:9px;background:#fff;color:var(--brand-ink);font:inherit;font-weight:700;cursor:pointer}

/* Real navigation links retain the same visual language and support new tabs. */
.side-brand,.side-nav a,.mobile-brand,.mobile-avatar,.mobile-tabbar a{border:0;text-decoration:none;cursor:pointer}
.side-nav a{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;border-radius:10px;color:#4e554f;font-size:14px;font-weight:650}.side-nav a:hover{background:#f0f7ec;color:var(--brand-ink)}.side-nav a.is-active{background:#e7f5df;color:var(--brand-ink)}
.mobile-tabbar a{display:grid;min-width:0;place-items:center;align-content:center;gap:2px;border-radius:12px;color:#68736c}.mobile-tabbar a.is-active{background:#e7f5df;color:var(--brand-ink)}.mobile-tabbar a>span{font-size:19px;line-height:1}.mobile-tabbar a small{font-size:11px;font-weight:650}
.mobile-brand{display:flex;align-items:center}.mobile-avatar{display:grid}
.sidebar-about{margin:9px 0 0;padding:8px 4px;border:0;background:transparent;color:#657069;font:inherit;font-size:12px;text-align:left;cursor:pointer}.sidebar-about:hover{text-decoration:underline;color:var(--brand-ink)}

/* First-run state explains the product before asking for an account. */
.guest-onboarding{margin:22px 0 30px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff}.guest-onboarding .content-section-heading{margin-bottom:18px}.onboarding-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:0;list-style:none}.onboarding-steps li{display:flex;gap:10px;padding:14px;border-radius:10px;background:#f6f9f7}.onboarding-steps li>span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:50%;background:var(--brand-lime);color:var(--brand-ink);font-weight:800}.onboarding-steps strong,.onboarding-steps p{display:block}.onboarding-steps p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.example-stamp{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:15px;border:1px dashed #b7c8bc;border-radius:11px;background:#fbfdfb}.example-stamp-mark{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:2px solid var(--brand-lime);border-radius:50%;color:var(--brand-ink);font-size:20px;font-weight:800}.example-stamp small,.example-stamp strong,.example-stamp p{display:block}.example-stamp small{color:var(--muted);font-size:10px}.example-stamp strong{margin-top:2px}.example-stamp p{margin:3px 0 0;color:var(--muted);font-size:12px}.guest-onboarding>.primary-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.session-expired{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:16px;border:1px solid #cdddcf;border-radius:12px;background:#f3faf0}.session-expired strong,.session-expired span{display:block}.session-expired span{margin-top:3px;color:var(--muted);font-size:13px}.session-expired[hidden]{display:none!important}.session-expired .primary-action{flex:0 0 auto}.session-expired~.progress-always-visible{display:none!important}.session-expired body{display:none}.session-expired .guest-onboarding{display:none}.session-expired~.community-feed{opacity:.72}
body.session-expired .guest-passport,body.session-expired .guest-onboarding{display:none!important}

/* Locked achievements remain readable; only the decorative stamp is muted. */
.achievement{position:relative;filter:none!important;opacity:1!important;color:var(--ink)!important}.achievement:not(.unlocked){background:#f4f6f4!important}.achievement:not(.unlocked) .achievement-stamp{filter:grayscale(1);opacity:.5}.achievement:not(.unlocked)::after{content:"Locked";position:absolute;top:8px;right:8px;color:#66716b;font-size:10px;font-weight:700}.achievement p,.achievement strong,.achievement small,.stats span,.side-account small{opacity:1!important;color:#4d5952!important}.achievement small{color:var(--brand-ink)!important}.xp-explainer{grid-column:1/-1;display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.4}

/* Check-in owns the first action position in the detail pane. */
.selected-place>.visit-form{margin:8px 0 0!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important}.selected-place>#map{display:none!important}.selected-copy{padding-top:4px!important}

/* Search results visibly correspond to map pins and preserve full addresses. */
.nearby-card{grid-template-columns:30px minmax(0,1fr)!important;gap:10px!important}.nearby-result-number{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--brand-lime);color:var(--brand-ink);font-size:12px}.nearby-result-copy{min-width:0}.nearby-result-copy span{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;text-align:left!important}

.quest-card #surprise-quest{min-height:44px!important;background:var(--brand-lime)!important;color:var(--brand-ink)!important}.mobile-avatar{width:44px!important;height:44px!important}

.about-view{padding-top:42px}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.about-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.about-card h2{margin:0 0 8px;font-size:22px}.about-card p,.about-card li{color:#4f5b54;line-height:1.6}.about-card ul{margin:0;padding-left:20px}.about-card .primary-action{display:inline-flex;margin-top:8px;text-decoration:none}
.leaderboard-preview{margin:26px 0 30px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.leaderboard-preview-heading{margin-bottom:4px}.leaderboard-preview-heading .secondary-action{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;text-decoration:none}.leaderboard-preview-list{display:grid}.leaderboard-preview-row{grid-template-columns:44px 42px minmax(0,1fr) auto;padding:12px 2px}.leaderboard-preview-row .leader-rank{text-align:center}.leaderboard-preview-you-label{margin:12px 0 0;padding:12px 2px 5px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.leaderboard-preview-empty{padding:20px 0;color:var(--muted);font-size:13px}.leaderboard-preview .status:empty{display:none}

@media(max-width:760px){
  .explore-layout{display:flex!important;flex-direction:column!important}.map-stage{order:1!important}.explore-panel{order:2!important}.park-detail-pane{order:3!important}.explore-controls{display:flex;flex-direction:column}.explore-controls .nearby-button{order:-1;min-height:48px!important;background:var(--brand-lime)!important;color:var(--brand-ink)!important}.map-stage{height:42dvh!important;min-height:270px!important}.map-stage #discovery-map{height:42dvh!important;min-height:270px!important}
  .mobile-tabbar{grid-template-columns:repeat(5,1fr)!important}.mobile-tabbar a small{font-size:10px}.onboarding-steps,.about-grid{grid-template-columns:1fr}.guest-onboarding{padding:18px}.session-expired{display:grid}.session-expired .primary-action{width:100%}.nearby-card{grid-template-columns:30px minmax(0,1fr)!important}.selected-place>.visit-form{margin:0 12px 12px!important}.about-view{padding-top:22px}.leaderboard-preview{padding:16px}.leaderboard-preview-heading{display:block}.leaderboard-preview-heading .secondary-action{width:100%;margin-top:12px}.leaderboard-preview-row{grid-template-columns:32px 38px minmax(0,1fr) auto;gap:8px}.leaderboard-preview-row .leader-avatar{width:36px;height:36px}.leaderboard-preview-row .leader-score strong{font-size:16px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
body:not(.guest) .session-expired[hidden]~.progress-always-visible{display:block!important}
