/* Desktop / laptop layout (>=1024px). Mobile is untouched: wrappers are display:contents below this width. */
.col-l,.col-r{display:contents}
@media (min-width:1024px){
  /* app shell: 2 columns, tank + tier left, redeem / earn / activity right */
  #app{max-width:1200px;padding:28px 40px 72px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:40px;align-items:start}
  .has-ribbon #app{padding-top:48px}
  .col-l,.col-r{display:block;min-width:0}
  #app>.top{grid-column:1/-1;margin:0 0 22px;min-height:56px}
  .top .logo.sm{width:170px}
  .top .hi small{font-size:13px}.top .hi b{font-size:18px}
  .avatar{width:50px;height:50px;font-size:18px;border-radius:17px}
  .col-l{grid-column:1}.col-r{grid-column:2}
  .col-r>.sec:first-child{margin-top:0}
  .sec,#home{scroll-margin-top:96px}
  @media (min-height:860px){.col-l{position:sticky;top:96px}}

  /* tank / tier card */
  .hero,.theme-tech .hero,.theme-pearl .hero{height:min(460px,56vh)}
  .hud{padding:26px}
  .tier-pill{font-size:15px;padding:6px 16px 6px 6px}.tier-pill .lv{font-size:13px;padding:4px 11px}
  .bal-label{font-size:13px;margin-top:18px}
  .bal{font-size:76px}.theme-tech .bal{font-size:86px}.theme-pearl .bal{font-size:90px}
  .bal .unit{font-size:19px}
  .bal-val{font-size:16px}
  /* tier card + right column: scale every theme's own sizes uniformly (zoom keeps each theme's proportions) */
  .journey,.actions,.col-r{zoom:var(--dz,1.14)}
  .journey{margin-left:14px;margin-right:14px}
  .sec{margin-top:40px}
  .sec h2,.theme-tech .sec h2,.theme-pearl .sec h2{font-size:26px}
  .cards,.theme-tech .cards,.theme-pearl .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .rcard,.rc-in{min-height:250px}
  .rc-art{height:96px}.rc-art svg{height:90px}
  #earnList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #earnList>*{margin-bottom:0}
  #logout{max-width:320px;margin-left:auto;margin-right:auto}

  /* nav: top bar instead of the floating bottom pill */
  .nav{top:14px;bottom:auto;width:auto;gap:4px;padding:6px;z-index:70}
  .has-ribbon .nav{top:34px}
  .nav .nv{flex-direction:row;gap:8px;font-size:14px;padding:9px 16px}
  .theme-tech .nav .nv,.theme-pearl .nav .nv{font-size:14px}
  .nav .nv i{font-size:18px}
  .nav .nv.on i{transform:none}
  .theme-tech .nav .nv.on:after{top:auto;bottom:-7px}
  .toast{bottom:32px}
  .nav .nav-shop{display:flex;margin-left:6px;color:var(--gold);border:1px solid currentColor;white-space:nowrap}
  .nav .nv span{white-space:nowrap}
  .theme-tech .nav .nav-shop,.theme-pearl .nav .nav-shop{color:var(--x-acc)}
  .nav .nav-shop i{filter:none;opacity:1}
  .top .shop-pill{display:none}
  .shop-cta{font-size:15px;padding:15px 18px}

  /* sheets become centred dialogs; profile panel wider */
  .sheet{align-items:center;z-index:90}
  .sheet-card,.theme-tech .sheet-card,.theme-pearl .sheet-card{max-width:600px;border-radius:24px;border-bottom:1px solid var(--line);padding:30px 32px}
  .sheet-card h3{font-size:28px}
  .rules li{font-size:15.5px}.rules h4{font-size:16px}.rules-tiers .row{font-size:15.5px}
  .pf-in{max-width:680px;padding-top:80px}
  .pf-row b{font-size:17px}.pf-row span{font-size:14px}

  /* login */
  .lg-card{max-width:560px}
  .logo{width:260px}
  .lg-title,.theme-tech .lg-title,.theme-pearl .lg-title{font-size:56px;line-height:1.05}
  .lg-sub{font-size:18px;max-width:460px}
  .rules-wrap .rules-link{font-size:15.5px}
  #login .inp{font-size:18px;padding:16px 18px}
  #login .btn.big{font-size:18px;padding:18px}
  #login .note,#login .lbl{font-size:14px}
  .demo-list{gap:12px}.demo{padding:16px 18px}.demo b{font-size:17px}
}
@media (min-width:1600px){
  #app{max-width:1280px;--dz:1.24}
  .bal{font-size:84px}.theme-tech .bal{font-size:94px}.theme-pearl .bal{font-size:98px}
  .hero,.theme-tech .hero,.theme-pearl .hero{height:min(500px,52vh)}
}
