body{background-color:#1a1a1a;color:#fff;min-height:100vh;position:relative}*{-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;box-sizing:border-box;image-rendering:pixelated;image-rendering:crisp-edges;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#4a4a5e33;border-radius:10px}::-webkit-scrollbar-thumb{background:#6b8eff;border:2px solid #4a4a5e33;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#5170cc}*{scrollbar-color:#6b8eff #4a4a5e33;scrollbar-width:thin}body{background-color:#1e1e2e;margin:0;padding:0}.app-container{align-items:center;background:linear-gradient(135deg,#1e1e2e,#2d2d44);display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh;padding:20px}:root{--square-size:70px;--board-size:calc(var(--square-size)*8 + var(--square-size)*0.3)}@media (max-width:768px){:root{--square-size:calc(min(45px, 11vw));--board-size:calc(var(--square-size)*8 + var(--square-size)*0.3)}.app-container{min-height:100vh}.app-container,.game-container{box-sizing:border-box;padding:10px;width:100%}.game-container{align-items:center;display:flex;flex-direction:column}.chess-board{height:581px;height:var(--board-size);margin:0 auto;width:581px;width:var(--board-size)}.square{font-size:49px;font-size:calc(var(--square-size)*.7);height:70px;height:var(--square-size);width:70px;width:var(--square-size)}.chess-piece-img{height:56px;height:calc(var(--square-size)*.8);padding:7px;padding:calc(var(--square-size)*.1);width:56px;width:calc(var(--square-size)*.8)}.player-status{background:#0003!important;justify-content:space-between!important;margin:0 auto 10px!important;padding:24.5px!important;padding:calc(var(--square-size)*.35)!important;transform:none!important;width:581px!important;width:var(--board-size)!important}.player-card,.player-status{align-items:center!important;border-radius:21px!important;border-radius:calc(var(--square-size)*.3)!important;display:flex!important;gap:7px!important;gap:calc(var(--square-size)*.1)!important}.player-card{background:#ffffff0d!important;flex-direction:column!important;height:"100%"!important;min-width:0!important;min-width:auto!important;padding:5.6px!important;padding:calc(var(--square-size)*.08)!important;width:203.35px!important;width:calc(var(--board-size)*.35)!important}.player-piece{font-size:28px!important;font-size:calc(var(--square-size)*.4)!important;margin-bottom:3.5px!important;margin-bottom:calc(var(--square-size)*.05)!important}.player-info{align-items:center!important;display:flex!important;flex-direction:column!important;gap:3.5px!important;gap:calc(var(--square-size)*.05)!important}.player-name{font-size:21px!important;font-size:calc(var(--square-size)*.3)!important;text-align:center!important}.player-color{display:none!important}.turn-indicator{font-size:10.5px;font-size:calc(var(--square-size)*.15);margin-top:1.4px;margin-top:calc(var(--square-size)*.02)}.vs-indicator{align-items:center!important;display:flex!important;flex-direction:column!important;font-size:14px!important;font-size:calc(var(--square-size)*.2)!important;gap:7px!important;gap:calc(var(--square-size)*.1)!important;padding:7px!important;padding:calc(var(--square-size)*.1)!important;width:116.2px!important;width:calc(var(--board-size)*.2)!important}.leave-game-btn{background:#f443!important;border:1px solid #ff44444d!important;border-radius:3.5px!important;border-radius:calc(var(--square-size)*.05)!important;font-size:10.5px!important;font-size:calc(var(--square-size)*.15)!important;margin-top:3.5px!important;margin-top:calc(var(--square-size)*.05)!important;padding:7px 14px!important;padding:calc(var(--square-size)*.1) calc(var(--square-size)*.2)!important}.captured-pieces-container{display:flex;justify-content:center;margin:0 auto;width:581px;width:var(--board-size)}.captured-pieces{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;justify-content:center;min-height:0;min-height:auto;width:auto}.captured-piece{height:28px;height:calc(var(--square-size)*.4);width:28px;width:calc(var(--square-size)*.4)}.captured-piece img{height:100%;padding:2px;width:100%}.captured-pieces-container,.score-display{display:none}.captured-pieces-container,.points-display,.score,.score-display{display:none!important}.game-layout{align-items:center;display:flex;flex-direction:column;gap:10px;margin-bottom:0;padding-bottom:10px;width:100%}.player-status{margin:0 auto 5px;padding:5px;transform:scale(.9);width:581px;width:var(--board-size)}.game-container{gap:0;padding:5px}.room-item .game-status,.room-item .game-timer,.spectator-count{display:none!important}.room-item{padding:.8rem!important}.room-header{margin-bottom:.3rem!important}.room-actions{margin-top:.3rem!important}.hide-on-mobile,.room-item .elapsed-time,.room-item .game-status .elapsed-time,.room-list .game-status,.room-list .game-timer{display:none!important}.player-count{align-items:center;display:flex;justify-content:center}}.chess-board{background-color:#4a4a5e;border:7px solid #4a4a5e;border:calc(var(--square-size)*.1) solid #4a4a5e;border-radius:7px;border-radius:calc(var(--square-size)*.1);box-shadow:0 0 30px #0006;box-sizing:border-box;flex-direction:column;flex-shrink:0;height:581px;height:var(--board-size);isolation:isolate;justify-content:flex-start;overflow:hidden;padding:0;position:relative;width:581px;width:var(--board-size);z-index:1}.board-row,.chess-board{display:flex;font-size:0}.board-row{flex:1 1;line-height:0;min-height:0}.square{align-items:center;cursor:pointer;display:flex;flex-grow:1;flex-shrink:0;font-size:48px;height:100%;justify-content:center;margin:0;overflow:visible;padding:0;position:relative;transition:all .2s;width:12.5%;z-index:1}.square:hover{opacity:.8}.square:before{background:#0000;bottom:0;content:"";left:0;position:absolute;right:0;top:0;transition:background-color .2s}.square:hover:before{background-color:#ffffff1a}.light{background-color:#d8c4aa}.dark{background-color:#9c7b5e}.selected{background-color:#6b8eff80!important}.selected:before{background-color:#ffffff1a}.game-info{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff12;border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 4px 20px #0000004d;color:#fff;display:flex;font-size:24px;font-weight:500;gap:15px;justify-content:center;margin-top:20px;min-width:300px;padding:20px 30px}.game-info .player-indicator{border:2px solid #ffffff4d;border-radius:50%;height:24px;width:24px}.game-info .player-indicator.white{background-color:#fff}.game-info .player-indicator.black{background-color:#000}.game-info.check{animation:infoCheckPulse 2s infinite;background-color:#ff3b3b26}.game-info.checkmate{animation:infoCelebration .5s ease-out;background-color:#ffd70026}@keyframes infoCheckPulse{0%{border-color:#ff3b3b4d}50%{border-color:#ff3b3bcc}to{border-color:#ff3b3b4d}}@keyframes infoCelebration{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1)}}.game-layout{align-items:flex-start;display:flex;gap:0;justify-content:center;margin-bottom:20px;max-width:1000px;width:100%}.captured-pieces{border-radius:8px;display:flex;flex-direction:column;gap:2px;min-height:300px;padding:5px;width:120px}.captured-pieces.white{color:#000;text-shadow:0 0 1px #fff}.captured-pieces.black{color:#fff;text-shadow:0 0 1px #000}.captured-pieces-container:first-child .captured-pieces{align-items:flex-end;padding-right:2px}.captured-pieces-container:last-child .captured-pieces{align-items:flex-start;padding-left:2px}.captured-piece{align-items:center;animation:capturedPieceAppear .3s ease forwards;display:flex;font-size:32px;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px}@keyframes capturedPieceAppear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.captured-piece:hover{filter:brightness(1.2);transform:translateY(-2px)}.square div[data-color]{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%;will-change:transform;z-index:2}.square div[data-color=white]{color:#fff;text-shadow:0 0 1px #000}.square div[data-color=black]{color:#000;text-shadow:0 0 1px #fff}.possible-move{position:relative}.possible-move:after{background-color:#ffff0026;bottom:0;content:"";left:0;right:0;top:0}.move-indicator,.possible-move:after{pointer-events:none;position:absolute}.move-indicator{color:#fffc;font-size:24px;left:50%;text-shadow:0 0 2px #00000080;top:50%;transform:translate(-50%,-50%);z-index:2}.move-indicator.capture{color:#f00c;font-size:36px;font-weight:700}@keyframes checkPulse{0%{box-shadow:0 0 0 0 #ff0000b3;transform:scale(1)}70%{box-shadow:0 0 0 15px #f000;transform:scale(1.1)}to{box-shadow:0 0 0 0 #f000;transform:scale(1)}}.in-check div[data-color]{align-items:center;animation:checkPulse 1.5s infinite;border-radius:50%;display:flex;height:90%;justify-content:center;position:relative;width:90%;z-index:1}.in-check:after{background-color:#ff00004d;border-radius:50%;bottom:10%;content:"";left:10%;pointer-events:none;position:absolute;right:10%;top:10%;z-index:0}.captured-pieces-container{display:flex;flex-direction:column;gap:10px;min-width:120px}.points-display{color:#ffffff80;font-family:Roboto Mono,monospace;font-size:20px;font-weight:500;letter-spacing:.5px;margin-bottom:4px;padding:8px;text-align:center}.captured-pieces-container:first-child .points-display{padding-right:12px;text-align:right}.captured-pieces-container:last-child .points-display{padding-left:12px;text-align:left}.points-display .positive{color:#0f8;font-weight:600;text-shadow:0 0 10px #00ff884d}.points-display .negative{color:#f44;font-weight:600;text-shadow:0 0 10px #ff44444d}.captured-piece,.game-info span,.move-indicator,.square div[data-color]{pointer-events:none}.mute-button{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.mute-button:hover{background-color:#fff3;transform:scale(1.05)}.mute-button:active{transform:scale(.95)}.lobby{display:flex;flex-direction:column;gap:.5rem;margin:0 auto;max-width:960px;padding:20px}.game-title{align-items:center;color:#fff;display:flex;font-size:3.5rem;gap:1rem;justify-content:center;margin-bottom:2rem;text-align:center;text-shadow:0 0 10px #ffffff4d}.piece-icon{animation:float 3s ease-in-out infinite;font-size:4rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.login-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:2rem}.input-group{margin-bottom:1.5rem}.input-group label{color:#fff;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.input-group input{background:#0003;border:1px solid #ffffff1a;border-radius:6px;color:#fff;font-size:1rem;padding:.8rem 1rem;transition:all .3s ease;width:100%}.input-group input:focus{border-color:#6b8eff80;box-shadow:0 0 0 2px #6b8eff33;outline:none}.room-list{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:20px}.empty-rooms{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center}.empty-piece{animation:emptyBounce 2s ease-in-out infinite;font-size:5rem;margin-bottom:1rem;text-shadow:0 0 20px #6b8eff4d}.empty-rooms p{color:#fffc;font-size:1.2rem;margin:0 0 .5rem}.empty-rooms span{font-size:.9rem;opacity:.6}@keyframes emptyBounce{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}.room-item{align-items:center;background:#0003;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:transform .2s ease}.room-item:hover{transform:translateY(-2px)}.room-header{align-items:center;display:flex;gap:1rem;margin-bottom:.5rem}.room-header h3{color:#fff;font-size:1.2rem;margin:0}.player-count{align-items:center;background:#6b8eff33;border-radius:12px;color:#fff;display:flex;font-size:.8rem;gap:.5rem;padding:.3rem .6rem;position:relative}.game-status{margin-top:.5rem}.score-display{align-items:center;display:flex;gap:1rem}.captured-preview{align-items:center;display:flex;font-size:.9rem;gap:2px;min-height:1.2em}.captured-preview.white{color:#fff;text-shadow:0 0 1px #000}.captured-preview.black{color:#000;text-shadow:0 0 1px #fff}.captured-preview .captured-piece{align-items:center;display:flex;font-size:1.1em;justify-content:center;line-height:1}.score{color:#fff;font-weight:700}.spectator-count{background:#ffffff1a;border-radius:12px;color:#fff;font-size:.8rem;padding:.3rem .6rem}.room-actions{gap:.5rem}.join-btn,.spectate-btn{overflow:hidden;position:relative}.create-room-btn,.join-btn,.spectate-btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.6rem 1.2rem;transition:all .2s ease}.create-room-btn{margin-bottom:10px;margin-top:30px}.join-btn{background:#6b8eff1a;border:1px solid #6b8eff4d;color:#fff;font-size:1rem}.spectate-btn{transition:all .2s ease}.create-room-btn,.spectate-btn{background:#6b8eff1a;border:1px solid #6b8eff4d;color:#fff;overflow:hidden;position:relative}.create-room-btn{align-items:center;display:flex;font-size:1.1rem;gap:.8rem;justify-content:center;padding:1rem;width:100%}.create-room-btn:before{content:"♟";font-size:1.2rem;transition:all .3s ease}.create-room-btn:hover{background:linear-gradient(135deg,#6b8eff4d,#6b8eff80);border-color:#6b8eff99;box-shadow:0 4px 15px #6b8eff4d;transform:translateY(-2px) scale(1.02)}.create-room-btn:hover:before{transform:translateY(-4px) rotate(10deg)}.create-room-btn:disabled{background:#5050501a;border-color:#50505033;color:#ffffff4d;cursor:not-allowed;transform:none}.create-room-btn:disabled:hover{background:#50505033;border-color:#5050504d;box-shadow:0 0 10px #50505080;color:#ffffff80;cursor:not-allowed;transform:scale(1.01)}.create-room-btn:disabled:before{opacity:.3;transform:none}.create-room-btn:hover,.join-btn:hover,.spectate-btn:hover{background:#5170cc;transform:translateY(-1px)}.connection-status{align-items:center;background:#ffc1071a;border-radius:8px;color:#ffc107;display:flex;gap:.5rem;justify-content:center;padding:1rem}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffc107;border-radius:50%;border-top-color:#0000;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}button{background:#6b8eff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}button:hover{background:#5170cc}.waiting{gap:2rem;justify-content:center;min-height:400px;padding:40px;text-align:center}.waiting,.waiting-animation{align-items:center;display:flex;flex-direction:column}.waiting-animation{gap:1.5rem}.floating-pieces{display:flex;gap:3rem;margin-bottom:1rem}.floating-pieces .piece{animation:floatPiece 3s ease-in-out infinite;font-size:4rem}.floating-pieces .piece.white{animation-delay:-1.5s;color:#fff;text-shadow:0 0 20px #fff6}.floating-pieces .piece.black{color:#000;text-shadow:0 0 20px #0006}@keyframes floatPiece{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(10deg)}}.waiting h2{color:#fff;font-size:1.8rem;margin:0}.loading-dots{display:flex;gap:.5rem}.loading-dots span{animation:loadingDots 1.4s infinite;color:#6b8eff;font-size:2rem}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDots{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.back-button{background:#6b8eff1a;border:1px solid #6b8eff4d;overflow:hidden;padding:.8rem 2rem;position:relative;transition:all .3s ease}.back-button:hover{background:#6b8eff33;border-color:#6b8eff66;transform:translateY(-2px)}.back-button:after{animation:buttonShine 3s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes buttonShine{0%{left:-100%}20%,to{left:100%}}.connection-status{background-color:#fff3cd;border-radius:4px;color:#856404;margin-bottom:20px;padding:10px;text-align:center}button:disabled{background:#ccc;cursor:not-allowed}button:disabled:hover{background:#ccc}input:disabled{background:#f5f5f5;cursor:not-allowed}.game-container{flex-direction:column;position:relative}.game-container,.multiplayer-info{align-items:center;display:flex;width:100%}.multiplayer-info{color:#fff;gap:20px;justify-content:center;margin-bottom:20px;text-align:center}.forfeit-button{background:#f44}.forfeit-button:hover{background:#c00}.room-info{align-items:center;display:flex;gap:20px}.room-score,.spectator-count{color:#666;font-size:.9em}.room-actions{display:flex;gap:10px}.spectator-info{background:#00000080;border-radius:20px;bottom:20px;font-size:14px;gap:5px;padding:8px 12px;position:fixed;right:20px}.spectator-controls,.spectator-info{align-items:center;color:#fff;display:flex}.spectator-controls{gap:20px}.spectator-controls button{background:#666}.spectator-controls button:hover{background:#555}.Toastify__toast{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e2ef2;border-radius:8px;font-family:inherit}.Toastify__toast-body{color:#fff;font-size:1.1em}.Toastify__progress-bar{background:linear-gradient(90deg,#4a4a5e,#6c6c8e)}.Toastify__close-button:hover{opacity:1}.player-status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0003;border-radius:12px;gap:2rem}.player-card,.player-status{align-items:center;display:flex;padding:1rem}.player-card{border-radius:8px;gap:1rem;min-width:200px;overflow:hidden;position:relative;transition:all .3s ease}.player-card:has(.turn-indicator){box-shadow:0 0 20px #6b8eff33;transform:scale(1.02)}.turn-indicator{animation:pulse 2s infinite;color:#6b8eff;font-size:.8rem;font-weight:600;margin-top:.2rem}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.player-card:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0;z-index:0}.player-card.white{border:2px solid #fff3;color:#fff}.player-card.black{border:2px solid #0003;color:#000}.player-piece{font-size:2.5rem;text-shadow:0 0 10px #0000004d;transition:all .3s ease;z-index:1}.player-card:has(.turn-indicator) .player-piece{animation:pieceFloat 2s ease-in-out infinite}@keyframes pieceFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px) scale(1.1)}}.player-info{display:flex;flex-direction:column;z-index:1}.player-name{color:#fff;font-size:1.1rem;font-weight:500}.player-color{color:#fff;font-size:.8rem;font-weight:600;opacity:.7}.vs-indicator{align-items:center;color:#fff9;display:flex;flex-direction:column;font-size:1.2rem;font-weight:600;gap:.5rem;min-width:120px;text-align:center;text-shadow:0 0 10px #0000004d}.vs-indicator:not(:contains("VS")){animation:attention 1s ease-in-out infinite;color:#f44}@keyframes attention{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.player-card.white .player-piece{color:#fff;text-shadow:0 0 10px #0000004d}.player-card.black .player-piece{color:#000;text-shadow:0 0 10px #ffffff4d}.game-timer{background:#0003;border-radius:4px;color:#fffc;font-family:monospace;font-size:.9rem;min-width:60px;padding:.2rem .5rem}.vs-text{font-size:1.2rem}.room-time{align-items:center;display:flex;font-family:monospace;justify-content:center;margin-bottom:.5rem}.elapsed-time{background:#6b8eff1a;border-radius:4px;color:#6b8eff;font-size:.9rem;padding:.2rem .6rem}.waiting-start{color:#ffc107;font-size:.8rem;opacity:.8}.leave-game-btn{background:#ff44441a;border:1px solid #ff44444d;border-radius:4px;color:#f44;cursor:pointer;font-size:.8rem;margin-top:.5rem;padding:.4rem 1rem;transition:all .2s ease}.leave-game-btn:hover{background:#f443;border-color:#f446;transform:translateY(-1px)}.leave-game-btn:active{transform:translateY(0)}.player-slots{background:#0003;border-radius:8px;display:flex;gap:.5rem;padding:.3rem}.slot{align-items:center;background:#ffffff0d;border-radius:6px;display:flex;height:30px;justify-content:center;position:relative;transition:all .3s ease;width:30px}.slot.filled{background:#6b8eff33}.slot.waiting{background:#ffffff0d}.slot .piece{color:#fffc;font-size:1.2rem;transition:all .3s ease}.slot.waiting .piece{opacity:.3}.waiting-pulse{animation:waitingPulse 2s ease-in-out infinite;background:#6b8eff33;border-radius:6px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes waitingPulse{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(.95)}}.slot.filled .piece{animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.waiting-piece{align-items:center;display:flex;height:20px;justify-content:center;position:relative;width:20px}.waiting-piece .piece{animation:waitingPieceBounce 1.5s ease-in-out infinite;color:#ffffffe6;font-size:1.2rem;text-shadow:0 0 10px #6b8eff66}@keyframes waitingPieceBounce{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(10deg)}}.join-btn:after{animation:buttonShine 3s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}.join-btn:disabled{background:#5050501a;border-color:#50505033;color:#ffffff4d;cursor:not-allowed;transform:none}.join-btn:disabled:hover{background:#50505033;border-color:#5050504d;box-shadow:0 0 10px #50505080;color:#ffffff80;transform:scale(1.01)}.spectate-btn:disabled{background:#5050501a;border-color:#50505033;color:#ffffff4d;cursor:not-allowed;transform:none}.spectate-btn:disabled:hover{background:#50505033;border-color:#5050504d;box-shadow:0 0 10px #50505080;color:#ffffff80;cursor:not-allowed;transform:scale(1.01)}.spectate-btn:hover{background:linear-gradient(135deg,#6b8eff4d,#6b8eff80);border-color:#6b8eff99;box-shadow:0 4px 15px #6b8eff4d;transform:translateY(-2px) scale(1.02)}.top-controls{display:flex;gap:10px;position:fixed;right:20px;top:20px;z-index:1000}.settings-button{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.settings-button:hover{background-color:#fff3;transform:scale(1.05)}.settings-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e1e2ef2;border:1px solid #ffffff1a;border-radius:12px;color:#fff;padding:20px;position:fixed;right:20px;top:70px;width:-webkit-max-content;width:max-content;z-index:1000}.settings-menu h3{font-size:1.1rem;margin:0 0 15px;opacity:.9}.theme-options{display:flex;flex-direction:column;gap:8px}.theme-btn{background:#6b8eff1a;border:1px solid #6b8eff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 16px;transition:all .2s ease;width:100%}.theme-btn:hover{background:#6b8eff33;box-shadow:0 4px 12px #6b8eff33;transform:translateY(-2px)}.theme-btn.active{background:#6b8eff4d;border-color:#6b8eff99;font-weight:500}.square.light.classic{background-color:#d8c4aa}.square.dark.classic{background-color:#9c7b5e}.square.light.midnight{background-color:#546e7a}.square.dark.midnight{background-color:#37474f}.square.light.forest{background-color:#a5d6a7}.square.dark.forest{background-color:#2e7d32}.square.light.ocean{background-color:#78a5c3}.square.dark.ocean{background-color:#2c5784}.square.light.desert{background-color:#e6c388}.square.dark.desert{background-color:#b87c4c}.icon-btn{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#ffffff1a;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;padding:0;transition:all .2s ease;width:40px}.icon-btn:hover{background-color:#fff3;transform:scale(1.05)}.icon-btn svg{stroke:currentColor;height:20px;width:20px}.submenu-header{align-items:center;display:flex;gap:10px;margin-bottom:15px}.chess-piece-img{filter:drop-shadow(0 2px 3px rgba(0,0,0,.2));height:56px;height:calc(var(--square-size)*.8);padding:7px;padding:calc(var(--square-size)*.1);pointer-events:none;-webkit-user-select:none;user-select:none;width:56px;width:calc(var(--square-size)*.8)}.captured-piece img,.chess-piece-img{-webkit-font-smoothing:none;image-rendering:crisp-edges;object-fit:contain}.captured-piece img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));height:25px;padding:2px;width:25px}.name-setup{border-radius:8px;text-align:center;width:100%}.game-actions{gap:5px}.game-actions,.game-mode-buttons{align-items:center;display:flex;flex-direction:column;margin:10px 0}.game-mode-buttons{gap:15px}.game-mode-btn{align-items:center;background:#6b8eff1a;border:1px solid #6b8eff4d;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:.8rem;justify-content:center;overflow:hidden;padding:1rem;position:relative;transition:all .2s ease;width:100%}.game-mode-btn:before{content:"♟";font-size:1.2rem;transition:all .3s ease}.game-mode-btn:hover{background:linear-gradient(135deg,#6b8eff4d,#6b8eff80);border-color:#6b8eff99;box-shadow:0 4px 15px #6b8eff4d;transform:translateY(-2px) scale(1.02)}.game-mode-btn:hover:before{transform:translateY(-4px) rotate(10deg)}.game-mode-btn.change-name{background:#ffffff1a;border-color:#fff3;font-size:1rem;padding:.8rem}.game-mode-btn.change-name:hover{background:linear-gradient(135deg,#fff3,#ffffff4d);border-color:#ffffff4d}.game-mode-btn.change-name:before{content:"👤";font-size:1.1rem}.forfeit-text-short{display:none}.forfeit-text-full{display:inline}@media (max-width:768px){.forfeit-text-short{display:inline}.forfeit-text-full{display:none}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.dc75b03f.css.map*/