/* AI_TAG: FRONTEND_COMPONENT | Pigeon Snake page styles */
:root{
  --snake-bg:#0b1016;
  --snake-bg-2:#141e2a;
  --snake-accent:#4da3ff;
  --snake-accent-2:#76beff;
}

#page-snake{ display:none; }
#page-snake.active{ display:block; }

.snake-hero{ position:relative; min-height:calc(100vh - 64px); padding:24px; box-sizing:border-box; }
.snake-hero-bg{ position:absolute; inset:0; background:radial-gradient(1200px 600px at 20% -10%, rgba(118,190,255,0.15), transparent), radial-gradient(1000px 800px at 80% 110%, rgba(77,163,255,0.10), transparent), linear-gradient(180deg, var(--snake-bg), var(--snake-bg-2)); pointer-events:none; }

.snake-card{ position:relative; max-width:980px; margin:0 auto; z-index:1; background:linear-gradient(135deg, rgba(17,26,38,.85), rgba(20,30,42,.85)); border:1px solid rgba(118,190,255,0.25); border-radius:16px; box-shadow:0 12px 40px rgba(0,0,0,0.45), 0 0 40px rgba(77,163,255,0.25) inset; overflow:hidden; }
.snake-header{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid rgba(118,190,255,0.18); background:linear-gradient(180deg, rgba(118,190,255,0.08), rgba(0,0,0,0)); }
.snake-title{ font-weight:800; letter-spacing:.5px; }
.snake-score{ font-weight:700; color:#e8eff8; opacity:.9; }

.snake-stage-wrap{ position:relative; padding:16px; display:flex; flex-direction:column; align-items:center; }
#snakeCanvas{ display:block; background:#0b1016; border-radius:12px; border:1px solid rgba(118,190,255,0.25); box-shadow:inset 0 2px 20px rgba(77,163,255,0.08), 0 12px 40px rgba(0,0,0,0.45); touch-action:none; }

.snake-overlay{ position:absolute; inset:16px; display:flex; align-items:center; justify-content:center; }
.snake-overlay-card{ background:linear-gradient(135deg, rgba(17,26,38,.95), rgba(20,30,42,.95)); border:1px solid rgba(118,190,255,0.35); box-shadow:0 14px 50px rgba(0,0,0,0.5), 0 0 60px rgba(118,190,255,0.2); border-radius:14px; padding:22px 20px; text-align:center; max-width:320px; }
.snake-overlay-title{ font-size:22px; font-weight:900; margin-bottom:6px; color:#eef5ff; text-shadow:0 2px 8px rgba(118,190,255,0.35); }
.snake-overlay-sub{ font-size:13px; opacity:.8; margin-bottom:14px; }
.snake-overlay .snake-btn{ margin:0 6px; }

.snake-footer{ padding:10px 16px 16px; font-size:12px; opacity:.8; }

.snake-btn{ cursor:pointer; padding:8px 12px; border-radius:10px; border:1px solid rgba(118,190,255,0.25); background:linear-gradient(180deg, rgba(118,190,255,0.12), rgba(118,190,255,0.04)); color:#e6f3ff; font-weight:800; letter-spacing:.3px; text-shadow:0 1px 8px rgba(118,190,255,0.25); transition:transform .08s ease, box-shadow .2s ease; }
.snake-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(77,163,255,0.25); }
.snake-btn.pri{ border-color:rgba(118,190,255,0.45); background:linear-gradient(180deg, rgba(118,190,255,0.28), rgba(118,190,255,0.06)); }

.snake-controls{ display:none; margin-top:12px; gap:8px; align-items:center; }
.snake-controls button{ width:48px; height:40px; border-radius:10px; border:1px solid rgba(118,190,255,0.25); background:linear-gradient(180deg, rgba(118,190,255,0.12), rgba(118,190,255,0.04)); color:#e6f3ff; font-weight:900; }
.snake-controls-mid{ display:flex; gap:8px; }

@media (max-width: 720px){
  .snake-controls{ display:flex; }
  #snakeCanvas{ width:100% !important; height:auto !important; }
}
