/* 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{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-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{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{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}}
