.vv-block{background:var(--vv-card);border:1px solid var(--vv-border);border-radius:14px;overflow:hidden}.cm-editor,.vv-block,.vv-demo,.vv-svgfig text,.vv-term,code,kbd,pre{font-variant-ligatures:none}.vv-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.vv-block+.vv-block,.vv-block+.vv-lazy,.vv-block+.vv-list,.vv-block+.vv-text,.vv-lazy+.vv-block,.vv-lazy+.vv-lazy,.vv-lazy+.vv-list,.vv-lazy+.vv-text,.vv-list+.vv-block,.vv-list+.vv-lazy,.vv-text+.vv-block,.vv-text+.vv-lazy,.vv-text+.vv-text{margin-top:20px}.vv-block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px}.vv-block__meta{font-size:13px;color:var(--vv-text2)}.vv-block__foot{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--vv-border)}.vv-block__foot-group{display:flex;gap:8px}.vv-block--unknown{padding:14px 16px;color:var(--vv-text2);font-size:14px}.vv-text p{font-size:16px;line-height:1.75;color:var(--vv-body);margin:0 0 12px}.vv-text p:last-child{margin-bottom:0}.vv-list{margin:4px 0 8px;padding:0 0 0 6px;list-style:none;display:grid;gap:9px}.vv-list__item{display:flex;align-items:baseline;gap:12px}.vv-list__marker{flex-shrink:0;text-align:right;font-family:var(--vv-font-mono);font-size:13px;color:var(--vv-text2)}.vv-list__text{font-size:15.5px;line-height:1.7;color:var(--vv-body)}.vv-codeblock__pre,.vv-step-code{background:var(--vv-code);border-top:1px solid var(--vv-border);border-bottom:1px solid var(--vv-border);padding:10px 0;margin:0;font-family:var(--vv-font-mono);font-size:13.5px;line-height:1.7;overflow-x:auto;color:var(--vv-text)}.vv-step-code.is-scrollable{max-height:460px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--vv-border-strong) transparent}.vv-codeblock__pre{border-bottom:0}.vv-codeblock>.vv-codeblock__pre:first-child{border-top:0}.vv-step-code--chars .vv-step-line{font-size:15.5px;letter-spacing:.18em}.vv-step-code--chars .vv-step-line__no{letter-spacing:normal}.vv-morph-ghost .vv-tok-bang,.vv-step-line__src .vv-tok-bang{padding-inline:.28em}.vv-morph-ghost .vv-tok-bang+.vv-tok-bang,.vv-step-line__src .vv-tok-bang+.vv-tok-bang{padding-left:0}.vv-morph-ghost .vv-tok-bang--pre,.vv-step-line__src .vv-tok-bang--pre{padding-right:0}.vv-step-line__src .vv-char-zone{font-size:15.5px;letter-spacing:.18em}.vv-step-line{position:relative}.vv-morph{display:inline-block;vertical-align:baseline}.vv-morph,.vv-morph-ghost{clip-path:inset(0);white-space:pre}.vv-morph-ghost{position:absolute;opacity:0;pointer-events:none}.vv-step-line__ann{margin-left:26px;color:var(--vv-faint);letter-spacing:normal;animation:vv-ann-in .3s var(--vv-ease)}@keyframes vv-ann-in{0%{opacity:0;translate:-4px 0}to{opacity:1;translate:0 0}}@media (max-width:520px){.vv-step-line--annwrap{flex-wrap:wrap}.vv-step-line--annwrap .vv-step-line__ann{flex-basis:100%;margin-left:32px;margin-top:1px}}.vv-step-code{overflow-y:hidden}.vv-codeblock__pre>code{display:block;width:max-content;min-width:100%}.vv-step-line{display:flex;align-items:baseline;padding:1px 16px 1px 0;border-left:3px solid transparent;white-space:pre;width:max-content;min-width:100%}.vv-step-line__no{width:34px;flex:none;text-align:right;padding-right:14px;color:var(--vv-faint);font-size:12px;line-height:inherit;user-select:none}.vv-step-line--info{background:linear-gradient(90deg,var(--vv-faint) 0 3px,color-mix(in srgb,var(--vv-text) 6%,transparent) 3px) border-box}.vv-step-line--success{background:linear-gradient(90deg,var(--vv-accent) 0 3px,var(--vv-accent-soft) 3px) border-box}.vv-step-line--warn{background:linear-gradient(90deg,var(--vv-amber) 0 3px,var(--vv-hint-bg) 3px) border-box}.vv-step-line--error{background:linear-gradient(90deg,var(--vv-coral) 0 3px,var(--vv-coral-bg) 3px) border-box}.vv-step-code__inner{position:relative;width:max-content;min-width:100%}.vv-step-code .vv-step-line{position:relative;z-index:1}.vv-step-code__hl{right:0;background:linear-gradient(90deg,var(--vv-accent) 0 3px,color-mix(in srgb,var(--vv-accent) 8%,var(--vv-code)) 3px) border-box;transition:transform .24s var(--vv-ease),height .24s var(--vv-ease),opacity var(--vv-dur-fast) var(--vv-ease)}.vv-step-code__hl,.vv-step-code__mark{position:absolute;left:0;top:0;z-index:0;pointer-events:none}.vv-step-code__mark{background:color-mix(in srgb,var(--vv-accent) 22%,transparent);border:1px solid var(--vv-accent-border);border-radius:6px;transition:transform var(--vv-dur-base) var(--vv-ease),width var(--vv-dur-base) var(--vv-ease),height var(--vv-dur-base) var(--vv-ease),opacity var(--vv-dur-fast) var(--vv-ease)}.vv-codeblock__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}.vv-codeblock__right{display:flex;align-items:center;gap:8px;flex:none}.vv-codeblock__copy{display:inline-flex;align-items:center;gap:6px;flex:none;height:26px;margin-block:-4px;padding:0 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--vv-faint);font:500 12px var(--vv-font-ui);cursor:pointer;transition:color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease),border-color var(--vv-dur-fast) var(--vv-ease)}.vv-codeblock__copy:focus-visible{color:var(--vv-text);background:color-mix(in srgb,var(--vv-card) 85%,transparent);border-color:var(--vv-border)}@media (hover:hover){.vv-codeblock__copy:hover{color:var(--vv-text);background:color-mix(in srgb,var(--vv-card) 85%,transparent);border-color:var(--vv-border)}}.vv-codeblock__copy:focus-visible{outline:2px solid var(--vv-accent-border);outline-offset:1px}.vv-codeblock__copy.is-copied{color:var(--vv-accent-text);background:var(--vv-accent-soft);border-color:var(--vv-accent-border)}.vv-codeblock__copytext:empty{display:none}.vv-codeblock__title{font-size:13px;color:var(--vv-text2);font-family:var(--vv-font-mono)}.vv-codeblock__lang{font-size:12px;color:var(--vv-faint);text-transform:uppercase;letter-spacing:.06em}.vv-codeblock__tabs{display:flex;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:-4px 0;flex:1 1 auto;min-width:0}.vv-codeblock__tabs::-webkit-scrollbar{display:none}.vv-codeblock__tab{background:transparent;border:1px solid transparent;border-radius:7px;padding:4px 10px;font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-faint);cursor:pointer;transition:color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-codeblock__tab:hover{color:var(--vv-text2)}}.vv-codeblock__tab.is-on{background:var(--vv-card);border-color:var(--vv-border);color:var(--vv-text)}.vv-codeblock__caption{padding:10px 16px;font-size:13.5px;color:var(--vv-text2);max-width:640px}.vv-codeblock__console{border-top:1px solid var(--vv-border);background:var(--vv-card);padding:9px 16px 11px}.vv-codeblock__conlabel{display:block;margin-bottom:5px;font-family:var(--vv-font-ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-faint)}.vv-codeblock__conline{display:flex;align-items:baseline;gap:8px;font-family:var(--vv-font-mono);font-size:12.5px;line-height:1.65;color:var(--vv-text)}.vv-codeblock__conmark{flex:none;color:var(--vv-accent-text);user-select:none}.vv-codeblock__conline--error,.vv-codeblock__conline--error .vv-codeblock__conmark{color:var(--vv-coral)}.vv-codeblock__conline--warn,.vv-codeblock__conline--warn .vv-codeblock__conmark{color:var(--vv-amber,#d9a441)}.vv-codeblock__conline--success{color:var(--vv-accent-text)}.vv-codeblock__conline--info{color:var(--vv-text2)}.vv-codeblock__context{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.vv-codeblock__conempty{font-family:var(--vv-font-ui);font-size:12.5px;color:var(--vv-faint)}.vv-codeblock__console:has(+.vv-codeblock__caption){border-bottom:1px solid var(--vv-border)}.vv-step-note-holder{position:sticky;left:0;z-index:1;box-sizing:border-box;width:var(--vv-inote-w,100%);max-width:100%}.vv-step-note-holder .vv-step-inline-note{animation:vv-note-in .36s var(--vv-ease)}@keyframes vv-note-in{0%{opacity:0}50%{opacity:0}to{opacity:1}}.vv-step-note-measure{position:absolute;left:0;top:0;z-index:-1;width:var(--vv-inote-w,100%);max-width:100%;display:grid;visibility:hidden;pointer-events:none}.vv-step-note-measure__slot{grid-area:1/1;box-sizing:border-box;min-width:0}.vv-step-note-ghost{position:absolute;z-index:2;box-sizing:border-box;width:var(--vv-inote-w,100%);max-width:100%;pointer-events:none;animation:vv-noteghost-out .24s var(--vv-ease) forwards}@keyframes vv-noteghost-out{0%{opacity:1}to{opacity:0}}.vv-step-inline-note{margin:0 0 4px;padding:7px 16px 8px calc(34px + var(--vv-note-ind, 0px));border-left:3px solid transparent;background:linear-gradient(90deg,var(--vv-accent) 0 3px,var(--vv-card) 3px) border-box;font-family:var(--vv-font-ui);font-size:13.5px;font-weight:400;line-height:1.55;color:var(--vv-text);white-space:normal}.vv-step-inline-note code{font-family:var(--vv-font-mono);font-size:12.5px;background:color-mix(in srgb,var(--vv-text) 7%,transparent);border:1px solid var(--vv-border);border-radius:5px;padding:1px 5px;color:var(--vv-text);overflow-wrap:break-word;-webkit-box-decoration-break:clone;box-decoration-break:clone}.vv-step-inote{max-width:560px}.vv-step-inote__body{overflow:hidden;transition:max-height .24s var(--vv-ease)}.vv-step-inote.is-clamped .vv-step-inote__body{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}.vv-step-inote__more{display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:3px 0;font:inherit;font-size:12px;font-weight:600;color:var(--vv-accent-text);background:none;border:none;cursor:pointer}.vv-step-inote__chev{transition:transform var(--vv-dur-base) var(--vv-ease)}.vv-step-inote__chev.is-open{transform:rotate(180deg)}.vv-stepper__state-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-faint);padding:10px 16px 6px}.vv-stepper__console-reserve{margin:0 16px 16px}.vv-stepper__console{background:var(--vv-code);border:1px solid var(--vv-border);border-radius:10px;padding:6px;font-family:var(--vv-font-mono);font-size:12.5px;line-height:1.55;color:var(--vv-text)}.vv-stepper__conempty{padding:4px 8px;display:block}.vv-stepper__chipsempty,.vv-stepper__conempty{color:var(--vv-faint);font-family:var(--vv-font-ui);font-size:12px}.vv-stepper__chipsempty{display:inline-flex;align-items:center;min-height:28px}.vv-stepper__conline{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:5px 10px;border:1px solid transparent;border-radius:8px;color:var(--vv-text2)}.vv-stepper__context{min-width:0;overflow-wrap:anywhere}.vv-stepper__context.is-error{color:var(--vv-coral)}.vv-stepper__consrc{flex:none;display:inline-flex;align-items:center;gap:4px;font-family:var(--vv-font-ui);font-size:11px;color:var(--vv-faint);white-space:nowrap}.vv-stepper__consrc svg{flex:none;opacity:.9}@keyframes vv-conline-in{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}.vv-stepper__conline.is-new{animation:vv-conline-in var(--vv-dur-base) var(--vv-ease);color:var(--vv-text);border-color:var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 8%,transparent)}.vv-stepper__conline.is-new .vv-stepper__consrc{color:var(--vv-accent-text)}@media (prefers-reduced-motion:reduce){.vv-step-note-holder .vv-step-inline-note,.vv-stepper__conline.is-new{animation:none}.vv-step-note-ghost{animation:none;opacity:0}.vv-step-inline-note,.vv-step-inote__body{transition:none}}.vv-stepper__chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}.vv-chip{font-family:var(--vv-font-mono);font-size:13px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:8px;padding:5px 10px;color:var(--vv-text);transition:border-color .2s,background .2s}.vv-chip b{font-weight:400;color:var(--vv-amber)}.vv-chip--changed{background:color-mix(in srgb,var(--vv-accent) 6%,var(--vv-card));border-color:var(--vv-accent-border)}.vv-chip__new,.vv-chip__old{display:inline-block;padding:1px 8px;border-radius:6px;line-height:1.35}.vv-chip__old{background:color-mix(in srgb,var(--vv-text) 8%,transparent);border:1px solid var(--vv-border);color:var(--vv-text2)}.vv-chip__new{background:color-mix(in srgb,var(--vv-accent) 18%,transparent);border:1px solid var(--vv-accent-border);color:var(--vv-accent-text);font-weight:600}.vv-chip__arr{margin:0 6px;color:var(--vv-accent-text)}.vv-chip__badge{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;font-family:var(--vv-font-ui);font-size:10.5px;line-height:1.4;letter-spacing:.02em;color:var(--vv-text2);background:color-mix(in srgb,var(--vv-text) 8%,transparent);vertical-align:1px}.vv-stepper__progress{display:flex;align-items:center;gap:12px;padding:14px 16px;border-top:1px solid var(--vv-border)}.vv-stepper__counter{flex:none;font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text2)}.vv-stepper__scrub{flex:1;min-width:0;display:flex;gap:3px}.vv-stepper__seg{flex:1;height:6px;min-width:4px;border-radius:3px;background:var(--vv-border);border:0;padding:0;cursor:pointer;transform-origin:center;transition:background var(--vv-dur-fast) var(--vv-ease),transform var(--vv-dur-fast) var(--vv-ease)}.vv-stepper__seg--filled{background:var(--vv-accent)}@media (hover:hover){.vv-stepper__seg:hover{transform:scaleY(1.9);background:var(--vv-accent-border)}}.vv-stepper__seg.is-current{transform:scaleY(1.9)}@media (hover:hover){.vv-stepper__seg.is-current:hover{transform:scaleY(2.4)}}.vv-stepper__seg:focus-visible{outline:2px solid var(--vv-text);outline-offset:3px}.vv-scrub{position:relative;flex:1;min-width:0}.vv-scrub__track{position:relative;padding:10px 0;cursor:pointer;touch-action:none}.vv-scrub__bar{position:relative;height:6px}.vv-scrub__rail{position:absolute;top:0;bottom:0;border-radius:3px;overflow:hidden;background:var(--vv-border);transform-origin:center;transition:transform var(--vv-dur-fast) var(--vv-ease)}.vv-scrub__rail.is-hover{transform:scaleY(1.9)}.vv-scrub__rail-fill{top:0;bottom:0;transition:width var(--vv-dur-base) var(--vv-ease)}.vv-scrub__rail-fill,.vv-scrub__thumb{position:absolute;left:0;background:var(--vv-accent)}.vv-scrub__thumb{top:50%;width:13px;height:13px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--vv-card);box-shadow:0 1px 4px rgba(0,0,0,.45);pointer-events:none;z-index:2;transition:transform var(--vv-dur-fast) var(--vv-ease),left var(--vv-dur-base) var(--vv-ease)}.vv-scrub__thumb.is-active{transform:translate(-50%,-50%) scale(1.5)}.vv-scrub.is-dragging .vv-scrub__thumb{transition:transform var(--vv-dur-fast) var(--vv-ease)}.vv-scrub.is-dragging .vv-scrub__rail-fill{transition:none}.vv-scrub__ghost{position:absolute;top:50%;width:11px;height:11px;transform:translate(-50%,-50%);border-radius:50%;background:color-mix(in srgb,var(--vv-accent) 40%,var(--vv-card));border:1px solid var(--vv-card);pointer-events:none;z-index:1}.vv-scrub__track:focus{outline:none}.vv-scrub__track:focus-visible .vv-scrub__bar{outline:2px solid var(--vv-text);outline-offset:4px}.vv-scrub__tip{position:absolute;bottom:100%;margin-bottom:6px;transform:translateX(-50%);white-space:nowrap;font-size:11.5px;color:var(--vv-text);background:var(--vv-card);border:1px solid var(--vv-border-strong);border-radius:7px;padding:3px 9px;box-shadow:0 4px 14px rgba(0,0,0,.28);pointer-events:none;z-index:3}.vv-scrub__tip b{font-family:var(--vv-font-mono);font-weight:600}.vv-scrub__tip span{color:var(--vv-text2)}.vv-scrub--compact-hidden{display:none}.vv-quiz{position:relative;overflow:visible;background:var(--vv-card);border:1px solid var(--vv-border);border-radius:14px;padding:20px 22px;font-family:var(--vv-font-ui)}.vv-quiz__done{position:absolute;top:16px;right:18px;z-index:1;font-size:11px;font-weight:600;color:var(--vv-accent-text);background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);border-radius:6px;padding:3px 9px;align-items:center;gap:5px}.vv-helptip,.vv-quiz__done{display:inline-flex}.vv-cell__help{position:absolute;top:14px;right:14px;z-index:1}.vv-helptip__pop{position:fixed;left:0;top:0;z-index:1000;width:max-content;max-width:min(280px,calc(100vw - 24px));padding:8px 11px;border-radius:9px;background:var(--vv-card);color:var(--vv-text);border:1px solid var(--vv-border-strong);box-shadow:0 8px 24px rgba(0,0,0,.18);font-size:12.5px;line-height:1.4;font-weight:400;text-align:left;white-space:normal;opacity:0}.vv-helptip__pop.is-placed{animation:vv-helptip-in .18s ease-out both}@keyframes vv-helptip-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vv-helptip__pop.is-placed{animation:none;opacity:1}}@media (max-width:520px){.vv-helptip__pop{font-size:13.5px;padding:10px 14px}}.vv-cell__help-btn{width:28px;min-width:28px;height:28px;padding:0;border:0;border-radius:50%;color:var(--vv-text2);--button-bg:transparent;--button-bg-hover:transparent}@media (hover:hover){.vv-cell__help-btn:hover{color:var(--vv-text)}}.vv-quiz__done+.vv-quiz__q{max-width:calc(100% - 112px)}.vv-quiz__q{font-size:16px;font-weight:500;color:var(--vv-text);line-height:1.55;margin:0 0 15px;max-width:640px}.vv-quiz__qcode{display:block;margin:-6px 0 15px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:9px;padding:11px 14px;font-family:var(--vv-font-mono);font-size:13px;color:var(--vv-text);line-height:1.7;white-space:pre;overflow-x:auto}.vv-quiz__opts{display:flex;flex-direction:column;gap:9px}.vv-quiz__opt{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid var(--vv-border-strong);border-radius:10px;background:transparent;cursor:pointer;text-align:left;font:inherit;color:var(--vv-text);transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease),box-shadow var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-quiz__opt:hover{border-color:var(--vv-faint)}}.vv-quiz__opt:has(:focus-visible){border-color:var(--vv-text);box-shadow:inset 0 0 0 1px var(--vv-text)}.vv-quiz__opt :focus-visible{outline:none}.vv-quiz__text{flex:1 1 0%;font-size:14px;line-height:1.5;min-width:0}.vv-quiz__opt .radio__control{margin-top:0}.vv-quiz__tag{margin-left:auto;margin-top:3px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:5px;white-space:nowrap}.vv-quiz__opt--sel{border-color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 7%,transparent)}.vv-quiz__opt--correct{border-color:var(--vv-accent-border);background:var(--vv-accent-soft)}.vv-quiz__opt--correct .vv-quiz__tag{color:var(--vv-accent-text)}.vv-quiz__opt--incorrect{border-color:color-mix(in srgb,#d97676 50%,transparent);background:color-mix(in srgb,#d97676 8%,transparent)}.vv-quiz__opt--incorrect .vv-quiz__tag{color:#d97676}.vv-quiz__hintbox{padding:12px 15px;border-radius:10px;background:var(--vv-hint-bg);border:1px solid color-mix(in srgb,var(--vv-hint-text) 35%,transparent);font-size:13.5px;color:var(--vv-text);line-height:1.55}.vv-quiz__hintbox p{margin:0}.vv-quiz__hintbox p+p{margin-top:5px}.vv-quiz__hintbox-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--vv-hint-text);font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:7px}.vv-quiz__answerbox{padding:12px 15px;border-radius:10px;background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);font-size:13.5px;color:var(--vv-text);line-height:1.55}.vv-quiz__answerbox p{margin:0}.vv-quiz__answerbox-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--vv-accent-text);font-weight:700;margin-bottom:5px}.vv-quiz__actions{transform:translateZ(0);display:flex;align-items:center;gap:12px;margin-top:16px}.vv-quiz__check{font-family:inherit;font-size:13.5px;font-weight:600;padding:9px 20px;border-radius:9px;background:var(--vv-accent);color:#fff;border:0;cursor:pointer}.vv-quiz__check:disabled{background:color-mix(in srgb,var(--vv-accent) 35%,var(--vv-card));color:color-mix(in srgb,#fff 55%,transparent);cursor:not-allowed}.vv-quiz__actions .button.button--sm{height:30px;min-height:30px;padding-inline:9px;font-size:12.5px;gap:5px;align-self:center}.vv-quiz__actions .button.button--sm svg{width:14px;height:14px}.vv-quiz.is-frozen .vv-quiz__opts{opacity:.55;pointer-events:none}@media (max-width:520px){.vv-quiz{padding:16px}.vv-quiz__done{top:-11px;right:14px}.vv-quiz__done+.vv-quiz__q{max-width:none;padding-top:5px}.vv-quiz__q{font-size:15.5px}.vv-quiz__actions{flex-direction:column;align-items:stretch}.vv-quiz__check{width:100%}.vv-quiz__actions .button{align-self:center;margin-block:-6px}}.vv-inline-code{font-family:var(--vv-font-mono);font-size:.9em;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:6px;padding:1px 6px;color:var(--vv-text);line-height:1.25;display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:anywhere;margin:2px 0}.vv-nb{white-space:nowrap}.vv-nb .vv-inline-code{white-space:normal}.vv-nb__p{margin-left:.15em}.vv-kbd{font-family:var(--vv-font-mono);font-size:12px;background:var(--vv-code);border:solid var(--vv-border-strong);border-width:1px 1px 2px;border-radius:6px;padding:1px 7px;color:var(--vv-text2)}.vv-term{border-bottom:1px dashed var(--vv-faint);cursor:help;outline:none}.vv-term:focus-visible{border-bottom-color:var(--vv-accent-text)}.vv-term__pop{position:fixed;left:0;top:0;z-index:1000;width:max-content;max-width:min(280px,calc(100vw - 24px));padding:8px 12px;border-radius:10px;background:var(--vv-text);color:var(--vv-bg);font-family:var(--font-ui,var(--vv-font-ui));font-size:12.5px;line-height:1.45;font-weight:400;font-style:normal;box-shadow:0 8px 24px rgb(0 0 0/.3);pointer-events:none;opacity:0}.vv-term__pop.is-placed{animation:vv-term-in .16s var(--vv-ease) both}.vv-term__pop:after{content:"";position:absolute;left:var(--vv-term-arrow,50%);translate:-50% 0;border:6px solid transparent}.vv-term__pop:not(.is-below):after{top:100%;border-top-color:var(--vv-text)}.vv-term__pop.is-below:after{bottom:100%;border-bottom-color:var(--vv-text)}@keyframes vv-term-in{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media (prefers-reduced-motion:reduce){.vv-term__pop.is-placed{animation:none;opacity:1}}@media (max-width:520px){.vv-term__pop{font-size:13.5px;padding:10px 14px}}.vv-inline-link{color:var(--vv-accent-text);text-decoration:underline;text-underline-offset:3px}.vv-section-h{margin:32px 0 16px}:where(.vv-block,.vv-text,.vv-list,.vv-svgfig,.vv-callout,.vv-summary,.vv-quote,.vv-image,.vv-divider)+.vv-section-h{margin-top:56px}.vv-section-h h2{display:flex;align-items:center;gap:10px;font-family:var(--font-display,var(--vv-font-display));font-size:26px;font-weight:700;margin:0;color:var(--vv-text);letter-spacing:0}.vv-section-h__anchor{display:inline-flex;align-items:center;color:var(--vv-faint);text-decoration:none;opacity:0;transition:opacity var(--vv-dur-base) var(--vv-ease)}.vv-section-h__anchor:focus-visible{opacity:.85}@media (hover:hover){.vv-section-h h2:hover .vv-section-h__anchor,.vv-sub-h:hover .vv-section-h__anchor{opacity:.85}.vv-section-h__anchor:hover{color:var(--vv-accent-text);opacity:1}}@media (hover:none),(max-width:640px){.vv-section-h__anchor{opacity:.85}}.vv-section-h__desc{color:var(--vv-text2);font-size:15px;margin:8px 0 0}.vv-sub-h{display:flex;align-items:center;gap:8px;font-family:var(--font-display,var(--vv-font-display));font-size:21px;font-weight:600;margin:24px 0 8px;color:var(--vv-text);letter-spacing:0}:where(.vv-block,.vv-text,.vv-list,.vv-svgfig,.vv-callout,.vv-summary,.vv-quote,.vv-image,.vv-divider)+.vv-sub-h{margin-top:40px}.vv-callout{border-radius:12px;padding:13px 15px;margin:16px 0;font-size:14.5px;border:1px solid var(--vv-border);background:var(--vv-card)}.vv-callout__head{display:flex;align-items:center;gap:9px}.vv-callout__head+.vv-callout__body{margin-top:6px}.vv-callout__icon{flex:none;color:var(--vv-text2);display:inline-flex}.vv-callout__body p{margin:0 0 4px}.vv-callout__body p:last-child{margin-bottom:0}.vv-callout__title{font-weight:600;color:var(--vv-text);margin:0}.vv-callout--tip{position:relative;background:var(--vv-card);border-color:var(--vv-border);padding:16px 20px 16px 36px;margin:20px 0}.vv-callout--tip:before{content:"";position:absolute;left:16px;top:17px;bottom:17px;width:4px;border-radius:999px;background:var(--vv-violet)}@media (max-width:520px){.vv-callout--tip{border-left:4px solid var(--vv-violet);padding:16px}.vv-callout--tip:before{content:none}}.vv-callout__kicker{margin:0 0 7px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-violet)}.vv-callout--tip .vv-callout__title{font-size:17px;font-weight:700;color:var(--vv-text);margin:0 0 8px}.vv-callout--tip .vv-callout__body{color:var(--vv-body);line-height:1.6}.vv-callout--tip .vv-callout__body p{margin:0 0 10px}.vv-callout--tip .vv-callout__body p:last-child{margin-bottom:0}.vv-callout--warning{background:var(--vv-hint-bg);border-color:transparent}.vv-callout--warning .vv-callout__icon,.vv-callout--warning .vv-callout__title{color:var(--vv-hint-text)}.vv-callout--important{background:var(--vv-coral-bg);border-color:var(--vv-coral-border)}.vv-callout--important .vv-callout__icon,.vv-callout--important .vv-callout__title{color:var(--vv-coral)}.vv-tablefig{margin:20px 0}.vv-tablefig--narrow{margin-left:auto;margin-right:auto}.vv-tablefig__scroll{overflow-x:auto;border:1px solid var(--vv-border);border-radius:14px}.vv-tablefig table{width:100%;border-collapse:collapse;font-size:14px}.vv-tablefig th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--vv-text2);background:var(--vv-code);padding:9px 14px}.vv-tablefig td,.vv-tablefig th{border-bottom:1px solid var(--vv-border)}.vv-tablefig td{padding:8px 14px;color:var(--vv-body)}.vv-tablefig tbody tr:last-child td{border-bottom:0}.vv-tablefig td+td,.vv-tablefig th+th{border-left:1px solid var(--vv-border)}.vv-tablefig tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--vv-text) 4%,transparent)}.vv-tablefig figcaption{margin-top:8px;text-align:center;font-size:13px;color:var(--vv-faint)}.vv-tablefig .vv-inline-code{white-space:nowrap;overflow-wrap:normal}.vv-tablefig__bool--t .vv-inline-code{color:var(--vv-accent-text);background:var(--vv-accent-soft);border-color:var(--vv-accent-border)}.vv-tablefig__bool--f .vv-inline-code{color:#d97676;background:color-mix(in srgb,#d97676 9%,transparent);border-color:color-mix(in srgb,#d97676 45%,transparent)}.vv-quote{border-left:3px solid var(--vv-accent);background:var(--vv-code);border-radius:0 10px 10px 0;padding:11px 14px;margin:16px 0}.vv-quote p{margin:0;font-style:italic;color:var(--vv-text)}.vv-quote cite{display:block;margin-top:5px;font-size:12.5px;font-style:normal;color:var(--vv-text2)}.vv-divider{border:0;border-top:1px solid var(--vv-border);margin:24px 0}.vv-image{margin:16px auto;text-align:center}.vv-image--left{margin-left:0;text-align:left}.vv-image img{max-width:100%;border-radius:12px;border:1px solid var(--vv-border)}.vv-image figcaption{font-size:12.5px;color:var(--vv-text2);margin-top:6px}.vv-svgfig{margin:20px auto;text-align:center}.vv-svgfig>div{overflow-x:auto}.vv-svgfig svg{max-width:100%;height:auto;display:block;margin:0 auto}.vv-svgfig figcaption{font-size:12.5px;color:var(--vv-text2);margin-top:8px}.vv-svgfig__narrow{display:none}@media (max-width:520px){.vv-svgfig__wide{display:none}.vv-svgfig__narrow{display:block}.vv-svgfig__narrow svg{max-width:360px}}@media (max-width:600px){.vv-svgfig--scroll svg{max-width:none;min-width:520px}.vv-svgfig--scroll .vv-svgfig__narrow svg{min-width:0;max-width:360px}}.vv-bridge{display:flex;align-items:center;gap:13px;margin:16px 0;padding:13px 16px;border:1px solid var(--vv-accent-border);background:var(--vv-accent-soft);border-radius:12px;text-decoration:none}.vv-bridge__icon{width:36px;height:36px;border-radius:10px;background:var(--vv-card);border:1px solid var(--vv-accent-border);display:grid;place-items:center;color:var(--vv-accent-text);flex:none}.vv-bridge__text{display:grid;gap:1px;min-width:0}.vv-bridge__text b{color:var(--vv-text);font-size:14.5px}.vv-bridge__text span{color:var(--vv-text2);font-size:13px}.vv-bridge__arrow{margin-left:auto;color:var(--vv-accent-text)}@media (hover:hover){.vv-bridge:hover{filter:brightness(1.05)}}.vv-stepper__head{flex-wrap:nowrap}.vv-stepper__title{font-size:14px;color:var(--vv-text);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vv-stepper__counter{white-space:nowrap;font-variant-numeric:tabular-nums}.vv-stepper__ic{display:inline-flex;margin-right:7px}.vv-stepper__ic--after{margin-right:0;margin-left:7px}.vv-stepper__swap{display:inline-grid}.vv-stepper__swap>span{grid-area:1/1;justify-self:center;text-align:center}.vv-stepper__swap>.is-ghost{visibility:hidden}.vv-stepper__speed-cycle{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:30px;padding:0 10px;border-radius:8px;background:var(--vv-code);border:1px solid var(--vv-border-strong);color:var(--vv-accent-text);font-family:var(--vv-font-mono);font-size:12px;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-stepper__speed-cycle:hover{border-color:var(--vv-faint)}}.vv-reserve{display:grid}.vv-reserve>.vv-reserve__item{grid-area:1/1;min-width:0}.vv-stepper__foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:10px;border-top:0;padding-top:0}.vv-stepper__ctl{flex:none}.vv-stepper__ctl--replay{order:1}.vv-stepper__play{order:2}.vv-stepper__speed-slot{order:3;display:inline-flex}.vv-stepper__ctl--back{order:4;margin-left:auto}.vv-stepper__ctl--fwd{order:5}.vv-stepper__ic--only{display:none}.vv-stepper__ctl--icon{padding-inline:9px}.vv-stepper__ctl--icon .vv-stepper__ic{margin:0}.vv-stepper__help{display:none}.vv-stepper__hotkeys-tip{display:flex;flex-direction:column;gap:6px;padding:2px;font-size:12px}.vv-stepper__hotkeys-tip kbd{font-family:var(--vv-font-mono);font-size:11px;color:var(--vv-accent-text);background:var(--vv-code);border:1px solid var(--vv-border);border-radius:5px;padding:1px 6px;margin-right:3px}@media (min-width:821px){.vv-stepper__help{display:inline-flex}.vv-stepper__help-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;padding:0;border:0;border-radius:50%;color:var(--vv-text2);--button-bg:transparent;--button-bg-hover:transparent}@media (hover:hover){.vv-stepper__help-btn:hover{color:var(--vv-text)}}.vv-stepper__ctl--replay{width:32px;min-width:32px;padding:0;border-radius:50%}.vv-stepper__ctl--back,.vv-stepper__ctl--fwd{min-width:88px;justify-content:center}}.vv-stepper{--vvl-frame-px:72px}.vv-stepper__stage{display:grid;grid-template-columns:1fr;border-top:1px solid var(--vv-border)}.vv-stepper__stage--withstack{grid-template-columns:minmax(0,1fr) 290px}.vv-stepper__stage--withconsole{grid-template-columns:minmax(0,1fr) minmax(180px,26%)}.vv-stepper__consolecol{border-left:1px solid var(--vv-border);min-width:0;display:flex;flex-direction:column}.vv-stepper__consolecol .vv-stepper__console-reserve{margin:12px 16px 14px}.vv-stepper__consolecol-scroll{overflow-y:auto;max-height:320px;scrollbar-width:thin;scrollbar-color:var(--vv-border-strong) transparent}@media (max-width:760px){.vv-stepper__stage--withconsole{grid-template-columns:1fr}.vv-stepper__consolecol{border-left:0;border-top:1px solid var(--vv-border)}.vv-stepper__consolecol-scroll{max-height:180px}}.vv-stepper__left{min-width:0}.vv-stepper__stage .vv-step-code{border-top:0}.vv-stepper__stackcol{border-left:1px solid var(--vv-border);display:flex;flex-direction:column;min-width:0}@media (max-width:760px){.vv-stepper__stage--withstack{grid-template-columns:1fr}.vv-stepper__stackcol{border-left:0;border-top:1px solid var(--vv-border)}}.vv-stepper__stack-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 16px 9px;border-bottom:1px solid var(--vv-border)}.vv-stepper__stack-head .vv-stepper__state-label{padding:0}.vv-stepper__stack-depth{font-family:var(--vv-font-mono);font-size:11px;color:var(--vv-faint)}.vv-stepper__stack-box{margin:0 16px 14px;padding-top:12px;overflow-y:auto;height:calc(var(--reserve-rows, 0) * var(--vvl-frame-px) + 6px);scrollbar-width:thin;scrollbar-color:var(--vv-border-strong) transparent}.vv-stepper__stack-box::-webkit-scrollbar{width:6px}.vv-stepper__stack-box::-webkit-scrollbar-track{background:transparent}.vv-stepper__stack-box::-webkit-scrollbar-thumb{background:var(--vv-border-strong);border-radius:3px}@media (hover:hover){.vv-stepper__stack-box::-webkit-scrollbar-thumb:hover{background:var(--vv-faint)}}.vv-stepper__stack{display:flex;flex-direction:column}.vv-stepper__stack-empty{font-size:13px;color:var(--vv-faint);font-style:italic;padding:6px 0;text-align:center}.vv-frame-slot{margin-bottom:7px}.vv-frame-slot:last-child{margin-bottom:0}.vv-frame-slot:not(.is-leaving)>.vv-frame{animation:vv-frame-in var(--vv-dur-base) var(--vv-ease)}.vv-frame-slot.is-leaving{overflow:hidden;pointer-events:none;transition:height var(--vv-dur-base) var(--vv-ease),margin-bottom var(--vv-dur-base) var(--vv-ease),opacity var(--vv-dur-base) var(--vv-ease)}.vv-frame{border:1px solid var(--vv-border);border-radius:10px;padding:8px 11px;background:var(--vv-code)}.vv-frame--active{border-color:var(--vv-accent-border);background:var(--vv-accent-soft)}.vv-frame--ret{border-color:var(--vv-accent)}.vv-frame__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.vv-frame__fn{font-family:var(--vv-font-mono);font-size:13px;color:var(--vv-text)}.vv-frame--active .vv-frame__fn,.vv-frame__tag{color:var(--vv-accent-text)}.vv-frame__tag{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;background:var(--vv-card);border-radius:999px;padding:1px 7px;white-space:nowrap}.vv-frame__depth{font-size:11px;color:var(--vv-faint);font-family:var(--vv-font-mono)}.vv-frame__loc{color:var(--vv-text2);margin-top:3px}.vv-frame__loc,.vv-frame__ret{font-family:var(--vv-font-mono);font-size:12px}.vv-frame__ret{color:var(--vv-accent-text);margin-top:4px}@keyframes vv-frame-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes vv-chip-pulse{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}.vv-chip--changed{animation:vv-chip-pulse var(--vv-dur-base) var(--vv-ease)}.vv-stepper:focus{outline:none}.vv-stepper:focus-visible{outline:1px solid var(--vv-text);outline-offset:-1px}@media (max-width:820px){.vv-stepper__scrub{display:none}.vv-scrub--compact-hidden{display:block}.vv-step-inline-note{font-size:12.5px;padding:6px 12px 7px calc(34px + var(--vv-note-ind, 0px))}.vv-step-inline-note code{font-size:11.5px}.vv-stepper__conline{gap:8px;padding:5px 8px}.vv-stepper__consrc{font-size:10px}.vv-stepper__foot{flex-wrap:nowrap;justify-content:center;gap:10px}.vv-stepper__ctl--replay{order:1}.vv-stepper__ctl--back{order:2;margin-left:0}.vv-stepper__play{order:3}.vv-stepper__ctl--fwd{order:4}.vv-stepper__speed-slot{order:5}.vv-stepper__ctl-txt{display:none}.vv-stepper__ic{margin:0}.vv-stepper__ic--only{display:inline-flex}.vv-stepper__ctl--back,.vv-stepper__ctl--fwd,.vv-stepper__ctl--replay{width:44px;min-width:44px;height:44px;padding:0;border-radius:12px}.vv-stepper__ctl--fwd{--button-bg:transparent;--button-bg-hover:color-mix(in srgb,var(--vv-text) 6%,transparent);--button-fg:var(--vv-text);border:1px solid var(--vv-border-strong)}.vv-stepper__play{--button-bg:var(--vv-accent);--button-bg-hover:var(--vv-accent);--button-fg:var(--vv-on-accent);width:58px;min-width:58px;height:58px;padding:0;border-radius:50%}.vv-stepper__play .vv-stepper__swap{display:none}.vv-stepper__speed-cycle{min-width:56px;height:44px;border-radius:12px;font-size:13px}.vv-stepper{--vvl-frame-px:60px}.vv-frame{padding:6px 10px}}@media (prefers-reduced-motion:reduce){.vv-scrub__rail,.vv-scrub__rail-fill,.vv-scrub__thumb,.vv-step-code__hl,.vv-step-code__mark,.vv-stepper__seg{transition:none}.vv-chip--changed,.vv-frame-slot>.vv-frame{animation:none}.vv-frame-slot.is-leaving{transition:none}.vv-step-line__ann{animation:none}.vv-morph{transition:none}}.vv-quiz__reveal{display:grid;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows var(--vv-dur-base) var(--vv-ease),margin-top var(--vv-dur-base) var(--vv-ease)}.vv-quiz__reveal.is-open{grid-template-rows:1fr;margin-top:13px}.vv-quiz__reveal-clip{overflow:hidden;min-height:0}.vv-quiz__reveal .vv-quiz__answerbox,.vv-quiz__reveal .vv-quiz__hintbox{opacity:0;transition:opacity var(--vv-dur-base) var(--vv-ease)}.vv-quiz__reveal.is-open .vv-quiz__answerbox,.vv-quiz__reveal.is-open .vv-quiz__hintbox{opacity:1}.vv-quiz__answerbox .vv-inline-code{background:color-mix(in srgb,var(--vv-text) 8%,transparent);border-color:color-mix(in srgb,var(--vv-accent-border) 75%,transparent)}.vv-quiz .radio__control{border:1px solid var(--vv-border-strong)}.vv-quiz .radio__content:not([data-selected]) .radio__control{background:var(--vv-bg)}@media (hover:hover){.vv-quiz .radio__content:not([data-selected]):hover .radio__control{background:color-mix(in srgb,var(--vv-text) 10%,var(--vv-bg))}}.vv-cell--quiz-multi .vv-quiz__q{margin-bottom:6px}.vv-quiz-multi__subhint{font-size:12.5px;color:var(--vv-faint);font-weight:400;margin:0 0 15px}.vv-cell--quiz-multi .vv-quiz__opt{align-items:center}.vv-cell--quiz-multi .vv-quiz__tag{margin-top:0}.vv-cell--quiz-multi .vv-quiz__opt>span:not([class]):not([style]){display:contents}.vv-cell--quiz-multi .checkbox__control{width:20px;height:20px;border-radius:5px;border:2px solid var(--vv-faint);background:transparent;box-shadow:none}.vv-cell--quiz-multi .checkbox__control:before{border-radius:3px}.vv-cell--quiz-multi .checkbox[aria-checked=true] .checkbox__control,.vv-cell--quiz-multi .checkbox[data-selected=true] .checkbox__control{border-color:var(--accent,var(--vv-text));background:var(--accent,var(--vv-text))}.vv-cell--quiz-multi .checkbox__indicator,.vv-cell--quiz-multi .checkbox__indicator svg{width:13px;height:13px}.vv-quiz-multi__opt--missed .vv-quiz__tag{color:var(--vv-text2)}.vv-quiz-multi__status{margin-left:auto;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.vv-quiz-multi__status--ok{color:var(--vv-accent-text)}.vv-quiz-multi__status--no{color:#d97676}.vv-quiz-multi__status--partial{color:var(--vv-text2)}@media (max-width:520px){.vv-quiz-multi__status{margin-left:0;justify-content:center}}.vv-cell--pick .vv-pick__sub{font-size:12.5px;color:var(--vv-faint);margin:-9px 0 14px}.vv-pick__code{display:flex;flex-direction:column;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:10px;padding:11px;font-family:var(--vv-font-mono);font-size:13.5px;line-height:1.6;color:var(--vv-text);overflow-x:auto}.vv-pick__line{display:flex;align-items:center;gap:12px;padding:var(--vv-pick-py,4px) 11px;border-radius:7px;border:1px solid transparent;background:transparent;cursor:pointer;white-space:pre;font:inherit;color:inherit;text-align:left;width:100%;min-width:max-content;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-pick__line:not(:disabled):hover{background:color-mix(in srgb,var(--vv-text) 6%,transparent)}}.vv-pick__line{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media (hover:none){.vv-pick__line{--vv-pick-py:11px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.vv-pick__line:disabled{cursor:default}.vv-pick__line:focus-visible{outline:2px solid var(--vv-text);outline-offset:-2px}.vv-pick__num{color:var(--vv-faint);min-width:14px;text-align:right;user-select:none;flex:none}.vv-pick__text{flex:1}.vv-pick__st{display:inline-flex;align-items:center;gap:5px;margin-left:auto;padding-left:12px;font-family:var(--vv-font-ui);font-size:11px;font-weight:700;white-space:nowrap}.vv-pick__line--sel{border-color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 7%,transparent)}.vv-pick__line--correct{border-color:var(--vv-accent-border);background:var(--vv-accent-soft)}.vv-pick__line--correct .vv-pick__st{color:var(--vv-accent-text)}.vv-pick__line--wrong{border-color:color-mix(in srgb,#d97676 50%,transparent);background:color-mix(in srgb,#d97676 8%,transparent)}.vv-pick__line--wrong .vv-pick__st{color:#d97676}.vv-pick__line--correct:has(+.vv-pick__line--correct),.vv-pick__line--sel:has(+.vv-pick__line--sel),.vv-pick__line--wrong:has(+.vv-pick__line--wrong){border-bottom-width:0;padding-bottom:calc(var(--vv-pick-py, 4px) + 1px);border-bottom-left-radius:0;border-bottom-right-radius:0}.vv-pick__line--correct+.vv-pick__line--correct,.vv-pick__line--sel+.vv-pick__line--sel,.vv-pick__line--wrong+.vv-pick__line--wrong{border-top-width:0;padding-top:calc(var(--vv-pick-py, 4px) + 1px);border-top-left-radius:0;border-top-right-radius:0}@media (hover:none){.vv-pick__code{gap:8px}.vv-pick__line--correct:has(+.vv-pick__line--correct),.vv-pick__line--sel:has(+.vv-pick__line--sel),.vv-pick__line--wrong:has(+.vv-pick__line--wrong){border-bottom-width:1px;padding-bottom:var(--vv-pick-py);border-bottom-left-radius:7px;border-bottom-right-radius:7px}.vv-pick__line--correct+.vv-pick__line--correct,.vv-pick__line--sel+.vv-pick__line--sel,.vv-pick__line--wrong+.vv-pick__line--wrong{border-top-width:1px;padding-top:var(--vv-pick-py);border-top-left-radius:7px;border-top-right-radius:7px}}.vv-cell--pick.is-frozen .vv-pick__code{opacity:.55;pointer-events:none}.vv-pick__code.is-nudge{animation:vv-pick-nudge .8s var(--vv-ease) 1}.vv-pick__code.is-nudge-part{animation-name:vv-pick-nudge-part}.vv-pick__code.is-nudge-bad{animation-name:vv-pick-nudge-bad}@keyframes vv-pick-nudge{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vv-accent) 45%,transparent)}to{box-shadow:0 0 0 14px transparent}}@keyframes vv-pick-nudge-part{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--vv-amber) 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}@keyframes vv-pick-nudge-bad{0%{box-shadow:0 0 0 0 color-mix(in srgb,#d97676 55%,transparent)}to{box-shadow:0 0 0 14px transparent}}.vv-pick__verdict{display:inline-flex;align-items:center;gap:6px;margin:10px 2px 0;font-size:12.5px;font-weight:700;color:#d97676}.vv-pick__progress{margin:8px 2px 0;font-size:12.5px;font-weight:600;color:var(--vv-hint-text)}@media (max-width:520px){.vv-pick__code{font-size:12.5px}}.vv-fillblank__list{display:flex;flex-direction:column;align-items:stretch;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:10px;padding:4px 16px;overflow-x:auto}.vv-fillblank__row{display:flex;flex-direction:column;align-items:flex-start;padding:12px 0}.vv-fillblank__div{border-top:1px solid var(--vv-border)}.vv-fillblank__label{min-width:0;margin-bottom:8px;font-size:14px;line-height:1.5;color:var(--vv-body)}.vv-fillblank__expr{display:inline-flex;align-items:center;white-space:pre;font-family:var(--vv-font-mono);font-size:13.5px;color:var(--vv-text)}.vv-fillblank__codeseg{white-space:pre}.vv-fillblank__input,.vv-fillblank__slot{margin:0 2px;padding:2px 6px;text-align:center;font-family:var(--vv-font-mono);font-size:13px;color:var(--vv-text);background:var(--vv-bg);border:1px solid var(--vv-border-strong);border-radius:6px;box-sizing:content-box;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}.vv-fillblank__input{cursor:text}.vv-fillblank__ph{color:var(--vv-faint)}.vv-fillblank__input.is-empty,.vv-fillblank__slot.is-empty{border-style:dashed}.vv-fillblank__input.is-filled,.vv-fillblank__slot.is-filled{border-color:var(--vv-text2)}.vv-fillblank__slot.is-active{border-color:var(--vv-text);border-style:solid;background:color-mix(in srgb,var(--vv-text) 6%,transparent)}@media (hover:hover){.vv-fillblank__input:not(:read-only):hover,.vv-fillblank__slot:not(:disabled):hover{border-color:var(--vv-text2);background:color-mix(in srgb,var(--vv-text) 5%,transparent)}}.vv-fillblank__input:focus-visible,.vv-fillblank__slot:focus-visible{outline:none;border-color:var(--vv-text)}.vv-fillblank__input.is-ok,.vv-fillblank__slot.is-ok{border-color:var(--vv-accent-border);background:var(--vv-accent-soft);cursor:default}.vv-fillblank__input.is-no,.vv-fillblank__slot.is-no{border-color:color-mix(in srgb,#d97676 60%,transparent);background:color-mix(in srgb,#d97676 10%,transparent)}.vv-fillblank__palette{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.vv-fillblank__choice{min-width:44px;min-height:36px;padding:4px 12px;font-family:var(--vv-font-mono);font-size:13.5px;color:var(--vv-text);background:var(--vv-card);border:1px solid var(--vv-border-strong);border-radius:8px;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-fillblank__choice:not(:disabled):hover{border-color:var(--vv-text2);background:color-mix(in srgb,var(--vv-text) 6%,transparent)}}.vv-fillblank__choice:focus-visible{outline:2px solid var(--vv-text);outline-offset:-1px}.vv-fillblank__choice:disabled{opacity:.45;cursor:default}.vv-fillblank__selwrap{display:inline-flex;margin:0 2px}.vv-fillblank__selwrap .vv-fillblank__trigger{min-height:30px;font-family:var(--vv-font-mono);font-size:13px;background:color-mix(in srgb,var(--vv-code) 82%,#000)}.vv-fillblank__selwrap.is-ok .vv-fillblank__trigger{border-color:var(--vv-accent-border);background:var(--vv-accent-soft)}.vv-fillblank__selwrap.is-no .vv-fillblank__trigger{border-color:color-mix(in srgb,#d97676 60%,transparent);background:color-mix(in srgb,#d97676 10%,transparent)}.vv-cell--fillblank.is-frozen .vv-fillblank__list{opacity:.75}.vv-fillblank__anscode{margin:0 0 8px;padding:10px 12px;font-family:var(--vv-font-mono);font-size:12.5px;line-height:1.7;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:8px;overflow-x:auto}@media (max-width:560px){.vv-fillblank__expr{font-size:12.5px}}.vv-cell--match .vv-match__rows{display:grid;grid-template-columns:minmax(0,max-content) auto minmax(150px,1fr);gap:11px 12px;align-items:center}.vv-match__row{display:contents}.vv-match__term{font-family:var(--vv-font-mono);font-size:13.5px;color:var(--vv-text);min-width:0;max-width:380px;overflow-wrap:break-word}.vv-match__term--text{font-family:var(--vv-font-ui);font-size:15px;line-height:1.45}.vv-match__term .vv-inline-code{font-size:13.5px}.vv-match__arrow{color:var(--vv-faint);flex:none;display:inline-flex;align-items:center}.vv-match__selwrap{position:relative;min-width:0;--focus:var(--vv-text);--color-focus:var(--vv-text)}.vv-match__select{width:100%;gap:0}.vv-match__selwrap .select__trigger{width:100%;justify-content:space-between}.vv-match__row.is-correct .select__trigger{box-shadow:inset 0 0 0 1px var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 8%,var(--vv-bg))}.vv-match__row.is-wrong .select__trigger{box-shadow:inset 0 0 0 1px color-mix(in srgb,#d97676 55%,transparent);background:color-mix(in srgb,#d97676 8%,var(--vv-bg))}.vv-match__status{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;line-height:1;pointer-events:none;white-space:nowrap}.vv-match__row.is-correct .vv-match__status{color:var(--vv-accent-text)}.vv-match__row.is-wrong .vv-match__status{color:#d97676}.vv-match__row.is-correct .select__trigger,.vv-match__row.is-wrong .select__trigger{padding-inline-end:104px}.vv-cell--match.is-frozen .vv-match__rows{opacity:.55;pointer-events:none}.vv-match__pairs{margin-top:2px}.vv-match__pair{display:flex;align-items:center;gap:10px;line-height:1.5;padding:6px 0}.vv-match__pair+.vv-match__pair{border-top:1px solid color-mix(in srgb,var(--vv-accent-border) 55%,transparent)}.vv-match__pairleft{flex:1 1 0;min-width:0}.vv-match__pairarrow{flex:none;display:inline-flex;align-items:center;color:var(--vv-accent-text)}.vv-match__pairval{flex:1 1 0;min-width:0;font-weight:600;color:var(--vv-accent-text)}.vv-cell--match .vv-quiz__answerbox .vv-match__why{margin-top:8px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--vv-accent-border) 55%,transparent)}@media (max-width:600px){.vv-cell--match{padding:14px 12px}.vv-cell--match .vv-match__rows{gap:14px}.vv-cell--match .vv-match__rows,.vv-match__row{display:flex;flex-direction:column;align-items:stretch}.vv-match__row{gap:6px}.vv-match__term{min-width:0;max-width:none}.vv-match__arrow{display:none}.vv-match__selwrap{width:100%}.vv-match__row.is-correct .select__trigger,.vv-match__row.is-wrong .select__trigger{padding-inline-end:50px}.vv-match__status-word{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}}.vv-order__list{display:flex;flex-direction:column;gap:var(--vv-order-gap,8px)}.vv-order__row{display:flex;align-items:center;gap:11px;padding:var(--vv-order-py,10px) 13px;border:1px solid var(--vv-border-strong);border-radius:9px;background:color-mix(in srgb,var(--vv-text) 3%,var(--vv-card));cursor:grab;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;transition:border-color var(--vv-dur-base) var(--vv-ease),background var(--vv-dur-base) var(--vv-ease)}.vv-order__row:focus{outline:none}.vv-order__num{font-family:var(--vv-font-mono);font-size:12px;min-width:14px;text-align:center}.vv-order__grip,.vv-order__num{color:var(--vv-faint);flex:none;user-select:none}.vv-order__grip{font-size:13px;letter-spacing:-2px;cursor:grab;touch-action:none}.vv-order__text{font-family:var(--vv-font-mono);font-size:13px;color:var(--vv-text);flex:1;min-width:0;white-space:pre;overflow-x:auto}.vv-order__status{display:inline-flex;align-items:center;font-size:12px;font-weight:700;margin-left:auto;flex:none}.vv-order__row.dragging{box-shadow:0 8px 22px rgba(0,0,0,.35);border-color:var(--vv-text);position:relative;z-index:5;cursor:grabbing}.vv-cell--order.is-frozen .vv-order__row{cursor:default}.vv-order__row.dragging .vv-order__grip{cursor:grabbing}.vv-order__row.is-correct{border-color:var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 9%,var(--vv-card))}.vv-order__row.is-correct .vv-order__num,.vv-order__row.is-correct .vv-order__status{color:var(--vv-accent-text)}.vv-order__row.is-wrong{border-color:color-mix(in srgb,#d97676 50%,transparent);background:color-mix(in srgb,#d97676 8%,var(--vv-card))}.vv-order__row.is-wrong .vv-order__status{color:#d97676}.vv-order__row:focus{border-color:var(--vv-text)}.vv-order__movehint{font-size:11.5px;color:var(--vv-faint);margin:8px 0 0}.vv-order__step{display:block;margin-bottom:3px}.vv-order__step:last-of-type{margin-bottom:0}.vv-order__step-num{font-family:var(--vv-font-mono);color:var(--vv-accent-text);margin-right:8px}.vv-order__step-text{font-family:var(--vv-font-mono);font-size:12.5px;background:color-mix(in srgb,var(--vv-text) 8%,transparent);border-radius:4px;padding:1px 5px}.vv-order__why{margin-top:10px}.vv-cell--order.is-frozen .vv-order__list{opacity:.55;pointer-events:none}@media (max-width:600px){.vv-order__text{font-size:12px}}@media (hover:none){.vv-order__list{--vv-order-gap:10px}.vv-order__row{--vv-order-py:11px;min-height:44px}.vv-order__text{overflow-x:visible;white-space:pre-wrap;overflow-wrap:anywhere}}.vv-distribute__pool{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border:1px dashed var(--vv-border-strong);border-radius:11px;min-height:46px;margin-bottom:16px}.vv-distribute__pool-hint{font-size:12px;color:var(--vv-faint)}.vv-distribute__chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--vv-border-strong);border-radius:8px;background:color-mix(in srgb,var(--vv-text) 4%,var(--vv-card));color:var(--vv-text);font-family:var(--vv-font-mono);font-size:13px;line-height:1.4;text-align:left;cursor:grab;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-distribute__chip:hover{border-color:var(--vv-faint)}}.vv-distribute__grip{color:var(--vv-faint);font-size:12px;letter-spacing:-2px;touch-action:none}.vv-distribute__chiptext{min-width:0}.vv-distribute__chip .vv-inline-code{font-size:inherit}.vv-distribute__chip.is-picked{border-color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 7%,var(--vv-card))}.vv-distribute__chip.is-ghost{opacity:.35;border-style:dashed}.vv-distribute__chip--drag{width:100%;box-sizing:border-box;pointer-events:none;margin:0;border-color:var(--vv-text);box-shadow:0 8px 22px rgba(0,0,0,.35);cursor:grabbing}.vv-distribute__buckets{display:flex;gap:12px}.vv-distribute__bucket{flex:1 1 0;min-width:0;border:1px solid var(--vv-border);border-radius:12px;padding:12px;background:color-mix(in srgb,var(--vv-text) 2%,var(--vv-card));display:flex;flex-direction:column;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}.vv-distribute__bucket.is-target{border-color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 6%,var(--vv-card))}.vv-distribute__bucket-label{font-size:12.5px;font-weight:600;color:var(--vv-text);margin-bottom:10px;text-align:center}.vv-distribute__zone{display:flex;flex-direction:column;gap:7px;flex:1;min-height:74px}.vv-distribute__zone .vv-distribute__chip{width:100%}.vv-distribute__chip.is-locked{cursor:default;touch-action:auto}.vv-distribute__grip,.vv-order__grip{display:inline-flex;align-items:center;flex:none}.vv-cell--distribute.is-frozen .vv-distribute__chip,.vv-cell--distribute.is-frozen .vv-distribute__grip,.vv-cell--order.is-frozen .vv-order__grip,.vv-distribute__chip.is-locked .vv-distribute__grip{cursor:default}.vv-distribute__status{display:inline-flex;align-items:center;font-size:11px;font-weight:700;margin-left:auto;padding-left:2px}.vv-distribute__chip.is-correct{border-color:var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 12%,var(--vv-card))}.vv-distribute__chip.is-correct .vv-distribute__status{color:var(--vv-accent-text)}.vv-distribute__chip.is-wrong{border-color:color-mix(in srgb,#d97676 55%,transparent);background:color-mix(in srgb,#d97676 10%,var(--vv-card))}.vv-distribute__chip.is-wrong .vv-distribute__status{color:#d97676}.vv-distribute__drop{font-family:inherit;display:flex;align-items:center;justify-content:center;border:1px dashed var(--vv-border-strong);border-radius:8px;background:none;color:var(--vv-faint);font-size:11.5px;text-align:center;padding:8px;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease),color var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-distribute__drop:hover{border-color:var(--vv-faint);color:var(--vv-text2)}}.vv-distribute__drop--empty{flex:1}.vv-distribute__ansrow{display:block;margin-bottom:3px}.vv-distribute__ansrow b{color:var(--vv-accent-text)}.vv-distribute__whylabel{margin-top:10px}.vv-cell--distribute.is-frozen .vv-distribute__buckets,.vv-cell--distribute.is-frozen .vv-distribute__pool{opacity:.55;pointer-events:none}@media (max-width:600px){.vv-distribute__buckets{flex-direction:column}}.vv-text-input__field{position:relative}.vv-text-input__wordhint{margin:9px 0 0;font-size:12px;color:var(--vv-text2);display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:999px}.vv-text-input__wordhint:before{content:"";flex:none;width:5px;height:5px;border-radius:999px;background:var(--vv-accent)}.vv-text-input__input{width:100%;padding:11px 14px;border:1px solid var(--vv-border-strong);border-radius:9px;background:var(--vv-bg);color:var(--vv-text);font-size:14px;font-family:var(--vv-font-mono);box-sizing:border-box;transition:border-color var(--vv-dur-base) var(--vv-ease),background var(--vv-dur-base) var(--vv-ease),opacity var(--vv-dur-base) var(--vv-ease)}.vv-text-input__input::placeholder{color:var(--vv-faint)}.vv-text-input__input:focus-visible,.vv-trace__input:focus-visible{outline:none}.vv-text-input__input:focus{outline:none;border-color:var(--vv-accent-border)}.vv-text-input__field.is-focus .vv-text-input__input{border-color:var(--vv-text)}.vv-text-input__field.is-correct .vv-text-input__input{border-color:var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 10%,var(--vv-bg))}.vv-text-input__field.is-wrong .vv-text-input__input{border-color:color-mix(in srgb,#d97676 45%,transparent);background:color-mix(in srgb,#d97676 9%,var(--vv-bg))}.vv-text-input__field.is-correct .vv-text-input__input,.vv-text-input__field.is-wrong .vv-text-input__input{padding-right:96px}.vv-text-input__status{display:inline-flex;align-items:center;gap:5px;position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none}.vv-text-input__status--ok{color:var(--vv-accent-text)}.vv-text-input__status--no{color:#d97676}.vv-text-input__input:disabled{opacity:1;cursor:default}.vv-cell--text-input.is-frozen .vv-text-input__input{opacity:.55}.vv-cell--trace .vv-trace__code{background:var(--vv-code);border:1px solid var(--vv-border);border-radius:10px;padding:13px 15px;margin-bottom:16px;font-family:var(--vv-font-mono);font-size:13px;line-height:1.8;color:var(--vv-text);overflow-x:auto}.vv-trace__line{display:flex;gap:12px;white-space:pre}.vv-trace__ln{flex:none;min-width:14px;text-align:right;color:var(--vv-faint);user-select:none}.vv-trace__tablewrap{overflow-x:auto}.vv-trace__table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:320px}.vv-trace__table th{font-size:11.5px;font-weight:600;color:var(--vv-text2);text-align:center;padding:8px 32px;border-bottom:1px solid var(--vv-border-strong)}.vv-trace__table th code{font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text)}.vv-trace__th-step{text-align:left!important}.vv-trace__table td{padding:6px 32px;border-bottom:1px solid var(--vv-border);text-align:center}.vv-trace__table tbody tr:last-child td{border-bottom:0}.vv-trace__table .vv-trace__pad{width:50%;padding:0}.vv-trace__table thead .vv-trace__pad{border-bottom:1px solid var(--vv-border-strong)}.vv-trace__table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--vv-text) 4%,transparent)}.vv-trace__table td.vv-trace__step{text-align:left}.vv-trace__step{text-align:left;font-size:12.5px;color:var(--vv-text2);white-space:nowrap}.vv-trace__step-code{font-family:var(--vv-font-mono);font-size:12px;color:var(--vv-text)}.vv-trace__given{font-family:var(--vv-font-mono);color:var(--vv-text2)}.vv-trace__cell{position:relative}.vv-trace__input{width:58px;max-width:100%;padding:6px 4px;border:1px solid var(--vv-border-strong);border-radius:6px;background:var(--vv-bg);color:var(--vv-text);font-family:var(--vv-font-mono);font-size:13px;text-align:center;box-sizing:border-box;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease)}.vv-trace__input::placeholder{color:var(--vv-faint)}@media (hover:hover){.vv-trace__input--empty:hover,.vv-trace__input--filled:hover{border-color:var(--vv-text2);background:color-mix(in srgb,var(--vv-text) 5%,var(--vv-bg))}}.vv-trace__input:focus-visible{outline:none;border-color:var(--vv-text)}.vv-trace__input[readonly]:focus,.vv-trace__input[readonly]:focus-visible{outline:none}.vv-trace__input--empty{border-style:dashed}.vv-trace__input--filled{border-color:var(--vv-text)}.vv-trace__input--ok{border-color:var(--vv-accent-border);background:color-mix(in srgb,var(--vv-accent) 12%,var(--vv-bg))}.vv-trace__input--no{border-color:color-mix(in srgb,#d97676 55%,transparent);background:color-mix(in srgb,#d97676 10%,var(--vv-bg))}.vv-trace__anstable{width:100%;border-collapse:collapse;font-size:12.5px;margin:2px 0 4px}.vv-trace__anstable td,.vv-trace__anstable th{padding:4px 8px;text-align:center;border-bottom:1px solid var(--vv-accent-border);font-family:var(--vv-font-mono)}.vv-trace__anstable th{color:var(--vv-accent-text);font-weight:600}.vv-trace__anstable td:first-child,.vv-trace__anstable th:first-child{text-align:left;color:var(--vv-text2)}.vv-cell--trace.is-frozen .vv-trace__tablewrap{opacity:.55;pointer-events:none}.vv-cell--viz{padding:0}.vv-viz__stage{border-bottom:1px solid var(--vv-border)}.vv-viz__caption{margin:0;padding:9px 14px 0;font-size:13px;color:var(--vv-text2);min-height:49px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vv-viz__controls{display:flex;align-items:center;gap:8px;row-gap:10px;flex-wrap:wrap;padding:8px 12px 12px}.vv-viz__controls>.button{flex:none}.vv-viz__speed-slot{display:inline-flex;flex:none}.vv-viz__nav{flex:1 1 0;min-width:160px;display:flex;align-items:center;gap:12px;margin-left:4px}.vv-viz__nav .vv-scrub__rail-fill{transition:none}.vv-viz__skeleton{background:var(--vv-code)}@media (max-width:820px){.vv-viz__nav{flex:1 1 100%;order:-1;margin-left:0;min-width:0}.vv-viz__controls{justify-content:center;gap:10px}.vv-viz__controls>.button{width:44px;min-width:44px;height:44px;border-radius:12px}.vv-viz__controls>.vv-viz__play{width:52px;min-width:52px;height:52px;border-radius:50%}}.vv-vizpanel{background:var(--vv-card);border:1px solid var(--vv-border);border-radius:14px;overflow:hidden}.vv-vizpanel:focus-visible{outline:none;border-color:var(--vv-border-strong)}.vv-vizpanel__main{display:grid;grid-template-columns:minmax(0,1fr) 232px;grid-template-rows:auto auto;border-top:1px solid var(--vv-border)}.vv-vizpanel__stagewrap{grid-column:1;grid-row:1}.vv-vizpanel__stage,.vv-vizpanel__stagewrap{position:relative;min-width:0}.vv-vizpanel__stage canvas{display:block}.vv-vizpanel__quick{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:2}.vv-vizpanel input:focus,.vv-vizpanel input:focus-visible,.vv-vizpanel input[data-focus-visible],.vv-vizpanel input[data-focused]{outline:1.5px solid var(--vv-text);outline-offset:0;box-shadow:none}.vv-vizpanel__follow.is-on{border-color:var(--vv-accent-border);color:var(--vv-accent-text)}.vv-vizpanel__pause{min-width:140px}.vv-vizpanel__history-col{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-left:1px solid var(--vv-border);overflow-y:auto;height:0;min-height:100%;grid-column:2;grid-row:1/-1}.vv-vizpanel__status{position:absolute;left:10px;bottom:10px;z-index:2;max-width:min(72%,520px);padding:8px 12px;background:color-mix(in srgb,var(--vv-card) 88%,transparent);border:1px solid var(--vv-border);border-radius:10px;font-size:13px;line-height:1.45;color:var(--vv-text2);pointer-events:none}.vv-vizpanel__status.is-error{border-color:color-mix(in srgb,var(--vv-coral,#d97676) 55%,transparent);color:var(--vv-coral,#d97676)}.vv-vizpanel__ops{display:flex;flex-flow:row wrap;align-items:flex-start;gap:10px;padding:12px 16px}.vv-vizpanel__ops .vv-btngroup .select__trigger,.vv-vizpanel__ops .vv-btngroup input{height:32px;min-height:32px}.vv-vizpanel__ops .vv-btngroup .select__trigger{padding-bottom:3px}.vv-vizpanel__legend{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--vv-faint)}.vv-vizpanel.is-fs-fallback,.vv-vizpanel:fullscreen{display:flex;flex-direction:column;border-radius:0}.vv-vizpanel.is-fs-fallback{position:fixed;inset:0;z-index:60;overflow:auto}.vv-vizpanel.is-fs-fallback .vv-vizpanel__main,.vv-vizpanel:fullscreen .vv-vizpanel__main{flex:1;min-height:0;grid-template-rows:1fr auto}.vv-vizpanel.is-fs-fallback .vv-vizpanel__stage,.vv-vizpanel:fullscreen .vv-vizpanel__stage{height:100%}.vv-vizpanel__opgroup{display:inline-flex;gap:4px;align-items:center}.vv-vizpanel__fill{max-width:220px}.vv-vizpanel__param{max-width:160px}.vv-vizpanel__param--num{max-width:110px}.vv-vizpanel__transport{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 12px 12px 16px;border-top:1px solid var(--vv-border)}.vv-vizpanel__speed{margin-left:auto}.vv-vizpanel__tgroup{display:flex;gap:6px;align-items:center}.vv-vizpanel__history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px}.vv-vizpanel__hitem{display:flex;align-items:center;gap:6px;width:100%;background:color-mix(in srgb,var(--vv-text) 3%,transparent);border:1px solid var(--vv-border);border-radius:7px;padding:4px 8px;color:var(--vv-text);cursor:pointer;text-align:left;font:inherit;font-size:12.5px;line-height:1.35}@media (hover:hover){.vv-vizpanel__hitem:hover:not(:disabled){border-color:var(--vv-border-strong);background:color-mix(in srgb,var(--vv-text) 7%,transparent)}}.vv-vizpanel__htext{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;word-break:break-word}.vv-vizpanel__hjump{margin-left:auto;flex:none;opacity:0;color:var(--vv-text2);transition:opacity var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-vizpanel__hitem:hover:not(:disabled) .vv-vizpanel__hjump{opacity:1}}.vv-vizpanel__hitem.is-current{border-color:var(--vv-accent-border)}.vv-vizpanel__hitem.is-current .vv-vizpanel__hjump{display:none}.vv-vizpanel__hinfo{display:block;padding:3px 6px;color:var(--vv-faint)}@media (max-width:820px){.vv-vizpanel__ops{padding-left:12px;padding-right:12px}.vv-vizpanel__ops .vv-btngroup{flex:1 1 100%}.vv-vizpanel__opgroup{flex-wrap:wrap}.vv-vizpanel__transport{padding-left:12px;padding-right:12px}.vv-vizpanel__speed{margin-left:0}.vv-vizpanel__fill{max-width:none;flex:1 1 100%}.vv-vizpanel__main{grid-template-columns:1fr}.vv-vizpanel__history-col{display:none}}.vv-vizpanel__speed-cycle{display:none}@media (max-width:520px){.vv-vizpanel__transport .vv-vizpanel__blabel{display:none}.vv-vizpanel__pause{min-width:0}.vv-vizpanel__speed{display:none}.vv-vizpanel__speed-cycle{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:32px;padding:0 8px;border-radius:10px;background:var(--vv-code);border:1px solid var(--vv-border-strong);color:var(--vv-accent-text);font-family:var(--vv-font-mono);font-size:12.5px;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-vizpanel__speed-cycle:hover{border-color:var(--vv-faint)}}}.vv-yesno__opts{display:flex;gap:10px;margin-top:4px}.vv-yesno__btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:84px;padding:9px 22px;border:1px solid var(--vv-border-strong);border-radius:9px;background:transparent;color:var(--vv-text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:border-color var(--vv-dur-fast) var(--vv-ease),background var(--vv-dur-fast) var(--vv-ease),box-shadow var(--vv-dur-fast) var(--vv-ease)}@media (hover:hover){.vv-yesno__btn:hover:not(:disabled){border-color:var(--vv-faint)}}.vv-yesno__btn:focus-visible{outline:none;border-color:var(--vv-text);box-shadow:inset 0 0 0 1px var(--vv-text)}.vv-yesno__btn--sel{border-color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 7%,transparent)}.vv-yesno__btn--correct{border-color:var(--vv-accent-border);background:var(--vv-accent-soft);color:var(--vv-accent-text)}.vv-yesno__btn--wrong{border-color:color-mix(in srgb,#d97676 50%,transparent);background:color-mix(in srgb,#d97676 8%,transparent);color:#d97676}.vv-yesno__mark{display:inline-flex}.vv-cell--yesno.is-frozen .vv-yesno__btn:disabled{cursor:default}.vv-cell--task{padding:0;overflow:hidden}.vv-task__head{display:flex;align-items:flex-start;gap:14px;padding:15px 16px 0}.vv-task__title{flex:1;font-size:16px;font-weight:600;color:var(--vv-text);margin:0;line-height:1.35;padding-top:3px}.vv-task__actions{display:flex;gap:9px;flex:none}.vv-task__check,.vv-task__run{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;padding:8px 15px;border-radius:9px;cursor:pointer;border:1px solid transparent;font-family:inherit;transition:background var(--vv-dur-fast) var(--vv-ease),border-color var(--vv-dur-fast) var(--vv-ease),filter var(--vv-dur-fast) var(--vv-ease),opacity var(--vv-dur-fast) var(--vv-ease)}.vv-task__run{background:var(--vv-code);color:var(--vv-text);border-color:var(--vv-border-strong)}@media (hover:hover){.vv-task__run:hover:not(:disabled){border-color:var(--vv-faint)}}.vv-task__check{background:var(--vv-accent);color:#fff}@media (hover:hover){.vv-task__check:hover:not(:disabled){filter:brightness(1.07)}}.vv-task__check:disabled,.vv-task__run:disabled{opacity:.55;cursor:default}.vv-task__btn-ic{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none}.vv-task__btn-ic>*{max-width:14px;max-height:14px}.vv-task__desc{padding:11px 16px 15px}.vv-task__desc-body{position:relative;max-width:68ch;max-height:46px;overflow:hidden;font-size:14px;color:var(--vv-body);line-height:1.6;transition:max-height var(--vv-dur-base) var(--vv-ease)}.vv-task__desc-body code{font-family:var(--vv-font-mono);font-size:12.5px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:5px;padding:1px 6px}.vv-task__desc.is-clamped .vv-task__desc-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;background:linear-gradient(transparent,var(--vv-card));pointer-events:none}.vv-task__more{margin-top:7px;display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--vv-accent-text);background:none;border:0;padding:0;cursor:pointer;font-weight:500}@media (hover:hover){.vv-task__more:hover{text-decoration:underline}}.vv-task__more--hint{margin:2px 0 4px 2px;color:var(--vv-hint-text);text-decoration:underline;text-underline-offset:3px}@media (hover:hover){.vv-task__more--hint:hover{color:color-mix(in srgb,var(--vv-hint-text) 80%,var(--vv-text))}}.vv-task__swap{display:inline-grid;text-align:left}.vv-task__swap>span{grid-area:1/1;white-space:nowrap}.vv-task__swap>span[aria-hidden=true]{visibility:hidden}.vv-task__chev{transition:transform var(--vv-dur-base) var(--vv-ease)}.vv-task__chev.is-open{transform:rotate(180deg)}.vv-task__editor{border-top:1px solid var(--vv-border);background:var(--cg-p-card)}.vv-demo{margin:22px 0}.vv-demo__game{max-width:488px;margin:0 auto}.vv-demo__bar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:10px}.vv-demo__toggle{display:inline-flex;flex-shrink:0;padding:8px 14px;border-radius:999px;background:var(--vv-card);font-size:13px}.vv-demo__toggle,.vv-demo__toggle .switch__content{align-items:center}.vv-demo__stage{position:relative;line-height:0;border-radius:12px;overflow:hidden;outline:none}.vv-demo__stage:focus-visible{box-shadow:0 0 0 2px var(--vv-accent-border)}.vv-demo__canvas{display:block;width:100%;cursor:pointer}.vv-demo__overlay{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--vv-code) 46%,transparent)}.vv-demo__win{font-size:15px;font-weight:700;color:var(--vv-accent-text)}.vv-demo__win--lost{color:var(--vv-coral)}.vv-demo__play{font:inherit;font-size:15px;font-weight:600;color:var(--vv-accent-foreground,#fff);background:var(--vv-accent);border:none;border-radius:999px;padding:14px 28px;margin-top:8px;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb,var(--vv-accent) 45%,transparent)}@media (hover:hover){.vv-demo__play:hover{filter:brightness(1.06)}}.vv-demo__keys{font-size:12px;color:var(--vv-text2);line-height:1.4;background:color-mix(in srgb,var(--vv-bg) 78%,transparent);padding:3px 10px;border-radius:999px}.vv-demo__game.is-off .vv-demo__play{cursor:default;filter:grayscale(.6) brightness(.85)}.vv-demo__status{margin:10px 0 14px;min-height:3em;font-size:12.5px;color:var(--vv-accent-text);line-height:1.5}.vv-demo__game.is-off .vv-demo__status{color:var(--vv-coral)}.vv-demo__caption{margin:10px auto 0;text-align:center;font-size:13px;color:var(--vv-faint);max-width:560px}.vv-demo__build{max-width:488px;margin:0 auto}.vv-demo__build--shop{max-width:620px}.vv-demo__hq{margin:4px 0 14px;text-align:center;font-size:15px;font-weight:600;color:var(--vv-text)}.vv-demo__hsteps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:0 24px 14px}.vv-demo__hline{position:absolute;left:16.67%;right:16.67%;top:13px;height:2px;background:var(--vv-border-strong);border-radius:2px}.vv-demo__hline i{display:block;height:100%;border-radius:2px;background:var(--vv-accent);transition:width .7s cubic-bezier(.3,.8,.3,1)}.vv-demo__hstep{position:relative;display:grid;justify-items:center;gap:1px}.vv-demo__hdot{display:grid;place-items:center;width:26px;height:26px;margin-bottom:4px;border-radius:50%;border:2px solid var(--vv-border-strong);background:var(--vv-bg);color:var(--vv-faint);font-size:12px;font-weight:700;line-height:1;transition:background .45s ease,border-color .45s ease,color .45s ease}.vv-demo__hstep.is-on .vv-demo__hdot{border-color:var(--vv-accent);background:var(--vv-accent);color:var(--vv-accent-foreground,#fff)}.vv-demo__hname{font-size:12.5px;font-weight:600;color:var(--vv-faint);transition:color .45s ease}.vv-demo__hstep.is-on .vv-demo__hname{color:var(--vv-text)}.vv-demo__hsub{font-size:11px;color:var(--vv-faint)}.vv-demo__cta{display:flex;justify-content:center;margin:16px 0 12px}.vv-shop{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--vv-border-strong);border-radius:12px;background:#fff;color:#111;padding:14px 16px;font-family:Times New Roman,Times,serif;font-size:15px;line-height:1.4;transition:background-color .8s ease .9s}.vv-shop>.vv-shop__ghost,.vv-shop__scene{grid-area:1/1;min-width:0}.vv-shop>.vv-shop__ghost{display:block;visibility:hidden;pointer-events:none;padding:0;border:none;box-shadow:none}.vv-shop>.vv-shop__ghost,.vv-shop>.vv-shop__ghost *{animation:none!important;transition:none!important}.vv-shop__head{margin:0 0 6px}.vv-shop__logo{display:block;font-size:20px;font-weight:700}.vv-shop__meta{margin-right:14px;font-size:14px}.vv-shop__filters{margin:6px 0 8px}.vv-shop__grid{margin:0 0 8px;padding-left:26px;list-style:disc}.vv-shop__card{margin:3px 0}.vv-shop__pic{margin-right:5px}.vv-shop__name,.vv-shop__price{margin-right:7px}.vv-shop__price{color:#444}.vv-shop__row{display:inline}.vv-shop__buy,.vv-shop__chip,.vv-shop__fav,.vv-shop__page{font:13.3333px Arial,sans-serif;color:#000;background:#efefef;border:1px solid #767676;border-radius:2px;padding:1px 7px;margin-right:4px;cursor:pointer}.vv-shop__badges{display:inline-flex;gap:6px;margin-left:auto}.vv-shop__badge{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 7px 0 5px;background:#fff;border:1px solid #dfe5e1;border-radius:999px;box-shadow:0 2px 6px rgba(20,40,30,.08);animation:vv-shop-badge .55s cubic-bezier(.2,.9,.3,1.25) both}.vv-shop__badge-check{width:16px;height:16px;flex:none}.vv-shop__badge-tick{stroke-dasharray:1;stroke-dashoffset:1;animation:vv-shop-tick .35s ease-out .3s both}.vv-shop__badge-logo{width:17px;height:18px;flex:none;animation:vv-shop-badge-logo .4s cubic-bezier(.2,.9,.3,1.3) .15s both}@keyframes vv-shop-badge{0%{opacity:0;transform:translateY(-8px) scale(.6)}to{opacity:1;transform:none}}@keyframes vv-shop-tick{to{stroke-dashoffset:0}}@keyframes vv-shop-badge-logo{0%{opacity:0;transform:scale(.2) rotate(-25deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vv-shop__badge,.vv-shop__badge-logo{animation:none}.vv-shop__badge-tick{animation:none;stroke-dashoffset:0}}.vv-shop.is-css{font-family:var(--vv-font-ui);background:#f4f6f5}.vv-shop.is-css .vv-shop__head{display:flex;align-items:center;gap:10px;margin:0 0 12px;animation:vv-shop-fade .45s ease both}.vv-shop.is-css .vv-shop__logo{flex:1;font-family:var(--font-display,var(--vv-font-display));font-size:18px;letter-spacing:0}.vv-shop.is-css .vv-shop__meta{margin:0;font-size:12.5px;font-weight:600;color:#33473c;background:#e6efe9;border-radius:999px;padding:4px 11px;animation:vv-shop-fade .45s ease .12s both}.vv-shop.is-css .vv-shop__filters{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;animation:vv-shop-fade .45s ease .2s both}.vv-shop.is-css .vv-shop__chip{font:600 12.5px var(--vv-font-ui);color:#3c463f;background:#fff;border:1px solid #d7ded9;border-radius:999px;padding:5px 12px;margin:0;transition:background .2s,color .2s,border-color .2s}.vv-shop.is-css .vv-shop__chip.is-active{background:#16a34a;border-color:#16a34a;color:#fff}.vv-shop.is-css .vv-shop__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 12px;padding:0;list-style:none}.vv-shop.is-css .vv-shop__card{display:grid;justify-items:center;gap:2px;margin:0;background:#fff;border:1px solid #e2e8e4;border-radius:12px;padding:12px 10px 10px;box-shadow:0 3px 10px rgba(20,40,30,.06);animation:vv-shop-card .5s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(.24s + var(--i) * 90ms)}.vv-shop.is-css .vv-shop__pic{margin:0;font-size:42px;line-height:1.15;animation:vv-shop-pic .45s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(.42s + var(--i) * 90ms)}.vv-shop.is-css .vv-shop__name{margin:0;font-size:13.5px;font-weight:600}.vv-shop.is-css .vv-shop__price{margin:0 0 6px;font-size:12.5px;font-weight:600;color:#16a34a}.vv-shop.is-css .vv-shop__row{display:flex;align-items:center;gap:6px}.vv-shop.is-css .vv-shop__buy{font:600 12px var(--vv-font-ui);color:#fff;background:#16a34a;border:none;border-radius:8px;padding:6px 12px;margin:0;transition:filter .15s}@media (hover:hover){.vv-shop.is-css .vv-shop__buy:hover{filter:brightness(1.07)}}.vv-shop.is-css .vv-shop__fav{display:grid;place-items:center;width:30px;height:29px;margin:0;padding:0;font-size:15px;line-height:1;color:#9aa39d;background:#fff;border:1px solid #dfe5e1;border-radius:8px;transition:color .15s,border-color .15s,background .15s}.vv-shop.is-css .vv-shop__fav.is-on{color:#e5484d;border-color:#f2c1c3;background:#fdf3f4}.vv-shop.is-css .vv-shop__pager{display:flex;justify-content:center;gap:6px;animation:vv-shop-fade .4s ease .85s both}.vv-shop.is-css .vv-shop__page{display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;font:600 12.5px var(--vv-font-ui);color:#3c463f;background:#fff;border:1px solid #d7ded9;border-radius:8px}.vv-shop.is-css .vv-shop__page.is-active{background:#16a34a;border-color:#16a34a;color:#fff}.vv-shop.is-css .vv-shop__buy,.vv-shop.is-css .vv-shop__logo{white-space:nowrap}@media (max-width:520px){.vv-shop{padding:12px}.vv-shop.is-css .vv-shop__head{flex-wrap:wrap;gap:8px}.vv-shop.is-css .vv-shop__logo{flex:1 1 auto;font-size:17px}.vv-shop.is-css .vv-shop__badges{order:1}.vv-shop.is-css .vv-shop__head:after{content:"";flex-basis:100%;height:0;order:2}.vv-shop.is-css .vv-shop__meta{order:3}.vv-shop.is-css .vv-shop__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.vv-shop.is-css .vv-shop__card{padding:10px 8px 8px}.vv-shop.is-css .vv-shop__pic{font-size:36px}.vv-shop.is-css .vv-shop__buy{padding:6px 10px}}.vv-shop.is-js .vv-shop__card,.vv-shop.is-js .vv-shop__pic{animation-duration:.28s;animation-delay:calc(var(--i) * 40ms)}.vv-shop.is-js .vv-shop__cartn{display:inline-block;animation:vv-shop-pop .3s ease}@keyframes vv-shop-fade{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes vv-shop-card{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vv-shop-pic{0%{transform:scale(.55)}to{transform:scale(1)}}@keyframes vv-shop-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.vv-demo__baskets{max-width:560px;margin:0 auto}.vv-demo__basket{min-height:74px;border:1px solid var(--vv-border-strong);border-radius:14px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;align-content:flex-start}.vv-demo__basket--prim{margin:0 0 14px}.vv-demo__basket legend{padding:2px 10px;margin-left:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vv-text2);background:var(--vv-bg);border-radius:999px}.vv-demo__bplaced{display:inline-flex;align-items:center;gap:7px;background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);border-radius:9px;padding:5px 10px}.vv-demo__basket--obj .vv-demo__bplaced{background:color-mix(in srgb,var(--vv-violet) 14%,transparent);border-color:color-mix(in srgb,var(--vv-violet) 45%,transparent)}.vv-demo__bplaced em.vv-term{cursor:help}.vv-demo__basket--falsy{margin:0 0 14px}.vv-demo__basket--falsy .vv-demo__bplaced{background:var(--vv-coral-bg);border-color:var(--vv-coral-border)}.vv-demo__basket--falsy .vv-demo__bplaced code{color:var(--vv-coral)}.vv-demo__basket--truthy .vv-demo__bplaced code{color:var(--vv-accent-text)}.vv-demo__bplaced--more{background:transparent;border-style:dashed;border-color:var(--vv-border-strong);color:var(--vv-text2);font-size:12.5px;font-style:italic}.vv-demo__bplaced code{font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text)}.vv-demo__bplaced em{font-style:normal;font-family:var(--vv-font-mono);font-size:10.5px;color:var(--vv-accent-text);background:var(--vv-card);border:1px solid var(--vv-accent-border);border-radius:6px;padding:1px 6px}.vv-demo__basket--obj .vv-demo__bplaced em{color:var(--vv-violet);border-color:color-mix(in srgb,var(--vv-violet) 45%,transparent)}.vv-demo__mod{max-width:536px;margin:0 auto}.vv-demo__mod-formula{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.vv-demo__mod-field,.vv-demo__mod-formula{font-family:var(--vv-font-mono);font-size:18px}.vv-demo__mod-field{width:62px;padding:5px 8px;text-align:center;color:var(--vv-text);background:var(--vv-code);border:1px solid var(--vv-border-strong);border-radius:8px}.vv-demo__mod-field:focus-visible{outline:none;border-color:var(--vv-accent);box-shadow:0 0 0 2px var(--vv-accent-border)}.vv-demo__mod-op{color:var(--vv-text2)}.vv-demo__mod-dials{display:inline-flex;gap:3px}.vv-demo__mod-dialbtn{min-width:30px;padding:5px 7px;cursor:pointer;font-family:var(--vv-font-mono);font-size:15px;color:var(--vv-text2);background:var(--vv-code);border:1px solid var(--vv-border);border-radius:8px}@media (hover:hover){.vv-demo__mod-dialbtn:hover{color:var(--vv-text);border-color:var(--vv-border-strong)}}.vv-demo__mod-dialbtn.is-on{color:var(--vv-accent-text);font-weight:700;background:var(--vv-accent-soft);border-color:var(--vv-accent-border)}.vv-demo__mod-res{min-width:34px;text-align:center;font-size:18px;font-weight:700;color:var(--vv-faint)}.vv-demo__mod-res.is-done{color:var(--vv-accent-text)}.vv-demo__mod-stage{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:14px;padding:10px;border-radius:12px;outline:none}.vv-demo__mod-stage:focus-visible{box-shadow:0 0 0 2px var(--vv-accent)}.vv-demo__mod-dial{width:196px;flex:none}.vv-demo__mod-hand{transform-box:view-box;transform-origin:98px 98px;transition:transform var(--vv-mod-step,.16s) cubic-bezier(.34,1.2,.64,1)}.vv-demo__mod-stage[data-mode=spin] .vv-demo__mod-hand{transition-timing-function:linear}.vv-demo__mod-hand.is-instant{transition:none}.vv-demo__mod-mark text{fill:var(--vv-text2)}.vv-demo__mod-mark .vv-demo__mod-halo{fill:none;stroke:none}.vv-demo__mod-mark.is-seen text{fill:var(--vv-text)}.vv-demo__mod-mark.is-seen .vv-demo__mod-halo{fill:color-mix(in srgb,var(--vv-text) 8%,transparent);stroke:var(--vv-border)}.vv-demo__mod-mark.is-on text{fill:var(--vv-accent-text);font-weight:700}.vv-demo__mod-mark.is-on .vv-demo__mod-halo{fill:var(--vv-accent-soft);stroke:var(--vv-accent-border)}.vv-demo__mod-lapring.is-flash{animation:vv-mod-lap .52s var(--vv-ease)}@keyframes vv-mod-lap{0%{opacity:.9;r:76}to{opacity:0;r:88}}.vv-demo__mod-tape{width:296px;height:186px;overflow-x:auto;overflow-y:hidden}.vv-demo__mod-tape.is-short{display:flex;align-items:center}.vv-demo__mod-rows{width:max-content;margin:0 auto;transition:transform var(--vv-mod-step,.16s) linear}.vv-demo__mod-row{display:flex;align-items:center;gap:3px;margin-bottom:3px}.vv-demo__mod-lap{width:34px;flex:none;text-align:right;margin-right:4px;font-size:10px;color:var(--vv-faint)}.vv-demo__mod-cell{min-width:26px;padding:3px 4px;text-align:center;font-family:var(--vv-font-mono);font-size:12px;color:var(--vv-faint);border:1px solid transparent;border-radius:6px}.vv-demo__mod-cell.is-visited{color:var(--vv-text2);border-color:var(--vv-border)}.vv-demo__mod-cell.is-now{font-weight:700;background:var(--vv-accent-soft)}.vv-demo__mod-cell.is-col,.vv-demo__mod-cell.is-now{color:var(--vv-accent-text);border-color:var(--vv-accent-border)}.vv-demo__mod-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.vv-demo__mod-bar,.vv-demo__mod-laps{align-items:center;justify-content:center}.vv-demo__mod-laps{font-size:12px;color:var(--vv-text2);font-variant-numeric:tabular-nums;min-width:152px;height:var(--vv-mod-bar-h,32px);display:inline-flex;padding:0 12px;border:1px solid var(--vv-border);border-radius:999px;box-sizing:border-box;gap:.3em}.vv-demo__mod-go{min-width:152px}.vv-demo__mod-laps.is-bump{animation:vv-mod-bump .3s var(--vv-ease)}@keyframes vv-mod-bump{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}.vv-demo__mod-status{min-height:3.5em;margin:10px 0 0;text-align:center;font-size:13px;color:var(--vv-text2);line-height:1.5}.vv-demo__mod.is-warn .vv-demo__mod-status{color:var(--vv-coral)}@media (max-width:520px){.vv-demo__mod-stage{gap:12px;padding:4px}.vv-demo__mod-dial{margin:-6px 0 -8px}.vv-demo__mod-tape{width:100%;height:auto}.vv-demo__mod-tape:not(.is-short){height:201px}.vv-demo__mod-lap{width:28px;margin-right:2px;font-size:10px}.vv-demo__mod-row{gap:2px}.vv-demo__mod-row:last-child{margin-bottom:0}.vv-demo__mod-cell{min-width:30px;padding:4px 2px;font-size:14px;line-height:1.5}.vv-demo__mod-bar{margin-top:10px}.vv-demo__mod-status{min-height:4.5em}}@media (prefers-reduced-motion:reduce){.vv-demo__mod-hand,.vv-demo__mod-rows{transition:none}.vv-demo__mod-lapring.is-flash,.vv-demo__mod-laps.is-bump{animation:none}}.vv-snippet{margin:20px 0}.vv-ccmp__frame{overflow:hidden}.vv-ccmp__title{font-size:13.5px;color:var(--vv-text);margin:0;padding:10px 16px}.vv-ccmp__head,.vv-ccmp__title{font-weight:600;border-bottom:1px solid var(--vv-border)}.vv-ccmp__head{display:flex;align-items:center;gap:7px;padding:8px 16px;font-size:12px;color:var(--vv-text2)}.vv-ccmp__head+.vv-ccmp__pre+.vv-ccmp__head{border-top:1px solid var(--vv-border)}.vv-ccmp__lang{font-size:12px;color:var(--vv-faint);text-transform:uppercase;letter-spacing:.06em}.vv-ccmp__head--good{color:var(--vv-accent-text)}.vv-ccmp__head--bad{color:#d97676}.vv-ccmp__verdict{display:inline-flex}.vv-ccmp__pre.vv-codeblock__pre{border-top:0;border-bottom:0}.vv-ccmp__pre--nonum .vv-step-line{padding-left:16px}.vv-ccmp__pre--alt{--cg-tok-keyword:var(--cg-p-blue);--cg-tok-function:var(--cg-p-purple);--cg-tok-property:var(--cg-p-gold);--cg-tok-string:var(--cg-p-amber);--cg-tok-regex:var(--cg-p-amber);--cg-tok-number:var(--cg-p-gold);--cg-tok-builtin:var(--cg-p-blue);--cg-tok-constant:var(--cg-p-purple)}.vv-ccmp__frame:has(+.vv-ccmp__caption){border-bottom:1px solid var(--vv-border)}.vv-ccmp__caption{padding:10px 16px;font-size:13.5px;color:var(--vv-text2);max-width:640px}.vv-snippet__frame{overflow:hidden}.vv-snippet__desc{padding:11px 16px 12px;border-bottom:1px solid var(--vv-border)}.vv-snippet__desc-body{position:relative;max-width:68ch;max-height:46px;overflow:hidden;font-size:14px;color:var(--vv-body);line-height:1.6;transition:max-height var(--vv-dur-base) var(--vv-ease)}.vv-snippet__desc-body code{font-family:var(--vv-font-mono);font-size:12.5px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:5px;padding:1px 6px}.vv-snippet__desc.is-clamped .vv-snippet__desc-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;background:linear-gradient(transparent,var(--vv-card));pointer-events:none}.vv-snippet__more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:0;font:inherit;font-size:12.5px;color:var(--vv-text2);background:none;border:none;cursor:pointer}@media (hover:hover){.vv-snippet__more:hover{color:var(--vv-text)}}.vv-snippet__chev{transition:transform var(--vv-dur-base) var(--vv-ease)}.vv-snippet__chev.is-open{transform:rotate(180deg)}.vv-snippet__editor{background:var(--cg-p-card)}.vv-snippet__editor .cm-line{padding:0 16px 0 4px;width:max-content;min-width:100%}.vv-snippet__bar{display:flex;align-items:center;gap:14px;padding:10px 12px;border-top:1px solid var(--vv-border)}.vv-snippet__btn-ic{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.vv-snippet__reset{font:inherit;font-size:12.5px;color:var(--vv-text2);background:none;border:none;border-bottom:1px solid transparent;cursor:pointer;padding:0}@media (hover:hover){.vv-snippet__reset:not(:disabled):hover{color:var(--vv-text);border-bottom-color:currentColor}}.vv-snippet__reset:disabled{opacity:.45;cursor:default}.vv-snippet__reveal{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--vv-dur-base) var(--vv-ease)}.vv-snippet__reveal.is-open{grid-template-rows:1fr}.vv-snippet__reveal-in{overflow:hidden;min-height:0}.vv-snippet__contoggle{margin-left:auto}.vv-snippet__console{padding:10px 14px 12px;border-top:1px dashed var(--vv-border);background:var(--vv-code);font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;line-height:1.65;color:var(--vv-body,var(--vv-text))}.vv-snippet__idle{color:var(--vv-faint);font-family:var(--vv-font-ui)}.vv-snippet__error,.vv-snippet__line{white-space:pre-wrap}.vv-snippet__error{color:var(--vv-coral)}.vv-snippet__line.is-warn{color:var(--vv-hint-text)}.vv-snippet__line.is-error{color:var(--vv-coral)}.vv-rules{margin:22px 0;border:1px solid var(--vv-border);border-radius:14px;background:var(--vv-card);overflow:hidden}.vv-rules__title{margin:0;padding:12px 18px 10px;font-size:13.5px;font-weight:600;color:var(--vv-text2);border-bottom:1px solid var(--vv-border)}.vv-rules__list{margin:0;padding:0;list-style:none}.vv-rules__item{display:flex;align-items:flex-start;gap:12px;padding:12px 18px}.vv-rules__item+.vv-rules__item{border-top:1px solid var(--vv-border)}.vv-rules__badge{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.vv-rules__item--ok .vv-rules__badge{background:var(--vv-accent-soft);color:var(--vv-accent-text);border:1px solid var(--vv-accent-border)}.vv-rules__item--no .vv-rules__badge{background:color-mix(in srgb,var(--vv-coral) 16%,transparent);color:var(--vv-coral);border:1px solid color-mix(in srgb,var(--vv-coral) 55%,transparent)}.vv-rules__item--info .vv-rules__badge{background:var(--vv-code);color:var(--vv-text);border:1px solid color-mix(in srgb,var(--vv-text) 38%,transparent)}.vv-rules__text{flex:1;min-width:0;font-size:14.5px;line-height:1.55;color:var(--vv-text)}.vv-rules__code{flex-shrink:0;align-self:center;font-family:var(--vv-font-mono);font-size:12.5px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:7px;padding:3px 10px;color:var(--vv-text2);white-space:nowrap}@media (max-width:560px){.vv-rules__item{display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;row-gap:8px;align-items:start}.vv-rules__code{grid-column:2;justify-self:start;margin-left:0;max-width:100%;overflow-x:auto}}.vv-summary{margin:24px 0;padding:20px 24px;background:var(--vv-card);border:1px solid var(--vv-border);border-radius:14px}.vv-summary__title{margin:0 0 16px;font-family:var(--vv-font-ui);font-size:12.5px;letter-spacing:.08em;color:var(--vv-faint)}.vv-summary__list{margin:0;padding:0;list-style:none;display:grid;gap:14px}.vv-summary__item{display:flex;align-items:baseline;gap:16px}.vv-summary__num{flex-shrink:0;font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-violet)}.vv-summary__text{font-size:14.5px;line-height:1.55;color:var(--vv-text)}.vv-task__files{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--vv-border);background:var(--vv-card);overflow-x:auto}.vv-task__file{font:inherit;font-size:12.5px;font-family:JetBrains Mono,ui-monospace,monospace;color:var(--vv-text2);background:none;border:none;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;padding:6px 10px;cursor:pointer;white-space:nowrap}@media (hover:hover){.vv-task__file:hover{color:var(--vv-text);background:var(--vv-code)}}.vv-task__file.is-active{color:var(--vv-accent-text);border-bottom-color:var(--vv-accent)}.vv-task__file.is-ro{opacity:.62}.vv-task__file.is-ro:after{content:"🔒";font-size:9px;margin-left:5px;vertical-align:1px}.vv-task__editor .cm-line{padding-right:16px;width:max-content;min-width:100%}.vv-task__console{border-top:1px solid var(--vv-border)}.vv-task__smooth{overflow:hidden;transition:height .28s var(--vv-ease)}.vv-task__smooth-inner{display:flow-root}@media (prefers-reduced-motion:reduce){.vv-snippet__reveal,.vv-task__smooth{transition:none}}.vv-task__console-head{display:flex;align-items:center;gap:12px;padding:8px 12px;background:color-mix(in srgb,var(--vv-text) 3%,var(--vv-card))}.vv-task__tabs{display:flex;gap:3px}.vv-task__tab{font-size:12.5px;padding:6px 11px;border-radius:7px;background:none;border:0;color:var(--vv-text2);cursor:pointer;font-family:inherit;display:inline-flex;align-items:baseline;gap:7px}@media (hover:hover){.vv-task__tab:hover{color:var(--vv-text)}}.vv-task__tab.is-active{background:var(--vv-card);color:var(--vv-text)}.vv-task__badge{display:inline-flex;min-width:21px;height:17px;padding:0 7px;border-radius:6px;background:color-mix(in srgb,var(--vv-text) 10%,var(--vv-card));border:1px solid var(--vv-border-strong);color:var(--vv-text);font-size:10.5px;font-weight:600;align-items:center;justify-content:center;position:relative;top:-1px}.vv-task__badge--warn{background:var(--vv-hint-bg);border-color:color-mix(in srgb,var(--vv-hint-text) 35%,transparent);color:var(--vv-hint-text)}.vv-task__done{display:inline-flex;align-items:center;gap:5px;margin-left:9px;vertical-align:-.5px;font-size:11px;color:var(--vv-accent-text);background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);border-radius:6px;padding:2px 8px}.vv-task__done,.vv-task__sum{font-weight:600;white-space:nowrap}.vv-task__sum{margin-left:auto;font-size:13px}.vv-task__dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;vertical-align:middle;margin-right:7px}.vv-task__sum--none{color:var(--vv-faint)}.vv-task__sum--ok{color:var(--vv-accent-text)}.vv-task__sum--partial{color:var(--vv-hint-text)}.vv-task__sum--err{color:#d97676}.vv-task__fold{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-left:2px;background:none;border:0;border-radius:7px;color:var(--vv-text2);cursor:pointer}@media (hover:hover){.vv-task__fold:hover{color:var(--vv-text);background:color-mix(in srgb,var(--vv-text) 7%,transparent)}}.vv-task__console-body{border-top:1px solid var(--vv-border)}.vv-practice__work.is-fill .vv-task__console-body{height:var(--vv-task-conh,auto);overflow-y:auto}.vv-practice__work.is-fill .vv-task__console.is-folded .vv-task__console-body{height:auto}.vv-task__conrz{display:none}.vv-practice__work.is-fill .vv-task__conrz{display:block;height:9px;margin:-4px 0 -5px;cursor:row-resize;position:relative;z-index:3;touch-action:none}.vv-practice__work.is-fill .vv-task__conrz:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:5px;background:var(--vv-border-strong);border:1px solid var(--vv-card);border-radius:4px;transition:background .15s}@media (hover:hover){.vv-practice__work.is-fill .vv-task__conrz:hover:after{background:var(--vv-accent)}}.vv-task__console.is-folded .vv-task__console-body{border-top-color:transparent}.vv-task__ph{padding:14px;font-size:12.5px;color:var(--vv-faint);margin:0}.vv-task__tr{padding:9px 12px;border-bottom:1px solid var(--vv-border)}.vv-task__tr:last-child{border-bottom:0}.vv-task__tr-top{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.vv-task__ic{flex:none;display:flex;align-items:center;height:17px}.vv-task__tr--ok .vv-task__ic{color:var(--vv-accent-text)}.vv-task__tr--no .vv-task__ic{color:#d97676}.vv-task__call{font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text);line-height:1.5;word-break:break-word}.vv-task__arrow{color:var(--vv-faint);display:inline-flex;align-items:center;height:17px}.vv-task__val{font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text)}.vv-task__cmp{margin:7px 0 1px}.vv-task__cmp--in{margin-left:22px}.vv-task__inline{font-size:12.5px;color:var(--vv-text2);font-family:var(--vv-font-mono);line-height:1.65}.vv-task__inline code{color:var(--vv-text)}.vv-task__got-pill{background:color-mix(in srgb,#d97676 20%,transparent);border-radius:5px;padding:1px 7px;font-weight:600}.vv-task__reason{display:inline-block;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#ecb0a7;background:color-mix(in srgb,#d97676 15%,transparent);border:1px solid color-mix(in srgb,#d97676 32%,transparent);border-radius:5px;padding:1px 6px;margin-left:8px}.vv-task__pass{margin:6px 0 1px 22px}.vv-task__pass-t{font-size:12px;color:var(--vv-text2);background:none;border:0;padding:0;cursor:pointer}@media (hover:hover){.vv-task__pass-t:hover{color:var(--vv-text)}}.vv-task__valbody{margin:6px 0 0;font-family:var(--vv-font-mono);font-size:12.5px;line-height:1.6;color:var(--vv-text);background:var(--vv-code);border:1px solid var(--vv-border);border-radius:8px;padding:8px 11px;white-space:pre;overflow-x:auto}.vv-task__panel-cmp{border:1px solid var(--vv-border);border-radius:9px;overflow:hidden;background:var(--vv-code)}.vv-task__sect{padding:7px 0}.vv-task__sect+.vv-task__sect{border-top:1px solid var(--vv-border)}.vv-task__sect--got{box-shadow:inset 3px 0 0 #d97676}.vv-task__cmp-lbl{display:block;padding:0 11px;margin-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--vv-faint)}.vv-task__cmp-lbl--got{color:color-mix(in srgb,#d97676 72%,var(--vv-faint));display:flex;align-items:center}.vv-task__codeb{margin:0;font-family:var(--vv-font-mono);font-size:12.5px;line-height:1.6;color:var(--vv-text);padding:0 11px;white-space:pre;overflow-x:auto}.vv-task__codeb-hl{display:block;margin:0 -11px;padding:0 11px;background:color-mix(in srgb,var(--vv-hint-text) 9%,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--vv-hint-text) 50%,transparent)}.vv-task__sect--got .vv-task__codeb-hl{background:color-mix(in srgb,#d97676 13%,transparent);box-shadow:inset 2px 0 0 #d97676}.vv-task__err{border:1px solid color-mix(in srgb,#d97676 32%,transparent);border-radius:9px;background:color-mix(in srgb,#d97676 12%,transparent);padding:9px 12px}.vv-task__err-lbl{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:#ecb0a7;margin-bottom:4px}.vv-task__err-msg{font-family:var(--vv-font-mono);font-size:12px;color:var(--vv-text);line-height:1.5}.vv-task__err-msg b{color:#ecb0a7;font-weight:600}.vv-task__codeerr{font-family:var(--vv-font-mono);font-size:12px;color:var(--vv-text);background:color-mix(in srgb,#d97676 12%,transparent);border:1px solid color-mix(in srgb,#d97676 32%,transparent);border-radius:9px;padding:10px 12px;margin:11px 12px}.vv-task__codeerr b{color:#ecb0a7}.vv-task__log{font-family:var(--vv-font-mono);font-size:12.5px;color:var(--vv-text);padding:11px 14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.vv-task__log-row--warn{color:var(--vv-hint-text)}.vv-task__log-more{display:inline-flex;align-items:center;gap:4px;margin-top:6px;font-size:12.5px;font-family:var(--vv-font-ui);color:var(--vv-accent-text);background:none;border:0;padding:0;cursor:pointer;font-weight:500}@media (hover:hover){.vv-task__log-more:hover{text-decoration:underline}}.vv-task__log-row--error{color:#d97676}.vv-task__log-err{font-family:var(--vv-font-mono);font-size:12px;color:var(--vv-text);background:color-mix(in srgb,#d97676 12%,transparent);border-bottom:1px solid color-mix(in srgb,#d97676 32%,transparent);padding:10px 14px}.vv-task__log-err b{color:#ecb0a7}.vv-task__aux{border-top:1px solid var(--vv-border);padding:12px 16px 14px}.vv-task__aux-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.vv-task__aux .vv-quiz__reveal .vv-task__solbox{opacity:0;transition:opacity var(--vv-dur-base) var(--vv-ease)}.vv-task__aux .vv-quiz__reveal.is-open .vv-task__solbox{opacity:1}.vv-task__sol-code{border:1px solid var(--vv-border);border-radius:9px;overflow:hidden;background:var(--cg-p-card)}.vv-task__sol-explain{margin:11px 0 0;max-width:68ch;font-size:13.5px;color:var(--vv-body);line-height:1.6}.vv-task__sol-explain code{font-family:var(--vv-font-mono);font-size:12px;background:var(--vv-code);border:1px solid var(--vv-border);border-radius:5px;padding:1px 5px}.vv-task__insert{margin-top:16px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--vv-accent-text);background:none;border:0;padding:0;cursor:pointer;font-weight:600}@media (hover:hover){.vv-task__insert:hover{text-decoration:underline}}@media (max-width:820px){.vv-task__head{flex-wrap:wrap;gap:10px;padding:13px 13px 0}.vv-task__title{flex:1 1 100%;padding-top:0}.vv-task__actions{width:100%}.vv-task__check,.vv-task__run{flex:1;justify-content:center;min-height:40px}.vv-task__desc{padding:10px 13px 13px}.vv-task__console-head{flex-wrap:wrap;row-gap:6px;padding:7px 10px}.vv-task__tr{padding:8px 10px}.vv-task__cmp--in,.vv-task__pass{margin-left:0}.vv-task__log{padding:10px 12px;font-size:12px}.vv-task__aux{padding:10px 13px 12px}}.vv-practice{height:100vh;display:flex;flex-direction:column;background:var(--vv-bg);color:var(--vv-body)}.vv-practice__topbar{flex:none;height:52px;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--vv-card);border-bottom:1px solid var(--vv-border)}.vv-practice__back{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--vv-text2);background:none;border:1px solid var(--vv-border-strong);border-radius:8px;padding:7px 12px;cursor:pointer;text-decoration:none;font-family:inherit}@media (hover:hover){.vv-practice__back:hover{background:color-mix(in srgb,var(--vv-text) 7%,transparent);color:var(--vv-text)}}.vv-practice__crumb{color:var(--vv-text2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vv-practice__crumb b{color:var(--vv-text);font-weight:600}.vv-practice__passed{display:inline-flex;align-items:center;gap:5px;margin-left:9px;padding:2px 9px 2px 7px;border-radius:11px;background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);color:var(--vv-accent-text);font-size:11.5px;font-weight:700;vertical-align:middle}.vv-practice__layout{flex:1;display:flex;min-height:0}.vv-practice__navwrap{flex:none;position:relative;overflow:hidden;background:var(--vv-card);border-right:1px solid var(--vv-border);transition:width .22s var(--vv-ease)}.vv-practice__navstub{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding-top:12px;gap:12px;background:var(--vv-card);border:0;cursor:pointer;color:var(--vv-text2);font-family:inherit;opacity:0;pointer-events:none;transition:opacity .18s var(--vv-ease)}.vv-practice__navwrap.is-off .vv-practice__navstub{opacity:1;pointer-events:auto}@media (hover:hover){.vv-practice__navstub:hover{background:color-mix(in srgb,var(--vv-text) 5%,var(--vv-card))}}.vv-practice__navstublbl{writing-mode:vertical-rl;font-size:11.5px;letter-spacing:.04em}.vv-practice__nav{height:100%;display:flex;flex-direction:column;min-height:0;opacity:1;transition:opacity .18s var(--vv-ease)}.vv-practice__navwrap.is-off .vv-practice__nav{opacity:0}.vv-practice__navhead{padding:13px 14px 12px;border-bottom:1px solid var(--vv-border)}.vv-practice__navtop{display:flex;align-items:center;margin-bottom:11px}.vv-practice__navtop h3{font-size:14px;font-weight:700;color:var(--vv-text);margin:0;flex:1}.vv-practice__inscollapse{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--vv-border);background:var(--vv-bg);color:var(--vv-text2);border-radius:7px;cursor:pointer}@media (hover:hover){.vv-practice__inscollapse:hover{background:color-mix(in srgb,var(--vv-text) 7%,transparent);color:var(--vv-text)}}.vv-practice__inspin{position:absolute;top:13px;right:30px;z-index:2;background:var(--vv-card);transition:opacity .18s var(--vv-ease)}@media (hover:hover){.vv-practice__inspin:hover{background:color-mix(in srgb,var(--vv-text) 7%,var(--vv-card))}}.vv-practice__main.ins-off .vv-practice__inspin{opacity:0;pointer-events:none}.vv-practice__pprog{font-size:12px;color:var(--vv-text2);margin-bottom:7px;display:flex;justify-content:space-between;gap:8px}.vv-practice__pprog b{color:var(--vv-accent-text)}.vv-practice__wrongn{color:var(--vv-coral)}.vv-practice__pbar{height:6px;background:var(--vv-border);border-radius:3px;overflow:hidden}.vv-practice__pfill{height:100%;background:var(--vv-accent);border-radius:3px;transition:width .3s ease}.vv-practice__retry{margin-top:11px;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--vv-text2);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}@media (hover:hover){.vv-practice__retry:hover{color:var(--vv-text)}}.vv-practice__tasklist{flex:1;overflow-y:auto;padding:7px}.vv-practice__task{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border:0;border-radius:8px;cursor:pointer;margin-bottom:1px;background:none;text-align:left;font-family:inherit}@media (hover:hover){.vv-practice__task:hover{background:color-mix(in srgb,var(--vv-text) 5%,transparent)}}.vv-practice__task.is-current{background:color-mix(in srgb,var(--vv-text) 6%,transparent);box-shadow:inset 3px 0 0 var(--vv-accent)}.vv-practice__task.is-locked{cursor:pointer;opacity:.55}.vv-practice__tmark{flex:none;width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;border:2px solid var(--vv-border-strong);color:var(--vv-text2)}.vv-practice__task--done .vv-practice__tmark{background:var(--vv-accent);border-color:var(--vv-accent);color:var(--vv-on-accent)}.vv-practice__task--wrong .vv-practice__tmark{background:var(--vv-coral);border-color:var(--vv-coral);color:#fff}.vv-practice__task--partial .vv-practice__tmark{border-color:var(--vv-amber);color:var(--vv-amber)}.vv-practice__task--current .vv-practice__tmark{border-color:var(--vv-accent);color:var(--vv-accent-text)}.vv-practice__task--locked .vv-practice__tmark{border-color:var(--vv-border);color:var(--vv-faint)}.vv-practice__tbody{flex:1;min-width:0;display:block}.vv-practice__ttitle{display:block;font-size:12.5px;color:var(--vv-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vv-practice__task.is-locked .vv-practice__ttitle{color:var(--vv-text2)}.vv-practice__tkind{display:block;font-size:10.5px;color:var(--vv-faint);margin-top:1px}.vv-practice__rz{flex:none;width:7px;margin:0 -3px;cursor:col-resize;position:relative;z-index:5;background:transparent}.vv-practice__navscrim{display:none}.vv-practice__rz:before{content:"";position:absolute;top:0;bottom:0;left:3px;width:1px;background:var(--vv-border)}@media (hover:hover){.vv-practice__rz:hover:before{background:var(--vv-accent-border)}}.vv-practice__rz:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:5px;height:34px;background:var(--vv-border-strong);border:1px solid var(--vv-card);border-radius:4px}@media (hover:hover){.vv-practice__rz:hover:after{background:var(--vv-accent)}}.vv-practice__main{flex:1;display:flex;flex-direction:column;min-width:0}.vv-practice__main.is-side{flex-direction:row}.vv-practice__main:not(.is-side) .vv-practice__inswrap{flex:none;position:relative;overflow:hidden;height:var(--vv-ins-h,auto);transition:height .22s var(--vv-ease)}.vv-practice__main:not(.is-side).ins-off .vv-practice__inswrap{height:37px}.vv-practice__insbar{background:var(--vv-card);border-bottom:1px solid var(--vv-border)}.vv-practice__main:not(.is-side) .vv-practice__insbar{max-height:42vh;overflow-y:auto}.vv-practice__ins{opacity:1;transform:none;transition:opacity .18s var(--vv-ease),transform .18s var(--vv-ease)}.vv-practice__main.ins-off .vv-practice__ins{opacity:0;transform:translateY(-6px)}.vv-practice__main.is-side .vv-practice__inswrap{flex:none;position:relative;overflow:hidden;width:340px;align-self:stretch;border-right:1px solid var(--vv-border);transition:width .22s var(--vv-ease)}.vv-practice__main.is-side.ins-off .vv-practice__inswrap{width:44px}.vv-practice__main.is-side .vv-practice__insbar{width:340px;height:100%;overflow-y:auto;border-bottom:0;transition:opacity .18s var(--vv-ease)}.vv-practice__main.is-side.ins-off .vv-practice__insbar{opacity:0}.vv-practice__main.is-side .vv-practice__ins{transition:opacity .18s var(--vv-ease),transform .18s var(--vv-ease)}.vv-practice__main.is-side.ins-off .vv-practice__ins{transform:translateX(-6px)}.vv-practice__insstub{display:flex;align-items:center;gap:8px;min-height:0;padding:10px 18px;background:var(--vv-card);border:0;cursor:pointer;color:var(--vv-text2);font-size:12px;font-family:inherit}.vv-practice__main:not(.is-side) .vv-practice__insstub{position:absolute;top:0;left:0;right:0;height:37px;padding:0 18px;border-bottom:1px solid var(--vv-border);opacity:0;pointer-events:none;transition:opacity .18s var(--vv-ease)}.vv-practice__main:not(.is-side).ins-off .vv-practice__insstub{opacity:1;pointer-events:auto}.vv-practice__main.is-side .vv-practice__insstub{position:absolute;inset:0;height:auto;flex-direction:column;justify-content:flex-start;gap:10px;padding:14px 0 0;opacity:0;pointer-events:none;transition:opacity .18s var(--vv-ease)}.vv-practice__main.is-side.ins-off .vv-practice__insstub{opacity:1;pointer-events:auto}.vv-practice__main.is-side .vv-practice__insstub span{writing-mode:vertical-rl}@media (hover:hover){.vv-practice__insstub:hover{background:color-mix(in srgb,var(--vv-text) 5%,var(--vv-card))}}.vv-practice__main:not(.is-side) .vv-practice__insbody,.vv-practice__main:not(.is-side) .vv-practice__institle{max-width:720px}.vv-practice__ins{padding:15px 22px 16px}.vv-practice__instop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.vv-practice__instag{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--vv-accent-text);font-weight:700;margin-bottom:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vv-practice__typechip{color:var(--vv-text2);background:var(--vv-bg);border:1px solid var(--vv-border);border-radius:5px;padding:1px 7px;letter-spacing:.02em}.vv-practice__institle{font-size:17px;color:var(--vv-text);margin:0 0 8px;line-height:1.3}.vv-practice__insbody{font-size:13.5px;color:var(--vv-body);line-height:1.6;position:relative}.vv-practice__insbody p{margin:0 0 9px}.vv-practice__insbody p:last-child{margin-bottom:0}.vv-practice__insbody.is-clamped{max-height:108px;overflow:hidden}.vv-practice__insbody.is-clamped:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46px;background:linear-gradient(transparent,var(--vv-card));pointer-events:none}.vv-practice__insmore{margin-top:9px;font-size:12.5px;font-weight:600;color:var(--vv-accent-text);background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-family:inherit}@media (hover:hover){.vv-practice__insmore:hover{text-decoration:underline}}.vv-practice__hints,.vv-practice__insaux:not(:empty){margin-top:14px;border-top:1px solid var(--vv-border);padding-top:12px}.vv-practice__insaux:not(:empty){max-width:720px}.vv-practice__insaux .vv-task__aux{border-top:0;padding:0}.vv-practice__insaux .vv-task__sol-code pre{overflow-x:auto}.vv-practice__hintbtn{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--vv-hint-text);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}@media (hover:hover){.vv-practice__hintbtn:hover{filter:brightness(1.12)}}.vv-practice__hintcount{font-size:11px;color:var(--vv-faint);font-weight:600}.vv-practice__hintlist{display:flex;flex-direction:column;gap:8px;margin-top:10px}.vv-practice__hint{display:flex;gap:9px;font-size:12.5px;line-height:1.55;color:var(--vv-body);background:color-mix(in srgb,var(--vv-amber) 8%,transparent);border:1px solid color-mix(in srgb,var(--vv-amber) 26%,transparent);border-radius:9px;padding:9px 11px;animation:vv-practice-fade-up .2s var(--vv-ease) both}@keyframes vv-practice-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.vv-practice__hintn{flex:none;color:var(--vv-hint-text);font-weight:700}.vv-practice__hintmore{font-size:12px;font-weight:600;color:var(--vv-hint-text);background:none;border:0;padding:2px 0 0;cursor:pointer;align-self:flex-start;font-family:inherit}@media (hover:hover){.vv-practice__hintmore:hover{text-decoration:underline}}.vv-practice__work{flex:1;overflow-y:auto;min-width:0;position:relative}.vv-practice__wpad{padding:22px 28px 40px;max-width:820px;margin:0 auto}.vv-practice__stepbtns{display:flex;align-items:center;gap:10px;margin-top:18px}.vv-practice__nextline{margin-top:18px;display:flex;justify-content:flex-end}.vv-practice__work.is-fill{overflow:hidden;display:flex;flex-direction:column}.vv-practice__work.is-fill .vv-practice__wpad{max-width:none;margin:0;padding:0}.vv-practice__work.is-fill .vv-cell--task,.vv-practice__work.is-fill .vv-practice__wpad,.vv-practice__work.is-fill .vv-practice__wpad>div:first-child{flex:1;display:flex;flex-direction:column;min-height:0}.vv-practice__work.is-fill .vv-cell--task{margin:0;border:0;border-radius:0}.vv-practice__work.is-fill .vv-task__head{display:contents}.vv-practice__work.is-fill .vv-task__title{order:-3;padding:15px 16px 0}.vv-practice__work.is-fill .vv-task__desc{order:-2}.vv-practice__work.is-fill .vv-task__actions{order:-1;padding:0 16px 12px}.vv-practice__work.is-fill .vv-task__editor,.vv-practice__work.is-fill .vv-task__editor>div{flex:1;min-height:0;display:flex;flex-direction:column}.vv-practice__work.is-fill .vv-task__editor .cm-editor{flex:1;height:100%;min-height:0}.vv-practice__work.is-fill .vv-task__editor .cm-scroller{max-height:none!important;flex:1}.vv-practice__nextline.is-float{position:absolute;right:18px;bottom:16px;margin:0;z-index:5}.vv-practice__nextline.is-float .vv-practice__next{background:var(--vv-card);box-shadow:0 6px 22px rgba(0,0,0,.3)}.vv-practice__next{background:none;color:var(--vv-accent-text);border:1px solid var(--vv-accent-border);padding:8px 15px;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;font-family:inherit}@media (hover:hover){.vv-practice__next:hover{background:var(--vv-accent-soft)}}.vv-practice__next.is-skip{color:var(--vv-text2);border-color:var(--vv-border);font-weight:500}@media (hover:hover){.vv-practice__next.is-skip:hover{background:color-mix(in srgb,var(--vv-text) 6%,transparent);color:var(--vv-text)}}.vv-practice__lock{text-align:center;padding:64px 24px;color:var(--vv-text2)}.vv-practice__lock svg{color:var(--vv-faint);margin-bottom:14px}.vv-practice__lock h3{color:var(--vv-text);font-size:17px;margin:0 0 6px}.vv-practice__lock p{font-size:13.5px;margin:0}.vv-practice__congrats{text-align:center;padding:48px 24px}.vv-practice__em{font-size:46px}.vv-practice__congrats h2{font-size:22px;color:var(--vv-text);margin:14px 0 8px}.vv-practice__congrats p{font-size:14px;color:var(--vv-text2);margin:0 auto 20px;max-width:440px;line-height:1.6}.vv-practice__cta{display:inline-flex;align-items:center;gap:7px;background:var(--vv-accent);color:var(--vv-on-accent);border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;text-decoration:none}@media (hover:hover){.vv-practice__cta:hover{filter:brightness(1.07)}}.vv-practice__modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center}.vv-practice__scrim{position:absolute;inset:0;background:rgba(0,0,0,.55)}.vv-practice__modalbox{position:relative;width:min(420px,92vw);background:var(--vv-card);border:1px solid var(--vv-border-strong);border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.4)}.vv-practice__modalbody{padding:20px 20px 6px}.vv-practice__modaltitle{font-size:16px;font-weight:700;color:var(--vv-text);margin-bottom:8px}.vv-practice__modaltext{font-size:13.5px;color:var(--vv-body);line-height:1.55}.vv-practice__modalfoot{padding:12px 18px;display:flex;gap:10px;justify-content:flex-end}.vv-practice__toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--vv-accent-soft);border:1px solid var(--vv-accent-border);color:var(--vv-accent-text);padding:11px 18px;border-radius:11px;font-size:13.5px;font-weight:600;z-index:60}@media (max-width:900px){.vv-practice__main.is-side{flex-direction:column}.vv-practice__main.is-side .vv-practice__inswrap{width:auto!important;height:var(--vv-ins-h,auto);border-right:0;transition:height .22s var(--vv-ease)}.vv-practice__main.is-side.ins-off .vv-practice__inswrap{width:auto!important;height:37px}.vv-practice__main.is-side .vv-practice__insbar{width:auto;height:auto;max-height:42vh;opacity:1;border-bottom:1px solid var(--vv-border)}.vv-practice__main.is-side .vv-practice__insstub{inset:0 0 auto 0;height:37px;flex-direction:row;justify-content:flex-start;padding:0 18px;border-bottom:1px solid var(--vv-border)}.vv-practice__main.is-side .vv-practice__insstub span{writing-mode:horizontal-tb}}@media (max-width:820px){.vv-practice__topbar{height:48px;gap:8px;padding:0 8px}.vv-practice__crumbcourse,.vv-practice__rz{display:none}.vv-practice__layout{position:relative}.vv-practice__navwrap:not(.is-off){width:42px!important;overflow:visible;z-index:45}.vv-practice__navwrap:not(.is-off) .vv-practice__nav{position:absolute;left:0;top:0;bottom:0;width:min(300px,84vw)!important;z-index:45;background:var(--vv-card);border-right:1px solid var(--vv-border-strong);box-shadow:14px 0 44px rgba(0,0,0,.35)}.vv-practice__navscrim{display:block;position:absolute;inset:0;z-index:44;background:rgba(0,0,0,.45)}.vv-practice__main:not(.is-side) .vv-practice__insbar{max-height:34vh}.vv-practice__ins{padding:12px 14px 13px}.vv-practice__inspin{top:9px;right:24px}.vv-practice__wpad{padding:16px 14px 32px}.vv-practice__nextline.is-float{left:12px;right:12px;bottom:12px}.vv-practice__nextline.is-float .vv-practice__next{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.vv-practice__insbar,.vv-practice__insstub,.vv-practice__inswrap,.vv-practice__nav,.vv-practice__navstub,.vv-practice__navwrap,.vv-practice__pfill{transition:none!important}.vv-practice__hint{animation:none}}.vv-asteroids{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#07080d;border:1px solid var(--vv-border)}.vv-asteroids.is-tall{aspect-ratio:4/3}.vv-asteroids__cvs{display:block;width:100%;height:100%;cursor:crosshair;touch-action:pan-y}.vv-asteroids.is-playing .vv-asteroids__cvs{touch-action:none}.vv-asteroids__topbtns{position:absolute;top:10px;right:10px;display:flex;gap:6px}.vv-asteroids__iconbtn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.18);background:rgba(10,12,18,.55);color:#e8edf7;font-size:16px;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}@media (hover:hover){.vv-asteroids__iconbtn:hover{background:rgba(30,34,44,.75)}}@media (pointer:coarse){.vv-asteroids__iconbtn{width:44px;height:44px;font-size:19px}}.vv-asteroids__overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(5,6,10,.45);pointer-events:none;text-align:center}.vv-asteroids__title{margin:0;font-family:var(--font-display,var(--vv-font-display));font-size:30px;font-weight:700;color:#eef2fb;letter-spacing:.02em;text-shadow:0 2px 18px rgba(120,160,255,.45)}.vv-asteroids__stats{margin:0;font-family:var(--font-ui,var(--vv-font-ui));font-weight:600;font-size:14px;color:#cdd6e6}.vv-asteroids__hint{margin:0;font-size:13px;color:#9aa6bb}.vv-asteroids__credits{margin:0;font-size:12px;color:#9aa6bb;letter-spacing:.02em}.vv-asteroids__credits-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:rgba(5,6,10,.82);text-align:center;cursor:pointer}.vv-asteroids__credits-title{margin:0 0 6px;font-family:var(--font-display,var(--vv-font-display));font-size:19px;font-weight:700;color:#eef2fb}.vv-asteroids__credits-panel .vv-asteroids__hint{margin-top:10px}@media (hover:none){.cm-editor .cm-content,.cm-editor .cm-gutters,.vv-text-input__input,.vv-trace__input{font-size:16px}}.cg-gap{white-space:pre}@media (max-width:520px){.cg-gap{display:inline-block;width:1ch;overflow:hidden;vertical-align:baseline}.vv-codeblock__pre .vv-step-line,.vv-codeblock__pre>code{width:auto}.vv-codeblock__pre .vv-step-line__src{min-width:0;flex:1 1 auto}.vv-codeblock__pre .cg-t--comment{white-space:pre-wrap;overflow-wrap:anywhere}.vv-codeblock__pre--wide .vv-step-line,.vv-codeblock__pre--wide>code{width:max-content;min-width:100%}.vv-codeblock__pre--wide .vv-step-line__src{min-width:auto;flex:initial}.vv-codeblock__pre--wide .cg-t--comment{white-space:pre;overflow-wrap:normal}.vv-codeblock__pre .vv-step-line__no{width:24px;padding-right:8px}.vv-codeblock__pre .vv-step-line{padding-right:10px}}.vv-quiz__optcode{margin:0;padding:7px 10px;font-size:12.5px;line-height:1.5;border-radius:8px}:where(button,[role=button],a,label,input,select,.vv-term){touch-action:manipulation}@media (hover:none){.vv-snippet__more,.vv-snippet__reset,.vv-task__insert,.vv-task__log-more,.vv-task__more,.vv-task__pass-t{padding-block:10px;margin-block:-10px;min-height:40px}.vv-task__insert{margin-top:6px}.vv-quiz__actions .button{min-height:40px}.vv-quiz__check{min-height:44px}.vv-fillblank__slot{min-height:36px}.vv-fillblank__choice{min-height:40px}.vv-distribute__chip{padding-block:10px}.vv-demo__mod-dialbtn{min-width:40px;min-height:40px}.vv-cell__help-btn{width:40px;min-width:40px;height:40px}.vv-codeblock__copy{min-height:36px}}