@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@700;900&family=Inter:wght@400;600&display=swap");*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e)}.game-container,body{display:flex;align-items:center}.game-container{flex-direction:column;gap:28px;padding:48px 52px;background:rgba(255,255,255,.05);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 24px 64px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}.game-title{font-size:28px;font-weight:900;letter-spacing:3px;text-transform:uppercase;background:linear-gradient(90deg,#60a5fa,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.game-title,.status{font-family:Orbitron,sans-serif;text-align:center}.status{font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.75);min-height:20px}.status.winner{color:#fbbf24;text-shadow:0 0 16px rgba(251,191,36,.6);animation:pulse-glow 1.2s ease-in-out infinite alternate}.status.draw{color:#94a3b8}.status.ai-thinking{color:#a78bfa;animation:pulse-glow-purple 1s ease-in-out infinite alternate}@keyframes pulse-glow-purple{0%{text-shadow:0 0 6px rgba(167,139,250,.4)}to{text-shadow:0 0 20px rgba(167,139,250,.9)}}@keyframes pulse-glow{0%{text-shadow:0 0 8px rgba(251,191,36,.4)}to{text-shadow:0 0 24px rgba(251,191,36,.9)}}.board{display:grid;grid-template-columns:repeat(3,110px);grid-template-rows:repeat(3,110px);gap:12px}.square{width:110px;height:110px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;font-family:Orbitron,sans-serif;font-size:42px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;color:transparent;user-select:none}.square:hover:not(:disabled){background:rgba(255,255,255,.11);transform:scale(1.04);box-shadow:0 6px 20px rgba(0,0,0,.3)}.square:active:not(:disabled){transform:scale(.96)}.square:disabled{cursor:default}.square.x{color:#60a5fa;text-shadow:0 0 12px rgba(96,165,250,.5);border-color:rgba(96,165,250,.25)}.square.o{color:#f472b6;text-shadow:0 0 12px rgba(244,114,182,.5);border-color:rgba(244,114,182,.25)}.square.winning{animation:winning-pulse .8s ease-in-out infinite alternate}.square.winning.x{background:rgba(96,165,250,.18);border-color:rgba(96,165,250,.6);box-shadow:0 0 24px rgba(96,165,250,.35),inset 0 0 12px rgba(96,165,250,.15)}.square.winning.o{background:rgba(244,114,182,.18);border-color:rgba(244,114,182,.6);box-shadow:0 0 24px rgba(244,114,182,.35),inset 0 0 12px rgba(244,114,182,.15)}@keyframes winning-pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.reset-btn{padding:12px 36px;font-family:Orbitron,sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:50px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;box-shadow:0 4px 18px rgba(99,102,241,.4)}.reset-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.55)}.reset-btn:active{transform:translateY(0);opacity:.85}.mode-toggle{display:flex;gap:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:4px}.mode-btn{padding:8px 22px;font-family:Orbitron,sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.45);background:transparent;border:none;border-radius:50px;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.mode-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 2px 12px rgba(99,102,241,.45);cursor:default}.mode-btn:not(.active):hover{color:rgba(255,255,255,.75);background:rgba(255,255,255,.08)}.turn-indicator{display:flex;align-items:center;gap:10px;font-family:Orbitron,sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.5)}.turn-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.turn-dot.x{background:#60a5fa;box-shadow:0 0 8px rgba(96,165,250,.7)}.turn-dot.o{background:#f472b6;box-shadow:0 0 8px rgba(244,114,182,.7)}