@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-x:#00e5ff;--color-o:#ff4081;--color-bg:#0a0a1a;--color-surface:#ffffff0f;--color-text:#e0e0e0;--color-text-dim:#fff6;--glow-x:0 0 20px #00e5ff80;--glow-o:0 0 20px #ff408180;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif}html,body{background:var(--color-bg);width:100%;height:100%;font-family:var(--font);color:var(--color-text);overflow:hidden}#loading-screen{z-index:1000;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;transition:opacity .5s;display:flex;position:fixed;inset:0}#loading-screen p{color:var(--color-text-dim);letter-spacing:.1em;font-size:.9rem}.loader-ring{border:3px solid #0000;border-top-color:var(--color-x);border-right-color:var(--color-o);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#app{width:100%;height:100%;position:relative}#game-canvas{width:100%;height:100%;display:block}#ui-overlay{pointer-events:none;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:0}#ui-overlay>*{pointer-events:auto}#game-header{text-align:center;pointer-events:none}#game-header h1{letter-spacing:.25em;text-transform:uppercase;background:linear-gradient(135deg, var(--color-x), var(--color-o));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.6rem;font-weight:800}#turn-indicator{color:var(--color-text-dim);font-size:1.1rem;font-weight:300;transition:color .3s}#current-player{font-weight:800;transition:color .3s}#current-player.player-x{color:var(--color-x);text-shadow:var(--glow-x)}#current-player.player-o{color:var(--color-o);text-shadow:var(--glow-o)}#game-status{text-align:center;background:var(--color-surface);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff14;border-radius:16px;padding:16px 40px;font-size:2rem;font-weight:800;animation:.5s cubic-bezier(.16,1,.3,1) slideIn}#game-status.win-x{color:var(--color-x);text-shadow:var(--glow-x);border-color:#00e5ff33}#game-status.win-o{color:var(--color-o);text-shadow:var(--glow-o);border-color:#ff408133}#game-status.draw{color:var(--color-text)}#score-board{pointer-events:none;gap:24px;display:flex}.score{background:var(--color-surface);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:80px;padding:12px 24px;display:flex}.score .score-label{letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:600}#score-x .score-label{color:var(--color-x)}#score-o .score-label{color:var(--color-o)}#score-draw .score-label{color:var(--color-text-dim)}.score .score-value{font-size:1.5rem;font-weight:800}#restart-btn{font-family:var(--font);letter-spacing:.05em;cursor:pointer;background:linear-gradient(135deg, var(--color-x), var(--color-o));color:#fff;border:none;border-radius:50px;padding:14px 48px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 24px #00e5ff4d}#restart-btn:hover{transform:scale(1.05);box-shadow:0 6px 32px #00e5ff80}#restart-btn:active{transform:scale(.97)}#controls-hint{color:var(--color-text-dim);pointer-events:none;font-size:.75rem}#mute-btn{background:var(--color-surface);-webkit-backdrop-filter:blur(20px);color:var(--color-text-dim);cursor:pointer;border:1px solid #ffffff26;border-radius:50px;padding:8px 16px;font-size:1.2rem;line-height:1;transition:background .2s,border-color .2s,transform .1s}#mute-btn:hover{background:#ffffff1a;border-color:#ffffff4d;transform:scale(1.05)}#mute-btn:active{transform:scale(.95)}#bottom-ui{pointer-events:auto;flex-direction:column;align-items:center;gap:16px;display:flex}.hidden{display:none!important}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=359px){#game-header h1{letter-spacing:.12em;font-size:.85rem}#turn-indicator{font-size:.85rem}#game-status{padding:10px 18px;font-size:1.1rem}.score{gap:2px;min-width:48px;padding:6px 10px}.score .score-label{font-size:.65rem}.score .score-value{font-size:1rem}#score-board{gap:10px}#restart-btn{padding:11px 32px;font-size:.85rem}}@media (width<=479px){#ui-overlay{padding:14px;padding-top:max(14px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom));padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}#game-header h1{letter-spacing:.15em;font-size:1rem}#turn-indicator{font-size:.95rem}#game-status{padding:10px 20px;font-size:1.4rem}.score{min-width:56px;padding:8px 12px}.score .score-value{font-size:1.2rem}#score-board{gap:12px}#restart-btn{padding:12px 36px;font-size:.9rem}#controls-hint{font-size:.65rem}}@media (width<=600px){#ui-overlay{padding-top:max(20px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}#game-header h1{font-size:1.15rem}#game-status{padding:12px 26px;font-size:1.5rem}.score{min-width:60px;padding:8px 16px}.score .score-value{font-size:1.2rem}}@media (height<=420px) and (orientation:landscape){#ui-overlay{padding:6px 16px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}#game-header h1{margin-bottom:2px;font-size:.85rem}#turn-indicator{font-size:.8rem}#bottom-ui{gap:8px}.score{min-width:48px;padding:4px 10px}.score .score-value{font-size:1rem}#controls-hint{display:none}}
