@keyframes boardIn{to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes xpGrow{to{width:72%}}.landing{line-height:1.6;overflow-x:hidden}.landing button{line-height:normal}.landing nav{z-index:100;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#09090bd9;justify-content:space-between;align-items:center;padding:1rem 3rem;display:flex;position:fixed;top:0;left:0;right:0}.landing .logo{font-family:var(--font-playfair), serif;color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:900;text-decoration:none}.landing .logo span{color:var(--accent)}.landing .nav-links{align-items:center;gap:2.2rem;list-style:none;display:flex}.landing .nav-links a{color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:500;text-decoration:none;transition:color .3s}.landing .nav-links a:hover{color:var(--text-secondary)}.landing .btn-nav{border-radius:6px;padding:.5rem 1.3rem;background:var(--accent)!important;color:var(--bg)!important;letter-spacing:.05em!important;font-size:.8rem!important;font-weight:700!important;transition:all .3s!important}.landing .btn-nav:hover{transform:translateY(-1px);background:var(--accent-light)!important}.landing .hero{align-items:center;min-height:100vh;padding:9rem 3rem 4rem;display:flex;position:relative;overflow:hidden}.landing .hero-bg{background:radial-gradient(50% 40% at 65% 45%,#b89d4f0a 0%,#0000 70%);position:absolute;inset:0}.landing .hero-grid{opacity:.025;background-image:linear-gradient(var(--accent) 1px, transparent 1px), linear-gradient(90deg, var(--accent) 1px, transparent 1px);background-size:80px 80px;position:absolute;inset:0}.landing .hero-content{z-index:2;max-width:660px;position:relative}.landing .hero h1{font-family:var(--font-playfair), serif;letter-spacing:-.03em;margin-bottom:1.6rem;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:900;line-height:1.06;animation:.7s ease-out fadeUp}.landing .hero h1 em{color:var(--accent);font-style:italic;font-weight:600}.landing .hero p{color:var(--text-secondary);max-width:480px;margin-bottom:2.4rem;font-size:1.08rem;line-height:1.7;animation:.7s ease-out .1s both fadeUp}.landing .hero-actions{align-items:center;gap:1rem;animation:.7s ease-out .2s both fadeUp;display:flex}.landing .btn-primary{background:var(--accent);color:var(--bg);cursor:pointer;font-size:.92rem;font-weight:700;font-family:var(--font-dm-sans), sans-serif;border:none;border-radius:7px;align-items:center;gap:.5rem;padding:.85rem 2rem;text-decoration:none;transition:all .3s;display:inline-flex}.landing .btn-primary:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 8px 24px #b89d4f33}.landing .btn-ghost{color:var(--text-secondary);border:1px solid var(--border-light);cursor:pointer;font-size:.92rem;font-weight:500;font-family:var(--font-dm-sans), sans-serif;background:0 0;border-radius:7px;padding:.85rem 2rem;text-decoration:none;transition:all .3s}.landing .btn-ghost:hover{border-color:var(--accent-dim);color:var(--accent)}.landing .hero-stats{border-top:1px solid var(--border);gap:3rem;margin-top:3.5rem;padding-top:2.2rem;animation:.7s ease-out .3s both fadeUp;display:flex}.landing .hero-stat h3{font-family:var(--font-jetbrains), monospace;color:var(--text);font-size:1.4rem;font-weight:500}.landing .hero-stat p{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:.15rem;font-size:.72rem}.landing .hero-visual{opacity:0;width:380px;height:380px;animation:1s ease-out .4s forwards boardIn;position:absolute;top:50%;right:5%;transform:translateY(-50%)perspective(900px)rotateY(-6deg)rotateX(3deg)}.landing .mini-board{border:1px solid var(--border-light);border-radius:3px;grid-template-columns:repeat(8,1fr);width:100%;height:100%;display:grid;overflow:hidden;box-shadow:0 40px 80px #00000080,0 0 0 1px #b89d4f0f}.landing .sq{aspect-ratio:1;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:1.6rem;display:flex}.landing .sq.light{background:var(--board-light)}.landing .sq.dark{background:var(--board-dark)}.landing section{padding:6rem 3rem;position:relative}.landing .section-label{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:600;font-family:var(--font-jetbrains), monospace;margin-bottom:.8rem}.landing .section-title{font-family:var(--font-playfair), serif;letter-spacing:-.02em;margin-bottom:.8rem;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;line-height:1.12}.landing .section-sub{color:var(--text-secondary);max-width:480px;font-size:.98rem;line-height:1.7}.landing .soon{border:1px solid var(--accent-dim);font-family:var(--font-jetbrains), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);vertical-align:middle;border-radius:999px;padding:.15rem .55rem;font-size:.62rem;font-weight:500;display:inline-block}.landing .pillar .soon,.landing .feature-card .soon{margin-bottom:.6rem}.landing .feature-card.is-soon{border-style:dashed}.landing .feature-card.is-soon .feature-icon,.landing .feature-card.is-soon p{opacity:.65}.landing .analysis-tab .soon{margin-left:.5rem;font-size:.55rem}.landing .soon-note{color:var(--accent);margin-bottom:1rem;font-size:.8rem}.landing .puzzle-demo{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;max-width:900px;margin:2.5rem auto 0;padding:1.5rem}.landing .theme-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:900px;margin:2rem auto 0;display:flex}.landing .theme-chips a{border:1px solid var(--border-light);color:var(--text-secondary);border-radius:999px;padding:.35rem .9rem;font-size:.82rem;text-decoration:none;transition:all .3s}.landing .theme-chips a:hover,.landing .theme-chips a.all{border-color:var(--accent-dim);color:var(--accent)}.landing .ai-section{background:var(--bg-elevated);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.landing .ai-grid{grid-template-columns:1fr 1fr;align-items:center;gap:3.5rem;max-width:1100px;margin:2.5rem auto 0;display:grid}.landing .ai-demo{background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.landing .ai-demo-bar{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.8rem 1.2rem;display:flex}.landing .dot{border-radius:50%;width:9px;height:9px}.landing .dot.r{background:#c0392b}.landing .dot.y{background:#d4a017}.landing .dot.g{background:#4a9}.landing .ai-demo-bar span{color:var(--text-dim);font-size:.72rem;font-family:var(--font-jetbrains), monospace;margin-left:.5rem}.landing .ai-chat{flex-direction:column;gap:.8rem;padding:1.3rem;display:flex}.landing .chat-msg{border-radius:10px;max-width:88%;padding:.8rem 1.1rem;font-size:.84rem;line-height:1.6}.landing .chat-msg.user{color:var(--accent-light);background:#b89d4f1a;border:1px solid #b89d4f1f;align-self:flex-end}.landing .chat-msg.ai{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);align-self:flex-start}.landing .chat-msg.ai strong{color:var(--text);font-weight:600}.landing .typing{align-self:flex-start;gap:4px;padding:.8rem 1rem;display:flex}.landing .typing span{background:var(--text-dim);border-radius:50%;width:5px;height:5px;animation:1.4s infinite blink}.landing .typing span:nth-child(2){animation-delay:.2s}.landing .typing span:nth-child(3){animation-delay:.4s}.landing .ai-points{flex-direction:column;gap:1.4rem;margin-top:1.6rem;display:flex}.landing .ai-point{align-items:flex-start;gap:.9rem;display:flex}.landing .ai-point-icon{background:#b89d4f0f;border:1px solid #b89d4f1a;border-radius:8px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;font-size:1rem;display:flex}.landing .ai-point h3{margin-bottom:.15rem;font-size:.9rem;font-weight:600}.landing .ai-point p{color:var(--text-dim);font-size:.8rem;line-height:1.5}.landing .features-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1100px;margin:3rem auto 0;display:grid}.landing .feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1.8rem 1.5rem;transition:all .35s;position:relative;overflow:hidden}.landing .feature-card:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:0;height:1px;transition:opacity .35s;position:absolute;top:0;left:0;right:0}.landing .feature-card:hover{border-color:var(--border-light);transform:translateY(-3px);box-shadow:0 16px 48px #00000040}.landing .feature-card:hover:after{opacity:1}.landing .feature-icon{background:#b89d4f0f;border:1px solid #b89d4f14;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:1.2rem;font-size:1.3rem;display:flex}.landing .feature-card h3{margin-bottom:.4rem;font-size:1rem;font-weight:700}.landing .feature-card p{color:var(--text-dim);font-size:.82rem;line-height:1.6}.landing .feature-tag{font-size:.66rem;font-family:var(--font-jetbrains), monospace;color:var(--accent-dim);letter-spacing:.05em;text-transform:uppercase;margin-top:.9rem;display:inline-block}.landing .analysis-section{background:var(--bg-elevated);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}.landing .analysis-wrapper{background:var(--bg);border:1px solid var(--border);border-radius:10px;max-width:1100px;margin:2.5rem auto 0;overflow:hidden}.landing .analysis-tabs{border-bottom:1px solid var(--border);display:flex}.landing .analysis-tab{color:var(--text-dim);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600;font-family:var(--font-dm-sans), sans-serif;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.85rem;transition:all .3s}.landing .analysis-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#b89d4f08}.landing .analysis-tab:hover:not(.active){color:var(--text-secondary)}.landing .analysis-board{border-right:1px solid var(--border);justify-content:center;align-items:center;padding:1.5rem;display:flex}.landing .demo-board{border-radius:3px;grid-template-columns:repeat(8,1fr);width:300px;height:300px;display:grid;overflow:hidden;box-shadow:0 8px 32px #00000040}.landing .demo-board .sq{font-size:1.25rem}.landing .analysis-panel{text-align:left;padding:1.5rem}.landing .panel-title{font-family:var(--font-playfair), serif;margin-bottom:.2rem;font-size:1.15rem;font-weight:700}.landing .panel-sub{color:var(--text-dim);margin-bottom:1.2rem;font-size:.76rem}.landing .eval-bar{border-radius:5px;height:28px;margin-bottom:1rem;font-size:.7rem;font-weight:700;display:flex;overflow:hidden}.landing .eval-w{color:#1a1a1a;background:#ddd5c0;align-items:center;width:58%;padding-left:9px;display:flex}.landing .eval-b{color:#777;background:#22201c;flex:1;justify-content:flex-end;align-items:center;padding-right:9px;display:flex}.landing .engine-lines{flex-direction:column;gap:.45rem;display:flex}.landing .engine-line{background:var(--surface);border:1px solid var(--border);font-family:var(--font-jetbrains), monospace;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.73rem;display:flex}.landing .engine-line .depth{color:var(--text-dim);min-width:30px;font-size:.65rem}.landing .engine-line .eval{color:#5cb85c;min-width:42px;font-weight:600}.landing .engine-line .moves{color:var(--text-secondary)}.landing .accuracy-row{border-top:1px solid var(--border);gap:2rem;margin-top:1.2rem;padding-top:1rem;display:flex}.landing .accuracy-item label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-size:.68rem}.landing .accuracy-item .val{font-size:1.3rem;font-weight:700;font-family:var(--font-jetbrains), monospace}.landing .tab-panel{display:none}.landing .tab-panel.active{grid-template-columns:360px 1fr;min-height:400px;display:grid}.landing .opening-header{margin-bottom:1rem}.landing .opening-name{font-family:var(--font-playfair), serif;font-size:1.15rem;font-weight:700}.landing .opening-eco{color:var(--text-dim);font-size:.72rem;font-family:var(--font-jetbrains), monospace;margin-top:.1rem}.landing .move-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;grid-template-columns:50px 1fr 60px;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.55rem .75rem;font-size:.8rem;display:grid}.landing .move-row .move-name{font-weight:600;font-family:var(--font-jetbrains), monospace}.landing .move-row .games-count{color:var(--text-dim);text-align:right;font-size:.68rem;font-family:var(--font-jetbrains), monospace}.landing .wdl-bar{border-radius:4px;height:8px;display:flex;overflow:hidden}.landing .wdl-w{background:#c8c0ac}.landing .wdl-d{background:#6b6860}.landing .wdl-l{background:#3a3530}.landing .stats-row{border-top:1px solid var(--border);gap:1rem;margin-top:1.2rem;padding-top:1rem;display:flex}.landing .stats-row .stat-box{text-align:center;flex:1}.landing .stats-row .stat-val{font-size:1.1rem;font-weight:700;font-family:var(--font-jetbrains), monospace}.landing .stats-row .stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem;font-size:.65rem}.landing .review-summary{gap:.8rem;margin-bottom:1.2rem;display:flex}.landing .review-badge{font-size:.7rem;font-weight:600;font-family:var(--font-jetbrains), monospace;border:1px solid var(--border);border-radius:5px;padding:.35rem .7rem}.landing .review-badge.blunder{color:#e74c3c;background:#c0392b1f;border-color:#c0392b33}.landing .review-badge.mistake{color:#e8a830;background:#e6a8301f;border-color:#e6a83033}.landing .review-badge.good{color:#5cb85c;background:#5cb85c1f;border-color:#5cb85c33}.landing .review-badge.brilliant{color:#4a90d9;background:#4a90d91f;border-color:#4a90d933}.landing .move-list{flex-direction:column;gap:.3rem;display:flex}.landing .move-entry{font-size:.78rem;font-family:var(--font-jetbrains), monospace;background:var(--surface);border:1px solid var(--border);border-radius:5px;align-items:center;gap:.6rem;padding:.45rem .7rem;display:flex}.landing .move-num{color:var(--text-dim);min-width:24px;font-size:.68rem}.landing .move-w,.landing .move-b{min-width:52px}.landing .move-annotation{border-radius:3px;margin-left:auto;padding:.15rem .45rem;font-size:.65rem;font-weight:600}.landing .move-annotation.blunder{color:#e74c3c}.landing .move-annotation.mistake{color:#e8a830}.landing .move-annotation.good{color:#5cb85c}.landing .move-annotation.brilliant{color:#4a90d9}.landing .move-annotation.best{color:var(--text-dim)}.landing .drill-header{margin-bottom:1rem}.landing .drill-title{font-family:var(--font-playfair), serif;font-size:1.15rem;font-weight:700}.landing .drill-category{color:var(--accent);font-size:.72rem;font-family:var(--font-jetbrains), monospace;text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem}.landing .drill-objective{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:7px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.82rem;line-height:1.5}.landing .drill-objective strong{color:var(--text)}.landing .drill-meta{flex-direction:column;gap:.5rem;margin-bottom:1.2rem;display:flex}.landing .drill-meta-row{justify-content:space-between;align-items:center;font-size:.76rem;display:flex}.landing .drill-meta-row span:first-child{color:var(--text-dim)}.landing .drill-meta-row span:last-child{color:var(--text);font-family:var(--font-jetbrains), monospace;font-weight:500}.landing .drill-progress{background:var(--surface);border:1px solid var(--border);border-radius:4px;height:6px;margin-top:.3rem;overflow:hidden}.landing .drill-progress-fill{background:linear-gradient(90deg, var(--accent-dim), var(--accent));border-radius:4px;width:65%;height:100%}.landing .drill-btn{background:var(--accent);width:100%;color:var(--bg);cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-dm-sans), sans-serif;border:none;border-radius:7px;margin-top:1rem;padding:.75rem;transition:all .3s}.landing .drill-btn:hover{background:var(--accent-light)}@media (max-width:1100px){.landing .tab-panel.active{grid-template-columns:1fr}.landing .analysis-board{border-right:none;border-bottom:1px solid var(--border)}}.landing .email-section{text-align:center}.landing .email-box{border:1px solid var(--border);background:var(--bg-card);border-radius:14px;max-width:580px;margin:0 auto;padding:3.5rem 2.5rem;position:relative;overflow:hidden}.landing .email-box:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);height:1px;position:absolute;top:-1px;left:25%;right:25%}.landing .email-box h2{font-family:var(--font-playfair), serif;margin-bottom:.6rem;font-size:1.8rem;font-weight:900}.landing .email-box h2 em{color:var(--accent);font-style:italic}.landing .email-box>p{color:var(--text-secondary);max-width:380px;margin:0 auto 1.8rem;font-size:.92rem;line-height:1.6}.landing .email-row{gap:.6rem;max-width:400px;margin:0 auto;display:flex}.landing .email-row input{background:var(--bg);border:1px solid var(--border-light);color:var(--text);font-size:.88rem;font-family:var(--font-dm-sans), sans-serif;border-radius:7px;outline:none;flex:1;padding:.8rem 1.1rem;transition:border-color .3s}.landing .email-row input::placeholder{color:var(--text-dim)}.landing .email-row input:focus{border-color:var(--accent-dim)}.landing .email-note{color:var(--text-dim);margin-top:.9rem;font-size:.72rem}.landing footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:2.5rem 3rem;display:flex}.landing .footer-left .logo{font-size:1.15rem}.landing .footer-left p{color:var(--text-dim);margin-top:.2rem;font-size:.72rem}.landing .footer-links{gap:1.8rem;list-style:none;display:flex}.landing .footer-links a{color:var(--text-dim);font-size:.78rem;text-decoration:none;transition:color .3s}.landing .footer-links a:hover{color:var(--text-secondary)}@media (max-width:1100px){.landing .hero-visual{display:none}}@media (max-width:900px){.landing .features-grid{grid-template-columns:1fr 1fr}.landing .ai-grid{grid-template-columns:1fr}}@media (max-width:600px){.landing nav{padding:.9rem 1.4rem}.landing .nav-links{display:none}.landing section{padding:4rem 1.4rem}.landing .hero{padding:6.5rem 1.4rem 3rem}.landing .features-grid{grid-template-columns:1fr}.landing .hero-stats{flex-wrap:wrap;gap:1.5rem}.landing .hero-actions{flex-direction:column;align-items:stretch}.landing .email-row{flex-direction:column}.landing footer{text-align:center;flex-direction:column;gap:1.2rem}}.landing .pillars{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.landing .pillar{text-align:center;border-right:1px solid var(--border);padding:2.2rem 2rem;transition:background .3s}.landing .pillar:last-child{border-right:none}.landing .pillar:hover{background:var(--bg-elevated)}.landing .pillar-icon{background:#b89d4f0f;border:1px solid #b89d4f14;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto .8rem;font-size:1.4rem;display:flex}.landing .pillar h2{margin-bottom:.3rem;font-size:.92rem;font-weight:700}.landing .pillar p{color:var(--text-dim);max-width:260px;margin:0 auto;font-size:.78rem;line-height:1.5}.landing .rewards-section{text-align:center}.landing .rewards-grid{grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1100px;margin:2.5rem auto 0;display:grid}.landing .reward-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:10px;padding:1.8rem 1.2rem;transition:all .35s}.landing .reward-card:hover{border-color:var(--border-light);transform:translateY(-3px);box-shadow:0 12px 36px #0003}.landing .reward-icon{justify-content:center;align-items:center;height:56px;margin-bottom:.8rem;font-size:2rem;display:flex}.landing .reward-card h3{margin-bottom:.3rem;font-size:.9rem;font-weight:700}.landing .reward-card p{color:var(--text-dim);font-size:.78rem;line-height:1.5}.landing .rewards-preview{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:2rem;max-width:680px;margin:2.5rem auto 0;padding:1.6rem 2rem;display:flex}.landing .xp-bar-wrap{flex:1}.landing .xp-label{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.landing .xp-label span{color:var(--text-dim);font-size:.75rem;font-family:var(--font-jetbrains), monospace}.landing .xp-label strong{color:var(--accent);font-size:.85rem;font-family:var(--font-jetbrains), monospace}.landing .xp-track{background:var(--surface);border:1px solid var(--border);border-radius:6px;height:10px;overflow:hidden}.landing .xp-fill{background:linear-gradient(90deg, var(--accent-dim), var(--accent));border-radius:6px;width:0%;height:100%;animation:1.5s ease-out .5s forwards xpGrow}.landing .streak-badges{align-items:center;gap:.6rem;display:flex}.landing .badge{background:var(--surface);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:all .3s;display:flex}.landing .badge.earned{border-color:var(--accent-dim);background:#b89d4f1f;box-shadow:0 0 12px #b89d4f1a}.landing .badge.locked{opacity:.35}@media (max-width:900px){.landing .rewards-grid{grid-template-columns:1fr 1fr}.landing .rewards-preview{text-align:center;flex-direction:column}}@media (max-width:600px){.landing .pillars{grid-template-columns:1fr}.landing .pillar{border-right:none;border-bottom:1px solid var(--border)}.landing .pillar:last-child{border-bottom:none}.landing .rewards-grid{grid-template-columns:1fr}}.landing .reveal{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(24px)}.landing .reveal.visible{opacity:1;transform:translateY(0)}
