.game-cell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;font-size:2.5rem;background:#f0f6ff;border-radius:1.25rem;box-shadow:0 4px 16px 0 rgba(0,0,0,.08);cursor:pointer;transition:background .18s,opacity .8s}.game-cell:active{background:#cce6ff}@media(hover:hover){.game-cell:hover{background:#cce6ff}}.game-cell.clicking{background:#e5e7eb;transition:all .1s ease-out;transform:scale(.95)}.game-cell.disabled{opacity:70%;cursor:not-allowed}.game-cell.disabled:active{background:#f0f6ff}@media(hover:hover){.game-cell.disabled:hover{background:#f0f6ff}}.game-cell.selected{background:#ffe5cc;box-shadow:0 0 0 3px #ff6b00}.game-cell.fading{opacity:30%;pointer-events:none;animation:fadeOut .8s}@keyframes fadeOut{0%{opacity:100%}to{opacity:30%}}.move-number{position:absolute;top:-.75rem;right:-.75rem;z-index:2;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:.85rem;font-weight:700;background:#e5e7eb;border-radius:9999px}.move-number.fading{color:#fff}.fading-overlay,.move-number.fading{background:#ff6b00;animation:pulse 1.2s infinite alternate}.fading-overlay{position:absolute;inset:0;border-radius:1.25rem;opacity:15%;pointer-events:none}@media(width <= 768px){.game-cell{font-size:2.25rem}.move-number{top:-.625rem;right:-.625rem;width:1.25rem;height:1.25rem;font-size:.75rem}}@media(width <= 480px){.game-cell{font-size:2rem}.move-number{top:-.5rem;right:-.5rem;width:1rem;height:1rem;font-size:.7rem}}@media(width <= 360px){.game-cell{font-size:1.75rem}.move-number{top:-.375rem;right:-.375rem;width:.875rem;height:.875rem;font-size:.65rem}}.turn-indicator{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:.875rem 1.75rem;background:#fff;border-radius:9999px;box-shadow:0 8px 32px 0 rgba(0,0,0,.1)}.turn-indicator .player{display:flex;gap:.625rem;align-items:center;opacity:35%;transition:opacity .2s ease,transform .2s ease}.turn-indicator .player.active{opacity:100%;transform:scale(1.08)}.turn-indicator .player .player-name{font-size:1rem}.turn-indicator .player .player-name,.turn-indicator .timer{font-family:var(--font-fredoka),"Fredoka",sans-serif;font-weight:500;color:#222}.turn-indicator .timer{min-width:5rem;font-size:1.4rem;letter-spacing:.04em;text-align:center}@media(width <= 768px){.turn-indicator{margin-bottom:1.25rem;padding:.75rem 1.25rem}.turn-indicator .player .player-info .player-name{font-size:.9rem}.turn-indicator .timer{font-size:1.4rem}}@media(width <= 480px){.turn-indicator{margin-bottom:1rem;padding:.625rem 1rem}.turn-indicator .player .player-info .player-name{font-size:.8rem}.turn-indicator .timer{font-size:1.2rem}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes bounce-slow{0%,to{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-80px) rotate(3deg)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.float{animation:float 6s ease-in-out infinite}.bounce-slow{animation:bounce-slow 3s infinite}.spin-slow{animation:spin-slow 8s linear infinite}.game-board{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1.5rem;width:100%;max-width:450px;min-height:450px;padding:1.25rem;background:#fff;border-radius:2rem;box-shadow:0 8px 32px 0 rgba(0,0,0,.1)}.strike-animate{stroke-dasharray:120;stroke-dashoffset:120;animation:strike-line .5s cubic-bezier(.4,2,.6,1) forwards}@keyframes strike-line{to{stroke-dashoffset:0}}@media(width <= 768px){.game-board{gap:1.25rem;max-width:400px;min-height:400px;padding:1rem}}@media(width <= 480px){.game-board{gap:1rem;max-width:350px;min-height:350px;padding:.875rem}}@media(width <= 360px){.game-board{gap:.75rem;max-width:320px;min-height:320px;padding:.75rem}}