body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}:root{--bg-gradient: linear-gradient(to bottom, #0F1525 0%, #1A233A 100%);--primary: #00E5FF;--primary-gradient: linear-gradient(135deg, #00E5FF 0%, #2979FF 100%);--primary-glow: rgba(0, 229, 255, .6);--secondary: #FF4081;--secondary-gradient: linear-gradient(135deg, #FF4081 0%, #F50057 100%);--secondary-glow: rgba(255, 64, 129, .6);--success: #00E676;--success-glow: rgba(0, 230, 118, .6);--surface: rgba(15, 21, 37, .7);--surface-hover: rgba(15, 21, 37, .9);--glass-border: rgba(0, 229, 255, .3);--text-main: #FFFFFF;--text-muted: rgba(255, 255, 255, .7);--font-main: "Nunito", sans-serif;--warning: #FFD740;--error: #FF1744;--shadow-sm: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 0 30px rgba(0, 229, 255, .15);--shadow-glow: 0 0 20px rgba(0, 229, 255, .4);--radius-sm: 12px;--radius-lg: 24px}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:var(--bg-gradient);background-attachment:fixed;box-shadow:inset 0 0 0 1000px #0003;color:var(--text-main);font-family:var(--font-main);overflow-x:hidden}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.app{width:100%;max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.title{font-size:4rem;letter-spacing:2px;margin-bottom:.5rem;font-weight:800;background:linear-gradient(180deg,#fff,#00e5ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 15px var(--primary-glow));text-transform:uppercase;transition:transform .3s}.title:hover{transform:scale(1.05) rotate(-2deg)}.subtitle{font-size:1.2rem;color:var(--primary);margin-bottom:3rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;text-shadow:0 0 10px rgba(0,229,255,.4)}.card,.login-box,.mode-card,.glass-panel{background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:0 0 20px #00e5ff1a,inset 0 0 20px #00e5ff0d;border-radius:var(--radius-lg);padding:3rem;position:relative;overflow:hidden}.card:before,.login-box:before,.mode-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.5}.connect-button{width:100%;max-width:300px;margin:0 auto;padding:12px 24px;background:var(--primary-gradient);color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 0 20px #00e5ff66;transition:all .3s cubic-bezier(.175,.885,.32,1.275);text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.connect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #00e5ff99;filter:brightness(1.2)}.connect-button:active:not(:disabled){transform:scale(.98);box-shadow:0 0 10px #00e5ff66}.connect-button:disabled{background:#ffffff1a;color:#ffffff4d;box-shadow:none;cursor:not-allowed;transform:none}.login-box{display:flex;flex-direction:column;align-items:center;gap:20px}.login-box input{background:#0000004d;border:1px solid var(--glass-border);border-radius:8px;padding:12px 16px;color:#fff;font-family:var(--font-main);font-size:1rem;width:300px;max-width:100%;margin-bottom:20px;outline:none;transition:all .3s;text-align:center}.login-box input:focus{border-color:var(--primary);box-shadow:0 0 15px #00e5ff4d;background:#00000080}.login-box input::placeholder{color:#ffffff4d}.game-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:3rem 0;perspective:1000px}.mode-card{padding:3rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1.2rem;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);border:1px solid var(--glass-border);position:relative;overflow:hidden;background:#14141e99}.mode-card.solo-mode{background:linear-gradient(160deg,#00e6761a,#14141ecc);border-top:4px solid #00E676}.mode-card.battle-royale-mode{background:linear-gradient(160deg,#ff7b001a,#14141ecc);border-top:4px solid #FF7B00}.mode-card.duel-mode{background:linear-gradient(160deg,#00f0ff1a,#14141ecc);border-top:4px solid #00F0FF}.custom-room-card{background:linear-gradient(160deg,#b026ff1a,#14141ecc);border-top:4px solid #B026FF!important;grid-column:1 / -1}.custom-room-actions{display:flex;gap:20px;width:100%;justify-content:center;margin-top:20px}.mode-card:hover{transform:translateY(-12px) scale(1.03);background:#ffffff1a;box-shadow:0 20px 40px #0006;z-index:10}.mode-card.solo-mode:hover{box-shadow:0 20px 40px #00e67633}.mode-card.battle-royale-mode:hover{box-shadow:0 20px 40px #ff7b0033}.mode-card.duel-mode:hover{box-shadow:0 20px 40px #00f0ff33}.custom-room-card:hover{box-shadow:0 20px 40px #b026ff33}.mode-card h3{font-size:2rem;margin:0;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);font-weight:800}.mode-detail{font-size:1.1rem;color:#fffc;font-weight:500}.mode-button{margin-top:auto;padding:12px 24px;border-radius:50px;border:none;background:#ffffff1a;color:#fff;font-weight:700;border:1px solid rgba(255,255,255,.2);transition:all .3s;cursor:pointer}.mode-card:hover .mode-button{background:#fff;color:#000;transform:scale(1.1);box-shadow:0 5px 15px #0000004d}.room-name-input{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#0000004d;color:#fff;width:100%;font-family:var(--font-main)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse-opacity{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.waiting-pulse{animation:pulse-opacity 1.5s infinite ease-in-out;font-weight:700;letter-spacing:1px}.loading-spinner{display:inline-block;width:24px;height:24px;margin-right:10px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.waiting-room-container{width:90vw!important;max-width:none!important;margin:2rem auto}.room-header{border-bottom:2px solid var(--glass-border);padding-bottom:1.5rem}.room-title{font-size:2.5rem;background:var(--secondary-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}.room-badge{display:inline-flex;align-items:center;gap:10px;background:#ffffff1a;padding:8px 16px;border-radius:50px;cursor:pointer;transition:all .3s;margin-top:10px;font-size:1.1rem}.room-badge:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 5px 15px #0000004d}.room-badge:hover .copy-icon{transform:scale(1.2) rotate(15deg);color:var(--secondary);filter:drop-shadow(0 0 5px var(--secondary-glow))}.copy-icon{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.player-chip{background:#ffffff0d;border-radius:50px;padding:8px 16px;border:1px solid transparent;transition:all .3s;display:flex;align-items:center;gap:15px}.player-chip .player-avatar{background:var(--primary-gradient);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 8px #0003}.player-chip.host{border-color:var(--warning);background:#ffc4000d}.host-badge{background:var(--warning);color:#1a1a1a;padding:4px 10px;border-radius:12px;font-weight:800;font-size:.7rem}.btn-primary,.start-button{background:var(--primary-gradient);color:#1a1a1a;font-weight:800;border-radius:50px;padding:14px 30px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 5px 20px #00f0ff4d}.btn-primary:hover,.start-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #00f0ff80;color:#000}.leave-button{background:transparent;color:var(--error);border:2px solid rgba(255,61,0,.3);font-weight:700;border-radius:50px;padding:12px 24px;cursor:pointer;transition:all .3s;font-size:1rem}.leave-button:hover{background:var(--error);color:#fff;border-color:var(--error);box-shadow:0 0 15px #ff3d0066;transform:translateY(-2px)}.toast{background:#141423f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid var(--glass-border);box-shadow:0 8px 20px #0006;font-family:var(--font-main)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:15px}.setting-card{background:var(--surface);border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:1.2rem;display:flex;flex-direction:column;align-items:center;gap:.8rem;transition:all .3s}.setting-card:hover{transform:translateY(-4px);background:var(--surface-hover);border-color:#ffffff4d}.setting-icon{font-size:2rem}.setting-details{display:flex;flex-direction:column;align-items:center;width:100%}.setting-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.setting-value{font-size:1.3rem;font-weight:800;color:#fff}.setting-slider{width:100%;height:6px;background:#fff3;border-radius:3px;outline:none;appearance:none;-webkit-appearance:none;margin-top:8px}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer;transition:transform .2s;box-shadow:0 0 10px #ff2e9380}.setting-slider::-webkit-slider-thumb:hover{transform:scale(1.3);background:#fff}.setting-controls{display:flex;gap:10px;margin-top:8px}.setting-controls button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-weight:800;font-size:1.1rem}.setting-controls button:hover{transform:scale(1.1);background:#fff3;border-color:#fff}.header-actions{display:flex;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap}.invite-button{background:var(--success);background:linear-gradient(135deg,#00e676,#00c853);color:#000;border:none;border-radius:20px;padding:8px 20px;font-size:1rem;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 10px #00e6764d;transition:all .2s cubic-bezier(.34,1.56,.64,1);text-transform:uppercase;letter-spacing:.5px}.invite-button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00e67680;filter:brightness(1.1)}.invite-button:active{transform:translateY(1px) scale(.98)}.room-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;width:100%;margin:30px 0}.info-column h3,.players-column h3{color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.players-grid{display:flex;flex-direction:column;gap:10px}.room-footer{border-top:1px solid var(--glass-border);padding-top:2rem;display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.app{padding:1rem}.title{font-size:2.5rem}.subtitle{font-size:1rem;margin-bottom:2rem}.card,.login-box,.mode-card,.glass-panel{padding:1.5rem}.game-modes{grid-template-columns:1fr;gap:15px}.room-content-grid{grid-template-columns:1fr;gap:20px;margin:15px 0}.waiting-room-container{width:95vw!important;margin:1rem auto}.room-title{font-size:1.8rem}.room-header{padding-bottom:1rem}.room-footer{flex-direction:column-reverse;gap:15px;padding-top:1.5rem}.leave-button,.start-button,.btn-primary{width:100%}.custom-room-actions{flex-direction:column}.mode-button{width:100%}.player-chip{padding:4px 10px;font-size:.9rem}.player-chip .player-avatar{width:32px;height:32px}}.connection-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.connection-spinner{width:60px;height:60px;border:5px solid rgba(255,46,147,.3);border-radius:50%;border-top-color:var(--primary);animation:spin 1s ease-in-out infinite;margin-bottom:2rem}.connection-message{text-align:center;background:#14141ee6;padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--error);box-shadow:0 0 30px #ff3d004d}.connection-message h2{color:var(--error);margin:0 0 .5rem}.manual-reconnect-btn{margin-top:1rem;padding:10px 20px;background:var(--surface);border:1px solid white;color:#fff;border-radius:50px;cursor:pointer;font-weight:700}.manual-reconnect-btn:hover{background:#fff;color:#000}.game-container{padding:20px;display:flex;flex-direction:column;align-items:center;width:100%;min-height:100vh}.game-header{width:100%;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:15px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);box-sizing:border-box}.player-info{display:flex;gap:12px;align-items:center;font-weight:700;font-size:1.1rem}.mode-badge{background:var(--primary-gradient);color:#fff;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:800;text-transform:uppercase;box-shadow:0 4px 10px #ff2e934d}.menu-button{background:#ffffff1a;border:1px solid var(--glass-border);color:#fff;padding:6px 16px;border-radius:20px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px;margin-left:auto}.menu-button:hover{background:#fff;color:#1a1a1a;transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}.timer{color:var(--primary);font-weight:800;font-size:1.2rem;font-family:monospace;background:#0000004d;padding:5px 10px;border-radius:8px;transition:color .3s}.timer-warning{color:var(--error);animation:timerPulse 1s infinite alternate}@keyframes timerPulse{0%{opacity:1;text-shadow:0 0 10px var(--error)}to{opacity:.3;text-shadow:none}}.game-layout{display:flex;flex-direction:row;gap:30px;align-items:flex-start;justify-content:center;width:100%;max-width:1300px;flex-wrap:wrap;margin-top:auto;margin-bottom:auto}.game-main{flex:0 1 auto;display:flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%;max-width:100vw;box-sizing:border-box;padding:0 10px}.game-board{background:var(--surface);border:2px solid var(--glass-border);border-radius:30px;box-shadow:0 0 30px #00e5ff1a;background-color:#0f1525d9;background-image:none;background-blend-mode:normal;position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;padding:20px;gap:2px;-webkit-backdrop-filter:none;backdrop-filter:none}.board-grid{display:flex;flex-direction:column;gap:2px;width:100%;align-items:center}.board-row{display:flex;flex-direction:row;justify-content:center;gap:12px;width:100%}.game-board:after{display:none}.board-cell{--w-len: var(--word-length, 5);--g-size: 12px;--avail: min( calc(100vw - 40px) , 650px);--gaps: calc((var(--w-len) - 1) * var(--g-size));--cell-max: calc((var(--avail) - var(--gaps)) / var(--w-len));width:56px;max-width:var(--cell-max);height:auto;aspect-ratio:1 / 1;background:#00e5ff0d;border:2px solid rgba(0,229,255,.3);box-shadow:0 0 10px #00e5ff1a;display:flex;justify-content:center;align-items:center;font-size:calc(min(52px,var(--cell-max))*.65);font-family:Nunito,sans-serif;font-weight:800;color:#fff;text-shadow:0 0 5px rgba(255,255,255,.6);border-radius:12px;-webkit-user-select:none;user-select:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.board-cell.current{border-color:var(--primary);box-shadow:0 0 15px var(--primary-glow),inset 0 0 10px #00e5ff33;transform:scale(1.05)}.board-cell.filled{background:#00e5ff80!important;border:2px solid var(--primary);box-shadow:0 0 20px var(--primary-glow);color:#fff;text-shadow:0 0 5px rgba(0,0,0,.5);transform:translateY(-2px);z-index:2;animation:float 3s ease-in-out infinite}.board-cell.first-letter{color:#ffffff4d}.board-cell.correct{background:#00e67633!important;border:2px solid #00E676;box-shadow:0 0 20px #00e676;color:#fff;text-shadow:0 0 10px #00E676;animation:popBubble .6s cubic-bezier(.175,.885,.32,1.275) forwards;transform:none!important}.board-cell.misplaced{background:#ffd74033;border:2px solid #FFD740;box-shadow:0 0 15px #ffd740;color:#fff;text-shadow:0 0 10px #FFD740;animation:popBubble .6s cubic-bezier(.175,.885,.32,1.275) forwards;transform:none!important}.board-cell.absent{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);box-shadow:none;color:#fff3;animation:fadeOut .5s ease forwards;transform:scale(.9)}@keyframes popBubble{0%{transform:scale(.8);opacity:.5}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}@keyframes float{0%,to{transform:translateY(-2px)}50%{transform:translateY(-6px)}}@keyframes fadeOut{to{opacity:.5;transform:scale(.8)}}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.keyboard{width:100%;margin-top:10px}.keyboard-row{display:flex;gap:6px;justify-content:center;margin-bottom:8px}.key{min-width:38px;height:50px;border-radius:8px;border:1px solid rgba(0,229,255,.3);background:#0f1525cc;color:var(--primary);font-family:var(--font-main);font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #0000004d}.key:active:not(:disabled){transform:translateY(2px);box-shadow:none}.key:hover:not(:disabled){background:#00e5ff33;box-shadow:0 0 15px var(--primary-glow);color:#fff}.key-special{background:#00e5ff1a;font-size:.9rem;padding:0 16px}.key.key-correct{background:#00e67633;border-color:#00e676;color:#00e676;box-shadow:0 0 10px #00e67666}.key.key-misplaced{background:#ffd74033;border-color:#ffd740;color:#ffd740;box-shadow:0 0 10px #ffd74066}.key.key-absent{opacity:.5;border-color:transparent;background:#00000080;transform:scale(.9)}.opponents-panel{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:20px;padding:20px;width:300px;box-shadow:var(--shadow-lg);max-height:80vh;overflow-y:auto}.opponents-panel h3{background:linear-gradient(90deg,#FFFFFF,var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:1px solid var(--glass-border)}.legend{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:15px;margin-top:10px}.legend-item{display:flex;align-items:center;font-size:.9rem;color:var(--text-muted)}.legend-box{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px}.legend-box.correct{background:var(--success);box-shadow:0 0 10px #00e67666}.legend-box.misplaced{background:var(--warning);box-shadow:0 0 10px #ffc40066}.legend-box.absent{background:#ffffff1a}.game-over{background:#141423f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:30px;box-shadow:0 20px 50px #00000080;padding:3rem;text-align:center;max-width:none!important;width:90vw;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.results-table-container{background:#0003;border-radius:16px;margin:20px 0;width:100%;overflow-x:auto}.results-table{width:100%;border-collapse:collapse}.results-table th{background:#ffffff0d;color:var(--text-muted)}.results-table td{border-bottom:1px solid rgba(255,255,255,.05)}.current-player-row td{background:#00f0ff1a!important;color:var(--secondary);font-weight:700}.game-over .game-over-title{font-size:3.5rem;margin-bottom:1rem;text-shadow:0 4px 15px rgba(0,0,0,.3)}.game-over.victory .game-over-title{color:var(--warning)}.game-over.defeat .game-over-title{color:var(--error)}.elimination-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;border-radius:20px;z-index:10;animation:fadeIn .5s}.elimination-text{font-size:3rem;color:var(--error);font-weight:800;text-transform:uppercase;transform:rotate(-10deg);text-shadow:0 0 20px rgba(255,61,61,.5)}.opponent-card{background:#ffffff0d;border-radius:12px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid transparent}.opponent-card.is-me{border-color:var(--secondary);background:#0006;box-shadow:0 0 15px #00f0ff1a}.opponent-card.is-me .opponent-name{color:var(--secondary);font-weight:800}.opponent-card .rank{font-weight:800;color:var(--text-muted);width:25px}.opponent-card .name{flex:1;font-weight:600}.opponent-card .progress{font-size:.8rem;background:#0000004d;padding:4px 8px;border-radius:8px;color:var(--secondary)}@media(max-width:768px){.game-container{padding:5px;min-height:100vh;height:auto;overflow-y:auto;display:flex;flex-direction:column}.game-header{margin-bottom:15px;padding:10px 15px;border-radius:12px;flex-shrink:0;width:100%;max-width:900px;margin-left:auto;margin-right:auto}.player-info{font-size:.9rem}.mode-badge{font-size:.7rem;padding:4px 8px}.menu-button{padding:4px 10px;font-size:.8rem}.timer{font-size:1rem;padding:4px 8px}.game-layout{flex-direction:column;align-items:center;gap:15px;height:auto;padding-bottom:20px;width:100%}.game-main{width:100%;height:auto;justify-content:flex-start;gap:15px}.game-board{padding:15px;border-radius:20px;flex:0 0 auto;width:100%;display:flex;flex-direction:column;align-items:center;overflow:hidden;max-width:100vw}.board-grid{margin-bottom:15px;gap:6px}.board-cell{--g-size: 6px}.keyboard{margin-top:5px;margin-bottom:10px;width:100%}.keyboard-row{gap:5px;margin-bottom:6px}.key{flex:1;min-width:0;height:48px;font-size:clamp(.8rem,4vw,1.1rem);border-radius:6px;padding:0}.key-special{padding:0 4px;font-size:.75rem;flex:1.5}.opponents-panel{display:none}.legend,.game-info{display:none!important}.legend-item{font-size:.75rem}.legend-box{width:14px;height:14px}}.game-over-actions{display:flex;gap:20px;justify-content:center;margin-top:30px}.play-again-button,.return-lobby-button{padding:14px 28px;border-radius:50px;font-size:1.1rem;font-weight:800;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:none;box-shadow:0 10px 20px #0000004d}.play-again-button{background:var(--primary-gradient);color:#fff;box-shadow:0 10px 30px #ff2e9366}.play-again-button:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 15px 40px #ff2e9399}.return-lobby-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.board-cell.watermark{color:#fff3;text-shadow:none;border-color:#ffffff1a}.confirmation-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:1000}.confirmation-box{background:#14141ef2;border:1px solid var(--glass-border);border-radius:20px;padding:2rem;text-align:center;max-width:400px;width:90%;box-shadow:0 20px 50px #0009}.confirmation-box h3{color:var(--warning);font-size:1.8rem;margin-top:0;margin-bottom:15px}.confirmation-box p{color:#fff;font-size:1.1rem;margin-bottom:5px}.confirmation-subtext{font-size:.9rem!important;color:var(--text-muted)!important;margin-bottom:25px!important}.confirmation-buttons{display:flex;gap:15px;justify-content:center}.cancel-button{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);padding:10px 20px;border-radius:50px;font-weight:700;cursor:pointer;transition:all .2s}.cancel-button:hover{background:#fff;color:#1a1a1a}.confirm-leave-button{background:var(--error);color:#fff;border:none;padding:10px 20px;border-radius:50px;font-weight:700;cursor:pointer;box-shadow:0 4px 15px #ff3d004d;transition:all .2s}.confirm-leave-button:hover{box-shadow:0 6px 20px #ff3d0080;transform:translateY(-2px)}.admin-dashboard{padding:20px;background:#1a1a2e;color:#fff;min-height:100vh;font-family:Inter,sans-serif}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #333;padding-bottom:10px}.admin-tabs{display:flex;gap:10px;margin-bottom:20px}.admin-tabs button{background:#16213e;border:none;padding:10px 20px;color:#888;cursor:pointer;border-radius:5px;transition:all .2s}.admin-tabs button.active{background:#0f3460;color:#fff;font-weight:700}.rooms-list table{width:100%;border-collapse:collapse;background:#16213e;border-radius:8px;overflow:hidden}.rooms-list th,.rooms-list td{padding:12px;text-align:left;border-bottom:1px solid #2a2a4e}.rooms-list th{background:#0f3460;font-weight:600}.danger-btn{background:#e94560;color:#fff;border:none;padding:5px 10px;border-radius:4px;cursor:pointer}.config-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.config-card{background:#16213e;padding:20px;border-radius:8px}.form-group{margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.form-group input{background:#0f3460;border:1px solid #2a2a4e;color:#fff;padding:5px;border-radius:4px;width:80px}.loading{text-align:center;padding:20px;color:#888}.refresh-btn{margin-bottom:10px;background:#0f3460;border:1px solid #333;color:#fff;padding:5px 10px;cursor:pointer;border-radius:4px}
