@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-base: #0a0a12;--bg-surface: #111119;--bg-elevated: #1a1a26;--bg-overlay: #222233;--bg-hover: #252538;--border: #2a2a3d;--border-hover: #3a3a52;--border-accent: rgba(139, 92, 246, .4);--text-primary: #f0f0f5;--text-secondary: #9898b0;--text-muted: #5c5c78;--text-inverse: #0a0a12;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-light: rgba(139, 92, 246, .12);--accent-glow: rgba(139, 92, 246, .25);--gradient-primary: linear-gradient(135deg, #8b5cf6, #6366f1);--gradient-warm: linear-gradient(135deg, #8b5cf6, #ec4899);--gradient-cool: linear-gradient(135deg, #6366f1, #06b6d4);--success: #22c55e;--success-light: rgba(34, 197, 94, .12);--error: #ef4444;--error-light: rgba(239, 68, 68, .12);--warning: #eab308;--warning-light: rgba(234, 179, 8, .12);--info: #3b82f6;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;color-scheme:dark}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-base);color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--accent-light);color:var(--text-primary)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}code,pre{font-family:JetBrains Mono,Fira Code,Cascadia Code,SF Mono,monospace}button{font-family:inherit}.app-header{position:sticky;top:0;z-index:100;background:#111119d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.header-content{max-width:1280px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity var(--transition-fast)}.header-logo:hover{opacity:.85;text-decoration:none}.header-logo-icon{width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0;display:block}.header-title{font-size:1.05rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.02em}.header-nav{display:flex;gap:4px}.nav-link{color:var(--text-secondary);font-size:.88rem;font-weight:500;padding:6px 14px;text-decoration:none;border-radius:var(--radius-full);transition:all var(--transition-fast)}.nav-link:hover{color:var(--text-primary);background:var(--bg-overlay);text-decoration:none}.nav-link.active{color:var(--text-primary);background:var(--accent-light)}.header-right{display:flex;align-items:center;gap:8px}.user-menu{position:relative}.avatar-btn{width:34px;height:34px;border-radius:50%;border:none;background:var(--gradient-primary);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow var(--transition-fast),transform var(--transition-fast);flex-shrink:0;letter-spacing:-.02em}.avatar-btn:hover{box-shadow:0 0 0 3px var(--accent-glow);transform:scale(1.05)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:dropdownIn .15s ease}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:14px 16px}.user-dropdown-avatar{width:38px;height:38px;border-radius:50%;background:var(--gradient-primary);color:#fff;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-dropdown-info{display:flex;flex-direction:column;min-width:0}.user-dropdown-name{font-size:.9rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-email{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider{height:1px;background:var(--border)}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 16px;background:none;border:none;color:var(--text-secondary);font-size:.88rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;font-family:inherit}.user-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.user-dropdown-logout:hover{color:var(--error)}.user-dropdown-icon{font-size:.92rem;line-height:1;width:20px;text-align:center;flex-shrink:0}.burger-btn,.mobile-nav-backdrop,.mobile-nav{display:none}.app-main{max-width:1280px;margin:0 auto;padding:28px 24px 60px;min-height:calc(100vh - 56px)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary);font-size:.95rem}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1.4;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #8b5cf640}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf666}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#16a34a;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e4d}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-secondary{background:var(--bg-overlay);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline:hover:not(:disabled){background:var(--accent-light)}.btn-danger{background:#ef4444;color:#fff;border:1px solid #ef4444}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--text-primary);background:var(--bg-overlay)}.btn-sm{padding:6px 12px;font-size:.82rem}.btn-lg{padding:12px 24px;font-size:.95rem}.progress-bar-container{display:flex;align-items:center;gap:12px;padding:12px 0}.progress-label{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;min-width:130px;font-weight:500}.progress-track{flex:1;height:6px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1);background:var(--gradient-primary)}.progress-value{font-size:.85rem;font-weight:700;color:var(--text-primary);min-width:40px;text-align:right;font-variant-numeric:tabular-nums}.topic-map{padding-bottom:40px}.topic-map-hero{margin-bottom:32px}.topic-map-hero h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.topic-map-subtitle{color:var(--text-secondary);font-size:.92rem;margin-bottom:16px}.topic-map-stats{display:flex;gap:20px;margin-top:20px}.stat-card{display:flex;align-items:center;gap:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 18px;flex:1;max-width:200px}.stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.stat-icon.purple{background:var(--accent-light)}.stat-icon.green{background:var(--success-light)}.stat-icon.blue{background:#3b82f61f}.stat-value{font-size:1.25rem;font-weight:800;color:var(--text-primary);line-height:1.2;font-variant-numeric:tabular-nums}.stat-label{font-size:.78rem;color:var(--text-muted);font-weight:500}.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.topic-card{display:flex;align-items:center;gap:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;position:relative;overflow:hidden}.topic-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.topic-card:hover{background:var(--bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.topic-card:hover:before{opacity:1}.topic-card.locked{opacity:.35;cursor:not-allowed;pointer-events:none}.topic-card.completed{border-color:#22c55e4d}.topic-card.completed:before{background:linear-gradient(135deg,#22c55e,#06b6d4)}.topic-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--text-muted);font-weight:700;font-size:.95rem;flex-shrink:0;transition:all var(--transition-normal);font-variant-numeric:tabular-nums}.topic-card.completed .topic-number{background:var(--success-light);color:var(--success)}.topic-card.available .topic-number{background:var(--accent-light);color:var(--accent)}.topic-info{flex:1;min-width:0}.topic-title{font-size:.92rem;font-weight:600;color:var(--text-primary);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-indicators{display:flex;gap:10px;font-size:.75rem;color:var(--text-muted)}.topic-indicator{display:flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.topic-indicator.done{color:var(--success)}.topic-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.topic-status{font-size:1.1rem;flex-shrink:0}.topic-reset-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);opacity:.5;position:relative;z-index:1}.topic-card:hover .topic-reset-btn{opacity:1}.topic-reset-btn:hover{color:var(--error);background:var(--error-light)}.topic-page{padding-bottom:40px}.topic-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:16px;font-size:.85rem;padding:2px 0}.breadcrumb-link{color:var(--text-muted);cursor:pointer;font-weight:500;transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--accent)}.breadcrumb-sep{color:var(--text-muted);opacity:.4;font-weight:400}.breadcrumb-current{color:var(--text-primary);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.85rem;font-weight:500;margin-bottom:20px;cursor:pointer;text-decoration:none;transition:color var(--transition-fast);padding:4px 0}.back-link:hover{color:var(--accent);text-decoration:none}.topic-page-header{margin-bottom:24px}.topic-page-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.topic-page-header h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.topic-page-header .topic-page-number{color:var(--accent);font-size:.82rem;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.topic-page-progress{display:flex;gap:12px;flex-shrink:0;padding-top:4px}.tp-item{display:flex;align-items:center;gap:4px;font-size:.78rem;font-weight:500;color:var(--text-muted);white-space:nowrap;padding:4px 10px;background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--border);font-variant-numeric:tabular-nums}.tp-item.done{color:var(--success);background:var(--success-light);border-color:#22c55e33}.tp-icon{font-weight:700}.tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-surface);border-radius:var(--radius-md);padding:4px;border:1px solid var(--border)}.tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;position:relative}.tab:hover{color:var(--text-primary);background:var(--bg-overlay)}.tab.active{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.tab-icon{font-size:1rem;line-height:1}.tab-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}.demo-view{display:grid;grid-template-columns:1fr min(340px,100%);gap:20px}.demo-editor-section{display:flex;flex-direction:column;gap:12px}.editor-wrapper{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:#1e1e1e}.editor-toolbar{display:flex;gap:8px;align-items:center}.output-panel{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.output-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--bg-elevated);border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--text-secondary)}.output-header-dots{display:flex;gap:6px}.output-header-dot{width:10px;height:10px;border-radius:50%}.output-header-dot:nth-child(1){background:#ef4444}.output-header-dot:nth-child(2){background:#eab308}.output-header-dot:nth-child(3){background:#22c55e}.output-content{padding:14px 16px;font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.65;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;min-height:48px;max-height:280px;overflow-y:auto}.output-content.error{color:var(--error)}.output-placeholder{color:var(--text-muted);font-style:italic}.demo-description{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;font-size:.88rem;line-height:1.7;color:var(--text-secondary);align-self:start;position:sticky;top:80px}.demo-description h3{color:var(--accent);font-size:.92rem;font-weight:700;margin-bottom:10px}.demo-description p{margin-bottom:10px}.demo-description code{background:var(--bg-overlay);padding:2px 6px;border-radius:4px;font-size:.82rem;color:var(--accent)}.demo-guide-highlights{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.demo-guide-highlights h3{color:var(--text-secondary);font-size:.82rem;font-weight:600;margin-bottom:10px;text-transform:uppercase;letter-spacing:.04em}.guide-highlights-list{display:flex;flex-direction:column;gap:8px}.guide-highlight-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;transition:all var(--transition-fast)}.guide-highlight-card:hover{border-color:var(--accent);background:var(--accent-light)}.guide-highlight-title{color:var(--accent);font-size:.84rem;font-weight:600;margin-bottom:4px}.guide-highlight-preview{color:var(--text-muted);font-size:.78rem;line-height:1.5}.practice-view{display:flex;flex-direction:column;gap:16px}.practice-nav{display:flex;align-items:center;justify-content:space-between}.practice-progress{font-size:.85rem;color:var(--text-secondary);font-weight:600}.practice-nav-buttons{display:flex;gap:6px}.practice-dots{display:flex;gap:6px;align-items:center;justify-content:center;padding:8px 0}.practice-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all var(--transition-fast);cursor:pointer}.practice-dot.active{background:var(--accent);transform:scale(1.3);box-shadow:0 0 8px var(--accent-glow)}.practice-dot.completed{background:var(--success)}.practice-instruction{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;font-size:.9rem;line-height:1.7;color:var(--text-secondary)}.practice-instruction h3{color:var(--text-primary);margin-bottom:8px;font-size:.95rem;font-weight:700}.practice-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.practice-result-banner{position:relative;border-radius:var(--radius-lg);padding:32px 28px 24px;text-align:center;overflow:hidden;animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1)}.practice-result-banner.passed{background:linear-gradient(135deg,#22c55e1f,#06b6d414);border:1px solid rgba(34,197,94,.35);box-shadow:0 0 40px #22c55e1a,0 0 80px #22c55e0d}.practice-result-banner.failed{background:linear-gradient(135deg,#ef44441a,#f973160f);border:1px solid rgba(239,68,68,.3);animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1),shake .5s ease .3s}@keyframes resultAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(3px)}75%{transform:translate(-2px)}}.result-icon-wrap{display:flex;justify-content:center;margin-bottom:16px}.result-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:16px}.result-icon.success{background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;box-shadow:0 0 24px #22c55e66,0 0 48px #22c55e26;animation:iconPop .6s cubic-bezier(.34,1.56,.64,1) .15s both}.result-icon.error{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;box-shadow:0 0 24px #ef444459,0 0 48px #ef44441a;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1) .15s both}@keyframes iconPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.check-anim{stroke-dasharray:24;stroke-dashoffset:24;animation:drawCheck .4s ease .5s forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.x-anim-1,.x-anim-2{stroke-dasharray:18;stroke-dashoffset:18}.x-anim-1{animation:drawX .3s ease .4s forwards}.x-anim-2{animation:drawX .3s ease .55s forwards}@keyframes drawX{to{stroke-dashoffset:0}}.result-title{font-size:1.5rem;font-weight:800;margin-bottom:4px;letter-spacing:-.02em;animation:fadeInUp .4s ease .25s both}.practice-result-banner.passed .result-title{background:linear-gradient(135deg,#22c55e,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.practice-result-banner.failed .result-title{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-subtitle{font-size:.92rem;color:var(--text-secondary);margin-bottom:4px;animation:fadeInUp .4s ease .35s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:6px;height:6px;border-radius:50%;top:50%;left:50%;animation:particleBurst .9s cubic-bezier(.25,.46,.45,.94) forwards;opacity:0}.particle:nth-child(1){--tx: 90px;--ty: 0px;background:#22c55e;animation-delay:.2s}.particle:nth-child(2){--tx: 95px;--ty: 55px;background:#06b6d4;animation-delay:.25s}.particle:nth-child(3){--tx: 42px;--ty: 74px;background:#8b5cf6;animation-delay:.22s}.particle:nth-child(4){--tx: 0px;--ty: 100px;background:#eab308;animation-delay:.28s}.particle:nth-child(5){--tx: -47px;--ty: 82px;background:#22c55e;animation-delay:.24s}.particle:nth-child(6){--tx: -100px;--ty: 57px;background:#ec4899;animation-delay:.3s}.particle:nth-child(7){--tx: -88px;--ty: 0px;background:#06b6d4;animation-delay:.21s}.particle:nth-child(8){--tx: -91px;--ty: -52px;background:#eab308;animation-delay:.27s}.particle:nth-child(9){--tx: -46px;--ty: -80px;background:#8b5cf6;animation-delay:.23s}.particle:nth-child(10){--tx: 0px;--ty: -100px;background:#22c55e;animation-delay:.26s}.particle:nth-child(11){--tx: 40px;--ty: -69px;background:#ec4899;animation-delay:.29s}.particle:nth-child(12){--tx: 95px;--ty: -55px;background:#06b6d4;animation-delay:.2s}@keyframes particleBurst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}.btn-check-pulse{animation:checkPulse 2s ease infinite}@keyframes checkPulse{0%,to{box-shadow:0 2px 8px #8b5cf640}50%{box-shadow:0 2px 16px #8b5cf673}}.practice-code-error{background:var(--warning-light);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-sm);padding:12px 14px;font-size:.85rem;color:var(--warning);line-height:1.5;font-family:JetBrains Mono,monospace;text-align:left}.practice-result-header,.practice-result-header.passed,.practice-result-header.failed{display:none}.quiz-answer-feedback{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:var(--radius-md);margin-bottom:16px;animation:resultAppear .4s cubic-bezier(.34,1.56,.64,1)}.quiz-answer-feedback.correct{background:linear-gradient(135deg,#22c55e1a,#06b6d40f);border:1px solid rgba(34,197,94,.3)}.quiz-answer-feedback.incorrect{background:linear-gradient(135deg,#ef44441a,#f973160f);border:1px solid rgba(239,68,68,.3);animation:resultAppear .4s cubic-bezier(.34,1.56,.64,1),shake .45s ease .25s}.quiz-feedback-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:8px;flex-shrink:0;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1) .1s both}.quiz-feedback-icon.success{background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;box-shadow:0 0 12px #22c55e4d}.quiz-feedback-icon.error{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;box-shadow:0 0 12px #ef44444d}.quiz-feedback-content{flex:1;min-width:0}.quiz-feedback-title{font-size:.95rem;font-weight:700;margin-bottom:4px;animation:fadeInUp .3s ease .15s both}.quiz-answer-feedback.correct .quiz-feedback-title{color:var(--success)}.quiz-answer-feedback.incorrect .quiz-feedback-title{color:var(--error)}.quiz-feedback-text{font-size:.88rem;line-height:1.6;color:var(--text-secondary);animation:fadeInUp .3s ease .25s both}.quiz-final-score{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:16px;animation:fadeInUp .4s ease .4s both}.quiz-final-number{font-size:3.5rem;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.quiz-final-number.good{background:linear-gradient(135deg,#22c55e,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quiz-final-number.bad{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.quiz-final-percent{font-size:1.25rem;font-weight:700;color:var(--text-muted)}.practice-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.practice-comparison-box{background:var(--bg-base);border-radius:var(--radius-sm);padding:12px 14px;border:1px solid var(--border)}.practice-comparison-box h4{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-weight:600}.practice-comparison-box pre{font-size:.84rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,monospace}.solution-block{background:var(--bg-elevated);border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-md);padding:18px 20px;animation:slideUp .3s ease}.solution-block h4{color:var(--warning);margin-bottom:12px;font-size:.92rem;display:flex;align-items:center;gap:6px}.empty-state{text-align:center;padding:60px 24px;color:var(--text-muted);font-size:1rem}.empty-state p{margin-top:6px;color:var(--text-muted);font-size:.9rem}.empty-state p:first-child{font-size:1.05rem;color:var(--text-secondary);font-weight:500}.test-view{display:flex;flex-direction:column;gap:16px}.test-progress-info{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-secondary);font-weight:500}.test-progress-bar{height:4px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden}.test-progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .4s cubic-bezier(.4,0,.2,1)}.question-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;animation:slideUp .25s ease}.question-number{font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:10px}.question-text{font-size:1rem;line-height:1.6;color:var(--text-primary);margin-bottom:20px;font-weight:500}.question-code{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:20px;font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;overflow-x:auto}.options-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.option-item{display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.option-item:hover{border-color:var(--border-hover);background:var(--bg-overlay)}.option-item.selected{border-color:var(--accent);background:var(--accent-light)}.option-item.correct{border-color:#22c55e80;background:var(--success-light)}.option-item.incorrect{border-color:#ef444480;background:var(--error-light)}.option-item.disabled{pointer-events:none}.option-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.option-item.selected .option-radio{border-color:var(--accent)}.option-item.selected .option-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.option-item.correct .option-radio{border-color:var(--success)}.option-item.correct .option-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--success)}.option-item.incorrect .option-radio{border-color:var(--error)}.option-item.incorrect .option-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--error)}.option-text{font-size:.9rem;color:var(--text-primary);line-height:1.4}.explanation{padding:14px 18px;border-radius:var(--radius-md);margin-bottom:16px;font-size:.88rem;line-height:1.6;animation:slideUp .3s ease}.explanation.correct{background:var(--success-light);border:1px solid rgba(34,197,94,.3);color:#86efac}.explanation.incorrect{background:var(--error-light);border:1px solid rgba(239,68,68,.3);color:#fca5a5}.explanation strong{display:block;margin-bottom:4px;color:inherit}.test-summary{text-align:center;padding:48px 32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);animation:slideUp .4s ease}.test-summary h2{font-size:1.25rem;font-weight:700;margin-bottom:20px;color:var(--text-secondary)}.test-score{font-size:3.5rem;font-weight:900;margin-bottom:4px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.test-score.passed{background:linear-gradient(135deg,#22c55e,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.test-score.failed{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.test-summary-label{color:var(--text-muted);font-size:.92rem;margin-bottom:20px}.test-summary-message{font-size:1.15rem;font-weight:700;margin-bottom:28px}.test-summary-message.passed{color:var(--success)}.test-summary-message.failed{color:var(--error)}.test-summary-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.marathon-page{padding-bottom:40px}.marathon-page h1{font-size:1.75rem;font-weight:800;margin-bottom:6px;color:var(--text-primary);letter-spacing:-.03em}.marathon-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.marathon-progress{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px;font-weight:600}.marathon-summary{text-align:center;padding:48px 32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);animation:slideUp .4s ease}.marathon-summary h2{font-size:1.25rem;font-weight:700;margin-bottom:20px;color:var(--text-secondary)}.marathon-score{font-size:3.5rem;font-weight:900;margin-bottom:4px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.marathon-score.good{background:linear-gradient(135deg,#22c55e,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.marathon-score.bad{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.marathon-wrong-list{text-align:left;max-width:680px;margin:28px auto 0}.marathon-wrong-list h3{font-size:.92rem;color:var(--error);margin-bottom:12px;font-weight:700}.marathon-wrong-item{background:var(--error-light);border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);padding:14px 18px;margin-bottom:8px}.marathon-wrong-item .question-text{font-size:.88rem;margin-bottom:8px}.marathon-wrong-item .wrong-answer{color:var(--error);font-size:.82rem}.marathon-wrong-item .correct-answer{color:var(--success);font-size:.82rem}.guide-view{display:flex;flex-direction:column;gap:16px}.guide-section{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}.guide-section-title{color:var(--accent);font-size:1rem;font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);letter-spacing:-.01em}.guide-section-content{font-size:.9rem;line-height:1.8;color:var(--text-secondary)}.guide-section-content p{margin-bottom:12px}.guide-section-content strong{color:var(--text-primary);font-weight:600}.guide-code-block{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;margin:12px 0;font-size:.84rem;line-height:1.65;color:var(--text-primary);white-space:pre-wrap;overflow-x:auto}.guide-inline-code{background:var(--bg-overlay);padding:2px 6px;border-radius:4px;font-size:.83rem;color:var(--accent)}@media(max-width:960px){.demo-view{grid-template-columns:1fr}.demo-description{position:static}.practice-comparison,.topic-list{grid-template-columns:1fr}.topic-map-stats{flex-wrap:wrap}.stat-card{max-width:none}}@media(max-width:768px){.burger-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);flex-shrink:0;transition:all var(--transition-fast)}.burger-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.header-nav-desktop{display:none}.mobile-nav{display:flex;flex-direction:column;gap:4px;position:fixed;top:56px;left:0;right:0;bottom:0;background:var(--bg-base);padding:16px;z-index:200;overflow-y:auto;animation:mobileNavIn .2s ease}@keyframes mobileNavIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{display:block;font-size:1.05rem;font-weight:500;padding:14px 16px;border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast)}.mobile-nav-link:hover{background:var(--bg-overlay);color:var(--text-primary);text-decoration:none}.mobile-nav-link.active{color:var(--text-primary);background:var(--accent-light)}.mobile-nav-backdrop{display:block;position:fixed;right:0;bottom:0;left:0;top:56px;z-index:190;background:#00000080}.topic-page-header-top{flex-direction:column;gap:12px}.topic-page-progress{flex-wrap:wrap;gap:6px}.topic-map-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.admin-users-table th,.admin-users-table td{padding:10px 12px;font-size:.82rem}.courses-review-banner{flex-direction:column;gap:10px;text-align:center;padding:16px 20px}.profile-stats{flex-wrap:wrap}.profile-stat-card{max-width:none;min-width:140px;flex:1}}@media(max-width:600px){.header-content{padding:0 12px;height:48px}.header-logo-icon{width:28px;height:28px;font-size:.75rem}.header-title{font-size:.92rem}.mobile-nav,.mobile-nav-backdrop{top:48px}.app-main{padding:16px 12px 40px}.topic-map-hero h1{font-size:1.35rem}.topic-map-stats{gap:8px}.stat-card{padding:10px 14px}.stat-icon{width:34px;height:34px;font-size:1rem}.stat-value{font-size:1.1rem}.topic-card{padding:12px 14px;gap:10px}.topic-number{width:34px;height:34px;font-size:.88rem}.topic-title{font-size:.85rem}.tabs{flex-direction:column;gap:2px}.tab{padding:10px 14px}.question-card{padding:18px}.btn{padding:8px 14px;font-size:.85rem}.test-summary,.marathon-summary{padding:32px 20px}.test-score,.marathon-score{font-size:2.5rem}.question-code,.ba-code,.guide-code-block{font-size:.78rem;padding:12px 14px}.demo-description{padding:16px}.guide-section{padding:18px 16px}.practice-result-banner{padding:24px 18px 20px}.auth-card{padding:28px 20px}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 144px);padding:40px 20px}.auth-card{width:100%;max-width:420px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-xl);padding:40px 36px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000004d}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px}.auth-logo h1{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em}.auth-tagline{font-size:.92rem;color:var(--text-secondary);margin-top:-4px}.auth-tabs{display:flex;gap:4px;margin-bottom:24px;background:var(--bg-surface);border-radius:var(--radius-md);padding:4px;border:1px solid var(--border)}.auth-tab{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:600;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);text-align:center}.auth-tab:hover{color:var(--text-primary);background:var(--bg-overlay)}.auth-tab.active{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.82rem;font-weight:600;color:var(--text-secondary)}.auth-form input{width:100%;padding:11px 14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;transition:all var(--transition-fast);outline:none;box-sizing:border-box}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf626}.auth-form input::placeholder{color:var(--text-muted)}.auth-error{background:var(--error-light);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);padding:10px 14px;color:#fca5a5;font-size:.85rem;line-height:1.4}.auth-submit{width:100%;margin-top:4px}.header-user{display:none}.admin-page{padding-bottom:40px}.admin-page h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.admin-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:24px}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}.admin-users-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-users-table th{text-align:left;padding:12px 16px;background:var(--bg-elevated);color:var(--text-secondary);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.admin-users-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--text-primary);white-space:nowrap}.admin-users-table tbody tr:hover{background:var(--bg-overlay)}.admin-users-table tbody tr:last-child td{border-bottom:none}.admin-cell-id{color:var(--text-muted);font-variant-numeric:tabular-nums}.admin-cell-email{color:var(--text-secondary)}.admin-cell-date{color:var(--text-muted);font-size:.82rem}.admin-progress-badge{display:inline-flex;padding:3px 10px;background:var(--accent-light);border-radius:var(--radius-full);font-size:.82rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.admin-role-badge{display:inline-flex;padding:3px 10px;border-radius:var(--radius-full);font-size:.78rem;font-weight:600}.admin-role-badge.admin{background:var(--success-light);color:var(--success)}.admin-role-badge.user{background:var(--bg-overlay);color:var(--text-muted)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.gap-8{gap:8px}.gap-16{gap:16px}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-col{flex-direction:column}.courses-page{padding-bottom:40px}.courses-header{margin-bottom:32px}.courses-header h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.courses-subtitle{color:var(--text-secondary);font-size:.92rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:16px}.course-card{display:flex;flex-direction:column;gap:16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-normal)}.course-card:hover{background:var(--bg-hover);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.course-card:hover:before{opacity:1}.course-icon{font-size:2.5rem;line-height:1}.course-info{flex:1}.course-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em}.course-description{font-size:.88rem;line-height:1.6;color:var(--text-secondary);margin-bottom:12px}.course-stats{display:flex;gap:16px;font-size:.82rem;color:var(--text-muted);font-weight:500}.course-completed-count{color:var(--success)}.course-progress{display:flex;align-items:center;gap:12px}.course-progress-track{flex:1;height:6px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden}.course-progress-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1);background:var(--gradient-primary)}.course-progress-text{font-size:.85rem;font-weight:700;color:var(--text-primary);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:600px){.courses-grid{grid-template-columns:1fr}.course-card{padding:20px}.course-icon{font-size:2rem}.course-title{font-size:1.1rem}}.hint-system{background:linear-gradient(135deg,#eab30814,#f973160d);border:1px solid rgba(234,179,8,.25);border-radius:var(--radius-md);padding:16px 18px;animation:slideUp .3s ease}.hint-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.hint-icon{font-size:1.2rem;animation:hintGlow 2s ease infinite}@keyframes hintGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.hint-label{font-size:.88rem;font-weight:700;color:var(--warning)}.hint-list{display:flex;flex-direction:column;gap:8px}.hint-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#eab3080f;border-radius:var(--radius-sm);border:1px solid rgba(234,179,8,.12)}.hint-item.hint-appear{animation:hintSlideIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes hintSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.hint-number{width:22px;height:22px;border-radius:50%;background:#eab30833;color:var(--warning);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hint-text{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.hint-more{margin-top:8px;font-size:.78rem;color:var(--text-muted);font-style:italic}.combo-counter{display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:var(--radius-full);background:var(--bg-overlay);border:1px solid var(--border);transition:all .3s ease;white-space:nowrap}.combo-counter.combo-bump{animation:comboBump .4s cubic-bezier(.34,1.56,.64,1)}@keyframes comboBump{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.combo-counter.combo-warm{background:#eab3081a;border-color:#eab3084d}.combo-counter.combo-hot{background:#f973161f;border-color:#f9731659}.combo-counter.combo-fire{background:#ef44441f;border-color:#ef444459;animation:comboBump .4s cubic-bezier(.34,1.56,.64,1),comboFire 1.5s ease infinite}@keyframes comboFire{0%,to{box-shadow:0 0 8px #ef444433}50%{box-shadow:0 0 16px #ef444466}}.combo-value{display:flex;align-items:baseline;font-weight:800;font-variant-numeric:tabular-nums}.combo-x{font-size:.72rem;color:var(--text-muted)}.combo-number{font-size:1rem;color:var(--text-primary)}.combo-warm .combo-number{color:var(--warning)}.combo-hot .combo-number{color:#f97316}.combo-fire .combo-number{color:var(--error)}.combo-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.combo-label-appear{animation:fadeInUp .3s ease}.combo-warm .combo-label{color:var(--warning)}.combo-hot .combo-label{color:#f97316}.combo-fire .combo-label{color:var(--error)}.combo-best{font-size:.7rem;color:var(--text-muted);font-weight:500}.practice-nav-right,.test-progress-right{display:flex;align-items:center;gap:10px}.test-combo-summary{font-size:.85rem;color:var(--text-muted);margin-top:12px;animation:fadeInUp .4s ease .5s both}.before-after-view{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;margin-bottom:24px;animation:slideUp .4s ease}.before-after-view.after-mode{border-color:#22c55e4d;background:linear-gradient(135deg,#22c55e0f,#06b6d40a)}.ba-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.ba-icon{font-size:1.5rem}.ba-header h3{font-size:1.1rem;font-weight:700;color:var(--text-primary)}.ba-code{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:.84rem;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;overflow-x:auto}.ba-question{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.ba-options{display:flex;gap:8px;margin-bottom:16px}.ba-option{padding:8px 20px;background:var(--bg-overlay);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.ba-option:hover{border-color:var(--accent);color:var(--accent)}.ba-option.selected{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.ba-encouragement{font-size:.92rem;color:var(--text-secondary);line-height:1.6}.ba-fade-in{animation:fadeInUp .3s ease}.ba-continue{display:block;margin-top:16px}.ba-explanation{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:16px}.ba-skills-unlocked h4{font-size:.88rem;font-weight:700;color:var(--success);margin-bottom:12px}.ba-skills-list{display:flex;flex-direction:column;gap:8px}.ba-skill-item{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--text-primary);padding:8px 12px;background:var(--success-light);border-radius:var(--radius-sm);border:1px solid rgba(34,197,94,.2)}.ba-skill-appear{animation:skillAppear .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes skillAppear{0%{opacity:0;transform:translate(-10px) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}.ba-skill-check{color:var(--success);font-weight:700;font-size:1rem}.flashcard-deck{max-width:600px;margin:0 auto}.fc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.fc-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.fc-progress{font-size:.85rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.fc-card-wrapper{perspective:800px;cursor:pointer;margin-bottom:16px;transition:transform .3s ease}.fc-card-wrapper.fc-swipe-right{animation:swipeRight .3s ease forwards}.fc-card-wrapper.fc-swipe-left{animation:swipeLeft .3s ease forwards}@keyframes swipeRight{to{transform:translate(120%) rotate(8deg);opacity:0}}@keyframes swipeLeft{to{transform:translate(-120%) rotate(-8deg);opacity:0}}.fc-card{position:relative;min-height:200px;transition:transform .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.fc-card.fc-flipped{transform:rotateY(180deg)}.fc-front,.fc-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--radius-lg);padding:32px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fc-front{background:linear-gradient(135deg,var(--bg-elevated),var(--bg-surface));border:1px solid var(--border);box-shadow:0 4px 16px #00000026}.fc-back{background:linear-gradient(135deg,#8b5cf614,#06b6d40f);border:1px solid rgba(139,92,246,.25);transform:rotateY(180deg);box-shadow:0 4px 16px #8b5cf61a}.fc-card-content{font-size:1rem;line-height:1.6;color:var(--text-primary);font-weight:500}.fc-tap-hint{margin-top:16px;font-size:.78rem;color:var(--text-muted)}.fc-actions{display:flex;gap:12px;justify-content:center;margin-bottom:16px}.fc-actions-appear{animation:fadeInUp .3s ease}.fc-btn-forgot{background:var(--error-light);color:var(--error);border:1px solid rgba(239,68,68,.3);padding:10px 24px;font-weight:600}.fc-btn-forgot:hover{background:#ef444426}.fc-btn-remember{background:var(--success-light);color:var(--success);border:1px solid rgba(34,197,94,.3);padding:10px 24px;font-weight:600}.fc-btn-remember:hover{background:#22c55e26}.fc-dots{display:flex;gap:6px;justify-content:center}.fc-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all var(--transition-fast)}.fc-dot.active{background:var(--accent);transform:scale(1.3)}.fc-dot.done{background:var(--success)}.flashcard-summary{text-align:center;padding:32px 24px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);animation:slideUp .4s ease}.fc-summary-icon{font-size:2.5rem;margin-bottom:12px}.fc-summary-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.fc-summary-stats{font-size:.92rem;color:var(--text-secondary);margin-bottom:16px}.fc-summary-stats strong{color:var(--success)}.fc-summary-bar{height:6px;background:var(--bg-overlay);border-radius:var(--radius-full);overflow:hidden;margin-bottom:16px}.fc-summary-fill{height:100%;background:linear-gradient(90deg,var(--success),#06b6d4);border-radius:var(--radius-full);transition:width .6s ease}.skill-cloud{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.skill-cloud-compact{padding:16px 18px}.skill-cloud-header{display:flex;align-items:center;gap:8px;margin-bottom:16px}.skill-cloud-icon{font-size:1.2rem}.skill-cloud-title{font-size:1rem;font-weight:700;color:var(--text-primary);flex:1}.skill-cloud-count{background:var(--accent-light);color:var(--accent);font-size:.78rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:6px 14px;border-radius:var(--radius-full);font-size:.82rem;font-weight:600;transition:all var(--transition-fast);cursor:default}.skill-tag-appear{animation:skillTagAppear .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes skillTagAppear{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.skill-tag.skill-green{background:var(--success-light);color:var(--success);border:1px solid rgba(34,197,94,.2)}.skill-tag.skill-blue{background:#3b82f61a;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.skill-tag.skill-purple{background:var(--accent-light);color:var(--accent);border:1px solid rgba(139,92,246,.2)}.skill-tag.skill-orange{background:#f973161a;color:#fb923c;border:1px solid rgba(249,115,22,.2)}.skill-tag.skill-more{background:var(--bg-overlay);color:var(--text-muted);border:1px solid var(--border)}.review-page{padding-bottom:40px}.review-header{margin-bottom:32px}.review-header h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.review-subtitle{color:var(--text-secondary);font-size:.92rem}.profile-page{padding-bottom:40px}.profile-header{margin-bottom:32px}.profile-header h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:6px}.profile-subtitle{color:var(--text-secondary);font-size:.92rem}.profile-stats{display:flex;gap:16px;margin-bottom:24px}.profile-stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px 24px;text-align:center;flex:1;max-width:200px}.profile-stat-value{font-size:2rem;font-weight:900;color:var(--text-primary);font-variant-numeric:tabular-nums;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-stat-label{font-size:.82rem;color:var(--text-muted);font-weight:500;margin-top:4px}.courses-review-banner{background:linear-gradient(135deg,#8b5cf614,#06b6d40f);border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all var(--transition-normal)}.courses-review-banner:hover{border-color:var(--accent);box-shadow:0 4px 16px #8b5cf626;transform:translateY(-1px)}.courses-review-text{display:flex;align-items:center;gap:10px}.courses-review-icon{font-size:1.5rem}.courses-review-info h3{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.courses-review-info p{font-size:.82rem;color:var(--text-muted)}@media(max-width:600px){.before-after-view{padding:18px}.ba-options{flex-direction:column}.fc-front,.fc-back{padding:24px 18px}.fc-actions,.profile-stats{flex-direction:column}.profile-stat-card{max-width:none}.combo-counter{padding:3px 8px}.combo-number{font-size:.88rem}.courses-review-banner{flex-direction:column;gap:12px;text-align:center}}.topic-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:24px;gap:0;padding:0 8px}.stepper-step{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:var(--radius-sm);transition:background var(--transition-fast);position:relative;-webkit-user-select:none;user-select:none}.stepper-step:hover{background:var(--bg-overlay)}.stepper-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;transition:all .3s ease;border:2px solid transparent}.stepper-circle.waiting{background:var(--bg-overlay);color:var(--text-muted);border-color:var(--border)}.stepper-circle.current{background:var(--gradient-primary);color:#fff;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow),0 0 24px #8b5cf626}.stepper-circle.done{background:var(--success);color:#fff;border-color:var(--success)}.stepper-circle.done svg{width:16px;height:16px}.stepper-label{font-size:.82rem;font-weight:600;color:var(--text-muted);white-space:nowrap;transition:color var(--transition-fast)}.stepper-step.step-current .stepper-label{color:var(--accent)}.stepper-step.step-done .stepper-label{color:var(--success)}.stepper-connector{width:40px;height:2px;background:var(--border);flex-shrink:0;transition:background .4s ease;border-radius:1px}.stepper-connector.filled{background:var(--success)}.next-step-toast{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 20px;margin-bottom:20px;background:linear-gradient(135deg,#22c55e14,#06b6d40f);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);animation:slideUp .3s ease}.next-step-toast:hover{background:linear-gradient(135deg,#22c55e24,#06b6d41a);border-color:#22c55e80;transform:translateY(-1px)}.next-step-toast-icon{font-size:1rem}.next-step-toast-text{font-size:.88rem;font-weight:600;color:var(--success)}.next-step-toast-arrow{font-size:.88rem;color:var(--success);font-weight:700}.practice-split-pane{display:grid;grid-template-columns:min(380px,100%) 1fr;gap:20px;align-items:start}.practice-left-panel,.practice-right-panel{display:flex;flex-direction:column;gap:14px}.practice-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.practice-topbar-left{display:flex;align-items:center;gap:10px}.practice-topbar-text{font-size:.85rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.practice-topbar-dots{display:flex;gap:5px;align-items:center}.practice-topbar-dots .practice-dot{width:7px;height:7px}.practice-topbar-right{display:flex;align-items:center;gap:8px}.practice-result-inline{border-radius:var(--radius-md);overflow:hidden;animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1)}.practice-result-inline.passed{background:linear-gradient(135deg,#22c55e1a,#06b6d40f);border:1px solid rgba(34,197,94,.35)}.practice-result-inline.failed{background:linear-gradient(135deg,#ef444414,#f973160d);border:1px solid rgba(239,68,68,.3);animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1),shake .5s ease .3s}.inline-result-header{display:flex;align-items:center;gap:10px;padding:12px 16px;position:relative;overflow:hidden}.inline-result-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:7px;flex-shrink:0}.inline-result-icon.success{background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;box-shadow:0 0 12px #22c55e4d;animation:iconPop .6s cubic-bezier(.34,1.56,.64,1) .15s both}.inline-result-icon.error{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;box-shadow:0 0 12px #ef444440;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1) .15s both}.inline-result-text{flex:1;min-width:0}.inline-result-title{font-size:.95rem;font-weight:700;animation:fadeInUp .3s ease .2s both}.practice-result-inline.passed .inline-result-title{color:var(--success)}.practice-result-inline.failed .inline-result-title{color:var(--error)}.inline-result-subtitle{font-size:.82rem;color:var(--text-muted);animation:fadeInUp .3s ease .3s both}.inline-result-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.inline-result-particles .particle{width:5px;height:5px}.inline-result-body{padding:0 16px 14px}.guide-fab{position:fixed;bottom:24px;right:24px;z-index:50;width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;border:none;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #8b5cf666,0 0 32px #8b5cf626;transition:all var(--transition-fast)}.guide-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #8b5cf680,0 0 40px #8b5cf633}.guide-slide-over-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.guide-slide-over{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;z-index:60;background:var(--bg-base);border-left:1px solid var(--border);box-shadow:-8px 0 32px #0000004d;animation:slideOverIn .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}@keyframes slideOverIn{0%{transform:translate(100%)}to{transform:translate(0)}}.guide-slide-over-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.guide-slide-over-header h3{font-size:.95rem;font-weight:700;color:var(--text-primary)}.guide-slide-over-close{width:32px;height:32px;border:none;background:var(--bg-overlay);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition-fast)}.guide-slide-over-close:hover{background:var(--bg-hover);color:var(--text-primary)}.guide-slide-over-content{flex:1;overflow-y:auto;padding:20px}.test-finish-card{text-align:center;padding:36px 32px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:20px;animation:resultAppear .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.test-finish-card.passed{border-color:#22c55e59;background:linear-gradient(135deg,#22c55e0f,#06b6d40a)}.test-finish-card.failed{border-color:#ef444440;background:linear-gradient(135deg,#ef44440f,#f973160a)}.test-finish-title{font-size:1.35rem;font-weight:800;margin-bottom:4px;letter-spacing:-.02em;animation:fadeInUp .4s ease .15s both}.test-finish-card.passed .test-finish-title{background:linear-gradient(135deg,#22c55e,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.test-finish-card.failed .test-finish-title{background:linear-gradient(135deg,#ef4444,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.test-finish-subtitle{font-size:.88rem;color:var(--text-secondary);margin-bottom:24px;animation:fadeInUp .4s ease .25s both}.test-ring-wrap{display:flex;justify-content:center;margin-bottom:16px;animation:iconPop .6s cubic-bezier(.34,1.56,.64,1) .3s both}.test-ring-container{position:relative;width:120px;height:120px}.test-ring-svg{width:120px;height:120px;transform:rotate(-90deg)}.test-ring-bg{fill:none;stroke:var(--border);stroke-width:8}.test-ring-fill{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.test-finish-card.passed .test-ring-fill{stroke:var(--success);filter:drop-shadow(0 0 6px rgba(34,197,94,.4))}.test-finish-card.failed .test-ring-fill{stroke:var(--error);filter:drop-shadow(0 0 6px rgba(239,68,68,.3))}.test-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:900;font-variant-numeric:tabular-nums}.test-finish-card.passed .test-ring-text{color:var(--success)}.test-finish-card.failed .test-ring-text{color:var(--error)}.test-finish-score{font-size:.92rem;color:var(--text-secondary);margin-bottom:20px;animation:fadeInUp .4s ease .45s both}.demo-run-hint{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:12px;background:linear-gradient(135deg,#8b5cf614,#06b6d40f);border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--accent);animation:slideUp .3s ease}.demo-run-hint-icon{font-size:1rem;flex-shrink:0}@media(max-width:960px){.practice-split-pane{grid-template-columns:1fr}.practice-left-panel{position:static;max-height:none;overflow-y:visible}.stepper-connector{width:24px}}@media(max-width:600px){.stepper-label{display:none}.stepper-circle{width:28px;height:28px;font-size:.75rem}.stepper-connector{width:16px}.stepper-step{padding:4px;gap:0}.practice-topbar{flex-wrap:wrap;gap:8px}.guide-slide-over{width:100vw}.guide-fab{bottom:16px;right:16px;width:44px;height:44px;font-size:1.1rem}.test-ring-container,.test-ring-svg{width:100px;height:100px}.test-ring-text{font-size:1.3rem}.test-finish-card{padding:28px 20px}.inline-result-header{padding:10px 14px}}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-header{position:sticky;top:0;z-index:100;background:#0a0a12d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.landing-header-content{max-width:1120px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}.landing-logo{display:flex;align-items:center;gap:10px}.landing-container{max-width:1120px;margin:0 auto;padding:0 24px}.landing-section{padding:80px 0}.landing-section-alt{background:var(--bg-surface)}.landing-h2{font-size:2rem;font-weight:800;text-align:center;margin-bottom:12px;letter-spacing:-.03em;color:var(--text-primary)}.landing-section-subtitle{text-align:center;color:var(--text-secondary);font-size:1.1rem;margin-bottom:48px}.landing-hero{padding:80px 0 64px}.landing-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.landing-h1{font-size:2.8rem;font-weight:900;line-height:1.15;letter-spacing:-.04em;color:var(--text-primary);margin-bottom:20px}.landing-subtitle{font-size:1.15rem;color:var(--text-secondary);line-height:1.6;margin-bottom:32px}.landing-cta-group{display:flex;gap:12px;flex-wrap:wrap}.landing-cta{font-size:1rem;padding:12px 28px;text-decoration:none}.landing-cta:hover{text-decoration:none}.landing-cta-center{display:flex;justify-content:center;margin-top:40px}.landing-code-block{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg),0 0 60px #8b5cf614}.landing-code-header{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--bg-overlay);border-bottom:1px solid var(--border)}.landing-code-dot{width:10px;height:10px;border-radius:50%}.landing-code-dot.red{background:#ef4444}.landing-code-dot.yellow{background:#eab308}.landing-code-dot.green{background:#22c55e}.landing-code-filename{margin-left:8px;font-size:.8rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.landing-code-body{padding:20px;margin:0;font-size:.88rem;line-height:1.7;color:var(--text-primary);overflow-x:auto}.landing-code-body code{font-family:JetBrains Mono,monospace}.landing-code-output{padding:10px 20px;background:#22c55e14;border-top:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--success);display:flex;gap:8px}.landing-code-output-label{color:var(--text-muted)}.landing-pain-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px 48px;max-width:800px;margin:0 auto}.landing-pain-text{font-size:1.2rem;line-height:1.7;color:var(--text-secondary);text-align:center}.landing-steps{display:flex;align-items:flex-start;justify-content:center;gap:24px;margin-top:48px}.landing-step{text-align:center;max-width:260px;flex:1}.landing-step-number{width:48px;height:48px;border-radius:50%;background:var(--gradient-primary);color:#fff;font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.landing-step h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.landing-step p{font-size:.95rem;color:var(--text-secondary);line-height:1.5}.landing-step-arrow{color:var(--text-muted);font-size:1.5rem;margin-top:12px;flex-shrink:0}.landing-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.landing-method-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px 20px;text-align:center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.landing-method-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-glow)}.landing-method-icon{font-size:2rem;margin-bottom:12px}.landing-method-card h3{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.landing-method-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.landing-topics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.landing-topic-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:28px 20px;text-align:center;transition:border-color var(--transition-fast),transform var(--transition-fast)}.landing-topic-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}.landing-topic-icon{font-size:2rem;margin-bottom:12px}.landing-topic-card h3{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.landing-topic-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.landing-feature{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px 20px;text-align:center;transition:border-color var(--transition-fast)}.landing-feature:hover{border-color:var(--border-accent)}.landing-feature-icon{font-size:1.8rem;margin-bottom:10px}.landing-feature h3{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.landing-feature p{font-size:.88rem;color:var(--text-secondary);line-height:1.5}.landing-final-cta{background:var(--bg-base);text-align:center;padding:80px 0}.landing-final-cta .landing-h2{margin-bottom:0}.landing-footer{border-top:1px solid var(--border);padding:24px 0;margin-top:auto}.landing-footer-content{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.88rem}.landing-footer-content a{color:var(--text-secondary);font-size:.88rem}.landing-footer-content a:hover{color:var(--accent)}@media(max-width:900px){.landing-hero-grid{grid-template-columns:1fr;gap:40px}.landing-h1{font-size:2.1rem}.landing-method-grid,.landing-topics-grid,.landing-features-grid{grid-template-columns:repeat(2,1fr)}.landing-steps{flex-direction:column;align-items:center}.landing-step-arrow{transform:rotate(90deg);margin:0}}@media(max-width:600px){.landing-hero{padding:48px 0 32px}.landing-section{padding:56px 0}.landing-h1{font-size:1.7rem}.landing-h2{font-size:1.5rem}.landing-subtitle{font-size:1rem}.landing-method-grid,.landing-topics-grid,.landing-features-grid{grid-template-columns:1fr}.landing-pain-card{padding:28px 20px}.landing-pain-text{font-size:1.05rem}.landing-code-body{font-size:.8rem;padding:14px}}
