:root{--color-primary: #4f6ef7;--color-primary-strong: #3d5ae0;--color-primary-soft: #eef2ff;--color-primary-soft-2: #e4e9fb;--color-success: #16a34a;--color-success-soft: #ecfdf3;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-text: #1f2430;--color-text-muted: #5b6478;--color-text-faint: #8b93a8;--color-border: #e3e7f0;--color-bg: #f7f8fb;--color-surface: #ffffff;--color-surface-alt: #f4f6fb;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(31, 36, 48, .05);--shadow-md: 0 4px 16px rgba(31, 36, 48, .08);--font-sans: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono: "Cascadia Code", Consolas, "JetBrains Mono", "Courier New", monospace;--header-h: 56px;--sidebar-w: 264px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}:focus:not(:focus-visible){outline:none}code,pre{font-family:var(--font-mono)}.inline-code{background:var(--color-primary-soft);color:var(--color-primary-strong);border-radius:4px;padding:1px 5px;font-size:.92em}.app{display:flex;flex-direction:column;height:100%}.app-main{flex:1;min-height:0;display:grid;grid-template-columns:var(--sidebar-w) minmax(320px,1fr) minmax(400px,1.1fr);gap:16px;padding:16px}.app-main>*{min-height:0;overflow-y:auto}@media(max-width:1100px){.app-main{grid-template-columns:minmax(320px,1fr) minmax(400px,1.1fr)}.sidebar{display:none}}@media(max-width:860px){.app-main{display:flex;flex-direction:column;overflow-y:auto;padding:10px;gap:10px}.app-main>*{min-height:auto;overflow-y:visible;flex:none}.task-panel,.practice-panel{padding:14px 16px}.task-panel{order:1}.practice-panel{order:2}.objectives{margin-bottom:12px}}.app-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-brand{display:flex;align-items:center;gap:10px}.brand-logo{font-size:22px}.brand-name{font-size:17px;font-weight:700;letter-spacing:.5px;color:var(--color-text)}.header-right{display:flex;align-items:center;gap:14px}.header-progress{font-size:13px;color:var(--color-text-muted)}.btn{border:none;border-radius:var(--radius-md);padding:9px 18px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .05s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-strong)}.btn-ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--radius-sm)}.btn-next{background:var(--color-success);color:#fff;margin-top:6px}.btn-next:hover:not(:disabled){background:#15803d}.sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 14px;box-shadow:var(--shadow-sm)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sidebar-title{margin:0;font-size:15px;font-weight:700}.sidebar-catalog-btn{border:none;background:none;color:var(--color-primary);font-size:13px;cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm)}.sidebar-catalog-btn:hover{background:var(--color-primary-soft)}.chapter-card{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:12px;margin-bottom:12px}.chapter-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--color-text-muted)}.chapter-progress{display:flex;align-items:center;gap:10px}.progress-track{flex:1;height:6px;background:#e6eaf3;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease}.progress-text{font-size:12px;color:var(--color-text-faint);white-space:nowrap}.lesson-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.lesson-chapter-sep{margin:12px 0 6px;font-size:12px;color:var(--color-text-faint);font-weight:600}.lesson-row{width:100%;display:flex;align-items:center;gap:10px;border:none;background:none;border-radius:var(--radius-md);padding:9px 10px;cursor:pointer;text-align:left;transition:background .12s ease}.lesson-row:hover:not(:disabled){background:var(--color-surface-alt)}.lesson-row.is-current{background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary-soft-2)}.lesson-row:disabled{cursor:not-allowed;opacity:.75}.lesson-status-icon{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;background:var(--color-surface-alt);color:var(--color-text-faint)}.lesson-row.is-current .lesson-status-icon{background:var(--color-primary);color:#fff}.lesson-row-text{display:flex;flex-direction:column;min-width:0}.lesson-row-title{font-size:14px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-row-sub{font-size:12px;color:var(--color-text-faint)}.sidebar-tip{margin:14px 4px 0;font-size:12px;color:var(--color-text-faint)}.task-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:22px 24px;box-shadow:var(--shadow-sm)}.task-header{margin-bottom:16px}.lesson-title{margin:0 0 4px;font-size:21px;font-weight:700}.lesson-summary{margin:0;color:var(--color-text-muted);font-size:14px}.objectives{background:var(--color-primary-soft);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px}.objectives-title{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--color-primary-strong)}.objectives-list{margin:0;padding-left:18px;font-size:13.5px;color:var(--color-text)}.objectives-list li{margin:3px 0}.step-tabs{display:flex;align-items:center;gap:12px;margin-bottom:18px}.step-tabs-label{font-size:13px;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.step-pills{display:flex;gap:8px}.step-pill{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .12s ease}.step-pill.is-current{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.step-pill.is-passed{border-color:var(--color-success);color:var(--color-success)}.step-pill.is-ever-passed{border-color:var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft)}.step-pill.is-ever-passed.is-current{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.step-pill.is-passed.is-current{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-pill.is-locked{opacity:.5;cursor:not-allowed}.task-body{display:flex;flex-direction:column;gap:16px}.card-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--color-text)}.explain-card{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:10px 16px;font-size:14px}.explain-toggle{border:none;background:none;padding:4px 0;margin:0;font-size:14px;font-weight:700;color:var(--color-text);cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-sm)}.explain-toggle-icon{font-size:12px;color:var(--color-text-muted)}.explain-content{margin-top:8px}.explain-card p{margin:0 0 8px}.explain-card p:last-child{margin-bottom:0}.task-card{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:14px 16px;background:var(--color-surface)}.task-card p{margin:0;font-size:14.5px;line-height:1.7}.variant-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--color-warning-soft);color:var(--color-warning);font-size:12px;font-weight:700;vertical-align:2px}.step-done-note{margin:0;font-size:13px;color:var(--color-success);font-weight:600}.task-progress{margin:18px 0 0;font-size:12px;color:var(--color-text-faint)}.hints{border-top:1px dashed var(--color-border);padding-top:14px}.hints-toggle{border:none;background:none;color:var(--color-primary);font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:6px}.hints-toggle:hover{color:var(--color-primary-strong)}.hints-toggle-icon{font-size:12px}.hints-used{font-size:12px;color:var(--color-text-faint);font-weight:400}.hints-list{margin-top:10px;display:flex;flex-direction:column;gap:10px}.hint-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;background:var(--color-surface)}.hint-card.is-locked{background:var(--color-surface-alt);opacity:.85}.hint-head{display:flex;align-items:center;gap:10px}.hint-badge{font-size:12px;font-weight:700;color:var(--color-primary-strong);background:var(--color-primary-soft);border-radius:999px;padding:1px 10px}.hint-title{font-size:13.5px;font-weight:600;color:var(--color-text-muted);flex:1}.hint-unlock{border:1px solid var(--color-primary);background:none;color:var(--color-primary);border-radius:var(--radius-sm);padding:3px 12px;font-size:13px;font-weight:600;cursor:pointer}.hint-unlock:disabled{opacity:.45;cursor:not-allowed}.hint-content{margin-top:10px;font-size:14px;line-height:1.7}.hint-content p{margin:0 0 8px}.hint-content p:last-child{margin-bottom:0}.hint-code{background:#101426;color:#d7e0ff;border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;overflow-x:auto;margin:8px 0}.hint-variant-note{font-size:13px;color:var(--color-warning)}.variant-notice{margin:0 0 8px;font-size:13px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-sm);padding:6px 10px}.original-answer{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:8px 12px}.original-answer-toggle{border:none;background:none;color:var(--color-text-muted);font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.practice-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px 22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.practice-head{border-bottom:1px solid var(--color-border);padding-bottom:12px}.practice-task-title{margin:0 0 4px;font-size:14px;font-weight:700}.practice-task-desc{margin:0;font-size:13.5px;color:var(--color-text-muted);line-height:1.6}.env-banner{margin:0;font-size:13px;color:var(--color-warning);background:var(--color-warning-soft);border-radius:var(--radius-sm);padding:8px 12px}.program-inputs{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--color-surface-alt)}.program-inputs-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.program-inputs-title{font-size:13px;font-weight:700}.program-inputs-count{font-size:12px;color:var(--color-text-faint)}.program-input-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.program-input-row:last-of-type{margin-bottom:0}.program-input-label{font-size:13px;color:var(--color-text-muted);flex:none;width:64px}.program-input-field{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;font-size:14px;font-family:inherit;background:var(--color-surface);color:var(--color-text)}.program-input-field:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.program-inputs-warn{margin:8px 0 0;font-size:13px;color:var(--color-warning)}.editor-host{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#fff}.editor-host:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.run-actions{display:flex;gap:10px;align-items:center}.output-panel{border-top:1px solid var(--color-border);padding-top:14px;display:flex;flex-direction:column;gap:12px}.output-head{display:flex;align-items:baseline;justify-content:space-between}.output-title{margin:0;font-size:14px;font-weight:700}.output-meta{font-size:12px;color:var(--color-text-faint)}.output-empty{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:22px;text-align:center;color:var(--color-text-faint);font-size:14px}.output-empty p{margin:0}.output-empty-sub{font-size:13px;margin-top:4px!important}.output-running{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--radius-md);background:var(--color-surface-alt);color:var(--color-text-muted);font-size:14px}.output-running p{margin:0}.spinner{width:16px;height:16px;border:2px solid var(--color-primary-soft-2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.feedback{border-radius:var(--radius-md);padding:14px 16px;font-size:14px}.feedback-success{background:var(--color-success-soft);border:1px solid #bbe7cd}.feedback-wrong{background:var(--color-warning-soft);border:1px solid #f3d9a8}.feedback-dirty{background:var(--color-surface-alt);border:1px dashed var(--color-warning)}.feedback-error{background:var(--color-danger-soft);border:1px solid #f3c1c1}.feedback-title{margin:0 0 6px;font-weight:700;color:var(--color-text)}.feedback-msg{margin:8px 0 0;line-height:1.7}.feedback-learned{margin:6px 0 0;color:var(--color-text-muted);font-size:13px}.feedback-suggestion{margin:6px 0 0;color:var(--color-text-muted)}.feedback-line{margin:4px 0;font-size:13.5px}.feedback-line b{font-weight:600}.feedback-line-no{font-weight:400;font-size:13px;color:var(--color-text-muted);margin-left:4px}.stdout-block{margin-bottom:10px}.stdout-pre{margin:0;background:#0f1420;color:#d7e0ff;border-radius:var(--radius-sm);padding:12px 14px;font-size:14.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.stdout-empty{margin:0 0 10px;color:var(--color-text-muted);font-size:13px}.stdout-truncated{margin:6px 0 0;font-size:12px;color:var(--color-text-faint)}.stderr-block{margin-bottom:10px;background:var(--color-warning-soft);border:1px solid #f3d9a8;border-radius:var(--radius-sm);padding:8px 10px}.stderr-label{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--color-warning)}.stderr-pre{margin:0;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow:auto;color:var(--color-text)}.raw-error{margin-top:10px}.raw-error-toggle{border:none;background:none;color:var(--color-text-muted);font-size:13px;text-decoration:underline;cursor:pointer;padding:0}.raw-error-pre{margin:8px 0 0;background:#101426;color:#e2e8f0;border-radius:var(--radius-sm);padding:12px;font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow:auto}.lesson-done{margin-top:10px;border-top:1px solid #bbe7cd;padding-top:10px}.lesson-done-title{margin:0 0 8px;font-weight:700}.lesson-done-sub{margin:2px 0 0;font-size:13px;color:var(--color-text-muted)}.step-only-done{margin:8px 0 0;font-size:13px;font-weight:600;color:var(--color-success)}.project-done{margin-top:10px;border-top:1px solid #bbe7cd;padding-top:10px}.project-done-top{margin-top:0;border-top:none;padding-top:0}.output-collapse{margin-top:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px}.output-collapse summary{cursor:pointer;font-size:13px;color:var(--color-text-muted)}.feedback-dirty-history{margin:8px 0 0;font-size:13px;color:var(--color-text-muted)}.project-done-title{margin:0 0 6px;font-size:16px;font-weight:700}.project-done-sub{margin:0 0 6px;font-size:13px;color:var(--color-text-muted)}.project-done-points{margin:0 0 12px;padding-left:2px;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px}.project-done-actions{display:flex;gap:10px;flex-wrap:wrap}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.summary-stat{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 8px;text-align:center}.summary-stat-num{display:block;font-size:18px;font-weight:700;color:var(--color-primary-strong)}.summary-stat-label{display:block;font-size:12px;color:var(--color-text-muted);margin-top:2px}.summary-section-title{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--color-text-muted)}.skill-map{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.skill-item{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 10px;font-size:13.5px}.skill-item.is-mastered{border-color:#bbe7cd;background:var(--color-success-soft);color:var(--color-text)}.skill-item.is-locked{color:var(--color-text-faint);background:var(--color-surface-alt)}.skill-icon{font-size:13px;color:var(--color-success)}.skill-item.is-locked .skill-icon{color:var(--color-text-faint)}.summary-chapter{margin-bottom:14px}.summary-chapter-title{margin:0 0 6px;font-size:12.5px;font-weight:700;color:var(--color-text-faint)}.summary-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.summary-lesson-row{width:100%;display:flex;align-items:center;gap:10px;border:none;background:none;border-radius:var(--radius-sm);padding:7px 8px;cursor:pointer;text-align:left;font-size:13.5px}.summary-lesson-row:hover{background:var(--color-surface-alt)}.summary-lesson-row.is-current{background:var(--color-primary-soft)}.summary-status{width:20px;height:20px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-faint);font-size:11px}.summary-lesson-row.is-current .summary-status{background:var(--color-primary);color:#fff}.summary-lesson-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-lesson-state{font-size:12px;color:var(--color-text-faint);flex:none}.summary-footer{border-top:1px solid var(--color-border);padding-top:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.summary-save-note{margin:0;font-size:12px;color:var(--color-text-faint)}.summary-trial-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:4px}.btn-danger-sm{background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-sm);padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer}.btn-danger-sm:hover{background:#b91c1c}.reset-confirm{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:13px;color:var(--color-danger);background:var(--color-danger-soft);border:1px solid #f3c1c1;border-radius:var(--radius-sm);padding:10px 12px;max-width:100%}.welcome-backdrop{position:fixed;inset:0;background:#1f243073;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}.welcome-card{position:relative;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:36px 40px;max-width:460px;width:100%;text-align:center;animation:slide-in .18s ease}.welcome-close{position:absolute;top:12px;right:14px;border:none;background:none;font-size:16px;color:var(--color-text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm)}.welcome-close:hover{background:var(--color-surface-alt)}.welcome-title{margin:0 0 12px;font-size:22px;font-weight:700}.welcome-desc{margin:0 0 10px;font-size:15px;color:var(--color-text);line-height:1.8}.welcome-meta{margin:0 0 22px;font-size:13px;color:var(--color-text-muted)}.welcome-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.welcome-note{margin:20px 0 0;font-size:12px;color:var(--color-text-faint)}.lesson-summary-box{background:var(--color-surface);border:1px solid #bbe7cd;border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:10px}.lesson-summary-label{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--color-success)}.lesson-summary-pre{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--color-text)}.lesson-summary-note{margin:8px 0 0;font-size:13px;color:var(--color-text-muted);border-top:1px dashed #bbe7cd;padding-top:6px}.details-list{margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--color-text-muted)}.details-list li{margin:2px 0}.drawer-backdrop{position:fixed;inset:0;background:#1f243066;z-index:50;display:flex;justify-content:flex-end}.drawer{width:min(420px,92vw);height:100%;background:var(--color-surface);box-shadow:-8px 0 24px #1f243024;display:flex;flex-direction:column;animation:slide-in .18s ease}@keyframes slide-in{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--color-border)}.drawer-title{margin:0;font-size:18px;font-weight:700}.drawer-close{border:none;background:none;font-size:16px;color:var(--color-text-muted);cursor:pointer;padding:6px;border-radius:var(--radius-sm)}.drawer-close:hover{background:var(--color-surface-alt)}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px 24px}.drawer-chapter{margin-bottom:22px}.drawer-chapter-title{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--color-text-muted)}.drawer-lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.drawer-lesson-row{width:100%;display:flex;align-items:center;gap:12px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:10px 12px;cursor:pointer;text-align:left}.drawer-lesson-row:hover:not(:disabled){border-color:var(--color-primary)}.drawer-lesson-row.is-current{border-color:var(--color-primary);background:var(--color-primary-soft)}.drawer-lesson-row:disabled{opacity:.6;cursor:not-allowed}.drawer-status{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-surface-alt);color:var(--color-text-faint);font-size:12px}.drawer-lesson-row.is-current .drawer-status{background:var(--color-primary);color:#fff}.drawer-lesson-text{display:flex;flex-direction:column}.drawer-lesson-title{font-size:14.5px;font-weight:600}.drawer-lesson-sub{font-size:12.5px;color:var(--color-text-faint)}.coming-soon{grid-column:2 / -1;display:flex;align-items:center;justify-content:center}.coming-soon-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:40px 48px;text-align:center;max-width:460px}.coming-soon-icon{font-size:40px}.coming-soon-card h2{margin:10px 0 8px}.coming-soon-card p{color:var(--color-text-muted);margin:0 0 16px}.coming-soon-objectives{text-align:left;background:var(--color-surface-alt);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:18px}.coming-soon-objectives h3{margin:0 0 6px;font-size:13px}.coming-soon-objectives ul{margin:0;padding-left:18px;font-size:13.5px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ccd3e4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#b3bcd4}::-webkit-scrollbar-track{background:transparent}
