.lv{position:relative;padding-bottom:var(--s-16)}.lv-band{position:relative;background:var(--lv-hero) center 58% / max(1440px,100%) auto no-repeat,var(--c-page);isolation:isolate}.lv-band:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(42,47,91,.5) 0%,rgba(42,47,91,.1) 38%,rgba(42,47,91,.35) 70%,var(--c-page) 100%)}.lv-band__inner{max-width:calc(var(--max) + 2 * var(--gutter));margin-inline:auto;padding:var(--s-5) var(--gutter) var(--s-6)}.lv-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);font-size:var(--t-small);color:var(--c-soft)}.lv-crumbs li+li:before{content:"›";margin-right:var(--s-2);color:var(--c-muted)}.lv-crumbs a:hover{color:var(--c-gold)}.lv-crumbs [aria-current]{color:var(--c-muted)}@media(max-width:479px){.lv-crumbs [aria-current]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}.lv-path{list-style:none;display:flex;align-items:center;margin:var(--s-6) 0 var(--s-5);min-height:44px}.lv-path__item{flex:1;display:flex;align-items:center;position:relative}.lv-path__item:last-child{flex:none}.lv-path__item:not(:last-child):after{content:"";flex:1;height:2px;margin:0 6px;background:repeating-linear-gradient(90deg,rgba(238,240,255,.45) 0 6px,transparent 6px 12px)}.lv-path__item:has(.is-done):not(:last-child):after{background:var(--c-gold);box-shadow:0 0 8px #ffd16699}.lv-path__node{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--r-chip)}.lv-path__lamp{width:22px;height:28px;border-radius:9px;border:2px solid rgba(238,240,255,.55);background:#1f234799;transition:background var(--d-slow) var(--ease-out),box-shadow var(--d-slow) var(--ease-out),border-color var(--d-slow)}.lv-path__node:hover .lv-path__lamp{border-color:var(--c-moon)}.lv-path__node.is-now .lv-path__lamp{border-color:var(--c-gold);background:#ffd1662e;box-shadow:var(--ring-now)}.lv-path__node.is-done .lv-path__lamp{border-color:var(--c-gold);background:var(--c-gold);box-shadow:var(--glow-lit)}.lv-path__node.is-lighting .lv-path__lamp{animation:lv-light var(--d-reward) var(--ease-out)}.is-boss .lv-path__lamp{width:20px;height:34px;border-radius:10px 10px 4px 4px;clip-path:polygon(22% 0,78% 0,100% 100%,0 100%)}.lv-path__stars{position:absolute;top:100%;left:50%;transform:translate(-50%);font-size:11px;line-height:1;letter-spacing:1px;color:var(--c-gold);white-space:nowrap;margin-top:-2px}.lv-path__lh{margin-left:var(--s-3);font-size:var(--t-ui);color:var(--c-soft);white-space:nowrap}@media(max-width:359px){.lv .lv-request .lv-mote{width:64px}.lv .lv-request .lv-mote [data-mote]{--mote-size: 64px !important}.lv .lv-bubble{font-size:var(--t-ui)}}@media(max-width:599px){.lv-path__lh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.lv-path__item:not(:last-child):after{margin:0 2px}.lv .lv-mote{width:84px;margin-top:-2px}.lv .lv-mote [data-mote]{--mote-size: 84px !important}.lv .lv-request{gap:var(--s-2)}.lv .lv-bubble{padding:var(--s-3) var(--s-4)}}@keyframes lv-light{0%{transform:scale(1)}40%{transform:scale(1.35);box-shadow:0 0 34px #ffd166}to{transform:scale(1)}}.lv-title{font-size:var(--t-level);line-height:1.15;max-width:40ch}.lv-title__n{color:var(--c-soft)}.lv-stars-line{margin-top:var(--s-2);color:var(--c-gold);font-size:var(--t-small);display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-4)}.lv-stars-line[hidden]{display:none}.lv-stars-line__replay{font-size:var(--t-small)}.lv-main{max-width:calc(var(--max) + 2 * var(--gutter));margin-inline:auto;padding:var(--s-4) var(--gutter) 0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"request" "goal" "work" "lesson" "tables";gap:var(--s-6)}.lv-request{grid-area:request}.lv-goal{grid-area:goal}.lv-work{grid-area:work;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5);align-content:start}.lv-tables{grid-area:tables;min-width:0}.lv-lesson{grid-area:lesson;min-width:0}@media(min-width:1024px){.lv-main{grid-template-columns:minmax(340px,5fr) minmax(0,6fr);grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"request work" "goal work" "lesson work" "tables work" ". work";column-gap:var(--s-8);row-gap:var(--s-8)}.lv-work{grid-row:1 / -1;align-self:start;position:sticky;top:var(--s-4);max-height:calc(100dvh - var(--s-8));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--c-dim) transparent;padding-bottom:var(--s-2)}}.lv-h{font:var(--w-bold) 1.125rem/1.2 var(--f-ui);margin-bottom:var(--s-3)}.lv-h--sm{font-size:var(--t-ui)}.lv-link{display:inline-flex;align-items:center;min-height:44px;padding:0;color:var(--c-gold);font:var(--w-bold) var(--t-ui)/1.2 var(--f-ui);background:none;border:0;cursor:pointer}.lv-link:hover{color:var(--c-moon)}.lv-link--quiet{color:var(--c-muted);font-weight:var(--w-regular);font-size:var(--t-small);min-height:44px}.lv-link--quiet:hover{color:var(--c-moon)}.lv-request{display:flex;gap:var(--s-3);align-items:flex-start}.lv-mote{width:118px;flex:none;margin-top:-6px;filter:var(--sh-mote)}.lv-mote img{width:100%;height:auto}.lv-bubble{flex:1;min-width:0;background:var(--c-panel);border-radius:var(--r-bubble) var(--r-bubble) var(--r-bubble) 6px;padding:var(--s-4) var(--s-5);font-size:var(--t-body);line-height:var(--lh-ui)}.lv-bubble__from{font-size:var(--t-small);color:var(--c-muted);margin-bottom:6px}.lv-bubble__hints{list-style:none;margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--c-line);display:grid;gap:var(--s-2);font-size:var(--t-ui)}.lv-bubble__hint{display:grid;gap:4px;animation:lv-in var(--d-base) var(--ease-out)}@media(max-width:1023px){.lv-bubble__hints{display:none!important}}@media(min-width:1024px){.lv-hints{display:none!important}}.lv-bubble__mote{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--c-line);font-size:var(--t-small);color:var(--c-gold)}.lv-goal__task{color:var(--c-soft);font-size:var(--t-ui);line-height:var(--lh-ui);margin-bottom:var(--s-4)}.lv-goal__stepn{color:var(--c-gold);font-weight:var(--w-bold)}.lv-goal__list{list-style:none}.lv-goal__item{display:flex;gap:var(--s-3);align-items:flex-start;font-size:var(--t-body);padding:var(--s-3) 0;border-top:1px solid var(--c-line);line-height:1.4}.lv-goal__item:last-child{border-bottom:1px solid var(--c-line)}.lv-goal__box{margin-top:1px;width:24px;height:24px;border-radius:8px;border:2px solid var(--c-dim);flex:none;display:grid;place-items:center;transition:background var(--d-base) var(--ease-out),border-color var(--d-base)}.lv-goal__item.is-ok .lv-goal__box{border-color:var(--c-mint);background:var(--c-mint)}.lv-goal__item.is-ok .lv-goal__box:after,.lv-checks__item.is-ok i:after,.lv-feedback__ic.is-ok:after{content:"";width:10px;height:6px;border-left:2.5px solid var(--c-editor);border-bottom:2.5px solid var(--c-editor);transform:rotate(-45deg) translate(1px,-1px)}.lv-tables__note{font-size:var(--t-small);color:var(--c-muted);margin:-4px 0 var(--s-3)}.lv-table{border-top:1px solid var(--c-line)}.lv-table:last-of-type{border-bottom:1px solid var(--c-line)}.lv-table__sum{display:flex;align-items:center;gap:var(--s-3);min-height:44px;cursor:pointer;list-style:none;font-size:var(--t-small);color:var(--c-muted)}.lv-table__sum::-webkit-details-marker{display:none}.lv-table__sum:before{content:"";width:7px;height:7px;border-right:2px solid var(--c-muted);border-bottom:2px solid var(--c-muted);transform:rotate(-45deg);transition:transform var(--d-fast);flex:none}.lv-table[open] .lv-table__sum:before{transform:rotate(45deg)}.lv-table__sum b{color:var(--c-moon);font-size:var(--t-ui)}.lv-table__cols{list-style:none;display:flex;flex-wrap:wrap;gap:6px 10px;padding:2px 0 var(--s-3);font-size:13px;color:var(--c-muted)}.lv-table__cols li{display:inline-flex;gap:6px;align-items:baseline}.lv-table .lv-scroll{margin-bottom:var(--s-4);background:var(--c-panel);border-radius:var(--r-sm)}.lv-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(to right,var(--c-panel) 30%,rgba(56,62,115,0)) left / 32px 100% no-repeat local,linear-gradient(to left,var(--c-panel) 30%,rgba(56,62,115,0)) right / 32px 100% no-repeat local,linear-gradient(to right,#1410328c,#14103200) left / 14px 100% no-repeat scroll,linear-gradient(to left,#1410328c,#14103200) right / 14px 100% no-repeat scroll}.lv-rt th:last-child,.lv-rt td:last-child{padding-right:22px}.lv-scroll.is-overflow:not(.at-end){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}.lv-scroll.is-overflow.at-end:not(.at-start){-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 48px),transparent)}.lv-scroll.is-overflow:not(.at-end):not(.at-start){-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}.lv-rt{width:100%;border-collapse:collapse;font-size:var(--t-small)}.lv-rt th{text-align:left;font-weight:var(--w-bold);padding:10px var(--s-4);color:var(--c-moon);border-bottom:1px solid var(--c-line);white-space:nowrap}.lv-rt td{padding:9px var(--s-4);color:var(--c-soft);border-bottom:1px solid var(--c-line);white-space:pre;max-width:32ch;overflow:hidden;text-overflow:ellipsis}.lv-rt tr:last-child td{border-bottom:0}.lv-rt td.is-num{font-variant-numeric:tabular-nums}.lv-rt td.is-null{color:var(--c-muted);font-style:italic}.lv-rt--preview td,.lv-rt--preview th{color:var(--c-muted)}.lv-rt--preview th{color:var(--c-soft)}.lv-table .lv-rt{font-size:13px}.lv-table .lv-rt th,.lv-table .lv-rt td{padding:7px var(--s-3)}.lv-rt__fly{width:36px;padding-right:0!important}.lv-scroll:focus-visible{box-shadow:var(--focus);border-radius:var(--r-sm)}.lv-fly{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c-dim);transition:background var(--d-slow),box-shadow var(--d-slow)}.is-lit .lv-fly{background:var(--c-gold);box-shadow:var(--glow-gold)}.lv-flight{position:fixed;z-index:var(--z-toast);width:10px;height:10px;border-radius:50%;background:var(--c-gold);box-shadow:0 0 12px 2px #ffd166d9;pointer-events:none}.lv .lv-rt th,.lv .lv-rt td{border-width:0 0 1px;border-style:solid;border-color:var(--c-line)}.lv .lv-rt tr:last-child td{border-bottom-width:0}.lv .lv-editor .cm-gutters .cm-foldGutter{display:none}.lv .cm-content:focus-visible,.lv .cm-content:focus{box-shadow:none}.lv-editor:has(.cm-focused){border-color:#ffd1668c;box-shadow:0 0 0 3px #ffd16624}.lv-lesson__body{font-size:var(--t-body);line-height:var(--lh-body);color:var(--c-soft)}.lv-lesson__body>*+*,.lv-explain__body>*+*{margin-top:var(--s-4)}.lesson h2,.lesson h3{color:var(--c-moon);font-size:1.0625rem;margin-top:var(--s-6)}.lesson pre{background:var(--c-editor);border-radius:var(--r-sm);padding:var(--s-4);overflow-x:auto;font-size:var(--t-code);line-height:1.6;color:var(--c-code)}.lesson table{display:block;overflow-x:auto;font-size:var(--t-small);border-collapse:collapse}.lesson th,.lesson td{padding:6px 12px;border-bottom:1px solid var(--c-line);text-align:left}.lesson td code,.lesson th code{white-space:nowrap}.lesson ul,.lesson ol{padding-left:1.3em}.lesson li+li{margin-top:6px}.lesson a{color:var(--c-gold)}html.js .lv-lesson__body.is-short>:not(:first-child){display:none}html.js .lv-lesson__body.is-short>:first-child{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}html:not(.js) [data-lesson-toggle]{display:none}html.js .lv-lesson__body.is-short[data-show="2"]>:nth-child(2){display:block}html.js .lv-lesson__body.is-short[data-show="2"]>:first-child{-webkit-line-clamp:unset}.lv-pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-6)}.lv-pager a{display:grid;align-content:start;gap:2px;padding:var(--s-3) var(--s-4);border-radius:var(--r-chip);background:var(--c-panel);font-size:var(--t-small);line-height:1.3;min-height:44px}.lv-pager a span{color:var(--c-muted);font-size:13px}.lv-pager a:hover{color:var(--c-gold)}.lv-pager__next{grid-column:2;text-align:right}.lv .ad-slot{min-height:0}.lv[data-locked] .lv-work{display:none}.lv-lock{grid-area:work;align-self:start;background:var(--c-panel);border-radius:var(--r-card);padding:var(--s-6)}@media(min-width:1024px){.lv-lock{grid-row:1 / -1}}.lv-lock__ic{width:48px;height:48px;border-radius:var(--r-chip);background:var(--c-editor);color:var(--c-gold);display:grid;place-items:center;margin-bottom:var(--s-4)}.lv-lock__h{font:var(--w-bold) 1.25rem/1.3 var(--f-ui);margin-bottom:var(--s-4)}.lv-lock__list{list-style:none;display:grid;gap:var(--s-2)}.lv-lock__item{display:flex;align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-2) var(--s-4);border-radius:var(--r-chip);background:var(--c-editor);flex-wrap:wrap}.lv-lock__item a{font-weight:var(--w-bold);color:var(--c-moon)}.lv-lock__item a:hover{color:var(--c-gold)}.lv-lock__mark{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--c-coral);color:var(--c-editor);font-weight:var(--w-bold)}.lv-lock__item.is-done .lv-lock__mark{background:var(--c-mint)}.lv-lock__state{margin-left:auto;font-size:var(--t-small);color:var(--c-muted)}.lv-lock__note{margin-top:var(--s-4);font-size:var(--t-small);color:var(--c-soft);line-height:1.5}.lv-steps{list-style:none;display:flex;gap:var(--s-2);flex-wrap:wrap}.lv-steps__btn{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4) 0 6px;border-radius:var(--r-chip);background:var(--c-panel);color:var(--c-soft);border:2px solid transparent;font-weight:var(--w-bold)}.lv-steps__n{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--c-editor);color:var(--c-moon);font-size:14px}.lv-steps__btn[aria-current=step]{border-color:var(--c-gold);color:var(--c-moon)}.lv-steps__btn.is-done .lv-steps__n{background:var(--c-mint);color:var(--c-editor)}.lv-steps__btn:disabled{opacity:.5;cursor:not-allowed}.lv-ex{display:none;gap:var(--s-5);min-width:0}.lv-ex.is-active{display:grid;grid-template-columns:minmax(0,1fr)}html:not(.js) .lv-ex{display:grid;grid-template-columns:minmax(0,1fr)}.lv-editor{position:relative;background:var(--c-editor);border-radius:var(--r-card);border:1px solid rgba(174,179,219,.14)}.lv-editor__head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px 22px;min-height:52px;font-size:var(--t-small);color:var(--c-muted);border-bottom:1px solid var(--c-line)}.lv-editor__title{font:var(--w-bold) var(--t-ui)/1.2 var(--f-ui);color:var(--c-moon)}.lv-editor__meta{display:inline-flex;align-items:center;gap:var(--s-2)}.lv-editor__code{min-height:150px}.lv-editor__code .cm-editor{min-height:150px;border-radius:0}.lv-editor__code .cm-scroller{max-height:26rem}.lv-editor__fallback{width:100%;min-height:150px;padding:var(--s-4) 22px;background:transparent;color:var(--c-code);border:0;resize:vertical;font:500 max(16px,var(--t-editor))/1.75 var(--f-mono)}.lv-editor__foot{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) 22px var(--s-5);flex-wrap:wrap;background:var(--c-editor);border-radius:0 0 var(--r-card) var(--r-card)}.lv-editor__status{flex:1 1 180px;min-width:0;font-size:var(--t-small);color:var(--c-muted)}.lv-run{min-height:48px;padding:0 28px;font-size:1.0625rem}.lv-editor__foot .lv-hint,.lv-editor__foot .lv-reveal{min-height:48px;font-size:1rem}.lv-run[disabled]{opacity:1;cursor:progress;filter:saturate(.75)}.lv-run[disabled] .lv-run__tri{opacity:.5}.lv-run__tri{width:0;height:0;border-left:11px solid var(--c-ink);border-top:7px solid transparent;border-bottom:7px solid transparent}.lv-hint__left{font-weight:var(--w-regular);color:var(--c-muted);font-size:var(--t-small)}.lv-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3);margin:0 22px var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-chip);background:var(--c-panel);border:1px solid var(--c-line-strong)}.lv-confirm__t{flex:1 1 220px;font-size:var(--t-small);color:var(--c-soft)}@media(max-width:1023px){html.js .lv-ex.is-active .lv-editor__foot{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-header);flex-wrap:nowrap;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));border-radius:0;background:#1f2347f5;-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);box-shadow:0 -12px 24px #14103266;border-top:1px solid var(--c-line)}html.js .lv-ex.is-active .lv-editor__foot .lv-editor__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}html.js .lv-ex.is-active .lv-editor__foot .lv-run{flex:1;max-width:420px;margin-left:auto}html.js .lv-ex.is-active .lv-editor__foot .lv-reveal{display:none!important}html.js .lv-confirm:not(.lv-confirm--review):not([hidden]){position:fixed;left:var(--gutter);right:var(--gutter);bottom:calc(92px + env(safe-area-inset-bottom));z-index:calc(var(--z-header) + 1);margin:0;box-shadow:var(--sh-card)}html.js .lv:not([data-type=quiz]):not([data-locked]){padding-bottom:calc(96px + env(safe-area-inset-bottom))}html.js .lv-ex.is-active .lv-editor__foot.has-coach-band{padding-top:64px}}@media(max-width:1023px)and (max-height:520px){html.js .lv-ex.is-active .lv-editor__foot .lv-run{max-width:260px}html.js .lv-editor__code{padding-bottom:var(--s-3)}}@media(max-width:599px){.lv-editor__head{padding-inline:var(--s-4)}.lv-run{padding:0 var(--s-5)}.lv-hint,.lv-reveal{padding:0 var(--s-4)}.lv-editor__code .cm-scroller{max-height:50vh}}.lv-hints{list-style:none;display:grid;gap:var(--s-2)}.lv-hints:empty{display:none}.lv-hints__item{display:flex;gap:var(--s-3);align-items:baseline;padding:var(--s-3) var(--s-4);border-radius:var(--r-chip);background:var(--c-panel);font-size:var(--t-ui);animation:lv-in var(--d-base) var(--ease-out)}.lv-hints__n{flex:none;justify-self:start;font-weight:var(--w-bold);color:var(--c-ink);background:var(--c-gold);border-radius:var(--r-pill);padding:2px 10px;font-size:13px}.lv-solution{background:var(--c-panel);border-radius:var(--r-card);padding:var(--s-4) var(--s-5) var(--s-5)}.lv-solution__head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap}.lv-solution__head .lv-h{margin:0}.lv-solution__code{background:var(--c-editor);border-radius:var(--r-sm);padding:var(--s-4);overflow-x:auto;font-size:var(--t-code);line-height:1.7;color:var(--c-code)}@keyframes lv-in{0%{opacity:0;transform:translateY(6px)}}.lv-lower{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5)}@media(min-width:1180px){.lv-lower{grid-template-columns:minmax(0,1fr) 340px}}@media(max-width:639px),(min-width:1024px)and (max-width:1179px){.lv-lower .lv-feedback{order:-1}}@media(min-width:640px)and (max-width:1023px){.lv-lower{grid-template-columns:minmax(0,1fr) 300px}}.lv-result{background:var(--c-panel);border-radius:var(--r-card);overflow:hidden;min-width:0;align-self:stretch;display:flex;flex-direction:column}.lv-result>.lv-result__empty{flex:1;display:grid;place-items:center;text-align:center}.lv-result__head{display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;padding:var(--s-4) 22px;font-size:var(--t-small);color:var(--c-muted);border-bottom:1px solid var(--c-line)}.lv-result__head b{color:var(--c-moon);font-size:var(--t-ui)}.lv-result .lv-rt th{border-top:0}.lv-result .lv-scroll{max-height:26rem;overflow-y:auto}.lv-result__empty{padding:var(--s-5) 22px;color:var(--c-muted)}.lv-value{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-5) 22px}.lv-value__text{font-size:var(--t-body);color:var(--c-moon);white-space:pre-wrap;overflow-wrap:anywhere}.lv-stdout{border-bottom:1px solid var(--c-line)}.lv-stdout__sum{padding:var(--s-3) 22px;font-size:var(--t-small);color:var(--c-muted);cursor:pointer;min-height:44px;display:flex;align-items:center}.lv-stdout__text{margin:0 var(--s-4) var(--s-4);padding:var(--s-3) var(--s-4);background:var(--c-editor);border-radius:var(--r-sm);font-size:var(--t-code);color:var(--c-code);overflow-x:auto;max-height:14rem}.lv-stdout__note{padding:0 22px var(--s-3);font-size:13px;color:var(--c-muted)}.lv-diff{border-top:1px solid var(--c-line);padding-bottom:var(--s-2)}.lv-diff__h{padding:var(--s-4) 22px var(--s-2);font-size:var(--t-small);font-weight:var(--w-bold);display:flex;gap:var(--s-2);align-items:center}.lv-diff__h:before{font-weight:var(--w-bold);width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:13px;color:var(--c-editor)}.lv-diff__h--miss{color:var(--c-mint)}.lv-diff__h--miss:before{content:"+";background:var(--c-mint)}.lv-diff__h--extra{color:var(--c-coral)}.lv-diff__h--extra:before{content:"−";background:var(--c-coral)}.lv-rt--diff td{color:var(--c-moon)}.lv-feedback{border-radius:var(--r-card);padding:22px;background:var(--c-panel);align-self:stretch;min-width:0}.lv-quiz .lv-feedback{align-self:start}.lv-feedback__ic{width:40px;height:40px;border-radius:var(--r-chip);display:grid;place-items:center;margin-bottom:var(--s-3);background:var(--c-editor);font-weight:var(--w-bold);color:var(--c-editor)}.lv-feedback__ic.is-ok{background:var(--c-mint)}.lv-feedback__ic.is-bad{background:var(--c-coral);font-size:20px}.lv-feedback__ic.is-warn{background:var(--c-warm);color:var(--c-editor)}.lv-feedback__kicker{font-size:var(--t-small);color:var(--c-warm);font-weight:var(--w-bold);margin-bottom:4px}.lv-feedback__h{font:var(--w-bold) 1.125rem/1.3 var(--f-ui);margin-bottom:var(--s-2);overflow-wrap:anywhere}.lv-feedback__p{font-size:var(--t-ui);line-height:1.5;color:var(--c-soft)}.lv-feedback__lines{list-style:none;display:grid;gap:var(--s-2);margin:var(--s-2) 0 var(--s-1);font-size:var(--t-small);color:var(--c-soft);line-height:1.45;overflow-wrap:anywhere}.lv-feedback__lines li{position:relative}.lv-feedback__next{margin-top:var(--s-4)}.lv-checks{list-style:none;margin-top:var(--s-4);display:grid;gap:var(--s-2);font-size:var(--t-small);color:var(--c-soft)}.lv-checks__item{display:flex;gap:var(--s-3);align-items:flex-start;line-height:1.5}.lv-checks__item i{margin-top:3px}.lv-goal__item code,.lv-checks__item code{display:inline-block;margin:1px 0;line-height:1.35}.lv-checks__item i{width:16px;height:16px;flex:none;border-radius:50%;background:var(--c-dim);display:grid;place-items:center;transition:background var(--d-base)}.lv-checks__item i:after{transform:rotate(-45deg) translate(1px,-1px) scale(.7)!important}.lv-checks__item.is-ok i{background:var(--c-mint)}.lv-checks__item:not(.is-ok) i:after{display:none}.lv-nudge{margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--c-line);font-size:var(--t-small);color:var(--c-soft)}.lv-nudge p{padding:var(--s-2) 0}.lv-nudge__reveal{margin-top:var(--s-2)}.lv-err__title{font-size:var(--t-ui);color:var(--c-moon);line-height:1.45;overflow-wrap:anywhere}.lv-err__body{margin-top:var(--s-2);font-size:var(--t-small);color:var(--c-soft);line-height:1.5;overflow-wrap:anywhere}.lv-err__raw{margin-top:var(--s-3);font-size:13px;color:var(--c-muted)}.lv-err__raw summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.lv-err__raw pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--c-editor);padding:var(--s-3);border-radius:var(--r-sm);color:var(--c-code);max-height:12rem;overflow:auto}.lv-feedback.is-busy>:not(.lv-engine){display:none}.lv-engine__h{font-weight:var(--w-bold);font-size:1.0625rem;margin-bottom:6px}.lv-engine__p{font-size:var(--t-small);color:var(--c-soft);line-height:1.5}.lv-engine__bar{margin-top:var(--s-4);height:8px;border-radius:var(--r-pill);background:var(--c-editor);overflow:hidden}.lv-engine__bar span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;border-radius:inherit;background:var(--c-gold);box-shadow:var(--glow-gold);transition:transform .6s var(--ease-out)}.lv-engine__stage{margin-top:var(--s-2);font-size:13px;color:var(--c-muted)}.lv-engine--fail .lv-engine__h{color:var(--c-coral)}.lv-engine--fail .btn{margin-top:var(--s-4)}.lv-quiz{display:grid;gap:var(--s-5)}.lv-quiz__set{border:0;display:grid;gap:var(--s-3);background:var(--c-editor);border-radius:var(--r-card);padding:var(--s-6);min-width:0}.lv-quiz__q{float:left;width:100%;font:var(--w-bold) 1.1875rem/1.4 var(--f-ui);margin-bottom:var(--s-3);padding:0}.lv-quiz__q+*{clear:both}.lv-quiz__opt{display:flex;align-items:center;gap:var(--s-4);min-height:56px;padding:var(--s-3) var(--s-4);border-radius:var(--r-chip);background:var(--c-panel);border:2px solid transparent;cursor:pointer;font-size:var(--t-ui);line-height:1.4;transition:border-color var(--d-fast)}.lv-quiz__opt:hover{border-color:var(--c-ghost-rim)}.lv-quiz__opt input{position:absolute;opacity:0;pointer-events:none}.lv-quiz__opt:has(input:checked){border-color:var(--c-gold)}.lv-quiz__opt:has(input:focus-visible){box-shadow:var(--focus)}.lv-quiz__letter{width:32px;height:32px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--c-editor);font-weight:var(--w-bold)}.lv-quiz__text{flex:1;min-width:0;overflow-wrap:anywhere}.lv-quiz__text.is-code{font-family:var(--f-mono);font-size:var(--t-code);color:var(--c-code)}.lv-quiz{max-width:820px}.lv-quiz__mark{font-size:var(--t-small);font-weight:var(--w-bold);white-space:nowrap}.lv-quiz__opt.is-right,.lv-quiz__opt.is-right:has(input:checked){border-color:var(--c-mint)}.lv-quiz__opt.is-right .lv-quiz__letter{background:var(--c-mint);color:var(--c-editor)}.lv-quiz__opt.is-right .lv-quiz__mark{color:var(--c-mint)}.lv-quiz__opt.is-wrong,.lv-quiz__opt.is-wrong:has(input:checked){opacity:.8;border-color:var(--c-coral);cursor:not-allowed}.lv-quiz__opt.is-wrong .lv-quiz__mark{color:var(--c-coral)}.lv-quiz__opt.is-wrong .lv-quiz__mark:before{content:"✕ "}.lv-quiz__opt.is-right .lv-quiz__mark:before{content:"✓ "}.lv-quiz__foot{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.lv-quiz__note{flex:1 1 200px;color:var(--c-muted);font-size:var(--t-small)}@media(max-width:599px){.lv-quiz__set{padding:var(--s-4)}.lv-quiz__foot .lv-run{flex:1}.lv-quiz__opt{flex-wrap:wrap}.lv-quiz__mark{flex-basis:100%;padding-left:48px}.lv-quiz__mark:empty{display:none}}.lv-explain{position:relative;border-radius:var(--r-card);padding:var(--s-6) var(--s-8) var(--s-8);background:linear-gradient(180deg,#ffd1661a,#ffd16600 140px),var(--c-panel);border:1px solid rgba(255,209,102,.35);animation:lv-in var(--d-slow) var(--ease-out)}.lv-explain:focus{outline:none}.lv-explain__head{display:flex;gap:var(--s-4);align-items:center;margin-bottom:var(--s-4)}.lv-explain__ic{width:44px;height:44px;flex:none;border-radius:var(--r-chip);background:var(--c-editor);display:grid;place-items:center}.lv-explain__kicker{font-size:var(--t-small);color:var(--c-gold);font-weight:var(--w-bold)}.lv-explain__h{font:var(--w-bold) 1.25rem/1.25 var(--f-ui)}.lv-explain__body{font-size:1.125rem;line-height:1.65;color:var(--c-moon);max-width:var(--measure)}.lv-explain__body strong{color:var(--c-gold)}.lv-explain__next{margin-top:var(--s-6)}@media(max-width:599px){.lv-explain{padding:var(--s-5) var(--s-4) var(--s-6)}.lv-explain__body{font-size:var(--t-body)}}.lv-complete{--head: min(56px, 7dvh);position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:center;padding:calc(var(--s-4) + var(--head)) var(--s-4) var(--s-4)}.lv-complete__veil{position:fixed;inset:0;background:#181638a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:lv-fade var(--d-base) var(--ease-out)}.lv-complete__card{--sky-h: clamp(84px, 19dvh, 200px);position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px - var(--head));display:flex;flex-direction:column;border-radius:30px;background:var(--c-panel);box-shadow:0 30px 80px #0a081e99;animation:lv-rise var(--d-slow) var(--ease-out)}.lv-complete__sky{flex:none;height:var(--sky-h);border-radius:30px 30px 0 0;background:var(--lv-hero) 70% 70% / 1100px auto;position:relative;overflow:hidden}.lv-complete__sky:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 75%,#ffd1668c,#ffd16600 55%),linear-gradient(180deg,rgba(0,0,0,0) 55%,var(--c-panel) 100%)}.lv-complete__mote{position:absolute;left:50%;top:calc(var(--sky-h) * -.32);transform:translate(-50%);z-index:2;width:calc(var(--sky-h) * 1.25);filter:drop-shadow(0 0 40px rgba(255,209,102,.45));pointer-events:none}.lv-complete__mote [data-mote]{--mote-size: calc(var(--sky-h) * 1.25) !important}.lv-complete__body{padding:var(--s-2) clamp(16px,5vw,40px) clamp(16px,3dvh,28px);text-align:center;overflow-y:auto;min-height:0}.lv-complete__h{font-size:clamp(1.625rem,1.1rem + 2vw,2.125rem);color:var(--c-gold)}.lv-complete__h:focus{outline:none}.lv-complete__sub{margin-top:6px;font-size:var(--t-ui);color:var(--c-soft)}.lv-complete__stars{list-style:none;display:grid;grid-template-columns:repeat(3,92px);justify-content:center;align-items:start;gap:var(--s-3);margin:clamp(10px,2.4dvh,20px) 0 var(--s-2)}.lv-star{display:grid;grid-template-rows:auto 2.6em;justify-items:center;align-items:start;gap:6px;opacity:0;transform:scale(.4)}.lv-star.is-pop{opacity:1;transform:none;animation:lv-pop .42s var(--ease-quint)}@keyframes lv-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{transform:none}}.lv-star__shape{width:clamp(36px,6dvh,50px);aspect-ratio:1;background:var(--c-gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 10px rgba(255,209,102,.7))}.lv-star[data-star="2"] .lv-star__shape{background:var(--c-warm)}.lv-star[data-star="3"] .lv-star__shape{background:var(--c-pink)}.lv-star.is-missing .lv-star__shape{background:var(--c-editor);filter:none;box-shadow:inset 0 0 0 2px var(--c-dim)}.lv-star__why{font-size:13px;color:var(--c-muted);line-height:1.25;text-align:center}.lv-star.is-missing .lv-star__why{color:var(--c-soft)}.lv-complete__concepts{margin-top:6px;font-size:13px;color:var(--c-muted);display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px;align-items:baseline}.lv-complete__concepts code{font-size:12px}.lv-complete__unlock{margin:var(--s-2) 0 0;font-size:var(--t-ui);color:var(--c-mint);font-weight:var(--w-bold)}.lv-complete__unlock .lv-link{min-height:32px;color:var(--c-gold)}.lv-complete__replay{min-height:36px;font-size:var(--t-small);margin-bottom:var(--s-2)}.lv-complete__gains{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:center;gap:var(--s-2);margin-bottom:clamp(10px,2.4dvh,20px)}.lv-complete__gains:not(:has([data-lanterns]:not([hidden]))){grid-template-columns:repeat(2,minmax(0,max-content))}.lv-gain{padding:8px 12px;border-radius:var(--r-chip);background:var(--c-editor);font-size:var(--t-small);line-height:1.25;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0 5px;align-items:baseline}.lv-gain b{color:var(--c-gold);font-variant-numeric:tabular-nums}.lv-gain--mint b{color:var(--c-mint)}.lv-next__teaser{font-size:var(--t-small);color:var(--c-soft);margin-bottom:var(--s-3);line-height:1.4}.lv-next__label{display:block;color:var(--c-gold);font-weight:var(--w-bold)}.lv-next__btn{min-height:58px;font-size:1.1875rem}.lv-complete__more{display:flex;justify-content:center;gap:var(--s-6);margin-top:4px}.lv-complete__more .lv-link{color:var(--c-muted);font-weight:var(--w-regular)}.lv-complete__more .lv-link:hover{color:var(--c-moon)}@keyframes lv-fade{0%{opacity:0}}@keyframes lv-rise{0%{opacity:0;transform:translateY(24px) scale(.97)}}@keyframes lv-float{50%{transform:translate(-50%) translateY(-6px)}}@media(max-width:599px){.lv-complete__gains{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 18px}.lv-gain{background:none;padding:0;font-size:var(--t-ui);white-space:nowrap}}@media(max-width:599px){.lv-complete__card{border-radius:24px}.lv-complete__sky{border-radius:24px 24px 0 0}.lv-complete__stars{grid-template-columns:repeat(3,84px);gap:var(--s-2)}}@media(max-height:700px){.lv-next__quote,.lv-complete__sub,.lv-complete__concepts{display:none}.lv-complete__card{--sky-h: clamp(72px, 16dvh, 150px)}.lv-star__shape{width:34px}.lv-star{grid-template-rows:auto 2.4em;gap:4px}.lv-star__why{font-size:12px}.lv-next__teaser{margin-bottom:var(--s-2)}.lv-complete__more .lv-link{min-height:40px}}@media(max-height:520px)and (min-width:600px){.lv-complete{--head: 0px;padding:var(--s-3)}.lv-complete__card{width:min(760px,100%);flex-direction:row;max-height:calc(100dvh - 24px)}.lv-complete__sky{--sky-h: auto;width:34%;height:auto;border-radius:30px 0 0 30px}.lv-complete__sky:after{background:radial-gradient(circle at 50% 60%,#ffd16680,#ffd16600 60%)}.lv-complete__mote{left:17%;top:50%;width:auto;transform:translate(-50%,-50%);animation:none}.lv-complete__mote [data-mote]{--mote-size: min(200px, 26vw, 70dvh) !important}.lv-complete__body{flex:1;padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;justify-content:center}.lv-complete__stars{margin:var(--s-2) 0 0}.lv-complete__concepts,.lv-complete__sub{display:none}.lv-star{grid-template-rows:auto 1.3em}}.lv.is-touring .lv-main,.lv.is-touring .lv-ex.is-active{row-gap:48px}.lv.is-touring .lv-steps{margin-bottom:18px}.lv-coach{position:absolute;inset:0 auto auto 0;width:0;height:0;z-index:var(--z-overlay);opacity:0;transition:opacity var(--d-base) var(--ease-out)}.lv-coach.is-in{opacity:1}.lv-coach__ring{position:absolute;border:2px dashed rgba(255,209,102,.75);border-radius:26px;pointer-events:none}.lv-coach__mark{position:absolute;display:flex;gap:10px;align-items:center;pointer-events:none;max-width:calc(100vw - 16px)}.lv-coach__n{width:34px;height:34px;border-radius:50%;background:var(--c-gold);color:var(--c-ink);font:var(--w-bold) 18px/34px var(--f-ui);text-align:center;box-shadow:0 0 0 6px #ffd16638;flex:none}.lv-coach__t{background:var(--c-moon);color:var(--c-ink);font:var(--w-bold) var(--t-ui)/1.2 var(--f-ui);padding:11px 14px;border-radius:var(--r-sm);white-space:nowrap}.lv-coach__t span{font-weight:var(--w-regular)}.lv-coach__skip{position:absolute}@media(max-width:599px){.lv-coach__t{white-space:normal;width:max-content;max-width:calc(100vw - 72px);font-size:var(--t-small)}}@media(prefers-reduced-motion:reduce){.lv-star{transform:none}.lv-complete__mote{animation:none}}.lv-feedback{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:var(--s-3);align-content:start}.lv-feedback>*{grid-column:1 / -1}.lv-feedback>.lv-feedback__ic{grid-column:1;width:28px;height:28px;margin:0;border-radius:8px;font-size:15px;align-self:center}.lv-feedback>.lv-feedback__ic+*{grid-column:2;align-self:center;margin-bottom:0}.lv-feedback>.lv-feedback__ic+.lv-feedback__kicker+*{margin-top:var(--s-2)}.lv-feedback>.lv-feedback__ic+.lv-feedback__h+*{margin-top:var(--s-2)}.lv-feedback__ic .firefly-dot{transform:scale(.8)}.lesson pre.astro-code,.lesson pre{background-color:var(--c-editor)!important;border:1px solid rgba(174,179,219,.14)}.astro-code span[style*="#6A737D" i]{color:#9aa1c4!important}
