*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460)}.settings-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.settings-modal{background:#191923fa;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:600px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;pointer-events:auto}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff9;cursor:pointer;transition:all .2s ease}.close-button:hover{background:#ffffff1a;color:#fff}.close-button svg{width:18px;height:18px}.settings-content{display:flex;flex:1;overflow:hidden}.settings-sidebar{width:180px;border-right:1px solid rgba(255,255,255,.1);padding:16px 12px;display:flex;flex-direction:column;gap:4px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-radius:8px;color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.sidebar-item:hover{background:#ffffff0d;color:#fff}.sidebar-item.active{background:#6496ff26;color:#6496ff}.sidebar-item svg{width:18px;height:18px;flex-shrink:0}.settings-panel{flex:1;padding:24px;overflow-y:auto}.settings-section h3{margin:0 0 24px;font-size:16px;font-weight:600;color:#fff}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.05)}.setting-row:last-child{border-bottom:none}.setting-row label{font-size:14px;color:#ffffffe6}.setting-row select{padding:8px 32px 8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:all .2s ease;pointer-events:auto;position:relative;z-index:1}.setting-row select:hover{background-color:#ffffff26;border-color:#6496ff80}.setting-row select:focus{outline:none;border-color:#6496ffb3;box-shadow:0 0 0 2px #6496ff33}.setting-row select option{background:#1a1a24;color:#fff}.api-keys-description{margin:0 0 16px;font-size:13px;color:#ffffff80;line-height:1.5}.api-key-error{padding:10px 14px;margin-bottom:16px;background:#ff505026;border:1px solid rgba(255,80,80,.3);border-radius:8px;color:#ff6b6b;font-size:13px}.api-key-created-banner{padding:14px;margin-bottom:16px;background:#50c8781f;border:1px solid rgba(80,200,120,.3);border-radius:8px}.api-key-created-label{font-size:13px;color:#ffffffb3;margin-bottom:8px}.api-key-created-value{display:flex;align-items:center;gap:8px;margin-bottom:10px}.api-key-created-value code{flex:1;padding:8px 10px;background:#0000004d;border-radius:6px;font-size:12px;color:#50c878;word-break:break-all;font-family:SF Mono,Fira Code,monospace}.copy-key-button{padding:6px 14px;background:#50c87833;border:1px solid rgba(80,200,120,.4);border-radius:6px;color:#50c878;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-key-button:hover{background:#50c8784d}.api-key-dismiss{padding:4px 10px;background:transparent;border:none;color:#fff6;font-size:12px;cursor:pointer;transition:color .2s ease}.api-key-dismiss:hover{color:#ffffffb3}.api-key-create-form{display:flex;gap:8px;margin-bottom:20px}.api-key-name-input{flex:1;padding:10px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;outline:none;transition:all .2s ease}.api-key-name-input::placeholder{color:#ffffff59}.api-key-name-input:focus{border-color:#6496ffb3;box-shadow:0 0 0 2px #6496ff33}.api-key-create-button{padding:10px 18px;background:#6496ff33;border:1px solid rgba(100,150,255,.4);border-radius:8px;color:#6496ff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.api-key-create-button:hover:not(:disabled){background:#6496ff4d}.api-key-create-button:disabled{opacity:.4;cursor:not-allowed}.api-keys-list{display:flex;flex-direction:column;gap:1px}.api-keys-empty{padding:24px 0;text-align:center;color:#ffffff59;font-size:13px}.api-key-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.05)}.api-key-row:last-child{border-bottom:none}.api-key-info{flex:1;min-width:0}.api-key-name{font-size:14px;font-weight:500;color:#ffffffe6;margin-bottom:4px}.api-key-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:#fff6}.api-key-meta code{font-family:SF Mono,Fira Code,monospace;color:#ffffff80}.api-key-delete-button{padding:6px 12px;background:#ff50501a;border:1px solid rgba(255,80,80,.25);border-radius:6px;color:#ff6b6b;font-size:12px;cursor:pointer;transition:all .2s ease;margin-left:12px}.api-key-delete-button:hover{background:#ff505033;border-color:#ff505066}.move-history{position:absolute;top:20px;right:20px;width:200px;max-height:400px;background:#14141ee6;border:1px solid rgba(255,255,255,.15);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;pointer-events:auto;overflow:hidden;display:flex;flex-direction:column}.move-history-title{margin:0;padding:12px 16px;font-size:14px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.move-history-list{flex:1;overflow-y:auto;padding:8px}.move-pair{display:grid;grid-template-columns:28px 1fr 1fr;gap:4px;padding:6px 8px;border-radius:6px;font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace}.move-pair:nth-child(odd){background:#ffffff08}.move-number{color:#ffffff80;text-align:right;padding-right:4px}.move-notation{color:#fff}.white-move{color:#f0f0f0}.black-move{color:#a0a0a0}.no-moves{color:#ffffff80;font-size:13px;padding:12px;text-align:center;font-style:italic}.move-history-list::-webkit-scrollbar{width:6px}.move-history-list::-webkit-scrollbar-track{background:transparent}.move-history-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.move-history-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.move-spinner{margin-left:8px;font-size:12px;animation:spin 1s linear infinite}.move-loading{display:flex;justify-content:center;align-items:center;padding:16px 12px;background:#6496ff1a;border-radius:6px;margin:4px}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#6496ffcc;border-radius:50%;animation:spin .8s linear infinite}.inline-spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:#6496ffcc;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.clock{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;background:#0000004d;font-family:JetBrains Mono,Fira Code,monospace;transition:all .2s ease}.clock__label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.05em}.clock__time{font-size:1.25rem;font-weight:600;color:#fff;min-width:4.5rem;text-align:right}.clock__indicator{width:8px;height:8px;border-radius:50%;background:#4ade80;animation:pulse 1s infinite}.clock--active{background:#4ade8026;border:1px solid rgba(74,222,128,.3)}.clock--active .clock__time{color:#4ade80}.clock--player{background:#3b82f626;border:1px solid rgba(59,130,246,.3)}.clock--player.clock--active{background:#4ade8033;border-color:#4ade8066}.clock--low .clock__time{color:#fbbf24}.clock--low .clock__indicator{background:#fbbf24}.clock--low.clock--active{background:#fbbf2426;border-color:#fbbf244d}.clock--critical .clock__time{color:#ef4444;animation:blink .5s infinite}.clock--critical .clock__indicator{background:#ef4444;animation:pulse .3s infinite}.clock--critical.clock--active{background:#ef444426;border-color:#ef44444d}.clock--expired{background:#ef444433;border:1px solid rgba(239,68,68,.4)}.clock--expired .clock__time{color:#ef4444}.clock--expired .clock__indicator{display:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.time-control-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:4px;background:#3b82f626;border:1px solid rgba(59,130,246,.3);color:#93c5fd;font-size:.75rem;font-weight:500}.time-control-badge--unlimited{background:#9ca3af26;border-color:#9ca3af4d;color:#9ca3af}.time-control-icon{width:14px;height:14px}.clocks-panel{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#0006;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.clocks-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.clocks-panel__clocks{display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.clock{padding:.375rem .5rem}.clock__time{font-size:1rem;min-width:3.5rem}.clock__label{font-size:.65rem}.time-control-badge{font-size:.65rem;padding:.2rem .4rem}}.email-verify-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(255,193,7,.3);border-radius:16px;padding:0;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080;animation:slideIn .3s ease-out}.email-verify-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(255,193,7,.2)}.email-verify-modal .modal-header h2{margin:0;font-size:24px;color:#ffc107;font-weight:600}.email-verify-modal .modal-content{padding:32px 24px;text-align:center}.email-verify-modal .verify-icon{margin-bottom:16px;color:#ffc107}.email-verify-modal .verify-title{font-size:20px;font-weight:600;color:#fff;margin:0 0 16px}.email-verify-modal .verify-message{font-size:16px;color:#fffc;line-height:1.6;margin:0}.email-verify-modal .verify-message strong{color:#fff}.email-verify-modal .verify-error{color:#ff6b6b;font-size:14px;margin:12px 0 0}.email-verify-modal .verify-success{color:#4caf50;font-size:14px;margin:12px 0 0}.email-verify-modal .modal-actions{padding:16px 24px 24px;display:flex;justify-content:center;gap:12px}.email-verify-modal .modal-button.secondary{background:transparent;border:1px solid rgba(255,193,7,.4);color:#ffc107;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:background .2s}.email-verify-modal .modal-button.secondary:hover:not(:disabled){background:#ffc1071a}.email-verify-modal .modal-button.secondary:disabled{opacity:.5;cursor:not-allowed}.email-verify-modal .modal-button.primary{background:linear-gradient(135deg,#ffc107,#ff9800);border:none;color:#1a1a2e;padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.email-verify-modal .modal-button.primary:hover{opacity:.9}.new-game-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.new-game-modal{background:#191923fa;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:500px;max-width:90vw;overflow:hidden;box-shadow:0 20px 60px #00000080;pointer-events:auto}.new-game-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.new-game-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.new-game-header .close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff9;cursor:pointer;transition:all .2s ease}.new-game-header .close-button:hover{background:#ffffff1a;color:#fff}.new-game-header .close-button svg{width:18px;height:18px}.new-game-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.tab-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;background:transparent;border:none;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.tab-button.active{color:#6496ff}.tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#6496ff}.tab-button svg{width:16px;height:16px}.new-game-content{padding:24px}.error-message{background:#ff505026;border:1px solid rgba(255,80,80,.3);border-radius:8px;padding:12px 16px;margin-bottom:20px;color:#f66;font-size:14px}.find-opponent-section{display:flex;flex-direction:column}.description{color:#ffffffb3;font-size:15px;margin:0 0 24px;line-height:1.5;text-align:center}.matchmaking-options{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.option-group{display:flex;flex-direction:column;gap:8px}.option-label{color:#ffffffe6;font-size:14px;font-weight:500}.option-description{margin:0;color:#ffffff80;font-size:12px;padding-left:28px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:4px;position:relative;transition:all .2s ease}.checkbox-label input:checked+.checkbox-custom{background:#6496ff;border-color:#6496ff}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label input:disabled+.checkbox-custom{opacity:.5;cursor:not-allowed}.checkbox-text{color:#fff;font-size:14px;font-weight:500}.option-note{color:#fff6;font-size:12px;margin-left:8px}.radio-group{display:flex;gap:16px;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-label input{display:none}.radio-custom{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;position:relative;transition:all .2s ease}.radio-label input:checked+.radio-custom{border-color:#6496ff}.radio-label input:checked+.radio-custom:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:#6496ff;border-radius:50%}.radio-text{color:#ffffffe6;font-size:14px}.time-controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.time-control-option{padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:8px;transition:all .2s ease}.time-control-option:hover{background:#ffffff0f;border-color:#ffffff26}.time-control-option input:checked~.checkbox-text{color:#6496ff}.time-control-option:has(input:checked){background:#6496ff1a;border-color:#6496ff4d}.time-control-option .checkbox-text{font-size:13px}.find-opponent-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 32px;background:linear-gradient(135deg,#4a7c4e,#3d6640);border:1px solid rgba(100,200,100,.3);border-radius:10px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.find-opponent-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a8c5e,#4d7650);transform:translateY(-2px);box-shadow:0 4px 20px #64c8644d}.find-opponent-btn:disabled{opacity:.7;cursor:not-allowed}.find-opponent-btn svg{width:20px;height:20px}.searching-view{display:flex;flex-direction:column;align-items:center;padding:20px 0}.searching-animation{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:16px}.spinner{width:48px;height:48px;border:3px solid rgba(100,150,255,.2);border-top-color:#6496ff;border-radius:50%;animation:spin 1s linear infinite}.searching-text{margin:0;color:#fff;font-size:16px;font-weight:500}.searching-elapsed{margin:0;color:#fff6;font-size:14px;font-variant-numeric:tabular-nums}.searching-hint{margin:0 0 24px;color:#ffffff80;font-size:14px;text-align:center}.cancel-search-btn{padding:12px 24px;background:#ff646426;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f66;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-search-btn:hover{background:#ff646440;border-color:#ff646480}.create-section{text-align:center}.create-game-btn{padding:14px 32px;background:linear-gradient(135deg,#4a7c4e,#3d6640);border:1px solid rgba(100,200,100,.3);border-radius:10px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.create-game-btn:hover:not(:disabled){background:linear-gradient(135deg,#5a8c5e,#4d7650);transform:translateY(-2px);box-shadow:0 4px 20px #64c8644d}.create-game-btn:disabled{opacity:.7;cursor:not-allowed}.links-section{display:flex;flex-direction:column;gap:20px}.link-group{display:flex;flex-direction:column;gap:8px}.link-group label{color:#ffffffe6;font-size:14px;font-weight:500}.link-row{display:flex;gap:8px}.link-input{flex:1;padding:10px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace}.link-input:focus{outline:none;border-color:#6496ff80}.copy-btn{padding:10px 16px;background:#6496ff33;border:1px solid rgba(100,150,255,.4);border-radius:8px;color:#6496ff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.copy-btn:hover{background:#6496ff4d;border-color:#6496ff99}.link-hint{margin:4px 0 0;color:#ffffff80;font-size:12px}.status-section{padding:16px;background:#ffc8321a;border:1px solid rgba(255,200,50,.2);border-radius:8px;text-align:center}.waiting-text{margin:0;color:#ffc832;font-size:14px;font-weight:500}.start-playing-btn{width:100%;padding:14px;background:#6496ff26;border:1px solid rgba(100,150,255,.3);border-radius:10px;color:#6496ff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.start-playing-btn:hover{background:#6496ff40;border-color:#6496ff80}.lobby-section{display:flex;flex-direction:column}.lobby-loading,.lobby-empty{text-align:center;color:#ffffff80;font-size:14px;padding:32px 0}.lobby-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:320px;overflow-y:auto}.lobby-entry{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .15s ease}.lobby-entry:hover{background:#ffffff12;border-color:#ffffff1f}.lobby-entry-name{display:flex;align-items:center;gap:8px}.lobby-display-name{color:#fff;font-size:14px;font-weight:600}.lobby-agent-badge{font-size:11px;padding:2px 6px;background:#b482ff26;border:1px solid rgba(180,130,255,.3);border-radius:4px;color:#b482ff;font-weight:500}.lobby-entry-details{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lobby-elo{color:#fff9;font-size:12px;font-variant-numeric:tabular-nums}.lobby-ranked-badge{font-size:11px;padding:1px 6px;background:#ffb43226;border:1px solid rgba(255,180,50,.3);border-radius:4px;color:#ffb432;font-weight:500}.lobby-opponent-type{font-size:12px;color:#ffffff80}.lobby-time-controls{font-size:11px;color:#6496ffcc}.lobby-color-pref{font-size:11px;padding:1px 6px;border-radius:4px;font-weight:500}.lobby-color-pref.white{background:#ffffff1f;color:#fffc}.lobby-color-pref.black{background:#0000004d;border:1px solid rgba(255,255,255,.15);color:#fff9}.lobby-wait-time{font-size:11px;color:#ffffff59;margin-left:auto;font-variant-numeric:tabular-nums}.lobby-refresh-btn{width:100%;padding:10px;background:#6496ff1a;border:1px solid rgba(100,150,255,.25);border-radius:8px;color:#6496ff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.lobby-refresh-btn:hover:not(:disabled){background:#6496ff33;border-color:#6496ff66}.lobby-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.end-game-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.end-game-modal{background:#191923fa;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:24px;min-width:320px;max-width:400px;box-shadow:0 8px 40px #00000080}.end-game-header{text-align:center;margin-bottom:20px}.end-game-header h2{margin:0;color:#fff;font-size:20px;font-weight:600}.end-game-content{display:flex;flex-direction:column;gap:12px}.end-game-content--centered{text-align:center}.end-game-warning{color:#fffc;font-size:14px;line-height:1.5;margin:0;padding:16px;background:#ff64641a;border:1px solid rgba(255,100,100,.2);border-radius:8px}.end-game-option{display:flex;align-items:center;gap:16px;padding:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.end-game-option:hover:not(:disabled){background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.end-game-option:disabled{opacity:.5;cursor:not-allowed}.end-game-option-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:10px;flex-shrink:0}.end-game-option-icon svg{width:24px;height:24px}.end-game-option-text{flex:1;display:flex;flex-direction:column;gap:2px}.end-game-option-title{color:#fff;font-size:15px;font-weight:600}.end-game-option-desc{color:#fff9;font-size:13px}.end-game-option--resign .end-game-option-icon{background:#ff646426;color:#ff6b6b}.end-game-option--resign:hover:not(:disabled){border-color:#ff646466}.end-game-option--draw .end-game-option-icon,.end-game-option--offer .end-game-option-icon{background:#6496ff26;color:#6496ff}.end-game-option--draw:hover:not(:disabled),.end-game-option--offer:hover:not(:disabled){border-color:#6496ff66}.end-game-option--claim{padding:12px 16px}.end-game-option--claim:hover:not(:disabled){border-color:#96969666}.end-game-option--claim-active{border-color:#27ae6066;background:#27ae601a}.end-game-option--claim-active .end-game-option-title{color:#2ecc71}.end-game-option--claim-active .end-game-option-desc{color:#2ecc71cc}.end-game-option--claim-active:hover:not(:disabled){border-color:#27ae6099;background:#27ae6026}.end-game-divider{display:flex;align-items:center;gap:12px;margin:8px 0}.end-game-divider:before,.end-game-divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.end-game-divider span{color:#fff6;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.end-game-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.end-game-cancel-btn,.end-game-back-btn{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.end-game-cancel-btn:hover:not(:disabled),.end-game-back-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff40}.end-game-cancel-btn:disabled,.end-game-back-btn:disabled{opacity:.5;cursor:not-allowed}.end-game-confirm-btn{padding:10px 20px;background:#6496ff33;border:1px solid rgba(100,150,255,.4);border-radius:8px;color:#6496ff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.end-game-confirm-btn:hover:not(:disabled){background:#6496ff4d;border-color:#6496ff80}.end-game-confirm-btn--danger{background:#ff646433;border-color:#ff646466;color:#ff6b6b}.end-game-confirm-btn--danger:hover:not(:disabled){background:#ff64644d;border-color:#ff646480}.end-game-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.about-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:0;max-width:600px;width:90%;max-height:85vh;box-shadow:0 20px 60px #000000b3;animation:slideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden}.about-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(100,150,255,.2);display:flex;justify-content:space-between;align-items:center}.about-modal .modal-header h2{margin:0;font-size:24px;color:#fff;font-weight:600}.about-modal .close-button{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.about-modal .close-button:hover{background:#ffffff1a;color:#fff}.about-modal .close-button svg{width:100%;height:100%}.about-modal .modal-content{padding:24px;overflow-y:auto;flex:1}.about-logo{text-align:center;margin-bottom:24px;padding:20px;background:#6496ff1a;border-radius:12px}.chessmata-title{font-size:36px;font-weight:700;color:#fff;margin-bottom:12px;text-shadow:0 2px 10px rgba(100,150,255,.5)}.version-badge{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:14px;font-weight:600}.about-description{margin-bottom:24px;color:#fffc;line-height:1.6;font-size:15px}.about-features{margin-bottom:24px}.about-features h3{color:#fff;font-size:18px;margin:0 0 12px;font-weight:600}.about-features ul{list-style:none;padding:0;margin:0}.about-features li{padding:8px 0 8px 28px;color:#fffc;position:relative;font-size:14px}.about-features li:before{content:"✓";position:absolute;left:0;color:#4ade80;font-weight:700;font-size:16px}.about-links{margin-bottom:24px;text-align:center}.docs-link{display:inline-block;padding:12px 24px;background:#6496ff33;border:2px solid rgba(100,150,255,.4);border-radius:8px;color:#fff;text-decoration:none;font-size:16px;font-weight:600;transition:all .2s}.docs-link:hover{background:#6496ff4d;border-color:#6496ff99;transform:translateY(-2px);box-shadow:0 8px 20px #6496ff66}.about-footer{text-align:center;padding:16px;border-top:1px solid rgba(255,255,255,.1);background:#0003;border-radius:8px}.copyright{color:#ffffffb3;font-size:14px;margin-bottom:8px}.copyright a{color:#667eea;text-decoration:none;transition:color .2s}.copyright a:hover{color:#764ba2;text-decoration:underline}.license{color:#ffffff80;font-size:12px}.about-modal .modal-actions{padding:16px 24px 24px;display:flex;justify-content:center}.about-modal .modal-button{padding:12px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.about-modal .modal-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.about-modal .modal-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.about-modal::-webkit-scrollbar{width:8px}.about-modal::-webkit-scrollbar-track{background:#0003;border-radius:4px}.about-modal::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.about-modal::-webkit-scrollbar-thumb:hover{background:#fff6}.leaderboard-modal{background:#191923fa;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:520px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080;pointer-events:auto}.leaderboard-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.leaderboard-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.leaderboard-modal .close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff9;cursor:pointer;transition:all .2s ease}.leaderboard-modal .close-button:hover{background:#ffffff1a;color:#fff}.leaderboard-modal .close-button svg{width:18px;height:18px}.leaderboard-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.leaderboard-tab{flex:1;padding:12px 16px;background:transparent;border:none;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative}.leaderboard-tab:hover{color:#fffc;background:#ffffff0d}.leaderboard-tab.active{color:#6496ff}.leaderboard-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#6496ff}.leaderboard-content{padding:16px;overflow-y:auto;flex:1}.leaderboard-loading,.leaderboard-empty{text-align:center;color:#ffffff80;padding:40px 20px;font-size:14px}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table thead th{text-align:left;padding:8px 12px;color:#ffffff80;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.1)}.leaderboard-table tbody tr{transition:background .15s ease}.leaderboard-table tbody tr:hover{background:#ffffff0d}.leaderboard-table tbody td{padding:10px 12px;color:#ffffffe6;font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}.col-rank{width:40px;text-align:center!important}.col-elo{width:60px;font-variant-numeric:tabular-nums;font-weight:600;color:#6496ff!important}.col-record{width:90px;font-variant-numeric:tabular-nums;font-size:13px!important}.col-games{width:60px;font-variant-numeric:tabular-nums;text-align:center!important}.col-name{font-weight:500}.rank-medal{font-size:16px}.wins{color:#6fbf73}.losses{color:#f06868}.draws{color:#ffffff80}.watch-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.watch-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:0;max-width:520px;width:90%;max-height:80vh;box-shadow:0 20px 60px #000000b3;animation:watchSlideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden}@keyframes watchSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.watch-modal-header{padding:20px 24px 16px;border-bottom:1px solid rgba(100,150,255,.2);display:flex;justify-content:space-between;align-items:center}.watch-modal-header h2{margin:0;font-size:22px;color:#fff;font-weight:600}.watch-close-button{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.watch-close-button:hover{background:#ffffff1a;color:#fff}.watch-close-button svg{width:100%;height:100%}.watch-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.watch-tab{flex:1;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:#ffffff80;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.watch-tab:hover{color:#fffc;background:#ffffff08}.watch-tab.active{color:#6496ff;border-bottom-color:#6496ff}.watch-content{padding:16px 24px 24px;overflow-y:auto;flex:1}.watch-loading,.watch-empty{text-align:center;color:#ffffff80;padding:32px 0;font-size:14px}.watch-error{text-align:center;color:#f66;padding:16px;font-size:14px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;margin-bottom:12px}.watch-game-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.watch-game-entry{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;color:#fff;width:100%}.watch-game-entry:hover{background:#6496ff1a;border-color:#6496ff4d}.watch-game-players{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500}.watch-white-name{color:#f0f0f0}.watch-vs{color:#ffffff59;font-size:12px;font-weight:400}.watch-black-name{color:#b0b0b0}.watch-game-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.watch-ranked-badge{padding:2px 8px;background:#ffb43233;border:1px solid rgba(255,180,50,.4);border-radius:10px;color:#ffb432;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.watch-time-badge{padding:2px 8px;background:#64c8ff26;border:1px solid rgba(100,200,255,.3);border-radius:10px;color:#64c8ff;font-size:11px;font-weight:500;text-transform:capitalize}.watch-turn{font-size:12px;color:#ffffff80;text-transform:capitalize}.watch-result{font-size:12px;color:#6c6;font-weight:500}.watch-result.draw{color:#ffb464}.watch-reason{font-size:11px;color:#fff6}.watch-time{font-size:11px;color:#ffffff59;margin-left:auto}.watch-refresh-button{width:100%;padding:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s}.watch-refresh-button:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.watch-refresh-button:disabled{opacity:.5;cursor:not-allowed}.watch-content::-webkit-scrollbar{width:8px}.watch-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.watch-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.watch-content::-webkit-scrollbar-thumb:hover{background:#fff6}.auth-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.auth-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:0;max-width:450px;width:90%;max-height:85vh;box-shadow:0 20px 60px #000000b3;animation:slideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.auth-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(100,150,255,.2);display:flex;justify-content:space-between;align-items:center}.auth-modal .modal-header h2{margin:0;font-size:24px;color:#fff;font-weight:600}.auth-modal .close-button{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.auth-modal .close-button:hover{background:#ffffff1a;color:#fff}.auth-modal .close-button svg{width:100%;height:100%}.modal-tabs{display:flex;border-bottom:1px solid rgba(100,150,255,.2);background:#0003}.tab-button{flex:1;padding:16px;background:none;border:none;color:#fff9;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.tab-button:hover{color:#fffc;background:#ffffff0d}.tab-button.active{color:#fff}.tab-button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#667eea,#764ba2)}.auth-modal .modal-content{padding:24px;overflow-y:auto;flex:1}.error-message{padding:12px 16px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f66;font-size:14px;margin-bottom:20px}.success-message{padding:12px 16px;background:#64c8641a;border:1px solid rgba(100,200,100,.3);border-radius:8px;color:#6c6;font-size:14px;margin-bottom:20px}.forgot-password-link{background:none;border:none;color:#6496ffcc;font-size:14px;cursor:pointer;padding:0;margin-bottom:16px;text-align:left;transition:color .2s}.forgot-password-link:hover{color:#6496ff;text-decoration:underline}.forgot-password-text{color:#ffffffb3;font-size:14px;line-height:1.6;margin-bottom:20px}.back-to-login-button{width:100%;padding:12px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;font-size:14px;cursor:pointer;transition:all .2s;margin-top:8px}.back-to-login-button:hover{background:#ffffff0d;border-color:#ffffff4d}.submit-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:16px}.divider{position:relative;text-align:center;margin:20px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#ffffff1a}.divider span{position:relative;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:0 12px;color:#ffffff80;font-size:13px}.google-button{width:100%;padding:14px 24px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;color:#333;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:12px}.google-button:hover:not(:disabled){background:#f8f8f8;box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.google-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-modal .modal-content::-webkit-scrollbar{width:8px}.auth-modal .modal-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.auth-modal .modal-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.auth-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#fff6}.input-status{position:absolute;right:12px;display:flex;align-items:center;font-size:12px}.input-status.checking{color:#ffffff80}.input-status.available{color:#6c6}.input-status.unavailable{color:#f66}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.profile-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:0;max-width:450px;width:90%;max-height:85vh;box-shadow:0 20px 60px #000000b3;animation:slideIn .3s ease-out;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.profile-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(100,150,255,.2);display:flex;justify-content:space-between;align-items:center}.profile-modal .modal-header h2{margin:0;font-size:24px;color:#fff;font-weight:600}.profile-modal .close-button{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.profile-modal .close-button:hover{background:#ffffff1a;color:#fff}.profile-modal .close-button svg{width:100%;height:100%}.profile-modal .modal-content{padding:24px;overflow-y:auto;flex:1}.profile-info{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar svg{width:36px;height:36px;color:#fff}.profile-details{flex:1;min-width:0}.display-name-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.display-name{margin:0;font-size:20px;font-weight:600;color:#fff}.edit-display-name-button{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.edit-display-name-button:hover{color:#fffc;background:#ffffff1a}.edit-display-name-button svg{width:16px;height:16px}.change-cooldown-hint{display:flex;align-items:center;gap:4px;color:#fff6;font-size:12px}.change-cooldown-hint svg{width:14px;height:14px}.email{margin:0;font-size:14px;color:#fff9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-not-verified{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;background:#ffb4641a;border:1px solid rgba(255,180,100,.3);border-radius:6px;font-size:13px;color:#ffb464}.warning-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.warning-icon svg{width:100%;height:100%}.resend-verification-button{margin-left:auto;background:none;border:none;color:#ffb464;font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;padding:0}.resend-verification-button:hover{color:#ffc98a}.resend-verification-button:disabled{opacity:.5;cursor:not-allowed}.resend-cooldown{margin-left:auto;color:#ffb464b3;font-size:12px}.profile-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.stat-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;text-align:center}.stat-label{display:block;font-size:12px;color:#ffffff80;margin-bottom:4px}.stat-value{display:block;font-size:20px;font-weight:600;color:#fff}.stat-value.wins{color:#6c6}.stat-value.losses{color:#f66}.profile-actions{display:flex;flex-direction:column;gap:12px}.change-password-button{width:100%;padding:14px 24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.change-password-button:hover{background:#ffffff1a;border-color:#ffffff4d}.change-password-button svg{width:20px;height:20px}.logout-button{width:100%;padding:14px 24px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f66;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.logout-button:hover{background:#ff646433;border-color:#ff646480}.logout-button svg{width:20px;height:20px}.error-message{padding:12px 16px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f66;font-size:14px;margin-bottom:16px}.success-message{padding:12px 16px;background:#64c8641a;border:1px solid rgba(100,200,100,.3);border-radius:8px;color:#6c6;font-size:14px;margin-bottom:16px}.change-display-name-description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 20px}.input-with-status{position:relative;display:flex;align-items:center}.input-with-status input{flex:1;padding-right:40px}.input-with-status .input-status{position:absolute;right:12px;display:flex;align-items:center;justify-content:center}.input-with-status .input-status svg{width:20px;height:20px}.input-with-status .input-status.checking svg{animation:spin 1s linear infinite;color:#ffffff80}.input-with-status .input-status.available svg{color:#6c6}.input-with-status .input-status.taken svg{color:#f66}.input-with-status input.input-error{border-color:#ff646480}.input-with-status input.input-success{border-color:#64c86480}.field-error{color:#f66;font-size:12px;margin-top:6px}.change-info-text{color:#ffffff80;font-size:12px;margin-top:6px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.change-password-description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#ffffffe6;font-size:14px;font-weight:500}.form-group input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:15px;transition:all .2s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#6496ff80;background:#ffffff14}.form-group input::placeholder{color:#ffffff4d}.form-group input:disabled{opacity:.5;cursor:not-allowed}.submit-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:12px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.back-button{width:100%;padding:12px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;font-size:14px;cursor:pointer;transition:all .2s}.back-button:hover{background:#ffffff0d;border-color:#ffffff4d}.profile-modal .modal-content::-webkit-scrollbar{width:8px}.profile-modal .modal-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.profile-modal .modal-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.profile-modal .modal-content::-webkit-scrollbar-thumb:hover{background:#fff6}.view-games-button{width:100%;padding:14px 24px;background:#6496ff1a;border:1px solid rgba(100,150,255,.3);border-radius:8px;color:#6496ff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.view-games-button:hover{background:#6496ff33;border-color:#6496ff80}.view-games-button svg{width:20px;height:20px}.profile-modal-wide{max-width:520px}.game-history-filters{display:flex;gap:8px;margin-bottom:8px}.game-history-filters+.game-history-filters{margin-bottom:16px}.filter-btn{flex:1;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff9;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#ffffff14;color:#fffc}.filter-btn.active{background:#6496ff26;border-color:#6496ff66;color:#6496ff}.history-loading,.history-empty{text-align:center;color:#ffffff80;padding:32px 0;font-size:14px}.game-history-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.game-entry{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left;color:#fff;width:100%}.game-entry:hover:not(:disabled){background:#6496ff14;border-color:#6496ff40}.game-entry:disabled{cursor:default}.game-entry-top{display:flex;justify-content:space-between;align-items:center}.game-entry-players{font-size:14px;font-weight:500;color:#ffffffe6}.game-entry-date{font-size:11px;color:#fff6}.game-entry-bottom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.game-entry-result{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.game-entry-result.win{color:#6c6;background:#64c8641a}.game-entry-result.loss{color:#f66;background:#ff64641a}.game-entry-result.draw{color:#ffb464;background:#ffb4641a}.game-entry-reason{font-size:11px;color:#fff6}.ranked-badge-sm{padding:1px 6px;background:#ffb43226;border:1px solid rgba(255,180,50,.3);border-radius:8px;color:#ffb432;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.game-entry-elo{font-size:12px;font-weight:600}.game-entry-elo.positive{color:#6c6}.game-entry-elo.negative{color:#f66}.game-entry-moves{font-size:11px;color:#ffffff59;margin-left:auto}.load-more-btn{width:100%;padding:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .2s;margin-bottom:12px}.load-more-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff40}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.game-summary-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto}.game-summary-modal{position:relative;background:#14141efa;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:0;max-width:480px;width:90%;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000080;animation:summarySlideIn .3s ease-out}@keyframes summarySlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.result-header{padding:24px;text-align:center}.result-header.victory{background:linear-gradient(135deg,#32783266,#50b45033);border-bottom:2px solid rgba(100,200,100,.5)}.result-header.defeat{background:linear-gradient(135deg,#78323266,#b4505033);border-bottom:2px solid rgba(200,100,100,.5)}.result-header.draw{background:linear-gradient(135deg,#64643266,#b4b45033);border-bottom:2px solid rgba(200,200,100,.5)}.result-header h2{margin:0;font-size:24px;font-weight:700}.result-header.victory h2{color:#64ff64}.result-header.defeat h2{color:#ff6464}.result-header.draw h2{color:#ffff64}.summary-content{padding:24px}.stats-section{margin-bottom:24px}.stats-section h3,.elo-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-item{background:#ffffff0d;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#ffffff80}.stat-value{font-size:18px;font-weight:600;color:#fff}.stat-value.capitalize{text-transform:capitalize}.players-section{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:#ffffff08;border-radius:12px}.player-card{flex:1;display:flex;flex-direction:column;gap:4px}.player-card.you{text-align:left}.player-card.opponent{text-align:right}.player-header{display:flex;align-items:center;gap:8px}.player-card.opponent .player-header{justify-content:flex-end}.player-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.color-badge{font-size:10px;padding:2px 6px;border-radius:4px;text-transform:capitalize;font-weight:600}.color-badge.white{background:#fff3;color:#fff}.color-badge.black{background:#6464644d;color:#aaa}.player-name{font-size:16px;font-weight:600;color:#fff}.player-elo{font-size:13px;color:#fff9}.vs-divider{font-size:14px;color:#fff6;font-weight:600}.elo-section{margin-bottom:24px;text-align:center}.elo-display{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px;background:#ffffff0d;border-radius:12px}.elo-change{font-size:32px;font-weight:700}.elo-change.positive{color:#64ff64}.elo-change.negative{color:#ff6464}.elo-arrow{color:#fff6}.elo-arrow svg{width:24px;height:24px}.new-elo{display:flex;flex-direction:column;align-items:center}.new-elo-value{font-size:28px;font-weight:700;color:#fff}.new-elo-label{font-size:11px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.unranked-note{text-align:center;padding:16px;background:#6496ff1a;border:1px solid rgba(100,150,255,.3);border-radius:8px;color:#ffffffb3;font-size:13px}.summary-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid rgba(255,255,255,.1)}.action-btn{flex:1;padding:14px 20px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn.primary{background:linear-gradient(135deg,#64c8644d,#50b45033);border:1px solid rgba(100,200,100,.5);color:#64ff64}.action-btn.primary:hover{background:linear-gradient(135deg,#64c86466,#50b4504d);border-color:#64c864b3;transform:translateY(-1px)}.action-btn.secondary{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#fffc}.action-btn.secondary:hover{background:#ffffff1a;border-color:#ffffff40}.action-btn:active{transform:translateY(1px)}.draw-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.draw-modal{background:#1a1a2e;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:28px 32px;max-width:360px;width:90%;text-align:center;box-shadow:0 8px 32px #0006}.draw-modal-icon{width:48px;height:48px;margin:0 auto 16px;color:#e74c3c}.draw-modal-icon--offer{color:#f0c040}.draw-modal-icon svg{width:100%;height:100%}.draw-modal-spinner{display:flex;justify-content:center;margin-bottom:16px}.draw-modal-spinner .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#f0c040;border-radius:50%;animation:draw-spin .8s linear infinite}@keyframes draw-spin{to{transform:rotate(360deg)}}.draw-modal-title{color:#fff;font-size:18px;font-weight:600;margin:0 0 8px}.draw-modal-message{color:#ffffffb3;font-size:14px;margin:0 0 6px;line-height:1.4}.draw-modal-detail{color:#ffffff80;font-size:13px;margin:0 0 20px}.draw-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.draw-modal-btn{padding:10px 24px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,transform .1s}.draw-modal-btn:active{transform:scale(.97)}.draw-modal-btn--primary{background:#3a7bd5;color:#fff;margin-top:16px}.draw-modal-btn--primary:hover{background:#4a8be5}.draw-modal-btn--accept{background:#27ae60;color:#fff}.draw-modal-btn--accept:hover{background:#2ecc71}.draw-modal-btn--decline{background:#ffffff1a;color:#fffc}.draw-modal-btn--decline:hover{background:#ffffff26}.hud{position:fixed;inset:0;pointer-events:none;z-index:100}.hud-menu{position:absolute;top:20px;left:20px;pointer-events:auto;display:flex;flex-direction:column;gap:10px}.settings-button{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#14141ed9;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.settings-button:hover{background:#1e1e2df2;border-color:#6496ff80;box-shadow:0 4px 25px #6496ff33;transform:translateY(-2px)}.settings-button:active{transform:translateY(0)}.about-button,.login-button,.profile-button,.leaderboard-button,.watch-button{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#14141ed9;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.about-button:hover,.login-button:hover,.profile-button:hover,.leaderboard-button:hover,.watch-button:hover{background:#1e1e2df2;border-color:#6496ff80;box-shadow:0 4px 25px #6496ff33;transform:translateY(-2px)}.about-button:active,.login-button:active,.profile-button:active,.leaderboard-button:active,.watch-button:active{transform:translateY(0)}.toggle-button{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#14141ed9;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.toggle-button:hover:not(:disabled){background:#1e1e2df2;border-color:#6496ff80;box-shadow:0 4px 25px #6496ff33;transform:translateY(-2px)}.toggle-button:active:not(:disabled){transform:translateY(0)}.toggle-button:disabled{opacity:.7;cursor:not-allowed}.toggle-button.transitioning{animation:pulse 1s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 20px #0000004d}50%{box-shadow:0 4px 30px #6496ff66}}.toggle-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.toggle-icon svg{width:100%;height:100%}.toggle-text{white-space:nowrap}.hud-info{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.mode-indicator{padding:8px 16px;background:#14141ebf;border:1px solid rgba(255,255,255,.1);border-radius:20px;color:#fff;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:1px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.controls-hint{color:#fff9;font-size:12px}.new-game-button,.leave-game-button,.end-game-button{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#14141ed9;border:1px solid rgba(255,255,255,.15);border-radius:12px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d}.new-game-button{border-color:#64c8644d}.new-game-button:hover:not(:disabled){background:#1e321ef2;border-color:#64c86499;box-shadow:0 4px 25px #64c86433;transform:translateY(-2px)}.new-game-button:disabled{opacity:.7;cursor:not-allowed}.leave-game-button:hover{background:#321e1ef2;border-color:#ff646480;box-shadow:0 4px 25px #ff646433;transform:translateY(-2px)}.end-game-button{border-color:#ff96324d}.end-game-button:hover{background:#322314f2;border-color:#ff963299;box-shadow:0 4px 25px #ff963233;transform:translateY(-2px)}.game-status-panel{position:absolute;top:20px;left:50%;transform:translate(-50%);background:#14141ee6;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;pointer-events:auto;text-align:center;display:flex;flex-direction:row;align-items:center;gap:16px}.game-status-header{display:flex;flex-direction:row;align-items:center;gap:12px}.player-color{font-size:14px;font-weight:600;text-transform:capitalize}.player-color.white{color:#f0f0f0}.player-color.black{color:#a0a0a0}.opponent-name{font-size:13px;color:#ffffffb3;font-weight:500}.game-complete{color:#f90;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px}.share-section{display:flex;flex-direction:row;align-items:center;gap:12px;padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}.share-text{margin:0;color:#ffffffb3;font-size:13px;white-space:nowrap}.copy-link-button{padding:8px 16px;background:#6496ff33;border:1px solid rgba(100,150,255,.4);border-radius:8px;color:#6496ff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.copy-link-button:hover{background:#6496ff4d;border-color:#6496ff99}.turn-indicator{display:flex;flex-direction:row;align-items:center;gap:10px}.check-warning{display:inline-block;padding:6px 14px;background:#ff323240;border:1px solid rgba(255,80,80,.5);border-radius:6px;color:#f55;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px;animation:checkPulse 1.5s ease-in-out infinite}@keyframes checkPulse{0%,to{box-shadow:0 0 8px #ff32324d}50%{box-shadow:0 0 16px #ff323299}}.your-turn{color:#64ff64;font-weight:600;font-size:14px}.opponent-turn{color:#ffffff80;font-size:14px}.ranked-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#ffb4324d,#ff961e33);border:1px solid rgba(255,180,50,.5);border-radius:12px;color:#ffb432;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.game-status-badges{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.clocks-container{display:flex;flex-direction:row;gap:12px;padding:8px 12px;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.clocks-container .clock{flex-direction:row;gap:8px}.clocks-container .clock__label{text-align:left;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-mode-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#64c8ff4d,#5096ff33);border:1px solid rgba(100,200,255,.5);border-radius:12px;color:#64c8ff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.watch-player-names{font-size:14px;color:#fffc;font-weight:500}.connection-error-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(255,100,100,.3);border-radius:16px;padding:0;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080;animation:slideIn .3s ease-out}.connection-error-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(255,100,100,.2)}.connection-error-modal .modal-header h2{margin:0;font-size:24px;color:#ff6b6b;font-weight:600}.connection-error-modal .modal-content{padding:32px 24px;text-align:center}.connection-error-modal .error-icon{font-size:64px;margin-bottom:16px}.connection-error-modal .error-title{font-size:20px;font-weight:600;color:#fff;margin:0 0 16px}.connection-error-modal .error-message{font-size:16px;color:#fffc;line-height:1.6;margin:0}.connection-error-modal .modal-actions{padding:16px 24px 24px;display:flex;justify-content:center;gap:12px}.invalid-move-modal{background:linear-gradient(135deg,#2a2a3e,#1e2a4e);border:2px solid rgba(255,100,100,.4);border-radius:16px;padding:0;max-width:550px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #000000b3;animation:slideIn .3s ease-out}.invalid-move-modal .modal-header{padding:24px 24px 16px;border-bottom:1px solid rgba(255,100,100,.2);display:flex;justify-content:space-between;align-items:center}.invalid-move-modal .modal-header h2{margin:0;font-size:24px;color:#ff6b6b;font-weight:600}.invalid-move-modal .close-button{background:none;border:none;color:#fff9;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.invalid-move-modal .close-button:hover{background:#ffffff1a;color:#fff}.invalid-move-modal .modal-content{padding:24px}.invalid-move-modal .error-reason{background:#ff64641a;border-left:4px solid #ff6b6b;padding:12px 16px;margin-bottom:24px;border-radius:6px;color:#ffb3b3;font-size:16px;font-weight:500}.movement-info h3{color:#fff;font-size:20px;margin:0 0 12px;font-weight:600}.movement-info .description{color:#fffc;line-height:1.6;margin:0 0 24px;font-size:15px}.visual-board{background:#0000004d;padding:20px;border-radius:12px;display:inline-block;margin:0 auto;border:2px solid rgba(100,150,255,.2)}.visual-row{display:flex;gap:2px;margin-bottom:2px}.visual-row:last-child{margin-bottom:0}.visual-cell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:28px;border-radius:4px;transition:all .2s}.visual-cell.empty{background:#ffffff0d}.visual-cell.highlighted{background:#6496ff4d;box-shadow:0 0 10px #6496ff66;animation:pulse 2s ease-in-out infinite}.visual-cell.blocked{background:#ff323233;color:#f44;font-size:32px;font-weight:700;animation:blockPulse 1.5s ease-in-out infinite}.visual-cell.piece{background:#ffffff1a;font-weight:700;animation:pieceGlow 3s ease-in-out infinite}.visual-cell.arrow{background:#32c86426;color:#4ade80;font-size:28px;font-weight:700;animation:arrowPulse 2s ease-in-out infinite;text-shadow:0 0 8px rgba(74,222,128,.6)}.visual-cell.capture{background:#ffb43233;color:#ffa726;font-size:24px;font-weight:700;animation:capturePulse 2s ease-in-out infinite;text-shadow:0 0 8px rgba(255,167,38,.6)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@keyframes blockPulse{0%,to{opacity:1;transform:scale(1);color:#f44}50%{opacity:.6;transform:scale(1.1);color:#f66}}@keyframes pieceGlow{0%,to{box-shadow:0 0 5px #ffffff4d}50%{box-shadow:0 0 15px #fff9}}@keyframes arrowPulse{0%,to{transform:scale(1);opacity:1;color:#4ade80}50%{transform:scale(1.15);opacity:.8;color:#86efac}}@keyframes capturePulse{0%,to{transform:scale(1);opacity:1;color:#ffa726}50%{transform:scale(1.2);opacity:.85;color:#ffb74d}}.invalid-move-modal .modal-actions{padding:16px 24px 24px;display:flex;justify-content:center}.invalid-move-modal .modal-button{padding:12px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.invalid-move-modal .modal-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.invalid-move-modal .modal-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.invalid-move-modal::-webkit-scrollbar{width:8px}.invalid-move-modal::-webkit-scrollbar-track{background:#0003;border-radius:4px}.invalid-move-modal::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.invalid-move-modal::-webkit-scrollbar-thumb:hover{background:#fff6}.promotion-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.promotion-modal{background:#191923fa;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:20px 24px;box-shadow:0 16px 48px #00000080}.promotion-title{font-size:14px;font-weight:600;color:#fffc;text-align:center;margin-bottom:16px}.promotion-options{display:flex;gap:8px}.promotion-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;cursor:pointer;transition:all .2s ease}.promotion-option:hover{background:#6496ff26;border-color:#6496ff66}.promotion-piece{font-size:36px;line-height:1}.promotion-piece.white-piece{color:#f0f0f0;text-shadow:0 1px 3px rgba(0,0,0,.4)}.promotion-piece.black-piece{color:#333;text-shadow:0 1px 3px rgba(255,255,255,.2)}.promotion-label{font-size:11px;color:#ffffff80;font-weight:500}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-restoring-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:48px;max-width:400px;width:90%;box-shadow:0 20px 60px #00000080;animation:fadeIn .3s ease-out;text-align:center}.session-restoring-modal.error{border-color:#ff64644d}.session-restoring-modal .modal-content{display:flex;flex-direction:column;align-items:center;gap:20px}.spinner-large{width:64px;height:64px;border:6px solid rgba(255,255,255,.1);border-top-color:#6496ffcc;border-radius:50%;animation:spin 1s linear infinite}.session-restoring-modal h2{margin:0;font-size:24px;color:#fff;font-weight:600}.session-restoring-modal p{margin:0;font-size:16px;color:#ffffffb3;line-height:1.5}.session-restoring-modal .error-icon{font-size:64px}.session-restoring-modal .error-message{color:#ffb3b3;font-weight:500}.session-restoring-modal .modal-button{padding:12px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.session-restoring-modal .modal-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.session-restoring-modal .modal-button.primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.verify-email-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a1a,#1a1a2e,#16213e);padding:20px}.verify-email-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:40px;max-width:450px;width:100%;box-shadow:0 20px 60px #000000b3}.verify-email-logo{text-align:center;margin-bottom:32px}.verify-email-logo h1{font-size:36px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.verify-email-logo p{color:#fff9;font-size:14px;margin:0}.verifying-container{text-align:center;padding:20px 0}.spinner{width:60px;height:60px;margin:0 auto 24px;border:4px solid rgba(100,150,255,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.verifying-container h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 12px}.verifying-container p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0}.error-container{text-align:center;padding:20px 0}.error-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#ff646433,#ff64641a);border-radius:50%;display:flex;align-items:center;justify-content:center}.error-icon svg{width:48px;height:48px;color:#f66}.error-container h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 12px}.error-container p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 8px}.help-text{color:#ffffff80;font-size:13px;margin-top:16px!important}.home-button{margin-top:24px;padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.home-button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.reset-password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a1a,#1a1a2e,#16213e);padding:20px}.reset-password-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(100,150,255,.3);border-radius:16px;padding:40px;max-width:450px;width:100%;box-shadow:0 20px 60px #000000b3}.reset-password-logo{text-align:center;margin-bottom:32px}.reset-password-logo h1{font-size:36px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.reset-password-logo p{color:#fff9;font-size:14px;margin:0}.reset-password-form-container h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 12px;text-align:center}.reset-description{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 24px;text-align:center}.reset-password-form-container .form-group{margin-bottom:20px}.reset-password-form-container .form-group label{display:block;margin-bottom:8px;color:#ffffffe6;font-size:14px;font-weight:500}.reset-password-form-container .form-group input{width:100%;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:15px;transition:all .2s;box-sizing:border-box}.reset-password-form-container .form-group input:focus{outline:none;border-color:#6496ff80;background:#ffffff14}.reset-password-form-container .form-group input::placeholder{color:#ffffff4d}.reset-password-form-container .form-group input:disabled{opacity:.5;cursor:not-allowed}.reset-password-form-container .error-message{padding:12px 16px;background:#ff64641a;border:1px solid rgba(255,100,100,.3);border-radius:8px;color:#f66;font-size:14px;margin-bottom:20px}.reset-password-form-container .submit-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:16px}.reset-password-form-container .submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.reset-password-form-container .submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.reset-password-form-container .back-button{width:100%;padding:12px 24px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fffc;font-size:14px;cursor:pointer;transition:all .2s}.reset-password-form-container .back-button:hover{background:#ffffff0d;border-color:#ffffff4d}.success-container{text-align:center;padding:20px 0}.success-icon{width:80px;height:80px;margin:0 auto 24px;background:linear-gradient(135deg,#64c86433,#64c8641a);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:48px;height:48px;color:#6c6}.success-container h2{color:#fff;font-size:24px;font-weight:600;margin:0 0 12px}.success-container p{color:#ffffffb3;font-size:14px;line-height:1.6;margin:0 0 8px}.redirect-text{color:#6496ffcc;font-style:italic}.app{width:100vw;height:100vh;position:relative;overflow:hidden}.verification-success-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;animation:slideDown .3s ease-out,fadeOut .3s ease-out 4.7s forwards}.verification-success-toast .toast-content{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#64c864e6,#50b450e6);border:1px solid rgba(100,200,100,.5);border-radius:12px;padding:16px 24px;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.verification-success-toast svg{width:24px;height:24px;color:#fff;flex-shrink:0}.verification-success-toast span{color:#fff;font-size:15px;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}
