/* Snake v1.1: one compact entry, an unobstructed board, and real session controls. */
body.snake-page .snake-toolbar { position:relative; z-index:80; }
body.snake-page #snakeControlLayer { z-index:40 !important; pointer-events:none !important; }
body.snake-page .snake-toolbar #earnlyPauseButton { position:relative !important; inset:auto !important; margin:0 !important; z-index:81 !important; min-height:44px !important; min-width:90px !important; }
body.snake-page .snake-toolbar #earnlyPauseButton[hidden] { display:none !important; }
body.snake-page #snakeExit { display:inline-flex; align-items:center; justify-content:center; min-height:44px !important; min-width:82px !important; padding:8px 12px; border-radius:12px; touch-action:manipulation; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; -webkit-tap-highlight-color:transparent; }
body.snake-page.snake-game-active .snake-toolbar .balance-chip { display:none !important; }
body.snake-page.snake-game-active #snakeExit { color:#ffdbdf; background:#371721; border:1px solid #ab4d60; }
body.snake-page .snake-quick-tip { display:none; }
body.snake-page .snake-session-controls { display:none; }
body.snake-page.snake-game-active .snake-session-controls {
  display:flex; align-items:center; gap:10px; width:min(100%,440px);
  margin:8px auto 0; position:relative; z-index:70;
}
body.snake-page .snake-session-controls #earnlyPauseButton,
body.snake-page .snake-session-controls #snakeQuit {
  display:flex; align-items:center; justify-content:center; flex:1 1 0;
  width:auto; min-width:0; min-height:48px; height:48px;
  margin:0; padding:8px 12px; box-sizing:border-box;
  border:1px solid #3e6482; border-radius:13px;
  background:#12314a; color:#fff; font-size:16px; font-weight:800;
  text-decoration:none; touch-action:manipulation; position:relative; z-index:70;
}
body.snake-page .snake-session-controls #snakeQuit { border-color:#ab4d60; background:#371721; }
body.snake-page.earnly-game-paused .snake-session-controls #earnlyPauseButton { border-color:#86efac; background:#14532d; }
body.snake-page .snake-session-controls #earnlyPauseButton[hidden] { display:none !important; }
@media (max-width:699px) {
  body.snake-page.game-guide-page main.container { padding:8px 14px 100px !important; padding-top:max(8px,env(safe-area-inset-top)) !important; }
  body.snake-page.game-guide-page.snake-game-active main.container { padding-bottom:max(16px,env(safe-area-inset-bottom)) !important; }
  body.snake-page.game-guide-page .snake-toolbar { display:flex !important; align-items:center !important; justify-content:space-between !important; position:sticky !important; top:env(safe-area-inset-top,0px); min-height:44px !important; gap:8px !important; margin:0 !important; padding:0 !important; background:#071621 !important; }
  body.snake-page.game-guide-page.snake-game-active .snake-toolbar { display:none !important; }
  body.snake-page.game-guide-page .snake-toolbar .balance-chip { font-size:13px; padding:6px 10px; }
  body.snake-page.game-guide-page .snake-toolbar #earnlyPauseButton { font-size:14px !important; padding:9px 13px !important; border-radius:12px !important; touch-action:manipulation; -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
  body.snake-page.game-guide-page .snake-header { display:block !important; padding:0 !important; margin:0 0 4px !important; background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
  body.snake-page.game-guide-page .game-title-status-row { display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; margin:0 0 2px !important; }
  body.snake-page.game-guide-page .snake-header h1 { font-size:22px !important; line-height:1.15 !important; margin:0 !important; }
  body.snake-page.game-guide-page #gameStatus { padding:4px 8px !important; font-size:11px !important; }
  body.snake-page.game-guide-page .snake-stats { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:0 !important; margin:0 !important; border:1px solid #284757; border-radius:11px; overflow:hidden; background:#0a1c29; }
  body.snake-page.game-guide-page .snake-stats > span { display:flex !important; align-items:center !important; justify-content:center !important; gap:6px !important; padding:6px 3px !important; min-height:32px !important; min-width:0 !important; border:0 !important; border-right:1px solid #284757 !important; border-radius:0 !important; background:none !important; box-shadow:none !important; }
  body.snake-page.game-guide-page .snake-stats > span:last-child { border-right:0 !important; }
  body.snake-page.game-guide-page .snake-stats small { font-size:11px !important; line-height:1.2 !important; letter-spacing:0 !important; text-transform:none !important; color:#b9cedd !important; margin:0 !important; }
  body.snake-page.game-guide-page .snake-stats strong { font-size:15px !important; line-height:1.2 !important; margin:0 !important; }
  body.snake-page.game-guide-page .game-start-summary,
  body.snake-page.game-guide-page .game-guide-strip,
  body.snake-page.game-guide-page .game-guide-overlay,
  body.snake-page.game-guide-page .snake-back-link,
  body.snake-page.game-guide-page .desktop-controls:not(.snake-control-dock) { display:none !important; }
  body.snake-page.game-guide-page .snake-control-dock { display:none !important; }
  body.snake-page.game-guide-page.snake-game-active .snake-toolbar #snakeExit { visibility:hidden; }
  body.snake-page.game-guide-page:not(.snake-game-active) #startButton { display:block !important; width:100% !important; min-height:46px !important; padding:10px 12px !important; margin:0 !important; border-radius:13px !important; font-size:16px !important; line-height:1.2 !important; }
  body.snake-page.game-guide-page .snake-quick-tip { display:block; margin:2px 0 4px; font-size:12px; line-height:1.3; color:#b0c9d3; }
  body.snake-page.game-guide-page.snake-game-active #startButton,
  body.snake-page.game-guide-page.snake-game-active .snake-quick-tip,
  body.snake-page.game-guide-page.snake-game-active .game-guide-more,
  body.snake-page.game-guide-page.snake-game-active .game-goal-card,
  body.snake-page.game-guide-page.snake-game-active #arcadeBottomNav,
  body.snake-page.game-guide-page.snake-game-active #arcadeDesktopNav { display:none !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard { display:block !important; position:relative !important; z-index:0; padding:0 7px 5px !important; margin:3px 0 5px !important; border-radius:13px !important; animation:none !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-head { min-height:28px !important; margin:0 !important; gap:5px !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-head strong { font-size:13px !important; line-height:1.2 !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-eyebrow,
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-avatar,
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-target { display:none !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-link { display:inline-flex !important; align-items:center !important; min-height:44px !important; padding:0 5px !important; border:0 !important; background:none !important; font-size:12px !important; white-space:nowrap; }
  body.snake-page.game-guide-page.snake-game-active #earnlyCompactLeaderboard .compact-leaderboard-link { display:none !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-list { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:5px !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-row { display:grid !important; grid-template-columns:17px minmax(0,1fr) !important; grid-template-rows:auto auto !important; min-width:0 !important; min-height:37px !important; gap:2px 3px !important; padding:4px !important; border-radius:8px !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-rank { grid-column:1; grid-row:1 / 3; align-self:center; font-size:15px !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-player,
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-score { grid-column:2 !important; font-size:12px !important; line-height:1.15 !important; text-align:left !important; min-width:0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-player { grid-row:1; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard .compact-leaderboard-score { grid-row:2; }
  body.snake-page.game-guide-page #earnlyCompactLeaderboard :is(.compact-leaderboard-empty,.compact-leaderboard-loading) { grid-column:1 / -1; padding:4px !important; font-size:12px !important; }
  body.snake-page.game-guide-page .game-guide-surface-wrap { width:var(--snake-board-size,100%) !important; max-width:100% !important; margin:0 auto !important; min-height:0 !important; }
  body.snake-page.game-guide-page canvas#game, body.snake-page.game-guide-page.snake-game-active canvas#game { display:block !important; width:100% !important; height:var(--snake-board-size,auto) !important; max-height:none !important; aspect-ratio:1; box-sizing:border-box !important; max-width:100% !important; min-width:0 !important; margin:0 !important; filter:none !important; opacity:1 !important; }
  body.snake-page.game-guide-page .game-guide-more { display:block; padding:0 !important; margin:4px 0 !important; border:0 !important; background:none !important; font-size:12px; }
  body.snake-page.game-guide-page .game-guide-more summary { min-height:44px; padding:12px 4px; color:#b9cedd; }

  /* Use the open space below the board as a persistent, optional touch controller. */
  body.snake-page.game-guide-page.snake-game-active .snake-control-dock {
    display:grid !important;
    grid-template-columns:minmax(88px,112px) minmax(0,1fr);
    align-items:center;
    gap:9px;
    width:min(100%,440px);
    min-height:108px;
    margin:8px auto 0 !important;
    padding:7px 9px !important;
    border:1px solid #28536a;
    border-radius:16px;
    background:linear-gradient(145deg,rgba(8,27,40,.96),rgba(10,20,35,.98));
    box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 0 24px rgba(34,211,238,.035);
    position:relative;
    z-index:70;
    pointer-events:auto;
    box-sizing:border-box;
    touch-action:manipulation;
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
  }
  html body.snake-page.snake-game-active .snake-session-controls #earnlyPauseButton {
    position:relative !important; inset:auto !important; transform:none !important;
    display:flex !important; width:auto !important; min-width:0 !important;
    min-height:48px !important; height:48px !important; margin:0 !important;
    padding:8px 12px !important; border-radius:13px !important;
    box-shadow:none !important; font-size:16px !important; z-index:70 !important;
  }
  body.snake-page.game-guide-page .snake-control-caption {
    display:grid;
    gap:2px;
    align-content:center;
    text-align:left;
    min-width:0;
  }
  body.snake-page.game-guide-page .snake-control-caption strong {
    color:#f8fafc;
    font-size:14px;
    line-height:1.1;
  }
  body.snake-page.game-guide-page .snake-control-caption span {
    color:#9fb7c7;
    font-size:10px;
    line-height:1.25;
  }
  body.snake-page.game-guide-page .snake-dpad {
    display:grid;
    grid-template-columns:repeat(3,minmax(46px,1fr));
    grid-template-rows:46px 46px;
    gap:5px;
    align-items:stretch;
  }
  body.snake-page.game-guide-page .snake-dpad .game-control {
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    height:46px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:12px !important;
    font-size:24px !important;
    line-height:1 !important;
    background:linear-gradient(180deg,#1c3550,#12263c) !important;
    border:1px solid #3e6482 !important;
    color:#f8fafc !important;
    box-shadow:inset 0 1px rgba(255,255,255,.06),0 5px 12px rgba(0,0,0,.22);
    touch-action:none !important;
    -webkit-tap-highlight-color:transparent;
  }
  body.snake-page.game-guide-page .snake-dpad .game-control:active,
  body.snake-page.game-guide-page .snake-dpad .game-control.is-active {
    transform:translateY(1px);
    border-color:#4ade80 !important;
    background:linear-gradient(180deg,#155e3b,#0f3d2b) !important;
    box-shadow:0 0 0 2px rgba(74,222,128,.12),inset 0 1px rgba(255,255,255,.08);
  }
  body.snake-page.game-guide-page .snake-dpad-up { grid-column:2; grid-row:1; }
  body.snake-page.game-guide-page .snake-dpad-left { grid-column:1; grid-row:2; }
  body.snake-page.game-guide-page .snake-dpad-down { grid-column:2; grid-row:2; }
  body.snake-page.game-guide-page .snake-dpad-right { grid-column:3; grid-row:2; }
}

/* Session buttons must not move or shrink when the run starts or pauses. */
body.snake-page .snake-toolbar,
body.snake-page .snake-toolbar #snakeExit,
body.snake-page .snake-toolbar #earnlyPauseButton {
  animation:none !important; transition:none !important; transform:none !important;
}
body.snake-page.game-guide-page .snake-toolbar #snakeExit,
body.snake-page.game-guide-page .snake-toolbar #earnlyPauseButton {
  height:44px !important; min-height:44px !important; max-height:none !important;
  box-sizing:border-box !important; flex-shrink:0 !important;
}

/* Immediate apple confirmation without adding another blocking banner. */
body.snake-page canvas#game.snake-apple-collected {
  border-color:#4ade80 !important;
  box-shadow:0 0 0 2px rgba(74,222,128,.22),0 0 24px rgba(74,222,128,.34) !important;
}

/* Keep the score cards and live ticker mutually exclusive. */
html body.snake-page.game-guide-page #earnlyCompactLeaderboard.compact-leaderboard-card {
  height:auto!important; max-height:none!important; min-height:30px!important;
  pointer-events:auto!important; text-shadow:none;
}
html body.snake-page.game-guide-page:not(.snake-game-active) #earnlyCompactLeaderboard .compact-leaderboard-ticker { display:none!important; }
html body.snake-page.game-guide-page:not(.snake-game-active) #earnlyCompactLeaderboard .compact-leaderboard-head { display:flex!important; }
html body.snake-page.game-guide-page:not(.snake-game-active) #earnlyCompactLeaderboard .compact-leaderboard-list { display:grid!important; }
html body.snake-page.game-guide-page.snake-game-active #earnlyCompactLeaderboard :is(.compact-leaderboard-head,.compact-leaderboard-list,.compact-leaderboard-target) { display:none!important; }
html body.snake-page.game-guide-page.snake-game-active #earnlyCompactLeaderboard .compact-leaderboard-ticker {
  position:static!important; display:block!important; line-height:24px!important;
  text-shadow:none; color:#bdeee2; letter-spacing:0;
}
html body.snake-page.game-guide-page.snake-game-active #earnlyCompactLeaderboard { padding:2px 8px!important; }
@media(prefers-reduced-motion:reduce) {
  html body.snake-page #earnlyCompactLeaderboard .compact-leaderboard-ticker-track { animation:none!important; }
}
/* Keep small phones focused on play; help returns when the run ends. */
body.snake-page.snake-game-active :is(.public-footer,.game-guide-link) { display:none!important; }
@media(max-width:360px) {
  html body.snake-page.game-guide-page:not(.snake-game-active) #earnlyCompactLeaderboard .compact-leaderboard-head { display:none!important; }
}
