.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}.login-box h1{text-align:center;color:#333;margin-bottom:.5rem;font-size:2rem}.login-box h2{text-align:center;color:#666;margin-bottom:1.5rem;font-size:1.2rem;font-weight:400}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:5px;margin-bottom:1rem;border:1px solid #fcc}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}.piece{font-size:48px;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .2s;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.piece:hover{transform:scale(1.1)}.piece:active{cursor:grabbing}.piece.dragging{opacity:.5;cursor:grabbing}.piece.white{color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.piece.black{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.square{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .2s}.square.light{background-color:var(--square-light)}.square.dark{background-color:var(--square-dark)}.square.selected{background-color:var(--selected)!important;box-shadow:inset 0 0 0 3px #0f09}.square.valid-move{cursor:pointer}.square.in-check{background-color:var(--check)!important;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.move-indicator{width:25%;height:25%;background-color:#0000004d;border-radius:50%}.capture-indicator{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid rgba(255,0,0,.5);border-radius:50%;pointer-events:none}.chess-board-container{display:flex;flex-direction:column;gap:8px}.chess-board{display:grid;grid-template-columns:1fr;border:3px solid var(--border);box-shadow:0 4px 6px #0000001a;background-color:var(--bg-secondary)}.board-row{display:grid;grid-template-columns:repeat(8,1fr)}.board-row:first-child .square:nth-child(1),.board-row:first-child .square:nth-child(3),.board-row:first-child .square:nth-child(5),.board-row:first-child .square:nth-child(7){border-top-left-radius:0}.square{aspect-ratio:1}.board-labels{display:flex;justify-content:center}.files{display:grid;grid-template-columns:repeat(8,1fr);width:100%;max-width:600px}.file-label{text-align:center;font-weight:600;color:var(--text-secondary);font-size:14px}@media(max-width:768px){.chess-board{max-width:90vw}}.app{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);padding:20px}.app-header{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto 20px;padding:0 20px}.app-header h1{font-size:2.5rem;margin:0;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:1rem}.history-link{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s}.history-link:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.theme-toggle{background:var(--button-bg);border:none;border-radius:50%;width:50px;height:50px;font-size:24px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--button-hover);transform:scale(1.1)}.logout-button{padding:.75rem 1.5rem;background:#f44336;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s}.logout-button:hover{background:#d32f2f;transform:translateY(-2px);box-shadow:0 5px 15px #f4433666}.game-container{display:grid;grid-template-columns:350px 1fr;gap:30px;max-width:1400px;margin:0 auto;align-items:start}.side-panel{display:flex;flex-direction:column;gap:20px}.game-controls,.timer-display,.game-info,.move-history{background:var(--bg-secondary);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border)}.game-controls h3,.game-info h3,.move-history h3{margin:0 0 15px;font-size:1.2rem;color:var(--text-primary);border-bottom:2px solid var(--button-bg);padding-bottom:8px}.control-group{margin-bottom:15px}.control-group label{display:block;margin-bottom:5px;font-weight:600;color:var(--text-secondary)}.control-group select,.control-group input[type=checkbox]{margin-right:8px}.control-group select{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer}.button-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.button-group button,.game-controls button{padding:10px 20px;border:none;border-radius:6px;background:var(--button-bg);color:#fff;font-weight:600;cursor:pointer;transition:all .2s;font-size:14px}.button-group button:hover,.game-controls button:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.button-group button:active,.game-controls button:active{transform:translateY(0)}.button-group button:disabled{background:#ccc;cursor:not-allowed;transform:none}.timer-display{display:flex;flex-direction:column;gap:10px}.timer{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:8px;background:var(--bg-primary);border:2px solid transparent;transition:all .3s}.timer.active{border-color:var(--button-bg);background:#4caf501a}.timer-label{font-weight:600;color:var(--text-secondary)}.timer-value{font-size:1.5rem;font-weight:700;font-family:Courier New,monospace;color:var(--text-primary)}.game-info{text-align:center}.status-text{font-size:1.1rem}.status-text strong{color:var(--button-bg);text-transform:capitalize}.game-over{color:var(--button-bg);font-weight:700;font-size:1.2rem}.move-history{max-height:400px;overflow-y:auto}.moves-list{display:flex;flex-direction:column;gap:5px}.no-moves{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px}.move-item{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:8px;border-radius:6px;background:var(--bg-primary);font-family:Courier New,monospace;align-items:center}.move-number{color:var(--text-secondary);font-weight:700}.move-notation{color:var(--text-primary)}.white-move{color:var(--button-bg)}.black-move{color:var(--text-primary)}.board-container{display:flex;justify-content:center;align-items:center;max-width:600px;margin:0 auto}.move-history::-webkit-scrollbar{width:8px}.move-history::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.move-history::-webkit-scrollbar-thumb{background:var(--button-bg);border-radius:4px}.move-history::-webkit-scrollbar-thumb:hover{background:var(--button-hover)}@media(max-width:1024px){.game-container{grid-template-columns:1fr;gap:20px}.side-panel{order:2}.board-container{order:1}}@media(max-width:768px){.app-header h1{font-size:1.8rem}.button-group{grid-template-columns:1fr}.move-history{max-height:200px}}.game-history{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 4px 6px #0000001a}.history-header h1{margin:0;color:#333}.header-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e0e0e0}.stats-container,.games-container{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem}.stats-container h2,.games-container h2{margin-top:0;color:#333;margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;text-align:center;transition:transform .3s}.stat-card:hover{transform:translateY(-5px)}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.9rem;opacity:.9}.games-table{overflow-x:auto}.games-table table{width:100%;border-collapse:collapse}.games-table th{background:#f5f5f5;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.games-table td{padding:1rem;border-bottom:1px solid #eee;color:#666}.games-table tr:hover{background:#f9f9f9}.winner-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.winner-badge.white{background:#e3f2fd;color:#1976d2}.winner-badge.black{background:#424242;color:#fff}.winner-badge.draw{background:#fff3e0;color:#f57c00}.loading,.error,.no-games{text-align:center;padding:3rem;color:#fff;font-size:1.2rem}.error{background:#ffebee;color:#c62828;border-radius:8px}@media(max-width:768px){.history-header{flex-direction:column;gap:1rem}.header-actions{width:100%;flex-direction:column}.btn-primary,.btn-secondary{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.games-table{font-size:.875rem}.games-table th,.games-table td{padding:.5rem}}:root{--bg-primary: #f0f0f0;--bg-secondary: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666;--square-light: #f0d9b5;--square-dark: #b58863;--highlight: rgba(255, 255, 0, .4);--selected: rgba(0, 255, 0, .3);--check: rgba(255, 0, 0, .5);--border: #ddd;--button-bg: #4CAF50;--button-hover: #45a049}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--text-primary: #f0f0f0;--text-secondary: #aaa;--square-light: #769656;--square-dark: #4a5f3a;--border: #444;--button-bg: #5a8f5d;--button-hover: #4d7a50}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s,color .3s}#root{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}
