:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#67e8f929,#0000 28%),radial-gradient(circle at 80% 20%,#f472b624,#0000 25%),linear-gradient(#0f172a 0%,#020617 100%);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 85%);mask-image:radial-gradient(circle,#000,#0000 85%)}button{font:inherit}.app-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.welcome-card,.game-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(#0f172aeb,#0f172ac7);border:1px solid #94a3b824;border-radius:30px;width:min(100%,34rem);padding:1.5rem;box-shadow:0 30px 90px #02061780,inset 0 1px #ffffff0f}.welcome-card{text-align:center;gap:1rem;padding-block:2.4rem;display:grid}.welcome-text{color:#cbd5e1;margin:0;font-size:1.05rem}.welcome-button{cursor:pointer;color:#082f49;background:linear-gradient(135deg,#67e8f9,#38bdf8);border:0;border-radius:999px;justify-self:center;padding:.95rem 1.4rem;font-size:1rem;font-weight:700;transition:transform .16s,box-shadow .16s}.welcome-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0ea5e947}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#67e8f9;margin:0 0 .35rem;font-size:.72rem}h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.6rem,8vw,4.75rem);line-height:.9}.board-stage{gap:1rem;margin-top:1.25rem;display:grid}.status-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.status{color:#e2e8f0;margin:0;font-size:1.02rem;font-weight:600}.status--win{color:#86efac}.status--draw{color:#fcd34d}.status--thinking{color:#67e8f9}.score-pips{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.score-pips span{color:#cbd5e1;background:#1e293be6;border:1px solid #94a3b81f;border-radius:999px;padding:.45rem .7rem;font-size:.8rem;font-weight:700}.board-wrap{justify-content:center;display:flex}.board{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;width:100%;display:grid}.square{aspect-ratio:1;color:#e2e8f0;cursor:pointer;background:linear-gradient(#1e293bfa,#0f172af5);border:1px solid #94a3b824;border-radius:24px;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s;box-shadow:inset 0 1px #ffffff0a,0 10px 30px #02061738}.square span{font-size:clamp(3rem,12vw,5rem);font-weight:800;line-height:1;display:inline-block;transform:translateY(2px)}.square--empty:hover:not(:disabled){border-color:#67e8f957;transform:translateY(-4px)scale(1.015);box-shadow:inset 0 1px #ffffff0d,0 18px 34px #0891b229}.square:disabled{cursor:default}.square:focus-visible,.controls button:focus-visible,.welcome-button:focus-visible{outline-offset:3px;outline:3px solid #67e8f9}.square--x{color:#7dd3fc;text-shadow:0 0 18px #7dd3fc33}.square--o{color:#f9a8d4;text-shadow:0 0 18px #f9a8d42e}.square--winner{color:#f0fdf4;background:linear-gradient(135deg,#22c55ef5,#15803df5);box-shadow:0 20px 40px #15803d52}.controls{flex-wrap:wrap;gap:.75rem;display:flex}.controls button{cursor:pointer;color:#082f49;background:linear-gradient(135deg,#67e8f9,#38bdf8);border:0;border-radius:999px;flex:1;min-width:9.5rem;padding:.95rem 1.1rem;font-size:.98rem;font-weight:700;transition:transform .16s,box-shadow .16s,opacity .16s}.controls button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0ea5e947}.controls .button-secondary{color:#0f172a;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.controls .button-ghost{color:#e2e8f0;background:#1e293beb;border:1px solid #67e8f940}.controls .button-ghost:hover{box-shadow:0 12px 24px #0891b22e}@media (width<=640px){.app-shell{padding:.9rem}.welcome-card,.game-card{border-radius:24px;padding:1.1rem}.status-bar{flex-direction:column;align-items:flex-start}.score-pips{justify-content:flex-start}.board{gap:.6rem}.controls button{min-width:100%}}
