.rewards-group{padding:var(--pw-space-5) 0;border-bottom:1px solid var(--pw-color-line)}.hub-personal[hidden],.hub-nudge[hidden]{display:none!important}
.hero-roam{display:none}
.hub-finance{border-radius:var(--pw-radius-xl);overflow:hidden;background:var(--pw-color-surface);border:1px solid var(--pw-color-line);box-shadow:var(--pw-shadow-raised)}
#city-home .city-brand{display:none!important}
#city-home .city-top{justify-content:flex-end}

/* The information-led home is the default experience at every viewport size.
   The cinematic city remains available after the user enters city roaming. */
html body #city-home:not(.map-exploring){min-height:100dvh;overflow:auto;background:var(--pw-color-canvas)!important;padding:220px 0 var(--pw-space-20)}
html body #city-home:not(.map-exploring)::before{height:240px;bottom:auto;background:linear-gradient(0deg,var(--pw-color-canvas),transparent 45%);z-index:2}
html body #city-home:not(.map-exploring) .city-map-stage{width:100%!important;height:240px!important;inset:0!important;transform:none!important;background-size:cover!important;background-position:center 45%!important;pointer-events:none}
#city-home:not(.map-exploring) :is(.map-hotspot,.map-controls,.city-eva,.eva-character,.city-news,.city-hero,.city-dock,.city-meter,.city-nav){display:none!important}
#city-home:not(.map-exploring) .mobile-home-hub{display:block;position:relative;z-index:4;width:min(900px,100%);margin:0 auto;padding:var(--pw-space-5);background:var(--pw-color-canvas);color:var(--pw-color-ink);border-radius:var(--pw-radius-xl) var(--pw-radius-xl) 0 0}
.mobile-home-hub h1{font-size:var(--pw-text-xl);margin:var(--pw-space-1) 0 var(--pw-space-6)}.mobile-home-hub small{font-size:var(--pw-text-xs);letter-spacing:.16em;color:var(--pw-color-ink-muted)}.mobile-home-hub p{font-size:var(--pw-text-xs);color:var(--pw-color-ink-muted)}
.hub-destinations{display:grid;gap:var(--pw-space-3)}.hub-destinations button{text-align:left;display:grid;gap:var(--pw-space-2);padding:var(--pw-space-5);border:0;border-radius:var(--pw-radius-lg);background:var(--pw-color-action);color:var(--pw-brand-on-navy)}.hub-destinations button+button{background:var(--pw-color-surface);color:var(--pw-color-ink)}.hub-destinations b{font-size:var(--pw-text-xl)}.hub-destinations span{font-size:var(--pw-text-sm);opacity:.85}
.hub-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pw-space-2);margin:var(--pw-space-5) 0}.hub-shortcuts button{min-height:52px;padding:var(--pw-space-2);border:1px solid var(--pw-color-line);border-radius:var(--pw-radius-md);background:var(--pw-color-surface);color:var(--pw-color-ink-muted);font-size:var(--pw-text-sm)}
body:has(#city-home:not([hidden]):not(.map-exploring))>.product-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:100;bottom:0;left:50%;right:auto;transform:translateX(-50%);width:min(900px,100%);padding:var(--pw-space-2) var(--pw-space-2) calc(7px + env(safe-area-inset-bottom));background:var(--pw-color-surface);border:1px solid var(--pw-color-line);border-bottom:0;box-shadow:var(--pw-shadow-raised)}
body:has(#city-home:not([hidden]):not(.map-exploring))>.product-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:48px;padding:var(--pw-space-1);border:0;background:transparent;border-radius:var(--pw-radius-md);color:var(--pw-color-ink-muted);font-size:var(--pw-text-xs);box-shadow:none}
body:has(#city-home:not([hidden]):not(.map-exploring))>.product-nav button span{font-size:var(--pw-text-xl);line-height:24px}
body:has(#city-home:not([hidden]):not(.map-exploring))>.product-nav button[aria-current=page]{color:var(--pw-color-action);background:var(--pw-color-canvas)}

  #city-home:not(.map-exploring) .city-intro{top:22px;right:20px;left:auto;text-align:right;max-width:260px;text-shadow:0 2px 12px var(--pw-brand-navy-deep)}
  #city-home:not(.map-exploring) .city-intro>span{font-size:var(--pw-text-xs);letter-spacing:.1em}
  #city-home:not(.map-exploring) .city-intro h1{font-size:var(--pw-text-lg);line-height:1.3;margin:var(--pw-space-2) 0 var(--pw-space-1)}
  #city-home:not(.map-exploring) .city-intro p{font-size:var(--pw-text-xs);letter-spacing:.02em;line-height:1.5}
  #city-home:not(.map-exploring) .hero-roam{display:flex;align-items:center;gap:var(--pw-space-2);position:absolute;z-index:6;left:20px;top:158px;min-height:44px;padding:var(--pw-space-2) var(--pw-space-3);border:1px solid color-mix(in srgb, var(--pw-brand-on-navy) 61%, transparent);border-radius:var(--pw-radius-md);background:color-mix(in srgb, var(--pw-brand-navy) 85%, transparent);color:var(--pw-brand-on-navy);font-size:var(--pw-text-sm);box-shadow:var(--pw-shadow-raised);backdrop-filter:blur(8px)}
  .mobile-home-hub .hub-destinations{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pw-space-3)}
  .mobile-home-hub .hub-destinations button{display:block;padding:0;overflow:hidden;min-width:0;border-radius:var(--pw-radius-lg);text-align:left}
  .mobile-home-hub .hub-destinations .hub-game{grid-column:1/-1;padding:var(--pw-space-6) var(--pw-space-5);min-height:196px;background:linear-gradient(90deg,color-mix(in srgb, var(--pw-color-action-deep) 92%, transparent),color-mix(in srgb, var(--pw-color-action-deep) 53%, transparent)),url('../../assets/districts/game-cinematic-v1.webp') center 48% / cover;color:var(--pw-brand-on-navy);display:flex;flex-direction:column;justify-content:flex-end;gap:var(--pw-space-2)}
  .mobile-home-hub .hub-game small{color:var(--pw-brand-on-navy);letter-spacing:.1em;font-size:var(--pw-text-xs)}
  .mobile-home-hub .hub-game b{font-size:var(--pw-text-xl);display:flex;justify-content:space-between;gap:var(--pw-space-2);width:100%}
  .mobile-home-hub .hub-game>span{font-size:var(--pw-text-sm);color:var(--pw-brand-on-navy)}
  .mobile-home-hub .hub-destinations img{display:block;width:100%;height:96px;object-fit:cover}
  .mobile-home-hub .hub-merchant>div,.mobile-home-hub .hub-online>div{padding:var(--pw-space-3);display:flex;flex-direction:column;gap:var(--pw-space-2);min-height:133px}
  .mobile-home-hub .hub-destinations .hub-online,.mobile-home-hub .hub-destinations .hub-merchant{background:var(--pw-color-surface);color:var(--pw-color-ink)}
  .mobile-home-hub .hub-destinations div>b{font-size:var(--pw-text-lg)}
  .mobile-home-hub .hub-destinations b>span{font-size:var(--pw-text-base);float:right}.mobile-home-hub .hub-destinations div>b{font-size:var(--pw-text-xl);font-weight:var(--pw-weight-strong)}
  .mobile-home-hub .hub-destinations div>span{font-size:var(--pw-text-xs);line-height:1.65;color:var(--pw-color-ink-muted);opacity:1}
  .mobile-home-hub .hub-destinations em{font-size:var(--pw-text-xs);font-style:normal;color:var(--pw-color-ink-muted);background:var(--pw-color-canvas);border-radius:var(--pw-radius-sm);padding:var(--pw-space-1) var(--pw-space-1);align-self:flex-start}
  .mobile-home-hub .hub-personal{margin-top:var(--pw-space-6)}
  .hub-wallet-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--pw-space-3);padding:var(--pw-space-4) 0;border-top:1px solid var(--pw-color-line);border-bottom:1px solid var(--pw-color-line)}
  .hub-wallet-strip button{border:0;background:none;color:var(--pw-color-action-deep);text-align:left;min-height:44px;padding:var(--pw-space-1) 0;font-size:var(--pw-text-sm)}
  .hub-wallet-strip>button{display:grid;gap:var(--pw-space-1)}.hub-wallet-strip small{letter-spacing:0!important;font-size:var(--pw-text-xs)!important}.hub-wallet-strip b{font-size:var(--pw-text-xl);color:var(--pw-color-ink)}.hub-wallet-strip b span{font-size:var(--pw-text-base);margin-left:var(--pw-space-1);color:var(--pw-color-ink-subtle)}
  .hub-wallet-strip>div{display:flex;gap:var(--pw-space-4)}.hub-wallet-strip>div button{color:var(--pw-color-action)}
  .hub-section-title{display:flex;justify-content:space-between;align-items:center;margin:var(--pw-space-4) 0 var(--pw-space-1)}.hub-section-title h2{margin:0;font-size:var(--pw-text-sm)}.hub-section-title button{min-height:44px;font-size:var(--pw-text-xs);border:0;background:none;color:var(--pw-color-ink-muted)}
  .hub-pending-item{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;border:0;border-bottom:1px solid var(--pw-color-line);background:transparent;padding:var(--pw-space-3) 0;color:var(--pw-color-action-deep);gap:var(--pw-space-3);min-height:64px}
  .hub-pending-item>span:first-child{min-width:0;display:grid;gap:var(--pw-space-1)}.hub-pending-item b{font-size:var(--pw-text-sm);overflow-wrap:anywhere}.hub-pending-item small{font-size:var(--pw-text-xs);letter-spacing:0;line-height:1.5}
  .mobile-home-hub .hub-roam{display:flex;align-items:center;gap:var(--pw-space-3);width:100%;text-align:left;padding:var(--pw-space-4) 0;border:0;border-bottom:1px solid var(--pw-color-line);background:transparent;color:var(--pw-color-action-deep);margin:var(--pw-space-5) 0 0;min-height:84px}
  .hub-roam-icon{font-size:var(--pw-text-xl);color:var(--pw-color-action);width:42px;height:42px;display:grid;place-items:center;border-radius:var(--pw-radius-md);background:var(--pw-color-canvas);flex-shrink:0}
  .hub-roam>span:nth-child(2){display:grid;gap:var(--pw-space-2);flex:1}.hub-roam b{font-size:var(--pw-text-sm)}.hub-roam small{letter-spacing:0!important;line-height:1.5;font-size:var(--pw-text-xs)!important}
  .hub-nudge{display:flex;align-items:center;margin-top:var(--pw-space-4);padding:var(--pw-space-2) var(--pw-space-3);background:var(--pw-color-canvas);border-radius:var(--pw-radius-md);gap:var(--pw-space-1)}.hub-nudge button{background:none;border:0;color:var(--pw-color-action);min-height:44px}.hub-nudge-link{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--pw-space-3);text-align:left;font-size:var(--pw-text-xs)}.hub-nudge-link small{display:block;margin-top:var(--pw-space-1);letter-spacing:0!important;font-size:var(--pw-text-xs)!important}.hub-nudge-dismiss{font-size:var(--pw-text-xl);min-width:36px}
  .hub-platform{margin-top:var(--pw-space-4);padding:var(--pw-space-2) 0}.hub-platform button{display:flex;align-items:center;justify-content:space-between;gap:var(--pw-space-3);width:100%;text-align:left;background:none;border:0;color:var(--pw-color-ink-muted);min-height:64px;padding:var(--pw-space-2) 0}.hub-platform b{font-size:var(--pw-text-sm);font-weight:var(--pw-weight-semibold)}.hub-platform small{display:block;margin-top:var(--pw-space-2);font-size:var(--pw-text-xs)!important;letter-spacing:0!important;line-height:1.5}
  .city-home.map-exploring .map-exit{display:flex;gap:var(--pw-space-2);background:none;padding:0}.map-exit button{min-height:44px;border:1px solid var(--pw-color-line);border-radius:var(--pw-radius-md);background:var(--pw-color-surface);color:var(--pw-color-action-deep);font-size:var(--pw-text-xs);padding:var(--pw-space-2)}
  .mobile-home-hub .hub-finance-main{padding:var(--pw-space-5) var(--pw-space-5) var(--pw-space-4);background:linear-gradient(130deg,var(--pw-color-action-deep),var(--pw-color-action-deep));color:var(--pw-brand-on-navy)}
  .hub-finance-main header{display:flex;align-items:center;justify-content:space-between;gap:var(--pw-space-3)}
  .mobile-home-hub .hub-finance-main header small{font-size:var(--pw-text-xs);letter-spacing:.1em;color:var(--pw-brand-muted)}
  .mobile-home-hub .hub-finance-main h2{font-size:var(--pw-text-xl);font-weight:var(--pw-weight-strong);margin:var(--pw-space-2) 0 0;color:var(--pw-brand-on-navy)}
  .hub-finance-main header button{min-height:44px;border:0;background:none;padding:var(--pw-space-1) 0;color:var(--pw-brand-on-navy);font-size:var(--pw-text-xs)}
  .mobile-home-hub .hub-finance-purpose{font-size:var(--pw-text-xs);color:var(--pw-brand-muted);margin:var(--pw-space-3) 0 0;line-height:1.6}
  .hub-finance .hub-wallet-strip{border:0;padding:var(--pw-space-5) 0 var(--pw-space-4)}
  .hub-finance .hub-wallet-strip button{color:var(--pw-brand-on-navy);padding:0}
  .hub-finance .hub-wallet-strip small{color:var(--pw-brand-muted)!important}
  .hub-finance .hub-wallet-strip b{font-size:var(--pw-text-xl);line-height:1.25;color:var(--pw-brand-on-navy);letter-spacing:.01em}
  .hub-finance-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pw-space-2)}
  .hub-finance-actions button{display:flex;align-items:center;justify-content:center;gap:var(--pw-space-1);min-height:46px;padding:var(--pw-space-2) var(--pw-space-1);border:1px solid var(--pw-brand-line-strong);border-radius:var(--pw-radius-md);background:var(--pw-brand-surface-hover);color:var(--pw-brand-on-navy);font-size:var(--pw-text-xs)}
  .hub-finance-actions button:first-child{background:var(--pw-color-surface);border-color:var(--pw-color-line);color:var(--pw-color-action-deep);font-weight:var(--pw-weight-semibold)}
  .hub-finance-actions button span{font-size:var(--pw-text-base)}
  .hub-finance-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--pw-space-5) 0 0}
  .hub-finance-points button{min-width:0;display:grid;gap:var(--pw-space-2);border:0;background:none;text-align:left;padding:0 var(--pw-space-4);min-height:90px;color:var(--pw-color-action-deep)}
  .hub-finance-points button+button{border-left:1px solid var(--pw-color-line)}
  .mobile-home-hub .hub-finance-points small{font-size:var(--pw-text-xs);letter-spacing:0;line-height:1.5;color:var(--pw-color-ink-subtle)}
  .hub-finance-points b{font-size:var(--pw-text-xl);line-height:1.3;overflow-wrap:anywhere}
  .hub-finance-points span{font-size:var(--pw-text-xs);color:var(--pw-color-action)}
  .hub-finance-points button:nth-child(3){grid-column:1/-1;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;min-height:76px;margin-top:var(--pw-space-3);padding:var(--pw-space-3) var(--pw-space-4);border-left:0;border-top:1px solid var(--pw-color-line);background:var(--pw-color-surface-elevated)}
  .hub-finance-points button:nth-child(3) small,.hub-finance-points button:nth-child(3) span{grid-column:1}.hub-finance-points button:nth-child(3) b{grid-column:2;grid-row:1/3;font-size:var(--pw-text-xl)}
  .hub-finance .hub-pending{padding:0 var(--pw-space-4) var(--pw-space-2);border-top:1px solid var(--pw-color-line)}
  .hub-finance .hub-section-title{margin:var(--pw-space-2) 0 0}
  .hub-finance .hub-section-title h3{margin:0;font-size:var(--pw-text-sm);color:var(--pw-color-action-deep)}
  .hub-finance .hub-section-title button{font-size:var(--pw-text-xs);color:var(--pw-color-ink-subtle)}
  .hub-finance .hub-pending-item:last-child{border-bottom:0}
  .hub-finance .hub-pending-item b{font-size:var(--pw-text-xs)}
  .hub-finance .hub-pending-item small{font-size:var(--pw-text-xs)}
  .hub-finance-reserved{width:100%;display:flex;justify-content:space-between;gap:var(--pw-space-2);padding:var(--pw-space-3) var(--pw-space-4);font-size:var(--pw-text-xs);color:var(--pw-color-ink-subtle);border:0;border-top:1px solid var(--pw-color-line);background:var(--pw-color-surface-elevated);text-align:left;min-height:44px}
  .hub-finance-guest{margin-top:var(--pw-space-6)}.hub-finance-guest b{font-size:var(--pw-text-base);line-height:1.6}.mobile-home-hub .hub-finance-guest p{color:var(--pw-brand-muted);font-size:var(--pw-text-xs)}
  .hub-finance-guest button{min-height:44px;padding:var(--pw-space-2) var(--pw-space-3);margin-top:var(--pw-space-2);border-radius:var(--pw-radius-sm);border:0;background:var(--pw-color-surface);color:var(--pw-color-action-deep);font-size:var(--pw-text-sm)}
  .mobile-home-hub .hub-platform{padding:0;margin-top:var(--pw-space-5)}
  .mobile-home-hub .hub-platform>button{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:var(--pw-space-3);padding:var(--pw-space-5) var(--pw-space-5);width:100%;border:1px solid var(--pw-color-line);border-radius:var(--pw-radius-lg);background:linear-gradient(120deg,var(--pw-color-surface),var(--pw-color-canvas));box-shadow:var(--pw-shadow-raised);min-height:180px}
  .hub-platform .hub-hall-copy{display:grid;gap:var(--pw-space-2)}
  .mobile-home-hub .hub-platform .hub-hall-kicker{font-size:var(--pw-text-xs)!important;letter-spacing:.12em!important;margin:0;color:var(--pw-color-action)}
  .mobile-home-hub .hub-platform b{font-size:var(--pw-text-xl);font-weight:var(--pw-weight-strong);color:var(--pw-color-action-deep)}
  .hub-platform .hub-hall-copy>span{font-size:var(--pw-text-sm);color:var(--pw-color-action)}
  .mobile-home-hub .hub-platform small{margin:0;color:var(--pw-color-ink-subtle);line-height:1.7}
  .hub-platform strong{font-size:var(--pw-text-xs);color:var(--pw-color-action);font-weight:var(--pw-weight-semibold);margin-top:var(--pw-space-1)}
  .hub-platform img{width:86px;height:126px;object-fit:cover;border-radius:var(--pw-radius-md)}

