*{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}.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}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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}.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-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}.create-section{text-align:center}.description{color:#ffffffb3;font-size:15px;margin:0 0 24px;line-height:1.5}.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}.resign-confirm-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}.resign-confirm-modal{background:#191923fa;border:1px solid rgba(255,150,50,.3);border-radius:16px;width:380px;max-width:90vw;overflow:hidden;box-shadow:0 20px 60px #00000080;pointer-events:auto}.resign-confirm-header{padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.resign-confirm-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.resign-confirm-content{padding:24px}.resign-confirm-content p{margin:0;color:#fffc;font-size:15px;line-height:1.5}.resign-confirm-actions{display:flex;gap:12px;padding:0 24px 24px}.resign-cancel-btn{flex:1;padding:12px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:10px;color:#fff;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.resign-cancel-btn:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d}.resign-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.resign-confirm-btn{flex:1;padding:12px 20px;background:linear-gradient(135deg,#c94a4a,#a03d3d);border:1px solid rgba(255,100,100,.3);border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.resign-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#d95a5a,#b04d4d);transform:translateY(-1px);box-shadow:0 4px 15px #ff64644d}.resign-confirm-btn:disabled{opacity:.7;cursor:not-allowed}.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}.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)}.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}.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}.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)}.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}.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{margin:0 0 4px;font-size:20px;font-weight:600;color:#fff}.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}.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-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}.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{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{background:#1e1e2df2;border-color:#6496ff80;box-shadow:0 4px 25px #6496ff33;transform:translateY(-2px)}.about-button:active,.login-button:active,.profile-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,.resign-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)}.resign-button{border-color:#ff96324d}.resign-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:16px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0000004d;pointer-events:auto;text-align:center}.game-status-header{display:flex;flex-direction:column;align-items:center;gap:8px}.player-color{font-size:14px;font-weight:600;text-transform:capitalize}.player-color.white{color:#f0f0f0}.player-color.black{color:#a0a0a0}.game-complete{color:#f90;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px}.share-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.share-text{margin:0 0 10px;color:#ffffffb3;font-size:13px}.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{margin-top:8px}.your-turn{color:#64ff64;font-weight:600;font-size:14px}.opponent-turn{color:#ffffff80;font-size:14px}.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}.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}}
