@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@400;500;600;700;800&family=Outfit:wght@400;500;700;800&display=swap";:root{--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--bg-primary: #0B0B0F;--bg-secondary: #121218;--bg-card: rgba(18, 18, 24, .6);--bg-glass: rgba(11, 11, 15, .85);--text-primary: #E0E0E0;--text-secondary: #A0A0A0;--text-accent: #00AEEF;--primary-electric: #00AEEF;--secondary-accent: #D4AF37;--border-color: rgba(0, 174, 239, .1);--border-hover: rgba(0, 174, 239, .4);--shadow-soft: 0 10px 30px -10px rgba(0, 0, 0, .5);--shadow-strong: 0 20px 40px -10px rgba(0, 0, 0, .8);--neon-glow: 0 0 15px rgba(0, 174, 239, .4);--gradient-text: linear-gradient(135deg, #fff 0%, #A0A0A0 100%);--gradient-bg: linear-gradient(180deg, #121218 0%, #0B0B0F 100%);color-scheme:dark}html,body{width:100%;margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden;line-height:1.6}a{font-weight:500;color:var(--primary-electric);text-decoration:none;transition:all .3s ease}a:hover{text-shadow:var(--neon-glow);color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;color:#fff;line-height:1.2}button{font-family:var(--font-body);border-radius:8px;border:1px solid var(--primary-electric);padding:.8em 1.5em;font-size:1rem;font-weight:600;background-color:transparent;color:var(--primary-electric);cursor:pointer;transition:all .3s ease}button:hover{background-color:var(--primary-electric);color:#000;box-shadow:var(--neon-glow);transform:translateY(-2px)}html,body{width:100%;margin:0;padding:0;overflow-x:hidden}#root{width:100%!important;max-width:none!important;margin:0;padding:0;display:block}.nav_header{display:flex;justify-content:center;align-items:center;width:100%;padding:25px 0;background-color:#000c;box-shadow:0 2px 10px #00000080;border-bottom:1px solid rgba(0,224,255,.1)}.nav_links{list-style:none;display:flex;justify-content:center;gap:4rem;width:90%;max-width:1400px}.nav_list,.nav_a{font-family:Montserrat,sans-serif;font-weight:500;font-size:18px;color:var(--text-light);text-decoration:none}.nav_a:hover{color:var(--primary-electric);text-shadow:0 0 5px rgba(0,224,255,.7)}.page-content{position:relative;z-index:1;padding-top:140px;padding-left:20px;padding-right:20px}.container{display:flex;flex-direction:row;width:90%!important;max-width:1600px!important;min-height:70vh;margin:60px auto;background-color:var(--bg-dark);border-radius:15px;overflow:hidden;box-shadow:0 8px 30px #000c,var(--neon-glow-soft);border:1px solid rgba(0,224,255,.2)}.image-section{flex:1.2;background:#000;display:flex;align-items:center;justify-content:center;padding:40px}.image-section img{width:100%;max-width:800px;height:auto;border-radius:8px}.text-section{flex:1;padding:60px;display:flex;flex-direction:column;justify-content:center;text-align:left;animation:fadeIn 1.5s ease-in}.text-section h1{font-size:48px;margin-bottom:20px;font-weight:700;line-height:1.2;color:var(--primary-electric);text-shadow:var(--neon-glow-soft)}.text-section p{font-size:20px;margin-bottom:30px;color:silver}.ButtonElements{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;justify-content:center}.ButtonElements button{min-width:180px}@media(max-width:1024px){.container{width:95%}.nav_links{gap:2rem}}@media(max-width:768px){.container{flex-direction:column;margin:20px auto;width:90%}.text-section{text-align:center;padding:30px}.text-section button{align-self:center}}.app-main{position:relative;z-index:1}.nav_header{position:relative;z-index:10}.page-container{padding-top:80px}.nav-container{position:fixed;top:0;left:0;width:100%;padding:20px 40px;background:transparent;transition:all .4s ease;z-index:1000;border-bottom:1px solid transparent}.nav-container.scrolled{background:#0b0b0ff2;padding:15px 40px;border-bottom:1px solid rgba(0,174,239,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000080}.nav-content{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:#fff;text-shadow:0 0 10px rgba(0,174,239,.3);white-space:nowrap;letter-spacing:.5px;display:flex;align-items:center;gap:10px}nav{display:flex;align-items:center;gap:30px}nav a.nav-item{color:var(--text-primary);font-family:var(--font-body);font-size:1rem;font-weight:500;transition:all .3s ease;position:relative;text-decoration:none}nav a.nav-item:hover{color:var(--primary-electric);text-shadow:0 0 10px var(--neon-glow)}.nav-btn-outline{border:1px solid var(--text-secondary);padding:8px 24px;border-radius:8px;color:var(--text-primary);font-weight:600;transition:all .3s ease}.nav-btn-outline:hover{border-color:var(--primary-electric);color:var(--primary-electric);box-shadow:var(--neon-glow)}.nav-btn-solid{background:var(--primary-electric);border:1px solid var(--primary-electric);padding:8px 24px;border-radius:8px;color:#000;font-weight:700;transition:all .3s ease;box-shadow:0 0 15px #00aeef4d}.nav-btn-solid:hover{background:#fff;border-color:#fff;box-shadow:0 0 25px #ffffff80;transform:translateY(-2px)}.shadow-home{position:relative;width:100%;overflow-x:hidden;color:var(--text-primary);background:var(--bg-primary)}.particles-layer{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-section.visible{opacity:1;transform:translateY(0)}.hero-section{position:relative;z-index:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 5% 60px}.hero-grid{display:flex;align-items:center;justify-content:space-between;max-width:1400px;width:100%;gap:50px}.hero-text{flex:1;max-width:600px}.shadow-heading{font-size:clamp(3rem,5vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:24px;color:#fff}.gradient-text{background:linear-gradient(90deg,#fff,var(--text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-subtext{font-size:1.25rem;color:var(--text-secondary);margin-bottom:40px;line-height:1.6}.hero-buttons{display:flex;gap:20px;flex-wrap:wrap}.btn-primary-glow{background:var(--primary-electric);color:#000;font-weight:700;padding:14px 36px;font-size:1.1rem;border-radius:8px;border:none;box-shadow:0 0 20px #00aeef66;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-primary-glow:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 30px #00aeef99;color:#000}.btn-secondary-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:14px 36px;font-size:1.1rem;font-weight:600;border-radius:8px;transition:all .3s ease}.btn-secondary-outline:hover{border-color:#fff;background:#ffffff0d;box-shadow:0 0 15px #ffffff1a}.hero-visual{flex:1;display:flex;justify-content:center;position:relative}.floating-board-container{position:relative;animation:float 6s ease-in-out infinite}.floating-board{max-width:100%;width:550px;height:auto;border-radius:20px;box-shadow:0 20px 50px #0009;transform:perspective(1000px) rotateY(-5deg) rotateX(5deg);transition:transform .5s ease}.glow-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:var(--primary-electric);filter:blur(80px);opacity:.2;z-index:-1}.features-section{padding:120px 5%;position:relative;z-index:1}.section-title{text-align:center;font-size:2.5rem;margin-bottom:60px;color:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;max-width:1400px;margin:0 auto}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);padding:40px 30px;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.feature-card:hover{transform:translateY(-10px);border-color:var(--primary-electric);box-shadow:0 10px 30px #00aeef1a;background:linear-gradient(180deg,#0b0b0fcc,#00aeef0d)}.feature-card .icon{font-size:3rem;margin-bottom:20px}.feature-card h3{font-size:1.5rem;margin-bottom:15px;color:#fff}.feature-card p{color:var(--text-secondary);font-size:1rem}.preview-section{background:#08080c;padding:100px 5%;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);position:relative;z-index:1}.preview-content{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;gap:60px}.preview-text{flex:1}.preview-text h2{font-size:2.5rem;margin-bottom:20px}.preview-text p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:40px;max-width:500px}.stats-row{display:flex;gap:40px}.stat-num{font-size:2.5rem;font-weight:800;color:var(--primary-electric);display:block}.stat-label{color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.board-preview-mockup{flex:1;height:300px;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:10px;padding:20px}.mockup-row{flex:1;background:#ffffff0d;border-radius:8px}.community-section,.final-cta-section{text-align:center;padding:120px 20px;position:relative;z-index:1}.community-bg-logo{font-size:15rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.03;z-index:-1;pointer-events:none}.large-cta{padding:16px 48px;font-size:1.25rem;margin-top:30px}.scale-up:hover{transform:scale(1.05)}.home-footer{background:#050507;padding:80px 5% 40px;border-top:1px solid rgba(255,255,255,.05);position:relative;z-index:1}.footer-content{display:flex;justify-content:space-between;max-width:1400px;margin:0 auto 60px;flex-wrap:wrap;gap:40px}.footer-brand{flex:1;min-width:250px}.brand-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:#fff;display:block;margin-bottom:15px}.footer-brand p{color:var(--text-secondary)}.footer-links{display:flex;gap:60px;flex-wrap:wrap}.col h4{color:#fff;margin-bottom:20px;font-size:1.1rem}.col a{display:block;color:var(--text-secondary);margin-bottom:12px;font-size:.95rem}.col a:hover{color:var(--primary-electric)}.footer-bottom{text-align:center;padding-top:40px;border-top:1px solid rgba(255,255,255,.05);color:#ffffff4d;font-size:.9rem}@keyframes float{0%,to{transform:translateY(0) rotateY(-5deg)}50%{transform:translateY(-20px) rotateY(-5deg)}}@media(max-width:768px){.hero-grid,.preview-content{flex-direction:column;text-align:center}.hero-buttons{justify-content:center}.features-grid{grid-template-columns:1fr}.hero-visual{order:-1;margin-bottom:40px}.floating-board{width:100%;max-width:350px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;background-color:#000;color:#fff;min-height:100vh}#root{max-width:none;margin:0 auto;padding:0;text-align:center}.page-container{padding:40px 20px;display:flex;justify-content:center;min-height:calc(100vh - 80px);align-items:center;width:100%}.page-content{width:100%;max-width:450px}.CONTAINER{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:auto}.CARD{background-color:#111111e6;padding:40px;border-radius:12px;box-shadow:0 0 20px #000000e6,0 0 15px #00e0ff66;border:1px solid var(--primary-electric);text-align:center;width:100%;max-width:450px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}h3{font-size:2.2em;margin-bottom:30px;color:var(--primary-electric);text-shadow:var(--neon-glow-soft);font-family:Montserrat,sans-serif}.input{width:100%;padding:12px;margin:15px 0;border:1px solid #333;border-radius:6px;background-color:#000;color:#fff;font-size:1.1em;transition:border-color .3s,box-shadow .3s}.input:focus{outline:none;border-color:var(--primary-electric);box-shadow:0 0 8px var(--primary-electric)}.signInButton{background-color:var(--primary-electric);color:var(--bg-dark);font-weight:700;border:1px solid var(--primary-electric);padding:12px 20px;width:100%;margin-top:20px}.signInButton:hover{background-color:#0ff;box-shadow:var(--neon-glow-strong);transform:translateY(-2px)}.ButtonElements{margin:15px 0}.container{display:flex;flex-wrap:wrap;background-color:#111;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px #0009;max-width:1000px;margin:40px auto}.image-section{flex:1;min-width:300px;background:#000;display:flex;align-items:center;justify-content:center;padding:10px}.image-section img{width:100%;height:auto;border-radius:4px}.text-section{flex:1;min-width:300px;padding:40px;display:flex;flex-direction:column;justify-content:center;text-align:left;animation:fadeIn 1.5s ease-in}.text-section h1{font-size:28px;margin-bottom:20px;font-weight:700;line-height:1.3}.text-section p{font-size:16px;margin-bottom:30px;color:#ccc}.text-section button{padding:12px 25px;font-size:16px;font-weight:700;background-color:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:transform .2s,background-color .3s,box-shadow .3s}.text-section button:hover{background-color:#45a049;transform:scale(1.05);box-shadow:0 0 12px #48ef8099}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.container{flex-direction:column}.text-section{text-align:center;padding:20px}}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.home-hero{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:center;background:#000}.home-hero .page-container{position:relative;z-index:1;width:100%;max-width:450px}.particles-bg{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;z-index:0}.lesson-container{position:relative;z-index:1;width:90%;max-width:1400px;margin:40px auto;padding:100px 20px 20px;color:#fff}.lesson-header{text-align:center;margin-bottom:60px}.lesson-header h1{font-size:3.5rem;margin-bottom:10px;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#fff}.lesson-header p{color:#94a3b8;font-size:1.2rem;max-width:800px;margin:0 auto;line-height:1.6}.topic-section{margin-bottom:60px}.topic-section h2{font-size:2rem;margin-bottom:30px;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:10px;color:#e2e8f0}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}.lesson-card{background:#1e293bb3;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:25px;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.lesson-card:hover{transform:translateY(-5px);background:#1e293be6;border-color:#38bdf880;box-shadow:0 10px 20px #0000004d}.lesson-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#38bdf8,#818cf8);opacity:0;transition:opacity .3s ease}.lesson-card:hover:before{opacity:1}.card-content h3{font-size:1.4rem;margin-bottom:12px;color:#f8fafc}.card-content p{font-size:.95rem;color:#cbd5e1;line-height:1.5;margin-bottom:20px}.card-action{margin-top:auto;display:flex;justify-content:space-between;align-items:center}.start-btn{font-size:.9rem;font-weight:600;color:#38bdf8;background:transparent;border:none;display:flex;align-items:center;gap:5px}.lesson-card:hover .start-btn{color:#7dd3fc}.completed-status{font-size:.85rem;color:#4ade80;font-weight:500;display:flex;align-items:center;gap:4px}.status-badge{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:20px;display:flex;align-items:center;gap:4px}.status-badge.completed{background:#4ade8026;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.status-badge.in_progress{background:#fb923c26;color:#fb923c;border:1px solid rgba(251,146,60,.3)}.status-badge.not_started{background:#94a3b826;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.locked-icon{font-size:.85rem;color:#f87171;font-weight:600;display:flex;align-items:center;gap:6px;background:#f8717126;padding:4px 10px;border-radius:20px;border:1px solid rgba(248,113,113,.3)}.lesson-card.locked{opacity:.9}.lesson-card.locked:hover{border-color:#f8717180}.modal-overlay{position:fixed;inset:0;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:9999}.modal-content{background:var(--bg-dark, #1e293b);padding:40px;border-radius:16px;text-align:center;border:1px solid rgba(0,224,255,.3);box-shadow:0 10px 40px #00000080,inset 0 0 20px #00e0ff1a;color:#fff;max-width:400px;width:90%;animation:fadeIn .3s ease-out}.modal-content h2{margin-bottom:15px;color:#38bdf8;font-size:1.8rem}.modal-content p{margin-bottom:30px;color:#cbd5e1;font-size:1.1rem;line-height:1.5}.modal-buttons{display:flex;gap:15px;justify-content:center}.modal-buttons button{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease}.btn-login{background:#38bdf8;color:#0f172a}.btn-login:hover{background:#7dd3fc;box-shadow:0 0 15px #38bdf880}.btn-close{background:transparent;color:#cbd5e1;border:1px solid rgba(255,255,255,.2)!important}.btn-close:hover{background:#ffffff1a}@media(max-width:768px){.lesson-header h1{font-size:2.5rem}.cards-grid{grid-template-columns:1fr}.lesson-container{width:95%;margin:20px auto}}.page-container{position:relative;min-height:100vh;width:100%;background-color:#000;margin:0;padding:0;overflow-x:hidden;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.main-content-wrapper{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:60px 20px 40px;box-sizing:border-box}.advanced-page-title{font-size:2.8rem;font-weight:800;color:#00bfff;margin-bottom:10px;text-shadow:0 0 15px rgba(0,191,255,.4)}.header-content{display:flex;justify-content:space-between;align-items:flex-start;width:100%;max-width:1100px;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:20px}.main-title{font-size:1.8rem;font-weight:700;line-height:1.2;color:#eee;max-width:400px}.lesson-info-box{font-size:.95rem;line-height:1.5;color:#ccc;max-width:500px;text-align:right}.lesson-area{display:flex;justify-content:center;gap:50px;width:100%;max-width:1200px;align-items:center}.chessboard-container{flex-shrink:0;box-shadow:0 10px 30px #00000080;border-radius:4px;overflow:hidden;align-self:flex-start}.lesson-content{flex:1;max-width:450px;display:flex;flex-direction:column;gap:20px;transform:translateY(0)}.feedback-box{background-color:#0059b3;color:#fff;padding:24px;border-radius:12px;border-left:6px solid #0d47a1;font-size:1.05rem;line-height:1.6;box-shadow:0 8px 32px #0000004d;-webkit-backdrop-filter:none;backdrop-filter:none}.lesson-message{padding:16px;border-radius:8px;font-weight:500;animation:fadeIn .4s ease-out}.lesson-message.info{background-color:#0059b3;border:1px solid #0055cc;color:#fff}.lesson-message.error{background-color:#8b0000;border:1px solid #ff4444;color:#fff}.hint-solution-buttons{display:flex;gap:12px}.btn-hint,.btn-solution{flex:1;padding:12px;border:none;border-radius:6px;font-weight:700;cursor:pointer;color:#fff;transition:transform .2s,filter .2s}.btn-hint{background-color:#0a58ca}.btn-solution{background-color:#007a2f}.btn-hint:hover,.btn-solution:hover{transform:translateY(-2px);filter:brightness(1.15)}.next-move-button{background-color:#05c;color:#fff;padding:16px 32px;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.next-move-button:hover{background-color:#06f;transform:scale(1.02)}.game-ended-message{font-size:1.4rem;font-weight:700;color:#afa;text-align:center;padding:20px;background-color:#00e600;border-radius:10px}.hint-text,.solution-text{background:#ffffff0d;padding:15px;border-radius:8px;font-style:italic;border:1px dashed rgba(255,255,255,.2)}@media(max-width:1050px){.lesson-area{flex-direction:column}.lesson-content{transform:none;max-width:100%}.header-content{flex-direction:column;text-align:center;gap:20px}.lesson-info-box{text-align:center}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chessboard{border:none;box-shadow:none;-webkit-user-select:none;user-select:none;overflow:hidden}.square{box-sizing:border-box;position:relative}.piece-img{position:absolute;top:0;left:0;width:90%;height:90%;transform:translate(5%,5%);pointer-events:auto;z-index:2}.legal-dot{width:16px;height:16px;background-color:#0006;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-0%,-0%);z-index:1}.legal-ring{width:80%;height:80%;border:4px solid rgba(0,0,0,.2);border-radius:50%;position:absolute;top:10%;left:10%;z-index:1}.square:before,.square:after{position:absolute;font-family:Arial,sans-serif;font-size:11px;font-weight:700;opacity:.8;z-index:3;pointer-events:none}.square[data-rank]:after{content:attr(data-rank);top:1px;right:2px;color:#707070}.dark[data-rank]:after{color:#f5f5f5}.square[data-file]:before{content:attr(data-file);bottom:0;left:2px;color:#707070}.dark[data-file]:before{color:#f5f5f5}.promotion-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:100;display:flex;align-items:center;justify-content:center}.promotion-dialog{background-color:#f0f0f0;padding:20px;border-radius:8px;box-shadow:0 4px 12px #00000080;text-align:center}.promotion-dialog h3{margin-top:0;color:#333}.promotion-choices{display:flex;gap:10px;margin-top:15px}.promotion-piece-button{background:none;border:2px solid transparent;padding:5px;cursor:pointer;transition:border-color .2s;height:50px;width:50px}.promotion-piece-button:hover{border-color:#3d80e8}.promotion-piece-button img{width:100%;height:100%}.last-move-trace{background-color:#ff06!important}.cursor-pointer{cursor:grab}.cursor-pointer:active{cursor:grabbing}.piece-img{pointer-events:none}.cursor-pointer .piece-img{pointer-events:auto}.completion-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.completion-modal-content{position:relative;background:linear-gradient(135deg,#1e293b,#0f172a);padding:3rem;border-radius:24px;text-align:center;max-width:450px;width:90%;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080,0 0 20px #38bdf84d;animation:modalPop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-inner{position:relative;z-index:1001}.modal-inner .icon{font-size:4rem;margin-bottom:1.5rem;display:block}.modal-inner h2{color:#fff;font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(to right,#38bdf8,#818cf8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.modal-inner p{color:#94a3b8;font-size:1.2rem;margin-bottom:2rem}.return-btn{background:linear-gradient(to right,#38bdf8,#2563eb);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 10px 15px -3px #38bdf866}.return-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 15px 20px -5px #38bdf899}.return-btn:active{transform:translateY(0) scale(1)}.fireworks-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.chessboard{width:560px;height:560px;border:4px solid var(--primary-electric);box-shadow:var(--neon-glow-soft);box-sizing:content-box;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none;margin:40px auto}.square{box-sizing:border-box;position:relative;border:none;width:70px;height:70px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .1s}.light{background-color:#333d47}.dark{background-color:#1a1a1a}.last-move{background-color:#5d00ff!important;opacity:.8}.square:hover{background-color:#00e0ff1a!important}.selected{outline:3px solid #ffff00;box-shadow:0 0 10px #ff0;z-index:5}.piece-img{position:relative;width:90%;height:90%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:3}.legal-dot{width:18px;height:18px;background-color:#00e0ffb3;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:4}.legal-ring{width:90%;height:90%;border:3px solid var(--primary-electric);box-shadow:0 0 10px var(--primary-electric);border-radius:50%;position:absolute;top:5%;left:5%;z-index:4}.legal-ring{position:absolute;top:50%;left:50%;width:35px;height:35px;border:2px solid rgba(0,255,0,.7);border-radius:50%;transform:translate(-50%,-50%)}.chessboard{position:relative;-webkit-user-select:none;user-select:none;border:2px solid #333;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr)}.square{position:relative;width:100%;height:100%}.light{background-color:#f0d9b5}.dark{background-color:#b58863}.highlight-legal{background-color:#0f06}.highlight-source{box-shadow:0 0 8px 3px #007bff inset}.last-move{background-color:#ff06}.legal-dot{position:absolute;top:50%;left:50%;width:12px;height:12px;background:#0000004d;border-radius:50%;transform:translate(-50%,-50%)}.legal-ring{position:absolute;top:50%;left:50%;width:35px;height:35px;border:2px solid rgba(0,255,0,.7);border-radius:50%;transform:translate(0)}.piece-img{-webkit-user-select:none;user-select:none;cursor:pointer}.lesson-controls{margin-top:10px}.lesson-message{font-size:1rem;font-weight:600}.message-error{color:#d32f2f}.message-success{color:#388e3c}.message-info{color:#1976d2}.btn-hint,.btn-solution{cursor:pointer;padding:8px 15px;border:none;border-radius:5px;background-color:#007bff;color:#fff;font-weight:600;transition:background-color .3s ease}.btn-hint:hover,.btn-solution:hover{background-color:#0056b3}.game-ended-message{font-size:1.2rem;font-weight:700;color:green}ol{text-align:left}body{background-color:#0b0c10;color:#c5c6c7;font-family:Poppins,sans-serif;line-height:1.6;margin:0;padding:0}h1,h2,h3{color:#66fcf1;font-weight:700;letter-spacing:.5px;padding-top:15px}ul{margin-left:20px}.nav-bar{display:flex;justify-content:center;align-items:center;background-color:#1f2833;padding:15px 0;box-shadow:0 4px 12px #0006;position:sticky;top:0;z-index:100}.nav-bar a{color:#c5c6c7;text-decoration:none;margin:0 20px;font-size:1.1em;padding:5px 10px;transition:color .3s ease,background-color .3s ease;border-radius:5px}.nav-bar a:hover{color:#66fcf1;background-color:#66fcf11a}.how_pieces_move{max-width:900px;margin:0 auto;padding:40px 20px}h1{font-size:2.5em;text-align:center;margin-bottom:5px;text-transform:uppercase;text-shadow:0 0 10px rgba(102,252,241,.3)}h2{font-size:1.8em;margin-top:40px;margin-bottom:15px;color:#45a29e;border-bottom:2px solid #1f2833;padding-bottom:5px}p{font-size:1.05em;margin-bottom:20px;color:#c5c6c7;text-align:justify}p:first-of-type{font-style:italic;color:#a3a3a3}.image-container{text-align:center;margin:30px 0;padding:15px;background-color:#1f2833;border-radius:10px;box-shadow:0 8px 25px #000000b3,0 0 15px #66fcf133}.image-container img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:5px;border:1px solid #66fcf1}.image-container:last-of-type img{width:48%;display:inline-block;margin:0 1%}.najdorf{width:30%;height:30%}.ButtonElements{text-align:center;margin-top:60px;margin-bottom:40px}.ButtonElements button{background-color:#66fcf1;color:#0b0c10;border:none;padding:15px 30px;font-size:1.2em;font-weight:600;border-radius:50px;cursor:pointer;transition:background-color .3s ease,transform .1s ease,box-shadow .3s ease;box-shadow:0 5px 15px #66fcf166}.ButtonElements button:hover{background-color:#45a29e;color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #66fcf199}.ButtonElements button:active{transform:translateY(0)}.solution-dropdown{background-color:#1f2833;border-radius:8px;padding:10px 15px;margin:15px 0;box-shadow:0 4px 10px #0000004d;border-left:4px solid #66fcf1}.solution-dropdown summary{font-weight:700;color:#66fcf1;cursor:pointer;list-style:none;display:flex;align-items:center;font-size:1.1em;padding:5px 0;transition:color .3s ease}.solution-dropdown summary:hover{color:#fff}.solution-dropdown summary::-webkit-details-marker{display:none}.solution-dropdown summary:before{content:"▶";display:inline-block;margin-right:10px;font-size:.8em;transition:transform .3s ease;color:inherit}.solution-dropdown[open] summary:before{transform:rotate(90deg)}.solution-dropdown p{margin-top:15px;margin-bottom:5px;color:#c5c6c7;font-size:1em}
