/* Keep the thumb pad clear of iOS edge gestures, including in Telegram. */
body.arena-playing { overflow:hidden; overscroll-behavior:none; }
.arena-screen.active {
  height:var(--tg-viewport-stable-height,100dvh);
  min-height:0;
  grid-template-rows:40px minmax(0,1fr) 140px;
  padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));
  touch-action:none;
  overscroll-behavior:none;
}
.arena-screen .game-controls {
  height:140px; min-height:140px; padding:12px 14px 16px;
  gap:10px; touch-action:none; user-select:none; -webkit-user-select:none;
}
.arena-screen .joystick {
  flex:0 0 112px; width:112px; height:112px;
  touch-action:none; -webkit-touch-callout:none; transition:none;
}
.arena-screen .joystick:active { transform:none; }
.arena-screen .joystick i { left:36px; top:36px; width:40px; height:40px; pointer-events:none; }
@media(min-width:700px) {
  .arena-screen.active { height:calc(100dvh - 90px); }
}
/* One immediate primary action, no hidden long-press shot selection. */
.arena-screen .strike-controls { flex:1; justify-content:flex-end; align-items:center; gap:10px; }
.arena-screen .strike.hit { width:96px; height:96px; flex-shrink:0; font-size:19px; background:#f5f5f5; color:#111; }
.arena-screen .special-shots { display:grid; gap:8px; }
.arena-screen .special-shots .strike { width:72px; height:48px; border-radius:14px; font-size:12px; }
.arena-screen .special-shots .strike.lob { background:#143b48; color:#fff; border:2px solid #72d5ee; }
.arena-screen .strike { touch-action:none; user-select:none; -webkit-touch-callout:none; }
.arena-screen .strike.shot-held { filter:brightness(1.25); box-shadow:0 0 0 4px #ff2e9399; }
.arena-screen #arena-canvas { touch-action:none; }
/* SPORT-07: one coherent daylight match screen, thumb controls remain inset. */
.arena-screen { background:#edf5ef; color:#173c43; }
#screen-arena .arena-hud { border:0; background:#fff; border-radius:14px; padding:0 12px; margin-bottom:5px; box-shadow:0 2px 8px #163e4210; }
#screen-arena .scoreboard { background:none; box-shadow:none; color:#527578; }
#screen-arena #arena-mode-label { opacity:1; color:#38656d; }
.arena-screen .scoreboard { font-family:Arial,sans-serif; font-weight:900; font-size:29px; }
.arena-screen .scoreboard span:first-child { color:#087dab; }
.arena-screen .scoreboard span:last-child { color:#d64f29; }
.arena-screen .court-shell { border:0; border-radius:16px; box-shadow:none; background:#bcd5c7; }
.arena-screen .court-shell:before { display:none; }
.arena-screen .court-shell:after { background:none; box-shadow:none; }
.arena-screen .game-controls { background:#edf5ef; }
.arena-screen .joystick { border:2px solid #aac6c6; background:#d9e8e4; box-shadow:inset 0 0 0 8px #f5faf7,0 4px 12px #153e431a; }
.arena-screen .joystick i { background:#217c9f; box-shadow:0 3px 9px #17485f55,inset 0 2px 2px #ffffff55; }
.arena-screen .strike { transform:none; clip-path:none; font-family:Arial,sans-serif; font-weight:900; letter-spacing:.02em; }
.arena-screen .strike:before { display:none; }
.arena-screen .strike.hit { background:#087fa7; border:0; border-radius:28px; color:#fff; box-shadow:0 5px 0 #06576f; }
.arena-screen .strike.hit small { color:#d5f2ff; }
.arena-screen .special-shots .strike.lob { background:#fff; color:#1b5664; border:1px solid #b3cccd; box-shadow:0 3px 0 #bed2cc; }
.arena-screen .special-shots .strike.smash { background:#fbd06a; color:#5b4217; border:0; box-shadow:0 3px 0 #d9ab49; }
.arena-screen .strike:disabled { opacity:.45; }
.arena-screen .strike.shot-held { filter:brightness(1.1); box-shadow:0 1px 0 #06576f; transform:translateY(3px); }
.arena-screen .arena-hud button { background:#edf5ef; color:#17424b; border-color:#d2e3dd; }
@media(max-width:360px) {
  .arena-screen .game-controls { padding-left:12px; padding-right:8px; gap:6px; }
  .arena-screen .strike-controls { gap:5px; }
  .arena-screen .strike.hit { width:78px; height:88px; }
  .arena-screen .special-shots .strike { width:60px; }
}
