:root{font-family:Manrope,Segoe UI,sans-serif;color:#172033;background:radial-gradient(circle at top left,rgba(250,204,21,.18),transparent 24rem),linear-gradient(180deg,#fffdf7,#f6f7fb 48%,#eef3f9);--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--border: #d8e0ec;--border-strong: #9aadc8;--ink-muted: #4c5a72;--accent: #0f766e;--accent-soft: #d7f2ee;--accent-strong: #0b5f59;--warning: #b45309;--warning-soft: #fff1d6;--complete: #166534;--complete-soft: #def7e5;--shadow: 0 18px 45px rgba(23, 32, 51, .08)}*{box-sizing:border-box}html{width:100%;overflow-x:hidden}body{margin:0;width:100%;min-height:100vh;overflow-x:hidden}a{color:#155e75}pre{max-width:100%;background:#111827;color:#eff6ff;padding:14px;border-radius:14px;overflow:auto;line-height:1.5}button,select,input,textarea{font:inherit;max-width:100%}img,svg,canvas,video{max-width:100%}button{border:1px solid var(--border);background:var(--surface-strong);border-radius:999px;padding:10px 14px;cursor:pointer;color:#172033;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--border-strong);box-shadow:0 10px 20px #0f172a14}button:disabled{cursor:not-allowed;opacity:.5}select{border:1px solid var(--border);border-radius:12px;background:var(--surface-strong);padding:10px 12px}.app-shell{min-height:100vh}#root,.app-shell,.main-layout,.content-layout,.content-panel,.sidebar,.section-card,.progress-overview,.learning-path-card,.lesson-list-item,.pattern-card,.problem-card,.guided-step-panel,.metric-card,.example-card,.similar-problem-card,.about-card,.import-hero{min-width:0}.top-header{background:#0f172aeb;color:#f8fafc;padding:20px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.top-header-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.top-header h1{margin:0}.product-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.product-stage-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#f59e0b2e;border:1px solid rgba(245,158,11,.38);color:#fde68a;font-size:.78rem;font-weight:800;letter-spacing:.08em}.top-header h1,.section-heading h2,.panel-heading h4,.problem-card h3,.pattern-card-header h3{overflow-wrap:anywhere}.top-header p{margin:6px 0 0;color:#f8fafcc2}.top-nav{display:flex;gap:10px;flex-wrap:wrap}.top-nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:999px;color:#f8fafce0;text-decoration:none;border:1px solid rgba(148,163,184,.36);background:#ffffff0f}.top-nav-link.is-active{background:#14b8a62e;border-color:#2dd4bf73;color:#fff}.main-layout{padding:20px;max-width:1440px;margin:0 auto}.content-layout{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.content-layout.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar-shell{min-width:0;width:300px;transition:width .18s ease,transform .18s ease,opacity .18s ease}.content-layout.is-sidebar-collapsed .sidebar-shell{width:0;overflow:hidden}.sidebar{background:var(--surface);border:1px solid rgba(216,224,236,.9);border-radius:24px;padding:16px;height:fit-content;position:sticky;top:20px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .18s ease,opacity .18s ease}.content-layout.is-sidebar-collapsed .sidebar{transform:translate(calc(-100% - 20px));opacity:0;pointer-events:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sidebar-header h2{margin-bottom:0}.sidebar-toggle-button{flex-shrink:0;width:auto}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;border:0;border-radius:0;padding:0;background:#0f172a47;cursor:pointer;box-shadow:none;transform:none}.sidebar-backdrop:hover:not(:disabled){transform:none;border-color:transparent;box-shadow:none}.sidebar h2,.sidebar h3{margin-top:0}.sidebar ul{list-style:none;padding:0;margin:0}.sidebar-disclosure-stack{display:flex;flex-direction:column;gap:12px}.sidebar-disclosure{border:1px solid var(--border);border-radius:20px;background:#ffffffb3;overflow:hidden}.sidebar-disclosure.is-sql-group{border-color:#0f766e40;background:radial-gradient(circle at top right,rgba(20,184,166,.12),transparent 12rem),#ffffffc2}.sidebar-disclosure.is-sql-group .sidebar-disclosure-count,.sidebar-disclosure.is-sql-group .sidebar-disclosure-icon{background:var(--accent-soft);color:var(--accent-strong)}.sidebar-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-weight:700;list-style:none}.sidebar-summary-main,.sidebar-summary-meta{display:inline-flex;align-items:center;gap:10px}.sidebar-summary-main{min-width:0}.sidebar-summary-meta{color:var(--ink-muted);font-size:.82rem;white-space:nowrap}.sidebar-disclosure-state{letter-spacing:.01em}.sidebar-disclosure-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e8eef8;color:#0f172a;font-size:1.05rem;line-height:1}.sidebar-disclosure summary::-webkit-details-marker{display:none}.sidebar-disclosure-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 8px;border-radius:999px;background:#e8eef8;color:var(--ink-muted);font-size:.82rem}.sidebar-disclosure .lesson-nav,.sidebar-step-nav{padding:0 8px 8px}.lesson-nav li+li,.step-nav li+li{margin-top:8px}.lesson-nav{margin-top:4px}.lesson-nav a{display:block;padding:10px 12px;border-radius:14px;text-decoration:none;color:inherit;overflow-wrap:anywhere}.lesson-nav-copy{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.lesson-nav-title{min-width:0;flex:1}.lesson-nav-status{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:700;white-space:nowrap}.lesson-nav-status.is-ready{background:#def7e5;color:#166534}.lesson-nav-status.is-requested{background:#fff1d6;color:#9a5b13}.sidebar-clear-filter-link{display:inline-flex;justify-content:center;width:100%;border:1px dashed var(--border-strong);border-radius:999px;padding:9px 12px;color:var(--accent-strong);text-decoration:none;font-size:.9rem;font-weight:800;background:#ffffff9e}.active a{background:#e0f2fe;color:#0f172a;font-weight:700}.step-nav-item{width:100%;border-radius:18px;padding:12px;display:flex;gap:12px;align-items:flex-start;text-align:left;background:#ffffffa8}.step-nav-item.is-current{border-color:var(--accent);background:#ecfdf8}.step-nav-item.is-complete{background:#f2fbf4}.step-nav-item.is-attempted:not(.is-current):not(.is-complete){background:#fff9eb}.step-nav-index{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:#e8eef8;font-weight:700}.step-nav-item.is-current .step-nav-index{background:var(--accent);color:#f8fffe}.step-nav-item.is-complete .step-nav-index{background:var(--complete);color:#f8fffe}.step-nav-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.step-nav-title{font-weight:700;overflow-wrap:anywhere}.step-nav-meta{font-size:.88rem;color:var(--ink-muted)}.content-panel{display:flex;flex-direction:column;gap:18px}.mobile-lesson-jumpbar{display:none;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}.mobile-lesson-jumpbar::-webkit-scrollbar{display:none}.mobile-lesson-jumpbar button{flex:0 0 auto;background:#ffffffd1}.section-card,.progress-overview{background:var(--surface);border:1px solid rgba(216,224,236,.9);border-radius:24px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(241,245,249,.8)}.section-header h2{margin:0}.section-heading-copy{display:flex;flex-direction:column;gap:4px}.section-subtitle{margin:0;color:var(--ink-muted);line-height:1.5}.section-content{padding:20px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.toolbar-row{margin-bottom:0}.solution-copy-block{margin:18px 0}.solution-copy-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.solution-copy-header h4{margin:0}.copy-solution-button{border-color:#0f766e38;background:var(--accent-soft);color:var(--accent-strong);font-weight:800;min-width:92px}.copy-solution-button.is-copied{background:var(--complete-soft);border-color:#16653442;color:var(--complete)}.copy-solution-button.is-error{background:#fee2e2;border-color:#b91c1c3d;color:#b91c1c}.copy-solution-status{margin:8px 0 0;color:var(--complete);font-size:.88rem;font-weight:700}.copy-solution-status.is-error{color:#b91c1c}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lesson-toolbar-shell{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-toolbar-actions{margin-left:auto}.profile-setup-menu{min-width:min(100%,360px);background:#ffffffd1;border:1px solid var(--border);border-radius:18px;overflow:hidden}.profile-setup-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;cursor:pointer;list-style:none}.profile-setup-summary::-webkit-details-marker{display:none}.profile-setup-label{font-weight:800;color:#172033}.profile-setup-meta{color:var(--ink-muted);font-size:.82rem;text-align:right}.profile-setup-content{display:grid;gap:10px;padding:0 12px 12px;border-top:1px solid rgba(216,224,236,.72);background:#f8fafccc}.control-field,.control-toggle{display:inline-flex;align-items:center;gap:10px;background:#ffffffd1;border:1px solid var(--border);border-radius:999px;padding:8px 10px 8px 14px}.control-field span,.control-toggle span{font-size:.92rem;color:var(--ink-muted)}.lesson-list-item{border:1px solid var(--border);border-radius:20px;padding:14px;margin-bottom:12px;background:var(--surface);box-shadow:var(--shadow)}.home-hero{background:linear-gradient(135deg,#0f766e1a,#f59e0b1f);border:1px solid rgba(216,224,236,.9);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.home-hero h2,.section-heading h2{margin:6px 0 0}.hero-copy{color:var(--ink-muted);line-height:1.6;max-width:62rem}.pattern-filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.filter-chip{background:#ffffffb3}.filter-chip.is-selected{background:#0f766e;color:#fff;border-color:#0f766e}.section-heading{margin-bottom:14px}.lesson-catalog-section{margin-top:22px}.lesson-catalog-section-sql{border:1px solid rgba(15,118,110,.18);border-radius:26px;padding:18px;background:radial-gradient(circle at top right,rgba(20,184,166,.14),transparent 18rem),#ffffff7a}.lesson-catalog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.catalog-count-pill{flex-shrink:0;border:1px solid rgba(15,118,110,.22);border-radius:999px;padding:7px 11px;background:#d7f2eedb;color:var(--accent-strong);font-size:.82rem;font-weight:800}.pattern-grid,.problem-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pattern-card,.problem-card{background:var(--surface)}.pattern-card{border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:var(--shadow)}.pattern-card-header,.problem-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.pattern-card-header h3,.problem-card h3{margin-bottom:8px}.pattern-card p,.problem-card-copy{color:var(--ink-muted);line-height:1.55;overflow-wrap:anywhere}.pattern-lesson-stack{display:flex;flex-direction:column;gap:10px;margin-top:16px}.pattern-lesson-link{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:16px;text-decoration:none;color:inherit;background:#ffffffd1}.pattern-lesson-copy{display:grid;gap:6px}.pattern-lesson-title{font-weight:700}.problem-availability-note{margin:0 0 10px;color:#8a5a12;font-size:.82rem;font-weight:700}.difficulty-pill,.pattern-tag{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.difficulty-easy{background:#dcfce7;color:#166534}.difficulty-medium{background:#fef3c7;color:#92400e}.difficulty-hard{background:#fee2e2;color:#b91c1c}.pattern-tag{background:#e0f2fe;color:#0c4a6e}.learning-path-card{background:linear-gradient(135deg,#0f766e1f,#f59e0b1a);border:1px solid rgba(216,224,236,.9);border-radius:24px;padding:20px;box-shadow:var(--shadow)}.lesson-hero-card{padding:12px 14px}.lesson-hero-compact{display:flex;justify-content:space-between;align-items:center;gap:10px}.lesson-hero-main{min-width:0;flex:1}.lesson-hero-title{margin:2px 0 0;font-size:clamp(1.1rem,.95rem + .65vw,1.45rem);line-height:1.12}.lesson-hero-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}.lesson-hero-caption{margin:6px 0 0;color:var(--ink-muted);line-height:1.35;font-size:.86rem;max-width:46rem}.lesson-hero-actions{display:flex;align-items:flex-start;justify-content:flex-end}.lesson-hero-mode{padding:5px 8px;font-size:.74rem}.practice-mode-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#ffffffd1;border:1px solid var(--border);font-weight:700;color:var(--accent-strong);max-width:100%;font-size:.78rem}.simple-learning-note{margin:6px 0 0;color:var(--accent-strong);line-height:1.35;font-size:.84rem}.learning-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.learning-path-step{display:flex;flex-direction:row;align-items:center;gap:10px;border-radius:16px;padding:10px 11px;text-align:left;background:#ffffffd6;min-width:0}.learning-path-step strong{display:block;margin-top:1px;font-size:.9rem}.learning-path-step p{margin:2px 0 0;color:var(--ink-muted);line-height:1.3;font-size:.82rem}.learning-path-step.is-primary{border-color:var(--accent);background:linear-gradient(180deg,#ecfdf8f5,#ffffffeb)}.learning-step-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e8eef8;font-weight:700;font-size:.76rem;flex-shrink:0}.learning-step-state{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:700;color:var(--ink-muted);background:#eef3f9;margin-left:auto;flex-shrink:0}.progress-overview{padding:12px 14px}.progress-analytics{padding:10px 12px 12px}.progress-overview.is-complete{border-color:#16653447}.progress-overview-header-compact{align-items:center}.progress-overview-copy{min-width:0;flex:1}.progress-kicker-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.progress-summary-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;background:#0f766e1f;color:var(--accent-strong);font-size:.76rem;font-weight:800}.progress-overview-header,.step-session-header,.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.progress-caption,.panel-subtitle{margin:4px 0 0;color:var(--ink-muted)}.progress-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.progress-analytics-aside{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;justify-content:flex-end}.progress-analytics-stat{display:grid;gap:2px;min-width:104px;padding:8px 10px;border-radius:14px;border:1px solid rgba(15,118,110,.14);background:#fffc;text-align:left}.progress-analytics-stat strong{font-size:1rem;line-height:1.1}.progress-analytics-stat span:last-child{color:var(--ink-muted);font-size:.74rem}.progress-bar-track{margin-top:8px;height:7px;border-radius:999px;background:#dfe8f2;overflow:hidden}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#14b8a6);transition:width .22s ease}.progress-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.metric-card{display:grid;gap:2px;min-width:78px;background:#ffffffd1;border:1px solid var(--border);border-radius:14px;padding:6px 8px}.metric-card strong{display:block;font-size:.88rem;margin-top:0;line-height:1.1}.progress-analytics-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.progress-analytics-note{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;background:#eef3f9;color:var(--ink-muted);font-size:.78rem;font-weight:700}.problem-brief-shell{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.95fr);gap:14px;align-items:start}.problem-brief-main,.problem-brief-mini-card,.problem-brief-examples{border:1px solid rgba(216,224,236,.9);border-radius:18px;background:#ffffffb8}.problem-brief-main{padding:14px 16px}.problem-brief-head,.problem-brief-mini-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.problem-brief-head h3,.problem-brief-mini-header h4{margin:4px 0 0}.problem-brief-link-pill,.problem-brief-meta-pill,.problem-brief-mini-count{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;min-height:30px;padding:5px 9px;font-size:.75rem;font-weight:700;white-space:nowrap}.problem-brief-link-pill{text-decoration:none;background:#ecfdf8;color:var(--accent-strong);border:1px solid rgba(15,118,110,.18)}.problem-brief-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.problem-brief-meta-pill,.problem-brief-mini-count{background:#eef3f9;color:var(--ink-muted)}.problem-brief-statement{margin:12px 0 0;color:#172033;line-height:1.58}.problem-brief-callout{margin-top:12px;padding:12px 14px}.problem-brief-side{min-width:0}.problem-brief-mini-card,.problem-brief-examples{padding:12px 14px}.constraint-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.constraint-chip{display:inline-flex;align-items:center;padding:8px 10px;border-radius:14px;background:#f8fafc;border:1px solid var(--border);color:var(--ink-muted);font-size:.82rem;line-height:1.35}.problem-brief-examples{margin-top:12px}.metric-label,.eyebrow{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.64rem;font-weight:700}.example-explorer{display:flex;flex-direction:column;gap:10px}.example-tab-row{display:flex;gap:8px;flex-wrap:wrap}.example-tab{flex:0 0 auto;background:#fffc;padding:8px 12px}.example-tab.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.example-card{border:1px solid var(--border);border-radius:16px;padding:12px 14px;background:#ffffffc2}.example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.example-block{display:flex;flex-direction:column;gap:10px}.example-chip-row{display:flex;flex-wrap:wrap;gap:8px}.example-chip,.example-output{display:inline-flex;align-items:center;min-height:34px;border-radius:14px;padding:8px 10px;background:#eef6ff;color:#0c4a6e}.example-actions{margin-top:10px}.example-trace-list{margin:4px 0 0;padding-left:20px;color:var(--ink-muted);line-height:1.6}.guided-step-card{display:flex;flex-direction:column;gap:16px}.mobile-step-session-shell{display:none}.mobile-step-summary-card{display:grid;gap:12px;padding:14px 16px;border:1px solid rgba(15,118,110,.18);border-radius:20px;background:linear-gradient(135deg,#ecfdf8eb,#ffffffe6)}.mobile-step-summary-card strong{display:block;margin-top:4px;font-size:1.02rem}.mobile-step-summary-meta{display:flex;gap:8px;flex-wrap:wrap}.mobile-step-rail{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.mobile-step-rail::-webkit-scrollbar{display:none}.mobile-step-pill{flex:0 0 min(280px,calc(100vw - 80px));display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:20px;text-align:left;scroll-snap-align:center;background:#ffffffd1}.mobile-step-pill.is-current{border-color:var(--accent);background:#ecfdf8}.mobile-step-pill.is-complete{background:#f2fbf4}.mobile-step-pill.is-attempted:not(.is-current):not(.is-complete){background:#fff9eb}.mobile-step-pill-index{width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#e8eef8;font-weight:700}.mobile-step-pill.is-current .mobile-step-pill-index{background:var(--accent);color:#f8fffe}.mobile-step-pill.is-complete .mobile-step-pill-index{background:var(--complete);color:#f8fffe}.mobile-step-pill-copy{display:grid;gap:4px;min-width:0}.mobile-step-pill-title{font-weight:700;overflow-wrap:anywhere}.mobile-step-pill-meta{color:var(--ink-muted);font-size:.86rem}.mobile-step-flashcard-shell{position:relative;padding:4px;border-radius:28px;background:linear-gradient(140deg,#fffffff5,#ecfdf8b8),#ffffffe6;border:1px solid rgba(216,224,236,.9);box-shadow:0 16px 40px #17203314}.mobile-step-flashcard-shell:before{content:"Swipe card to change step";display:none}.guided-step-header{display:grid;gap:4px}.guided-step-header h3{margin:4px 0 0}.guided-step-workspace-panel{padding:0;overflow:hidden}.guided-step-workspace-shell{display:grid;grid-template-columns:156px minmax(0,1fr);min-height:420px;min-width:0}.guided-step-sidebar{display:flex;flex-direction:column;gap:6px;padding:12px;background:linear-gradient(180deg,#f4f7fcf5,#eaf0f8e6);border-right:1px solid rgba(216,224,236,.92)}.guided-step-sidebar-item{width:100%;justify-content:flex-start;text-align:left;border-radius:12px;padding:9px 10px;background:#ffffffc7;font-size:.82rem;font-weight:600;line-height:1.25}.guided-step-sidebar-item-short{display:none}.guided-step-sidebar-item.is-active{border-color:#0f766e47;background:#ecfdf8;color:var(--accent-strong)}.guided-step-stage{min-width:0;background:#ffffffc7}.guided-draft-panel,.guided-support-panel{height:100%;padding:16px;min-width:0}.guided-support-panel{background:linear-gradient(180deg,#fffffffa,#f4f8fdf5),#ffffffeb}.guided-support-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.guided-support-panel-header strong{display:block;margin-top:3px;font-size:1rem;color:#172033}.guided-support-panel-copy{display:grid;gap:12px;min-width:0}.guided-support-panel-copy h4,.guided-support-panel-copy p,.guided-support-panel-copy ol,.guided-support-panel-copy ul{margin:0;overflow-wrap:anywhere}.guided-support-panel-copy pre{margin:0}.guided-support-panel-copy>*,.guided-support-panel-copy li,.guided-step-stage,.adaptive-coach-panel,.coach-response-card,.assist-hint-card,.simple-help-callout,.feedback-form-stack,.feedback-form-stack label,.mcq-option{min-width:0}.guided-disclosure{border:1px solid var(--border);border-radius:20px;background:#ffffffc7;overflow:hidden}.guided-disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;cursor:pointer}.guided-disclosure summary::-webkit-details-marker{display:none}.guided-disclosure summary:after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:#94a3b824;color:#334155;font-size:1.1rem;font-weight:700}.guided-disclosure[open] summary:after{content:"−"}.guided-disclosure summary h4{margin:0}.guided-disclosure summary .panel-subtitle{margin:4px 0 0}.guided-disclosure-content{padding:0 16px 16px;border-top:1px solid rgba(216,224,236,.92)}.guided-disclosure-content>:first-child{margin-top:14px}.guided-disclosure-content>:last-child{margin-bottom:0}.guided-disclosure-accent{border-style:dashed}.step-chip-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.step-chip,.step-state-badge,.hint-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:700}.step-chip.is-current,.step-state-badge.is-active{background:var(--accent-soft);color:var(--accent-strong)}.step-chip.is-complete,.step-state-badge.is-complete{background:var(--complete-soft);color:var(--complete)}.step-state-badge.is-complete{animation:completionPulse .42s ease}.step-chip.is-muted{background:#eef3f9;color:var(--ink-muted)}.step-chip.is-quiz,.hint-pill{background:var(--warning-soft);color:var(--warning)}.guided-step-panel{background:#ffffffb8;border:1px solid var(--border);border-radius:20px;padding:16px}.guided-step-panel h4{margin-top:0}.understand-move-panel{scroll-margin-top:20px;outline:none}.understand-move-panel:focus-visible{box-shadow:0 0 0 3px #14b8a647}.mcq-box{border-style:dashed}.mcq-option{display:flex;gap:10px;align-items:flex-start;padding:10px 0}.mcq-feedback{margin-top:12px;padding:12px 14px;border-radius:16px}.mcq-feedback.is-correct{background:var(--complete-soft);color:var(--complete)}.mcq-feedback.is-neutral{background:#fff8e8;color:#92400e}.assist-panel{border-style:dashed}.assist-action-row{display:flex;gap:10px;flex-wrap:wrap}.assist-copy{margin:12px 0 0;color:var(--ink-muted);line-height:1.6}.assist-hint-card{margin-top:14px;padding:14px;border-radius:16px;background:#fff8e8e6;border:1px solid rgba(180,83,9,.2)}.assist-hint-card p{margin-top:8px}.simple-help-callout{margin-top:14px;padding:14px;border-radius:16px;background:#d7f2eed9;border:1px solid rgba(15,118,110,.18)}.simple-help-callout p{margin:8px 0 0;color:var(--accent-strong);line-height:1.6}.step-check-feedback{margin-top:14px;padding:14px;border-radius:16px}.step-check-feedback.is-strong{background:var(--complete-soft);color:var(--complete)}.step-check-feedback.is-partial{background:#fff8e8;color:#92400e}.step-check-feedback.is-needs-work{background:#fef2f2;color:#991b1b}.adaptive-coach-panel{margin-top:14px;padding:14px;border-radius:16px;background:#eef6ffeb;border:1px solid rgba(14,116,144,.18)}.adaptive-coach-panel .panel-heading h4{margin-bottom:4px}.coach-response-card{margin-top:12px;padding:14px;border-radius:16px;background:#ffffffe0;border:1px solid rgba(148,163,184,.2)}.coach-response-card p{margin:10px 0 0;line-height:1.6}.coach-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.coach-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:700}.coach-badge.is-ai{background:#0f766e24;color:var(--accent-strong)}.coach-badge.is-fallback{background:#3b82f61f;color:#1d4ed8}.coach-badge.is-low{background:#94a3b829;color:#475569}.coach-badge.is-medium{background:#f59e0b29;color:#92400e}.coach-badge.is-high{background:#22c55e29;color:#166534}.coach-badge.is-count{background:#11182714;color:#1f2937}.coach-status-message{margin:12px 0 0;line-height:1.5}.coach-status-message.is-error{color:#991b1b}.coach-status-message.is-warning{color:#92400e}.review-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:14px;color:var(--ink-muted);line-height:1.5;min-width:0}.editor-utility-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#f3f7fceb;border:1px solid rgba(135,151,177,.18)}.editor-status-copy{display:grid;gap:4px}.editor-status-copy strong{font-size:.95rem}.editor-status-copy span{color:var(--ink-muted);line-height:1.5}.editor-utility-actions{display:flex;gap:10px;flex-wrap:wrap}.workspace-view-switcher{display:none}.editor-empty-state{margin-bottom:12px;padding:12px 14px;border-radius:16px;background:#fff8e8e6;border:1px dashed rgba(180,83,9,.26)}.editor-empty-state p{margin:0}.editor-empty-state .panel-subtitle{margin-top:8px}.editor-workspace-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}.code-pane-shell{min-width:0;overflow:hidden;border-radius:18px;border:1px solid rgba(15,23,42,.78);background:#0b1220;box-shadow:inset 0 1px #ffffff0a}.code-pane-shell-editable{border-color:#0f766e6b}.code-pane-shell-readonly{border-color:#47556999}.code-pane-topbar{display:flex;align-items:center;gap:8px;padding:12px 14px;background:linear-gradient(180deg,#101826,#0f172a);border-bottom:1px solid rgba(148,163,184,.18)}.code-pane-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.code-pane-dot.is-red{background:#fb7185}.code-pane-dot.is-amber{background:#fbbf24}.code-pane-dot.is-green{background:#34d399}.code-pane-filename{margin-left:6px;color:#cbd5e1;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.83rem;letter-spacing:.01em}.code-pane-caption{display:grid;gap:4px;padding:12px 14px;background:#0f172ae6;border-bottom:1px solid rgba(148,163,184,.18);color:#dbe4f0}.code-pane-caption strong{font-size:.95rem}.code-pane-caption span{color:#94a3b8;line-height:1.5}.code-pane-body{min-width:0;background:#0b1220}.code-pane-body-readonly{border-top:0}.code-pane-body .monaco-editor,.code-pane-body .overflow-guard{border-radius:0}.editor-help-row{margin:10px 0 0;color:var(--ink-muted);line-height:1.5}.step-session-header{margin-bottom:14px}.progress{font-weight:700;font-size:1.1rem;margin-top:4px}.step-actions{justify-content:space-between;margin-top:16px;margin-bottom:0}.step-completion-note{margin:0;color:var(--ink-muted)}.step-completion-note.is-ready{color:var(--complete);font-weight:700}.step-action-blocker{margin:10px 0 0;color:#92400e;line-height:1.5}.reveal-panel{border-color:#bfd7f6;background:#eef6ff}.mastery-panel{border-color:#16653438;background:#def7e5bf}.solution-so-far-panel pre{margin-bottom:0}.summary-cta-row{margin-bottom:18px}.about-hero{background:linear-gradient(135deg,#0f766e1f,#f59e0b24);border:1px solid rgba(216,224,236,.9);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.about-stage-note{margin:0 0 8px;color:var(--accent-strong);font-weight:700}.about-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.about-card{border:1px solid var(--border);border-radius:20px;padding:16px;background:#ffffffc7}.about-card h3{margin-bottom:8px}.about-card p{color:var(--ink-muted);line-height:1.6}.about-list{margin:0;padding-left:20px;line-height:1.7}.import-hero{background:linear-gradient(135deg,#0c4a6e1a,#0f766e1f);border:1px solid rgba(216,224,236,.9);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.import-pattern-grid{display:flex;flex-wrap:wrap;gap:10px}.import-pattern-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#eef6ff;color:#0c4a6e;font-size:.9rem;font-weight:700}.import-prompt-box{max-height:28rem;margin:0}.import-file-label{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface-strong);border-radius:999px;padding:10px 14px;cursor:pointer}.import-file-label input{display:none}.import-textarea{width:100%;min-height:28rem;margin-top:16px;padding:14px;border-radius:18px;border:1px solid var(--border);background:#ffffffd9;color:#172033;resize:vertical}.import-error{color:#b91c1c;margin-top:14px}.import-success-box{margin-top:14px;padding:14px;border-radius:16px;background:#def7e5c7;border:1px solid rgba(22,101,52,.18)}.import-success-box ul{margin-bottom:0}.complexity-explainer{margin-top:-8px;color:var(--ink-muted);line-height:1.6}.similar-problem-link{color:#155e75;text-decoration:underline;text-underline-offset:3px}.similar-problem-button{padding:0;border:0;background:transparent;border-radius:0;box-shadow:none;cursor:pointer}.similar-problem-button:hover:not(:disabled){transform:none;border-color:transparent;box-shadow:none}.similar-problem-error{color:#b91c1c}@keyframes completionPulse{0%{transform:scale(.96)}70%{transform:scale(1.03)}to{transform:scale(1)}}@media(max-width:1100px){.learning-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-brief-shell,.about-grid,.pattern-grid,.problem-grid,.example-grid{grid-template-columns:1fr}}@media(max-width:900px){.content-layout,.content-layout.is-sidebar-overlay{grid-template-columns:1fr}.content-layout.is-sidebar-overlay .sidebar-shell{position:fixed;top:12px;left:0;bottom:12px;z-index:30;width:min(320px,calc(100vw - 20px));max-width:calc(100vw - 20px);padding-right:12px;overflow:visible}.content-layout.is-sidebar-overlay .sidebar{position:relative;top:0;height:100%;max-height:calc(100vh - 24px);overflow-y:auto;border-radius:0 24px 24px 0}.content-layout.is-sidebar-overlay.is-sidebar-collapsed .sidebar-shell{width:min(320px,calc(100vw - 20px));transform:translate(calc(-100% - 12px));overflow:visible}.content-layout.is-sidebar-overlay.is-sidebar-collapsed .sidebar{transform:none;opacity:1;pointer-events:none}.content-panel{order:1}.sidebar-shell{order:0}.sidebar{position:static}.mobile-lesson-jumpbar{display:flex;position:sticky;top:10px;z-index:5;margin-top:-4px}.top-header-bar,.progress-overview-header,.step-session-header,.panel-heading,.editor-utility-bar{flex-direction:column}.step-chip-row,.progress-actions{justify-content:flex-start}.toolbar-row,.summary-cta-row,.step-actions{align-items:stretch}.step-actions{justify-content:flex-start}.lesson-toolbar-shell,.progress-analytics-footer{flex-direction:column;align-items:stretch}.lesson-toolbar-actions{margin-left:0}.guided-step-workspace-shell{grid-template-columns:1fr}.guided-step-sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-right:0;border-bottom:1px solid rgba(216,224,236,.92)}.guided-step-sidebar-item{width:100%;min-width:0;justify-content:center;text-align:center;padding:8px}.lesson-hero-compact{flex-direction:column}.lesson-hero-actions{width:100%;justify-content:flex-start}.editor-workspace-grid{grid-template-columns:1fr}.workspace-view-switcher{display:flex;gap:8px;margin-bottom:10px}.workspace-view-switcher button{flex:1 1 0;width:auto;background:#ffffffd1}.workspace-view-switcher button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.guided-support-panel-copy pre,.assist-hint-card pre,.reveal-panel pre,.mastery-panel pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto}.problem-brief-head,.problem-brief-mini-header{flex-direction:column}.learning-path-grid{display:none}.mobile-step-session-shell{display:grid;gap:12px;margin-bottom:14px}.mobile-step-flashcard-shell:before{display:block;padding:6px 10px 2px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}}@media(max-width:640px){.top-header{padding:18px 16px}.main-layout{padding:14px}button,.top-nav-link{width:100%;justify-content:center}.section-header,.section-content,.progress-overview{padding-left:16px;padding-right:16px}.top-header-bar,.top-nav,.toolbar-row,.button-row,.progress-actions,.summary-cta-row,.step-actions,.editor-utility-actions,.assist-action-row{width:100%}.top-nav,.toolbar-row,.button-row,.progress-actions,.summary-cta-row,.step-actions,.editor-utility-actions,.assist-action-row{flex-direction:column;align-items:stretch}.pattern-card-header,.problem-card-top,.panel-heading,.step-session-header,.guided-step-header{flex-direction:column}.lesson-nav-copy{flex-direction:column;align-items:flex-start}.progress-metrics{gap:5px}.profile-setup-menu{width:100%;min-width:0}.control-field,.control-toggle{width:100%;justify-content:space-between}.difficulty-pill,.pattern-tag,.practice-mode-badge,.step-chip,.step-state-badge,.hint-pill,.learning-step-state{max-width:100%;white-space:normal}.editor-utility-bar,.learning-path-card,.about-hero,.import-hero{padding:16px}.example-tab,.workspace-view-switcher button{width:auto}.guided-disclosure summary,.code-pane-caption,.guided-support-panel-header{align-items:flex-start}.guided-step-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-step-sidebar-item{border-radius:14px}.guided-support-panel,.guided-draft-panel{padding:14px}.guided-step-sidebar-item-long{display:none}.guided-step-sidebar-item-short{display:inline}.problem-brief-main,.problem-brief-mini-card,.problem-brief-examples{padding:12px}.lesson-hero-meta,.progress-kicker-row{align-items:flex-start}.metric-card{min-width:72px;padding:6px 7px}.metric-card strong{font-size:.84rem}.sidebar{padding:14px}.sidebar-disclosure summary{align-items:flex-start}.sidebar-summary-meta{flex-direction:column;align-items:flex-end;gap:6px}.mobile-lesson-jumpbar{margin-bottom:2px}.mobile-lesson-jumpbar button{width:auto}.mobile-step-summary-card{padding:14px}.mobile-step-rail{margin:0 -2px}.mobile-step-pill{width:auto;min-width:min(260px,calc(100vw - 64px));max-width:calc(100vw - 64px)}.product-title-row{align-items:flex-start}}.lesson-availability-footer{justify-self:start;font-size:.76rem;color:#8a5a12;background:#fff4d6;border:1px solid #f0d28a;border-radius:999px;padding:3px 8px}.similar-problem-card-list{display:grid;gap:10px}.similar-problem-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:#ffffffb3}.similar-problem-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--ink-muted);font-size:.92rem;margin-bottom:8px}.dashboard-mvp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.mvp-notice{margin-top:12px;padding:10px 12px;border-radius:10px;background:#fff7e6;border:1px solid #f2d19f;color:#744210}.feedback-form-stack{display:grid;gap:10px}.feedback-form-stack label{display:grid;gap:6px}.feedback-form-stack input,.feedback-form-stack textarea,.feedback-form-stack select{border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff}.admin-feedback-table-wrap{overflow-x:auto}.admin-feedback-table{width:100%;border-collapse:collapse}.admin-feedback-table th,.admin-feedback-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 8px;vertical-align:top}
