body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:#1a1a2e;color:#eee;font-family:Arial,sans-serif;min-height:100vh;padding:20px;text-align:center}.title-container{align-items:center;display:flex;gap:20px;justify-content:center;margin-bottom:20px;position:relative}h1{color:#00d4ff;font-size:3rem;margin:0;text-shadow:2px 2px 4px #00000080}.menu-btn-title{background-color:#c0392b;border:2px solid #a93226;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;height:38px;min-width:38px;padding:6px 12px;transition:all .3s ease}.menu-btn-title:hover{background-color:#e74c3c;box-shadow:0 5px 20px #e74c3c99;transform:scale(1.1)}.start-screen{align-items:center;background-color:#0f3460;border:2px solid #00d4ff;border-radius:15px;box-shadow:0 10px 40px #00d4ff4d;display:flex;flex-direction:column;gap:30px;justify-content:center;max-width:600px;padding:40px;width:100%}.start-screen h2{color:#00d4ff;font-size:2rem;margin:0}.rules-summary{background-color:#16213e;border:2px solid #0f3460;border-radius:10px;max-width:500px;padding:15px 25px}.rules-summary h2{font-size:1.3rem;margin-bottom:10px;text-align:center}.rules-summary ul{list-style:none;margin:0;padding:0;text-align:left}.rules-summary li{border-bottom:1px solid #0f3460;color:#eee;font-size:.9rem;line-height:1.3;padding:6px 0}.rules-summary li:last-child{border-bottom:none}.rules-summary li:before{color:#00d4ff;content:"▸ ";font-weight:700;margin-right:8px}.difficulty-buttons{display:flex;gap:30px}.difficulty-btn{background-color:#16213e;border:3px solid #0f3460;border-radius:15px;color:#00d4ff;cursor:pointer;flex:none;font-size:1.5rem;font-weight:700;padding:20px 0;text-align:center;transition:all .3s ease;width:180px}.difficulty-btn:hover{background-color:#1a5490;border-color:#00d4ff;box-shadow:0 10px 30px #00d4ff66;transform:translateY(-5px)}.difficulty-btn.selected{background-color:#1a5490;border-color:gold;box-shadow:0 0 30px #ffd70099}.difficulty-btn.selected,.difficulty-btn.selected:hover{transform:translateY(0)!important}.start-game-btn{background-color:#2ecc71;border:none;border-radius:12px;box-shadow:0 5px 20px #2ecc7166;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;padding:20px 60px;transition:all .3s ease}.start-game-btn:hover{background-color:#27ae60;box-shadow:0 8px 30px #2ecc7199;transform:scale(1.05)}.timer-selector{max-width:600px;text-align:center;width:100%}.timer-selector h2{margin-bottom:15px}.settings-section{margin-bottom:35px}.color-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:20px}.menu-buttons.color-selection{display:flex;flex-direction:row!important;flex-wrap:wrap;gap:12px;margin-left:auto;margin-right:auto;max-width:500px;padding:0 10px}.color-btn{border:3px solid #0000;border-radius:8px;color:#fff;cursor:pointer;flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;font-size:.95rem;font-weight:700;opacity:.7;padding:12px 20px;position:relative;text-align:center;transition:all .3s ease}.color-btn:hover{box-shadow:0 10px 30px #0006;opacity:.9;transform:translateY(-5px)}.color-btn.selected{border:5px solid #fff!important;box-shadow:0 0 20px #fffc,0 0 40px #ffd70099;opacity:1!important}.timer-slider-container{align-items:center;display:flex;flex-direction:column;gap:10px}.timer-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#0f3460 0,#1a5490 50%,#00d4ff);border-radius:5px;height:8px;max-width:400px;outline:none;width:100%}.timer-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#00d4ff;border:3px solid #16213e;border-radius:50%;box-shadow:0 0 10px #00d4ff99;cursor:pointer;height:24px;-webkit-transition:all .3s ease;transition:all .3s ease;width:24px}.timer-slider::-webkit-slider-thumb:hover{background:gold;border-color:gold;box-shadow:0 0 20px #ffd700cc;transform:scale(1.2)}.timer-slider::-moz-range-thumb{background:#00d4ff;border:3px solid #16213e;border-radius:50%;box-shadow:0 0 10px #00d4ff99;cursor:pointer;height:24px;-moz-transition:all .3s ease;transition:all .3s ease;width:24px}.timer-slider::-moz-range-thumb:hover{background:gold;border-color:gold;box-shadow:0 0 20px #ffd700cc;transform:scale(1.2)}.timer-value{color:gold;font-size:1.5rem;font-weight:700;min-width:80px;text-shadow:2px 2px 4px #00000080}.game-container{align-items:flex-start;display:flex;gap:20px;justify-content:center;margin:0 auto;max-width:1800px}.side-panel{flex:0 0 280px;gap:20px}.player-info,.side-panel{display:flex;flex-direction:column}.player-info{background-color:#16213e;border:3px solid #0000;border-radius:10px;box-sizing:border-box;min-height:145px;padding:12px 12px 40px;position:relative;transition:all .3s ease}.player-info.active{background-color:#1a5490;border-color:#00d4ff;box-shadow:inset 0 0 20px #00d4ff4d}.player-info h3{color:#00d4ff;font-size:1.1rem;margin:0 0 8px}.score-timer-row{align-items:center;display:flex;gap:15px;justify-content:space-between;margin-bottom:8px}.score-section{align-items:flex-start;display:flex;flex-direction:column}.score-label{color:#00d4ff;font-size:.85rem;margin-bottom:2px}.score-value{color:gold;font-size:1.5rem;font-weight:700;text-shadow:2px 2px 4px #00000080}.timer-section{align-items:flex-end;display:flex;flex:1 1;flex-direction:column}.timer-text{color:gold;font-size:.9rem;font-weight:700;margin-bottom:4px}.timer-bar{background-color:#0f3460;border:2px solid #1a5490;border-radius:8px;height:16px;overflow:hidden;width:150px}.timer-fill{background:linear-gradient(90deg,#2ecc71,#27ae60 50%,#f39c12 80%,#e74c3c);border-radius:8px;box-shadow:0 0 10px #2ecc7199;height:100%;transition:width 1s linear}.no-moves{background-color:#ff6b6b33;border-radius:5px;bottom:12px;color:#ff6b6b;font-size:.85rem;font-weight:700;left:12px;padding:6px 8px;position:absolute;right:12px}.game-over{background-color:#16213efa;border:3px solid gold;border-radius:10px;box-shadow:0 0 30px #ffd70080,0 0 100px #000c;margin-top:40px;padding:30px;text-align:center}.game-over h2{color:gold;margin-bottom:15px}.game-over p{font-size:1.3rem;margin-bottom:20px}.final-scores{margin-bottom:25px}.new-game-btn{background-color:#00d4ff;border:none;border-radius:8px;color:#1a1a2e;cursor:pointer;font-size:1.2rem;font-weight:700;padding:15px 30px;transition:all .3s ease}.new-game-btn:hover{background-color:#00b8e6;box-shadow:0 0 20px #00d4ff99;transform:scale(1.05)}.board-container{align-items:center;display:flex;flex:0 0 auto;flex-direction:column;gap:15px;justify-content:center;margin-top:55px;position:relative}.game-over-placeholder{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:100}.game-over-placeholder>*{pointer-events:auto}.mobile-view .game-over-placeholder{margin:5px 0;min-height:0}.board{grid-gap:2px;background-color:#0f3460;border-radius:10px;box-shadow:0 0 30px #00000080;flex-shrink:0;grid-template-rows:repeat(14,1fr);height:540px;padding:10px;width:540px}.board,.board-row{display:grid;gap:2px}.board-row{grid-gap:2px;grid-template-columns:repeat(14,1fr)}.cell{background-color:#16213e;border:1px solid #0f3460;box-sizing:border-box;cursor:pointer;height:35px;position:relative;transition:all .2s ease;width:35px}.cell:hover{border-color:#00d4ff}@keyframes placeAnimation{0%{opacity:.7;transform:scale(.9)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.cell.player1{background-color:#4a90e2;background-image:linear-gradient(135deg,#ffffff4d,#0000 50%,#0003);border-color:#357abd;box-shadow:inset 2px 2px 3px #fff9,inset -2px -2px 3px #0006,0 2px 4px #0000004d}.cell.player1.placed{animation:placeAnimation .3s ease-out}.cell.player2{background-color:#e74c3c;background-image:linear-gradient(135deg,#ffffff4d,#0000 50%,#0003);border-color:#c0392b;box-shadow:inset 2px 2px 3px #fff9,inset -2px -2px 3px #0006,0 2px 4px #0000004d}.cell.player2.placed{animation:placeAnimation .3s ease-out}.cell.legal{background-color:#00d4ff66;border:2px solid #00d4ff;box-shadow:inset 0 0 8px #00d4ff99}.cell.preview{background-color:#2ecc71!important;border:3px solid #27ae60!important;box-shadow:inset 0 0 12px #2ecc71cc!important}.cell.start-corner-p1:not(.player1):not(.player2):not(.preview){border:2px solid #4a90e280;border:2px solid var(--player1-border,#4a90e280);position:relative}.cell.start-corner-p1:not(.player1):not(.player2):not(.preview):after{color:#4a90e2;color:var(--player1-color,#4a90e2);content:"★";font-size:20px;left:50%;opacity:.6;position:absolute;top:50%;transform:translate(-50%,-50%)}.cell.start-corner-p2:not(.player1):not(.player2):not(.preview){border:2px solid #e74c3c80;border:2px solid var(--player2-border,#e74c3c80);position:relative}.cell.start-corner-p2:not(.player1):not(.player2):not(.preview):after{color:#e74c3c;color:var(--player2-color,#e74c3c);content:"★";font-size:20px;left:50%;opacity:.6;position:absolute;top:50%;transform:translate(-50%,-50%)}.controls{align-items:flex-start;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:-10px;margin-top:-10px;min-height:80px}.controls button{background-color:#0f3460;border:2px solid #00d4ff;border-radius:8px;color:#00d4ff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 25px;transition:all .3s ease}.controls button:hover:not(:disabled){background-color:#1a5490;box-shadow:0 5px 15px #00d4ff66;transform:translateY(-2px)}.controls button:disabled{cursor:not-allowed;opacity:.4}.controls button.confirm-btn{background-color:#2ecc71;border-color:#27ae60;color:#fff}.controls button.confirm-btn:hover{background-color:#27ae60;box-shadow:0 5px 15px #2ecc7166}.controls button.undo-btn{background-color:#e67e22;border-color:#d35400;color:#fff}.controls button.undo-btn:hover{background-color:#d35400;box-shadow:0 5px 15px #e67e2266}.controls button.pass-btn{background-color:#95a5a6;border-color:#7f8c8d;color:#fff;margin-left:30px}.controls button.pass-btn:hover{background-color:#7f8c8d;box-shadow:0 5px 15px #95a5a666}.controls button.menu-btn{background-color:#c0392b;border-color:#a93226;color:#fff;font-size:1.5rem;min-width:50px;padding:8px 20px}.controls button.menu-btn:hover{background-color:#e74c3c;box-shadow:0 5px 15px #e74c3c99;transform:scale(1.1)}.pieces-container{background-color:#16213e;border-radius:10px;padding:15px}.pieces-container h3{color:#00d4ff;margin:0 0 15px}.pieces-grid{grid-gap:8px;background-color:#0f3460;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:800px;overflow-y:auto;padding:10px;touch-action:pan-y}.pieces-grid::-webkit-scrollbar{width:8px}.pieces-grid::-webkit-scrollbar-track{background:#16213e;border-radius:10px}.pieces-grid::-webkit-scrollbar-thumb{background:#00d4ff;border-radius:10px}.piece{align-items:center;background-color:#16213e;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;height:62px;justify-content:center;min-height:50px;min-width:50px;padding:6px;position:relative;touch-action:none;transition:all .3s ease;width:62px}.piece:hover:not(.used){border-color:#00d4ff;box-shadow:0 0 15px #00d4ff80}.piece.selected{background-color:#1a5490;border-color:gold;box-shadow:0 0 20px #ffd70099}.piece.used{cursor:not-allowed;opacity:.3}.piece.pending .piece-cell.filled{background-image:none!important;border:1px solid #00d4ff4d!important;box-shadow:none!important;opacity:.3}.opponent-pieces .piece{cursor:default;pointer-events:none}.opponent-pieces .piece:hover{border-color:#0000;box-shadow:none;transform:none}.piece-grid{display:inline-block;font-size:0;line-height:0}.piece-cell{border:.5px solid #000000e6;border-radius:1px;box-sizing:border-box;display:inline-block;height:10px;margin:0;padding:0;width:10px}.piece-cell.filled{background-clip:padding-box;background-image:linear-gradient(135deg,#fff3,#0000 50%,#00000026);box-shadow:inset 1px 1px 1px #ffffff80,inset -1px -1px 1px #0000004d,0 1px 1px #0003}.piece-cell.player1-piece{background-color:#4a90e2;border-color:#357abd}.piece-cell.player2-piece{background-color:#e74c3c;border-color:#c0392b}.piece-cell.empty{background-color:initial}@media (max-width:1600px){.game-container{align-items:center;flex-direction:column}.side-panel{flex:1 1;max-width:600px;width:100%}.pieces-container{width:100%}.pieces-grid{grid-template-columns:repeat(7,1fr);max-height:250px}}.mobile-view{padding:5px}.mobile-view h1{font-size:2.5rem;margin-bottom:5px}.mobile-view .modal-content{max-width:300px;padding:20px}.mobile-view .modal-content h2{font-size:1.3rem;margin:0 0 12px}.mobile-view .modal-content p{font-size:.9rem;margin-bottom:12px}.mobile-view .menu-content{max-width:320px;padding:18px 10px;width:85%}.mobile-view .menu-content h2{font-size:1.5rem;margin-bottom:20px;margin-top:0}.mobile-view .game-code-setup{justify-content:flex-start!important;max-width:320px!important;min-height:auto!important;min-width:auto!important;padding:18px 10px!important;width:85%!important}.mobile-view .game-code-setup h2{font-size:1.5rem!important;margin-bottom:15px!important;margin-top:0!important}.mobile-view .menu-content .menu-btn.primary{font-size:1rem!important;height:auto!important;line-height:1.1!important;max-width:160px!important;min-width:100px!important;padding:8px 12px!important;white-space:normal!important}.mobile-view .menu-buttons.color-selection{gap:6px;margin-left:auto;margin-right:auto;max-width:100%;padding:0}.mobile-view .color-btn{align-items:center;border-radius:10px;border-width:2px;display:flex;flex-basis:calc(50% - 3px);flex-grow:0;flex-shrink:0;font-size:1rem;height:44px;justify-content:center;max-width:calc(50% - 3px);min-width:0;padding:4px 2px}.mobile-view .color-btn.selected{border-width:3px!important}.mobile-view .menu-buttons,.mobile-view .menu-content h2,.mobile-view .settings-section,.mobile-view .settings-section h3{margin-bottom:15px!important}.mobile-view .player-name-input{font-size:.9rem!important;max-width:200px!important;padding:8px!important}.mobile-view .game-info{margin-top:15px!important;padding:10px!important}.mobile-view .game-info p,.mobile-view .game-info ul{margin:5px 0!important}.mobile-view .game-info li{margin:4px 0!important}.mobile-view .menu-container{justify-content:flex-start!important;min-height:auto!important;padding-top:10px!important}.mobile-view .cancel-btn{border-radius:10px!important;font-size:1rem!important;max-width:160px!important;min-width:100px!important;padding:8px 12px!important}.mobile-view .difficulty-buttons{flex-direction:column!important;gap:15px!important;width:100%!important}.mobile-view .difficulty-btn{border-radius:10px!important;font-size:1rem!important;max-width:100%!important;padding:8px 12px!important;width:100%!important}.mobile-view .start-game-btn,.mobile-view .start-screen .menu-btn.secondary,.mobile-view .start-screen button.menu-btn.secondary{border-radius:10px!important;font-size:1rem!important;height:auto!important;line-height:1.2!important;padding:10px 20px!important}.mobile-view .start-screen .menu-btn.secondary,.mobile-view .start-screen button.menu-btn.secondary{box-sizing:border-box!important;display:inline-block!important;flex:none!important;max-width:160px!important;min-height:auto!important;min-width:100px!important;vertical-align:middle!important;width:auto!important}.mobile-view .start-screen h2{font-size:1.5rem!important;margin-bottom:15px!important;margin-top:0!important}.mobile-view .timer-selector{max-width:100%!important}.mobile-view .timer-slider{height:6px!important;max-width:250px!important}.mobile-view .timer-value{font-size:1rem!important}.mobile-view .timer-slider::-webkit-slider-thumb{height:16px!important;width:16px!important}.mobile-view .timer-slider::-moz-range-thumb{height:16px!important;width:16px!important}.mobile-view .menu-btn-title{align-items:center;display:flex;font-size:1.2rem;height:24px;justify-content:center;line-height:1;min-width:auto;padding:3px;width:24px}.mobile-view .board{gap:.25vw;height:auto;margin-top:1.27vw;padding:1.27vw;width:auto}.mobile-view .board-row{gap:.25vw}.mobile-view .cell{border-width:.5px;height:5.85vw;width:5.85vw}.mobile-view .timer-bar{height:12px;width:80px}.mobile-view .timer-text{font-size:.75rem;margin-bottom:2px}.mobile-view .score-value{font-size:1.2rem}.mobile-view .score-label{font-size:.75rem}.mobile-view .controls{flex-wrap:nowrap;gap:1.27vw;justify-content:center;margin:1.27vw 0 0}.mobile-view .controls button{align-items:center;display:flex;flex:1 1;font-size:.75rem;justify-content:center;min-width:15.27vw;padding:2.04vw 1.53vw;text-align:center}.mobile-player-info-container{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:1.27vw;justify-content:center;margin-bottom:1.27vw;margin-top:-5.09vw;max-width:94.91vw;padding:0 2.54vw;width:100%}.mobile-player-info-container .player-info{flex:1 1;max-width:100%;min-height:auto;min-width:50.89vw;padding:2.04vw;transition:all .3s ease}.mobile-player-info-container .player-info.selected-tab{border-color:gold;box-shadow:0 0 20px #ffd70099}.mobile-player-info-container .player-info:hover{box-shadow:0 5px 15px #00d4ff66}.mobile-player-card h3{font-size:.95rem;margin:0 0 5px}.mobile-info-row{align-items:center;display:flex;flex-wrap:nowrap;gap:2.04vw;justify-content:flex-start}.mobile-player-name{flex:0 0 auto;font-size:.85rem;font-weight:700;white-space:nowrap}.mobile-score-timer-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.mobile-score-text{color:gold;min-width:5.09vw}.mobile-score-text,.mobile-timer-text{flex:0 0 auto;font-size:.8rem;font-weight:700;white-space:nowrap}.mobile-timer-text{color:#00d4ff;min-width:8.91vw}.mobile-player-card .no-moves{font-size:.7rem;margin-top:3px;padding:3px 5px}.mobile-no-moves{margin:1.5vw auto 2.54vw;position:static!important;text-align:center;width:90%}.no-moves-inline{color:#ff6b6b;font-size:.75rem;font-weight:700;white-space:nowrap}.mobile-game-container{align-items:center;display:flex;flex-direction:column;gap:0}.mobile-tabs{display:flex;gap:10px;justify-content:center;max-width:600px;width:100%}.tab-btn{background-color:#0f3460;border:2px solid #00d4ff;padding:15px 20px}.tab-btn:hover{box-shadow:0 5px 15px #00d4ff66;transform:translateY(-2px)}.tab-btn.active{background-color:#1a5490;border-color:gold;box-shadow:0 0 20px #ffd70099}.mobile-pieces-container{background-color:#16213e;border-radius:2.54vw;margin-bottom:0;margin-top:-8.91vw;max-width:152.67vw;padding:2.54vw 2.54vw 0;width:100%}.mobile-pieces-container .pieces-grid{gap:.51vw;grid-template-columns:repeat(7,13.23vw);justify-content:center;max-height:76.34vw;overflow-y:auto;padding:.51vw .51vw 0}.mobile-view .piece{box-sizing:border-box;height:13.23vw;min-height:7.63vw;min-width:7.63vw;overflow:visible;padding:.51vw;width:13.23vw}.mobile-view .piece-cell{height:2.16vw;width:2.16vw}.floating-piece{height:0!important;margin:0!important;overflow:visible;padding:0!important;pointer-events:none;width:0!important}@media (max-width:768px){h1{font-size:2rem}.cell{height:25px;width:25px}.pieces-grid{grid-template-columns:repeat(5,1fr)}.mobile-pieces-container .pieces-grid{grid-template-columns:repeat(7,13.23vw)!important}.floating-piece{height:0;margin:0!important;overflow:visible;padding:0;pointer-events:none;width:0}.controls button{font-size:.9rem;padding:10px 20px}.side-panel{flex:1 1;max-width:100%}.mobile-player-info-container .player-info{min-width:150px}.mobile-pieces-container .pieces-grid{grid-template-columns:repeat(4,1fr)}.game-code-setup{max-width:280px!important;padding:15px 10px!important;width:85%!important}.game-code-setup h2{font-size:1.5rem;margin-bottom:15px;margin-top:0}.game-code-setup p{font-size:.85rem;margin-bottom:12px;max-width:240px}.code-input-container{margin:12px 0}.code-input-container label{font-size:.9rem}.game-code-input{font-size:.9rem;max-width:200px;padding:8px}.setup-buttons{flex-direction:column;gap:10px;margin-top:12px;max-width:200px}.setup-buttons button{font-size:.9rem;max-width:180px;padding:8px 12px;width:100%}.start-screen{gap:20px;max-width:320px;min-height:auto;padding:18px 10px;width:85%}.start-screen h2{font-size:1.5rem;margin:8px 0}.difficulty-buttons{gap:10px}.timer-selector h2{font-size:1.5rem}.timer-value{font-size:1rem}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalFadeIn .3s ease-out;background-color:#16213e;border:3px solid #00d4ff;border-radius:15px;box-shadow:0 0 40px #00d4ff99;max-width:400px;padding:40px;width:90%}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content h2{color:#00d4ff;font-size:2rem;margin:0 0 20px}.modal-content p{color:#eee;font-size:1.2rem;margin:0 0 30px}.modal-buttons{display:flex;gap:15px;justify-content:center}.modal-btn{border:2px solid;border-radius:10px;cursor:pointer;font-size:1.1rem;font-weight:700;min-width:120px;padding:15px 30px;transition:all .3s ease}.confirm-btn{background-color:#e74c3c;border-color:#c0392b;color:#fff}.confirm-btn:hover{background-color:#c0392b;box-shadow:0 5px 20px #e74c3c99;transform:translateY(-2px)}.cancel-btn{background-color:#0f3460;border-color:#00d4ff;border-radius:10px;color:#00d4ff;flex:none;font-size:1rem;min-width:auto;padding:10px 20px}.cancel-btn:hover{background-color:#1a5490;box-shadow:0 5px 20px #00d4ff99;transform:translateY(-2px)}.menu-container{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;min-height:60vh;padding:40px 20px 20px}.menu-content{background-color:#0f3460;border:2px solid #00d4ff;border-radius:15px;box-shadow:0 10px 40px #00d4ff4d;max-width:600px;padding:40px;width:100%}.menu-content h2{color:#00d4ff;font-size:2rem;margin-bottom:30px;margin-top:0}.menu-buttons{display:flex;flex-direction:row;gap:15px;justify-content:center;margin-left:auto;margin-right:auto;margin-top:20px;max-width:500px}.menu-btn{background-color:#1a5490;border:2px solid #00d4ff;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-size:1.2rem;font-weight:700;min-width:200px;padding:15px 30px;transition:all .3s ease}.menu-btn:hover{box-shadow:0 5px 20px #00d4ff99;transform:translateY(-2px)}.menu-btn.primary,.menu-btn:hover{background-color:#00d4ff;color:#1a1a2e}.menu-btn.primary:hover{background-color:#0fa;border-color:#0fa;box-shadow:0 5px 20px #0fa9}.menu-btn.secondary{background-color:#0f3460;border-color:#00d4ff;color:#00d4ff;display:inline-block;flex:none;font-size:1rem;min-width:auto;padding:10px 20px;width:auto}.menu-btn.secondary:hover{background-color:#1a5490}.menu-btn.disabled{background-color:#2a2a3e;border-color:#555;color:#888;cursor:not-allowed;opacity:.6}.menu-btn.disabled:hover{background-color:#2a2a3e;box-shadow:none;transform:none}.user-info-section{background-color:#16213e;border:2px solid #00d4ff;border-radius:12px;margin-bottom:20px;padding:15px;text-align:center}.welcome-text{color:#00d4ff;font-size:1.1rem;font-weight:700;margin-bottom:10px}.auth-section{background-color:#16213e;border:2px solid #00d4ff;border-radius:12px;margin-bottom:20px;padding:15px;text-align:center}.auth-prompt{color:#00d4ff;font-size:.95rem;margin-bottom:12px}.auth-btn{margin:5px auto;min-width:120px}.ranked-info{background-color:#ffd7001a;border:2px solid gold;border-radius:8px;color:gold;font-size:1.05rem;font-weight:700;padding:12px}.tab-navigation{display:flex;gap:10px;justify-content:center;margin:20px auto;max-width:600px;padding:0 20px}.tab-btn{background-color:#16213e;border:2px solid #0f3460;border-radius:8px;color:#00d4ff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:12px 20px;transition:all .3s ease}.tab-btn:hover{background-color:#1a5490;border-color:#00d4ff}.tab-btn.active{background-color:#00d4ff;border-color:#00d4ff;color:#0a1929}.profile-page{margin:0 auto;max-width:800px;width:100%}.profile-page h2{color:#00d4ff;margin-bottom:30px;text-align:center}.profile-section{background-color:#16213e;border:2px solid #00d4ff;border-radius:12px;box-sizing:border-box;margin-bottom:20px;overflow:hidden;padding:20px}.profile-section h3{color:#00d4ff;font-size:1.2rem;margin-bottom:15px}.username-display{align-items:center;display:flex;gap:15px;justify-content:space-between}.username-text{color:#0fa;font-size:1.3rem;font-weight:700;margin:0}.username-edit{display:flex;flex-direction:column;gap:10px}.username-edit,.username-input{box-sizing:border-box;width:100%}.username-input{background-color:#1a1a2e;border:2px solid #00d4ff;border-radius:8px;color:#00d4ff;font-size:1rem;max-width:100%;padding:12px}.username-input:focus{border-color:#0fa;box-shadow:0 0 10px #00ffaa4d;outline:none}.edit-buttons{display:flex;gap:10px}.menu-btn.small{font-size:.9rem;min-width:80px;padding:8px 16px}.menu-btn.small:disabled{background-color:#2a2a3e;border-color:#555;color:#888;cursor:not-allowed;opacity:.6}.menu-btn.small:disabled:hover{background-color:#2a2a3e;transform:none}.username-note{color:#888;font-size:.85rem;font-style:italic;margin-top:10px}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr)}.stat-item{background-color:#0f3460;border-radius:8px;padding:15px;text-align:center}.stat-label{color:#00d4ff;font-size:.9rem;margin-bottom:5px}.stat-value{color:#0fa;font-size:2rem;font-weight:700;margin:0}.account-info{color:#00d4ff;font-size:1rem}.account-info strong{color:#0fa}.leaderboard-page{margin:0 auto;max-width:800px;width:100%}.leaderboard-page h2{color:#00d4ff;margin-bottom:30px;text-align:center}.leaderboard-content{background-color:#16213e;border:2px solid #00d4ff;border-radius:12px;padding:40px 20px;text-align:center}.placeholder-text{color:#00d4ff;font-size:1.5rem;font-weight:700;margin-bottom:10px}.placeholder-subtext{color:#888;font-size:1rem}.ws-url-input{background-color:#1a1a2e;border:2px solid #00d4ff;border-radius:8px;color:#00d4ff;font-family:monospace;font-size:1rem;margin:15px 0;padding:12px;width:100%}.ws-url-input:focus{border-color:#0fa;box-shadow:0 0 10px #00d4ff80;outline:none}.ws-url-input::placeholder{color:#5a7fb5}.help-text{background-color:#1a1a2e;border-radius:8px;margin-top:30px;padding:20px;text-align:left}.help-text p{color:#00d4ff;margin:10px 0}.help-text ol{color:#eee;margin:10px 0;padding-left:25px}.help-text li{margin:8px 0}.game-info{background-color:#1a1a2e;border-radius:8px;margin-top:30px;padding:20px;text-align:left}.game-info p{color:#00d4ff;margin:10px 0}.game-info ul{color:#eee;margin:10px 0;padding-left:25px}.game-info li{margin:8px 0}.discord-section{margin-top:30px;padding:20px;text-align:center}.discord-link{align-items:center;background-color:#5865f2;border:2px solid #4752c4;border-radius:8px;color:#fff;display:inline-flex;font-size:1rem;font-weight:600;gap:10px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.discord-link:hover{background-color:#4752c4;box-shadow:0 5px 20px #5865f266;transform:translateY(-2px)}.discord-icon{flex-shrink:0;height:24px;width:24px}.multiplayer-board{grid-template-rows:repeat(14,1fr);height:540px;width:540px}.multiplayer-board .board-row{display:grid;grid-template-columns:repeat(14,1fr)}.multiplayer-board .cell{height:35px;width:35px}.matchmaking-container{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:50vh}.matchmaking-status{background-color:#0f3460;border:2px solid #00d4ff;border-radius:15px;min-width:400px;padding:40px;text-align:center}.matchmaking-status h2{color:#00d4ff;margin-bottom:20px}.matchmaking-status p{color:#eee;font-size:1.1rem;margin:15px 0}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #0f3460;border-radius:50%;border-top-color:#00d4ff;height:50px;margin:20px auto;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.game-code-setup{background-color:#0f3460;border:2px solid #00d4ff;border-radius:15px;box-shadow:0 10px 40px #00d4ff4d;display:flex;flex-direction:column;justify-content:center;max-width:600px;padding:40px;text-align:center;width:100%}.game-code-setup h2{color:#00d4ff;font-size:2rem;margin-bottom:30px;margin-top:0}.game-code-setup p{color:#eee;font-size:1rem;margin-bottom:25px;margin-left:auto;margin-right:auto;max-width:500px}.code-input-container{margin:25px 0}.code-input-container label{color:#00d4ff;display:block;font-size:1.1rem;font-weight:700;margin-bottom:10px}.game-code-input{background-color:#16213e;border:2px solid #00d4ff;border-radius:8px;color:#fff;font-size:1rem;max-width:200px;padding:10px;text-align:center;transition:all .3s ease;width:100%}.game-code-input:focus{border-color:gold;box-shadow:0 0 15px #ffd70066;outline:none}.game-code-input::placeholder{color:#888}.player-name-input{background-color:#16213e;border:2px solid #00d4ff;border-radius:8px;color:#fff;display:block;font-size:1rem;margin:0 auto;max-width:300px;padding:10px;text-align:center;transition:all .3s ease;width:100%}.player-name-input:focus{border-color:gold;box-shadow:0 0 15px #ffd70066;outline:none}.player-name-input::placeholder{color:#888}.setup-buttons{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;margin-left:auto;margin-right:auto;margin-top:25px;max-width:250px}.setup-buttons button{max-width:220px;width:100%}.game-code-display{background-color:#00d4ff1a;border:1px solid #00d4ff;border-radius:8px;padding:10px 20px}.game-code-display strong{color:gold;font-size:1.2rem}.turn-timer{align-items:center;background-color:#00d4ff1a;border:2px solid #00d4ff;border-radius:8px;display:flex;font-size:1.2rem;font-weight:700;gap:10px;justify-content:center;margin-top:15px;padding:12px}.turn-timer.warning{animation:pulse 1s ease-in-out infinite;background-color:#e74c3c33;border-color:#e74c3c}.timer-label{color:#00d4ff}.timer-value{color:#fff;font-family:Courier New,monospace;font-size:1.4rem}.turn-timer.warning .timer-label,.turn-timer.warning .timer-value{color:#e74c3c}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.error-banner{align-items:center;background-color:#e74c3c;border-radius:8px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.error-banner button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;padding:0 10px}.error-banner button:hover{color:#000}
/*# sourceMappingURL=main.fcff17c7.css.map*/