:root{--gold:#f5c547;--panel:#0d131d;--line:#263242;--muted:#8d99aa;--cyan:#7ed9ff}
*{box-sizing:border-box}.hunter-main{max-width:1480px;margin:auto;padding:46px 44px 70px}.hunter-hero{margin-bottom:24px}.hunter-hero .eyebrow{color:var(--gold);font-weight:900;font-size:12px;letter-spacing:.12em}.hunter-hero h1{margin:8px 0 8px;font-size:clamp(34px,5vw,58px)}.hunter-hero p{max-width:760px;color:#aab4c3}.back-link{display:inline-block;margin-top:12px;color:var(--gold);font-weight:800}.hunter-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}.hunter-panel,.ranking-panel{background:var(--panel);border:1px solid var(--line);border-radius:20px}.hunter-panel{padding:14px}.hunter-toolbar{display:flex;gap:28px;align-items:center;padding:8px 6px 14px}.hunter-toolbar div{display:grid}.hunter-toolbar span{font-size:10px;color:#7ed9ff;font-weight:900;letter-spacing:.08em}.hunter-toolbar strong{font-size:22px}.hunter-toolbar button{margin-left:auto;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#111a26;color:white}.hunter-shell{position:relative;aspect-ratio:900/650;overflow:hidden;border:1px solid rgba(245,197,71,.32);border-radius:14px;background:#03070b;touch-action:none}.hunter-shell canvas{width:100%;height:100%;display:block;cursor:crosshair}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(1,4,8,.72);backdrop-filter:blur(3px);z-index:5}.game-overlay[hidden]{display:none}.overlay-card{width:min(430px,calc(100% - 30px));padding:30px;border:1px solid #344154;background:#0d1420;border-radius:18px;text-align:center}.target-mark{font-size:54px;color:var(--gold);text-shadow:0 0 18px rgba(245,197,71,.4)}.overlay-card h2{margin:8px 0}.overlay-card p{color:#aab4c3}.overlay-card label{display:block;text-align:left;margin:18px 0 7px;font-size:13px;font-weight:800}.overlay-card input{width:100%;padding:13px;border:1px solid #38475c;border-radius:10px;background:#070b11;color:white;font-size:16px}.overlay-card button{margin-top:13px;width:100%;padding:14px;border:0;border-radius:10px;background:var(--gold);color:#171306;font-weight:900;font-size:16px}.overlay-card small{display:block;margin-top:12px;color:#7f8a99}.result-label{color:#9aa5b6;font-weight:900}.result-card>strong{display:block;font-size:56px;color:var(--gold);margin:9px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-actions .secondary{background:#202a37;color:white;border:1px solid white}.ranking-check-icon{display:grid;place-items:center;margin:auto;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#111;font-size:28px;font-weight:900}.ranking-panel{padding:22px}.ranking-head{display:flex;justify-content:space-between}.ranking-head span{color:var(--gold);font-size:12px;font-weight:900}.ranking-head h2{margin:7px 0}.ranking-head button{width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:#111a26;color:white;font-size:20px}.month-chip{display:inline-block;margin:10px 0 20px;padding:7px 10px;border:1px solid rgba(245,197,71,.35);border-radius:999px;color:var(--gold);font-size:12px;font-weight:900}.ranking-status,.ranking-note{color:#7f8a99;font-size:12px}.ranking-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ranking-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:13px 12px;border:1px solid #263242;border-radius:11px}.ranking-row.top-1{border-color:#9c791c;background:rgba(245,197,71,.07)}.rank-name{font-weight:900}.rank-score{color:var(--gold)}.ranking-focus{animation:rankFocus 1.4s ease}.ranking-row.current-player{outline:2px solid var(--gold);background:rgba(245,197,71,.12)}@keyframes rankFocus{50%{box-shadow:0 0 0 3px rgba(245,197,71,.55)}}
@media(max-width:980px){.hunter-main{padding:28px 14px 55px}.hunter-layout{grid-template-columns:1fr}.ranking-panel{order:2}.hunter-toolbar{gap:12px;flex-wrap:wrap}.hunter-toolbar div{min-width:60px}.hunter-toolbar strong{font-size:17px}.hunter-shell{aspect-ratio:4/5}.result-actions{grid-template-columns:1fr}}

/* v49 persistent mini-game switcher */
.game-library{width:100%;margin:0 0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.game-choice{min-height:138px;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,rgba(16,22,33,.96),rgba(6,9,14,.94));display:flex;gap:13px;position:relative;overflow:hidden}.game-choice-icon{font-size:25px;line-height:1}.game-choice span{display:block;color:#8c98aa;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:7px}.game-choice h2{margin:0 0 7px;font-size:17px;color:#fff}.game-choice p{margin:0;color:#8490a1;font-size:12px;line-height:1.5}.game-choice a{position:absolute;right:14px;bottom:14px;padding:7px 12px;border-radius:8px;background:#d8a928;color:#090b0f;font-size:11px;font-weight:900;text-decoration:none}.active-game{border-color:rgba(216,169,40,.52)}.locked-game{opacity:.48;filter:saturate(.65)}.current-game{border-color:rgba(126,217,255,.65);box-shadow:0 0 0 1px rgba(126,217,255,.12),0 0 26px rgba(126,217,255,.08)}.current-game .game-choice-icon{filter:drop-shadow(0 0 12px rgba(126,217,255,.4))}.current-badge{position:absolute;right:14px;bottom:14px;margin:0!important;padding:7px 10px;border:1px solid rgba(126,217,255,.35);border-radius:999px;background:rgba(126,217,255,.08);color:#7ed9ff!important;letter-spacing:.08em!important}.rtl .game-choice a,.rtl .current-badge{right:auto;left:14px}@media(max-width:900px){.game-library{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.game-library{grid-template-columns:1fr 1fr;gap:8px}.game-choice{min-height:124px;padding:12px;gap:8px}.game-choice-icon{font-size:19px}.game-choice h2{font-size:13px}.game-choice p{display:none}.game-choice a,.current-badge{right:9px;bottom:9px;padding:6px 9px}.rtl .game-choice a,.rtl .current-badge{right:auto;left:9px}}


/* v53 — shared start interface alignment with SURVIVAL */
.overlay-card{
  width:min(430px,100%);
  padding:28px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:rgba(11,17,27,.94);
  text-align:center;
}
.target-mark{
  display:grid;
  place-items:center;
  width:88px;
  height:66px;
  margin:0 auto 18px;
  color:var(--gold);
  font-size:54px;
  line-height:1;
  text-shadow:0 0 18px rgba(245,197,71,.4);
}
.overlay-card h2{
  margin:0 0 8px;
  font-size:29px;
  line-height:1.25;
  font-weight:900;
  text-align:center;
}
.overlay-card p{
  margin:0 0 18px;
  color:#aab4c2;
  line-height:1.6;
  text-align:center;
}
.overlay-card label{
  display:block;
  margin:0 0 8px;
  text-align:left;
  color:#dce2ea;
  font-size:12px;
  font-weight:900;
}
.overlay-card input{
  width:100%;
  height:50px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:10px;
  background:#111923;
  color:#fff;
  font:inherit;
  text-align:center;
  font-weight:900;
}
.overlay-card>button,.result-actions button{
  height:50px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:var(--gold);
  color:#111;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.overlay-card>button{width:100%;margin-top:11px}
.overlay-card small{display:block;margin-top:13px;color:#7f8a98;line-height:1.5;text-align:center}
.rtl .overlay-card label{text-align:right}

/* v53 — ranking refresh feedback */
#refreshRanking{cursor:pointer;transition:opacity .2s ease,transform .2s ease}
#refreshRanking:disabled{cursor:wait;opacity:.65}
#refreshRanking.is-refreshing{animation:droneRankingSpin .75s linear infinite}
@keyframes droneRankingSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#refreshRanking.is-refreshing{animation:none}}
@media(max-width:620px){
  .overlay-card{padding:20px 17px}
  .overlay-card h2{font-size:24px}
  .target-mark{transform:scale(.88);margin-bottom:10px}
}

/* v55 — mobile-only start/result overlay usability fix */
@media(max-width:620px){
  .hunter-shell{
    aspect-ratio:auto;
    min-height:650px;
    overflow:hidden;
    touch-action:pan-y;
  }
  .hunter-shell canvas{
    touch-action:none;
  }
  .game-overlay{
    place-items:start center;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:18px 12px calc(22px + env(safe-area-inset-bottom));
    touch-action:pan-y;
  }
  .overlay-card{
    width:100%;
    max-width:430px;
    margin:auto 0;
    padding:22px 18px 20px;
    max-height:none;
    pointer-events:auto;
    touch-action:pan-y;
  }
  .overlay-card h2{font-size:26px;line-height:1.28;margin:6px 0 8px}
  .overlay-card p{font-size:15px;line-height:1.55;margin:0 0 16px}
  .overlay-card label{font-size:13px;margin:0 0 7px}
  .overlay-card input{
    height:52px;
    min-height:52px;
    padding:0 14px;
    font-size:16px;
    pointer-events:auto;
    touch-action:manipulation;
  }
  .overlay-card>button,.result-actions button{
    min-height:52px;
    font-size:16px;
    pointer-events:auto;
    touch-action:manipulation;
  }
  .overlay-card small{font-size:12px;line-height:1.45;margin-top:11px}
  .target-mark{font-size:45px;transform:none;margin-bottom:2px}
}


/* v56 — mobile square playfield and page-scroll recovery */
@media(max-width:620px){
  .hunter-main{padding:18px 8px 44px}
  .hunter-panel{padding:8px}
  .hunter-toolbar{min-height:104px;padding:8px 5px 10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px 8px;align-items:start}
  .hunter-toolbar div{min-width:0}
  .hunter-toolbar div:nth-child(4){grid-column:1 / 2}
  .hunter-toolbar button{grid-column:4;grid-row:1 / span 2;margin:0;align-self:center}
  .hunter-shell{
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:1 / 1;
    overflow:hidden;
    border-radius:10px;
    touch-action:pan-y pinch-zoom;
    overscroll-behavior:auto;
  }
  .hunter-shell canvas{
    width:100%;
    height:100%;
    touch-action:pan-y pinch-zoom;
  }
  .game-overlay{overflow-y:auto;touch-action:pan-y;overscroll-behavior:auto}
  .overlay-card{margin:auto 0;touch-action:pan-y}
}


/* v57 — mobile instructions moved outside the playfield */
.mobile-game-info{display:none}
@media(max-width:620px){
  .game-library{margin-bottom:0}
  .mobile-game-info{
    display:block;
    margin:18px 0 16px;
    padding:18px 16px;
    border:1px solid rgba(126,217,255,.22);
    border-radius:16px;
    background:rgba(13,19,29,.82);
    text-align:center;
  }
  .mobile-game-info h2{margin:0 0 8px;font-size:20px;line-height:1.3;color:#fff}
  .mobile-game-info p{margin:0;color:#aab4c2;font-size:14px;line-height:1.55}
  .mobile-game-info small{display:block;margin-top:10px;color:#7f8a98;font-size:12px;line-height:1.45}
  #startOverlay .overlay-card{
    width:calc(100% - 24px);
    max-width:390px;
    margin:auto;
    padding:20px 16px 18px;
  }
  #startOverlay .tank-mark,
  #startOverlay .target-mark,
  #startOverlay h2,
  #startOverlay p,
  #startOverlay small{display:none!important}
  #startOverlay .overlay-card label{margin:0 0 8px;font-size:13px}
  #startOverlay .overlay-card input{height:50px;min-height:50px}
  #startOverlay .overlay-card>button{height:50px;min-height:50px;margin-top:10px}
}


/* v72 — mobile page scroll outside active gameplay */
@media(max-width:620px){
  .hunter-shell,.hunter-shell canvas{touch-action:pan-y pinch-zoom;overscroll-behavior:auto}
  .hunter-shell.is-playing,.hunter-shell.is-playing canvas{touch-action:none;overscroll-behavior:contain}
}