@media(min-width:901px){
  #city-home:not(.map-exploring) .city-intro{right:max(20px,calc((100vw - 900px)/2 + 20px))}
  #city-home:not(.map-exploring) .hero-roam{left:max(20px,calc((100vw - 900px)/2 + 20px))}
  #city-home:not(.map-exploring) .mobile-home-hub{box-shadow:var(--pw-shadow-floating)}
}
@media(max-width:900px){
  #district-scene .hall-page{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.hall-heading h1{font-size:var(--pw-text-xl)}
}
/* Separate reward milestones from citizen membership in the home heading. */
.hub-heading .hub-achievements{display:flex;flex-shrink:0;align-items:center;gap:var(--pw-space-1)}
.hub-heading .hub-achievements button{min-width:44px;min-height:44px;padding:var(--pw-space-2) var(--pw-space-1);font-size:var(--pw-text-xs);white-space:nowrap}
.hub-heading .hub-achievements button:first-child{color:var(--pw-color-gold)}
.hub-heading .hub-achievements button:focus-visible{outline:2px solid var(--pw-color-action);outline-offset:2px;border-radius:var(--pw-radius-sm)}
.hub-heading .hub-achievements button{display:grid;gap:var(--pw-space-1);align-content:center;line-height:1.2}
.hub-heading .hub-achievements button span{font-size:var(--pw-text-xs)}
.hub-heading .hub-achievements button b{font-size:var(--pw-text-sm);font-weight:var(--pw-weight-strong)}
@media(max-width:360px){.mobile-home-hub .hub-heading h1{font-size:var(--pw-text-xl)}.hub-heading{gap:var(--pw-space-1)}}
#modal .medals-page{max-width:680px;margin:0 auto;color:var(--pw-color-ink)}
#modal .medals-page .modal-head{margin-bottom:var(--pw-space-5)}
.medals-overview{display:flex;justify-content:space-between;align-items:center;gap:var(--pw-space-4);padding:var(--pw-space-5);border-radius:var(--pw-radius-lg);background:var(--pw-color-surface-elevated)}
.medals-overview>div{display:grid;gap:var(--pw-space-2)}
.medals-overview>div+div{text-align:right}
.medals-overview span{font-size:var(--pw-text-xs);color:var(--pw-color-ink-subtle)}
.medals-overview strong{font-size:var(--pw-text-xl);line-height:1.2;color:var(--pw-color-action)}
.medals-overview b{font-size:var(--pw-text-lg)}
.medals-overview small{font-size:var(--pw-text-xs);font-weight:400;color:var(--pw-color-ink-subtle)}
#modal .medals-purpose{font-size:var(--pw-text-xs);line-height:1.6;color:var(--pw-color-ink-subtle);margin:var(--pw-space-3) 0 var(--pw-space-5)}
.medals-progress{font-size:var(--pw-text-xs)}
.medals-progress>div{display:flex;justify-content:space-between;gap:var(--pw-space-2);flex-wrap:wrap}
.medals-progress span{color:var(--pw-color-ink-subtle)}
.medals-progress progress{display:block;width:100%;height:6px;margin:var(--pw-space-3) 0 var(--pw-space-5);accent-color:var(--pw-color-action);border:0;border-radius:var(--pw-radius-sm);overflow:hidden}
.medals-progress progress::-webkit-progress-bar{background:var(--pw-color-canvas)}
.medals-progress progress::-webkit-progress-value{background:var(--pw-color-action);border-radius:var(--pw-radius-sm)}
.medals-list-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--pw-space-2)}
#modal .medals-list-heading h3{font-size:var(--pw-text-sm);margin:0}
.medals-list-heading span{font-size:var(--pw-text-xs);color:var(--pw-color-ink-subtle)}
.medals-compact-list{list-style:none;padding:0;margin:var(--pw-space-2) 0 var(--pw-space-4)}
.medals-row{display:flex;gap:var(--pw-space-3);padding:var(--pw-space-4) 0;border-bottom:1px solid var(--pw-color-line)}
.medals-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--pw-color-canvas);color:var(--pw-color-ink-subtle);font-size:var(--pw-text-xl)}
.is-earned .medals-icon{background:var(--pw-color-gold-tint);color:var(--pw-color-gold)}
.medals-row-body{flex:1;min-width:0}
.medals-row-title{display:flex;align-items:center;justify-content:space-between;gap:var(--pw-space-1);flex-wrap:wrap}
#modal .medals-row h3{font-size:var(--pw-text-sm);margin:0;line-height:1.5}
.medals-status{font-size:var(--pw-text-xs);color:var(--pw-color-ink-subtle)}
.is-earned .medals-status{color:var(--pw-color-gold)}
#modal .medals-row p{font-size:var(--pw-text-xs);line-height:1.5;margin:var(--pw-space-1) 0;color:var(--pw-color-ink-subtle)}
#modal .medals-row p.medals-btc{color:var(--pw-color-action)}
#modal .medals-row button{font-size:var(--pw-text-xs);padding:var(--pw-space-2) var(--pw-space-3);min-height:44px;margin-top:var(--pw-space-1);border-radius:var(--pw-radius-sm)}
#modal .medals-row .account-record{font-size:var(--pw-text-xs);padding:var(--pw-space-2);margin-top:var(--pw-space-2);overflow-wrap:anywhere}
.medals-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--pw-space-2)}
#modal .medals-actions button{font-size:var(--pw-text-xs);min-height:44px;padding:var(--pw-space-2) var(--pw-space-1);border-radius:var(--pw-radius-md)}
.medals-help{margin-top:var(--pw-space-4);border-top:1px solid var(--pw-color-line);padding-top:var(--pw-space-2)}
.medals-help summary{font-size:var(--pw-text-xs);min-height:44px;align-content:center;cursor:pointer;color:var(--pw-color-ink-subtle)}
#modal .medals-help p{font-size:var(--pw-text-xs);line-height:1.7;color:var(--pw-color-ink-subtle);margin:var(--pw-space-2) 0}
@media(max-width:360px){.medals-overview{padding:var(--pw-space-4) var(--pw-space-3)}.medals-overview b{font-size:var(--pw-text-base)}.medals-row{gap:var(--pw-space-2)}}

