:root{--bg-dark:#0a0a1a;--bg-card:#12121f;--border-color:rgba(139,92,246,0.3);--text-primary:#f0f0f0;--text-secondary:#94a3b8;--chess-gold:#f6b645;--chess-purple:#8b5cf6;--chess-cyan:#22d3ee;--chess-dark:#1a0a2a;--danger-red:#ef4444;--safe-green:#10b981;--square-light:#e8dcc8;--square-dark:#7b61a0;--square-selected:rgba(139,92,246,0.6);--square-move:rgba(34,211,238,0.4);--square-capture:rgba(239,68,68,0.45);--square-last-move-light:#f5f0a8;--square-last-move-dark:#b0a060;--square-check:rgba(239,68,68,0.5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-dark);color:var(--text-primary);min-height:100vh;overflow-x:hidden}.animated-header{background:transparent !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.game-title,.start-title,.end-title,.final-score{font-family:'Orbitron',sans-serif}.start-subtitle,.diff-btn,.start-btn,.retry-btn,.submit-btn{font-family:'Rajdhani',sans-serif}.game-background{position:fixed;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(139,92,246,0.15) 0,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(246,182,69,0.08) 0,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(26,10,42,0.8) 0,transparent 70%),linear-gradient(180deg,#0a0a1a 0,#1a0a2a 100%);z-index:-1}.game-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;padding:100px 1rem 2rem}.game-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;margin-bottom:1rem;padding:0 1rem}.game-title{font-size:1.8rem;font-weight:900;background:linear-gradient(135deg,#f6b645,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(139,92,246,0.1);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .3s}.back-btn:hover{background:rgba(139,92,246,0.2);color:var(--chess-purple)}.instructions-bar{display:flex;align-items:center;gap:.75rem;background:rgba(139,92,246,0.08);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1.25rem;margin-bottom:1rem;max-width:900px;width:100%;font-size:.9rem;color:var(--text-secondary)}.instructions-bar i{color:var(--chess-purple);font-size:1.1rem}.mobile-text{display:none}.game-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:1.5rem;box-shadow:0 20px 60px rgba(0,0,0,0.5);position:relative;overflow:hidden;width:100%;max-width:min(960px,calc(100vh - 180px))}.game-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--chess-gold),var(--chess-purple),var(--chess-cyan))}.start-screen,.end-screen{text-align:center;padding:2rem 1rem}.chess-mascot{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--chess-gold),var(--chess-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:chessPulse 3s ease-in-out infinite}@keyframes chessPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.start-title{font-size:2rem;font-weight:900;margin-bottom:.75rem;background:linear-gradient(135deg,var(--chess-gold),var(--chess-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.start-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:500px;margin:0 auto 1.5rem;line-height:1.5}.difficulty-buttons{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}.diff-btn{padding:.75rem 1.5rem;border-radius:12px;border:1px solid var(--border-color);background:rgba(139,92,246,0.05);color:var(--text-secondary);cursor:pointer;transition:all .3s;display:flex;flex-direction:column;gap:.25rem;font-size:1rem;font-weight:600;min-width:140px}.diff-btn .reward{font-size:.75rem;opacity:.7;font-weight:400}.diff-btn:hover{border-color:var(--chess-purple);background:rgba(139,92,246,0.1)}.diff-btn.active{background:linear-gradient(135deg,rgba(139,92,246,0.2),rgba(246,182,69,0.1));border-color:var(--chess-gold);color:var(--chess-gold)}.start-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:linear-gradient(135deg,var(--chess-gold),#e0a030);color:#0a0a1a;border:0;border-radius:16px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px rgba(246,182,69,0.3)}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(246,182,69,0.5)}.instructions{margin-top:1.5rem;padding:1rem;background:rgba(0,0,0,0.2);border-radius:12px;text-align:left;max-width:500px;margin-left:auto;margin-right:auto}.instructions h4{color:var(--chess-gold);margin-bottom:.5rem;font-size:.95rem}.instructions p{color:var(--text-secondary);font-size:.85rem;line-height:1.5}.game-screen{padding:.5rem}.chess-layout{display:flex;flex-direction:column;align-items:center;gap:.5rem}.player-info{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;background:rgba(0,0,0,0.2);border-radius:10px;border:1px solid rgba(255,255,255,0.05)}.player-avatar{width:36px;height:36px;border-radius:8px;background:rgba(139,92,246,0.2);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--chess-purple);overflow:hidden;flex-shrink:0}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-avatar-self{background:rgba(246,182,69,0.2);color:var(--chess-gold)}.player-details{display:flex;flex-direction:column;gap:.1rem;min-width:0}.player-name{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.captured-pieces{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto;max-width:200px}.captured-piece{width:20px;height:20px;opacity:.6}.captured-piece img{width:100%;height:100%;object-fit:contain}.game-status-bar{padding:.4rem 1rem;background:rgba(139,92,246,0.1);border:1px solid var(--border-color);border-radius:8px;text-align:center;width:100%}#game-status-text{font-size:.85rem;font-weight:600;color:var(--chess-gold)}.board-wrapper{display:flex;justify-content:center;width:100%;padding:.5rem 0}.board-container{display:grid;grid-template-columns:20px 1fr;grid-template-rows:1fr 20px;width:100%}.rank-labels{display:flex;flex-direction:column;padding-right:4px}.rank-labels .label{flex:1;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-secondary)}.file-labels{display:grid;grid-template-columns:repeat(8,1fr);grid-column:2;padding-top:4px}.file-labels .label{display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--text-secondary)}.chess-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(8,minmax(0,1fr));aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid rgba(139,92,246,0.4);box-shadow:0 8px 40px rgba(0,0,0,0.4),0 0 60px rgba(139,92,246,0.1)}.square{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:default;transition:background-color .15s}.square.light{background-color:var(--square-light)}.square.dark{background-color:var(--square-dark)}.square.selected{background-color:var(--square-selected) !important;box-shadow:inset 0 0 12px rgba(139,92,246,0.5)}.square.last-move.light{background-color:var(--square-last-move-light) !important}.square.last-move.dark{background-color:var(--square-last-move-dark) !important}.square.in-check{background:radial-gradient(circle,rgba(239,68,68,0.7),transparent 70%) !important}.square.valid-move{cursor:pointer}.square.valid-move::after{content:'';position:absolute;width:30%;height:30%;border-radius:50%;background:var(--square-move);pointer-events:none}.square.valid-capture{cursor:pointer}.square.valid-capture::after{content:'';position:absolute;inset:3px;border-radius:50%;border:3px solid var(--square-capture);background:transparent;pointer-events:none}.square.has-piece{cursor:pointer}.piece{position:absolute;inset:10%;width:80%;height:80%;object-fit:contain;pointer-events:none;transition:transform .15s;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.4))}.square.selected .piece{transform:scale(1.08)}.piece.animating{position:absolute;z-index:10;transition:left .2s ease,top .2s ease}.game-controls{display:flex;justify-content:center;gap:1rem;margin-top:.75rem}.control-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:10px;border:1px solid var(--border-color);background:rgba(0,0,0,0.2);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s}.control-btn:hover{background:rgba(139,92,246,0.1);color:var(--text-primary)}.resign-btn:hover{border-color:var(--danger-red);color:var(--danger-red)}.move-history-panel{margin-top:1rem;width:100%}.move-history-panel h4{color:var(--text-secondary);font-size:.8rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.move-list{display:flex;flex-wrap:wrap;gap:.25rem .5rem;max-height:80px;overflow-y:auto;padding:.5rem;background:rgba(0,0,0,0.15);border-radius:8px;font-family:'Rajdhani',monospace;font-size:.8rem;color:var(--text-secondary)}.move-list::-webkit-scrollbar{width:4px}.move-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.move-entry{display:inline-flex;gap:.3rem}.move-number{color:var(--text-secondary);opacity:.5}.move-white{color:var(--chess-gold)}.move-black{color:var(--chess-purple)}.promotion-modal{position:absolute;inset:0;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:20px}.promotion-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;text-align:center}.promotion-content h3{color:var(--chess-gold);margin-bottom:1rem;font-family:'Orbitron',sans-serif;font-size:1rem}.promotion-choices{display:flex;gap:.75rem;justify-content:center}.promotion-choice{width:60px;height:60px;border-radius:12px;border:2px solid var(--border-color);background:rgba(139,92,246,0.1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:6px}.promotion-choice:hover{border-color:var(--chess-gold);background:rgba(246,182,69,0.15);transform:scale(1.1)}.promotion-choice img{width:100%;height:100%;object-fit:contain}.end-title{font-size:1.8rem;font-weight:900;margin-bottom:.75rem}.end-title.win{background:linear-gradient(135deg,var(--chess-gold),var(--safe-green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.end-title.loss{background:linear-gradient(135deg,var(--danger-red),#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.end-title.draw{background:linear-gradient(135deg,var(--chess-cyan),var(--chess-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.final-score{font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,var(--chess-gold),var(--chess-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.score-breakdown{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.5}.end-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.retry-btn,.submit-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:12px;border:0;cursor:pointer;font-size:1rem;font-weight:700;transition:all .3s}.retry-btn{background:rgba(139,92,246,0.15);border:1px solid var(--border-color);color:var(--text-primary)}.retry-btn:hover{background:rgba(139,92,246,0.25)}.submit-btn{background:linear-gradient(135deg,var(--chess-gold),#e0a030);color:#0a0a1a;box-shadow:0 4px 20px rgba(246,182,69,0.3)}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(246,182,69,0.5)}.ad-multiplier-section{margin-bottom:1.5rem;padding:1rem;background:rgba(246,182,69,0.05);border:1px solid rgba(246,182,69,0.2);border-radius:12px}.ad-multiplier-section h4{color:var(--chess-gold);margin-bottom:.75rem}.multiplier-buttons{display:flex;gap:.75rem;justify-content:center}.multiplier-btn{padding:.5rem 1rem;border-radius:8px;border:1px solid var(--border-color);background:rgba(139,92,246,0.1);color:var(--text-primary);cursor:pointer;transition:all .3s;font-weight:500}.multiplier-btn.gold{border-color:rgba(246,182,69,0.4);background:rgba(246,182,69,0.1)}.multiplier-btn:hover{transform:translateY(-1px)}.game-leaderboard{margin-top:1.5rem;max-width:900px;width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:1.25rem}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.leaderboard-header h3{font-size:1rem;color:var(--chess-gold)}.leaderboard-reset{font-size:.75rem;color:var(--text-secondary)}.leaderboard-loading{text-align:center;padding:1rem;color:var(--text-secondary)}.board-loading-overlay{position:absolute;inset:0;background:var(--bg-card);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;border-radius:20px;gap:1.25rem;transition:opacity .4s ease}.board-loading-overlay.fade-out{opacity:0;pointer-events:none}.board-loading-overlay .loading-icon{font-size:3rem;background:linear-gradient(135deg,var(--chess-gold),var(--chess-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.15) rotate(5deg);opacity:.7}}.board-loading-overlay .loading-text{font-family:'Rajdhani',sans-serif;font-size:1.1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.5px}.board-loading-overlay .loading-bar{width:120px;height:3px;background:rgba(139,92,246,0.2);border-radius:2px;overflow:hidden;position:relative}.board-loading-overlay .loading-bar::after{content:'';position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--chess-purple),var(--chess-gold),transparent);animation:loadingShimmer 1.2s ease-in-out infinite}@keyframes loadingShimmer{0%{left:-40%}100%{left:100%}}.hidden{display:none !important}@media(max-width:640px){.game-container{padding:80px .5rem 1.5rem}.game-title{font-size:1.3rem}.game-card{padding:1rem;border-radius:14px}.start-title{font-size:1.5rem}.difficulty-buttons{flex-direction:column;align-items:center}.diff-btn{width:100%;max-width:220px}.player-info{padding:.4rem .5rem}.desktop-text{display:none}.mobile-text{display:inline}.promotion-choice{width:50px;height:50px}.end-title{font-size:1.4rem}.final-score{font-size:2rem}}@media(max-width:400px){.game-card{padding:.75rem}}.resume-match-banner{width:100%;max-width:600px;margin-bottom:1rem;background:linear-gradient(135deg,rgba(34,211,238,0.15),rgba(139,92,246,0.15));border:1px solid rgba(34,211,238,0.4);border-radius:12px;padding:.75rem 1rem;animation:resumePulse 2s ease-in-out infinite}@keyframes resumePulse{0%,100%{box-shadow:0 0 0 0 rgba(34,211,238,0.3)}50%{box-shadow:0 0 12px 4px rgba(34,211,238,0.15)}}.resume-content{display:flex;align-items:center;gap:.75rem}.resume-content>i{font-size:1.5rem;color:var(--chess-cyan)}.resume-text{flex:1;display:flex;flex-direction:column;gap:2px}.resume-text strong{color:var(--chess-cyan);font-size:.95rem}.resume-text span{font-size:.85rem;color:var(--text-secondary)}.resume-btn{background:var(--chess-cyan);color:#0a0a1a;border:0;padding:.5rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:transform .15s,opacity .15s}.resume-btn:hover{transform:scale(1.05);opacity:.9}.chess-mode-tabs{display:flex;gap:4px;margin-bottom:1.5rem;background:rgba(255,255,255,0.05);border-radius:10px;padding:4px;width:100%}.mode-tab{flex:1;padding:.6rem .5rem;background:transparent;border:0;color:var(--text-secondary);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;border-radius:8px;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:2px}.mode-tab i{font-size:1rem}.mode-tab:hover{color:var(--text-primary);background:rgba(255,255,255,0.05)}.mode-tab.active{background:rgba(139,92,246,0.2);color:var(--chess-gold);border:1px solid rgba(139,92,246,0.4)}.mode-content{width:100%}.mode-content.hidden{display:none}.mp-section{margin-bottom:1rem}.mp-label{display:block;font-family:'Rajdhani',sans-serif;font-weight:600;color:var(--text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.color-selector{display:flex;gap:.5rem;justify-content:center}.color-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:rgba(255,255,255,0.05);border:2px solid rgba(255,255,255,0.1);border-radius:12px;padding:.75rem 1.25rem;cursor:pointer;transition:all .2s;color:var(--text-secondary);min-width:80px}.color-btn img{width:40px;height:40px;object-fit:contain}.color-btn span{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.85rem}.color-btn:hover{border-color:rgba(139,92,246,0.4);background:rgba(139,92,246,0.1)}.color-btn.active{border-color:var(--chess-gold);background:rgba(246,182,69,0.1);color:var(--chess-gold);box-shadow:0 0 12px rgba(246,182,69,0.2)}.time-control-selector{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.tc-btn{display:flex;flex-direction:column;align-items:center;gap:2px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:.5rem 1rem;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.85rem}.tc-btn span{font-size:.75rem;opacity:.7}.tc-btn:hover{border-color:rgba(139,92,246,0.4)}.tc-btn.active{border-color:var(--chess-purple);background:rgba(139,92,246,0.15);color:var(--chess-purple)}.friend-list-container{max-height:200px;overflow-y:auto;background:rgba(0,0,0,0.2);border-radius:10px;border:1px solid rgba(255,255,255,0.05)}.friend-list-container::-webkit-scrollbar{width:4px}.friend-list-container::-webkit-scrollbar-thumb{background:rgba(139,92,246,0.3);border-radius:4px}.friend-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,0.03)}.friend-row:hover{background:rgba(139,92,246,0.1)}.friend-row.selected{background:rgba(246,182,69,0.1);border-left:3px solid var(--chess-gold)}.friend-online-dot{width:8px;height:8px;border-radius:50%;background:var(--safe-green);flex-shrink:0}.friend-name{font-size:.9rem;color:var(--text-primary)}.friend-list-loading{text-align:center;padding:1.5rem;color:var(--text-secondary);font-size:.9rem}.mp-note{font-size:.8rem;color:var(--text-secondary);text-align:center;margin:.75rem 0;font-style:italic}.challenge-waiting,.queue-waiting{text-align:center;padding:1.5rem 0}.waiting-animation{font-size:2rem;color:var(--chess-gold);margin-bottom:.75rem;animation:waitPulse 1.5s ease-in-out infinite}@keyframes waitPulse{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.queue-pulse{width:40px;height:40px;border-radius:50%;background:var(--chess-purple);margin:0 auto;animation:queuePulseAnim 1.2s ease-in-out infinite}@keyframes queuePulseAnim{0%{transform:scale(0.8);opacity:.5;box-shadow:0 0 0 0 rgba(139,92,246,0.5)}50%{transform:scale(1);opacity:1;box-shadow:0 0 20px 8px rgba(139,92,246,0.2)}100%{transform:scale(0.8);opacity:.5;box-shadow:0 0 0 0 rgba(139,92,246,0)}}.queue-info{font-size:.85rem;color:var(--text-secondary);display:block;margin-top:.5rem}.cancel-btn{background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.3);color:var(--danger-red);padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:600;font-size:.9rem;margin-top:.75rem;transition:all .2s}.cancel-btn:hover{background:rgba(239,68,68,0.25)}.chess-clock{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;background:rgba(0,0,0,0.3);border-radius:6px;font-family:'Orbitron',monospace;font-size:.9rem;color:var(--text-secondary);border:1px solid rgba(255,255,255,0.1);margin-left:auto;transition:all .3s}.chess-clock i{font-size:.75rem;opacity:.6}.chess-clock.clock-active{color:var(--chess-gold);border-color:rgba(246,182,69,0.3);background:rgba(246,182,69,0.08);animation:clockPulse 1s ease-in-out infinite}@keyframes clockPulse{0%,100%{box-shadow:0 0 0 0 rgba(246,182,69,0)}50%{box-shadow:0 0 8px 2px rgba(246,182,69,0.15)}}.rating-display{display:inline-flex;align-items:center;gap:.5rem;background:rgba(246,182,69,0.1);border:1px solid rgba(246,182,69,0.3);padding:.5rem 1.25rem;border-radius:10px;color:var(--chess-gold);font-family:'Rajdhani',sans-serif;font-weight:600;font-size:1rem}.draw-offer-modal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);z-index:100;border-radius:16px}.draw-offer-modal.hidden{display:none}.draw-offer-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2rem;text-align:center;max-width:320px}.draw-offer-content h3{font-family:'Orbitron',sans-serif;color:var(--chess-gold);margin-bottom:.75rem}.draw-offer-content p{color:var(--text-secondary);margin-bottom:1rem}.draw-offer-buttons{display:flex;gap:.75rem;justify-content:center}.draw-accept-btn,.draw-decline-btn{padding:.5rem 1.25rem;border-radius:8px;border:0;cursor:pointer;font-weight:600;font-family:'Rajdhani',sans-serif;font-size:.95rem;transition:transform .15s}.draw-accept-btn{background:var(--safe-green);color:white}.draw-decline-btn{background:var(--danger-red);color:white}.draw-accept-btn:hover,.draw-decline-btn:hover{transform:scale(1.05)}.mp-end-method{font-family:'Rajdhani',sans-serif;font-size:1.1rem;color:var(--text-secondary);margin-bottom:1.25rem}.mp-end-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.5rem;width:100%;max-width:320px;margin-left:auto;margin-right:auto}.mp-stat{background:rgba(255,255,255,0.05);border-radius:10px;padding:.75rem;text-align:center;border:1px solid rgba(255,255,255,0.05)}.mp-stat-label{display:block;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.mp-stat-value{display:block;font-family:'Orbitron',sans-serif;font-size:1.1rem;color:var(--chess-gold);font-weight:700}.mp-stat-value.positive{color:var(--safe-green)}.mp-stat-value.negative{color:var(--danger-red)}.control-btn.draw-btn{background:rgba(246,182,69,0.1);border:1px solid rgba(246,182,69,0.3);color:var(--chess-gold)}.control-btn.draw-btn:hover:not(:disabled){background:rgba(246,182,69,0.2)}.control-btn.draw-btn:disabled{opacity:.5;cursor:not-allowed}.chess-minimized-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:rgba(18,18,31,0.95);border:1px solid rgba(139,92,246,0.4);border-radius:10px;padding:.5rem 1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;z-index:9999;font-size:.85rem;color:var(--text-secondary);backdrop-filter:blur(8px);transition:all .2s}.chess-minimized-bar:hover{border-color:var(--chess-gold);background:rgba(18,18,31,1)}.chess-minimized-bar i{color:var(--chess-gold)}.chess-min-timer{color:var(--chess-gold);font-weight:600;font-family:'Orbitron',monospace;font-size:.8rem}.pvp-global-notification.chess-notification .pvp-notif-icon{background:linear-gradient(135deg,rgba(246,182,69,0.2),rgba(139,92,246,0.2));color:var(--chess-gold)}.pvp-notif-btn.ignore{font-size:.8rem;padding:.4rem .6rem}@media(max-width:500px){.chess-mode-tabs{gap:2px}.mode-tab{padding:.5rem .25rem;font-size:.75rem}.mode-tab i{font-size:.9rem}.color-btn{padding:.5rem .75rem;min-width:65px}.color-btn img{width:32px;height:32px}.tc-btn{padding:.4rem .75rem;font-size:.8rem}.chess-clock{font-size:.8rem;padding:.2rem .4rem}.mp-end-stats{grid-template-columns:1fr 1fr;gap:.5rem}}.chess-fullscreen-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:10px;background:rgba(139,92,246,0.08);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s}.chess-fullscreen-btn:hover{background:rgba(139,92,246,0.15);color:var(--text-primary);border-color:rgba(139,92,246,0.4)}body.chess-fs-active{overflow:hidden !important}body.chess-fs-active #header-placeholder,body.chess-fs-active .game-background,body.chess-fs-active .game-header,body.chess-fs-active .instructions-bar,body.chess-fs-active .resume-match-banner,body.chess-fs-active .game-leaderboard,body.chess-fs-active #companion-selector-container,body.chess-fs-active .move-history-panel,body.chess-fs-active .start-screen,body.chess-fs-active .end-screen,body.chess-fs-active .chess-fullscreen-btn{display:none !important}body.chess-fs-active .game-container{position:fixed;inset:0;z-index:9998;padding:0;min-height:0;background:#07060e;display:flex;align-items:center;justify-content:center}body.chess-fs-active .game-card{position:relative;max-width:none;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center}body.chess-fs-active .game-card::before{display:none}body.chess-fs-active .game-screen{width:100%;height:100%;padding:0;display:flex !important;flex-direction:column}body.chess-fs-active .chess-layout{flex:1;display:flex;flex-direction:column;justify-content:center;padding:8px;gap:4px;min-height:0}body.chess-fs-active .board-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:0;min-height:0}body.chess-fs-active .board-container{--fs-board-size:min(calc(100vw - 48px),calc(100vh - 240px));width:var(--fs-board-size);max-width:var(--fs-board-size);height:auto}body.chess-fs-active .player-info{max-width:var(--fs-board-size,100%);align-self:center;width:100%}body.chess-fs-active .game-status-bar{max-width:var(--fs-board-size,100%);align-self:center;width:100%}body.chess-fs-active .game-controls{max-width:var(--fs-board-size,100%);align-self:center;width:100%;margin-top:4px}.chess-fs-exit-btn{display:none;position:fixed;top:10px;right:10px;z-index:9999;width:40px;height:40px;border-radius:10px;background:rgba(15,15,30,0.85);border:1px solid rgba(255,255,255,0.15);color:#94a3b8;cursor:pointer;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s;backdrop-filter:blur(8px)}body.chess-fs-active .chess-fs-exit-btn{display:flex}.chess-fs-exit-btn:hover{background:rgba(239,68,68,0.25);border-color:rgba(239,68,68,0.5);color:#f87171}.npz-resign-modal{display:none;position:fixed;inset:0;z-index:10000;align-items:center;justify-content:center}.npz-resign-modal.visible{display:flex}.npz-resign-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(6px);animation:resignFadeIn .2s ease}.npz-resign-content{position:relative;background:linear-gradient(145deg,rgba(25,20,50,0.97),rgba(15,12,35,0.98));border:1px solid rgba(239,68,68,0.25);border-radius:20px;padding:2rem 2.5rem;max-width:360px;width:90%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,0.6),0 0 40px rgba(239,68,68,0.08);animation:resignSlideIn .25s ease}.npz-resign-icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;background:rgba(239,68,68,0.12);border:1px solid rgba(239,68,68,0.25);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#f87171}.npz-resign-content h3{font-family:'Fredoka',sans-serif;font-size:1.3rem;font-weight:600;color:#f1f5f9;margin:0 0 .5rem}.npz-resign-content p{font-size:.9rem;color:#94a3b8;margin:0 0 1.5rem;line-height:1.5}.npz-resign-actions{display:flex;gap:.75rem}.npz-resign-cancel{flex:1;padding:.7rem 1rem;border-radius:12px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:#cbd5e1;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.npz-resign-cancel:hover{background:rgba(255,255,255,0.1);color:#f1f5f9}.npz-resign-confirm{flex:1;padding:.7rem 1rem;border-radius:12px;background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.35);color:#f87171;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.4rem}.npz-resign-confirm:hover{background:rgba(239,68,68,0.25);border-color:rgba(239,68,68,0.5);color:#fca5a5}@keyframes resignFadeIn{from{opacity:0}to{opacity:1}}@keyframes resignSlideIn{from{opacity:0;transform:scale(0.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}