• Core Engine: Minimax with alpha-beta pruning, 4 to 6 plies depending on the level. A search that reaches depth 0 stops there and scores the position, so this is not solved play: from an empty board nine plies would be needed, and even Level 12 sees six. Once three squares are filled, six plies do reach the end of the game.
• Visual System: Dynamic CSS custom properties + real-time theme injection. 9 handcrafted neon palettes
• Board Stability: Fixed 1fr grid with explicit row/column sizing + box-sizing:border-box to prevent any cell distortion
• O Symbol: Classic strong multi-layer neon glow (the original glowing style you preferred)
• UI/UX: Orange neon hover glow on the level cards • Compact 3×3 solid-colour theme selector below the level list
• Win Screen: Responsive clamp() scaling + safe padding to prevent overflow on any device
• Game Features: Real-time timers • Undo (removes last player + AI move) • Mid-game level switching • Compact mode (mirrors your chess LAB)
• Tech Stack: Pure vanilla JS + CSS Grid + CSS Variables + Orbitron/Roboto Mono typography