/* 1.3.0：五项底部导航统一由 .product-nav 承担，城市漫游中的旧三项导航不再显示 */
#city-home .city-nav{display:none!important}

/* 首页顶部（2026-10-04 收紧）：去掉 EVA 穿搭卡片（穿搭保留在 EVA 页）；主图压到 196px，底部一行左右各一个入口：进入城市漫游 / 和 EVA 聊聊 */
html body #city-home:not(.map-exploring){padding-top:178px}
html body #city-home:not(.map-exploring)::before{height:198px}
html body #city-home:not(.map-exploring) .city-map-stage{height:198px!important}
#city-home:not(.map-exploring) .city-intro{top:16px}
#city-home:not(.map-exploring) .city-intro h1{font-size:var(--pw-text-lg);margin:var(--pw-space-1) 0 var(--pw-space-1)}
.hero-actions{display:none}
#city-home:not(.map-exploring) .hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pw-space-2);position:absolute;z-index:6;top:112px;left:50%;transform:translateX(-50%);width:min(900px,100%);padding:0 var(--pw-space-5);box-sizing:border-box}
#city-home:not(.map-exploring) .hero-actions .hero-roam{position:static;display:flex;justify-content:center;min-height:52px;min-width:0;margin:0;white-space:nowrap}
#city-home:not(.map-exploring) .hero-eva{display:flex;align-items:center;gap:var(--pw-space-2);min-width:0;min-height:52px;padding:var(--pw-space-1) var(--pw-space-3) var(--pw-space-1) var(--pw-space-1);border:1px solid color-mix(in srgb, var(--pw-brand-on-navy) 72%, transparent);border-radius:var(--pw-radius-md);background:color-mix(in srgb, var(--pw-brand-on-navy) 92%, transparent);color:var(--pw-color-ink);text-align:left;box-shadow:var(--pw-shadow-raised);backdrop-filter:blur(8px);cursor:pointer}
#city-home:not(.map-exploring) .hero-eva img{flex:none;width:42px;height:42px;object-fit:cover;object-position:50% 8%;border-radius:var(--pw-radius-sm);background:var(--pw-color-canvas)}
#city-home:not(.map-exploring) .hero-eva span{display:grid;gap:1px;min-width:0;flex:1}
#city-home:not(.map-exploring) .hero-eva small{font-size:var(--pw-text-xs);letter-spacing:.08em;color:var(--pw-color-ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#city-home:not(.map-exploring) .hero-eva b{font-size:var(--pw-text-sm);font-weight:var(--pw-weight-strong);white-space:nowrap}
#city-home:not(.map-exploring) .hero-eva i{font-style:normal;color:var(--pw-color-action)}
#city-home:not(.map-exploring) .hero-eva:focus-visible,#city-home:not(.map-exploring) .hero-roam:focus-visible{outline:2px solid var(--pw-color-line);outline-offset:2px}
#city-home:not(.map-exploring) .mobile-home-hub h1{margin:var(--pw-space-1) 0 var(--pw-space-4)}
@media(min-width:901px){#city-home:not(.map-exploring) .hero-actions .hero-roam{left:auto}}
@media(max-width:360px){#city-home:not(.map-exploring) .hero-actions{padding:0 var(--pw-space-3);gap:var(--pw-space-2)}#city-home:not(.map-exploring) .hero-actions .hero-roam{font-size:var(--pw-text-xs);padding:var(--pw-space-2) var(--pw-space-2)}#city-home:not(.map-exploring) .hero-eva small{display:none}}

/* 品牌 logo（2026-10-05）：首页主图左上角放反白横版 logo，右上角保留城区名 */
.home-brand{display:none}
#city-home:not(.map-exploring) .home-brand{display:block;position:absolute;z-index:6;top:14px;left:20px;height:36px;width:auto;filter:drop-shadow(0 2px 10px var(--pw-brand-backdrop))}
@media(min-width:901px){#city-home:not(.map-exploring) .home-brand{left:max(20px,calc((100vw - 900px)/2 + 20px))}}

/* MVP_PRD_V0.5（2026-10-07）：首页金融港两张卡片 + 扫一扫；城市漫游与 EVA 降为次要入口（Phase 2） */
.hub-wallets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pw-space-2);margin:var(--pw-space-4) 0 var(--pw-space-3)}
.hub-wallet{display:grid;gap:var(--pw-space-1);min-width:0;min-height:96px;padding:var(--pw-space-3);border:0;border-radius:var(--pw-radius-lg);text-align:left;color:var(--pw-brand-on-navy);cursor:pointer}
.hub-wallet-pwv{background:linear-gradient(135deg,var(--pw-color-action-deep),var(--pw-color-action))}.hub-wallet-pwc{background:linear-gradient(135deg,var(--pw-color-gold),var(--pw-color-gold))}
.mobile-home-hub .hub-wallet small{font-size:var(--pw-text-xs)!important;letter-spacing:0!important;color:var(--pw-brand-on-navy)!important}.hub-wallet b{font-size:var(--pw-text-xl);line-height:1.2;overflow-wrap:anywhere}.hub-wallet span{font-size:var(--pw-text-xs);color:var(--pw-brand-on-navy)}
#city-home:not(.map-exploring) .hero-actions.is-secondary{grid-template-columns:1.1fr 1fr 1fr;gap:var(--pw-space-2)}
#city-home:not(.map-exploring) .hero-actions button.hero-scan{display:flex;align-items:center;justify-content:center;gap:var(--pw-space-2);min-height:52px;border:0;border-radius:var(--pw-radius-md);background:var(--pw-color-action);color:var(--pw-brand-on-navy);font-weight:var(--pw-weight-bold);box-shadow:var(--pw-shadow-raised);cursor:pointer}
#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-roam{min-height:52px;padding:var(--pw-space-1) var(--pw-space-2);font-size:var(--pw-text-xs);opacity:.9;white-space:normal;text-align:center}#city-home:not(.map-exploring) .hero-roam small{font-size:var(--pw-text-xs);opacity:.8;margin-left:var(--pw-space-1)}
#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-eva{padding:var(--pw-space-1) var(--pw-space-2);justify-content:center}#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-eva img{display:none}#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-eva b{font-size:var(--pw-text-xs)}#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-eva i{display:none}
#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-roam{display:grid;grid-auto-flow:row;justify-items:center;gap:0;line-height:1.2}#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-roam small{display:block;margin:0;white-space:nowrap}#city-home:not(.map-exploring) .hero-actions.is-secondary .hero-roam span:first-child{display:none}
