*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0b;--bg-secondary: #111113;--bg-card: #18181b;--bg-code: #1e1e22;--border: #27272a;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent: #3b82f6;--accent-hover: #2563eb;--green: #22c55e;--orange: #f97316;--red: #ef4444;--purple: #a855f7;--html-color: #e34c26;--css-color: #264de4;--js-color: #f0db4f;--fullstack-color: #22c55e;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--max-width: 1600px;--radius: 12px;--radius-sm: 8px;--editor-height: 500px}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-sans)}.navbar{position:sticky;top:0;z-index:100;background:#0a0a0bcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.navbar-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;justify-content:space-between;position:relative}.navbar-logo{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}.navbar-logo .logo-accent{color:var(--accent)}.navbar-hamburger{display:none;background:none;border:none;padding:4px;cursor:pointer;flex-direction:column;gap:5px;z-index:101}.navbar-hamburger span{display:block;width:22px;height:2px;background:var(--text-secondary);border-radius:2px;transition:transform .25s,opacity .25s}.navbar-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-links{display:flex;gap:32px;list-style:none}.navbar-links a{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color .2s}.navbar-links a:hover,.navbar-links a.active{color:var(--text-primary)}.hero{padding:60px 24px 5px;text-align:center;max-width:800px;margin:0 auto}.hero-badge{display:inline-block;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:var(--accent);padding:6px 16px;border-radius:100px;font-size:.85rem;font-weight:600;margin-bottom:24px}.hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:14px}.hero h1 .gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--purple) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto 24px;line-height:1.7}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn{padding:12px 28px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;border:none;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--text-muted);transform:translateY(-1px)}.content-wrapper{max-width:var(--max-width);margin:0 auto;padding:0 24px}.theory-section{padding:10px 24px;max-width:780px;margin:0 auto}.theory-section h2{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:24px}.theory-section h3{font-size:1.4rem;font-weight:700;margin-top:32px;margin-bottom:16px}.theory-section p{color:var(--text-secondary);font-size:1.05rem;line-height:1.8;margin-bottom:16px}.theory-section p strong{color:var(--text-primary);font-weight:600}.callout{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);padding:20px 24px;margin:24px 0}.callout p{color:var(--text-primary);font-size:1rem;margin:0}.callout-green{border-left-color:var(--green)}.callout-orange{border-left-color:var(--orange)}.callout-red{border-left-color:var(--red)}.theory-list{list-style:none;padding:0;margin:16px 0 24px}.theory-list li{color:var(--text-secondary);font-size:1.05rem;padding:6px 0 6px 24px;position:relative}.theory-list li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.crud-list li:before{background:var(--green)}.meme-callout-row{display:flex;align-items:center;gap:24px;margin:24px 0;flex-wrap:wrap}.meme-callout-text{flex:1;min-width:220px;margin:0}.meme-figure{margin:24px auto;text-align:center}.meme-figure--wide{max-width:560px}.meme-img{max-width:100%;height:auto;border-radius:10px;display:block;margin:0 auto;box-shadow:0 4px 24px #00000059}.home-track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:24px 0}.home-track-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.home-track-card p{margin:8px 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.5}.home-track-tag{display:inline-block;padding:3px 10px;border-radius:4px;font-size:.75rem;font-weight:700;letter-spacing:.04em}.home-track-tag--html{background:#e34c2620;color:#e34c26}.home-track-tag--css{background:#264de420;color:#6b8ef5}.home-track-tag--js{background:#f0db4f20;color:#c9a800}.home-track-tag--react{background:#61dafb20;color:#61dafb}.home-track-tag--node{background:#68a06320;color:#68a063}.home-track-tag--db{background:#33679120;color:#5b9bd5}.home-cta{text-align:center;padding:40px 0 20px}.home-cta h2{font-size:1.6rem;margin-bottom:12px}.home-cta p{color:var(--text-secondary);max-width:480px;margin:0 auto 28px;line-height:1.6}.home-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn-secondary{padding:10px 22px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.step-list{counter-reset:step;list-style:none;padding:0;margin:24px 0}.step-list li{counter-increment:step;color:var(--text-secondary);font-size:1.05rem;padding:8px 0 8px 40px;position:relative}.step-list li:before{content:counter(step);position:absolute;left:0;top:6px;width:28px;height:28px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--accent)}.divider{border:none;border-top:1px solid var(--border);margin:40px 0}.inline-code{font-family:var(--font-mono);background:var(--bg-code);padding:2px 8px;border-radius:4px;font-size:.9em;color:var(--green)}code.block{display:block;font-family:var(--font-mono);background:var(--bg-code);padding:16px 20px;border-radius:var(--radius-sm);border:1px solid var(--border);font-size:.9rem;line-height:1.7;overflow-x:auto;margin:16px 0 24px;color:var(--text-primary);white-space:pre}.lessons-page{padding:60px 24px;max-width:var(--max-width);margin:0 auto}.lessons-page h1{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;margin-bottom:8px}.lessons-page .subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:48px}.category-section{margin-bottom:48px}.category-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.category-dot{width:12px;height:12px;border-radius:50%}.category-header h2{font-size:1.4rem;font-weight:700}.category-header span{color:var(--text-muted);font-size:.9rem}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.lesson-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:all .2s;display:flex;flex-direction:column}.lesson-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.lesson-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.lesson-card-day{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.lesson-card--completed{border-color:#22c55e55;background:linear-gradient(135deg,var(--bg-card),#14532d18)}.lesson-card--completed:hover{border-color:#22c55e99}.lesson-card-check{font-size:.75rem;font-weight:600;color:#22c55e;flex-shrink:0}.lesson-card-incomplete{font-size:.75rem;font-weight:600;color:var(--text-muted);flex-shrink:0}.lesson-card h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}.lesson-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;flex:1}.lesson-card-tag{display:inline-block;padding:4px 10px;border-radius:100px;font-size:.75rem;font-weight:600;margin-top:12px;width:fit-content}.lesson-detail{max-width:var(--max-width);margin:0 auto;padding:40px 20px 80px}.lesson-nav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.lesson-nav-btn{padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:all .2s}.lesson-nav-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.lesson-nav-btn:disabled{opacity:.3;cursor:not-allowed}.lesson-header{margin-bottom:32px}.lesson-header .lesson-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}.lesson-header .lesson-tag{padding:4px 12px;border-radius:100px;font-size:.8rem;font-weight:600}.lesson-header .lesson-day{color:var(--text-muted);font-size:.9rem}.lesson-header h1{font-size:2rem;font-weight:800;letter-spacing:-.02em}.lesson-grid{display:grid;grid-template-columns:2fr 3fr;grid-template-rows:100px calc(var(--editor-height) + 44px) var(--editor-height);grid-template-areas:"text task" "text editor" "text output";gap:16px}.grid-text{grid-area:text;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;overflow-y:auto;align-self:stretch}.grid-text h3{font-size:1.1rem;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.grid-text p,.grid-text li{color:var(--text-secondary);font-size:.95rem;line-height:1.8}.grid-text p{margin-bottom:12px}.grid-text ul,.grid-text ol{margin-bottom:12px;padding-left:20px}.grid-text code{font-family:var(--font-mono);background:var(--bg-code);padding:2px 6px;border-radius:4px;font-size:.85em}.grid-text pre{background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:12px;overflow-x:auto}.grid-text pre code{background:none;padding:0;font-size:.85rem;line-height:1.6}.grid-task{grid-area:task;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;display:flex;flex-direction:column;gap:5px;max-height:100px;overflow-y:auto}.grid-task-label{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.grid-task-label svg{flex-shrink:0}.grid-task-text{font-size:.95rem;line-height:1.6;color:var(--text-primary);margin:0}.grid-task-text code{font-family:var(--font-mono);background:var(--bg-code);padding:2px 6px;border-radius:4px;font-size:.85em}.grid-editor{grid-area:editor;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow-y:auto;overflow-x:hidden;height:calc(var(--editor-height) + 44px)}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-code);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.code-textarea{width:100%;min-height:var(--editor-height);padding:12px 16px;background:var(--bg-code);color:var(--text-primary);border:none;outline:none;resize:none;font-family:var(--font-mono);font-size:.85rem;line-height:1.6;-moz-tab-size:2;tab-size:2}.editor-header span{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.editor-actions{display:flex;gap:8px}.run-btn{padding:6px 16px;background:var(--green);color:#000;border:none;border-radius:6px;font-size:.8rem;font-weight:700;font-family:var(--font-mono);transition:all .2s}.run-btn:hover{opacity:.9}.reset-btn{padding:6px 12px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;font-size:.8rem;font-family:var(--font-mono);transition:all .2s}.reset-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.grid-output{grid-area:output;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;height:var(--editor-height)}.output-header{padding:8px 16px;background:var(--bg-code);border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted)}.output-content{padding:16px;flex:1;overflow-y:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.6;color:var(--text-secondary);background:var(--bg-primary);display:flex;flex-direction:column}.output-content iframe{width:100%;flex:1;border:none;background:#fff;border-radius:4px}.output-content pre{margin:0;white-space:pre-wrap;word-break:break-word}.output-empty{color:var(--text-muted);font-size:.9rem;text-align:center;padding:40px 20px}.solution-toggle-btn{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:12px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.solution-toggle-btn:hover{background:var(--bg-code);color:var(--text-primary);border-color:var(--text-muted)}.solution-toggle-icon{font-size:.7rem;opacity:.6}.solution-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.solution-code-panel,.solution-output-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}.solution-panel-header{padding:10px 16px;background:var(--bg-code);border-bottom:1px solid var(--border);font-size:.8rem;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase}.solution-pre{flex:1;margin:0;padding:16px;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.65;color:var(--text-secondary);background:transparent;white-space:pre}.solution-console{color:#a8ff78}.solution-pre code{background:none;padding:0;font-size:inherit}.solution-iframe{flex:1;width:100%;border:none;display:block;background:#fff;min-height:200px}.navbar-right{display:flex;align-items:center;gap:24px}.navbar-signin-btn{padding:7px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;transition:background .2s}.navbar-signin-btn:hover{background:var(--accent-hover)}.navbar-user{display:flex;align-items:center;gap:12px}.navbar-email{font-size:.85rem;color:var(--text-secondary)}.navbar-logout-btn{padding:7px 14px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;transition:all .2s}.navbar-logout-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.tracker-page{max-width:900px;margin:0 auto;padding:48px 24px 80px}.tracker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:36px}.tracker-header h1{font-size:2rem;font-weight:800;letter-spacing:-.02em}.tracker-subtitle{color:var(--text-secondary);margin-top:4px;font-size:1rem}.tracker-new-btn{padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;white-space:nowrap;transition:background .2s}.tracker-new-btn:hover{background:var(--accent-hover)}.tracker-new-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:32px}.tracker-new-form h3{font-size:1.1rem;font-weight:700;margin-bottom:20px}.tracker-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.tracker-field label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.tracker-field label span{color:var(--text-muted);font-weight:400}.tracker-field input,.tracker-field textarea{padding:9px 12px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-family:var(--font-sans);resize:vertical;transition:border-color .2s}.tracker-field input:focus,.tracker-field textarea:focus{outline:none;border-color:var(--accent)}.tracker-error{font-size:.85rem;color:var(--red);margin-bottom:12px}.tracker-submit-btn{padding:10px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;transition:background .2s}.tracker-submit-btn:hover:not(:disabled){background:var(--accent-hover)}.tracker-submit-btn:disabled{opacity:.6;cursor:not-allowed}.tracker-empty-state{max-width:900px;margin:0 auto;padding:80px 24px;text-align:center;color:var(--text-secondary)}.tracker-empty-state h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:8px}.tracker-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:60px 24px;gap:16px}.tracker-lock-icon{color:var(--text-secondary);opacity:.4;margin-bottom:8px}.tracker-locked h2{font-size:1.75rem;color:var(--text-primary);margin:0}.tracker-locked p{color:var(--text-secondary);font-size:1rem;max-width:380px;margin:0;line-height:1.6}.tracker-locked-price{font-size:1.1rem!important;font-weight:600;color:var(--text-primary);margin-top:4px}.tracker-locked-btn{margin-top:8px;padding:10px 24px;background:var(--accent);color:#000;border:none;cursor:pointer;border-radius:6px;font-weight:600;font-size:.9rem;text-decoration:none;transition:opacity .15s}.tracker-locked-btn:disabled{opacity:.6;cursor:not-allowed}.tracker-locked-btn:hover{opacity:.85}.tracker-templates{margin-bottom:28px}.tracker-templates-title{font-size:.95rem;color:var(--text-muted);margin-bottom:12px;font-weight:500}.tracker-templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tracker-template-card{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--surface);border:1px dashed var(--border);border-radius:10px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.tracker-template-card:hover{border-color:var(--accent);background:var(--surface-hover, var(--surface))}.tracker-template-card strong{font-size:.92rem;color:var(--text)}.tracker-template-card span{font-size:.8rem;color:var(--text-muted);line-height:1.4}.tracker-template-objects{font-size:.72rem!important;color:var(--accent)!important;margin-top:2px}.tracker-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.tracker-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s;position:relative;display:flex}.tracker-card:hover{border-color:var(--text-muted);transform:translateY(-2px)}.tracker-card-body{flex:1;padding:24px;display:flex;flex-direction:column;gap:8px}.tracker-card-body h3{font-size:1.05rem;font-weight:700}.tracker-card-body p{font-size:.875rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tracker-card-meta{display:flex;gap:8px;font-size:.8rem;color:var(--text-muted);margin-top:4px}.tracker-progress-bar{height:4px;background:var(--bg-code);border-radius:2px;overflow:hidden;margin-top:8px}.tracker-progress-bar--large{height:6px;margin-bottom:20px}.tracker-progress-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s}.tracker-card-delete{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted);font-size:.75rem;padding:4px 6px;opacity:0;transition:opacity .15s,color .15s}.tracker-card:hover .tracker-card-delete{opacity:1}.tracker-card-delete:hover{color:var(--red)}.tracker-project-page{max-width:720px;margin:0 auto;padding:48px 24px 80px}.tracker-project-nav{margin-bottom:24px}.tracker-back-btn{font-size:.875rem;color:var(--text-muted);transition:color .2s}.tracker-back-btn:hover{color:var(--text-primary)}.tracker-project-header{margin-bottom:40px}.tracker-project-title{font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}.tracker-project-dir-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tracker-dir-path{font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);background:var(--bg-code);padding:3px 8px;border-radius:4px;border:1px solid var(--border)}.tracker-dir-placeholder{font-size:.85rem;color:var(--text-muted)}.tracker-dir-edit-btn{background:none;border:1px solid var(--border);color:var(--text-secondary);font-size:.78rem;padding:3px 10px;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s}.tracker-dir-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.tracker-dir-input{flex:1;min-width:260px;padding:6px 10px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.82rem;font-family:var(--font-mono);transition:border-color .2s}.tracker-dir-input:focus{outline:none;border-color:var(--accent)}.tracker-dir-input-row{display:flex;gap:8px;align-items:center}.tracker-dir-input-row .tracker-dir-input{flex:1}.tracker-dir-save-btn{padding:6px 16px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.82rem;cursor:pointer;white-space:nowrap;transition:opacity .15s}.tracker-dir-save-btn:disabled{opacity:.35;cursor:default}.tracker-dir-save-btn:not(:disabled):hover{opacity:.85}.open-in-cursor-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:none;border:1px solid var(--accent);color:var(--accent);border-radius:6px;font-size:.78rem;cursor:pointer;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap}.open-in-cursor-btn:hover{background:var(--accent);color:#fff}.open-in-cursor-group{display:inline-flex;align-items:center;gap:4px}.copy-prompt-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;font-size:.72rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.copy-prompt-btn:hover{border-color:var(--accent);color:var(--accent)}.tracker-prereqs{margin-top:16px;padding:16px 20px 20px;background:var(--surface-alt, #1a1a2e);border:1px solid var(--border);border-radius:10px}.tracker-prereqs-title{font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 14px}.tracker-prereqs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.tracker-prereqs-grid{grid-template-columns:1fr}}.tracker-prereq-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.tracker-prereq-name{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:700;color:var(--text)}.tracker-prereq-desc{font-size:.82rem;color:var(--text-muted);line-height:1.5;margin:0}.tracker-prereq-link{font-size:.82rem;color:var(--accent);text-decoration:none;font-weight:500}.tracker-prereq-link:hover{text-decoration:underline}.tracker-prereq-check{display:flex;align-items:center;gap:8px;margin-top:4px;padding:7px 10px;background:var(--bg);border-radius:6px;border:1px solid var(--border)}.tracker-prereq-check-label{font-size:.76rem;color:var(--text-muted);white-space:nowrap}.tracker-prereq-check code{font-size:.8rem;color:#4ade80;background:none;padding:0}.tracker-os-toggle{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content;margin-bottom:20px}.tracker-os-btn{padding:8px 24px;font-size:.85rem;font-weight:600;background:var(--surface);color:var(--text-muted);border:none;cursor:pointer;transition:background .15s,color .15s}.tracker-os-btn.active{background:var(--accent);color:#fff}.tracker-os-btn:not(.active):hover{background:var(--surface-alt, #1a1a2e);color:var(--text)}.tracker-setup-path-block{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.tracker-setup-path-label{display:flex;flex-direction:column;gap:2px;font-size:.85rem;font-weight:600;color:var(--text)}.tracker-setup-path-hint{font-size:.78rem;font-weight:400;color:var(--text-muted)}.tracker-cursor-steps{display:flex;flex-direction:column;gap:10px;margin:16px 0 4px}.tracker-cursor-step{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px}.tracker-cursor-step-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:1px}.tracker-cursor-step-body{flex:1;display:flex;flex-direction:column;gap:6px}.tracker-cursor-step-title{font-size:.9rem;font-weight:700;color:var(--text)}.tracker-cursor-step-desc{font-size:.82rem;color:var(--text-muted);line-height:1.5;margin:0}.tracker-cursor-step-version{font-size:.75rem;color:var(--text-muted);margin:4px 0 0;opacity:.7}.tracker-cursor-step .open-in-cursor-btn{align-self:flex-start;margin-top:4px}.tracker-setup-path-row{display:flex;gap:8px;margin-bottom:8px}.tracker-setup-path-row .tracker-dir-input{flex:1}.tracker-terminal-block{margin:16px 0 20px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.tracker-terminal-title{padding:10px 16px;background:var(--surface-alt, #1a1a2e);font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.tracker-terminal-steps{display:flex;flex-direction:column;gap:0}.tracker-terminal-step{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-bottom:1px solid var(--border)}.tracker-terminal-step:last-child{border-bottom:none}.tracker-terminal-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.tracker-terminal-cmd{display:inline-block;font-size:.9rem;font-weight:600;color:#4ade80;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:4px 10px;margin-bottom:6px;font-family:Fira Code,Courier New,monospace}.tracker-terminal-desc{font-size:.82rem;color:var(--text-muted);line-height:1.55;margin:0}.tracker-terminal-desc code{font-size:.8rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tracker-env-block{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px 14px;background:var(--bg);border:1px solid var(--border);border-radius:6px}.tracker-env-row{display:flex;flex-direction:column;gap:4px}.tracker-env-key{font-size:.82rem;font-weight:700;color:#4ade80;background:none;padding:0}.tracker-env-desc{font-size:.8rem;color:var(--text-muted);line-height:1.55}.tracker-env-desc code{font-size:.78rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.tracker-terminal-note{padding:10px 18px;background:#451a0322;border-top:1px solid var(--border);font-size:.78rem;color:var(--text-muted);line-height:1.5}.tracker-terminal-note code{color:#f87171;background:none;padding:0;font-size:.78rem}.tracker-boilerplate-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:4px}.tracker-download-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--accent);color:#fff;border-radius:8px;font-size:.88rem;font-weight:600;text-decoration:none;flex-shrink:0;transition:opacity .15s}.tracker-download-btn:hover{opacity:.85;color:#fff}.tracker-boilerplate-steps{display:flex;flex-direction:column;gap:4px}.tracker-boilerplate-steps span{font-size:.82rem;color:var(--text-muted);line-height:1.5}.tracker-boilerplate-steps span:before{content:"→ ";opacity:.5}.tracker-step-action{display:flex;align-items:center;gap:14px;margin-top:20px;padding:14px 16px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm)}.tracker-step-action-hint{font-size:.8rem;color:var(--text-muted);line-height:1.4}.tracker-step-action .open-in-cursor-btn{flex-shrink:0;padding:7px 14px;font-size:.82rem}.tracker-task-main{display:flex;align-items:center;gap:12px;width:100%}.tracker-task-main label{flex:1;font-size:.9rem;line-height:1.5;cursor:pointer;transition:color .2s}.tracker-task-item.completed .tracker-task-main label{color:var(--text-muted);text-decoration:line-through}.tracker-task-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tracker-section{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--border)}.tracker-section:last-child{border-bottom:none}.tracker-section-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tracker-section-header--collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.tracker-section-header--collapsible:hover{opacity:.85}.tracker-chevron{display:inline-block;font-size:.65rem;margin-right:8px;transition:transform .2s}.tracker-chevron.open{transform:rotate(90deg)}.tracker-section-badge{font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:12px;background:var(--bg-code);color:var(--text-muted);white-space:nowrap}.tracker-section-badge.done{background:#22c55e22;color:#22c55e}.tracker-step-check{flex-shrink:0;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tracker-cursor-step.step-done .tracker-cursor-step-title,.tracker-cursor-step.step-done .tracker-cursor-step-desc{opacity:.45;text-decoration:line-through}.tracker-cursor-step.step-done .tracker-cursor-step-num{opacity:.4}.tracker-section-header h2{font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:10px;flex:1}.tracker-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bg-code);border:1px solid var(--border);font-size:.75rem;font-weight:700;color:var(--accent);flex-shrink:0}.tracker-section-count,.tracker-tasks-count{font-size:.8rem;color:var(--text-muted);background:var(--bg-code);padding:3px 8px;border-radius:100px}.tracker-tasks-count{color:var(--green)}.tracker-section-hint{font-size:.875rem;color:var(--text-muted);margin-bottom:16px;line-height:1.6}.tracker-edit-btn{background:none;border:none;color:var(--accent);font-size:.85rem;padding:0;transition:color .2s}.tracker-edit-btn:hover{color:var(--accent-hover)}.tracker-desc-text{font-size:.95rem;color:var(--text-secondary);line-height:1.7}.tracker-placeholder{color:var(--text-muted);font-style:italic}.tracker-desc-edit textarea{width:100%;padding:10px 14px;background:var(--bg-code);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);line-height:1.6;resize:vertical}.tracker-desc-edit textarea:focus{outline:none}.tracker-desc-actions{display:flex;gap:10px;margin-top:10px}.tracker-save-btn{padding:7px 18px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;transition:background .2s}.tracker-save-btn:hover{background:var(--accent-hover)}.tracker-cancel-btn{padding:7px 14px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;transition:all .2s}.tracker-cancel-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.tracker-objects-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.tracker-object-item{display:flex;align-items:center;gap:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem}.tracker-object-icon{font-size:1rem;flex-shrink:0}.tracker-object-item span:nth-child(2){flex:1}.tracker-tasks-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.tracker-task-item{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px}.tracker-task-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);flex-shrink:0;cursor:pointer}.tracker-item-delete{background:none;border:none;color:var(--text-muted);font-size:.75rem;padding:2px 6px;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.tracker-task-item:hover .tracker-item-delete,.tracker-object-item:hover .tracker-item-delete{opacity:1}.tracker-item-delete:hover{color:var(--red)}.tracker-setup-row{margin-bottom:24px}.tracker-setup-label{display:block;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:8px}.tracker-setup-value-row{display:flex;align-items:flex-start;gap:10px;margin-top:20px}.tracker-setup-value-row .tracker-desc-text{flex:1;margin:0}.tracker-object-table-hint{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);flex:1}.tracker-code-block{position:relative;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;overflow-x:auto}.tracker-code-block pre{margin:0;font-family:var(--font-mono);font-size:.8rem;line-height:1.7;color:var(--text-secondary);white-space:pre}.tracker-copy-btn{position:absolute;top:10px;right:10px;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:.72rem;padding:3px 10px;border-radius:5px;cursor:pointer;transition:border-color .15s,color .15s}.tracker-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.tracker-add-row{display:flex;gap:8px}.tracker-add-row input{flex:1;padding:9px 12px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.875rem;font-family:var(--font-sans);transition:border-color .2s}.tracker-add-row input:focus{outline:none;border-color:var(--accent)}.tracker-add-row button{padding:9px 18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:600;transition:all .2s;white-space:nowrap}.tracker-add-row button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.tracker-add-row button:disabled{opacity:.4;cursor:not-allowed}.tracker-add-feature-row{display:flex;flex-direction:column;gap:10px;margin-top:16px}.tracker-add-feature-btn{align-self:flex-start;padding:9px 20px;background:var(--accent);color:#000;border:none;border-radius:6px;font-weight:600;font-size:.875rem;cursor:pointer;transition:opacity .15s}.tracker-add-feature-btn:hover{opacity:.85}.tracker-add-row--inline{margin-top:0}.feature-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.feature-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;width:100%;max-width:520px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden}.feature-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.feature-modal-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.feature-modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:4px 6px;border-radius:4px;line-height:1;transition:color .15s}.feature-modal-close:hover{color:var(--text-primary)}.feature-modal-tabs{display:flex;gap:2px;padding:12px 20px 0;border-bottom:1px solid var(--border)}.feature-modal-tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:7px 14px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:color .15s,border-color .15s;font-weight:500}.feature-modal-tab:hover{color:var(--text-primary)}.feature-modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.feature-modal-body{padding:20px;display:flex;flex-direction:column;gap:0}.feature-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.feature-label{font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:-6px}.feature-label span{opacity:.6;font-weight:400}.feature-label--inline{display:flex;align-items:center;cursor:pointer;color:var(--text-primary);font-size:.875rem}.feature-input{width:100%;padding:9px 12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;box-sizing:border-box;transition:border-color .15s}.feature-input:focus{outline:none;border-color:var(--accent)}.feature-field-hint{font-size:.78rem;color:var(--text-secondary);opacity:.7;margin:-4px 0 0}.feature-method-group{display:flex;gap:6px;flex-wrap:wrap}.feature-method-btn{padding:6px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:monospace;letter-spacing:.03em}.feature-method-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}.feature-modal-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.feature-cancel-btn{padding:8px 16px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:border-color .15s,color .15s}.feature-cancel-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.feature-submit-btn{padding:8px 20px;background:var(--accent);border:none;border-radius:6px;color:#000;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.feature-submit-btn:hover:not(:disabled){opacity:.85}.feature-submit-btn:disabled{opacity:.4;cursor:not-allowed}.prompt-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.prompt-preview-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:640px;max-height:80vh;display:flex;flex-direction:column}.prompt-preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.prompt-preview-header h3{font-size:1rem;font-weight:700;margin:0}.prompt-preview-close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px 8px}.prompt-preview-close:hover{color:var(--text-primary)}.prompt-preview-textarea{flex:1;min-height:280px;padding:16px 20px;background:var(--bg-code);color:var(--text-primary);border:none;outline:none;resize:none;font-family:var(--font-mono);font-size:.82rem;line-height:1.7}.prompt-preview-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}.prompt-preview-copy{padding:8px 18px;background:var(--bg-code);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer}.prompt-preview-copy:hover{color:var(--text-primary);border-color:var(--text-muted)}.prompt-preview-open{padding:8px 18px;background:var(--accent);color:#000;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer}.prompt-preview-open:hover{opacity:.85}.tracker-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--accent);color:var(--text-primary);padding:10px 20px;border-radius:8px;font-size:.875rem;box-shadow:0 4px 24px #0006;z-index:9999;pointer-events:none;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999}.auth-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:400px;position:relative}.auth-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);font-size:1rem;padding:4px 8px;transition:color .2s}.auth-close:hover{color:var(--text-primary)}.auth-tabs{display:flex;gap:0;margin-bottom:24px;border-bottom:1px solid var(--border)}.auth-tab{background:none;border:none;padding:10px 20px;font-size:.9rem;font-weight:600;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.auth-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:20px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.auth-field input{padding:9px 12px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-family:var(--font-sans);transition:border-color .2s;width:100%}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-password-row{display:flex;gap:8px}.auth-password-row input{flex:1}.auth-show-btn{padding:9px 12px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;white-space:nowrap;transition:color .2s}.auth-show-btn:hover{color:var(--text-primary)}.auth-error{font-size:.85rem;color:var(--red);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);padding:8px 12px}.auth-submit{padding:10px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;transition:background .2s;margin-top:4px}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:16px;text-align:center;font-size:.85rem;color:var(--text-muted)}.auth-switch button{background:none;border:none;color:var(--accent);font-size:.85rem;padding:0;text-decoration:underline;transition:color .2s}.auth-switch button:hover{color:var(--accent-hover)}.auth-forgot-link{background:none;border:none;color:var(--text-muted);font-size:.8rem;padding:0;margin-top:6px;cursor:pointer;transition:color .2s;align-self:flex-start}.auth-forgot-link:hover{color:var(--accent)}.auth-forgot-title{font-size:1.1rem;font-weight:700;margin-bottom:4px}.auth-forgot-sent{padding:8px 0}.reset-page{display:flex;justify-content:center;align-items:flex-start;min-height:60vh;padding:80px 20px}.reset-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;width:100%;max-width:420px}.reset-card h1{font-size:1.4rem;font-weight:800;margin-bottom:8px}.reset-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:20px}.footer{border-top:1px solid var(--border);padding:40px 24px;text-align:center;color:var(--text-muted);font-size:.85rem}.toast{position:fixed;bottom:28px;right:28px;z-index:9999;display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:0 4px 24px #0006;animation:toast-in .2s ease}.toast-success{background:#14532d;border:1px solid #22c55e55;color:#86efac}.toast-error{background:#450a0a;border:1px solid #ef444455;color:#fca5a5}.toast-icon{font-size:1rem;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.lesson-completed-badge{display:inline-flex;align-items:center;gap:6px;background:#14532d;border:1px solid #22c55e55;color:#86efac;font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:999px}@media(max-width:1024px){.lesson-grid{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"task" "editor" "output" "text";min-height:unset}.grid-text{max-height:500px}.grid-task{max-height:none}.solution-panel{grid-template-columns:1fr}}@media(max-width:768px){:root{--editor-height: 360px}.hero{padding:48px 20px 32px}.hero h1{font-size:2rem}.hero p{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.navbar-inner{padding:0 16px;height:56px}.navbar-logo{font-size:1.1rem}.navbar-hamburger{display:flex}.navbar-right{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;padding:8px 24px 20px;gap:16px;animation:nav-slide .2s ease}.navbar-right--open{display:flex}@keyframes nav-slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar-links{flex-direction:column;gap:0}.navbar-links li{border-bottom:1px solid var(--border)}.navbar-links a{font-size:.95rem;display:block;padding:14px 0}.navbar-user{flex-direction:column;gap:10px;align-items:flex-start}.navbar-email{display:block;font-size:.85rem;color:var(--text-muted)}.lesson-detail{padding:72px 12px 60px}.lesson-header h1{font-size:1.5rem}.lesson-header .lesson-meta{flex-wrap:wrap;gap:8px}.lesson-nav-top{position:fixed;top:56px;left:0;right:0;z-index:50;background:var(--bg-primary);padding:10px 12px;border-bottom:1px solid var(--border);margin:0}.lesson-nav-btn{padding:6px 12px;font-size:.8rem}.grid-editor{height:calc(var(--editor-height) + 44px)}.grid-output{height:var(--editor-height)}.grid-text{padding:16px;max-height:400px}.grid-task{padding:10px 14px}.grid-task-text{font-size:.88rem}.lessons-grid,.solution-panel{grid-template-columns:1fr}.solution-pre{font-size:.78rem;padding:12px}.toast{right:12px;left:12px;bottom:16px;font-size:.85rem;padding:12px 16px}.tracker-page{padding:32px 16px 60px}.tracker-header{flex-direction:column;gap:12px}.tracker-header h1{font-size:1.5rem}.tracker-project-page{padding:32px 16px 60px}.tracker-project-title{font-size:1.5rem}.tracker-section-header{flex-wrap:wrap}.tracker-step-action{flex-direction:column;align-items:flex-start;gap:10px}.tracker-boilerplate-row{flex-direction:column;align-items:flex-start}.auth-modal{margin:16px;padding:24px}.footer{padding:28px 16px;font-size:.8rem}}@media(max-width:480px){:root{--editor-height: 340px}.navbar-logo{font-size:1rem;gap:6px}.hero h1{font-size:1.6rem}.lesson-detail{padding:16px 8px 48px}.lesson-header h1{font-size:1.3rem}.grid-text{padding:14px;max-height:350px}.grid-text p,.grid-text li{font-size:.88rem}.grid-text pre{padding:10px 12px}.grid-text pre code{font-size:.78rem}.editor-header{padding:8px 12px}.solution-toggle-btn{padding:10px 14px;font-size:.85rem}.tracker-projects-grid{grid-template-columns:1fr}.tracker-dir-input{min-width:0}.tracker-setup-path-row{flex-direction:column}}
