/* Learning surfaces share the site shell, while keeping their own component scope. */
.lesson-shell{padding-top:36px;padding-bottom:48px}.lesson-intro{padding:0 0 46px;border-bottom:1px solid #ffffff20}.lesson-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.lesson-title-row h1{font-size:clamp(2.6rem,5.5vw,4.7rem);line-height:1.08;letter-spacing:-.045em;max-width:950px;margin:12px 0 24px}.lesson-level,.lesson-badge{border:1px solid #a69af84d;background:#a69af810;color:#d5ccff;padding:8px 12px;border-radius:100px;font-size:.875rem;white-space:nowrap}.lesson-answer{max-width:880px;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.7;color:#c5ccde}.lesson-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:25px}.lesson-language{font-size:.875rem;color:#aeb8d0}.lesson-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;margin-top:48px}.lesson-rail{align-self:start;position:sticky;top:122px}.lesson-rail nav{display:grid;gap:3px}.lesson-rail nav a{display:flex;align-items:baseline;gap:14px;font-size:.9rem;color:#b5bfd4;line-height:1.5;padding:12px;border-radius:8px;border-left:2px solid transparent}.lesson-rail nav a>span[aria-hidden="true"]{font-size:.75rem;color:#919bb4}.lesson-rail nav a:hover,.lesson-rail nav a[aria-current]{background:#bba5ff10;border-color:#bba5ff;color:white}.rail-note{margin:32px 12px;color:#8793ad;font-size:.875rem}.lesson-body{min-width:0}.lesson-section{padding:4px 0 45px;margin-bottom:36px;border-bottom:1px solid #ffffff16;scroll-margin-top:118px}.lesson-section h2,.lesson-practice h2{font-size:clamp(1.75rem,3vw,2.4rem);letter-spacing:-.035em;line-height:1.2;margin:10px 0 24px}.lesson-section>p,.lesson-practice>p{font-size:1.0625rem;line-height:1.8;color:#c6cddd;margin:20px 0}.section-index{font-size:.8125rem!important;letter-spacing:.12em;text-transform:uppercase;color:#ad9edf!important;margin-bottom:10px!important}.lesson-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 8px}.lesson-example{border:1px solid #bba5ff26;background:linear-gradient(130deg,#bba5ff10,#88ead005);border-radius:16px;padding:22px}.lesson-example p{margin:0 0 8px;font-size:1rem;color:#bbc6dc;line-height:1.65}.lesson-example p:first-child{font-size:1.375rem;color:#e9e2ff;letter-spacing:-.02em}.lesson-example .example-note{font-size:.9rem;color:#a7b2cb;margin-top:14px}.lesson-table{overflow:auto;margin:26px 0;border:1px solid #ffffff24;border-radius:14px}.lesson-table table{width:100%;border-collapse:collapse;min-width:410px}.lesson-table caption{text-align:left;padding:16px;font-size:.9rem;color:#c3cbe0}.lesson-table td,.lesson-table th{padding:14px 16px;text-align:left;border-top:1px solid #ffffff18}.lesson-table th{background:#bba5ff0d}.lesson-table td:not(:first-child){color:#d1c3ff}.lesson-corrections{display:grid;gap:14px}.lesson-correction{padding:24px;border:1px solid #ffffff1f;border-radius:14px;background:#ffffff03}.lesson-correction h3{font-size:1.1rem;margin:0 0 18px}.lesson-correction p{line-height:1.75;color:#c2cbdf;font-size:1rem;margin:12px 0}.correction-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#dda9b2}.correct-label{color:#87ead0}.lesson-correction [lang=es]{color:#f0eff8;font-size:1.15rem}.lesson-practice{padding:30px;border:1px solid #9f8cdd65;border-radius:24px;background:radial-gradient(ellipse at 90% 0,#664ac72b,transparent 60%),#131725;margin-bottom:60px;scroll-margin-top:115px;box-shadow:0 18px 70px #0003}.practice-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.practice-heading h2{margin-bottom:8px}.practice-heading .eyebrow{margin:0}.lesson-practice>p{font-size:1rem;line-height:1.6}.challenge-topline{display:flex;justify-content:space-between;gap:10px;font-size:.875rem;color:#bcb1e4;margin:24px 0 12px}.challenge-meter{height:4px;border-radius:8px;overflow:hidden;background:#ffffff12}.challenge-meter span{display:block;height:100%;background:#bba5ff;transition:width .35s}.challenge-question{border:0;padding:0;margin:28px 0 0;min-width:0}.challenge-question legend{font-size:1.15rem;font-weight:650;line-height:1.6;padding:0;width:100%}.challenge-sentence{font-size:clamp(1.3rem,2.5vw,1.85rem);color:#ebe5ff;line-height:1.5;margin:20px 0}.challenge-choices{display:grid;gap:10px;margin-top:22px}.challenge-choice{position:relative;display:flex;gap:14px;align-items:center;padding:17px 20px;border:1px solid #ffffff26;border-radius:12px;cursor:pointer;transition:background .15s,border-color .15s}.challenge-choice:has(input:checked){border-color:#baabff;background:#bba5ff15}.challenge-choice:focus-within{outline:2px solid #d9ccff;outline-offset:3px}.challenge-choice input{accent-color:#bba5ff;width:20px;height:20px;flex:none}.challenge-choice span{font-size:1.15rem}.challenge-choice[data-result=correct]{border-color:#87ead0;background:#87ead00d}.challenge-choice[data-result=incorrect]{border-color:#e8a6b6;background:#e8a6b60c}.challenge-feedback{min-height:56px;font-size:1rem;line-height:1.65;color:#d7dcec;padding:18px 0;margin:0}.challenge-feedback:empty{padding:0;min-height:25px}.challenge-feedback strong{display:block;color:#87ead0;margin-bottom:6px}.challenge-feedback[data-correct=false] strong{color:#f0b5c3}.challenge-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.lesson-practice button,.lesson-section button{font:inherit}.lesson-secondary-button{border:1px solid #ffffff35;border-radius:10px;background:#ffffff08;color:#e7eafa;padding:12px 18px;cursor:pointer;min-height:46px}.lesson-secondary-button:hover{background:#ffffff14}.lesson-practice button:disabled,.lesson-section button:disabled{opacity:.5;cursor:default}.challenge-summary{padding:30px 0 4px}.challenge-summary h3{font-size:2rem;margin:0 0 16px;letter-spacing:-.035em}.challenge-summary p{font-size:1rem;line-height:1.7;color:#c8d1e5}.challenge-score{font-size:4rem;font-weight:750;letter-spacing:-.05em;color:#cfbfff}.practice-print{border-top:1px solid #ffffff20;padding-top:20px;margin-top:20px}.practice-print details{padding:12px;background:#ffffff05}.lesson-related{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:30px;margin-bottom:40px}.lesson-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px;border:1px solid #bba5ff40;border-radius:18px;background:linear-gradient(135deg,#a390ff12,#0e1721);transition:transform .2s,border-color .2s}.lesson-card:hover{transform:translateY(-4px);border-color:#bba5ffa0}.lesson-card strong{font-size:1.5rem;line-height:1.2;letter-spacing:-.02em}.lesson-card>span:not(.eyebrow){font-size:.95rem;line-height:1.6;color:#bdc7dd}.lesson-card .lesson-card-action{color:#c7b4ff!important;margin-top:auto;padding-top:10px}.lesson-next-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lesson-next-links a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px;border:1px solid #ffffff25;border-radius:12px;line-height:1.5;color:#d1c1ff}.lesson-next-links a:hover{background:#bba5ff12}.lesson-sources{padding-bottom:30px;color:#a9b5cd;font-size:.875rem;line-height:1.7}.lesson-sources h2{font-size:1.35rem;color:#e7e7f2}.lesson-references>summary{cursor:pointer;padding:10px 0;font-size:1.35rem;font-weight:600;color:#e7e7f2}.lesson-references>summary:focus-visible{outline:2px solid #d6c8ff;outline-offset:3px}.lesson-sources a{text-decoration:underline;text-underline-offset:3px}.lesson-sources ul{padding-left:20px}.lesson-sources li{margin:9px 0}.stress-word{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.stress-word button{font-size:2rem;font-weight:650;min-width:64px;padding:15px;border:1px solid #bba5ff5a;border-radius:12px;color:#e8ddff;background:#bba5ff0a;cursor:pointer}.stress-word button[data-result=correct]{background:#87ead018;border-color:#87ead0;color:#a3f5df}.stress-word button[data-result=incorrect]{background:#e8a6b610;border-color:#e8a6b6}.stress-card,.dialogue-game{padding:24px;border:1px solid #ffffff25;border-radius:18px;background:#ffffff03}.stress-reference{display:grid;grid-template-columns:repeat(2,1fr)}.stress-reference strong{color:#bba5ff;text-decoration:underline}.dialogue-slots{padding-left:24px;line-height:1.7}.dialogue-slots li{margin:10px 0;padding:10px}.dialogue-slots li p{margin:4px 0;color:#abb8cf}.dialogue-bank{display:grid;gap:10px;margin:24px 0}.dialogue-bank button{text-align:left;line-height:1.6}.dialogue-bank button span{display:block}.dialogue-bank small{color:#aab7d2;font-size:.875rem}.lesson-status{line-height:1.6;color:#c5cedf;min-height:48px}.lesson-body :focus-visible,.lesson-rail :focus-visible,.lesson-card:focus-visible{outline:2px solid #e0d3ff;outline-offset:5px}.lesson-body [hidden]{display:none!important}
@media(max-width:1050px){.lesson-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}.lesson-rail{top:102px}.lesson-rail nav a{font-size:.875rem;padding:10px 4px}.lesson-rail nav a>span[aria-hidden="true"]{display:none}.lesson-practice{padding:24px}.lesson-title-row{align-items:flex-start}.lesson-level{margin-top:18px}}
@media(max-width:760px){.lesson-shell{padding-top:22px}.lesson-intro{padding-bottom:28px}.lesson-title-row{display:block}.lesson-title-row h1{margin-bottom:20px}.lesson-level{display:inline-block;margin:0 0 12px}.lesson-layout{display:block;margin-top:28px}.lesson-rail{position:static;margin-bottom:35px}.lesson-rail nav{display:flex;overflow-x:auto;gap:8px;padding:0 2px 12px}.lesson-rail .eyebrow,.rail-note{display:none}.lesson-rail nav a{flex:none;max-width:240px;font-size:.875rem;border:1px solid #ffffff25;border-radius:10px;padding:12px}.lesson-section{scroll-margin-top:105px;padding-bottom:30px;margin-bottom:28px}.lesson-examples{grid-template-columns:1fr}.lesson-practice{padding:22px 18px;border-radius:18px;margin-left:-5px;margin-right:-5px}.lesson-next-links{grid-template-columns:1fr}.lesson-actions{gap:18px}.lesson-answer{font-size:1.125rem}.lesson-related{grid-template-columns:1fr}.challenge-actions .button{min-height:48px}.lesson-table td,.lesson-table th{padding:12px}.lesson-practice h2{font-size:1.8rem}.lesson-language{display:block;width:100%}.stress-word button{font-size:1.6rem;min-width:52px}.lesson-correction{padding:20px}.lesson-example{padding:20px}.lesson-badge{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.lesson-card,.challenge-meter span,.challenge-choice{transition:none}.lesson-card:hover{transform:none}}
.worked-example{padding:26px;margin:24px 0;border-left:3px solid #87ead0;background:#87ead006;border-radius:0 14px 14px 0}.worked-example h3{font-size:1.2rem;margin:0 0 16px}.worked-example p,.worked-example li{font-size:1rem;line-height:1.8;color:#c6d2e3}.worked-example ol{padding-left:24px}.worked-example li{padding-left:6px;margin:10px 0}.worked-answer{color:#d3ffef!important}.production-task{padding:24px;margin:20px 0;border:1px solid #ffffff28;border-radius:16px}.production-task h3{font-size:1.2rem;margin:0 0 16px}.production-task p,.production-task li{line-height:1.8;font-size:1rem;color:#c2cde1}.production-task label{font-size:.9rem;color:#b8c3da;display:block;margin:18px 0 10px}.production-task textarea{display:block;box-sizing:border-box;width:100%;font:inherit;line-height:1.6;color:#eff1ff;background:#080c15;border:1px solid #ffffff30;border-radius:10px;padding:14px;resize:vertical}.production-task details,.worked-example details{margin-top:20px}.production-task summary,.worked-example summary{cursor:pointer;color:#c6b3ff;padding:10px 0;line-height:1.6}.production-task .model-answer{font-size:1.2rem;color:#e4d8ff}.challenge-choice:has(input:checked)[data-result=incorrect]{border-color:#e8a6b6;background:#e8a6b60c}
.concept-sources{margin-top:22px;color:#9baac5;font-size:.875rem}.concept-sources summary{cursor:pointer;padding:10px 0}.concept-sources ul{padding-left:20px;line-height:1.7}.concept-sources li{margin:8px 0}.concept-sources a{text-decoration:underline;text-underline-offset:3px}.lesson-rail{max-height:calc(100dvh - 142px);overflow:auto;scrollbar-width:thin}@media(max-width:760px){.lesson-rail{max-height:none;overflow:visible}}
.lesson-card,.lesson-rail nav a,.lesson-next-links a{text-decoration:none}.lesson-card:hover .lesson-card-action{text-decoration:underline;text-underline-offset:4px}

/* Chapters remain accessible without a sideways scrolling strip. */
.lesson-outline>summary{font-size:1rem;line-height:1.5;cursor:pointer;font-weight:600;padding:14px 5px;color:#d6c8ff}.lesson-outline>summary:focus-visible{outline:2px solid #d6c8ff;outline-offset:3px}.lesson-outline nav{padding-top:4px}.lesson-outline a[aria-current=location]{background:#bba5ff10;color:#d9ccff}.lesson-layout{align-items:start}
@media(max-width:760px){.lesson-rail{position:sticky;top:76px;z-index:20;max-height:none;margin:0 0 25px;background:#101520;border:1px solid #454157;border-radius:12px;box-shadow:0 10px 25px #0004;overflow:visible}.lesson-outline>summary{padding:15px 18px;min-height:52px}.lesson-rail nav{display:grid;overflow:auto;max-height:55dvh;gap:0;padding:0 10px 12px;scrollbar-width:thin}.lesson-rail nav a{display:flex;width:100%;max-width:none;border:0;border-radius:6px;font-size:.9375rem;padding:13px 10px;line-height:1.45;min-height:46px}.lesson-rail nav a>span[aria-hidden="true"]{display:block;min-width:22px;font-size:.8125rem}.lesson-body .lesson-section,.lesson-body .lesson-practice{scroll-margin-top:150px}.lesson-title-row h1{font-size:2.5rem}.lesson-section:focus{outline:none}.lesson-body>.lesson-section:focus-visible{outline:2px solid #d6c8ff;outline-offset:5px}}

@media(max-width:760px){.lesson-outline[open]>nav{position:absolute;left:-1px;right:-1px;top:calc(100% - 1px);background:#101520;border:1px solid #454157;border-top:0;border-radius:0 0 12px 12px;box-shadow:0 20px 25px #0005}.lesson-rail:has(.lesson-outline[open]){border-radius:12px 12px 0 0}}

/* Preserve the natural direction and shaping of every learning script. */
.lesson-body [translate=no]{unicode-bidi:isolate;overflow-wrap:anywhere}.lesson-body :is([lang^=ar],[lang=hi]){line-height:1.9;letter-spacing:normal}.lesson-body :is([lang=ja],[lang=ko],[lang^=zh]){letter-spacing:normal;line-height:1.8}.lesson-example .example-reading{color:#a8b9d4;font-size:.9375rem;letter-spacing:.015em}.lesson-correction [translate=no]{color:#f0eff8;font-size:1.15rem}.challenge-choice span{min-width:0;overflow-wrap:anywhere}

/* Example words inside an explanatory sentence are bold, and italic in scripts that have italics
   (Latin and Cyrillic). Standalone examples (example cards, corrections, model answers, dialogues,
   tables, choices) keep their own layout and stay roman. */
:is(.lesson-answer,.lesson-section>p,.example-note,.lesson-example>p:not(:first-child):not(.example-reading),.worked-example>p,.worked-example li,.worked-example details p,.production-task>p,.production-task li,.production-task details>p:not(.model-answer),.lesson-correction>p:not(:has(.correction-label)),.practice-print>h3+p,.practice-print details p,.challenge-question legend,.challenge-feedback,.lesson-status) [translate=no][lang]{font-weight:650;font-size:inherit;color:inherit}
:is(.lesson-answer,.lesson-section>p,.example-note,.lesson-example>p:not(:first-child):not(.example-reading),.worked-example>p,.worked-example li,.worked-example details p,.production-task>p,.production-task li,.production-task details>p:not(.model-answer),.lesson-correction>p:not(:has(.correction-label)),.practice-print>h3+p,.practice-print details p,.challenge-question legend,.challenge-feedback,.lesson-status) [translate=no]:is([lang]:not([lang|=ja],[lang|=ko],[lang|=zh],[lang|=ar],[lang|=hi]),[lang$=-Latn]){font-style:italic}
/* Example words in headings and the chapter list: italic in scripts that have italics; the heading keeps its own weight and size. */
:is(.lesson-section>h2,.worked-example>h3,.lesson-correction>h3,.lesson-outline a) [translate=no][lang]{font-size:inherit;color:inherit}
:is(.lesson-section>h2,.worked-example>h3,.lesson-correction>h3,.lesson-outline a) [translate=no]:is([lang]:not([lang|=ja],[lang|=ko],[lang|=zh],[lang|=ar],[lang|=hi]),[lang$=-Latn]){font-style:italic}
