@layer components{.prose-lesson>:where([data-block]),.prose-lesson>:where([data-block])+*{margin-top:2em}.prose-lesson>figure.lesson-media{counter-increment:none}.prose-lesson>figure.lesson-media>figcaption:before{content:none}}.reader-video{background-color:#0d111499;border:1px solid #ffffff14;padding:.5rem}.reader-video__screen{aspect-ratio:16/9;background-color:#000;max-height:80vh;position:relative;overflow:hidden}.reader-video__screen video{background-color:#000;width:100%;height:100%;position:absolute;inset:0}.reader-video__play{z-index:0;cursor:pointer;background-image:linear-gradient(#0000000a,#0000001f 55%,#000000b8);justify-content:center;align-items:center;padding:1rem;display:none;position:absolute;inset:0}html[data-js] .reader-video__play{display:flex}.reader-video__play:before{z-index:-1;content:"";transition:opacity var(--lab-wipe) var(--lab-ease);background-color:#000;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-position:50%;background-size:24px 24px;position:absolute;inset:0}.reader-video__play[data-frame]:before{opacity:0}.reader-video__icon{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:3.75rem;height:3.75rem;transition:background-color var(--lab-wipe) var(--lab-ease), color var(--lab-wipe) var(--lab-ease), border-color var(--lab-wipe) var(--lab-ease);background-color:#00000073;border:1px solid #ffffff80;border-radius:2px;flex-shrink:0;place-items:center;display:grid}.reader-video__icon svg{width:1.25rem;height:1.25rem;margin-left:2px}.reader-video__meta{color:#fff;text-align:left;text-shadow:0 1px 3px #0009;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.875rem 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.reader-video__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;max-width:36rem;font-size:.875rem;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.reader-video__duration{color:#fffc;font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:auto;font-size:.75rem;line-height:1.5}@media (max-width:30rem){.reader-video__title{display:none}.reader-video__icon{width:3rem;height:3rem}.reader-video__meta{padding:.625rem .75rem}}@media (hover:hover){.reader-video__play:hover .reader-video__icon{color:#000;background-color:#fff;border-color:#fff}}.reader-video__play:focus-visible{outline-offset:-2px;outline:2px solid #fff}.reader-video__screen:fullscreen{max-height:none}.reader-video__fullscreen{z-index:2;color:#fff;cursor:pointer;opacity:.85;width:2.25rem;height:2.25rem;transition:opacity var(--lab-wipe) var(--lab-ease), background-color var(--lab-wipe) var(--lab-ease), color var(--lab-wipe) var(--lab-ease);background-color:#00000080;border:1px solid #fff6;border-radius:2px;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.reader-video__fullscreen svg{width:1rem;height:1rem}@media (hover:hover){.reader-video__fullscreen{opacity:0}.reader-video__screen:hover .reader-video__fullscreen,.reader-video__fullscreen:focus-visible{opacity:1}.reader-video__fullscreen:hover{color:#000;background-color:#fff}}.reader-video__fullscreen:focus-visible{outline-offset:2px;outline:2px solid #fff}.reader-video__unavailable{color:var(--color-subtle);text-align:center;place-items:center;padding:1rem;font-size:.875rem;display:grid;position:absolute;inset:0}.media-watermark{z-index:1;color:#ffffff4d;max-width:60%;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;text-shadow:0 0 2px #0009;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(.625rem,1.6vw,.75rem);line-height:1.4;position:absolute;overflow:hidden}.reader-video__screen:fullscreen .media-watermark{font-size:clamp(.875rem,1.2vw,1.125rem)}.lesson-audio{background-color:#0d111499;border:1px solid #ffffff14;padding:.875em 1em 1em}.lesson-audio__head{align-items:center;gap:.75em;margin-bottom:.75em;font-size:.875em;line-height:1.5;display:flex}.lesson-audio__icon{border:1px solid var(--lab-line-strong);width:2.25em;height:2.25em;color:var(--color-foreground);border-radius:2px;flex-shrink:0;place-items:center;display:grid}.lesson-audio__icon svg{width:1.1em;height:1.1em}.lesson-audio__title{min-width:0;color:var(--color-foreground);overflow-wrap:anywhere;flex:1;font-weight:500}.lesson-audio__duration{color:var(--color-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.857em}.lesson-audio audio{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;width:100%;height:2.75rem;display:block}.lesson-audio__unavailable{color:var(--color-subtle);font-size:.8125em;line-height:1.6}.lesson-file__card{color:var(--color-foreground);background-color:#0d111499;border:1px solid #ffffff14;align-items:center;gap:1em;padding:1em 1.125em;text-decoration:none;display:flex}.lesson-file__card:focus-visible{outline-offset:2px;outline:2px solid #fff}.lesson-file__icon{border:1px solid var(--lab-line-strong);border-radius:2px;flex-shrink:0;place-items:center;width:2.75em;height:2.75em;display:grid}.lesson-file__icon svg{width:1.25em;height:1.25em}.lesson-file__text{flex-direction:column;flex:1;gap:.2em;min-width:0;display:flex}.lesson-file__name{overflow-wrap:anywhere;font-size:.9375em;font-weight:500;line-height:1.5}.lesson-file__meta{color:var(--color-subtle);font-family:var(--font-mono);font-size:.75em;line-height:1.5}.lesson-file__description{color:var(--color-muted);font-size:.8125em;line-height:1.6}.lesson-file__action{color:var(--color-subtle);transition:color var(--lab-wipe) var(--lab-ease);flex-shrink:0;align-items:center;gap:.4em;font-size:.8125em;display:inline-flex}.lesson-file__action svg{width:1.15em;height:1.15em}@media (hover:hover){.lesson-file__card:hover .lesson-file__action{color:var(--color-foreground)}}@media (max-width:30rem){.lesson-file__action span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.lesson-prompt{border:1px solid var(--lab-line);background-color:var(--color-elevated);border-radius:2px;overflow:hidden}.lesson-prompt__head{border-bottom:1px solid var(--lab-line);min-height:2.5rem;color:var(--color-subtle);background-color:#ffffff06;justify-content:space-between;align-items:center;gap:.75rem;padding:0 .375rem 0 1rem;font-size:.75rem;line-height:1.5;display:flex}.lesson-prompt__label{letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5em;min-width:0;display:inline-flex;overflow:hidden}.lesson-prompt__label svg{flex-shrink:0;width:.875rem;height:.875rem}.lesson-prompt__body{color:var(--color-foreground);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;padding:1em 1.125em;font-family:inherit;font-size:.9375em;line-height:1.8}.lesson-prompt__note{border-top:1px solid var(--lab-line);color:var(--color-subtle);margin:0;padding:.75em 1.125em;font-size:.8125em;line-height:1.6}@media (pointer:coarse){.lesson-prompt__head{min-height:2.75rem}}.lesson-gallery__grid,.lesson-carousel__track{margin:0;padding:0;list-style:none}.lesson-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (min-width:48rem){.lesson-gallery__grid--thirds{grid-template-columns:repeat(3,minmax(0,1fr))}}.lesson-gallery__cell,.lesson-carousel__slide{margin:0;padding:0}.lesson-gallery__cell:before,.lesson-carousel__slide:before{content:none}.lesson-gallery__cell .zoomable{width:100%}.lesson-gallery__thumb{aspect-ratio:4/3;object-fit:cover;width:100%}.lesson-gallery__caption{color:var(--color-subtle);margin-top:.5em;font-size:.8125em;line-height:1.55;display:block}.lesson-carousel__track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;gap:.75rem;display:flex;overflow-x:auto}.lesson-carousel__track::-webkit-scrollbar{display:none}.lesson-carousel__slide{scroll-snap-align:start;flex:0 0 100%;min-width:0}@media (max-width:47.99rem){.lesson-carousel__slide{flex-basis:88%}}.lesson-carousel__frame{aspect-ratio:16/10;border:1px solid var(--lab-line);background-color:#000;border-radius:2px;overflow:hidden}.lesson-carousel__frame .zoomable{width:100%;height:100%}.lesson-carousel__image{object-fit:contain;width:100%;height:100%}.lesson-carousel__frame .zoomable img{background-color:#0000;border:0;border-radius:0}.lesson-carousel__controls{justify-content:flex-end;align-items:center;gap:.25rem;margin-top:.625rem;display:flex}.lesson-carousel__count{color:var(--color-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-right:auto;font-size:.75rem}.lesson-carousel__button{border:1px solid var(--lab-line);width:2.25rem;height:2.25rem;color:var(--color-foreground);transition:background-color var(--lab-wipe) var(--lab-ease), border-color var(--lab-wipe) var(--lab-ease);border-radius:2px;place-items:center;display:grid}.lesson-carousel__button svg{width:1rem;height:1rem}.lesson-carousel__button:hover:not(:disabled){border-color:var(--lab-line-strong);background-color:#ffffff0f}.lesson-carousel__button:disabled{opacity:.35;cursor:default}.lesson-carousel__button:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (pointer:coarse){.lesson-carousel__button{width:2.75rem;height:2.75rem}}.lesson-compare{--compare-position:50%;border:1px solid var(--lab-line);background-color:var(--color-elevated);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:2px;position:relative;overflow:hidden}.lesson-compare__image{object-fit:cover;pointer-events:none;width:100%;max-width:none;height:100%;display:block;position:absolute;inset:0}.lesson-compare__before{clip-path:inset(0 calc(100% - var(--compare-position)) 0 0)}.lesson-compare__divider{top:0;bottom:0;left:var(--compare-position);pointer-events:none;background-color:#fff;width:1px;margin-left:-.5px;position:absolute}.lesson-compare__handle{color:#fff;background-color:#000000b8;border:1px solid #fff;border-radius:2px;place-items:center;width:2.75rem;height:2.75rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lesson-compare__handle svg{width:1.125rem;height:1.125rem}.lesson-compare__label{color:#fff;letter-spacing:.04em;pointer-events:none;background-color:#000000b8;border-radius:2px;padding:.25rem .5rem;font-size:.75rem;line-height:1.4;position:absolute;top:.75rem}.lesson-compare__label--before{left:.75rem}.lesson-compare__label--after{right:.75rem}.lesson-compare__range{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.lesson-compare:has(.lesson-compare__range:focus-visible){outline-offset:3px;outline:2px solid #fff}
