﻿.mini-board{background:linear-gradient(145deg,#fff,#e8f7ff);position:relative;overflow:hidden}.mini-cells{display:grid;grid-template-columns:repeat(5,1fr);width:min(410px,85%);aspect-ratio:1;margin:auto;transform:rotate(-3deg);box-shadow:0 16px 30px #0d4d6b25}.mini-cells span:nth-child(4n+1){background:#ffd95a}.mini-cells span:nth-child(4n+2){background:#59c8e8}.mini-cells span:nth-child(4n+3){background:#ff8d84}.mini-cells span:nth-child(4n){background:#8ddda8}.mini-ladder,.mini-snake{position:absolute;font-size:clamp(5rem,9vw,8rem);filter:drop-shadow(0 8px 7px #0002)}.mini-ladder{left:20%;top:17%;transform:rotate(25deg)}.mini-snake{right:17%;top:29%;transform:rotate(-16deg)}
.snake-game-page .shell{max-width:none}.snake-game-page .snake-play-grid{grid-template-columns:minmax(245px,22%) minmax(450px,1fr) minmax(245px,22%)}.snake-game-page .board-card{grid-column:2;grid-row:1;height:100%;min-width:0;display:flex;flex-direction:column;padding:12px;background:linear-gradient(145deg,#071622,#0b2130);border-color:#193a4d;color:#edf8ff}.snake-game-page .snake-play-grid .player{min-height:0;grid-template-rows:56px 30px minmax(0,1.25fr) minmax(0,.8fr) minmax(0,1.8fr) minmax(22px,.25fr)}.position-chip{background:#fff;color:inherit;border-radius:999px;padding:5px 14px}.turn-label{text-align:center;font-size:.72rem;font-weight:900;letter-spacing:.12em;padding:6px;background:#eef1f3;color:#697780}.active-player{box-shadow:0 0 0 4px #f5c842,0 12px 28px #17364a24}.active-player .turn-label{background:#fff0a3;color:#715800}.snake-game-page .player h2{font-size:clamp(1rem,1.5vw,1.45rem)}.snake-game-page .answers{grid-template-columns:1fr 1fr}.snake-game-page .answers button{min-height:50px}.snake-game-page .question-picture{max-height:28vh}.snake-game-page .feedback{min-height:2.5em}
.snake-game-page .match-info{color:#b8cfdd}.snake-game-page .match-info #timer{color:#80dcff}.board-wrap{position:relative;flex:0 1 auto;width:100%;aspect-ratio:2;max-height:calc(100vh - 190px);margin:auto}.board{position:relative;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(5,1fr);width:100%;height:100%;overflow:hidden;border-radius:18px;border:2px solid #ffffff16;background:linear-gradient(135deg,#10293c 0%,#0b1722 52%,#14291d 100%);box-shadow:inset 0 0 0 1px #ffffff08,0 18px 35px #0007}.square{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;padding:clamp(3px,.55vw,7px);border:1px solid #ffffff0d;font-size:clamp(.58rem,1vw,.82rem);line-height:1;font-weight:750;color:#ffffffb5}.square:nth-child(4n+1){background:#79d2ff14}.square:nth-child(4n+2){background:#ffbe6314}.square:nth-child(4n+3){background:#ff835914}.square:nth-child(4n){background:#69d87f14}.square[data-square="1"],.square[data-square="50"]{color:#fff;background:#ffc85d26}.board-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}.token-layer{position:absolute;inset:0;z-index:20;pointer-events:none}.player-token{position:absolute;width:clamp(20px,2.3vw,30px);height:clamp(20px,2.3vw,30px);border-radius:50%;border:2px solid #ffffffd0;display:flex;align-items:center;justify-content:center;z-index:21;transform:translate(-50%,-50%);box-shadow:0 0 13px currentColor}.token-label{font-size:.7rem;font-weight:900;color:#fff;text-shadow:0 1px 2px #000}.downloaded-ladder-rail{stroke:#d9a742;stroke-width:5;stroke-linecap:round}.downloaded-ladder-rung{stroke:#f7e0a3;stroke-width:3.2;stroke-linecap:round}.downloaded-snake-shadow{fill:none;stroke:#1a3a24;stroke-linecap:round}.downloaded-snake-main{fill:none;stroke:url(#snakeBody);stroke-linecap:round}.downloaded-snake-marks{fill:none;stroke:#b8f5a2;stroke-linecap:round;stroke-dasharray:1 12;opacity:.9}.downloaded-snake-head ellipse:first-child{fill:#70d36f}.downloaded-snake-head .snake-snout{fill:#9ef28f}.downloaded-snake-head circle{fill:#0d1117}.downloaded-snake-head .snake-tongue{fill:#ff7b7b}.snake-tail{fill:#6ecf6f}.route-active .downloaded-snake-main{animation:snakePulse .35s ease-in-out infinite alternate}.route-active .downloaded-snake-marks{animation:snakeFlash .25s linear infinite}.route-active.downloaded-ladder{filter:drop-shadow(0 0 7px #ffd166)}
.board-status{height:58px;display:flex;align-items:center;justify-content:center;gap:14px}.board-status p{margin:0;color:#eaf7ff;font-weight:800;text-align:center}.snake-game-page .dice{position:relative;display:block;width:50px;height:50px;flex:0 0 50px;border:2px solid #ffbe636b;border-radius:15px;background:radial-gradient(circle at top left,#ffffff29,transparent 44%),linear-gradient(180deg,#153046fa,#08131dfa);box-shadow:0 0 18px #ffbe6324;transform-style:preserve-3d}.pip{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0008}.pip.top-left{top:11px;left:11px}.pip.top-right{top:11px;right:11px}.pip.middle-left{top:50%;left:11px;transform:translateY(-50%)}.pip.middle-right{top:50%;right:11px;transform:translateY(-50%)}.pip.center{top:50%;left:50%;transform:translate(-50%,-50%)}.pip.bottom-left{bottom:11px;left:11px}.pip.bottom-right{right:11px;bottom:11px}.spinning{transform:rotateX(720deg) rotateY(720deg) rotateZ(360deg) scale(1.1)}.roll-effect-flip{animation:diceFlip 1.1s cubic-bezier(.22,1,.36,1)}.roll-effect-shake{animation:diceShake 1.1s ease-in-out}.roll-effect-slam{animation:diceSlam 1.1s cubic-bezier(.2,.8,.2,1)}.roll-effect-wobble{animation:diceWobble 1.1s ease-in-out}
@keyframes diceFlip{0%{transform:rotateX(0) rotateY(0) scale(1)}40%{transform:rotateX(540deg) rotateY(360deg) scale(1.18)}75%{transform:rotateX(760deg) rotateY(620deg) scale(1.05)}100%{transform:rotateX(720deg) rotateY(720deg) scale(1)}}@keyframes diceShake{0%,100%{transform:translate(0) rotate(0) scale(1)}15%{transform:translate(-8px,-4px) rotate(-14deg) scale(1.08)}30%{transform:translate(8px,3px) rotate(14deg) scale(1.12)}45%{transform:translate(-6px,5px) rotate(-10deg) scale(1.08)}60%{transform:translate(6px,-3px) rotate(10deg) scale(1.05)}}@keyframes diceSlam{0%{transform:translateY(-14px) scale(.92) rotate(-8deg)}35%{transform:translateY(8px) scale(1.18) rotate(12deg)}55%{transform:translateY(-4px) scale(1.04) rotate(-8deg)}75%{transform:translateY(2px) scale(1.01) rotate(4deg)}100%{transform:translateY(0) scale(1) rotate(0)}}@keyframes diceWobble{0%,100%{transform:rotate(0) scale(1)}20%{transform:rotate(-18deg) scale(1.1)}40%{transform:rotate(18deg) scale(1.12)}60%{transform:rotate(-10deg) scale(1.06)}80%{transform:rotate(6deg) scale(1.02)}}@keyframes snakePulse{from{opacity:.85}to{opacity:1;filter:drop-shadow(0 0 7px #9cf17d)}}@keyframes snakeFlash{from{opacity:.35}to{opacity:1}}
@media(max-width:900px),(orientation:portrait){.snake-game-page{overflow:hidden}.snake-game-page .brand{height:48px}.snake-game-page .snake-play-grid{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,58%) minmax(0,42%);height:calc(100dvh - 58px);gap:6px}.snake-game-page .board-card{grid-column:1/3;grid-row:1;padding:5px}.snake-game-page .blue-player{grid-column:1;grid-row:2}.snake-game-page .red-player{grid-column:2;grid-row:2}.snake-game-page .snake-play-grid .player{padding:0;grid-template-rows:40px 20px minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.8fr) minmax(18px,.25fr)}.snake-play-grid .player-heading{padding:6px 9px}.snake-game-page .player h2{padding:5px;margin:0;font-size:.82rem;min-height:2.7em}.snake-game-page .question-picture{height:64px}.snake-game-page .answers{gap:4px;padding:5px}.snake-game-page .answers button{min-height:34px;padding:3px;font-size:.75rem}.snake-game-page .feedback{font-size:.7rem;min-height:1em;margin:2px}.turn-label{padding:2px;font-size:.58rem}.board-wrap{width:min(100%,calc((58dvh - 88px)*2));max-height:calc(58dvh - 88px)}.board-status{height:34px;font-size:.72rem}.snake-game-page .dice{width:29px;height:29px;flex-basis:29px;border-radius:8px}.pip{width:5px;height:5px}.pip.top-left{top:6px;left:6px}.pip.top-right{top:6px;right:6px}.pip.middle-left{left:6px}.pip.middle-right{right:6px}.pip.bottom-left{bottom:6px;left:6px}.pip.bottom-right{right:6px;bottom:6px}.match-info{font-size:.64rem;padding:3px}.position-chip{padding:2px 7px}.snake-game-page .game-title{font-size:clamp(.75rem,3vw,1.2rem)}}

