:focus{outline:none}:focus-visible{outline:2px solid #C9A24A;outline-offset:3px}h1[tabindex="-1"]:focus,h1[tabindex="-1"]:focus-visible{outline:none}
:root{--bottom-nav-height:76px}
.primary-navigation,.dialog-shortcuts,.public-bottom-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffef9;border-top:1px solid #d6e0d8;z-index:900}
.primary-navigation,.public-bottom-nav{position:fixed;inset:auto 0 0;width:100%;height:auto;min-height:var(--bottom-nav-height);margin:0}
.primary-navigation button,.dialog-shortcuts button,.public-bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:52px;padding:5px 2px;border:0;border-radius:12px;background:transparent!important;color:#6b7871!important;font-size:11px;font-weight:650;text-decoration:none;box-shadow:none!important;white-space:nowrap}
.primary-navigation button.active,.dialog-shortcuts button.active,.public-bottom-nav a[aria-current="page"]{background:#196650!important;color:white!important}
.primary-navigation svg,.dialog-shortcuts svg,.public-bottom-nav svg{width:24px;height:24px}.nav-labels{display:block!important;font-size:11px!important}.nav-labels small{display:none!important}
.primary-navigation .nav-symbol{width:24px;height:24px;position:relative;background:none!important}.game-pending .nav-symbol:after{content:'';width:7px;height:7px;border-radius:50%;background:#c9a24a;position:absolute;right:-3px;top:-2px}
.dialog-shortcuts{position:sticky;bottom:0;top:auto;margin:24px -12px -12px}.has-navigation{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}
.workspace,.traveler-home,.guide-main{padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom))!important}.topbar .header-right{margin-left:auto}.topbar .brand small{display:none}.header-bell{position:relative;width:44px;height:44px;border:0;background:transparent}.header-bell svg{width:24px;height:24px}
.ux-hero{min-height:0;padding:24px!important;gap:12px}.ux-hero-copy h1{font-size:clamp(28px,5vw,50px);margin:0 0 12px}.ux-hero-character{min-height:180px}.ux-character{height:180px;max-height:180px}.ux-passport-strip{display:grid!important;grid-template-columns:repeat(4,1fr)!important}.ux-passport-strip button{min-width:0}.ux-passport-strip strong{font-size:24px}.guroos-chip{display:block;border:1px solid #d7bd72;background:#fff5d6;border-radius:20px;padding:7px 12px;font-size:12px;font-weight:750;position:relative;margin:8px auto}.ux-earned-flags{flex-wrap:wrap}.ux-earned-flags small{flex-basis:100%;text-align:center;font-size:11px}
.home-map-preview{display:block;position:relative;width:100%;height:220px;margin:20px 0;border:1px solid #c9dacf;border-radius:20px;background:#edf4ef;overflow:hidden;padding:12px}.home-map-preview svg{width:100%;height:100%}.home-map-preview>span{position:absolute;bottom:12px;right:12px;background:white;border-radius:20px;padding:6px 12px}.ux-action-grid{display:block}.home-destinations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-destination{color:inherit;text-decoration:none}.guide-crosslink{display:block;background:#fff3d2;border:1px solid #d3b268;border-radius:14px;padding:18px;margin:20px 0;color:#604918;text-decoration:none}.destination-crosslink{display:block;background:#e4f2e9;border:1px solid #a3c9b0;border-radius:14px;padding:18px;margin:20px 0;color:#174d37;text-decoration:none}
.passport-overview{margin:12px 0}.passport-overview .avatar-profile-card{margin:0}.passport-overview .collection-hero{padding:14px}.passport-overview .rank-progress,.passport-overview .collection-xp{display:none}.collection-tabs{display:grid!important;grid-template-columns:repeat(4,1fr)}.collection-tabs button{min-width:0}.passport-settings[open]{background:#f5f4ec;padding:16px;border:1px solid #d6dfd5;border-radius:16px}.passport-settings>summary{font-weight:700}.passport-subcollections{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.passport-subcollections button{font-size:12px;padding:8px;border:1px solid #cbd8cc;border-radius:12px;background:#fff}.public-bottom-nav{max-width:none}
@media(max-width:600px){.ux-hero{grid-template-columns:1fr 120px!important;padding:18px!important}.ux-hero-copy p{font-size:13px}.ux-character{height:150px;max-height:150px}.ux-hero-character{min-height:160px}.ux-hero-actions{display:block}.ux-passport-strip strong{font-size:20px}.ux-passport-strip span{font-size:10px}.home-destinations{grid-template-columns:1fr}.ux-button{font-size:12px!important;padding:12px!important}.guroos-chip{font-size:10px;padding:6px}.home-inner{padding-left:14px;padding-right:14px}.guide-header{padding:12px}.guide-brand img{width:160px;height:auto}}

.home-map-preview svg{width:100%!important;height:100%!important;max-width:none!important}.ux-hero-character{flex-direction:column;margin-right:0!important;min-height:0!important}.ux-character{flex:none!important;width:125px!important}.ux-earned-flags{position:static!important;transform:none!important;justify-content:center}.ux-passport-tag,.ux-hero-caption,.ux-hero-copy>.ux-eyebrow{display:none}.ux-hero .guroos-chip{color:#594714;flex:none;white-space:nowrap;min-height:30px}.ux-hero{min-height:0!important}.ux-hero p{margin-bottom:12px}.passport-overview{display:grid;grid-template-columns:110px minmax(0,1fr);background:#edf1e5;border:1px solid #ced9c7;border-radius:18px;align-items:center;padding:12px}.passport-overview .avatar-profile-card{display:block;padding:0;background:transparent;border:0;cursor:pointer}.passport-overview .avatar-card-copy{display:none}.passport-overview .avatar-card-art{display:block;width:100px;height:170px}.passport-overview .avatar-card-art svg{height:100%!important;width:100%!important}.passport-overview .collection-hero{display:flex;flex-direction:column;gap:6px;background:transparent;color:#193d31;padding:0}.passport-overview .collection-hero h2{font-size:24px}.passport-overview #collectionHeroStats{display:none}.passport-overview .level-medallion{width:auto;min-width:0;min-height:0;height:auto;display:flex;gap:5px;align-items:center;border:0;background:none;border-radius:0}.passport-overview .level-medallion i,.passport-overview .level-medallion span{display:none}.passport-overview .level-medallion strong{font-size:25px}.collection-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important}.collection-tabs>button{min-width:0!important;width:auto!important;padding:10px 3px!important;font-size:12px!important}.collection-tabs>button span{font-size:12px!important}.passport-toolbar{gap:8px}.passport-toolbar #sharePassport{padding:8px;font-size:11px}.passport-toolbar #passportSettingsOpen{flex:none}
@media(max-width:600px){.ux-hero-copy{display:block!important}.ux-hero{grid-template-rows:auto!important}.ux-hero-character{grid-column:2;grid-row:1!important}.ux-hero h1{font-size:30px;letter-spacing:-1px}.ux-hero-actions{width:auto!important;display:block!important}.ux-hero-secondary{font-size:10px;white-space:normal}.ux-hero .ux-character{height:140px!important}.ux-hero .ux-character-orbit{display:none}.ux-hero .ux-earned-flags{gap:3px}.ux-hero .guroos-chip{font-size:10px;padding:5px 7px}.passport-overview{grid-template-columns:100px 1fr}}

body:not(.superapp-home)>.home-faq{display:none}.home-faq{margin:24px auto 110px;max-width:900px;padding:20px;background:#f2f4ed;border-radius:16px}.home-faq h2{font-size:18px}.home-faq summary{font-weight:700;cursor:pointer}

[hidden]{display:none!important}.primary-navigation button svg{width:24px!important;height:24px!important}.passport-overview [data-edit-avatar]:focus-visible{outline:2px solid #C9A24A}

#passportDialog .passport-overview .collection-hero{border:0;box-shadow:none;color:#193d31}#passportDialog .passport-overview .collection-hero h2,#passportDialog .passport-overview .collection-hero p,#passportDialog .passport-overview .level-medallion strong,#passportDialog .passport-overview .level-medallion small{color:#193d31!important}#passportDialog .passport-overview .collection-hero .eyebrow{display:none}#passportDialog .collection-tabs button{grid-column:auto!important;flex-basis:auto!important}#passportDialog .collection-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}

/* Passport is a page in the app shell, never a floating modal or nested scroller. */
html:has(#passportDialog[open]){height:auto!important;overflow-y:auto!important;overscroll-behavior:auto}
/* Keep the document as the only page scroller. overflow-x:hidden would turn
   body into a second scroll container and the mobile overscroll lock traps swipes. */
body:has(#passportDialog[open]){height:auto!important;min-height:100dvh;overflow-y:visible!important;overflow-x:clip;overscroll-behavior:auto}
body:has(#passportDialog[open]) .traveler-home,body:has(#passportDialog[open]) .workspace,body:has(#passportDialog[open]) .home-faq,body:has(#passportDialog[open]) .explorer-view-switch{display:none!important}
#passportDialog[open]{position:relative;inset:auto;transform:none;width:100%;max-width:1160px;max-height:none;min-height:calc(100dvh - 170px);margin:0 auto;border:0;border-radius:0;box-shadow:none;background:var(--paper,#f8f7ef);overflow:visible;padding:28px 32px calc(var(--bottom-nav-height) + 32px + env(safe-area-inset-bottom))!important}
#passportDialog>.dialog-shortcuts{display:none!important}
#passportDialog[open]{overscroll-behavior:auto}
#passportDialog .passport-toolbar{position:static;inset:auto;background:transparent;padding:0;margin-bottom:24px}
#passportDialog .passport-heading{flex:1;min-width:0}
.guide-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.guide-brand img.guide-mascot{width:56px;height:56px;object-fit:contain}
.guide-brand img.guide-wordmark{width:190px;height:auto;object-fit:contain}
.public-bottom-nav .trip-icon-tint{fill:currentColor;opacity:.12;stroke:none}
@media(max-width:600px){#passportDialog[open]{padding:20px 14px calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom))!important}.guide-brand img.guide-mascot{width:44px;height:44px}.guide-brand img.guide-wordmark{width:160px}}

@media(max-width:760px){#passportDialog #sharePassport>[data-locale-es]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}}

/* The passport identity and its collections form one visible, responsive summary. */
#passportDialog .passport-overview{grid-template-columns:120px minmax(0,1fr);gap:4px 24px;padding:24px;align-items:start}
#passportDialog .passport-overview .collection-hero,
#passportDialog .passport-overview .collection-hero>div:first-child{display:contents}
#passportDialog .passport-overview .collection-hero:before{display:none}
#passportDialog #collectionAvatarCard{grid-column:1;grid-row:1/5;align-self:center}
#passportDialog #collectionOwnerName{grid-column:2;grid-row:1;font-size:clamp(32px,4vw,46px);line-height:1.12;margin:0;min-width:0;overflow-wrap:anywhere}
#passportDialog #passportOverviewCountry{grid-column:2;grid-row:2;font-size:14px;margin:2px 0 8px}
#passportDialog .passport-overview .level-medallion{grid-column:2;grid-row:3;justify-self:start;flex-direction:row;gap:8px;padding:8px 14px;border:1px solid #a7b99c;border-radius:24px;outline:none;min-height:44px;background:#fffdf3}
#passportDialog .passport-overview #collectionLevelIcon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:#3d684c}
#passportDialog .passport-overview #collectionLevelIcon .level-icon{width:26px;height:26px}
#passportDialog .passport-overview .level-medallion small{font-size:11px;letter-spacing:1px}
#passportDialog .passport-overview .level-medallion strong{font-size:25px}
#passportDialog #collectionLegendary{grid-column:2;grid-row:4;justify-self:start}
#passportDialog .passport-overview #collectionHeroStats{grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;width:100%}
#passportDialog .passport-stat{position:relative;display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:14px 16px;background:#ffffffa6;border:1px solid #d6dfce;border-radius:12px;min-width:0;line-height:1.3}
#passportDialog .passport-stat>strong{font-size:28px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums;color:#193d31;padding-right:38px}
#passportDialog .passport-stat>span{font-size:13px;color:#385541;overflow-wrap:anywhere}
#passportDialog .passport-stat>.passport-stat-icon{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e9efe2;color:#3d684c;pointer-events:none}
#passportDialog .passport-stat-icon svg{width:23px;height:23px}
#passportDialog .passport-stat>small{font-size:11px;color:#53674c}
@media(max-width:600px){
 #passportDialog .passport-overview{grid-template-columns:76px minmax(0,1fr);gap:4px 14px;padding:16px}
 #passportDialog .passport-overview .avatar-card-art{width:76px;height:130px}
 #passportDialog .passport-overview #collectionHeroStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
 #passportDialog .passport-stat{padding:12px}
 #passportDialog .passport-stat>strong{font-size:26px}
}

/* Guide links remain separate from destination buttons for touch and keyboard navigation. */
.destination-guide-link{display:flex;align-items:center;justify-content:center;gap:9px;box-sizing:border-box;min-height:44px;padding:11px 15px;border:1px solid #91b7a3;border-radius:12px;background:#e5f2e9;color:#174c36;font:700 14px/1.4 system-ui,sans-serif;text-decoration:none}.destination-guide-link:hover{background:#d3e8da}.destination-guide-link:focus-visible{outline:3px solid #176c51;outline-offset:3px}.destination-territory-entry{min-width:0;margin-bottom:12px}.destination-territory-entry .territory-row{margin-bottom:6px}.destination-directory-entry{display:flex;flex-direction:column;gap:8px;min-width:0}.destination-directory-entry>.territory-card{flex:1}.guide-crosslink strong{font-size:18px;line-height:1.4}.guide-crosslink-description{display:block;margin-top:7px;font-size:14px;line-height:1.5}.detail-content>.destination-guide-link{margin:16px 0}
