:root{--chalkboard: #223c30;--chalkboard-dark: #182b21;--chalk-white: #f3f0e4;--chalk-yellow: #e8d67f;--chalk-pink: #e0a3a3;--frame-wood: #6b4a34;--frame-wood-dark: #4f3625}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;background:var(--chalkboard-dark);color:var(--chalk-white)}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.03),transparent 40%),radial-gradient(circle at 80% 85%,rgba(255,255,255,.025),transparent 45%),var(--chalkboard-dark)}.board-wrap{width:100%;max-width:420px;background:var(--chalkboard);border:14px solid var(--frame-wood);border-radius:6px;box-shadow:0 0 0 3px var(--frame-wood-dark),0 20px 50px #00000073;padding:28px 24px 24px;position:relative}.header{position:relative;text-align:center;margin-bottom:18px}.mute-btn{position:absolute;top:-6px;right:-6px;background:transparent;border:2px solid rgba(243,240,228,.55);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#f3f0e4bf;cursor:pointer;transition:all .15s ease}.mute-btn:hover{border-color:var(--chalk-yellow);color:var(--chalk-yellow);background:#e8d67f14}.mute-btn:active{transform:scale(.93)}.speaker-icon{width:19px;height:19px;flex-shrink:0}.header h1{font-family:Kalam,cursive;font-size:2.4rem;margin:0;color:var(--chalk-white);text-shadow:0 0 8px rgba(243,240,228,.25);transform:rotate(-1deg)}.subtitle{margin:4px 0 0;font-size:.85rem;letter-spacing:.04em;color:var(--chalk-yellow);opacity:.85}.controls{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.control-group{display:flex;flex-direction:column;gap:6px}.control-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#f3f0e48c}.pill-row{display:flex;gap:6px}.pill{font-family:Space Grotesk,sans-serif;font-size:.75rem;padding:6px 10px;border-radius:999px;border:1.5px dashed rgba(243,240,228,.35);background:transparent;color:#f3f0e4bf;cursor:pointer;transition:all .15s ease}.pill:hover{border-color:var(--chalk-yellow);color:var(--chalk-white)}.pill-active{background:#e8d67f26;border-color:var(--chalk-yellow);color:var(--chalk-yellow)}.status-line{text-align:center;font-family:Kalam,cursive;font-size:1.25rem;margin-bottom:14px;min-height:1.6em;color:var(--chalk-white)}.status-won{color:#a8e0b0}.status-lost{color:var(--chalk-pink)}.status-draw{color:var(--chalk-yellow)}.board{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#00000026;padding:4px;border-radius:4px}.cell{position:relative;aspect-ratio:1;background:#ffffff05;border:none;border-right:2px dashed rgba(243,240,228,.18);border-bottom:2px dashed rgba(243,240,228,.18);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.board .cell:nth-child(3n){border-right:none}.board .cell:nth-child(n+7){border-bottom:none}.cell:hover:not(:disabled){background:#e8d67f0f}.cell:disabled{cursor:default}.board[data-thinking=true]{opacity:.92}.mark{width:62%;height:62%;transform:rotate(var(--wobble, 0deg))}.mark-stroke{fill:none;stroke:var(--chalk-white);stroke-width:9;stroke-linecap:round;stroke-dasharray:140;stroke-dashoffset:140;animation:chalk-draw .28s ease-out forwards;filter:drop-shadow(0 0 3px rgba(243,240,228,.35))}.mark-o .mark-stroke{stroke:var(--chalk-yellow);stroke-dasharray:210;stroke-dashoffset:210;filter:drop-shadow(0 0 3px rgba(232,214,127,.35))}.mark-stroke-delay{animation-delay:.22s}@keyframes chalk-draw{to{stroke-dashoffset:0}}.win-line-svg{position:absolute;top:4px;right:4px;bottom:4px;left:4px;pointer-events:none}.win-line{stroke:var(--chalk-pink);stroke-width:3;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;animation:strike .4s ease-out forwards;filter:drop-shadow(0 0 5px rgba(224,163,163,.6))}@keyframes strike{to{stroke-dashoffset:0}}.footer-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:12px}.scoreboard{display:flex;gap:16px}.score{display:flex;flex-direction:column;align-items:center}.score-value{font-family:Kalam,cursive;font-size:1.3rem;color:var(--chalk-white)}.score-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:#f3f0e480}.reset-btn{font-family:Space Grotesk,sans-serif;font-size:.8rem;padding:8px 14px;border-radius:6px;border:1.5px solid rgba(243,240,228,.35);background:transparent;color:var(--chalk-white);cursor:pointer;transition:all .15s ease}.reset-btn:hover{border-color:var(--chalk-yellow);color:var(--chalk-yellow);background:#e8d67f14}.reset-btn:focus-visible,.pill:focus-visible,.cell:focus-visible{outline:2px solid var(--chalk-yellow);outline-offset:2px}@media (prefers-reduced-motion: reduce){.mark-stroke,.win-line{animation:none;stroke-dashoffset:0}}@media (max-width: 420px){.header h1{font-size:1.9rem}.controls{justify-content:center}}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background:#0a120e8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10;animation:overlay-fade-in .25s ease-out;overflow:hidden}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.overlay-card{position:relative;z-index:2;background:var(--chalkboard);border:2px dashed rgba(243,240,228,.35);border-radius:10px;padding:28px 32px;text-align:center;max-width:88%;box-shadow:0 12px 30px #0006;animation:overlay-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes overlay-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.overlay-title{font-family:Kalam,cursive;font-size:1.9rem;margin:0 0 6px;color:var(--chalk-white)}.overlay-won .overlay-title{color:#a8e0b0}.overlay-lost .overlay-title{color:var(--chalk-pink)}.overlay-draw .overlay-title{color:var(--chalk-yellow)}.overlay-subtitle{font-size:.9rem;color:#f3f0e4bf;margin:0 0 16px;line-height:1.4}.overlay-streak{font-family:Kalam,cursive;font-size:1rem;color:var(--chalk-yellow);margin:-6px 0 16px}.overlay-btn{font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:500;padding:10px 22px;border-radius:8px;border:none;background:var(--chalk-yellow);color:var(--chalkboard-dark);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.overlay-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #e8d67f59}.confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.confetti-piece{position:absolute;top:-10%;border-radius:1px;opacity:.9;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:.95}to{transform:translate(var(--drift),340px) rotate(var(--rotate));opacity:0}}@media (prefers-reduced-motion: reduce){.overlay-backdrop,.overlay-card,.confetti-piece{animation:none}}
