:root{--bg-primary:#1a0933;--bg-secondary:#2d1046;--bg-tertiary:#3c1659;--accent-color:#9370db;--accent-hover:#7d5ec2;--text-primary:#fff;--text-secondary:#e0e0e0;--text-tertiary:#ccb8e6;--border-color:#4e2870}body,html{background-color:#1a0933;background-color:var(--bg-primary)}body{color:#e0e0e0;color:var(--text-secondary);font-family:Inter,Roboto,sans-serif;margin:0;min-height:100vh;padding:0}body:before{background-image:radial-gradient(#9370db1a 1px,#0000 0);background-size:30px 30px;content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-1}.home-container{background-color:#1a0933;background-color:var(--bg-primary);margin:0 auto;max-width:1200px;min-height:calc(100vh - 80px);padding:40px 20px}.hero-section{align-items:center;background:linear-gradient(135deg,#2d1046,#341450);background:linear-gradient(135deg,var(--bg-secondary) 0,#341450 100%);border-radius:12px;display:flex;gap:40px;justify-content:space-between;margin-bottom:60px}.hero-content{flex:1 1;padding-left:30px}.hero-title{color:#333;color:#fff;color:var(--text-primary);font-size:3rem;line-height:1.2;margin-bottom:20px}.hero-subtitle{color:#555;color:#fff;color:var(--text-primary);font-size:1.2rem;line-height:1.6;margin-bottom:30px}.hero-buttons{display:flex;gap:20px}.hero-btn{border-radius:4px;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.hero-btn:hover{box-shadow:0 4px 8px #0003;transform:translateY(-3px)}.primary-btn{background-color:#3f51b5;border:none;color:#fff}.secondary-btn{background-color:#1f1e20;border:2px solid #3f51b5;color:#3f51b5}.hero-image{flex:1 1;max-width:500px}.hero-image img{border-radius:8px;box-shadow:0 8px 16px #00000026;height:auto;width:100%}.features-section{background-color:#1a0933;background-color:var(--bg-primary);padding:40px 0}.section-title{background-color:initial;color:#333;color:#fff;color:var(--text-primary);font-size:2rem;margin-bottom:40px;text-align:center}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr)}.feature-card{background-color:#352e35;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:30px;transition:transform .2s}.feature-card:hover{box-shadow:0 12px 24px #9370db33;transform:translateY(-5px)}.feature-icon{color:#3f51b5;font-size:2.5rem;margin-bottom:20px}.feature-title{color:#333;color:#fff;color:var(--text-primary);font-size:1.3rem;margin-bottom:15px}.feature-description{color:#555;color:#fff;color:var(--text-primary);line-height:1.6}.stats-section{background-color:#f5f5f5;border-radius:8px;margin:60px 0;padding:60px 0}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);text-align:center}.stat-item{padding:20px}.stat-number{color:#3f51b5;font-size:3rem;font-weight:700;margin-bottom:10px}.stat-label{color:#555;font-size:1.1rem}.cta-section{border-left:5px solid #9370db;border-left:5px solid var(--accent-color);padding:60px 0;text-align:center}.cta-title{color:#333;color:#fff;color:var(--text-primary);font-size:2.2rem;margin-bottom:20px}.cta-description{color:#555;color:#fff;color:var(--text-primary);font-size:1.2rem;margin-bottom:30px;margin-left:auto;margin-right:auto;max-width:600px}.cta-btn{background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;padding:14px 32px;transition:background-color .2s}.cta-btn:hover{background-color:#303f9f}.cta-buttons{display:flex;gap:15px;justify-content:center}.cta-btn.secondary{background-color:initial;border:1px solid #9370db;border:1px solid var(--accent-color);color:#9370db;color:var(--accent-color)}.cta-btn.secondary:hover{background-color:#7289da1a}.site-header{align-items:center;background-color:#1f1d1f;border-radius:12px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;display:flex;justify-content:space-between;margin-bottom:40px;padding:20px;width:100%}.logo{color:#fff;color:var(--text-primary);font-size:1.5rem;font-weight:700}.nav-buttons{display:flex;gap:10px}.sign-in,.sign-up{border-radius:4px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .2s}.sign-in{background-color:initial;border:1px solid #ccb8e6;border:1px solid var(--text-tertiary);color:#fff;color:var(--text-primary)}.sign-up{background-color:#9370db;background-color:var(--accent-color);border:none;color:#fff}.sign-in:hover{background-color:#ffffff1a}.sign-up:hover{background-color:#7d5ec2;background-color:var(--accent-hover)}.step-number{align-items:center;background-color:#9370db;background-color:var(--accent-color);border-radius:50%;color:#fff;display:flex;font-weight:700;height:30px;justify-content:center;margin-bottom:15px;width:30px}.step-card{padding:30px 20px;text-align:center}.signin-callout,.steps-section{background-color:#1a0933;background-color:var(--bg-primary)}.signin-callout{border-radius:8px;margin:40px 0;padding:15px;text-align:center}.signin-callout p{color:#fff;color:var(--text-primary)}.signin-callout a{color:#9370db;color:var(--accent-color);font-weight:500;text-decoration:none}.signin-callout a:hover{text-decoration:underline}.recover-password-link,.recover-password-link:active,.recover-password-link:link,.recover-password-link:visited{background:#0000;border:2px solid #9370db;border:2px solid var(--accent-color);border-radius:8px;color:#9370db!important;color:var(--accent-color)!important;display:inline-block;font-size:1.1rem;font-weight:600;margin-right:24px;padding:10px 24px;text-decoration:none!important;transition:background .2s,color .2s,box-shadow .2s}.recover-password-link:hover{background:#9370db!important;background:var(--accent-color)!important;box-shadow:0 2px 8px #9370db26;color:#fff!important;text-decoration:none!important}.home-footer{border-top:1px solid #4e2870;border-top:1px solid var(--border-color,#333);margin-top:60px;padding-top:30px;text-align:center}.footer-links{display:flex;gap:20px;justify-content:center;margin-bottom:20px}.footer-links a{color:#ccb8e6;color:var(--text-tertiary);font-size:.9rem;text-decoration:none}.footer-links a:hover{color:#e0e0e0;color:var(--text-secondary)}.copyright{color:#ccb8e6;color:var(--text-tertiary);font-size:.8rem}button,input,select,textarea{background-color:#3c1659;background-color:var(--bg-tertiary);border:1px solid #4e2870;border:1px solid var(--border-color,#333);color:#e0e0e0;color:var(--text-secondary)}@media (max-width:1024px){.features-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{row-gap:40px}}@media (max-width:768px){.hero-section{flex-direction:column;text-align:center}.hero-title{font-size:2.5rem}.hero-buttons{justify-content:center}.features-grid{grid-template-columns:1fr}.stat-number{font-size:2.5rem}}.lobby-container{color:#fff;display:flex;flex-direction:column;margin:0 auto;max-width:1000px;padding:20px}.lobby-header{align-items:center;border-bottom:1px solid #fff3;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:15px}.header-title-box{background-color:#3f51b533;border-radius:8px;box-shadow:0 2px 4px #00000026;margin-right:40px;padding:12px 20px}.lobby-header h1{color:#fff;font-size:2.2rem;margin:0;text-shadow:0 2px 4px #0000004d}.header-user-info{align-items:center;display:flex;margin-left:40px}.user-box{background-color:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:10px 20px}.home-btn,.user-name{color:#fff;font-size:1.1rem;font-weight:600}.home-btn{background-color:#9370db;border:none;border-radius:8px;box-shadow:0 2px 8px #9370db14;display:inline-block;margin-right:24px;padding:10px 24px;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}.home-btn:hover{background:#7d5ec2;color:#fff;text-decoration:none}.fixed-home-btn{background-color:#3c08a4;border:none;border-radius:8px;box-shadow:0 2px 8px #9370db14;color:#fff;font-size:1.1rem;font-weight:600;left:12px;padding:10px 24px;position:fixed;text-decoration:none;top:12px;transition:background .2s,color .2s,box-shadow .2s;z-index:1000}.fixed-home-btn:hover{background:#7d5ec2;color:#fff;text-decoration:none}.lobby-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 300px}.lobby-main{display:flex;gap:20px}.matchmaking-panel{background-color:#ffffff1a;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;flex:1 1;padding:20px}.matchmaking-panel h2{color:#fff;font-size:1.4rem;margin-bottom:16px}.matchmaking-options{margin-bottom:20px}.option-group{margin-bottom:16px}.option-group label{color:#fff;display:block;font-weight:500;margin-bottom:8px}.option-buttons{display:flex;gap:10px}.option-button{background:#ffffff1a;border:1px solid #ddd;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;padding:8px;transition:all .2s}.option-button.selected{background-color:#3f51b5;border-color:#3f51b5;color:#fff}.find-match-button{background-color:#3f51b5;border:none;border-radius:4px;box-shadow:0 2px 4px #0000004d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:10px;padding:12px;transition:background-color .2s;width:100%}.find-match-button:hover{background-color:#303f9f}.cancel-search-button{background-color:#f44336;border:none;border-radius:4px;box-shadow:0 2px 4px #0000004d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:16px;padding:12px;transition:background-color .2s;width:100%}.cancel-search-button:hover{background-color:#d32f2f}.active-games{background-color:#ffffff1a;border-radius:8px;box-shadow:0 2px 8px #0000001a;flex:1 1;padding:20px}.active-games h2{color:#fff;font-size:1.4rem;margin-bottom:16px}.games-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.active-players{background-color:#ffffff1a;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;flex:1 1;padding:20px}.active-players h2{color:#fff;font-size:1.4rem;margin-bottom:16px}.players-list{list-style:none;margin:0;padding:0}.player-item{border-bottom:1px solid #fff3;color:#fff;display:flex;justify-content:space-between;padding:8px}.player-item:last-child{border-bottom:none}.searching-status{align-items:center;display:flex;flex-direction:column;margin-top:20px}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;margin-bottom:15px}.searching-status p{color:#fff;margin:8px 0;text-align:center}.search-time{color:#fff;font-size:1.2rem;font-weight:700}.error-message{animation:fadeIn .3s;background-color:#f44336;border-radius:4px;color:#fff;margin:10px 0;padding:10px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.no-players{color:#ffffffb3;padding:20px 0;text-align:center}@media (max-width:768px){.lobby-main{flex-direction:column}.matchmaking-panel{order:-1}}.spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:20px 0;min-height:200px;width:100%}.spinner{height:40px;position:relative;width:40px}.spinner-inner{animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite;border:4px solid #0000;border-radius:50%;border-top-color:#3f51b5;box-sizing:border-box;display:block;height:32px;margin:4px;position:absolute;width:32px}.spinner-message{color:#555;font-size:16px;margin-top:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--board-border:#7c5c35;--coord-color:#d0d0d0;--background-color:#262421}.board-container{align-items:center;background-color:#262421;background-color:var(--background-color);border-radius:12px;box-shadow:0 6px 20px #0006;display:flex;justify-content:center;padding:25px;position:relative;-webkit-user-select:none;user-select:none;width:100%}.chess-board{border:10px solid #7c5c35;border:10px solid var(--board-border);box-shadow:0 4px 12px #000000b3;height:480px;width:480px}.chess-board,.square{position:relative}.square.light{background-color:#f0d9b5;background-color:var(--board-light)}.square.dark{background-color:#b58863;background-color:var(--board-dark)}.piece-container{cursor:pointer;z-index:2}.piece{height:85%;object-fit:contain;width:85%}.board-square.possible-move{position:relative}.move-indicator{background-color:#0003;border-radius:50%;height:30%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:30%}.board-square.selected:before{box-shadow:inset 0 0 0 4px #ff09}.board-square.in-check:before,.board-square.selected:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.board-square.in-check:before{box-shadow:inset 0 0 0 4px #ff0000b3}.board-coordinates{color:#d0d0d0;color:var(--coord-color);display:flex;position:absolute}.board-coordinates.files{bottom:-25px;justify-content:space-around;left:0;right:0;width:100%}.board-coordinates.ranks{bottom:0;flex-direction:column;height:100%;justify-content:space-around;left:-25px;top:0}.board-coordinates div{font-size:14px;font-weight:700;text-align:center}.move-history{background-color:#262421;border-radius:12px;box-shadow:0 4px 12px #0000004d;margin:10px 0;max-height:400px;padding:20px;transition:all .3s ease;width:100%}.move-history:hover{box-shadow:0 6px 16px #0003;transform:translateY(-3px)}.move-history h3{border-bottom:1px solid #444;color:#fff;margin-bottom:12px;padding-bottom:8px}.move-list{width:100%}.move-list table{font-family:Roboto Mono,monospace}.move-list th{background-color:#333;color:#ddd;font-weight:600;padding:8px;text-align:left}.move-list td{border-bottom:1px solid #444;padding:8px}.move-number{color:#888;text-align:center;width:30px}.move{font-weight:500}.white-move{color:#f0f0f0}.black-move{color:#aaa}.move-list tr:nth-child(2n){background-color:#333}.move-list tr:hover{background-color:#444}@media (max-width:768px){.move-history{max-height:200px;padding:12px}.move-list td,.move-list th{font-size:14px;padding:6px}}.game-controls{background-color:#262421;border-radius:12px;box-shadow:0 4px 12px #0000004d;margin-bottom:20px;padding:20px;transition:all .3s ease;width:100%}.game-controls:hover{box-shadow:0 6px 16px #0003;transform:translateY(-3px)}.game-controls h3{border-bottom:1px solid #444;color:#fff;margin-bottom:12px;padding-bottom:8px}.control-buttons{display:flex;flex-wrap:wrap;gap:10px}.control-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:600;padding:8px 16px;transition:background-color .2s,transform .1s}.control-btn:hover{transform:translateY(-2px)}.control-btn:active{transform:translateY(1px)}.undo-btn{background-color:#2196f3;color:#fff}.undo-btn:hover{background-color:#1976d2}.game-actions{display:flex;gap:10px;margin-top:10px;width:100%}.action-btn{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:600;padding:8px 16px;transition:background-color .2s,transform .1s}.resign-btn{background-color:#f44336;color:#fff}.resign-btn:hover{background-color:#d32f2f}.draw-btn{background-color:#ff9800;color:#fff}.draw-btn:hover{background-color:#f57c00}.controls-grid{display:flex;gap:16px}@media (max-width:768px){.game-controls{padding:12px}.action-btn,.control-btn{font-size:14px;padding:6px 12px}}.play-container{grid-gap:40px;background-color:#18122b;display:grid;gap:40px;grid-template-areas:"info board sidebar";grid-template-columns:250px 580px 250px;margin:40px auto;max-width:1200px;padding:0 30px}.game-info{align-self:flex-start;display:flex;flex-direction:column;gap:30px;grid-area:info;margin-top:20px}.opponent-info,.player-info{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;margin-bottom:10px;padding:24px;transition:all .3s ease}.opponent-info:hover,.player-info:hover{box-shadow:0 6px 16px #0003;transform:translateY(-3px)}.opponent-info h3,.player-info h3{align-items:center;display:flex;gap:8px;margin-bottom:8px}.rating{background-color:#f5f5f5;border-radius:4px;color:#555;font-size:.9rem;padding:2px 8px}.game-status{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:16px}.current-turn{font-size:1.1rem;font-weight:700;margin-bottom:8px}.check-alert{animation:pulse 1s infinite;color:#f44336;font-weight:700}.game-board-container{align-self:flex-start;display:flex;grid-area:board;justify-content:center;margin:0 auto;padding:0;width:100%}.game-sidebar{align-self:flex-start;display:flex;flex-direction:column;gap:30px;grid-area:sidebar;margin-top:20px}.game-result{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center}.game-result h2{color:#333;margin-bottom:16px}.game-result p{font-size:1.2rem;margin-bottom:20px}.new-game-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:10px 20px;transition:background-color .2s}.new-game-btn:hover{background-color:#388e3c}.back-to-lobby-btn{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:15px;padding:10px 20px;transition:background-color .3s,transform .2s}.back-to-lobby-btn:hover{background-color:#388e3c;transform:translateY(-2px)}.back-to-lobby-btn:active{transform:translateY(1px)}.dialog-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.dialog{background-color:#262421;border-radius:8px;box-shadow:0 4px 20px #00000080;color:#fff;max-width:400px;padding:20px;width:100%}.dialog h3{color:#fc0;margin-bottom:15px;margin-top:0}.dialog p{margin-bottom:20px}.dialog-buttons{display:flex;gap:10px;justify-content:center}.cancel-btn,.confirm-btn{border:none;border-radius:4px;cursor:pointer;font-weight:600;padding:10px 20px}.confirm-btn{background-color:#4caf50;color:#fff}.cancel-btn{background-color:#f44336;color:#fff}.promotion-dialog{text-align:center}.promotion-options{gap:15px;margin:20px 0}.promotion-btn,.promotion-options{display:flex;justify-content:center}.promotion-btn{align-items:center;background-color:#262421;border:2px solid #fc0;border-radius:8px;color:#fff;cursor:pointer;flex-direction:column;font-size:1rem;font-weight:700;height:60px;transition:all .2s;width:60px}.promotion-btn:hover{box-shadow:0 5px 15px #fc06;transform:translateY(-5px)}@media (max-width:1200px){.play-container{gap:30px;grid-template-columns:220px 480px 220px;padding:0 20px}}@media (max-width:1024px){.play-container{gap:40px;grid-template-areas:"board" "info" "sidebar";grid-template-columns:1fr;margin:20px auto;max-width:700px;padding:30px}.game-board-container{justify-self:center;margin-bottom:20px}.game-info{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-top:0}.game-status{grid-column:span 2}.game-sidebar{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-top:0}}@media (max-width:768px){.play-container{gap:30px;padding:20px}.game-info,.game-sidebar{gap:20px;grid-template-columns:1fr}.game-status{grid-column:auto}.opponent-info,.player-info{padding:18px}}@media (max-width:520px){.play-container{gap:25px;margin:10px auto;padding:15px}.board-container{padding:15px}.game-controls,.move-history,.opponent-info,.player-info{border-radius:8px;padding:15px}}.signin-container{align-items:center;background-color:#fff;display:flex;justify-content:center;min-height:80vh;padding:20px}.signin-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;max-width:400px;padding:30px;width:100%}.signin-header{margin-bottom:30px;text-align:center}.signin-title{color:#333;font-size:2rem;margin-bottom:10px}.signin-subtitle{color:#666;font-size:1rem}.signin-form{display:flex;flex-direction:column;gap:20px}.signin-button{background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px;transition:background-color .2s}.signin-button:hover{background-color:#303f9f}.signin-button:disabled{background-color:#bdbdbd;cursor:not-allowed}.signin-options{color:#555;font-size:.9rem;margin-top:20px;text-align:center}.signin-options a{color:#3f51b5;font-weight:500;text-decoration:none}.signin-options a:hover{text-decoration:underline}.remember-me{align-items:center;display:flex;gap:8px;margin-top:5px}.remember-me label{color:#555;cursor:pointer;font-size:.9rem}.signin-container .form-control{background-color:#fff!important;border:1px solid #ddd!important;color:#333!important}.signin-container .signin-button{background-color:#3f51b5!important;color:#fff!important}.signin-container .signin-button:hover{background-color:#303f9f!important}.signin-container .signin-button:disabled{background-color:#bdbdbd!important}.pwrec-container{align-items:center;background:#23202b;border-radius:12px;box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;margin:80px auto;max-width:350px;padding:32px 28px 24px}.pwrec-container h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:18px;text-align:center}.pwrec-form{display:flex;flex-direction:column;gap:18px;width:100%}.pwrec-form .form-group{display:flex;flex-direction:column;gap:6px}.pwrec-form label{color:#ccc;font-weight:500}.pwrec-form input[type=email]{background:#181622;border:1px solid #444;border-radius:6px;color:#fff;font-size:1rem;padding:10px 12px}.pwrec-form input[type=email]:focus{outline:2px solid #ff9800}.pwrec-form .error{color:#ff5252;font-size:.95rem;margin-top:2px}.pwrec-form .message{border-radius:6px;font-size:1rem;margin-bottom:6px;padding:10px 12px;text-align:center}.pwrec-form .message.success{background:#2e7d32;color:#fff}.pwrec-form .message.error{background:#b71c1c;color:#fff}.pwrec-form button[type=submit]{background:#ff9800;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:10px 0;transition:background .2s}.pwrec-form button[type=submit]:hover{background:#f57c00}.back-to-signin{color:#ff9800;display:block;font-size:1rem;font-weight:500;margin:18px auto 0;text-align:center;text-decoration:none;transition:color .2s}.back-to-signin:hover{color:#fff;text-decoration:underline}.auth-success{align-items:center;background-color:#e8f5e9;border-radius:4px;color:#2e7d32;display:flex;font-size:.9rem;gap:8px;margin-bottom:20px;padding:12px}.captcha-container{align-items:center;display:flex;flex-direction:column;margin:10px 0}.divider{color:#999;margin:0 8px}.input-error{border-color:#f44336!important}.captcha-container iframe{max-width:100%}.signup-container{align-items:center;background-color:#fff;display:flex;justify-content:center;min-height:80vh;padding:20px}.signup-card{background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #0000001a;max-width:400px;padding:30px;width:100%}.signup-header{margin-bottom:30px;text-align:center}.signup-title{color:#333;font-size:2rem;margin-bottom:10px}.signup-subtitle{color:#666;font-size:1rem}.signup-form{gap:20px}.form-group,.signup-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#555;font-size:.9rem;font-weight:500}.form-control{padding:12px 16px;transition:border-color .2s}.form-control:focus{border-color:#3f51b5;box-shadow:0 0 0 1px #3f51b54d;outline:none}.form-error{color:#f44336;font-size:.85rem;margin-top:4px}.signup-button{background-color:#3f51b5;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px;transition:background-color .2s}.signup-button:hover{background-color:#303f9f}.signup-button:disabled{background-color:#bdbdbd;cursor:not-allowed}.signup-options{color:#555;font-size:.9rem;margin-top:20px;text-align:center}.signup-options a{color:#3f51b5;font-weight:500;text-decoration:none}.signup-options a:hover{text-decoration:underline}.password-strength{font-size:.85rem;margin-top:4px}.strength-weak{color:#f44336}.strength-medium{color:#ff9800}.strength-strong{color:#4caf50}.terms{align-items:flex-start;display:flex;gap:8px;margin-top:5px}.terms input{margin-top:4px}.terms label{color:#555;font-size:.9rem}.auth-error{align-items:center;background-color:#ffebee;border-radius:4px;color:#c62828;display:flex;font-size:.9rem;gap:8px;margin-bottom:20px;padding:12px}.auth-error svg{flex-shrink:0}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1}@media (max-width:500px){.form-row{flex-direction:column;gap:15px}}.signup-container .form-control{background-color:#fff!important;border:1px solid #ddd!important;color:#333!important}.signup-container .signup-button{background-color:#3f51b5!important;color:#fff!important}.signup-container .signup-button:hover{background-color:#303f9f!important}.signup-container .signup-button:disabled{background-color:#bdbdbd!important}:root{--primary-color:#3f51b5;--secondary-color:#f50057;--light-bg:#f5f5f5;--dark-bg:#303030;--text-light:#f5f5f5;--text-dark:#333;--board-light:#f0d9b5;--board-dark:#b58863;--border-radius:4px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;background-color:var(--light-bg);color:#333;color:var(--text-dark);font-family:Roboto,Segoe UI,Arial,sans-serif;line-height:1.6}.app{background-color:var(--bg-primary);display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:20px;width:100%}header{background-color:#3f51b5;background-color:var(--primary-color);color:#f5f5f5;color:var(--text-light);padding:1rem 0}header .container{align-items:center;display:flex;justify-content:space-between}nav ul{display:flex;list-style:none}nav li{margin-left:20px}nav a{color:#f5f5f5;color:var(--text-light);text-decoration:none}nav a:hover{text-decoration:underline}.btn{background-color:#3f51b5;background-color:var(--primary-color);border:none;border-radius:4px;border-radius:var(--border-radius);color:#f5f5f5;color:var(--text-light);cursor:pointer;display:inline-block;font-size:1rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.btn:hover{background-color:#303f9f}.btn-secondary{background-color:#f50057;background-color:var(--secondary-color)}.btn-secondary:hover{background-color:#c51162}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem}.form-control{border:1px solid #ddd;font-size:1rem;padding:.7rem;width:100%}.alert,.form-control{border-radius:4px;border-radius:var(--border-radius)}.alert{margin-bottom:1rem;padding:1rem}.alert-error{background-color:#ffebee;border:1px solid #ffcdd2;color:#c62828}.alert-success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}@media (max-width:768px){.container{padding:10px}}.container{align-items:center;background-color:#222;display:flex;justify-content:center;min-height:100vh}.board-container{height:600px;width:600px}.board{display:flex;flex-wrap:wrap;height:100%;width:100%}.square{height:12.5%;width:12.5%}.promote-square{height:50%;width:50%}.square-black{background:#b59963}.square-white{background:#f0d9b5}.board-square{height:100%;width:100%}.cursor-pointer{cursor:pointer}.piece-container{align-items:center;cursor:grab;display:flex;height:100%;justify-content:center;width:100%}.piece{max-height:70%;max-width:70%}.vertical-text{color:#fff;font-family:sans-serif;padding:10px;text-orientation:upright;writing-mode:vertical-lr}.vertical-text button{background:#3f3f3f;border:2px solid #fff;border-radius:10px;cursor:pointer;margin-top:20px}.game-controls{display:flex;flex-direction:column;margin-right:20px}.game-controls button{background:#3f3f3f;border:2px solid #fff;border-radius:10px;color:#fff;cursor:pointer;margin-bottom:15px;padding:10px 5px}.game-controls button:disabled{cursor:not-allowed;opacity:.5}.game-controls button:hover:not(:disabled){background:#505050}.move-history{background-color:#2c2c2c;border-radius:8px;color:#fff;margin-left:20px;max-height:600px;overflow-y:auto;padding:10px;width:200px}.move-history h3{margin-bottom:10px;text-align:center}.move-list{font-family:monospace}.move-list table{border-collapse:collapse;width:100%}.move-list td,.move-list th{padding:4px 6px;text-align:left}.move-list tr:nth-child(2n){background-color:#3c3c3c}
/*# sourceMappingURL=main.83734725.css.map*/