.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg)}.auth-box{background:var(--surface);padding:40px;border-radius:10px;box-shadow:0 10px 25px var(--shadow-2);border:1px solid var(--border);width:100%;max-width:400px}.auth-box h1{text-align:center;color:var(--text);margin-bottom:30px;font-size:28px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--muted);font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid var(--border-2);border-radius:5px;font-size:16px;transition:border-color .3s;background:var(--surface);color:var(--text)}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #0000000f}.form-group input:disabled{background-color:var(--surface-2);cursor:not-allowed}.error-message{color:var(--danger-text);background-color:var(--danger-bg);padding:12px;border-radius:5px;margin-bottom:20px;text-align:center;border-left:4px solid var(--danger-text)}button{width:100%;padding:12px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:5px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px var(--shadow)}button:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;margin-top:20px;color:var(--muted)}.auth-link a{color:var(--accent);text-decoration:none;font-weight:600}.auth-link a:hover{text-decoration:underline}.no-games{text-align:center;color:var(--muted-2);padding:40px 20px;font-size:14px}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.lobby-game-card{border:1px solid var(--border-2);border-radius:4px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:var(--surface);transition:all .2s;cursor:pointer;position:relative}.lobby-game-card.own-game{cursor:default}.lobby-game-card:not(.own-game):hover{border-color:var(--accent);background:var(--surface-2);box-shadow:0 2px 8px var(--shadow)}.lobby-card-top{display:flex;align-items:center;gap:10px;font-size:14px}.creator-name{font-weight:600;color:var(--text);font-size:14px}.creator-rating{background:var(--surface-3);padding:2px 8px;border-radius:3px;font-size:12px;color:var(--muted);font-weight:500}.game-type-label{margin-left:auto;font-size:13px;color:var(--muted);font-weight:400}.lobby-card-divider{height:1px;background:var(--border);margin:2px 0}.lobby-card-bottom{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text)}.info-label{color:var(--muted);font-size:11px;font-weight:400}.cancel-small-btn{width:100%;padding:6px 12px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:12px;transition:all .2s;margin-top:4px}.cancel-small-btn:hover:not(:disabled){background:var(--text)}.cancel-small-btn:disabled{opacity:.6;cursor:not-allowed}.error{color:var(--danger-text);padding:12px;background:var(--danger-bg);border-radius:4px;margin-bottom:16px;font-size:13px}.dashboard-container{max-width:1200px;margin:0 auto;padding:20px}.dashboard-header{background:var(--surface);color:var(--text);padding:20px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard-header h1{margin:0;font-size:28px;font-weight:600;display:flex;align-items:center;gap:8px}.country-flag-dashboard{width:24px;height:auto;vertical-align:middle;border-radius:2px}.rating-box{display:flex;align-items:center;gap:12px}.rating-label{font-weight:500;font-size:14px;color:var(--muted)}.rating-value{font-size:24px;font-weight:600;color:var(--text)}.dashboard-content{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 768px){.dashboard-content{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.dashboard-content{grid-template-columns:1fr 1fr 1fr}}.section{background:var(--surface);padding:20px;border:1px solid var(--border);border-radius:0}.section h2{margin:0 0 16px;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:12px;font-size:18px;font-weight:600}.section>p{color:var(--muted-2);font-size:14px;margin:0}.invite-form{display:flex;gap:8px;flex-wrap:wrap}.invite-form input{flex:1 1 auto;min-width:200px}@media (max-width: 600px){.invite-form{flex-direction:column}.invite-form input,.invite-form button{width:100%}}.invite-form input,.invite-form select{padding:12px 14px;font-size:16px;min-height:48px}@media (min-width: 601px){.invite-form select{flex:1 1 0;min-width:0}}.invite-form input:focus{outline:none;border-color:var(--accent)}.invite-form button{padding:12px 16px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:16px;min-height:48px;white-space:nowrap;transition:all .2s}.invite-form button:hover{background:var(--text)}.invite-link-box{margin-top:12px;display:flex;flex-direction:column;gap:10px}.invite-link-row{display:flex;gap:8px}.invite-link-row input{flex:1;padding:10px 12px;border:1px solid var(--border-2);border-radius:4px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text)}.invite-link-row button{padding:10px 12px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:14px}.invite-qr{display:flex;justify-content:center}.invite-qr img{width:160px;height:160px;border:1px solid var(--border);padding:4px;background:var(--surface)}@media (max-width: 600px){.invite-link-row{flex-direction:column}.invite-link-row button{width:100%}}.time-control-selector{display:flex;flex-direction:column;gap:12px}.mode-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.custom-row{display:grid;grid-template-columns:1fr;gap:8px}.custom-btn{width:100%}.custom-controls{display:flex;flex-direction:column;gap:12px}.color-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.color-btn{padding:12px 10px;min-height:48px;border:1px solid var(--border-2);background:var(--surface);border-radius:4px;cursor:pointer;font-weight:500;font-size:14px;color:var(--text);text-align:center;transition:all .2s}.color-btn:hover{border-color:var(--accent)}.color-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.slider-group{display:flex;flex-direction:column;gap:14px;padding:0}.slider-row{display:flex;flex-direction:column;gap:8px}.slider-label{font-size:13px;color:var(--muted);font-weight:500}.slider-row input[type=range]{width:100%;height:4px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:transparent}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;transition:transform .15s ease}.slider-row input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-row input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;background:var(--border);border-radius:2px;border:none}.slider-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;transition:transform .15s ease}.slider-row input[type=range]::-moz-range-thumb:hover{transform:scale(1.1)}.slider-row input[type=range]::-moz-range-track{background:var(--border);border-radius:2px;border:none;height:4px}.slider-row input[type=range]::-moz-range-progress{background:var(--accent);height:4px;border-radius:2px}.slider-row input[type=range][disabled]{opacity:.4;cursor:not-allowed}.slider-row input[type=range][disabled]::-webkit-slider-thumb{background:var(--muted-2);cursor:not-allowed}.slider-row input[type=range][disabled]::-moz-range-thumb{background:var(--muted-2);cursor:not-allowed}.checkbox-group{display:flex;align-items:center;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text);font-weight:500;flex:1}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.checkbox-label input[type=checkbox]:disabled{opacity:.6;cursor:not-allowed}.mode-btn{flex:1;padding:12px 10px;min-height:48px;border:1px solid var(--border-2);background:var(--surface);border-radius:4px;cursor:pointer;font-weight:500;font-size:14px;color:var(--text);text-align:center;transition:all .2s}.mode-btn:hover{border-color:var(--accent)}.mode-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.time-control-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-control-btn{padding:12px 10px;min-height:48px;border:1px solid var(--border-2);background:var(--surface);border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;color:var(--text);text-align:center;transition:all .2s}.time-control-btn:hover{border-color:var(--accent)}.time-control-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.matchmaking-btn{width:100%;padding:14px 12px;min-height:48px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:16px;transition:all .2s}.matchmaking-btn:hover:not(:disabled){background:var(--text)}.matchmaking-btn:disabled{background:var(--muted-2);cursor:not-allowed}.time-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.time-btn{padding:12px 10px;min-height:48px;border:1px solid var(--border-2);background:var(--surface);border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;color:var(--text);text-align:center;transition:all .2s}.time-btn:hover{border-color:var(--accent)}.time-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.custom-controls{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--surface-2);border-radius:4px;margin-bottom:12px}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:500;font-size:14px;color:var(--text)}.control-group input[type=range]{width:100%;cursor:pointer}.generate-btn,.hide-btn{width:100%;padding:14px 12px;min-height:48px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:16px;transition:all .2s}.generate-btn:hover:not(:disabled),.hide-btn:hover:not(:disabled){background:var(--text)}.generate-btn:disabled,.hide-btn:disabled{background:var(--muted-2);cursor:not-allowed}.games-list{display:flex;flex-direction:column;gap:12px}.games-group-title{font-weight:600;color:var(--text);font-size:13px;text-transform:uppercase;letter-spacing:.5px;padding:12px 0;border-top:1px solid var(--border);margin-top:16px}.games-group-title:first-child{border-top:none;margin-top:0}.all-games-list{display:flex;flex-direction:column}.finished-games-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.finished-game-card{background:var(--surface);padding:10px 12px;border-radius:4px;border-left:3px solid;display:flex;flex-direction:column;gap:6px;transition:all .2s}.finished-game-card.active-game{border-left-color:var(--muted)}.finished-game-card:hover{box-shadow:0 1px 3px var(--shadow)}.finished-game-card.won{border-left-color:var(--success-text)!important}.finished-game-card.lost{border-left-color:var(--danger-text)!important}.finished-game-card.draw{border-left-color:var(--muted)!important}.game-row{display:flex;align-items:center;gap:10px;font-size:14px}.game-divider{height:1px;background:var(--surface-4);margin:0}.game-status-label{font-weight:600;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.5px}.game-result-label{font-weight:700;font-size:16px;color:var(--text);width:20px;text-align:center;flex-shrink:0}.opponent-name{font-weight:500;color:var(--text);flex:1}.rating-change{font-weight:600;font-size:13px;padding:2px 6px;border-radius:3px;margin-left:auto}.rating-change.positive{color:var(--success-text);background:var(--success-bg)}.rating-change.negative{color:var(--danger-text);background:var(--danger-bg)}.rating-change.draw{color:var(--neutral-text);background:var(--neutral-bg)}.time-control{font-weight:500;color:var(--muted);font-size:13px}.result-reason{font-style:italic;color:var(--muted-2);font-size:13px}.game-date{color:var(--muted-2);font-size:12px;margin-left:auto}.game-action-link{color:var(--text);text-decoration:none;font-weight:500;font-size:13px;padding:4px 10px;border:1px solid var(--border-2);border-radius:3px;transition:all .2s;margin-left:8px}.game-action-link:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.show-more-btn{width:100%;padding:10px 16px;background:var(--surface-2);color:var(--text);border:1px solid var(--border-2);border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;margin-top:12px;transition:all .2s}.show-more-btn:hover{background:var(--surface-4);border-color:var(--accent)}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;padding:8px}.pagination-btn{width:48px;height:48px;padding:0;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:4px;cursor:pointer;font-size:18px;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center}.pagination-btn:hover:not(:disabled){border-color:var(--accent)}.pagination-btn:disabled{opacity:.3;cursor:not-allowed;border-color:var(--border-2)}.pagination-info{font-size:14px;color:var(--text);font-weight:500;min-width:60px;text-align:center}.game-container{max-width:1600px;margin:0 auto;padding:16px}.game-toast{position:fixed;top:20px;right:20px;z-index:1000;background:var(--text);color:var(--accent-contrast);padding:12px 16px;border-radius:6px;box-shadow:0 6px 18px #0003;font-size:14px;max-width:320px}.game-toast.info{background:var(--text)}.game-toast.error{background:var(--danger-text)}@media (max-width: 600px){.game-toast{top:12px;right:12px;left:12px;max-width:unset}}@media (max-width: 600px){.game-container{padding:12px}}.game-header{background:var(--surface);color:var(--text);padding:16px 0;margin-bottom:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.game-header h1{margin:0;font-size:24px;font-weight:600}@media (max-width: 600px){.game-header{padding:12px 0;margin-bottom:12px}.game-header h1{font-size:20px}}.game-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-badge,.result-badge,.ws-badge{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.status-badge.active{background:var(--info-bg);color:var(--info-text);border-color:var(--info-border)}.status-badge.finished{background:var(--neutral-bg);color:var(--neutral-text);border-color:var(--neutral-border)}@media (max-width: 600px){.status-badge,.result-badge,.ws-badge{padding:4px 8px;font-size:11px}}.result-badge,.ws-badge{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.game-content{display:grid;grid-template-columns:1fr 400px;gap:32px}@media (max-width: 1400px){.game-content{grid-template-columns:1fr 350px;gap:24px}}@media (max-width: 1024px){.game-content{grid-template-columns:1fr}}.board-section{display:flex;flex-direction:column;gap:12px;align-items:center}.player-info{background:var(--surface);padding:10px 12px;border:1px solid var(--border);border-radius:4px;font-weight:500;color:var(--text);display:flex;justify-content:space-between;align-items:center;width:100%;max-width:700px;font-size:14px}@media (max-width: 600px){.player-info{padding:8px 10px;font-size:12px}}.player-name{display:flex;align-items:center;gap:8px}.you-badge{background:var(--success-bg);color:var(--success-text);padding:2px 8px;border-radius:3px;font-size:12px;font-weight:500}.player-time{font-size:16px;font-weight:600;color:var(--text);font-family:Courier New,monospace;min-width:50px;text-align:right}@media (max-width: 600px){.player-time{font-size:14px;min-width:45px}}.chess-board-wrapper{position:relative;max-width:700px;width:100%;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media (max-width: 600px){.chess-board-wrapper{max-width:100%}}.game-over-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;border-radius:4px;z-index:10}.game-over-content{background:var(--surface);padding:20px;border-radius:4px;text-align:center;max-width:300px}.game-over-content h2{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text)}.game-over-content p{margin:8px 0;color:var(--muted);font-size:14px}@keyframes kingMatePulse{0%{box-shadow:0 0 #e74c3c80;transform:scale(1)}50%{box-shadow:0 0 0 10px #e74c3c00;transform:scale(1.03)}to{box-shadow:0 0 #e74c3c00;transform:scale(1)}}.turn-indicator{text-align:center;padding:12px;border-radius:4px;border:1px solid var(--border);font-weight:500;background:var(--surface);max-width:700px;width:100%;font-size:15px}.your-turn{color:var(--success-text)}.opponent-turn{color:var(--muted)}.info-section{display:flex;flex-direction:column;gap:12px}@media (max-width: 600px){.info-section{gap:10px}}.game-info{background:var(--surface);padding:12px;border:1px solid var(--border);border-radius:4px}.game-info h3{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:6px}.game-info p{margin:4px 0;font-size:12px;color:var(--muted)}@media (max-width: 600px){.game-info{padding:10px}.game-info h3{font-size:12px;margin-bottom:6px}.game-info p{font-size:11px}}.game-info strong{color:var(--text);font-weight:600}.offer-draw-btn,.resign-btn{width:100%;padding:12px;min-height:48px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s}.offer-draw-btn{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border);margin-bottom:8px}.offer-draw-btn:hover{background:var(--info-border)}.resign-btn{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.resign-btn:hover{background:var(--danger-border)}.draw-offer{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:4px;padding:12px;margin-bottom:8px}.draw-offer p{margin:0 0 10px;font-weight:600;color:var(--warning-text);font-size:14px}.draw-actions{display:flex;gap:8px}.draw-actions button{flex:1;padding:8px;border:none;border-radius:4px;font-weight:500;cursor:pointer;font-size:13px;transition:all .2s}.accept-btn{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.accept-btn:hover{background:var(--success-border)}.decline-btn{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.decline-btn:hover{background:var(--danger-border)}.draw-offer-sent{background:var(--info-bg);border:1px solid var(--info-border);border-radius:4px;padding:12px;text-align:center;margin-bottom:8px}.draw-offer-sent p{margin:0;color:var(--info-text);font-weight:500;font-size:13px}.move-history{background:var(--surface);padding:16px;border:1px solid var(--border);border-radius:4px}.move-history h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:8px}.history-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.history-controls button{padding:8px;background:var(--surface-2);color:var(--text);border:1px solid var(--border-2);border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.history-controls button:hover:not(:disabled){background:var(--surface-4);border-color:var(--muted-2)}.history-controls button:disabled{color:var(--muted-2);border-color:var(--border);cursor:not-allowed}.moves-list{border-top:1px solid var(--border);padding-top:12px;max-height:300px;overflow-y:auto}.no-moves{text-align:center;color:var(--muted-2);font-size:13px;margin:0;padding:12px 0}.moves-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}.move-row{display:contents}.move-button{padding:8px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:3px;cursor:pointer;text-align:center;transition:all .2s;color:var(--text);font-weight:500;font-size:13px}.move-button:hover{background:var(--surface-4);border-color:var(--muted-2)}.move-button.current{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);font-weight:600}.error{color:var(--danger-text);padding:12px;background-color:var(--danger-bg);border-radius:4px;border:1px solid var(--danger-border);font-size:14px}@media (max-width: 768px){.game-content{grid-template-columns:1fr}.history-controls{grid-template-columns:repeat(2,1fr)}}.invite-container{max-width:600px;margin:0 auto;padding:20px}.invite-card{background:var(--surface);border:1px solid var(--border);padding:20px;border-radius:4px}.invite-card h2{margin:0 0 12px;font-size:20px}.invite-card p{margin:6px 0;color:var(--text)}.invite-actions{margin-top:16px}.invite-actions button{padding:12px 16px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:4px;cursor:pointer;font-weight:500}.login-link{color:var(--text);text-decoration:none;font-weight:500}.login-link:hover{text-decoration:underline}@media (max-width: 600px){.invite-container{padding:12px}.invite-card{padding:16px}}.profile-container{min-height:100vh;padding:20px;background:var(--bg);color:var(--text)}.profile-content{max-width:800px;margin:0 auto}.profile-header{display:flex;gap:30px;background:var(--surface);border-radius:12px;padding:30px;margin-bottom:30px;border:1px solid var(--border)}.profile-avatar{flex-shrink:0}.profile-avatar img{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}.avatar-placeholder{width:150px;height:150px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;color:#fff}.profile-info{flex:1;display:flex;flex-direction:column;gap:15px}.profile-title{display:flex;align-items:center;gap:15px}.profile-title h1{margin:0;font-size:32px;font-weight:700;display:flex;align-items:center;gap:12px}.country-flag{width:20px;height:14px;border-radius:2px;border:1px solid var(--border);object-fit:cover;display:inline-block}.country-badge{background:var(--accent);color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.rating-section{display:flex;gap:20px}.rating-display{background:var(--bg);padding:15px 25px;border-radius:8px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--border)}.rating-label{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:600}.rating-value{font-size:28px;font-weight:700;color:var(--accent)}.bio-section{background:var(--bg);padding:15px;border-radius:8px;border:1px solid var(--border)}.bio-section p{margin:0;line-height:1.6}.edit-section{display:flex;flex-direction:column;gap:12px}.edit-input,.edit-textarea,.edit-select{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 15px;color:var(--text);font-family:inherit;font-size:14px}.edit-select{cursor:pointer}.edit-select option{background:var(--bg);color:var(--text)}.edit-input::placeholder,.edit-textarea::placeholder{color:var(--muted)}.edit-input:focus,.edit-textarea:focus,.edit-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--surface-2)}.avatar-selector{display:flex;flex-direction:column;gap:10px}.avatar-selector-label{font-size:13px;font-weight:600;color:var(--text)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:10px}.avatar-option{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;border:3px solid transparent;position:relative}.avatar-option:hover{transform:scale(1.1);border-color:var(--accent)}.avatar-option.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--surface-2)}.avatar-option .avatar-icon{font-size:32px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.edit-actions{display:flex;gap:10px}.save-btn,.cancel-btn{flex:1;padding:10px 20px;border-radius:8px;border:none;font-weight:600;cursor:pointer;font-size:14px;transition:all .2s ease}.save-btn{background:var(--accent);color:var(--accent-contrast)}.save-btn:hover{opacity:.9}.cancel-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.cancel-btn:hover{background:var(--surface-3)}.edit-profile-btn{background:var(--text);color:var(--accent-contrast);border:1px solid var(--text);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px;align-self:flex-start}.edit-profile-btn:hover{background:var(--muted)}:root[data-theme=dark] .edit-profile-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}:root[data-theme=dark] .edit-profile-btn:hover{background:var(--surface-3)}.profile-stats{background:var(--surface);border-radius:12px;padding:30px;border:1px solid var(--border);margin-bottom:30px}.profile-stats h2{margin:0 0 20px;font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;text-align:center;display:flex;flex-direction:column;gap:8px}.stat-card.win{border-color:var(--success-border);background:var(--success-bg)}.stat-card.draw{border-color:var(--neutral-border);background:var(--neutral-bg)}.stat-card.loss{border-color:var(--danger-border);background:var(--danger-bg)}.stat-label{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:600}.stat-value{font-size:24px;font-weight:700}.stat-card.win .stat-value{color:var(--success-text)}.stat-card.draw .stat-value{color:var(--neutral-text)}.stat-card.loss .stat-value{color:var(--danger-text)}.back-btn{background:var(--text);color:var(--accent-contrast);border:1px solid var(--text);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:14px}.back-btn:hover{background:var(--muted)}:root[data-theme=dark] .back-btn{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}:root[data-theme=dark] .back-btn:hover{background:var(--surface-3)}.error-message{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);padding:15px;border-radius:8px;margin-bottom:20px;text-align:center}@media (max-width: 600px){.profile-header{flex-direction:column;align-items:center;text-align:center;gap:20px}.profile-title{justify-content:center;flex-wrap:wrap}.profile-title h1{font-size:24px}.rating-section{justify-content:center}.stats-grid{grid-template-columns:repeat(2,1fr)}}.rating-chart-container{background:var(--surface);border-radius:12px;padding:30px;border:1px solid var(--border);margin-bottom:30px}.rating-chart-container h3{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text)}.rating-chart-loading,.rating-chart-error,.rating-chart-empty{background:var(--surface);border-radius:12px;padding:30px;border:1px solid var(--border);margin-bottom:30px;text-align:center;color:var(--muted)}.rating-chart-error{color:var(--danger-text);background:var(--danger-bg)}@media (max-width: 768px){.rating-chart-container{padding:20px}.rating-chart-container h3{font-size:16px}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;font-size:16px;--bg: #fafafa;--surface: #ffffff;--surface-2: #f5f5f5;--surface-3: #f0f0f0;--surface-4: #e8e8e8;--text: #333333;--muted: #666666;--muted-2: #999999;--border: #e5e5e5;--border-2: #dddddd;--accent: #333333;--accent-contrast: #ffffff;--info-bg: #e3f2fd;--info-text: #1976d2;--info-border: #bbdefb;--success-bg: #e8f5e9;--success-text: #27ae60;--success-border: #c8e6c9;--warning-bg: #fff3e0;--warning-text: #e65100;--warning-border: #ffe0b2;--danger-bg: #ffebee;--danger-text: #d32f2f;--danger-border: #ffcdd2;--neutral-bg: #f4f6f7;--neutral-text: #95a5a6;--neutral-border: #e0e0e0;--shadow: rgba(0, 0, 0, .1);--shadow-2: rgba(0, 0, 0, .2);color:var(--text);background-color:var(--bg);color-scheme:light}:root[data-theme=dark]{--bg: #101010;--surface: #171717;--surface-2: #1f1f1f;--surface-3: #252525;--surface-4: #2b2b2b;--text: #e3e3e3;--muted: #b4b4b4;--muted-2: #8e8e8e;--border: #2f2f2f;--border-2: #3a3a3a;--accent: #e3e3e3;--accent-contrast: #111111;--info-bg: #1a1f24;--info-text: #cfd6dd;--info-border: #2b323a;--success-bg: #1a221c;--success-text: #4ade80;--success-border: #2b3530;--warning-bg: #22201a;--warning-text: #fbbf24;--warning-border: #353027;--danger-bg: #251a1a;--danger-text: #f87171;--danger-border: #362828;--neutral-bg: #1e1e1e;--neutral-text: #d4d4d8;--neutral-border: #2f2f2f;--shadow: rgba(0, 0, 0, .45);--shadow-2: rgba(0, 0, 0, .6);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;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:var(--bg);color:var(--text);overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh;width:100%;overflow-x:hidden}.header{background:var(--surface);color:var(--text);padding:0;border-bottom:1px solid var(--border)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:12px;width:100%}.logo{display:flex;align-items:center;gap:8px;margin:0;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:0 0 auto}.logo-icon{display:flex;gap:1px;font-size:20px;position:relative;color:var(--text)}.chess-piece{transition:none}.logo:hover .chess-piece:first-child{transform:none}.logo:hover .chess-piece:last-child{transform:none}.logo-text{font-size:18px;font-weight:600;letter-spacing:1px;color:var(--text);white-space:nowrap}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.language-switcher{display:flex;gap:4px;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--surface)}.lang-btn{padding:6px 10px;background:var(--surface);color:var(--muted);border:none;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease}.lang-btn:hover{background:var(--surface-2);color:var(--text)}.lang-btn.active{background:var(--accent);color:var(--accent-contrast)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);border:1px solid var(--border);width:32px;height:28px;border-radius:4px;cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:#0000000a;color:var(--text);border-color:var(--muted-2)}.theme-icon{font-size:14px;line-height:1}.logout-btn{display:flex;align-items:center;gap:4px;background:transparent;color:var(--muted);border:1px solid var(--border);padding:6px 12px;border-radius:4px;cursor:pointer;font-weight:400;font-size:13px;transition:all .2s ease;flex:0 0 auto;width:auto}.logout-btn:hover{background:#0000000a;border-color:var(--muted-2);color:var(--text)}.logout-btn:active{transform:none;background:#00000014}.logout-btn svg{transition:none;width:14px;height:14px}.logout-btn:hover svg{transform:none}.profile-btn{display:flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s ease;flex:0 0 auto;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-btn:hover{opacity:.9;box-shadow:0 2px 8px rgba(var(--accent-rgb),.3)}.profile-btn svg{width:14px;height:14px;flex-shrink:0}.profile-menu-container{position:relative}.profile-avatar-btn{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid var(--border);cursor:pointer;padding:3px 8px;border-radius:4px;transition:all .2s ease;flex-shrink:0;height:28px}.profile-avatar-btn:hover{background-color:var(--surface-2);border-color:var(--muted-2)}.avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#6b6b6b,#3a3a3a);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:11px;flex-shrink:0}.avatar-circle .avatar-icon{font-size:16px;line-height:1}.avatar-circle img{width:100%;height:100%;border-radius:50%;object-fit:cover}.username-text{color:var(--text);font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:6px;background-color:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:160px;box-shadow:0 4px 12px var(--shadow-2);z-index:1000;overflow:hidden;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text);cursor:pointer;font-size:13px;transition:all .15s;text-align:left}.dropdown-item:hover{background-color:var(--surface-2);color:var(--text)}.dropdown-item svg{stroke:currentColor;flex-shrink:0;opacity:.7}.dropdown-item:hover svg{opacity:1}.dropdown-divider{height:1px;background-color:var(--border);margin:4px 0}.logout-item{color:#ff6b6b}.logout-item:hover{background-color:#ff6b6b14;color:#ff6b6b}.logout-item svg{stroke:#ff6b6b}.main-content{flex:1;background:var(--bg);padding:24px 0;width:100%;overflow-x:hidden}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:16px;color:var(--muted-2)}body[data-theme=dark] .theme-toggle:hover,body[data-theme=dark] .logout-btn:hover{background:#ffffff14}body[data-theme=dark] input,body[data-theme=dark] select,body[data-theme=dark] textarea{background:#121212;color:var(--text);border:1px solid var(--border)}body[data-theme=dark] input::placeholder,body[data-theme=dark] textarea::placeholder{color:var(--muted-2)}body[data-theme=dark] .dashboard-header,body[data-theme=dark] .section,body[data-theme=dark] .game-header,body[data-theme=dark] .game-info,body[data-theme=dark] .move-history,body[data-theme=dark] .finished-game-card,body[data-theme=dark] .active-game-card,body[data-theme=dark] .lobby-container,body[data-theme=dark] .invite-accept-container,body[data-theme=dark] .auth-container{background:var(--surface);color:var(--text);border-color:var(--border)}body[data-theme=dark] .language-switcher{border-color:var(--border)}body[data-theme=dark] .lang-btn{background:transparent;color:var(--muted)}body[data-theme=dark] .lang-btn.active{background:var(--accent);color:var(--accent-contrast)}@media (max-width: 768px){.header-content{flex-direction:row;gap:8px;padding:10px 16px}.logo-text{font-size:16px;letter-spacing:.5px}.logo-icon{font-size:18px}.logout-btn span{display:none}.logout-btn{padding:6px 8px}.theme-toggle{width:30px;height:26px}.language-switcher{transform:scale(.92);transform-origin:center right}.lang-btn{padding:5px 8px;font-size:11px}.username-text{display:none}.profile-avatar-btn{gap:0;padding:4px;border:none}.profile-dropdown{right:-8px}}:root{font-family:inherit;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent);text-decoration:none}a:hover{color:var(--text)}
