/* StikDex v0.08.5 — mobile Regions compactness and filter-affordance hotfix.
   Phone-only presentation: desktop Regions and collection behaviour are untouched. */

.region-secondary-tools{display:contents}
.region-secondary-tools-head,.region-secondary-tools-backdrop{display:none}

@media (max-width:760px), (pointer:coarse) and (max-width:960px) and (max-height:600px){
  #generationView{
    --mobile-region-hero-height:264px;
    padding:0 9px calc(24px + var(--pocket-nav-height,76px) + env(safe-area-inset-bottom) + var(--pocket-browser-bottom,0px))!important;
  }

  /* The map is atmosphere only. It never contributes document height. */
  #generationView .region-environment{position:absolute!important;inset:0!important;min-height:100%!important;contain:paint}
  #generationView .region-environment-image{
    top:var(--region-map-mobile-top)!important;
    left:var(--region-map-mobile-left)!important;
    width:var(--region-map-mobile-width)!important;
    height:auto!important;
    max-height:none!important;
    opacity:.16!important;
    filter:saturate(.68) contrast(.9) brightness(.5)!important;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.34) 62%,transparent 88%)!important;
    mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.82) 28%,rgba(0,0,0,.34) 62%,transparent 88%)!important;
  }
  #generationView .region-environment-wash{
    background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 84%,transparent),color-mix(in srgb,var(--bg) 40%,transparent) 58%,color-mix(in srgb,var(--bg) 70%,transparent)),linear-gradient(180deg,color-mix(in srgb,var(--bg) 18%,transparent),color-mix(in srgb,var(--bg) 48%,transparent) 34%,var(--bg) 72%)!important;
  }

  /* Compact Region identity: fixed stage, normalized art and no poster-sized gaps. */
  #generationView .gen-header{
    min-height:0!important;
    display:block!important;
    margin:0 0 8px!important;
    padding:10px 0 0!important;
    overflow:visible!important;
  }
  #generationView .region-hero-copy{
    min-height:var(--mobile-region-hero-height)!important;
    max-width:67%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:38px 0 10px 5px!important;
  }
  #generationView .horizon-gen-kicker{margin:0 0 5px!important;font-size:7px!important;letter-spacing:.1em!important}
  #generationView #genTitle{font-size:14px!important;line-height:1.05!important}
  #generationView .gen-meta-row{margin-top:2px!important}
  #generationView .gen-region-name{margin:0 0 4px!important;font-size:clamp(27px,8.5vw,36px)!important;line-height:1!important;letter-spacing:-.045em!important}
  #generationView .gen-dex-range{margin:0 0 10px!important;font-size:10px!important}
  #generationView .region-hero-progress{gap:8px!important;margin:0 0 10px!important}
  #generationView .region-hero-progress-ring{width:44px!important;filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))!important}
  #generationView .region-hero-progress-ring::after{inset:7px!important}
  #generationView .region-hero-progress-copy{gap:1px!important}
  #generationView .region-hero-progress-copy strong{font-size:16px!important}
  #generationView .region-hero-progress-copy span{font-size:7.5px!important}
  #generationView .region-hero-progress-copy small{font-size:8px!important}
  #generationView .generation-stepper{width:min(100%,230px)!important;gap:5px!important}
  #generationView .generation-stepper button{min-height:40px!important;height:40px!important;padding:5px 7px!important;border-radius:10px!important}
  #generationView .generation-stepper-copy small{display:none!important}
  #generationView .generation-stepper-copy strong{font-size:8px!important}
  #generationView .generation-stepper-arrow{font-size:15px!important}
  #generationView .horizon-gen-art{
    top:58px!important;
    right:-4px!important;
    width:38vw!important;
    max-width:174px!important;
    height:158px!important;
    overflow:visible!important;
  }
  #generationView #horizonGenHeroArt{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;filter:drop-shadow(0 13px 18px rgba(0,0,0,.42)) drop-shadow(0 0 1px rgba(255,255,255,.22))!important}
  #generationView .open-region-map-btn{
    top:10px!important;
    right:0!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 9px!important;
    border-radius:9px!important;
    font-size:7px!important;
    box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  }
  #generationView .open-region-map-btn span{font-size:12px!important}

  /* Search stays prominent. Sort, Numbers and More Tools share one short row. */
  #generationView .gen-tools{
    position:relative!important;
    z-index:12!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.85fr)!important;
    gap:6px!important;
    margin:0!important;
    padding:8px!important;
    border:1px solid var(--region-border)!important;
    border-radius:13px!important;
    background:var(--region-surface-strong)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.13)!important;
    backdrop-filter:blur(10px)!important;
  }
  #generationView .gen-tools .inline-search{grid-column:1/-1!important;width:100%!important}
  #generationView .gen-tools :where(input,select,button){min-height:42px!important;height:42px!important;padding:0 8px!important;border-radius:9px!important;font-size:8px!important}
  #generationView .gen-tools .inline-select{grid-column:1!important;width:100%!important}
  #generationView #dexNumberToggleBtn{grid-column:2!important;width:100%!important}
  #generationView .pocket-gen-tools-dock{grid-column:3!important;width:100%!important;display:block!important;margin:0!important;padding:0!important}
  #generationView .pocket-gen-tools-toggle{width:100%!important;min-width:0!important;min-height:42px!important;height:42px!important;gap:4px!important;padding:0 6px!important;border-color:color-mix(in srgb,var(--line) 72%,var(--gen-accent) 28%)!important;border-radius:9px!important;background:color-mix(in srgb,var(--panel) 91%,transparent)!important;color:var(--text)!important;font-size:8px!important;white-space:nowrap!important}

  .region-secondary-tools{display:none!important}
  .region-secondary-tools-backdrop{display:none!important}
  body.pocket-gen-tools-open{overflow:hidden!important}
  body.pocket-gen-tools-open .region-secondary-tools-backdrop{position:fixed!important;z-index:1698!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(1,7,15,.72)!important;backdrop-filter:blur(5px)!important}
  body.pocket-gen-tools-open .region-secondary-tools{
    position:fixed!important;
    z-index:1699!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:12px!important;
    border:1px solid color-mix(in srgb,var(--gen-accent) 36%,var(--line))!important;
    border-radius:18px!important;
    background:color-mix(in srgb,var(--panel) 98%,#020814 2%)!important;
    box-shadow:0 28px 72px rgba(0,0,0,.55)!important;
  }
  #generationView .region-secondary-tools-head{grid-column:1/-1;min-height:36px;display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 3px}
  #generationView .region-secondary-tools-head strong{font-size:13px}
  #generationView .region-secondary-tools-head button{width:36px!important;min-height:36px!important;height:36px!important;padding:0!important;border-radius:10px!important;font-size:20px!important}
  #generationView .region-secondary-tools>.action-btn{width:100%!important;min-height:48px!important;height:48px!important;font-size:10px!important}

  /* Hero completion is the only mobile summary; Pokémon follow the filters. */
  #generationView .gen-summary{display:none!important}
  #generationView .filter-toolbar{
    position:relative!important;
    top:auto!important;
    z-index:10!important;
    display:block!important;
    margin:0 0 8px!important;
    padding:6px!important;
    overflow:hidden!important;
    border:1px solid var(--region-border)!important;
    border-radius:12px!important;
    background:var(--region-surface-strong)!important;
    box-shadow:0 7px 18px rgba(0,0,0,.12)!important;
    backdrop-filter:blur(9px)!important;
  }
  #generationView .filter-buttons{
    width:100%!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 4px 2px 0!important;
    scroll-snap-type:x proximity!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  #generationView .filter-buttons::-webkit-scrollbar{display:none!important}
  #generationView .filter-btn{
    flex:0 0 auto!important;
    min-width:max-content!important;
    min-height:42px!important;
    height:42px!important;
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    padding:0 10px!important;
    border:1px solid color-mix(in srgb,var(--gen-accent) 28%,#71839a 72%)!important;
    border-radius:10px!important;
    background:color-mix(in srgb,var(--panel) 88%,#102137 12%)!important;
    color:#edf5ff!important;
    opacity:1!important;
    pointer-events:auto!important;
    scroll-snap-align:start!important;
    white-space:nowrap!important;
    font-size:8px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  #generationView .filter-btn span{min-width:21px!important;padding:3px 5px!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;font-size:8px!important}
  #generationView .filter-btn:hover,#generationView .filter-btn:focus-visible{border-color:var(--gen-accent)!important;outline:2px solid color-mix(in srgb,var(--gen-accent) 46%,transparent)!important;outline-offset:1px!important}
  #generationView .filter-btn.active{border-color:var(--gen-accent)!important;background:color-mix(in srgb,var(--gen-accent) 22%,var(--panel))!important;color:#fff!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gen-accent) 28%,transparent),0 4px 12px rgba(0,0,0,.16)!important}
  #generationView .filter-btn.active span{background:var(--gen-accent)!important;color:#07111f!important}
  #generationView .filter-btn:disabled,#generationView .filter-btn[aria-disabled="true"]{opacity:.45!important;pointer-events:none!important}
  #generationView .filter-summary{display:none!important}
  #generationView .bulk-bar{margin:0 0 8px!important}

  #generationView .generation-all-zone{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin:0!important;padding:0 0 calc(var(--pocket-nav-height,76px) + 20px + env(safe-area-inset-bottom))!important}
  #generationView .board{margin:0!important}
  #generationView .v004-pokemon-tile{min-height:144px!important;padding:6px 5px!important;border-radius:13px!important}
  #generationView .v004-pokemon-tile-art img{width:min(72px,100%)!important;height:66px!important}
}

@media (max-width:370px){
  #generationView{--mobile-region-hero-height:250px}
  #generationView .region-hero-copy{max-width:66%!important;padding-top:34px!important}
  #generationView .gen-region-name{font-size:26px!important}
  #generationView .horizon-gen-art{top:64px!important;width:36vw!important;height:142px!important}
  #generationView .gen-tools{grid-template-columns:minmax(0,1fr) minmax(0,.88fr) minmax(0,.82fr)!important;gap:5px!important;padding:7px!important}
  #generationView .gen-tools :where(input,select,button),#generationView .pocket-gen-tools-toggle{padding-inline:5px!important;font-size:7px!important}
  #generationView .generation-all-zone{gap:6px!important}
}

@media (prefers-reduced-motion:reduce){
  #generationView .filter-buttons{scroll-behavior:auto!important}
}

