:root{--font-body:"Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;--font-display:"Trebuchet MS", "Avenir Next Condensed", "Arial Rounded MT Bold", sans-serif;--bg:#fff9ef;--bg-strong:#fff2db;--surface:#ffffffb8;--surface-strong:#ffffffe6;--border:#21193d1f;--text:#1d1637;--muted:#655d84;--peach:#ffb36b;--coral:#ff7f66;--sky:#68c8ff;--mint:#73d8af;--gold:#ffd35a;--shadow:0 20px 60px #2c17561f;--radius-xl:32px;--radius-lg:24px;--radius-md:18px;--max-width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);font-family:var(--font-body), sans-serif;background:radial-gradient(circle at 0 0,#ffd078a6,#0000 28%),radial-gradient(circle at 100% 0,#68c8ff73,#0000 22%),radial-gradient(circle at 20% 80%,#73d8af66,#0000 18%),linear-gradient(#fffaf1 0%,#fff5ea 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{width:min(calc(100% - 32px), var(--max-width));margin:0 auto}.page{padding:24px 0 72px}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:18px 0 10px;display:flex}.brand{align-items:center;gap:12px;font-weight:700;display:inline-flex}.brand-mark{background:linear-gradient(135deg, var(--coral), var(--gold));border-radius:14px;width:42px;height:42px;position:relative;box-shadow:inset 0 1px #ffffff8c}.brand-mark:after{content:"";background:linear-gradient(135deg,#ffffffe6,#ffffff73);border-radius:10px;position:absolute;inset:10px}.brand-name{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-size:1.05rem}.nav{align-items:center;gap:10px;display:flex}.nav-link,.button,.button-ghost{border-radius:999px;transition:transform .16s,background .16s,box-shadow .16s}.nav-link{color:var(--muted);padding:10px 14px;font-weight:600}.nav-link:hover,.button:hover,.button-ghost:hover{transform:translateY(-1px)}.button,.button-ghost{cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;font-weight:700;display:inline-flex}.button{background:linear-gradient(135deg, var(--coral), var(--peach));color:#fff;padding:14px 22px;box-shadow:0 16px 30px #ff7f6647}.button-ghost{color:var(--text);border:1px solid var(--border);background:#ffffffa8;padding:13px 20px}.eyebrow{color:#68495f;background:#ffffffb8;border:1px solid #ffffffd9;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.92rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(135deg, var(--gold), var(--coral));border-radius:50%;width:8px;height:8px}.hero{grid-template-columns:1.04fr .96fr;align-items:center;gap:28px;padding:38px 0 28px;display:grid}.hero h1,.section-title,.lesson-title,.step-title,.finish-title{font-family:var(--font-display), sans-serif;letter-spacing:-.04em}.hero h1{margin:18px 0;font-size:clamp(3rem,6vw,5.8rem);line-height:.94}.hero p{max-width:580px;color:var(--muted);margin:0;font-size:1.08rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-stats{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.stat-pill{min-width:140px;box-shadow:var(--shadow);background:#ffffffc2;border:1px solid #ffffffe6;border-radius:18px;padding:12px 14px}.stat-pill strong{font-size:1.05rem;display:block}.stat-pill span{color:var(--muted);margin-top:3px;font-size:.9rem;display:block}.glass-card{background:var(--surface);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);border:1px solid #ffffffeb}.hero-preview{padding:18px}.preview-browser{color:#fff;background:#18122b;border-radius:24px;padding:16px}.preview-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.preview-dots{gap:8px;display:flex}.preview-dots span{background:#ffffff42;border-radius:50%;width:10px;height:10px}.preview-pane-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mini-editor,.mini-site{border-radius:22px;min-height:360px;overflow:hidden}.mini-editor{background:#120e20;border:1px solid #ffffff14}.mini-editor-header,.mini-site-header,.editor-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.mini-editor-header,.mini-site-header{color:#ffffffb8;border-bottom:1px solid #ffffff14;padding:14px 16px;font-size:.86rem}.code-lines{padding:18px 16px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem;line-height:1.75}.code-line{color:#f5c2e7;grid-template-columns:28px 1fr;gap:12px;display:grid}.code-line span{color:#ffffff4d}.token-tag{color:#86d2ff}.token-value{color:#ffd87c}.mini-site{color:#17243c;background:linear-gradient(#f6fbff,#edf7ff);position:relative}.mini-site-body{padding:24px}.mini-badge{color:#23597a;background:#68c8ff33;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:700;display:inline-flex}.mini-site h3{margin:16px 0 12px;font-size:2rem}.mini-site p,.mini-site li{color:#4d6681}.mini-site ul{padding-left:20px}.mini-avatar{background:linear-gradient(135deg,#ffc05c,#ff8d6f);border-radius:24px;width:92px;height:92px;margin-top:16px}.section{padding:56px 0 0}.section-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.section-title{margin:0;font-size:clamp(2.1rem,4vw,3.25rem)}.section-copy{max-width:620px;color:var(--muted);line-height:1.7}.steps-grid,.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.step-card,.project-card,.feature-card{border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow);border:1px solid #ffffffdb;padding:22px}.step-card strong,.project-card h3,.feature-card strong{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;font-size:1.18rem;display:block}.step-card p,.project-card p,.feature-card p{color:var(--muted);margin-bottom:0;line-height:1.65}.step-number{background:linear-gradient(135deg,#ff7f6633,#ffd35a80);border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;font-weight:800;display:inline-flex}.page-hero{padding:36px 0 18px}.page-hero h1{font-family:var(--font-display), sans-serif;letter-spacing:-.04em;margin:14px 0 10px;font-size:clamp(2.8rem,5vw,4.4rem);line-height:.98}.page-hero p{max-width:680px;color:var(--muted);font-size:1.04rem;line-height:1.7}.project-card{flex-direction:column;gap:18px;display:flex}.project-card.locked{opacity:.82}.pill-row{flex-wrap:wrap;gap:10px;display:flex}.pill{color:#52486d;background:#20193d0f;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.project-art{border-radius:24px;min-height:180px;padding:18px;position:relative;overflow:hidden}.art-glow{filter:blur(8px);background:#ffffff42;border-radius:50%;width:160px;height:160px;position:absolute;inset:auto -20px -40px auto}.project-art h4{font-family:var(--font-display), sans-serif;margin:0;font-size:1.25rem}.project-art p{color:#18182ab8;max-width:220px}.lesson-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;padding-top:22px;display:grid}.lesson-shell-loading{grid-template-columns:minmax(0,1fr)}.lesson-sidebar,.lesson-main,.lesson-preview-card{min-height:780px}.lesson-sidebar,.lesson-main,.lesson-preview-card,.lesson-progress-strip,.lesson-workspace-toolbar,.finish-card{background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffe6;border-radius:28px}.lesson-sidebar{padding:22px;position:sticky;top:18px}.lesson-main{min-width:0;padding:20px}.lesson-preview-card{min-width:0;padding:18px;position:sticky;top:18px}.lesson-workspace-shell{gap:18px;min-width:0;display:grid}.lesson-progress-strip{grid-template-columns:minmax(0,1fr) minmax(220px,360px);align-items:center;gap:16px;min-height:auto;padding:14px 18px;display:grid}.lesson-progress-strip-copy{gap:4px;min-width:0;display:grid}.lesson-progress-strip-kicker{letter-spacing:.12em;text-transform:uppercase;color:#7d5a65;font-size:.78rem;font-weight:800}.lesson-progress-strip-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.05rem;line-height:1.2;display:block;overflow:hidden}.lesson-progress-strip-segments{align-items:center;gap:8px;display:flex}.lesson-progress-strip-segment{background:#1d16371f;border-radius:999px;flex:1 1 0;height:10px;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:inset 0 0 0 1px #1d16370a}.lesson-progress-strip-segment.is-completed{background:linear-gradient(90deg, var(--coral), var(--gold));box-shadow:0 8px 18px #ff7f6633}.lesson-progress-strip-segment.is-current{background:linear-gradient(90deg,#68c8fff2,#7ae9c2f2);transform:scaleY(1.1);box-shadow:0 0 0 2px #68c8ff2e}.lesson-loading-card{background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffe6;border-radius:28px;align-content:center;gap:10px;min-height:240px;padding:28px;display:grid}.lesson-loading-card h1,.lesson-loading-card p{margin:0}.lesson-loading-card p{color:var(--muted)}.lesson-loading-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.82rem;font-weight:800}.lesson-workspace-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:auto;padding:16px 18px;display:flex}.lesson-workspace{align-items:start;gap:0;min-width:0;display:grid}.lesson-editor-pane{position:relative}.lesson-workspace-divider{cursor:col-resize;background:0 0;border:none;justify-content:center;align-items:stretch;min-height:780px;padding:0;display:flex;position:relative}.lesson-workspace-divider:before{content:"";background:#1d163714;width:1px}.lesson-workspace-divider-handle{background:#ffffffe0;border:1px solid #1d16371a;border-radius:999px;width:8px;height:84px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 10px 24px #1d16371f}.lesson-workspace-divider.is-active .lesson-workspace-divider-handle,.lesson-workspace-divider:hover .lesson-workspace-divider-handle{background:#fff;box-shadow:0 16px 28px #1d16372e}.pane-toggle-group,.pane-actions,.editor-meta,.preview-meta,.lesson-toolbar-actions{align-items:center;gap:10px;display:flex}.pane-actions,.preview-meta,.editor-meta{flex-wrap:wrap}.pane-toggle-group,.lesson-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.save-status{min-height:38px;color:var(--muted);white-space:nowrap;background:#ffffffb8;border:1px solid #1d16371a;border-radius:999px;align-items:center;padding:8px 12px;font-size:.84rem;font-weight:700;display:inline-flex}.save-status-saving{color:var(--text)}.save-status-error{color:#a53a2a}.lesson-tour-trigger{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:8px 6px;font-size:.88rem;font-weight:700;transition:color .16s,opacity .16s}.lesson-tour-trigger:hover,.lesson-tour-trigger:focus-visible{color:var(--text)}.pane-toggle,.pane-action-button{color:var(--text);cursor:pointer;background:#ffffffc2;border:1px solid #1d16371f;border-radius:999px;justify-content:center;align-items:center;font-weight:700;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.pane-toggle:hover,.pane-action-button:hover{transform:translateY(-1px)}.pane-toggle:disabled,.pane-action-button:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}.pane-toggle{padding:10px 14px}.pane-toggle.active{background:linear-gradient(135deg,#ff7f662e,#ffc27738);box-shadow:0 10px 24px #ff7f6624}.pane-action-button{padding:8px 12px;font-size:.84rem}.editor-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-meta,.progress-meta,.editor-toolbar,.theme-grid,.image-grid,.finish-actions{gap:12px;display:grid}.lesson-title{margin:0;font-size:1.8rem;line-height:1}.muted{color:var(--muted)}.progress-track{background:#1d163714;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--gold), var(--sky));height:100%;transition:width .22s}.checklist{gap:10px;margin-top:10px;display:grid}.checklist-item{border:1px solid #0000;border-radius:18px;grid-template-columns:34px 1fr;gap:12px;padding:12px;transition:background .16s,border-color .16s,transform .16s;display:grid}.checklist-item.active{background:#ffffffb8;border-color:#1d163714;transform:translate(2px)}.teacher-auth-form{gap:16px;display:grid}.teacher-auth-field{color:var(--text);gap:8px;font-weight:700;display:grid}.teacher-input{width:100%;color:var(--text);font:inherit;background:#ffffffe0;border:1px solid #1d163724;border-radius:16px;padding:12px 14px}.teacher-input:focus{outline-offset:2px;outline:2px solid #6ecbff80}.teacher-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:18px;display:grid}.teacher-panel{padding:24px}.teacher-panel-copy{margin:8px 0 0}.teacher-list{gap:12px;margin-top:18px;display:grid}.teacher-list-item{background:#ffffff9e;border:1px solid #21193d1a;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;transition:transform .16s,background .16s,border-color .16s;display:flex}.teacher-list-item:hover{background:#ffffffd6;border-color:#21193d29;transform:translateY(-1px)}.teacher-list-copy{margin:6px 0 0}.teacher-inline-note{margin:0}.teacher-success-note{color:#236f52;font-weight:700}.finish-save-exit-button.finish-save-exit-saved{background:linear-gradient(135deg,#2f9e6f,#73d8af);animation:.7s ease-out finishSavePulse;box-shadow:0 16px 30px #2f9e6f3d}.finish-save-exit-button.finish-save-exit-error{background:linear-gradient(135deg,#d46857,#f39b7d);box-shadow:0 16px 30px #d4685738}.finish-save-exit-note{color:var(--muted);margin:14px 0 0;font-weight:700}.finish-save-exit-note-saved{color:#236f52}.finish-save-exit-note-error{color:#9b4d42}.teacher-pin-card{background:#73d8af1f;border:1px solid #73d8af4d;border-radius:20px;gap:8px;padding:16px 18px;display:grid}.teacher-pin-value{background:#21193d14;border-radius:14px;width:fit-content;padding:10px 12px;font-size:1rem;font-weight:800;display:inline-flex}.teacher-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.teacher-attempt-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-meta-card{background:#ffffff9e;border:1px solid #21193d1a;border-radius:20px;gap:8px;padding:16px 18px;display:grid}@keyframes finishSavePulse{0%{transform:scale(.98);box-shadow:0 0 #2f9e6f00}45%{transform:scale(1.02);box-shadow:0 0 0 12px #73d8af2e}to{transform:scale(1);box-shadow:0 16px 30px #2f9e6f3d}}.student-page-section{padding-top:28px}.student-join-panel,.student-join-summary,.student-empty-state{min-height:100%}.student-session-panel{justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:20px 24px;display:flex}.student-empty-state{max-width:720px;margin:0 auto}.teacher-attempt-summary{margin-top:4px}.teacher-attempt-fallback{background:#ffffff9e;border:1px solid #d4685738;border-radius:20px;margin-top:18px;padding:16px 18px}.teacher-reflection-list{gap:16px;margin-top:18px;display:grid}.teacher-reflection-card{background:#ffffff9e;border:1px solid #21193d1a;border-radius:20px;gap:10px;padding:18px 20px;display:grid}.teacher-reflection-kicker{letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:800}.teacher-reflection-response{color:var(--text);white-space:pre-wrap;margin:0;line-height:1.65}.checklist-item.done .check-bubble,.checklist-item.active .check-bubble{background:linear-gradient(135deg, var(--coral), var(--gold));color:#fff}.check-bubble{background:#1d163714;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex}.checklist-label{font-weight:700}.checklist-copy{color:var(--muted);margin-top:2px;font-size:.92rem}.step-panel{background:#ffffffbd;border:1px solid #ffffffe6;border-radius:24px;padding:22px}.step-kicker{color:#7d5a65;text-transform:uppercase;letter-spacing:.08em;font-size:.86rem;font-weight:800}.step-title{margin:10px 0 8px;font-size:2rem}.step-body{color:var(--muted);margin:0;line-height:1.7}.step-text-entry{gap:10px;margin-top:18px;display:grid}.step-text-entry-label{color:var(--text);font-size:.95rem;font-weight:800}.step-text-entry-input{width:100%;color:var(--text);background:#ffffffe0;border:1px solid #1d16371a;border-radius:18px;padding:14px 16px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;box-shadow:0 10px 22px #1d16370f}.step-text-entry-input::placeholder{color:#8a8397}.step-text-entry-input:hover{transform:translateY(-1px)}.step-text-entry-input:focus{border-color:#ff7f6657;outline:2px solid #ff7f662e;box-shadow:0 14px 24px #ff7f661f}.step-text-entry-input.filled{background:#f3fff8f5;border:1px solid #73d8af61;box-shadow:0 14px 26px #73d8af1f}.step-text-entry-input.filled::placeholder{color:#5f8a75}.step-text-entry-input.filled:focus{border-color:#3ec178ad;outline:2px solid #3ec1782e;box-shadow:0 16px 28px #73d8af2e}.step-text-entry-note{color:var(--text);margin:0;font-size:.92rem;font-weight:700}.prediction-card,.step-checklist-card,.feedback-panel{background:linear-gradient(135deg,#ffffffd1,#fff6ddb8);border:1px solid #ffffffeb;border-radius:20px;margin-top:16px;padding:16px}.prediction-card{position:relative;overflow:hidden;box-shadow:0 16px 32px #1d163714}.prediction-card:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 100% 0,#ffd5783d,#0000 28%),linear-gradient(160deg,#ffffff14,#0000 50%);position:absolute;inset:0}.prediction-card.unanswered{background:linear-gradient(135deg,#fffaebf5,#fff4d6d1),linear-gradient(135deg,#ffffffd1,#fff6ddb8);border-color:#ffd699cc}.prediction-card.answered{background:linear-gradient(135deg,#fffdf1fa,#fff6d5e0),linear-gradient(135deg,#ffffffd1,#fff6ddb8);border-color:#ffcf70e0}.prediction-topbar{z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative}.prediction-kicker{color:#7d5a65;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.prediction-question{margin-top:8px;font-size:1rem;display:block}.prediction-support-copy{z-index:1;color:#6f5c55;max-width:44ch;margin:12px 0 0;font-size:.93rem;line-height:1.45;position:relative}.prediction-bulb{z-index:1;background:linear-gradient(#fffffff0,#fff7ddb8);border:1px solid #ffd3817a;border-radius:18px;flex:none;place-items:center;width:64px;height:64px;display:grid;position:relative;box-shadow:inset 0 1px #fffc}.prediction-bulb-icon,.prediction-bulb-glow,.prediction-bulb-rays{position:absolute}.prediction-bulb-icon{z-index:2;filter:grayscale(.8)saturate(.65);font-size:1.8rem;transition:filter .22s,transform .22s,opacity .22s;transform:translateY(1px)}.prediction-bulb-glow{opacity:.18;background:radial-gradient(circle,#ffe172b8,#ffe17200);border-radius:999px;width:34px;height:34px;transition:opacity .22s,transform .22s;transform:scale(.85)}.prediction-bulb-rays{opacity:0;border-radius:999px;width:46px;height:46px;transition:opacity .22s,transform .22s}.prediction-bulb-rays:before,.prediction-bulb-rays:after{content:"";border-radius:inherit;background:linear-gradient(90deg,#0000 47%,#ffca54eb 47% 53%,#0000 53%),linear-gradient(#0000 47%,#ffca54eb 47% 53%,#0000 53%);position:absolute;inset:0}.prediction-bulb-rays:after{transform:rotate(45deg)}.prediction-card.answered .prediction-bulb-icon{filter:grayscale(0)saturate(1.05);transform:translateY(0)scale(1.04)}.prediction-card.answered .prediction-bulb-glow{opacity:.9;animation:1.2s ease-out prediction-bulb-glow;transform:scale(1.15)}.prediction-card.answered .prediction-bulb-rays{opacity:.55;animation:1.2s ease-out prediction-bulb-rays}.prediction-options,.step-checklist{gap:10px;margin-top:14px;display:grid}.prediction-option,.step-checklist-item{background:#ffffffc7;border:1px solid #1d163714;border-radius:16px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.prediction-option{color:var(--text);cursor:pointer;text-align:left;z-index:1;padding:12px 14px;font-weight:700;position:relative}.prediction-option:hover,.step-checklist-item:hover{transform:translateY(-1px)}.prediction-option.active,.step-checklist-item.active{background:#fffffff5;border-color:#ff7f664d;box-shadow:0 12px 24px #ff7f661a}.prediction-feedback{z-index:1;color:#6d5578;margin:12px 0 0;font-size:.92rem;position:relative}@keyframes prediction-bulb-glow{0%{opacity:.3;transform:scale(.9)}45%{opacity:1;transform:scale(1.24)}to{opacity:.9;transform:scale(1.15)}}@keyframes prediction-bulb-rays{0%{opacity:0;transform:scale(.7)}45%{opacity:.68;transform:scale(1.08)}to{opacity:.55;transform:scale(1)}}@keyframes feedback-checkbox-pop{0%{transform:scale(.78)rotate(-8deg)}58%{transform:scale(1.1)rotate(0)}to{transform:scale(1)}}@keyframes feedback-check-draw{0%{opacity:0;transform:rotate(45deg)scale(.35)}65%{opacity:1;transform:rotate(45deg)scale(1.08)}to{opacity:1;transform:rotate(45deg)scale(1)}}@media (prefers-reduced-motion:reduce){.prediction-option,.step-checklist-item,.prediction-bulb-icon,.prediction-bulb-glow,.prediction-bulb-rays,.feedback-status-box,.feedback-status-check,.lesson-tour-trigger,.lesson-tour-highlight,.lesson-tour-dialog{transition:none;animation:none}}.feedback-panel{--feedback-background:linear-gradient(135deg, #ffffffd1, #fff6ddb8);--feedback-border:#ffffffeb;--feedback-accent:#ffb36bd6;--feedback-accent-strong:#9b662c;--feedback-copy-color:#6d5578;--feedback-note-color:#7a5662;border-color:var(--feedback-border);background:var(--feedback-background);position:relative;overflow:hidden;box-shadow:0 14px 28px #1d16370f,inset 0 1px #ffffffb8}.feedback-panel:before{content:"";border-radius:inherit;background:linear-gradient(180deg, var(--feedback-accent), #fff0);width:8px;position:absolute;inset:0 auto 0 0}.feedback-panel:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffffb3,#0000 34%);position:absolute;inset:0}.feedback-panel>*{z-index:1;position:relative}.feedback-topbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feedback-panel.feedback-pass{--feedback-background:linear-gradient(135deg, #eefff5fa, #cdf5deeb);--feedback-border:#40b47657;--feedback-accent:#3ec178eb;--feedback-accent-strong:#20885d;--feedback-copy-color:#22573f;--feedback-note-color:#2b7251}.feedback-panel.feedback-close{--feedback-background:linear-gradient(135deg, #fffbf0f5, #ffeccdeb);--feedback-border:#ffb36b4d;--feedback-accent:#ffb36be6;--feedback-accent-strong:#9b662c;--feedback-copy-color:#754b19;--feedback-note-color:#8e5922}.feedback-panel.feedback-notYet{--feedback-background:linear-gradient(135deg, #fff8f6fa, #ffeae4e6);--feedback-border:#dc9c9242;--feedback-accent:#e79d93bd;--feedback-accent-strong:#b8746d;--feedback-copy-color:#8b5c57;--feedback-note-color:#9a6863}.feedback-topbar .prediction-kicker{color:var(--feedback-accent-strong)}.feedback-topbar .prediction-question,.feedback-copy{color:var(--feedback-copy-color)}.feedback-status-mark{width:42px;height:42px;color:var(--feedback-accent-strong);background:#ffffff85;border:1px solid #ffffffad;border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 1px #ffffffb8}.feedback-status-box{background:#ffffffe6;border:2px solid;border-radius:7px;width:20px;height:20px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;position:relative}.feedback-status-check{opacity:0;transform-origin:50%;border-bottom:3px solid #0000;border-right:3px solid #0000;width:6px;height:11px;position:absolute;top:1px;left:6px;transform:rotate(45deg)scale(.8)}.feedback-panel.feedback-pass .feedback-status-mark{background:linear-gradient(135deg,#ffffffc2,#d8f7e5e6);box-shadow:0 10px 18px #1f7c5129,inset 0 1px #ffffffb8}.feedback-panel.feedback-notYet .feedback-status-mark{background:linear-gradient(135deg,#ffffffc7,#ffefebeb)}.feedback-panel.feedback-notYet .feedback-status-box{background:#fffcfbf5;border-color:#b8746d9e}.feedback-panel.feedback-pass .feedback-status-box{background:linear-gradient(#47c480f5,#249461f5);border-color:#22764ee6;animation:.42s cubic-bezier(.19,1,.22,1) feedback-checkbox-pop;box-shadow:0 10px 18px #1f7c5138}.feedback-panel.feedback-pass .feedback-status-check{opacity:1;border-bottom-color:#fff;border-right-color:#fff;animation:.46s ease-out .11s both feedback-check-draw}.feedback-copy{margin-bottom:0}.feedback-gate-note{color:var(--feedback-note-color,#7a5662);margin:14px 0 0;font-size:.92rem;font-weight:700}.checkpoint-actions{gap:12px;margin-top:16px;display:flex}.reflection-stack{gap:14px;margin-top:14px;display:grid}.reflection-input{width:100%;min-height:112px;color:var(--text);font:inherit;resize:vertical;background:#ffffffd1;border:1px solid #1d16371a;border-radius:16px;padding:14px 16px}.reflection-input:focus{border-color:#ff7f6657;outline:2px solid #ff7f6638}.developer-notebook{gap:16px;margin-top:14px;display:grid}.developer-notebook-header,.developer-notebook-entry,.developer-notebook-preview,.finish-notebook-card{border:1px solid #ffffffe6;border-radius:20px;box-shadow:0 14px 28px #1d16370f}.developer-notebook-header,.finish-notebook-card{background:linear-gradient(135deg,#fffdf7f5,#fff6e8e0);padding:18px}.developer-notebook-copy,.finish-notebook-copy{margin:10px 0 0;line-height:1.6}.developer-notebook-entry{background:linear-gradient(#fffcf4fa,#fff7ebe6);border-left:4px solid #ffb45fb8;padding:18px}.developer-notebook-entry .prediction-question{margin-bottom:14px}.developer-notebook-input{background:#ffffffe0;margin-top:0}.developer-notebook-status{margin-top:12px}.developer-notebook-preview{background:#ffffffd1;padding:16px 18px}.developer-notebook-preview-body,.finish-notebook-entry{color:var(--text);white-space:pre-wrap;margin:10px 0 0;line-height:1.7}.finish-notebook-prompt{color:#6d5578;margin:14px 0 0;line-height:1.6}.finish-notebook-card{margin-top:22px}.finish-process-card{background:radial-gradient(circle at 0 0,#ffffffe6,#0000 42%),linear-gradient(135deg,#fff7e9f5,#eef8ffeb);border:1px solid #ffffffeb;border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:20px 22px;display:flex;box-shadow:0 18px 34px #1d163714}.finish-process-copy{gap:8px;max-width:34rem;display:grid}.finish-process-body{margin:0;line-height:1.6}.developer-progress-ring{flex:none;width:124px;height:124px;position:relative}.developer-progress-ring-graphic{width:100%;height:100%;display:block;transform:rotate(-90deg)}.developer-progress-ring-track,.developer-progress-ring-fill{fill:none;stroke-width:11px}.developer-progress-ring-track{stroke:#1d16371a}.developer-progress-ring-fill{stroke:url(#developer-progress-ring-gradient);stroke-linecap:round;transition:stroke-dashoffset .22s}.developer-progress-ring-center{text-align:center;place-items:center;display:grid;position:absolute;inset:0}.developer-progress-ring-center strong{color:#173255;font-size:1.45rem;line-height:1}.step-checklist-item{cursor:pointer;align-items:center;gap:12px;padding:12px 14px;font-weight:700;display:flex}.step-checklist-item input{width:18px;height:18px;accent-color:var(--coral)}.hint-box{color:#24556d;background:#68c8ff1f;border-radius:18px;margin-top:16px;padding:14px 16px;font-size:.94rem}.challenge-box{color:#225945;background:#73d8af24;border-radius:18px;margin-top:14px;padding:14px 16px;font-size:.94rem}.inline-example{color:#f9d7f2;background:#171226;border-radius:18px;margin-top:16px;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;overflow-x:auto}.editor-frame{background:#100c1b;border:1px solid #ffffff14;border-radius:24px;margin-top:18px;overflow:hidden}.error-helper-card{background:linear-gradient(135deg,#fff9f0f5,#fff2e7eb);border:1px solid #ffba856b;border-radius:20px;margin-top:16px;padding:16px 18px;box-shadow:0 14px 28px #1d16370f}.error-helper-copy{gap:8px;display:grid}.error-helper-eyebrow{color:#8a5d49;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:800}.error-helper-title{font-size:1rem}.error-helper-body{color:#6d5578;margin:0;line-height:1.6}.error-helper-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.error-helper-button{padding:10px 14px}.error-helper-hint{color:#694f60;background:#ffffffd1;border-radius:16px;margin:14px 0 0;padding:12px 14px;font-size:.94rem;line-height:1.6}.activity-panel{background:linear-gradient(135deg,#ffffffdb,#fff5e3c2);border:1px solid #ffffffeb;border-radius:24px;margin-top:18px;padding:18px;box-shadow:0 16px 32px #1d163714}.activity-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.activity-copy{max-width:58ch;margin:8px 0 0}.activity-progress{color:#6b5873;background:#ffffffd1;border:1px solid #1d163714;border-radius:999px;align-items:center;padding:8px 12px;font-size:.84rem;font-weight:800;display:inline-flex}.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.activity-question-stack{gap:14px;margin-top:16px;display:grid}.activity-question-card{background:#ffffff8f;border:1px solid #ffffffdb;border-radius:20px;padding:16px}.activity-question-title{font-size:1rem;display:block}.activity-question-feedback{color:#6d5578;margin:12px 0 0;font-size:.92rem}.activity-column{gap:10px;display:grid}.activity-label{color:#7d5a65;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:800}.activity-stack{gap:10px;display:grid}.match-card{text-align:left;cursor:pointer;background:#ffffffd6;border:1px solid #1d163714;border-radius:18px;padding:14px 16px;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s}.match-card:hover{transform:translateY(-1px)}.match-card.selected{background:#ecf9fff5;border-color:#68c8ff85;box-shadow:0 14px 26px #68c8ff1f}.match-card.matched{cursor:default;background:#f3fff8f5;border-color:#73d8af61;box-shadow:0 14px 26px #73d8af1f}.match-card:disabled{opacity:1}.match-chip{color:#615678;background:#1d16370f;border-radius:999px;margin-bottom:8px;padding:6px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.outcome-card .match-chip{color:#9d534c;background:#ff7f661f}.choice-card .match-chip{color:#2a6587;background:#68c8ff1f}.activity-footer{color:#6d5578;background:#ffffffc7;border-radius:18px;margin-top:16px;padding:14px 16px;font-size:.94rem}.activity-footer.complete{color:#225945;background:#73d8af24}.activity-footer p{margin:0}.editor-topbar{color:#ffffffb8;background:#ffffff0a;padding:12px 14px}.editor-helper{color:#eef8fff0;background:#68c8ff1a;border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f;padding:12px 14px;font-size:.92rem;line-height:1.6}.editor-badge{background:#ffffff14;border-radius:999px;padding:6px 10px;font-size:.82rem}.editor-focus{color:#fff;font-weight:700}.editor-line-focus{background:linear-gradient(90deg,#68c8ff24,#ff7f6614);border-top:1px solid #68c8ff38;border-bottom:1px solid #68c8ff2e;animation:.6s editorFocusPulse}.editor-line-focus-gutter{border-left:3px solid #68c8ff;margin-left:4px}.editor-line-helper-highlight{background:linear-gradient(90deg,#ffd35a42,#ff7f6629);border-top:1px solid #ffd35a61;border-bottom:1px solid #ffd35a4d;animation:.9s editorHelperPulse}.editor-line-helper-gutter{border-left:3px solid #ffd35a;margin-left:4px}@keyframes editorFocusPulse{0%{background:#ffffff2e}to{background:linear-gradient(90deg,#68c8ff24,#ff7f6614)}}@keyframes editorHelperPulse{0%{background:#ffd35a5c}to{background:linear-gradient(90deg,#ffd35a42,#ff7f6629)}}.picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.theme-card,.image-card{cursor:pointer;text-align:left;background:#ffffffc2;border:1px solid #1d163714;border-radius:20px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s}.theme-card.active,.image-card.active{border-color:#ff7f666b;transform:translateY(-1px);box-shadow:0 14px 26px #ff7f6629}.swatch-row{gap:8px;margin-bottom:14px;display:flex}.swatch{border-radius:999px;width:18px;height:18px}.image-thumb{aspect-ratio:1.3;object-fit:cover;background:#f3f6fb;border-radius:16px;width:100%;margin-bottom:12px}.lesson-footer{justify-content:space-between;gap:14px;margin-top:18px;display:flex}.lesson-tour-root{z-index:80;pointer-events:none;position:fixed;inset:0}.lesson-tour-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#120e2394;position:fixed}.lesson-tour-overlay-full{inset:0}.lesson-tour-highlight{pointer-events:none;border:2px solid #ffffffeb;border-radius:28px;transition:top .18s,left .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 9999px #120e2366,0 20px 50px #110d2847}.lesson-tour-dialog{width:min(320px,100vw - 32px);color:var(--text);pointer-events:auto;background:#fffbf3f5;border:1px solid #fffffff2;border-radius:24px;outline:none;padding:20px;transition:top .18s,left .18s,transform .18s;position:fixed;overflow-y:auto;box-shadow:0 24px 60px #1d163738}.lesson-tour-dialog.is-centered{inset:50% auto auto 50%;transform:translate(-50%,-50%)}.lesson-tour-dialog.is-anchored{transform:translateY(0)}.lesson-tour-kicker{color:#7d5a65;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.lesson-tour-title{font-family:var(--font-display), sans-serif;letter-spacing:-.03em;margin:10px 0 8px;font-size:1.5rem}.lesson-tour-body{color:var(--muted);margin:0;line-height:1.65}.lesson-tour-footer,.lesson-tour-actions{align-items:center;gap:12px;display:flex}.lesson-tour-footer{flex-wrap:wrap;justify-content:space-between;margin-top:18px}.lesson-tour-actions{justify-content:flex-end}.lesson-tour-skip{background:#ffffffa8}.preview-frame{background:#fff;border:none;border-radius:24px;width:100%;min-height:630px}.preview-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.preview-badge{background:#1d16370f;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.86rem;font-weight:700;display:inline-flex}.finish-wrap{padding:38px 0 80px}.finish-card{max-width:860px;margin:0 auto;padding:28px}.finish-title{margin:14px 0 10px;font-size:clamp(2.4rem,5vw,4rem);line-height:.96}.finish-preview{box-shadow:var(--shadow);background:#fff;border-radius:24px;margin-top:22px;overflow:hidden}.finish-preview iframe{border:none;width:100%;min-height:520px}.editor-tab-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.editor-tab{appearance:none;color:#36507a;font:inherit;cursor:pointer;background:#f8fbffe6;border:1px solid #788aaf38;border-radius:999px;padding:10px 14px;font-weight:700;transition:transform .16s,border-color .16s,background .16s}.editor-tab:hover{transform:translateY(-1px)}.editor-tab.active{color:#173255;background:linear-gradient(135deg,#7fd8ff,#ffd981);border-color:#7fd8ff9e}.project-builder-panel{margin-top:18px}.builder-header{gap:8px;display:grid}.builder-groups{gap:24px;margin-top:22px;display:grid}.builder-group{gap:14px;display:grid}.builder-copy{gap:4px;display:grid}.builder-copy h3{color:#1b2e4b;margin:0;font-size:1.2rem}.builder-option-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.builder-option-card{appearance:none;text-align:left;cursor:pointer;background:#fff;border:1px solid #788aaf2e;border-radius:24px;gap:14px;padding:14px;transition:transform .17s,border-color .17s,box-shadow .17s;display:grid}.builder-option-card:hover{border-color:#788aaf47;transform:translateY(-2px)}.builder-option-card.selected{border-color:var(--builder-accent);box-shadow:0 16px 28px color-mix(in srgb, var(--builder-accent) 22%, transparent)}.builder-option-preview{background:var(--builder-gradient);border-radius:18px;place-items:center;min-height:82px;display:grid}.builder-option-preview span{font-size:2rem}.builder-option-copy{gap:6px;display:grid}.builder-option-copy strong{color:#173255}.builder-option-copy p{color:#516784;margin:0;font-size:.96rem;line-height:1.5}@media (max-width:1120px){.hero,.lesson-shell,.lesson-workspace,.project-grid,.teacher-grid,.steps-grid,.preview-pane-grid{grid-template-columns:1fr}.lesson-sidebar,.lesson-preview-card,.lesson-workspace-divider{min-height:auto;position:static}.lesson-main{order:-1}.lesson-workspace-toolbar{flex-direction:column;align-items:stretch;min-height:auto}.lesson-tour-dialog.is-anchored{width:auto;inset:auto 16px 16px}.pane-toggle-group{justify-content:flex-start}.lesson-workspace-divider{display:none}}@media (max-width:720px){.finish-process-card{text-align:center;justify-content:center}.finish-process-copy{justify-items:center}.shell{width:min(calc(100% - 20px), var(--max-width))}.page{padding-top:14px}.topbar{flex-direction:column;align-items:stretch}.nav{flex-wrap:wrap}.hero h1,.page-hero h1{line-height:1}.picker-grid,.activity-grid,.builder-option-grid{grid-template-columns:1fr}.lesson-footer,.section-head,.student-session-panel{flex-direction:column;align-items:stretch}}
