*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#000;--bg-secondary:#0a0a0a;--bg-card:#111;--bg-card-hover:#1a1a1a;--border-color:#1e1e1e;--text-primary:#fff;--text-secondary:#a0a0a0;--text-muted:#555;--accent-gold:#f0c040;--accent-gold-dim:#b8942e;--accent-blue:#4a9eff;--accent-green:#44d7b6;--font-sans:"Google Sans", "Inter", system-ui, -apple-system, sans-serif;--max-width:1200px;--nav-height:72px}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent-gold);color:#000}.auth-page{background:var(--bg-primary);background-image:radial-gradient(circle at 20%,#f0c04008 0%,#0000 50%),radial-gradient(circle at 80%,#4a9eff05 0%,#0000 50%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);text-align:center;border-radius:20px;width:100%;max-width:420px;padding:48px 40px}.auth-logo{align-items:center;gap:10px;margin-bottom:32px;font-size:20px;font-weight:600;display:inline-flex}.auth-title{letter-spacing:-.5px;margin-bottom:8px;font-size:24px;font-weight:700}.auth-desc{color:var(--text-secondary);margin-bottom:32px;font-size:14px}.auth-form{text-align:left;flex-direction:column;gap:20px;display:flex}.auth-label{color:var(--text-secondary);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-input{background:var(--bg-primary);border:1px solid var(--border-color);font-family:var(--font-sans);color:var(--text-primary);border-radius:10px;outline:none;padding:12px 16px;font-size:15px;transition:border-color .2s}.auth-input::placeholder{color:var(--text-muted)}.auth-input:focus{border-color:var(--accent-gold)}.auth-options{justify-content:space-between;align-items:center;font-size:13px;display:flex}.auth-checkbox{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.auth-checkbox input{accent-color:var(--accent-gold)}.auth-forgot{color:var(--accent-gold);font-weight:500}.auth-forgot:hover{text-decoration:underline}.auth-error{color:#f44;text-align:center;background:#ff44441a;border:1px solid #f443;border-radius:8px;padding:10px 14px;font-size:13px}.auth-btn{justify-content:center;width:100%;padding:13px;font-size:15px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{color:var(--text-secondary);margin-top:24px;font-size:14px}.auth-footer a{color:var(--accent-gold);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-divider{text-align:center;margin:20px 0 4px;position:relative}.auth-divider:before{content:"";background:var(--border-color);height:1px;position:absolute;top:50%;left:0;right:0}.auth-divider span{background:var(--bg-card);color:var(--text-muted);padding:0 12px;font-size:12px;position:relative}.btn-google-custom{color:#fff;width:100%;font-family:var(--font-sans);cursor:pointer;background:#111;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding:12px 20px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.btn-google-custom:hover{background:#222}.dashboard{max-width:1100px;margin:0 auto}.dash-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.dash-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;align-items:center;gap:14px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.dash-stat-card:hover{border-color:#2a2a2a;transform:translateY(-2px)}.dash-stat-icon{width:44px;height:44px;color:var(--accent-gold);background:#f0c04014;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dash-stat-icon .chess-icon{font-size:22px;line-height:1}.dash-stat-info{flex:1;min-width:0}.dash-stat-value{letter-spacing:-.5px;color:var(--text-primary);font-size:22px;font-weight:700;line-height:1.2}.dash-stat-label{color:var(--text-muted);font-size:12px;font-weight:500}.dash-stat-delta{white-space:nowrap;font-size:12px;font-weight:600}.dash-stat-delta.up{color:#44d7b6}.dash-stat-delta.down{color:#ef4444}.dash-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:24px}.dash-card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.dash-card-header h3{color:var(--text-primary);font-size:15px;font-weight:600}.dash-card-label{color:var(--text-muted);font-size:12px}.dash-card-link{color:var(--accent-gold);font-size:13px;font-weight:500;text-decoration:none;transition:opacity .2s}.dash-card-link:hover{opacity:.8}.dash-row{grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:24px;display:grid}.dash-chart-card{min-height:300px}.dash-puzzle-board{align-items:center;gap:20px;display:flex}.mini-board{border:1px solid var(--border-color);border-radius:8px;flex-shrink:0;grid-template-columns:repeat(4,1fr);width:140px;height:140px;display:grid;position:relative;overflow:hidden}.mini-sq.light{background:#1e1e2e}.mini-sq.dark{background:#0d0d1a}.mini-overlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mini-piece{color:var(--accent-gold);opacity:.6;filter:drop-shadow(0 2px 8px #f0c0404d);font-size:48px}.dash-puzzle-info{flex:1}.dash-puzzle-theme{color:var(--text-primary);margin-bottom:6px;font-size:16px;font-weight:600}.dash-puzzle-sub{color:var(--text-secondary);margin-bottom:16px;font-size:13px}.dash-puzzle-btn{background:var(--accent-gold);color:#000;font-family:var(--font-sans);border-radius:8px;align-items:center;gap:4px;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.dash-puzzle-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f0c04040}.dash-games-list{flex-direction:column;gap:2px;display:flex}.dash-game-row{border-bottom:1px solid #1e1e1e80;grid-template-columns:56px 1fr 1.2fr 80px 80px;align-items:center;gap:8px;padding:10px 0;font-size:13px;display:grid}.dash-game-row:last-child{border-bottom:none}.dash-game-result{text-transform:uppercase;font-size:12px;font-weight:600}.dash-game-result.win{color:#44d7b6}.dash-game-result.loss{color:#ef4444}.dash-game-result.draw{color:var(--text-muted)}.dash-game-opp{color:var(--text-primary);font-weight:500}.dash-game-opening{color:var(--text-secondary)}.dash-game-moves{color:var(--text-muted);font-variant-numeric:tabular-nums}.dash-game-date{color:var(--text-muted);text-align:right}.dash-rec-list{flex-direction:column;gap:4px;display:flex}.dash-rec-item{cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:14px 12px;transition:background .2s;display:flex}.dash-rec-item:hover{background:var(--bg-card-hover)}.dash-rec-icon{background:#f0c0400f;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex}.dash-rec-info{flex:1}.dash-rec-title{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.dash-rec-meta{color:var(--text-muted);font-size:12px}.dash-rec-arrow{color:var(--text-muted)}@media (width<=900px){.dash-stats{grid-template-columns:repeat(2,1fr)}.dash-row{grid-template-columns:1fr}}@media (width<=640px){.dash-stats{grid-template-columns:1fr}.dash-game-row{grid-template-columns:50px 1fr 70px}.dash-game-opening,.dash-game-date{display:none}}.movelist{flex-direction:column;height:100%;display:flex}.movelist-header{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.movelist-title{color:var(--text-primary);font-size:14px;font-weight:600}.movelist-count{color:var(--text-muted);font-size:12px}.movelist-scroll{flex:1;padding:0 8px;overflow-y:auto}.movelist-scroll::-webkit-scrollbar{width:4px}.movelist-scroll::-webkit-scrollbar-track{background:0 0}.movelist-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.movelist-grid{flex-direction:column;gap:1px;display:flex}.movelist-row{grid-template-columns:32px 1fr 1fr;align-items:center;gap:2px;display:grid}.movelist-num{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;padding-right:4px;font-size:12px}.movelist-move{font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:5px 8px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.movelist-move:hover{background:var(--bg-card-hover);color:var(--text-primary)}.movelist-move.selected{color:var(--text-primary);background:#f0c0401f}.move-text{font-variant-numeric:tabular-nums}.move-ann{flex-shrink:0;font-size:11px}.ann-best .move-ann{color:#44d7b6}.ann-good .move-ann{color:#4a9eff}.ann-book .move-ann{color:#a78bfa}.ann-inaccuracy .move-ann{color:#f59e0b}.ann-mistake .move-ann{color:#f97316}.ann-blunder .move-ann,.ann-blunder .move-text{color:#ef4444}.ann-mistake .move-text{color:#f97316}.movelist-controls{border-top:1px solid var(--border-color);justify-content:center;align-items:center;gap:4px;padding:10px 16px;display:flex}.movelist-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s,border-color .15s;display:flex}.movelist-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#2a2a2a}.movelist-legend{border-top:1px solid var(--border-color);flex-wrap:wrap;gap:8px;padding:8px 16px 12px;display:flex}.legend-item{align-items:center;gap:3px;font-size:11px;display:flex}.legend-symbol{font-size:10px}.legend-label{color:var(--text-muted)}.ann-best .legend-symbol{color:#44d7b6}.ann-good .legend-symbol{color:#4a9eff}.ann-book .legend-symbol{color:#a78bfa}.ann-inaccuracy .legend-symbol{color:#f59e0b}.ann-mistake .legend-symbol{color:#f97316}.ann-blunder .legend-symbol{color:#ef4444}.aicoach{flex-direction:column;height:100%;display:flex}.aicoach-header{align-items:center;gap:8px;padding:14px 16px 10px;display:flex}.aicoach-sparkle{color:var(--accent-gold)}.aicoach-title{color:var(--text-primary);font-size:14px;font-weight:600}.aicoach-badge{text-transform:uppercase;letter-spacing:.5px;color:var(--accent-gold);background:#f0c0401a;border:1px solid #f0c04033;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:600}.aicoach-actions{border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:6px;padding:4px 12px 12px;display:flex}.aicoach-action-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;border-radius:100px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .15s;display:flex}.aicoach-action-btn:hover{background:var(--bg-card-hover);color:var(--accent-gold);border-color:#f0c0404d;transform:translateY(-1px)}.aicoach-action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.action-chess-icon{font-size:13px;line-height:1}.aicoach-messages{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.aicoach-messages::-webkit-scrollbar{width:4px}.aicoach-messages::-webkit-scrollbar-track{background:0 0}.aicoach-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.aicoach-msg{gap:10px;animation:.3s msgFadeIn;display:flex}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.aicoach-msg.user .msg-avatar{background:var(--bg-card-hover)}.aicoach-msg.assistant .msg-avatar{color:var(--accent-gold);background:#f0c0401f}.msg-content{flex:1;min-width:0}.msg-role{color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600}.aicoach-msg.assistant .msg-role{color:var(--accent-gold)}.msg-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.65}.msg-show-board{color:var(--accent-gold);font-family:var(--font-sans);cursor:pointer;background:#f0c04014;border:1px solid #f0c04033;border-radius:6px;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:12px;font-weight:500;transition:background .15s;display:inline-flex}.msg-show-board:hover{background:#f0c04026}.msg-typing{gap:4px;padding:8px 0;display:flex}.msg-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typingBounce}.msg-typing span:nth-child(2){animation-delay:.15s}.msg-typing span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,80%,to{opacity:.4;transform:scale(.7)}40%{opacity:1;transform:scale(1)}}.aicoach-input-area{border-top:1px solid var(--border-color);gap:8px;padding:12px;display:flex}.aicoach-input{background:var(--bg-primary);border:1px solid var(--border-color);font-family:var(--font-sans);color:var(--text-primary);border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:13px;transition:border-color .2s}.aicoach-input::placeholder{color:var(--text-muted)}.aicoach-input:focus{border-color:var(--accent-gold)}.aicoach-send{background:var(--accent-gold);color:#000;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .2s,transform .2s;display:flex}.aicoach-send:hover:not(:disabled){transform:translateY(-1px)}.aicoach-send:disabled{opacity:.3;cursor:not-allowed}.tactics-page{grid-template-columns:1fr 360px;gap:24px;max-width:1100px;min-height:calc(100vh - 120px);margin:0 auto;display:grid}.tactics-board-area{flex-direction:column;align-items:center;gap:16px;padding-top:8px;display:flex}.tactics-board-wrapper{border-radius:12px;transition:box-shadow .3s;position:relative}.tactics-board-wrapper.flash-correct{box-shadow:0 0 40px #44d7b64d}.tactics-board-wrapper.flash-wrong{box-shadow:0 0 40px #ef44444d}.tactics-status{justify-content:space-between;align-items:center;width:540px;padding:12px 0;display:flex}.tactics-status-left{flex:1}.tactics-prompt{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.prompt-dot{background:var(--accent-gold);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.tactics-feedback{font-size:14px;font-weight:600;animation:.3s feedbackSlide}@keyframes feedbackSlide{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.tactics-feedback.correct{color:#44d7b6}.tactics-feedback.wrong{color:#ef4444}.tactics-controls{gap:6px;display:flex}.tactics-ctrl-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:flex}.tactics-ctrl-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#2a2a2a}.tactics-progress{align-items:center;gap:12px;width:540px;display:flex}.tactics-progress-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:3px;flex:1;height:6px;overflow:hidden}.tactics-progress-fill{background:linear-gradient(90deg, var(--accent-gold), #e8a824);border-radius:3px;height:100%;transition:width .4s}.tactics-progress-text{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.tactics-streak{color:#f97316;white-space:nowrap;font-size:12px;font-weight:600}.tactics-right-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;max-height:calc(100vh - 120px);display:flex;overflow:hidden}.tactics-puzzle-info{border-bottom:1px solid var(--border-color);padding:16px 16px 12px}.puzzle-info-row{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.puzzle-info-row:last-child{margin-bottom:0}.puzzle-num{color:var(--text-primary);font-size:13px;font-weight:600}.puzzle-rating{color:var(--accent-gold);font-size:13px;font-weight:600}.puzzle-theme{color:var(--text-secondary);font-size:12px}.puzzle-difficulty{color:var(--accent-gold);letter-spacing:1px;font-size:12px}.tactics-tabs{border-bottom:1px solid var(--border-color);display:flex}.tactics-tab{color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 16px;font-size:13px;font-weight:600;transition:color .2s,border-color .2s}.tactics-tab:hover{color:var(--text-secondary)}.tactics-tab.active{color:var(--accent-gold);border-bottom-color:var(--accent-gold)}.tactics-tab-content{flex-direction:column;flex:1;display:flex;overflow:hidden}@media (width<=1000px){.tactics-page{grid-template-columns:1fr}.tactics-board-wrapper,.tactics-status,.tactics-progress{width:100%;max-width:480px}.tactics-right-panel{max-height:500px}}@media (width<=640px){.tactics-board-area{padding-top:0}.tactics-ctrl-btn span{display:none}}.settings-page{max-width:900px;margin:0 auto}.settings-container{flex-direction:column;gap:32px;display:flex}.settings-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:28px}.settings-section-header{margin-bottom:24px}.settings-section-header h2{letter-spacing:-.3px;margin-bottom:4px;font-size:18px;font-weight:600}.settings-section-desc{color:var(--text-muted);font-size:13px}.settings-subsection-title{color:var(--text-secondary);margin-bottom:14px;font-size:14px;font-weight:600}.settings-board-row{grid-template-columns:auto 1fr;align-items:start;gap:32px;display:grid}.settings-preview-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:12px;font-weight:500}.board-themes-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.board-theme-btn{background:var(--bg-primary);border:2px solid var(--border-color);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:border-color .2s,transform .2s;display:flex}.board-theme-btn:hover{border-color:#2a2a2a;transform:translateY(-2px)}.board-theme-btn.selected{border-color:var(--accent-gold)}.board-theme-preview{border-radius:4px;grid-template-columns:repeat(4,1fr);width:56px;height:56px;display:grid;overflow:hidden}.btp-sq{width:100%;height:100%}.board-theme-name{color:var(--text-muted);font-size:11px;font-weight:500}.board-theme-btn.selected .board-theme-name{color:var(--accent-gold)}.piece-preview-row{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;align-items:center;gap:20px;margin-bottom:16px;padding:16px;display:flex}.piece-preview-label{color:var(--text-secondary);white-space:nowrap;font-size:13px}.piece-preview-label strong{color:var(--accent-gold)}.piece-preview-pieces{gap:6px;display:flex}.piece-preview-img{border-radius:4px;transition:transform .15s}.piece-preview-img:hover{transform:scale(1.15)}.piece-search{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans);color:var(--text-primary);border-radius:10px;outline:none;margin-bottom:16px;padding:10px 16px;font-size:14px;transition:border-color .2s}.piece-search::placeholder{color:var(--text-muted)}.piece-search:focus{border-color:var(--accent-gold)}.piece-set-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:400px;padding-right:4px;display:grid;overflow-y:auto}.piece-set-grid::-webkit-scrollbar{width:4px}.piece-set-grid::-webkit-scrollbar-track{background:0 0}.piece-set-grid::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.piece-set-btn{background:var(--bg-primary);border:2px solid var(--border-color);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;padding:12px;transition:border-color .2s,transform .2s,background .2s;display:flex}.piece-set-btn:hover{background:var(--bg-card-hover);border-color:#2a2a2a;transform:translateY(-2px)}.piece-set-btn.selected{border-color:var(--accent-gold);background:#f0c0400a}.piece-set-preview{justify-content:center;gap:2px;display:flex}.psp-img{width:36px;height:36px}.piece-set-info{text-align:center}.piece-set-name{color:var(--text-primary);font-size:12px;font-weight:600;display:block}.piece-set-style{color:var(--text-muted);font-size:11px}.piece-set-btn.selected .piece-set-name{color:var(--accent-gold)}.settings-field{margin-bottom:16px}.settings-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.settings-input{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;max-width:400px;font-family:var(--font-sans);color:var(--text-primary);border-radius:10px;outline:none;padding:10px 16px;font-size:14px;transition:border-color .2s}.settings-input:focus{border-color:var(--accent-gold)}.settings-input:disabled{opacity:.5;cursor:not-allowed}.settings-actions{margin-top:20px}.settings-save{padding:10px 24px;font-size:14px}@media (width<=800px){.settings-board-row{grid-template-columns:1fr}.board-themes-grid{grid-template-columns:repeat(3,1fr)}.piece-set-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.sidebar{border-right:1px solid var(--border-color);z-index:100;background:#0a0a0a;flex-direction:column;width:260px;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:68px}.sidebar-header{justify-content:space-between;align-items:center;min-height:72px;padding:20px 16px 16px;display:flex}.sidebar-logo{white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex;overflow:hidden}.sidebar-logo-icon{flex-shrink:0;font-size:28px;line-height:1}.sidebar-logo-text{color:var(--text-primary);letter-spacing:-.3px;font-size:18px;font-weight:600}.sidebar-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:color .2s,background .2s;display:flex}.sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-card-hover)}.collapsed .sidebar-toggle{margin:0 auto}.sidebar-nav{flex:1;padding:0 8px;overflow:hidden auto}.sidebar-section{margin-top:8px}.sidebar-section-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);white-space:nowrap;padding:16px 12px 6px;font-size:11px;font-weight:600}.sidebar-item{color:var(--text-secondary);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:flex;position:relative}.sidebar-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sidebar-item.active{color:var(--accent-gold);background:#f0c04014}.sidebar-item.active:before{content:"";background:var(--accent-gold);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.sidebar-chess-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:20px;line-height:1;display:flex}.collapsed .sidebar-item{justify-content:center;padding:10px}.sidebar-bottom{border-top:1px solid var(--border-color);padding:8px}.sidebar-upgrade{color:var(--accent-gold);white-space:nowrap;background:linear-gradient(135deg,#f0c04026 0%,#f0c0400d 100%);border:1px solid #f0c04040;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin:8px 4px;padding:10px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:flex}.sidebar-upgrade:hover{background:linear-gradient(135deg,#f0c04033 0%,#f0c0401a 100%);border-color:#f0c04066;transform:translateY(-1px)}.sidebar-user{border-radius:10px;align-items:center;gap:10px;margin-top:4px;padding:12px;transition:background .2s;display:flex}.sidebar-avatar{background:var(--accent-gold);color:#000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.sidebar-user-info{overflow:hidden}.sidebar-user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-logout{color:var(--text-muted);font-size:12px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:2px 0 0;transition:color .2s;display:flex}.sidebar-logout:hover{color:#ef4444}.collapsed .sidebar-user{justify-content:center}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}@media (width<=900px){.sidebar{width:68px}.sidebar-logo-text,.sidebar-section-label,.sidebar-item span,.sidebar-upgrade,.sidebar-user-info{display:none}.sidebar-item{justify-content:center;padding:10px}.sidebar-user{justify-content:center}}.topbar{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);z-index:50;background:#0009;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-left{align-items:baseline;gap:12px;display:flex}.topbar-title{letter-spacing:-.3px;color:var(--text-primary);font-size:18px;font-weight:600}.topbar-subtitle{color:var(--text-muted);font-size:13px;font-weight:500}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-badge{font-variant-numeric:tabular-nums;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .2s;display:flex}.topbar-badge.streak,.topbar-badge.streak svg{color:#f97316}.topbar-badge.rating{color:var(--accent-gold)}.topbar-knight{font-size:16px;line-height:1}.topbar-icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,color .2s,border-color .2s;display:flex;position:relative}.topbar-icon-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--border-color)}.topbar-notif-dot{background:var(--accent-gold);border:2px solid #0a0a0a;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.topbar-avatar-btn{color:var(--text-muted)}@media (width<=640px){.topbar{padding:0 16px}.topbar-badge{display:none}}.app-layout{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;min-height:100vh;margin-left:260px;transition:margin-left .25s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-collapsed .app-main{margin-left:68px}.app-content{flex:1;padding:28px 32px;overflow-y:auto}@media (width<=900px){.app-main{margin-left:68px}.app-content{padding:20px 16px}}.navbar{z-index:1000;height:var(--nav-height);border-bottom:1px solid #0000;justify-content:center;align-items:center;padding:0 24px;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(16px);border-bottom-color:var(--border-color);background:#000000d9}.nav-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;width:100%;display:flex}.logo{letter-spacing:-.3px;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.logo-icon{font-size:28px;line-height:1}.logo-text{color:var(--text-primary)}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:var(--text-secondary);font-size:14px;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.btn-nav{background:var(--accent-gold);border-radius:8px;padding:8px 20px;color:#000!important;font-size:13px!important;font-weight:600!important;transition:opacity .2s,transform .2s!important}.btn-nav:hover{opacity:.9;transform:translateY(-1px)}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--text-primary);border-radius:2px;width:22px;height:2px;transition:transform .3s,opacity .3s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.floating-pieces{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.float-piece{color:var(--accent-gold);-webkit-user-select:none;user-select:none;will-change:transform;animation:linear infinite floatAround;position:absolute}@keyframes floatAround{0%{transform:translate(0)rotate(0)}25%{transform:translate(30px,-40px)rotate(10deg)}50%{transform:translate(-20px,-80px)rotate(-5deg)}75%{transform:translate(40px,-40px)rotate(8deg)}to{transform:translate(0)rotate(0)}}.hero{justify-content:center;align-items:center;min-height:100vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero-bg-pattern{pointer-events:none;background-image:radial-gradient(circle at 20%,#f0c0400a 0%,#0000 50%),radial-gradient(circle at 80% 30%,#4a9eff08 0%,#0000 50%),radial-gradient(circle at 50% 80%,#44d7b605 0%,#0000 50%);position:absolute;inset:0}.hero-content{text-align:center;z-index:1;max-width:800px;position:relative}.hero-badge{color:var(--accent-gold);letter-spacing:.3px;background:#f0c04014;border:1px solid #f0c04033;border-radius:100px;align-items:center;gap:6px;margin-bottom:28px;padding:6px 16px;font-size:13px;font-weight:500;display:inline-flex}.hero-title{letter-spacing:-2px;margin-bottom:20px;font-size:64px;font-weight:700;line-height:1.1}.gold{color:var(--accent-gold)}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto 36px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-primary{background:var(--accent-gold);color:#000;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #f0c04040}.btn-secondary{color:var(--text-primary);font-family:var(--font-sans);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.btn-secondary:hover{border-color:var(--text-secondary);background:var(--bg-card)}.hero-stats{justify-content:center;gap:48px;margin-top:56px;display:flex}.stat{flex-direction:column;gap:4px;display:flex}.stat-number{letter-spacing:-.5px;font-size:28px;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:500}.features{max-width:var(--max-width);margin:0 auto;padding:120px 24px}.section-header{text-align:center;margin-bottom:64px}.section-label{text-transform:uppercase;letter-spacing:2px;color:var(--accent-gold);margin-bottom:12px;font-size:12px;font-weight:600;display:inline-block}.section-title{letter-spacing:-1.5px;margin-bottom:16px;font-size:40px;font-weight:700;line-height:1.2}.section-desc{color:var(--text-secondary);max-width:540px;margin:0 auto;font-size:17px;line-height:1.7}.features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:32px;transition:background .3s,transform .3s,border-color .3s}.feature-card:hover{background:var(--bg-card-hover);border-color:#2a2a2a;transform:translateY(-4px)}.feature-icon{margin-bottom:20px;font-size:36px;line-height:1;display:block}.feature-title{letter-spacing:-.3px;margin-bottom:10px;font-size:18px;font-weight:600}.feature-desc{color:var(--text-secondary);font-size:14px;line-height:1.7}.testimonials{max-width:var(--max-width);margin:0 auto;padding:120px 24px}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testimonial-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:16px;padding:32px;display:flex}.testimonial-stars{color:var(--accent-gold);letter-spacing:2px;font-size:16px}.testimonial-quote{color:var(--text-secondary);flex:1;font-size:14px;line-height:1.7}.testimonial-author{border-top:1px solid var(--border-color);align-items:center;gap:12px;padding-top:12px;display:flex}.testimonial-avatar{background:var(--accent-gold);color:#000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.testimonial-name{font-size:14px;font-weight:600}.testimonial-title{color:var(--text-muted);font-size:12px}.pricing{max-width:var(--max-width);margin:0 auto;padding:120px 24px}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.pricing-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:24px;padding:40px 32px;transition:border-color .3s,transform .3s;display:flex;position:relative}.pricing-card:hover{border-color:#2a2a2a;transform:translateY(-4px)}.pricing-card.highlighted{border-color:var(--accent-gold);background:linear-gradient(135deg,#f0c0400a 0%,#0000 100%)}.pricing-badge{background:var(--accent-gold);color:#000;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;border-radius:100px;padding:4px 16px;font-size:11px;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-name{letter-spacing:-.3px;font-size:18px;font-weight:600}.pricing-price{align-items:baseline;gap:4px;display:flex}.pricing-amount{letter-spacing:-1.5px;font-size:40px;font-weight:700;line-height:1}.pricing-period{color:var(--text-muted);font-size:14px}.pricing-features{flex-direction:column;flex:1;gap:12px;list-style:none;display:flex}.pricing-features li{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.pricing-btn{text-align:center;justify-content:center}.engine{padding:120px 24px;position:relative;overflow:hidden}.engine-bg-glow{pointer-events:none;background:radial-gradient(circle,#f0c0400a 0%,#0000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.engine-content{max-width:var(--max-width);z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:80px;margin:0 auto;display:grid;position:relative}.engine-visual{justify-content:center;display:flex}.engine-board{border:2px solid var(--border-color);border-radius:8px;grid-template-columns:repeat(8,1fr);width:320px;height:320px;display:grid;position:relative;overflow:hidden}.board-square{width:100%;height:100%}.board-square.light{background:#1a1a1a}.board-square.dark{background:#0d0d0d}.engine-overlay{justify-content:flex-end;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.engine-eval{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:10px;padding:8px 14px;display:flex}.eval-bar{background:linear-gradient(to top, #444 0%, #444 40%, var(--accent-gold) 40%, var(--accent-gold) 100%);border-radius:2px;width:2px;height:20px}.eval-text{font-variant-numeric:tabular-nums;color:var(--accent-gold);font-size:16px;font-weight:700}.engine-text .section-label{margin-bottom:8px}.engine-text .section-title{margin-bottom:20px}.engine-text .section-desc{text-align:left;margin:0 0 28px}.engine-features{flex-direction:column;gap:12px;list-style:none;display:flex}.engine-features li{color:var(--text-secondary);align-items:center;gap:10px;font-size:15px;display:flex}.check{color:var(--accent-gold);flex-shrink:0;justify-content:center;align-items:center;width:20px;font-size:16px;font-weight:700;display:inline-flex}.cta{padding:120px 24px;position:relative;overflow:hidden}.cta-glow{pointer-events:none;background:radial-gradient(circle,#f0c0400f 0%,#0000 70%);width:500px;height:500px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cta-content{text-align:center;z-index:1;max-width:560px;margin:0 auto;position:relative}.cta-title{letter-spacing:-1.5px;margin-bottom:16px;font-size:40px;font-weight:700}.cta-desc{color:var(--text-secondary);margin-bottom:36px;font-size:17px;line-height:1.7}.cta-form{gap:12px;max-width:480px;margin:0 auto;display:flex}.cta-input{background:var(--bg-card);border:1px solid var(--border-color);font-family:var(--font-sans);color:var(--text-primary);border-radius:10px;outline:none;flex:1;padding:14px 18px;font-size:15px;transition:border-color .2s}.cta-input::placeholder{color:var(--text-muted)}.cta-input:focus{border-color:var(--accent-gold)}.cta-btn{white-space:nowrap;padding:14px 28px;font-size:14px}.cta-note{color:var(--text-muted);margin-top:16px;font-size:12px}.footer{border-top:1px solid var(--border-color);padding:40px 24px}.footer-inner{max-width:var(--max-width);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--text-muted);font-size:14px;transition:color .2s}.footer-links a:hover{color:var(--text-secondary)}.footer-copy{color:var(--text-muted);text-align:center;width:100%;font-size:13px}@media (width<=900px){.hero-title{font-size:42px}.hero-stats{flex-wrap:wrap;gap:32px}.features-grid,.testimonials-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}.engine-content{grid-template-columns:1fr;gap:48px}.engine-visual{order:-1}.section-title{font-size:32px}}@media (width<=640px){.hamburger{display:flex}.nav-links{-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--border-color);background:#000000f7;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;width:260px;height:100vh;padding:80px 32px;transition:right .35s;position:fixed;top:0;right:-100%}.nav-links.open{right:0}.nav-links a{width:100%;padding:12px 0;font-size:18px}.btn-nav{text-align:center;width:100%;margin-top:8px}.hero-title{letter-spacing:-1px;font-size:32px}.hero-subtitle{font-size:16px}.hero-stats{gap:24px}.features-grid,.testimonials-grid,.pricing-grid{grid-template-columns:1fr}.cta-form{flex-direction:column}.engine-board{width:260px;height:260px}.footer-inner{text-align:center;flex-direction:column}}@media (width<=480px){.hero-title{font-size:28px}.pricing-card{padding:32px 24px}}
