/* JSV 2.0.118 — hard full-viewport Treasure Hunt desktop presentation.
 * Unlike 2.0.117 these selectors do NOT depend on page-dimension attributes:
 * the game is intentionally excluded from that generic layout system. */
@media (min-width:901px){
  html body.jsf-gameplay-atlas-page{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:#0b3156!important;
  }

  html body.jsf-gameplay-atlas-page>.top,
  html body.jsf-gameplay-atlas-page>.site-footer,
  html body.jsf-gameplay-atlas-page>.mobilebar,
  html body.jsf-gameplay-atlas-page>.mobile-drawer,
  html body.jsf-gameplay-atlas-page>.mobile-drawer-backdrop{
    display:none!important;
  }

  html body.jsf-gameplay-atlas-page>.jsf-ng-game-v2,
  html body.jsf-gameplay-atlas-page>#jsf-niagara-game,
  html body.jsf-gameplay-atlas-page>[data-jsf-niagara-game]{
    position:fixed!important;
    inset:0!important;
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:0!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    translate:none!important;
    grid-template-columns:68px minmax(0,1fr) 286px!important;
    column-gap:0!important;
    overflow:hidden!important;
  }

  html body.admin-bar.jsf-gameplay-atlas-page>.jsf-ng-game-v2,
  html body.admin-bar.jsf-gameplay-atlas-page>#jsf-niagara-game,
  html body.admin-bar.jsf-gameplay-atlas-page>[data-jsf-niagara-game]{
    top:32px!important;
    bottom:0!important;
    height:calc(100dvh - 32px)!important;
    max-height:calc(100dvh - 32px)!important;
  }

  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2>.jsf-ng-stage{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-map-shell,
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-map-viewport,
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-map-canvas{
    min-width:0!important;
    max-width:none!important;
  }
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-topbar{
    grid-template-columns:minmax(0,1fr) minmax(0,250px) minmax(0,96px) 46px!important;
    gap:10px!important;
    padding-inline:12px!important;
  }
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-wallet-card{padding-inline:7px!important;gap:5px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-wallet-card strong{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-top-brand{gap:8px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-top-brand img{width:50px!important;flex:0 0 50px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-top-brand h1{
    font-size:clamp(20px,1.55vw,26px)!important;
    white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.12!important;overflow-wrap:normal!important;
  }
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-app-rail{padding-inline:5px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-app-rail nav a,
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-rail-more{min-height:54px!important;font-size:9px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-hunt-rail{padding:10px!important;gap:9px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-hunt-card.hero{min-height:0!important;height:auto!important;display:block!important;padding:13px!important;background:#fff9e6!important;background-image:none!important;color:#123856!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-hunt-head{display:grid!important;grid-template-columns:minmax(0,1fr) 30px!important;align-items:center!important;gap:8px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-hunt-head h2{font-size:17px!important;line-height:1.2!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-hunt-head>span{font-size:26px!important;text-align:center!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-timer{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;padding-top:8px!important;margin-top:9px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-timer strong{font-size:19px!important;line-height:1.2!important;white-space:nowrap!important}
}

@media (min-width:1440px){
  html body.jsf-gameplay-atlas-page>.jsf-ng-game-v2,
  html body.jsf-gameplay-atlas-page>#jsf-niagara-game,
  html body.jsf-gameplay-atlas-page>[data-jsf-niagara-game]{grid-template-columns:72px minmax(0,1fr) 300px!important}
}
@media (min-width:901px) and (max-width:1180px){
  html body.jsf-gameplay-atlas-page>.jsf-ng-game-v2,
  html body.jsf-gameplay-atlas-page>#jsf-niagara-game,
  html body.jsf-gameplay-atlas-page>[data-jsf-niagara-game]{grid-template-columns:64px minmax(0,1fr) 270px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-topbar{grid-template-columns:minmax(0,1fr) minmax(0,160px) minmax(0,78px) 40px!important;gap:7px!important;padding-inline:9px!important}
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2 .jsf-ng-top-brand img{width:40px!important;flex-basis:40px!important}
}

/* Existing game CSS owns the phone/tablet app presentation. Keep it edge-to-edge. */
@media (max-width:900px){
  html body.jsf-gameplay-atlas-page .jsf-ng-game-v2,
  html body.jsf-gameplay-atlas-page #jsf-niagara-game,
  html body.jsf-gameplay-atlas-page [data-jsf-niagara-game]{width:100vw!important;max-width:100vw!important;left:0!important;right:0!important;margin:0!important}
}
