.lesson-hero{padding:3.25rem 0 2rem;position:relative;overflow:hidden}.lesson-hero:before{content:"";filter:blur(5px);z-index:-1;background:linear-gradient(135deg,#fde68a80,#f9a8d480);border-radius:50%;width:13rem;height:13rem;position:absolute;inset:8% auto auto 7%}.lesson-hero-inner{max-width:1180px}.lesson-breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:1.3rem;font-size:.8rem;display:flex}.lesson-breadcrumbs a{color:inherit;text-decoration:none}.lesson-breadcrumbs a:hover{color:var(--c-violet-dark)}.lesson-hero-grid{grid-template-columns:1fr auto;align-items:center;gap:2rem;display:grid}.lesson-kicker{color:#5d3bc9;background:#eee8ff;border-radius:999px;padding:.45rem .75rem;font-size:.78rem;font-weight:900;display:inline-flex}.lesson-hero h1{letter-spacing:-.055em;margin:.7rem 0 .6rem;font-size:clamp(2.2rem,6vw,4.7rem)}.lesson-hero p{color:var(--text-muted);max-width:48rem;margin:0;font-size:.92rem;line-height:2}.lesson-meta-row{flex-wrap:wrap;gap:.55rem;margin-top:1.1rem;display:flex}.lesson-meta-row span{background:#fff;border:1px solid #e9e7f2;border-radius:12px;padding:.48rem .7rem;font-size:.76rem;font-weight:800;box-shadow:0 8px 24px #312e8110}.lesson-number-card{background:linear-gradient(145deg,#fff,#f1efff);border:1px solid #e8e4f7;border-radius:36px;align-content:center;place-items:center;width:150px;height:150px;display:grid;transform:rotate(-3deg);box-shadow:0 22px 60px #4c1d9520}.lesson-number-card small{letter-spacing:.18em;color:#8b7cac;font-weight:900}.lesson-number-card strong{color:#5d3bc9;font-size:3.25rem;line-height:1}.lesson-number-card span{margin-top:.35rem;font-size:1.6rem}.lesson-main{padding-top:1rem}.lesson-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:2rem;max-width:1180px;display:grid}.lesson-content-column{min-width:0}.lesson-runtime-column{position:sticky;top:1rem}.learning-objectives,.lesson-prose,.flashcard-deck,.quiz-player,.lesson-resources{background:#fff;border:1px solid #ebe9f3;border-radius:28px;margin-bottom:1.35rem;box-shadow:0 16px 55px #312e8110}.learning-objectives{background:linear-gradient(145deg,#fffbeb,#fff);padding:1.4rem}.objective-head,.interaction-heading>div{align-items:center;gap:.8rem;display:flex}.objective-head>span,.interaction-heading>div>span{background:#fff;border-radius:14px;place-items:center;width:44px;height:44px;font-size:1.2rem;display:grid;box-shadow:0 7px 24px #312e8114}.objective-head small,.interaction-heading small{color:var(--text-muted);font-weight:800}.objective-head h2,.interaction-heading h2{margin:.05rem 0;font-size:1.18rem}.learning-objectives ul{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.learning-objectives li{background:#fff;border:1px dashed #eadca8;border-radius:13px;padding:.65rem .8rem;font-size:.84rem;line-height:1.8}.learning-objectives li:before{content:"✓";color:#16a34a;margin-left:.55rem;font-weight:900}.lesson-prose{padding:clamp(1.35rem,4vw,2.5rem);font-size:.94rem;line-height:2.15}.lesson-prose h2{letter-spacing:-.025em;margin:2rem 0 .6rem;font-size:1.55rem}.lesson-prose h3{margin:1.55rem 0 .45rem;font-size:1.15rem}.lesson-prose p{color:#39354a}.lesson-prose blockquote{color:#43386a;background:#f7f3ff;border-right:4px solid #8b5cf6;border-radius:16px;margin:1.2rem 0;padding:1rem 1.15rem}.lesson-prose ul,.lesson-prose ol{padding-right:1.4rem}.lesson-prose li{margin:.35rem 0}.lesson-prose code{direction:ltr;unicode-bidi:embed;background:#f1eff7;border-radius:6px;padding:.12rem .32rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.lesson-prose pre{text-align:left;color:#f8f7ff;direction:ltr;background:#171627;border-radius:18px;padding:1rem 1.1rem;line-height:1.7;overflow:auto}.lesson-prose pre code{background:0 0;padding:0}.lesson-prose img{background:#fafafe;border:1px solid #ebe9f3;border-radius:22px;width:100%;height:auto;margin:1.4rem 0;display:block}.lesson-prose strong{color:#211d33}.interaction-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.interaction-heading>b{color:#6d5dd3;background:#f2efff;border-radius:999px;padding:.45rem .65rem;font-size:.75rem}.flashcard-deck,.quiz-player,.lesson-resources{padding:1.35rem}.flashcard{perspective:1000px;cursor:pointer;background:0 0;border:0;width:100%;height:240px;padding:0;position:relative}.flashcard-face{backface-visibility:hidden;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;padding:2rem;transition:transform .5s;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff5}.flashcard-face.front{color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb)}.flashcard-face.back{color:#fff;background:linear-gradient(135deg,#14b8a6,#22c55e);transform:rotateY(180deg)}.flashcard.is-flipped .front{transform:rotateY(180deg)}.flashcard.is-flipped .back{transform:rotateY(360deg)}.flashcard-face small{opacity:.78;font-weight:900}.flashcard-face strong{max-width:34rem;margin:.7rem auto;font-size:clamp(1.2rem,4vw,1.8rem)}.flashcard-face em{opacity:.75;font-size:.72rem;font-style:normal}.flashcard-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:.9rem;display:grid}.flashcard-controls button{cursor:pointer;background:#fff;border:1px solid #e5e2ee;border-radius:11px;padding:.55rem .8rem;font-weight:800}.flashcard-dots{justify-content:center;gap:.35rem;display:flex}.flashcard-dots i{background:#ded9ec;border-radius:99px;width:7px;height:7px}.flashcard-dots i.active{background:#7c3aed;width:20px}.quiz-description{color:var(--text-muted);font-size:.84rem;line-height:1.9}.quiz-questions{gap:1rem;margin-top:1.1rem;display:grid}.quiz-question{border:1px solid #eae7f2;border-radius:20px;padding:1rem;transition:all .2s}.quiz-question.correct{background:#f0fdf4;border-color:#86efac}.quiz-question.wrong{background:#fff7f7;border-color:#fca5a5}.quiz-question header{grid-template-columns:36px 1fr auto;align-items:start;gap:.7rem;margin-bottom:.85rem;display:grid}.quiz-question header>span{color:#6d4cc7;background:#f0edff;border-radius:11px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.quiz-question h3{margin:0;font-size:.92rem;line-height:1.8}.quiz-question header small{color:var(--text-muted);font-size:.68rem}.quiz-question header>b{white-space:nowrap;font-size:.7rem}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.choice-option{cursor:pointer;background:#fff;border:1px solid #e6e2ef;border-radius:13px;align-items:center;gap:.55rem;padding:.65rem .75rem;font-size:.8rem;display:flex}.choice-option:has(input:checked){background:#f5f1ff;border-color:#8b5cf6}.choice-option input{accent-color:#7c3aed}.boolean-options{gap:.6rem;display:flex}.boolean-options button{cursor:pointer;background:#fff;border:1px solid #e5e1ed;border-radius:13px;flex:1;padding:.7rem;font-weight:900}.boolean-options button.selected{color:#5b21b6;background:#ede9fe;border-color:#8b5cf6}.text-answer{gap:.35rem;display:grid}.text-answer span{color:var(--text-muted);font-size:.7rem;font-weight:800}.text-answer input{box-sizing:border-box;width:100%;font:inherit;background:#fff;border:1px solid #ddd8e9;border-radius:12px;padding:.72rem .8rem}.matching-grid{gap:.5rem;display:grid}.matching-row{background:#fff;border:1px solid #e5e1ed;border-radius:13px;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem;padding:.6rem .7rem;display:grid}.matching-row strong{font-size:.8rem}.matching-row select{font:inherit;background:#fff;border:1px solid #ddd8e9;border-radius:9px;padding:.48rem;font-size:.75rem}.ordering-list{gap:.45rem;display:grid}.ordering-item{background:#fff;border:1px solid #e3dfec;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.6rem .7rem;display:grid}.ordering-item>span{color:#9b92ad;cursor:grab}.ordering-item strong{font-size:.77rem}.ordering-item div{gap:.25rem;display:flex}.ordering-item button{cursor:pointer;background:#f9f8fc;border:1px solid #ded9e9;border-radius:8px;width:29px;height:29px}.ordering-list>small{color:var(--text-muted);font-size:.68rem}.code-gap pre{text-align:left;color:#fff;direction:ltr;background:#171627;border-radius:13px;padding:.85rem;overflow:auto}.code-gap mark{color:#29210a;background:#fbbf24;border-radius:4px;padding:.1rem .35rem}.answer-explanation{background:#fff;border:1px dashed #d9d4e5;border-radius:12px;margin-top:.75rem;padding:.65rem .75rem;font-size:.76rem;line-height:1.8}.quiz-submit{color:#fff;width:100%;font-weight:900;font:inherit;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#2563eb);border:0;border-radius:14px;margin-top:1rem;padding:.85rem}.quiz-result{border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:grid}.quiz-result.passed{background:#ecfdf5;border:1px solid #86efac}.quiz-result.failed{background:#fff7ed;border:1px solid #fdba74}.score-orb{background:#fff;border-radius:50%;align-content:center;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 8px 25px #0000000d}.score-orb strong{font-size:1.2rem}.score-orb span{color:var(--text-muted);font-size:.62rem}.quiz-result h3{margin:0;font-size:.95rem}.quiz-result p{margin:.25rem 0;font-size:.76rem;line-height:1.6}.quiz-result small{color:#536056;font-size:.68rem}.quiz-result>button{cursor:pointer;background:#fff;border:1px solid #ddd8e7;border-radius:11px;padding:.6rem .8rem;font-weight:800}.lesson-runtime{background:#fff;border:1px solid #e8e5f0;border-radius:25px;padding:1rem;box-shadow:0 18px 60px #312e8115}.lesson-runtime.loading{text-align:center;color:var(--text-muted);font-weight:800}.runtime-module-head{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;display:grid}.runtime-module-icon{background:#f1edff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.runtime-module-head small{color:var(--text-muted);font-size:.64rem;display:block}.runtime-module-head strong{font-size:.86rem}.runtime-module-head>b{color:#6d4cc7;font-size:.9rem}.runtime-progress{background:#eeeaf5;border-radius:99px;height:8px;margin-top:.8rem;overflow:hidden}.runtime-progress i{background:linear-gradient(90deg,#7c3aed,#22c55e);border-radius:99px;height:100%;display:block}.runtime-progress-copy{color:var(--text-muted);margin:.4rem 0 1rem;font-size:.66rem}.lesson-mini-list{border-top:1px solid #eeeaf4;gap:.38rem;padding-top:.8rem;display:grid}.lesson-mini-list a,.lesson-mini-list>span{color:inherit;border:1px solid #0000;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.58rem;text-decoration:none;display:grid}.lesson-mini-list a.current,.lesson-mini-list>span.current{background:#f3efff;border-color:#d8cfff}.lesson-mini-list a.done,.lesson-mini-list>span.done{background:#f0fdf4}.lesson-mini-list a.locked,.lesson-mini-list>span.locked{opacity:.55}.lesson-mini-list a>span,.lesson-mini-list>span>span{font-size:.72rem}.lesson-mini-list strong{font-size:.72rem;display:block}.lesson-mini-list small{color:var(--text-muted);font-size:.6rem}.runtime-current-meta{flex-wrap:wrap;gap:.35rem;margin:1rem 0;display:flex}.runtime-current-meta span{background:#f7f5fa;border-radius:8px;padding:.35rem .45rem;font-size:.62rem;font-weight:700}.runtime-callout,.runtime-notice,.lesson-completed-banner{border-radius:14px;margin:.7rem 0;padding:.75rem;font-size:.72rem;line-height:1.7}.runtime-callout{background:#fff7ed;border:1px solid #fed7aa}.runtime-callout.quiz-lock{background:#f5f3ff;border-color:#ddd6fe}.runtime-callout strong{display:block}.runtime-callout p{margin:.2rem 0 .4rem}.runtime-callout a{color:#6d4cc7;font-weight:900}.runtime-notice{background:#eff6ff;border:1px solid #bfdbfe}.runtime-notice.warning{background:#fff7ed;border-color:#fdba74}.complete-lesson-button{color:#fff;width:100%;font:inherit;cursor:pointer;background:linear-gradient(135deg,#16a34a,#14b8a6);border:0;border-radius:13px;padding:.78rem;font-size:.78rem;font-weight:900}.complete-lesson-button:disabled{color:#81798f;cursor:not-allowed;background:#d7d2df}.lesson-completed-banner{background:#ecfdf5;border:1px solid #86efac;align-items:center;gap:.6rem;display:flex}.lesson-completed-banner span{font-size:1.25rem}.lesson-completed-banner strong,.lesson-completed-banner small{display:block}.lesson-completed-banner small{color:#47735a;font-size:.62rem}.lesson-prev-next{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem;display:grid}.lesson-prev-next a{color:#514968;text-align:center;background:#f8f7fb;border-radius:10px;padding:.55rem;font-size:.67rem;text-decoration:none}.lesson-prev-next a.next-ready{color:#5b21b6;background:#ede9fe;font-weight:900}.lesson-prev-next .next-locked{color:#8b8499;text-align:center;cursor:not-allowed;background:#f4f2f7;border-radius:10px;padding:.55rem;font-size:.67rem}.module-confetti{text-align:center;letter-spacing:.25rem;font-size:1.1rem;animation:.8s both confetti-bounce}@keyframes confetti-bounce{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.lesson-resources .resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.resource-grid a{color:inherit;border:1px solid #e6e2ed;border-radius:13px;align-items:center;gap:.65rem;padding:.7rem;text-decoration:none;display:flex}.resource-grid a>span{background:#f0edff;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.resource-grid strong,.resource-grid small{display:block}.resource-grid strong{font-size:.78rem}.resource-grid small{color:var(--text-muted);font-size:.63rem}@media (width<=900px){.lesson-layout{grid-template-columns:1fr}.lesson-runtime-column{order:-1;position:static}.lesson-runtime{grid-template-columns:1fr;display:grid}.lesson-mini-list{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-hero-grid{grid-template-columns:1fr}.lesson-number-card{display:none}}@media (width<=640px){.lesson-hero{padding-top:2rem}.lesson-hero h1{font-size:2.35rem}.lesson-meta-row span{font-size:.68rem}.lesson-mini-list,.choice-grid{grid-template-columns:1fr}.quiz-question header{grid-template-columns:32px 1fr}.quiz-question header>b{grid-column:2}.quiz-result{text-align:center;grid-template-columns:1fr}.score-orb{margin:auto}.flashcard{height:270px}.matching-row{grid-template-columns:1fr}.matching-row>span{display:none}.lesson-resources .resource-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.flashcard-face,.module-confetti{transition:none;animation:none}}.quiz-submit-row{justify-items:start;gap:.55rem;display:grid}.quiz-submit-row>small{color:var(--muted,#64748b);font-weight:700}.quiz-submit:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
