.lesson-shell{display:flex;flex-direction:column;min-height:calc(100vh - 2rem);min-height:0;position:relative;padding-block:1.5rem 2rem}.lesson-shell__hero{position:relative;min-height:20rem;max-height:26rem;overflow:hidden;border-radius:1.75rem;isolation:isolate}.lesson-shell__hero-image{width:100%;height:100%;object-fit:cover}.lesson-shell__hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,17,12,0),rgba(21,17,12,.18) 45%,rgba(21,17,12,.62));pointer-events:none}.lesson-shell--has-hero:before{background:var(--lesson-hero-url) center /cover no-repeat;opacity:.14;filter:blur(48px) saturate(1.1);z-index:-1}.lesson-shell--has-hero:before,.lesson-shell:after{content:"";position:fixed;inset:0;pointer-events:none}.lesson-shell:after{background:radial-gradient(circle at top left,rgba(228,154,114,.18),transparent 28rem),radial-gradient(circle at top right,rgba(235,202,139,.16),transparent 24rem),linear-gradient(180deg,rgba(255,249,244,.7),rgba(255,250,246,.92));z-index:-2}.lesson-shell__frame{overflow:hidden;border-radius:2rem;border:1px solid rgba(172,123,82,.14);background:linear-gradient(180deg,rgba(255,249,244,.94),rgba(255,252,249,.98));box-shadow:0 24px 60px rgba(92,66,42,.12),0 2px 8px rgba(92,66,42,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.lesson-shell__topbar{position:relative;display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:rgba(255,250,246,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lesson-shell__exit{flex-shrink:0;block-size:3rem;inline-size:3rem;padding:0;border-radius:999px;border:none;background:transparent;color:rgba(68,42,22,.78);display:grid;place-items:center;cursor:pointer;transition:background-color .14s ease}.lesson-shell__exit>i{font-size:1.5rem!important}.lesson-shell__exit:hover{background:rgba(126,79,43,.08)}.lesson-shell__exit:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lesson-shell__topbar-eyebrow{flex:1 1 auto;min-width:0;font-size:.875rem;font-weight:500;color:rgba(68,42,22,.82);letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-shell__topbar-complete{margin-left:auto;display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem .25rem .5rem;border-radius:999px;background:var(--tertiary-container);color:var(--on-tertiary-container);font-size:.8125rem;font-weight:600}.lesson-shell__topbar-complete i{font-size:1rem!important}.lesson-shell__topbar-progress{position:absolute;inset:auto 0 0 0;height:3px;background:rgba(126,79,43,.08);overflow:hidden}.lesson-shell__topbar-progress-fill{height:100%;background:var(--primary);transition:width .28s var(--motion-easing-emphasized-decelerate,cubic-bezier(.05,.7,.1,1))}.lesson-shell__body{flex:1 1;overflow-y:auto;padding:1.5rem 1.25rem 2rem}.lesson-shell__footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 0;border-top:1px solid rgba(161,113,74,.14);margin-top:2rem}.lesson-shell__hero-content{position:absolute;inset:auto 0 0 0;z-index:1;display:flex;flex-direction:column;gap:.4rem;padding:1.5rem 1.4rem 1.35rem}.lesson-shell__hero-overline{font-size:.75rem;font-weight:600;letter-spacing:.04em;color:rgba(255,247,241,.82)}.lesson-shell__hero-title{margin:0;max-width:30rem;color:#fffaf5;font-size:clamp(1.75rem,3vw,2.7rem);line-height:.95;letter-spacing:-.03em;text-wrap:balance}.lesson-shell__hero-subtitle{margin:0;max-width:34rem;color:rgba(255,246,239,.9);font-size:.98rem;line-height:1.5}.lesson-shell__hero--fallback{background:radial-gradient(circle at top left,rgba(234,186,131,.6),transparent 18rem),linear-gradient(135deg,#7b4927,#bf7c47 48%,#f1c17b)}.lesson-shell__hero--pending{min-height:20rem}.lesson-shell__completion{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.6rem;padding:2.75rem 1.5rem 2.25rem;max-width:32rem;margin-inline:auto}.lesson-shell__completion-badge{display:grid;place-items:center;width:5rem;height:5rem;border-radius:999px;background:radial-gradient(circle at 30% 25%,rgba(234,186,131,.65),transparent 60%),linear-gradient(135deg,#7b4927,#bf7c47 52%,#f1c17b);box-shadow:0 14px 30px rgba(150,92,43,.32),inset 0 1px 1px rgba(255,255,255,.35);margin-bottom:.35rem;animation:lesson-completion-pop .54s cubic-bezier(.2,.7,.2,1.45) both}.lesson-shell__completion-icon{font-size:2.5rem!important;color:#fff7f0;line-height:1}.lesson-shell__completion-heading{margin:0;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--on-surface)}.lesson-shell__completion-subhead{margin:0;max-width:26rem;font-size:.95rem;line-height:1.5;color:var(--on-surface-variant)}.lesson-shell__completion-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;width:100%;margin-top:1rem}.lesson-shell__stat{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:1.15rem .85rem;border-radius:1.1rem;border:1px solid rgba(172,123,82,.16);background:linear-gradient(180deg,rgba(255,252,248,.9),rgba(255,247,240,.95))}.lesson-shell__stat-value{display:inline-flex;align-items:baseline;font-size:1.95rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--primary)}.lesson-shell__stat-unit{margin-left:.06rem;font-size:1.05rem;font-weight:600;color:var(--on-surface-variant)}.lesson-shell__stat-label{margin-top:.4rem;font-size:.8rem;font-weight:600;letter-spacing:.01em;color:var(--on-surface)}.lesson-shell__stat-sub{font-size:.72rem;color:var(--on-surface-variant)}.lesson-shell__completion-practice{width:100%;margin-top:.75rem}.lesson-shell__completion-nudge{width:100%;margin-top:1rem}.lesson-shell__completion-back{margin-top:1.25rem;display:inline-flex;align-items:center;gap:.45rem;block-size:auto;min-block-size:3rem;padding:.7rem 1.6rem;border:none;border-radius:999px;background:linear-gradient(180deg,#de8a43,#c56e23);color:#fff7f0;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 8px 18px rgba(194,106,42,.26);transition:transform .12s ease,box-shadow .12s ease}.lesson-shell__completion-back:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(194,106,42,.32)}.lesson-shell__completion-back:active{transform:translateY(0) scale(.98)}.lesson-shell__completion-back:focus-visible{outline:2px solid rgba(222,138,67,.55);outline-offset:2px}.lesson-shell__completion-back i{font-size:1.2rem!important}@keyframes lesson-completion-pop{0%{transform:scale(.4);opacity:0}60%{opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.lesson-shell__completion-badge{animation:none}}.lesson-conjugation__translation{font-size:.875rem;font-weight:400;color:var(--on-surface-variant)}.lesson-conjugation__table{width:100%;border-collapse:collapse;font-size:.9375rem}.lesson-conjugation__table thead th{text-align:left;padding:.35rem .75rem;font-size:.75rem;font-weight:600;color:var(--on-surface-variant);letter-spacing:.02em;border-bottom:1px solid var(--outline-variant)}.lesson-conjugation__table tbody td{padding:.55rem .75rem;border-bottom:1px solid var(--outline-variant)}.lesson-conjugation__table tbody tr:last-child td{border-bottom:none}.lesson-conjugation__pronoun{color:var(--on-surface-variant)}.lesson-conjugation__form{font-weight:600;color:var(--on-surface)}.lesson-example__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.lesson-example__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1rem;gap:1rem;padding:.6rem .25rem;border-bottom:1px solid var(--outline-variant);align-items:baseline}.lesson-example__row:last-child{border-bottom:none}.lesson-example__german{font-weight:500;color:var(--on-surface);font-size:.9375rem}.lesson-example__english{color:var(--on-surface-variant);font-size:.875rem}.lesson-example__highlight{font-weight:600;color:var(--primary)}.lesson-renderer{display:grid;grid-gap:2.25rem;gap:2.25rem}.lesson-renderer>div{min-width:0}.lesson-unsupported-block{display:grid;grid-template-columns:auto 1fr;grid-gap:1rem;gap:1rem;padding:1rem;border:1px dashed var(--outline);border-radius:12px;background:var(--surface-container);color:var(--on-surface)}.lesson-unsupported-block__icon{width:2.25rem;height:2.25rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--secondary-container);color:var(--on-secondary-container)}.lesson-unsupported-block__icon i{font-size:1.25rem}.lesson-unsupported-block__body{min-width:0}.lesson-unsupported-block__eyebrow{margin:0 0 .2rem;color:var(--on-surface-variant);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lesson-unsupported-block__title{margin:0;font-size:1rem;line-height:1.3}.lesson-unsupported-block__copy{margin:.35rem 0 0;color:var(--on-surface-variant);font-size:.9rem}.lesson-unsupported-block__copy code{font-size:.85em;color:var(--on-surface)}.lesson-exercise__hint{margin:0;display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--on-surface-variant)}.lesson-exercise__hint i{font-size:1rem}.lesson-exercise__feedback{padding:.75rem .9rem;border-radius:10px;display:flex;flex-direction:column;gap:.25rem}.lesson-exercise__feedback--correct{background:var(--tertiary-container);color:var(--on-tertiary-container)}.lesson-exercise__feedback--incorrect{background:var(--error-container);color:var(--on-error-container)}.lesson-exercise__feedback-header{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.875rem}.lesson-exercise__feedback-header i{font-size:1.1rem}.lesson-exercise__feedback-body{margin:0;font-size:.8125rem;line-height:1.45}.lesson-mc__options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.lesson-mc__option{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;text-align:left;padding:.7rem .9rem;border-radius:10px;border:1px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.lesson-mc__option:hover:not(:disabled){background:var(--surface-container)}.lesson-mc__option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lesson-mc__option:disabled{cursor:default}.lesson-mc__option--selected{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.lesson-mc__option--correct{border-color:transparent;background:var(--tertiary-container);color:var(--on-tertiary-container)}.lesson-mc__option--incorrect{border-color:transparent;background:var(--error-container);color:var(--on-error-container)}.lesson-mc__option--muted{opacity:.6}.lesson-mc__option-label{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--surface-container-high);color:var(--on-surface-variant);font-size:.75rem;font-weight:700;flex-shrink:0}.lesson-mc__option--correct .lesson-mc__option-label,.lesson-mc__option--incorrect .lesson-mc__option-label,.lesson-mc__option--selected .lesson-mc__option-label{background:rgba(0,0,0,.12);color:inherit}.lesson-mc__option-text{flex:1 1;min-width:0}.lesson-fill-blank__field,.lesson-fill-blank__field input,.lesson-matching__field,.lesson-matching__field select{min-width:0}.lesson-fill-blank__field.field.suffix>input{-webkit-padding-end:3.25rem;padding-inline-end:3.25rem}.lesson-fill-blank__field.field.suffix>input:focus{-webkit-padding-end:3.1875rem;padding-inline-end:3.1875rem}.lesson-fill-blank__submit{position:absolute;inset:calc(var(--_middle, 1.5rem) - 1rem) .45rem auto auto!important;display:inline-grid;place-items:center;inline-size:2rem!important;block-size:2rem!important;padding:0!important;border:none;border-radius:999px!important;background:linear-gradient(180deg,#de8a43,#c56e23);color:#fff7f0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .16s ease;pointer-events:all}.lesson-fill-blank__submit i{font-size:1.15rem;line-height:1}.lesson-fill-blank__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px rgba(194,106,42,.28)}.lesson-fill-blank__submit:focus-visible{outline:2px solid rgba(222,138,67,.5);outline-offset:2px}.lesson-fill-blank__submit:active:not(:disabled){transform:translateY(0) scale(.96)}.lesson-fill-blank__submit:disabled{cursor:default;opacity:.4;background:var(--surface-container-highest);color:var(--on-surface-variant);box-shadow:none}.lesson-matching__board{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem;align-items:start}.lesson-matching__col{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;min-width:0}.lesson-matching__col-item{min-width:0}.lesson-matching__tile{block-size:auto;inline-size:100%;min-block-size:3rem;padding:.7rem .95rem;border-radius:12px;border:1.5px solid var(--outline-variant);background:var(--surface);color:var(--on-surface);font-size:.9375rem;font-weight:500;line-height:1.25;text-align:center;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,transform .12s ease,opacity .22s ease;word-break:break-word}.lesson-matching__tile:hover:not(:disabled):not(.lesson-matching__tile--matched){background:var(--surface-container)}.lesson-matching__tile:active:not(:disabled){transform:scale(.98)}.lesson-matching__tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lesson-matching__tile:disabled{cursor:default}.lesson-matching__tile--selected{border-color:var(--primary);background:var(--primary-container);color:var(--on-primary-container)}.lesson-matching__tile--matched{border-color:transparent;background:var(--tertiary-container);color:var(--on-tertiary-container);opacity:.55}.lesson-matching__tile--wrong{border-color:transparent;background:var(--error-container);color:var(--on-error-container);animation:lesson-matching-shake .35s ease}@keyframes lesson-matching-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}@media (max-width:480px){.lesson-matching__board{gap:.45rem}.lesson-matching__col{gap:.4rem}.lesson-matching__tile{min-height:2.75rem;padding:.6rem .75rem;font-size:.875rem}}@media (max-width:640px){.lesson-example__row{grid-template-columns:1fr;gap:.2rem}}.lesson-section{display:flex;flex-direction:column;gap:1rem}.lesson-section__heading{display:flex;flex-direction:column;gap:.1rem;padding-inline:.25rem}.lesson-section__eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--on-surface-variant);line-height:1.2;text-transform:none}.lesson-section__title{margin:0;font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--on-surface);letter-spacing:-.005em}.lesson-section__caption{margin:0;font-size:.8125rem;color:var(--on-surface-variant);line-height:1.4}.lesson-section>*,.lesson-section__heading>*{-webkit-margin-before:0!important;margin-block-start:0!important}body.dark .lesson-shell__hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.55) 48%,rgba(0,0,0,.9)),linear-gradient(180deg,transparent 30%,rgba(31,26,22,.96))}body.dark .lesson-shell--has-hero:before{opacity:.08;filter:blur(48px) saturate(1.2) brightness(.6)}body.dark .lesson-shell:after{background:radial-gradient(circle at top left,rgba(228,154,114,.08),transparent 28rem),radial-gradient(circle at top right,rgba(235,202,139,.07),transparent 24rem),linear-gradient(180deg,rgba(20,17,14,.92),rgba(24,20,17,.96))}body.dark .lesson-shell__frame{border-color:rgba(200,160,120,.12);background:linear-gradient(180deg,rgba(42,35,29,.94),rgba(36,30,25,.98));box-shadow:0 24px 60px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.35)}body.dark .lesson-shell__topbar{background:rgba(31,26,22,.72)}body.dark .lesson-shell__topbar-eyebrow{color:rgba(245,230,212,.88)}body.dark .lesson-shell__exit{color:rgba(232,212,188,.82)}body.dark .lesson-shell__exit:hover{background:rgba(235,196,158,.1)}body.dark .lesson-shell__topbar-progress{background:rgba(235,196,158,.14)}body.dark .lesson-shell__hero-overline{color:rgba(255,246,235,.85)}body.dark .lesson-shell__hero--fallback{background:radial-gradient(circle at top left,rgba(200,140,90,.4),transparent 18rem),linear-gradient(135deg,#3a2416,#6b4025 48%,#a86c3b)}body.dark .lesson-shell__footer{border-top-color:rgba(200,160,120,.1)}body.dark .lesson-shell__stat{border-color:rgba(200,160,120,.14);background:linear-gradient(180deg,rgba(48,40,33,.9),rgba(40,33,27,.95))}@media (max-width:640px){.lesson-shell__hero,.lesson-shell__hero-image{min-height:13rem;max-height:14rem}.lesson-shell__frame{border-radius:1.5rem}.lesson-shell__topbar{padding:.55rem .75rem}.lesson-shell__body{padding-inline:1rem}.lesson-shell__hero-content{padding:1rem}.lesson-shell__hero-title{font-size:1.7rem}.lesson-shell__hero-subtitle{font-size:.9rem}.explanation-block__image{display:none}.lesson-renderer{gap:1.75rem}}.lexeme-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.32);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal,1100);animation:lexeme-drawer-fade .14s ease-out}@keyframes lexeme-drawer-fade{0%{opacity:0}to{opacity:1}}.lexeme-drawer{position:relative;width:min(420px,96vw);margin-bottom:2vh;padding:1.1rem 1.2rem 1.3rem;border-radius:var(--r-lg,18px);background:var(--surface-container-highest);color:var(--on-surface);box-shadow:0 8px 32px rgba(0,0,0,.18);animation:lexeme-drawer-rise .18s var(--motion-easing-emphasized-decelerate,cubic-bezier(.05,.7,.1,1))}.lexeme-drawer__close.lexeme-drawer__close{position:absolute;top:.5rem;inset-inline-end:.5rem;z-index:1;color:color-mix(in srgb,var(--on-surface) 55%,transparent)}.lexeme-drawer__media{margin:0 0 .9rem;border-radius:var(--r-md,12px);overflow:hidden;background:color-mix(in srgb,var(--surface-container) 70%,transparent);aspect-ratio:16/9}.lexeme-drawer__media img{display:block;width:100%;height:100%;object-fit:cover}@keyframes lexeme-drawer-rise{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.lexeme-drawer__heading{margin-bottom:.4rem;-webkit-padding-end:2rem;padding-inline-end:2rem}.lexeme-drawer__lemma-line{display:flex;align-items:center;gap:.25rem}.lexeme-drawer__lemma{font-size:1.4rem;font-weight:700;margin:0}.lexeme-drawer__pronounce.lexeme-drawer__pronounce{color:var(--primary)}.lexeme-drawer__pronounce.lexeme-drawer__pronounce:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.lexeme-drawer__pos{display:block;font-size:.85rem;font-style:italic;opacity:.65;margin-top:.1rem}.lexeme-drawer__translation{font-size:1rem;margin:.4rem 0}.lexeme-drawer__pronunciations{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .875rem;margin:.5rem 0 0}.lexeme-drawer__pron{display:inline-flex;align-items:baseline;gap:.375rem;margin:0}.lexeme-drawer__pron dt{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.lexeme-drawer__pron dd{margin:0}.lexeme-drawer__pron--respelling dd{font-size:1.05rem;font-weight:600;color:var(--primary)}.lexeme-drawer__pron--ipa dd{font-family:var(--font-mono,ui-monospace,"SF Mono","Fira Code",monospace);font-size:.9rem;opacity:.6}.lexeme-drawer__examples{display:flex;flex-direction:column;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none}.lexeme-drawer__example{margin:0;padding:.55rem .75rem;border-radius:var(--r-sm,8px);background:var(--surface-container);font-size:.92rem}.lexeme-drawer__actions{display:flex;gap:.5rem;margin-top:.9rem}.lexeme-drawer__actions>*{flex-shrink:0}.lexeme-drawer__upgrade{flex:1 1;font-size:.85rem;opacity:.85;text-align:right}