*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#0a0a0f;--bg-card:#14141f;--accent:#f59e0b;--accent-glow:#f59e0b88;--danger:#ef4444;--success:#22c55e;--text:#e2e8f0;--text-dim:#64748b}html,body,#root{background:var(--bg-dark);width:100%;height:100%;color:var(--text);-webkit-user-select:none;user-select:none;cursor:default;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden}.screen{z-index:20;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#splash-screen{background:var(--bg-dark);z-index:100}.splash-content{text-align:center}.splash-logo,.menu-logo,.auth-logo,.gameover-logo{object-fit:contain;width:120px;height:120px;filter:drop-shadow(0 0 12px var(--accent-glow));margin:0 auto 15px;animation:2.5s ease-in-out infinite pulse-logo;display:block}.splash-logo{width:160px;height:160px;margin-bottom:20px}.gameover-logo{filter:drop-shadow(0 0 12px #ef444466);width:80px;height:80px;margin-bottom:10px}@keyframes pulse-logo{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.splash-title,.menu-title{color:var(--accent);letter-spacing:.15em;text-shadow:0 0 40px var(--accent-glow);margin-bottom:10px;font-family:Russo One,sans-serif;font-size:3.5rem}.menu-title{font-size:4rem}.menu-subtitle{color:var(--text-dim);margin-bottom:20px;font-size:1rem;font-style:italic}.menu-content,.auth-content,.multiplayer-content{text-align:center;width:100%;max-width:380px;padding:20px}.splash-loader{background:var(--bg-card);border-radius:2px;width:200px;height:4px;margin:20px auto 0;overflow:hidden}.loader-bar{background:var(--accent);border-radius:2px;width:0%;height:100%;animation:2.8s ease-in-out forwards load-progress}@keyframes load-progress{0%{width:0%}60%{width:70%}to{width:100%}}.btn-primary{letter-spacing:.1em;width:220px;color:var(--bg-dark);background:var(--accent);cursor:pointer;box-shadow:0 4px 20px var(--accent-glow);border:none;border-radius:12px;margin:0 auto 15px;padding:16px 40px;font-family:Russo One,sans-serif;font-size:1.3rem;transition:transform .15s,box-shadow .15s;display:block}.btn-primary:hover{box-shadow:0 6px 30px var(--accent-glow);transform:scale(1.05)}.btn-secondary{width:220px;color:var(--text-dim);border:2px solid var(--text-dim);cursor:pointer;background:0 0;border-radius:12px;margin:0 auto;padding:12px 40px;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;transition:transform .15s,border-color .15s,color .15s;display:block}.btn-secondary:hover{border-color:var(--text);color:var(--text);transform:scale(1.05)}#lang-screen{background:var(--bg-dark);background-image:radial-gradient(ellipse at 50% 30%, #1a1a2e 0%, var(--bg-dark) 70%)}.lang-pick-grid{flex-direction:column;gap:14px;margin-top:20px;display:flex}.lang-pick-btn{width:240px!important}.lang-picker{justify-content:center;gap:8px;margin-bottom:20px;display:flex}.lang-btn{border:2px solid var(--text-dim);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:6px 16px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.lang-btn.active{border-color:var(--accent);color:var(--accent);background:#f59e0b1a}.lang-btn:hover{border-color:var(--text);color:var(--text)}.difficulty-picker{margin:8px 0 18px}.difficulty-label{letter-spacing:.15em;color:var(--text-dim);text-transform:uppercase;margin-bottom:6px;font-size:.75rem;font-weight:700;display:block}.difficulty-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.diff-btn{border:2px solid var(--text-dim);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s}.diff-btn.active{border-color:var(--accent);color:var(--accent);background:#f59e0b1a}.diff-btn:hover{border-color:var(--text);color:var(--text)}.mode-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.mode-grid .btn-primary{width:100%;margin:0;padding:12px 10px;font-size:1rem}.high-score-display{color:var(--text-dim);flex-direction:column;gap:4px;margin-top:30px;font-size:.9rem;display:flex}.high-score-display span:last-child{color:var(--accent);font-size:1.5rem;font-weight:900}#auth-screen,#menu-screen,#multiplayer-screen,#profile-screen{background:var(--bg-dark);background-image:radial-gradient(ellipse at 50% 30%, #1a1a2e 0%, var(--bg-dark) 70%)}.auth-title{color:var(--accent);letter-spacing:.15em;text-shadow:0 0 30px var(--accent-glow);margin-bottom:30px;font-family:Russo One,sans-serif;font-size:2.5rem}.auth-form{background:var(--bg-card);border:1px solid #1e293b;border-radius:16px;margin-bottom:15px;padding:25px}.auth-form-title{color:var(--text);margin-bottom:20px;font-family:Russo One,sans-serif;font-size:1.2rem}.auth-form input{width:100%;color:var(--text);background:var(--bg-dark);border:2px solid #334155;border-radius:10px;outline:none;margin-bottom:12px;padding:12px 16px;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s;display:block}.auth-form input:focus{border-color:var(--accent)}.auth-form input::placeholder{color:var(--text-dim)}.auth-error{color:var(--danger);min-height:1.2em;margin-bottom:10px;font-size:.85rem}.auth-switch{color:var(--text-dim);margin-top:15px;font-size:.85rem}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.user-badge{justify-content:center;align-items:center;gap:12px;margin-bottom:20px;font-size:.9rem;display:flex}.user-badge span{color:var(--accent);font-weight:700}.user-badge a{color:var(--text-dim);font-size:.8rem;text-decoration:none}.user-badge a:hover{color:var(--danger)}#game-screen{background:var(--bg-dark);justify-content:center;align-items:center;padding:0;display:flex}#game-fit{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}#game-container{transform-origin:50%;flex-direction:column;flex-shrink:0;width:480px;height:850px;display:flex;position:relative;overflow:hidden}#score-bar{background:var(--bg-card);z-index:5;border-bottom:1px solid #1e293b;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.score-left,.score-right{flex-direction:column;align-items:center;gap:2px;display:flex}.score-label{letter-spacing:.15em;color:var(--text-dim);font-size:.65rem;font-weight:700}#current-score,#current-level{color:var(--accent);font-family:Russo One,sans-serif;font-size:1.4rem}.score-center{text-align:center;flex-direction:column;flex:1;align-items:center;display:flex}#current-word-display{letter-spacing:.12em;color:var(--text);text-transform:uppercase;min-height:1.6rem;font-family:Russo One,sans-serif;font-size:1.6rem;transition:color .2s}#current-word-display.valid-prefix{color:var(--success)}#current-word-display.invalid-prefix{color:var(--danger)}.duel-bar{padding:10px 14px}.duel-side{flex-direction:column;align-items:center;gap:2px;min-width:60px;display:flex}.duel-side span:last-child{font-family:Russo One,sans-serif;font-size:1.4rem}.duel-side.p1 span:last-child{color:var(--accent)}.duel-side.p2 span:last-child{color:#22d3ee}.combo-display{color:gold;margin-top:2px;font-family:Russo One,sans-serif;font-size:.85rem;transition:opacity .3s}#game-canvas{touch-action:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex:1;min-height:0;display:block}#gauge-bar{background:var(--bg-card);z-index:5;border-top:1px solid #1e293b;flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.gauge-track{background:#0a0a0f;border:1px solid #334155;border-radius:10px;flex:1;height:18px;position:relative;overflow:hidden}.gauge-fill{background:linear-gradient(90deg,#22c55e 0%,#f59e0b 60%,#ef4444 100%);height:100%;transition:width .3s ease-out}.gauge-label{color:var(--text);text-shadow:0 0 4px #000;justify-content:center;align-items:center;font-family:Russo One,sans-serif;font-size:.7rem;display:flex;position:absolute;inset:0}.power-buttons{gap:6px;display:flex}.power-btn{min-width:56px;height:32px;color:var(--text-dim);border:2px solid var(--text-dim);cursor:not-allowed;background:#0a0a0f;border-radius:8px;align-items:center;gap:4px;padding:6px 10px;font-family:Russo One,sans-serif;font-size:.85rem;font-weight:700;transition:all .15s;display:flex}.power-btn.ready{color:var(--bg-dark);background:var(--accent);border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);cursor:pointer}.power-btn.ready:hover{transform:scale(1.05)}.power-btn.armed{color:#fff;background:#f57;border-color:#f57;animation:.7s ease-in-out infinite laser-pulse;box-shadow:0 0 16px #f57}@keyframes laser-pulse{0%,to{box-shadow:0 0 12px #f57}50%{box-shadow:0 0 24px #f57,0 0 32px #f7a}}.power-btn .power-cost{opacity:.85;font-size:.65rem}.rush-btn{z-index:10;letter-spacing:.1em;color:#fff;border:2px solid var(--danger);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#ef4444d9;border-radius:12px;min-width:84px;padding:10px 14px;font-family:Russo One,sans-serif;font-size:.95rem;transition:transform .1s,box-shadow .1s;position:absolute;bottom:70px;right:8px;box-shadow:0 4px 14px #ef444466}.rush-btn:active{background:var(--danger);transform:scale(.95);box-shadow:0 0 24px #ef4444cc,inset 0 0 12px #fff3}.quit-btn{z-index:10;border:2px solid var(--text-dim);width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:#14141fd9;border-radius:18px;justify-content:center;align-items:center;font-size:1rem;font-weight:700;transition:transform .15s,border-color .15s,color .15s;display:flex;position:absolute;top:60px;left:8px}.quit-btn:hover{border-color:var(--danger);color:var(--danger);transform:scale(1.05)}.chat-toggle{z-index:10;border:2px solid var(--text-dim);width:40px;height:40px;color:var(--text);cursor:pointer;background:#14141fd9;border-radius:20px;justify-content:center;align-items:center;font-size:1.1rem;transition:transform .15s,border-color .15s;display:flex;position:absolute;top:60px;right:8px}.chat-toggle:hover{border-color:var(--accent);transform:scale(1.05)}.chat-toggle.has-unread{border-color:var(--danger);animation:1s ease-in-out infinite chat-bump}@keyframes chat-bump{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chat-unread{background:var(--danger);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.chat-panel{z-index:11;background:#0a0a0ff2;border:1px solid #1e293b;border-radius:10px;flex-direction:column;width:220px;max-height:320px;display:flex;position:absolute;top:105px;right:8px;overflow:hidden;box-shadow:0 6px 20px #00000080}.chat-header{background:var(--bg-card);color:var(--accent);letter-spacing:.1em;justify-content:space-between;align-items:center;padding:6px 10px;font-family:Russo One,sans-serif;font-size:.75rem;display:flex}.chat-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.chat-close:hover{color:var(--danger)}.chat-list{flex-direction:column;flex:1;gap:4px;min-height:80px;padding:8px;display:flex;overflow-y:auto}.chat-empty{color:var(--text-dim);text-align:center;padding:10px 0;font-size:.8rem}.chat-msg{word-wrap:break-word;border-radius:8px;max-width:85%;padding:5px 8px;font-size:.8rem}.chat-msg.me{background:var(--accent);color:var(--bg-dark);align-self:flex-end}.chat-msg.them{color:var(--text);background:#1e293b;align-self:flex-start}.chat-input-row{background:var(--bg-card);border-top:1px solid #1e293b;gap:4px;padding:6px;display:flex}.chat-input-row input{background:var(--bg-dark);color:var(--text);border:1px solid #334155;border-radius:6px;outline:none;flex:1;padding:6px 8px;font-size:.8rem}.chat-input-row input:focus{border-color:var(--accent)}.chat-input-row button{background:var(--accent);width:32px;color:var(--bg-dark);cursor:pointer;border:none;border-radius:6px;padding:0;font-size:1rem;font-weight:700}.chat-input-row button:disabled{opacity:.4;cursor:not-allowed}.mp-lang-badge{border:1px solid var(--accent);background:#f59e0b1a;border-radius:999px;align-items:center;gap:8px;margin:0 auto 18px;padding:6px 14px;display:inline-flex}.mp-lang-value{color:var(--accent);font-family:Russo One,sans-serif}.mp-lang-picker{margin-bottom:18px}#gameover-screen{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0feb}.gameover-content{text-align:center;padding:30px}.gameover-title{color:var(--danger);letter-spacing:.1em;text-shadow:0 0 30px #ef444466;margin-bottom:30px;font-family:Russo One,sans-serif;font-size:3rem}.gameover-stats{grid-template-columns:1fr 1fr;gap:20px;max-width:300px;margin-bottom:35px;margin-left:auto;margin-right:auto;display:grid}.stat{flex-direction:column;gap:4px;display:flex}.stat-label{letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;font-size:.75rem;font-weight:700}.stat-value{color:var(--accent);font-family:Russo One,sans-serif;font-size:1.6rem}#profile-screen{overflow-y:auto}.profile-content{text-align:center;width:100%;max-width:400px;padding:30px 20px}.profile-title{color:var(--accent);margin-bottom:5px;font-family:Russo One,sans-serif;font-size:1.8rem}.profile-username{color:var(--text-dim);margin-bottom:25px;font-size:1rem}.profile-stats{grid-template-columns:1fr 1fr 1fr;gap:15px;margin-bottom:30px;display:grid}.profile-section-title{color:var(--text);text-align:left;margin-bottom:15px;font-family:Russo One,sans-serif;font-size:1rem}.profile-history{margin-bottom:25px}.history-item{background:var(--bg-card);border:1px solid #1e293b;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;font-size:.85rem;display:flex}.history-item .history-score{color:var(--accent);font-family:Russo One,sans-serif;font-size:1.1rem}.history-item .history-date{color:var(--text-dim);font-size:.75rem}.history-item .history-words{color:var(--text-dim)}.matchmaking-spinner{margin:40px 0}.spinner{border:4px solid var(--text-dim);border-top-color:var(--accent);border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.vs-text{color:var(--danger);margin:20px 0;font-family:Russo One,sans-serif;font-size:2rem}.opponent-name{color:var(--accent);font-family:Russo One,sans-serif;font-size:1.8rem}@media (width<=400px){.splash-title,.menu-title{font-size:2.8rem}#current-word-display{font-size:1.3rem}}@media (width>=768px){#game-container{border-left:1px solid #1e293b;border-right:1px solid #1e293b}}
