/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-latin-400-normal-e1ed461ac183567c761537bf3eb4a574.woff2?vsn=d)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DM Mono;src:url(/fonts/dm-mono-latin-500-normal-c4598219c4b8a5667e824d99b06100b4.woff2?vsn=d)format("woff2");font-weight:500 800;font-display:swap}@font-face{font-family:Atkinson Next;src:url(/fonts/atkinson-hyperlegible-next-latin-wght-normal-825fabef695fe0e38de5094886eaf871.woff2?vsn=d)format("woff2");font-weight:200 800;font-display:swap}:root{color-scheme:dark;--bg:#0e0d11;--bg-2:#131218;--surface:#1c1b22;--surface-2:#22212c;--surface-3:#2b2a36;--line:#26252f;--line-2:#383645;--line-3:#4d4a5c;--text:#e3e2e9;--text-2:#b2afc0;--text-3:#817e92;--prose:#c2c0ce;--head:#e3e2e9;--active:#9580ff;--compare:#ffb86c;--found:#8aff80;--bad:#ff9580;--on-accent:#0e0d11;--link:#9d8bff;--k1:#9580ff;--k2:#ffb86c;--k3:#80ffea;--k4:#ff80bf;--k5:#8aff80;--rainbow:linear-gradient(-45deg, #80ffea, #8aff80, #ffca80, #ff80bf, #9580ff, #ff9580, #ffff80);--active-bg:var(--active)}@supports (color:color-mix(in lab, red, red)){:root{--active-bg:color-mix(in srgb, var(--active) 16%, transparent)}}:root{--compare-bg:var(--compare)}@supports (color:color-mix(in lab, red, red)){:root{--compare-bg:color-mix(in srgb, var(--compare) 16%, transparent)}}:root{--found-bg:var(--found)}@supports (color:color-mix(in lab, red, red)){:root{--found-bg:color-mix(in srgb, var(--found) 14%, transparent)}}:root{--bad-bg:var(--bad)}@supports (color:color-mix(in lab, red, red)){:root{--bad-bg:color-mix(in srgb, var(--bad) 13%, transparent)}}:root{--font-body:"Atkinson Next", ui-sans-serif, system-ui, sans-serif;--font-head:var(--font-body);--font-ui:var(--font-body);--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-viz:var(--font-body);--head-weight:800;--head-tracking:-.03em;--h2-prefix:"";--base-size:17.5px;--radius:.75rem;--radius-lg:1.125rem;--bw:1px;--shadow-card:none;--shadow-lift:0 18px 50px -12px #9580ff59;--cell-rx:12px;--stroke:2px;--stroke-strong:3px;--viz-bg:#16151c;--stage-bg:radial-gradient(circle at 1px 1px, #e3e2e912 1px, transparent 0) 0 0 / 22px 22px;--cell-fill:#22212c;--cell-stroke:#4d4a5c;--glow-active:drop-shadow(0 0 8px var(--active))}@supports (color:color-mix(in lab, red, red)){:root{--glow-active:drop-shadow(0 0 8px color-mix(in srgb, var(--active) 55%, transparent))}}:root{--glow-compare:drop-shadow(0 0 8px var(--compare))}@supports (color:color-mix(in lab, red, red)){:root{--glow-compare:drop-shadow(0 0 8px color-mix(in srgb, var(--compare) 45%, transparent))}}:root{--glow-found:drop-shadow(0 0 10px var(--found))}@supports (color:color-mix(in lab, red, red)){:root{--glow-found:drop-shadow(0 0 10px color-mix(in srgb, var(--found) 45%, transparent))}}:root{--viz-filter:none;--code-bg:#22212c;--code-bar:#2a2937;--code-border:#3a3947;--code-gutter:#6b6789;--code-select:#3c3a52;--syn-plain:#f8f8f2;--syn-comment:#8b82c4;--syn-keyword:#ff80bf;--syn-string:#ffff80;--syn-number:#ffca80;--syn-fn:#8aff80;--syn-class:#9580ff;--syn-property:#80ffea;--syn-param:#ffca80;--measure:72ch;--head-h:56px;--ease:cubic-bezier(.2, .7, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box}code,pre,kbd,.viz,.tree{font-variant-ligatures:none}html{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--base-size);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scroll-padding-top:calc(var(--head-h) + 20px);line-height:1.65}body{background:var(--bg);flex-direction:column;min-height:100vh;margin:0;display:flex}main{flex:1}::selection{background:var(--active)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--active) 30%, transparent)}}a{color:inherit}:focus-visible{outline:2px solid var(--active);outline-offset:2px;border-radius:3px}kbd{font-family:var(--font-mono);border:var(--bw) solid var(--line-2);color:var(--text-2);background:var(--surface);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:.72rem}.dim{color:var(--text-3)}.skip{position:absolute;left:-999px}.skip:focus{z-index:100;background:var(--surface-2);padding:6px 10px;top:12px;left:12px}.icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em}.site-head{z-index:40;height:var(--head-h);background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-head{background:color-mix(in srgb, var(--bg) 88%, transparent)}}.site-head{-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:var(--bw) solid var(--line)}.site-head__inner{align-items:center;gap:20px;max-width:1440px;height:100%;margin:0 auto;padding:0 20px;display:flex}.logo{font-family:var(--font-mono);letter-spacing:-.01em;align-items:baseline;font-size:1.02rem;font-weight:700;text-decoration:none;display:inline-flex}.logo__prompt{color:var(--active);font-family:var(--font-mono);margin-right:.55ch}.logo__tld{color:var(--text-3)}.logo__cursor{background:var(--compare);width:.55em;height:1.05em;margin-left:3px;animation:1.1s step-end infinite blink;display:inline-block;transform:translateY(.18em)}@keyframes blink{50%{opacity:0}}.site-nav{font-family:var(--font-ui);gap:18px;font-size:.85rem;display:flex}.site-nav a{color:var(--text-2);text-decoration:none}.site-nav a:hover{color:var(--text)}.search-btn{min-width:220px;font:inherit;color:var(--text-3);background:var(--surface);border:var(--bw) solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;align-items:center;gap:10px;margin-left:auto;padding:6px 8px 6px 12px;font-size:.85rem;transition:border-color .15s,color .15s;display:inline-flex}.search-btn:hover{border-color:var(--line-3);color:var(--text-2)}.search-btn kbd{margin-left:auto}.nav-toggle{border:var(--bw) solid var(--line-2);border-radius:var(--radius);color:var(--text-2);cursor:pointer;background:0 0;padding:6px;font-size:1.1rem;display:none}.site-foot{border-top:var(--bw) solid var(--line);font-family:var(--font-ui);color:var(--text-2);margin-top:96px;font-size:.78rem}.site-foot__inner{max-width:1440px;margin:0 auto;padding:28px 20px 40px}.site-foot p{margin:4px 0}.doc{grid-template-columns:232px minmax(0,1fr) 208px;gap:56px;max-width:1440px;margin:0 auto;padding:0 20px;display:grid}.doc__side,.doc__toc{top:var(--head-h);max-height:calc(100vh - var(--head-h));scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;align-self:start;padding:32px 0 40px;position:sticky;overflow-y:auto}.doc__main{min-width:0;max-width:800px;padding:40px 0 0}.tree{font-family:var(--font-mono);font-size:.8rem;line-height:1.85}.tree ul{margin:0;padding:0;list-style:none}.tree__root{color:var(--text-2);margin-bottom:2px;text-decoration:none;display:block}.tree__root:hover{color:var(--text)}.tree__glyph{color:var(--line-3);white-space:pre}.tree__dir{color:var(--text-2);white-space:nowrap}.tree__leaf{white-space:nowrap;color:var(--text-3);text-decoration:none;transition:color .12s;display:block}.tree__leaf:hover{color:var(--text)}.tree__leaf[aria-current=page] .tree__name{color:var(--active)}.toc{font-size:.82rem}.toc__title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 10px;font-size:.72rem}.toc ol{border-left:var(--bw) solid var(--line);margin:0;padding:0;list-style:none}.toc a{margin-left:calc(var(--bw) * -1);border-left:var(--bw) solid transparent;color:var(--text-3);padding:3px 0 3px 12px;line-height:1.45;text-decoration:none;transition:color .12s,border-color .12s;display:block}.toc a:hover{color:var(--text)}.toc a.is-active{color:var(--active);border-left-color:var(--active)}.crumb{font-family:var(--font-ui);color:var(--text-3);margin:0 0 14px;font-size:.8rem}.crumb a{color:var(--text-3);text-decoration:none}.crumb a:hover{color:var(--active)}.crumb__leaf{color:var(--text-2)}.doc__head h1,.page__head h1{font-family:var(--font-head);letter-spacing:var(--head-tracking);font-size:clamp(2.1rem,4.2vw,3rem);line-height:1.08;font-weight:var(--head-weight);color:var(--head);margin:0}.lede{color:var(--text-2);max-width:62ch;margin:14px 0 0;font-size:1.14rem;line-height:1.55}.tldr{border:var(--bw) solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);grid-template-columns:1fr 1fr 150px 150px;margin:32px 0 8px;display:grid;overflow:hidden}.tldr__cell{border-left:var(--bw) solid var(--line);padding:14px 16px 16px}.tldr__cell:first-child{border-left:0}.tldr__cell p{color:var(--text-2);margin:4px 0 0;font-size:.9rem;line-height:1.5}.tldr__k{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.09em;color:var(--text-3);font-size:.68rem;font-weight:600}.tldr__cx{font-family:var(--font-mono);letter-spacing:-.02em;font-weight:700;color:var(--compare)!important;margin-top:8px!important;font-size:1.28rem!important}.prose{font-size:1rem}.prose>*{max-width:var(--measure)}.prose>.viz,.prose>.code-tabs,.prose>table,.prose>.mistake,.prose>.walk,.prose>.quiz{max-width:none}.prose h2{font-family:var(--font-head);letter-spacing:calc(var(--head-tracking) / 2);font-size:1.55rem;line-height:1.25;font-weight:var(--head-weight);color:var(--head);margin:64px 0 16px}.prose h2 .h-anchor{color:inherit;text-decoration:none}.prose h2 .h-anchor:before{content:var(--h2-prefix);font-family:var(--font-mono);color:var(--active);opacity:.55;margin-right:.45em;font-weight:500;transition:opacity .15s}.prose h2 .h-anchor:hover:before{opacity:1}.prose h3{font-family:var(--font-head);font-size:1.08rem;font-weight:var(--head-weight);color:var(--head);margin:32px 0 8px}.prose p,.prose li{color:var(--prose)}.prose p{margin:0 0 16px}.prose a{color:var(--link);text-decoration:underline;-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}@supports (color:color-mix(in lab, red, red)){.prose a{-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--link) 40%, transparent)}}.prose a{text-underline-offset:3px;transition:text-decoration-color .15s}.prose a:hover{-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}.prose strong{color:var(--text);font-weight:650}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose ul,.prose ol{margin:0 0 18px;padding-left:1.3em}.prose li{margin:6px 0;padding-left:4px}.prose ul>li::marker{color:var(--active);content:"▸  ";font-size:.8em}.prose ol>li::marker{font-family:var(--font-mono);color:var(--compare);font-size:.85em;font-weight:700}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.86em}.prose table{border-collapse:collapse;min-width:320px;margin:8px 0 20px;font-size:.92rem}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;padding:7px 18px 7px 0}.prose th{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:.72rem;font-weight:600}.prose td{font-family:var(--font-mono);color:var(--text-2);font-size:.86rem}.prose th[align=right],.prose td[align=right]{text-align:right}.prose blockquote{border-left:3px solid var(--line-3);color:var(--text-2);margin:20px 0;padding:2px 18px}.prose .markdown-alert{border:var(--bw) solid var(--line-2);border-left:3px solid var(--active);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);margin:20px 0;padding:12px 16px}.prose .markdown-alert p:last-child{margin-bottom:0}.prose .markdown-alert-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--active);font-size:.72rem;margin-bottom:4px!important}.prose .markdown-alert-tip{border-left-color:var(--found)}.prose .markdown-alert-tip .markdown-alert-title{color:var(--found)}.prose .markdown-alert-warning,.prose .markdown-alert-caution{border-left-color:var(--compare)}.prose .markdown-alert-warning .markdown-alert-title,.prose .markdown-alert-caution .markdown-alert-title{color:var(--compare)}.mistake{border:var(--bw) solid var(--line);border-left:3px solid var(--bad);border-radius:var(--radius);background:linear-gradient(90deg, var(--bad-bg), transparent 45%) var(--bg-2);box-shadow:var(--shadow-card);margin:14px 0;padding:2px 20px 4px}.mistake h3{margin:14px 0 6px!important}.mistake p{max-width:var(--measure);font-size:.95rem}.mistake pre{margin:4px 0 14px!important}pre.lumis{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--code-border);border-radius:var(--radius);tab-size:4;scrollbar-width:thin;scrollbar-color:#555 transparent;margin:12px 0 22px;padding:.75rem 0;font-size:.86rem;line-height:1.6;overflow-x:auto}pre.lumis code{min-width:max-content;font-family:inherit;display:block}pre.lumis .l-line{padding:0 1.125rem}.code-tabs{border:1px solid var(--code-border);border-radius:var(--radius-lg);background:var(--code-bg);box-shadow:var(--shadow-card);margin:20px 0 26px;overflow:hidden}.code-tabs__bar{border-bottom:1px solid var(--code-border);background:var(--code-bar);font-family:var(--font-ui);align-items:stretch;font-size:.8rem;display:flex}.code-tab,.code-copy{font:inherit;color:#9d99b8;cursor:pointer;background:0 0;border:0;padding:9px 14px;transition:color .12s}.code-tab:hover,.code-copy:hover{color:#f8f8f2}.code-tab[aria-selected=true]{color:#f8f8f2;background:var(--code-bg);font-weight:650;box-shadow:inset 0 -2px #ff80bf}.code-tabs__spacer{flex:1}.code-copy.is-done{color:var(--found)}.code-panel{display:none}.code-panel pre.lumis{background:0 0;border:0;border-radius:0;margin:0}html:not([data-lang]) .code-panel[data-lang=py],html[data-lang=py] .code-panel[data-lang=py],html[data-lang=cpp] .code-panel[data-lang=cpp],html[data-lang=java] .code-panel[data-lang=java]{display:block}.code-panel pre.lumis .l-line{padding-left:56px;transition:background-color .2s;position:relative}.code-panel .l-line:before{content:attr(data-line);text-align:right;width:38px;color:var(--code-gutter);-webkit-user-select:none;user-select:none;position:absolute;left:0}.code-panel .l-line.is-step{background:var(--code-select);box-shadow:inset 3px 0 #9580ff}.code-panel .l-line.is-step:before{color:#f8f8f2;font-weight:700}.lumis{color:var(--syn-plain)}.l-comment,.l-comment-documentation{color:var(--syn-comment)}.l-string-documentation{color:var(--syn-comment);font-style:italic}.l-keyword,.l-keyword-return,.l-keyword-function,.l-keyword-operator,.l-keyword-conditional,.l-keyword-conditional-ternary,.l-keyword-repeat,.l-keyword-import,.l-keyword-exception,.l-keyword-modifier,.l-keyword-type,.l-keyword-coroutine,.l-conditional,.l-repeat,.l-include,.l-preproc{color:var(--syn-keyword)}.l-string,.l-string-special,.l-string-escape,.l-character{color:var(--syn-string)}.l-number,.l-number-float{color:var(--syn-number)}.l-boolean,.l-constant,.l-constant-builtin{color:var(--syn-class)}.l-function,.l-function-method,.l-method,.l-constructor,.l-function-call,.l-function-method-call,.l-function-macro{color:var(--syn-fn)}.l-type,.l-type-builtin,.l-module,.l-namespace{color:var(--syn-class)}.l-function-builtin,.l-property,.l-variable-member,.l-attribute{color:var(--syn-property)}.l-variable-builtin,.l-variable-parameter{color:var(--syn-param);font-style:italic}.l-variable,.l-operator,.l-punctuation,.l-punctuation-bracket,.l-punctuation-delimiter,.l-punctuation-special{color:var(--syn-plain)}.prose code.v-var,.viz__caption code.v-var{color:var(--kc)!important;background:var(--kc)!important}@supports (color:color-mix(in lab, red, red)){.prose code.v-var,.viz__caption code.v-var{background:color-mix(in srgb, var(--kc) 13%, transparent)!important}}.prose code.v-var,.viz__caption code.v-var{border-color:var(--kc)!important}@supports (color:color-mix(in lab, red, red)){.prose code.v-var,.viz__caption code.v-var{border-color:color-mix(in srgb, var(--kc) 40%, transparent)!important}}.prose code.v-var,.viz__caption code.v-var{font-weight:650}.l-line .v-var{background:var(--kc);color:#e8eef5!important}@supports (color:color-mix(in lab, red, red)){.l-line .v-var{background:color-mix(in srgb, var(--kc) 16%, transparent)}}.l-line .v-var{box-shadow:inset 0 -2px 0 var(--kc)}@supports (color:color-mix(in lab, red, red)){.l-line .v-var{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--kc) 85%, white)}}.l-line .v-var{border-radius:2px}code:not(.lumis code) .v-var,.viz__caption code .v-var,.viz__line .v-var{font-weight:700;color:var(--kc)!important}.viz svg text.k1,.viz svg text.k2,.viz svg text.k3,.viz svg text.k4,.viz svg text.k5{fill:var(--kc)!important}.k1{--kc:var(--k1)}.k2{--kc:var(--k2)}.k3{--kc:var(--k3)}.k4{--kc:var(--k4)}.k5{--kc:var(--k5)}.problems,.related,.further{margin:0 0 12px;padding:0!important;list-style:none!important}.problems li,.related li,.further li{margin:0;padding:0}.problems li::marker{content:none}.related li::marker{content:none}.further li::marker{content:none}.problems a{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:10px 4px;display:flex;color:var(--text)!important;text-decoration:none!important}.problems a:hover .problems__title{color:var(--active)}.problems__title{transition:color .12s}.problems__host{font-family:var(--font-ui);color:var(--text-3);margin-left:auto;font-size:.75rem}.problems__ext{color:var(--text-3)}.diff{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;text-align:center;border-radius:4px;flex:none;width:66px;padding:1px 0;font-size:.68rem;font-weight:700}.diff--easy{color:var(--found);background:var(--found-bg)}.diff--medium{color:var(--compare);background:var(--compare-bg)}.diff--hard{color:var(--bad);background:var(--bad-bg)}.related a{border:var(--bw) solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;margin-bottom:8px;padding:12px 16px;transition:border-color .15s,transform .15s;display:flex;text-decoration:none!important}.related a:hover{border-color:var(--active)}.related__name{color:var(--text);font-weight:650}.related__sum{color:var(--text-3);font-size:.88rem}.further a{align-items:center;gap:6px;display:inline-flex}.pager{grid-template-columns:1fr 1fr;gap:16px;margin:72px 0 0;display:grid}.pager__link{border:var(--bw) solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:2px;padding:14px 18px;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex}.pager__link:hover{border-color:var(--active);background:var(--surface);box-shadow:var(--shadow-lift)}.pager__link--next{text-align:right;align-items:flex-end}.pager__k{font-family:var(--font-ui);color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:6px;font-size:.72rem;display:inline-flex}.pager__t{font-family:var(--font-head);font-weight:var(--head-weight);font-size:1.05rem}.viz{border:var(--bw) solid var(--line-2);border-radius:var(--radius-lg);background:var(--viz-bg);box-shadow:var(--shadow-card);flex-direction:column;min-height:360px;margin:26px 0 30px;display:flex;overflow:hidden}.viz:focus-visible{outline-offset:3px}.viz__loading{font-family:var(--font-ui);color:var(--text-3);margin:auto;font-size:.8rem}.viz__head{border-bottom:var(--bw) solid var(--line);background:var(--surface);font-family:var(--font-ui);align-items:center;gap:12px;padding:8px 10px 8px 14px;font-size:.78rem;display:flex}.viz__dots{gap:5px;display:inline-flex}.viz__dots i{background:var(--line-2);border-radius:50%;width:9px;height:9px}.viz__title{color:var(--text-2)}.viz__title b{color:var(--text);font-weight:600}.viz__spacer{flex:1}.viz__btn{font:inherit;font-family:var(--font-ui);color:var(--text-2);background:var(--surface);border:var(--bw) solid var(--line-2);border-radius:calc(var(--radius) - 1px);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:4px 9px;font-size:.78rem;font-weight:600;transition:color .12s,border-color .12s,background .12s,transform .1s,box-shadow .1s;display:inline-flex}.viz__btn:hover{color:var(--text);border-color:var(--line-3)}.viz__btn:active{transform:translateY(1px)}.viz__btn[aria-pressed=true]{color:var(--active);border-color:var(--active)}@supports (color:color-mix(in lab, red, red)){.viz__btn[aria-pressed=true]{border-color:color-mix(in srgb, var(--active) 50%, transparent)}}.viz__btn svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.viz__btn--icon{width:32px;height:30px;padding:0}.viz__btn--play{width:42px;color:var(--on-accent);background:var(--active);border-color:var(--active)}.viz__btn--play:hover{color:var(--on-accent);background:var(--active)}@supports (color:color-mix(in lab, red, red)){.viz__btn--play:hover{background:color-mix(in srgb, var(--active) 80%, white)}}.viz__btn--play:hover{border-color:var(--active)}.viz__btn--play svg{fill:currentColor;stroke-width:1px}.viz__edit{border-bottom:var(--bw) solid var(--line);background:var(--bg-2);font-family:var(--font-ui);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 14px;font-size:.78rem;display:flex}.viz__edit[hidden]{display:none}.viz__edit label{color:var(--text-3);flex-direction:column;flex:140px;gap:4px;display:flex}.viz__edit label.is-wide{flex:3 260px}.viz__edit input{font-family:var(--font-mono);color:var(--text);background:var(--surface);border:var(--bw) solid var(--line-2);border-radius:calc(var(--radius) - 1px);width:100%;padding:6px 9px;font-size:.84rem}.viz__edit input:focus{border-color:var(--active);outline:none}.viz__edit .viz__err{color:var(--bad);flex-basis:100%;margin:0}.viz__edit .viz__err:empty{display:none}.viz__edit .viz__hint{color:var(--text-3);flex-basis:100%;margin:0}.viz__stage{background:var(--stage-bg);flex:1;justify-content:center;align-items:center;padding:18px 14px 10px;display:flex;position:relative}.viz__stage svg{width:100%;height:auto;filter:var(--viz-filter);display:block;overflow:visible}.viz__caption{min-height:3em;color:var(--text);margin:0;padding:10px 16px 4px;font-size:.97rem;line-height:1.5}.viz__caption code{font-family:var(--font-mono);background:var(--surface-2);color:var(--text);border:1px solid #0000;border-radius:3px;padding:0 4px;font-size:.86em}.viz__caption strong{color:var(--compare);font-weight:700}.viz__line{font-family:var(--font-mono);white-space:pre;text-overflow:ellipsis;color:var(--syn-plain);background:var(--code-bg);border-left:3px solid #9580ff;border-radius:0 6px 6px 0;margin:0 16px 10px;padding:5px 10px;font-size:.8rem;overflow:hidden}.viz__line:empty{visibility:hidden}.viz__line-n{color:var(--code-gutter);margin-right:1.2ch;font-weight:700}.viz__controls{border-top:var(--bw) solid var(--line);background:var(--surface);font-family:var(--font-ui);color:var(--text-3);align-items:center;gap:6px;padding:8px 12px;font-size:.76rem;display:flex}.viz__scrub{accent-color:var(--active);cursor:pointer;flex:1;height:4px;margin:0 8px}.viz__count{text-align:right;font-variant-numeric:tabular-nums;min-width:7ch}.viz--bare{box-shadow:none;background:0 0;border:0;min-height:0}.viz--bare .viz__stage{background:0 0;padding:0}.viz__ask{border:var(--bw) solid var(--compare);margin:0 16px 12px;padding:12px 14px}@supports (color:color-mix(in lab, red, red)){.viz__ask{border:var(--bw) solid color-mix(in srgb, var(--compare) 55%, transparent)}}.viz__ask{border-radius:var(--radius);background:var(--compare-bg);animation:pop .35s var(--spring)}.viz__ask[hidden]{display:none}.viz__ask-q{color:var(--text);margin:0 0 10px;font-weight:650}.viz__ask-q:before{content:"Your turn · ";font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;color:var(--compare);font-size:.72rem}.viz__ask-opts{flex-wrap:wrap;gap:8px;display:flex}.viz__ask-opts .viz__btn{padding:7px 14px;font-size:.86rem}.viz__ask-opts .viz__btn.is-right{color:var(--on-accent);background:var(--found);border-color:var(--found)}.viz__ask-opts .viz__btn.is-wrong{color:var(--bad);border-color:var(--bad);animation:.35s shake}.viz__ask-why{color:var(--text-2);margin:10px 0 0;font-size:.92rem}.viz__ask-why:empty{display:none}.viz__asktoggle[aria-pressed=false]{opacity:.7}@keyframes pop{0%{opacity:0;transform:scale(.96)}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.viz--narrow .viz__btn-label{display:none}.viz--narrow .viz__head .viz__btn{width:32px;height:28px;padding:0}.viz--narrow .v-cell text,.viz--narrow .v-node text{font-size:20px}.viz--narrow .v-index,.viz--narrow .v-node .v-sub{font-size:14px}.viz--narrow .v-note,.viz--narrow .v-label,.viz--narrow .v-ptr text{font-size:17px}.viz--narrow .viz__stage{padding:10px 4px 4px}.viz--narrow [data-act=first],.viz--narrow [data-act=last]{display:none}.viz__scrub{min-width:0}.viz svg text{font-family:var(--font-viz);fill:var(--text);dominant-baseline:central;text-anchor:middle;-webkit-user-select:none;user-select:none}.viz svg .enter,.viz svg .exit{opacity:0}.viz svg g,.viz svg line,.viz svg path,.viz svg rect,.viz svg circle,.viz svg text{transition:fill .22s var(--ease), stroke .22s var(--ease), opacity .28s var(--ease), stroke-width .22s var(--ease)}.v-cell rect{fill:var(--cell-fill);stroke:var(--cell-stroke);stroke-width:var(--stroke);rx:var(--cell-rx)}.v-cell text{font-size:15px;font-weight:600}.v-cell.is-dim rect{fill:var(--bg-2);stroke:var(--line)}.v-cell.is-dim text{fill:var(--text-3);opacity:.55}.v-cell.is-ghost rect{fill:#0000;stroke:var(--line-2);stroke-dasharray:3 3}.v-cell.is-range rect{stroke:var(--active)}@supports (color:color-mix(in lab, red, red)){.v-cell.is-range rect{stroke:color-mix(in srgb, var(--active) 50%, transparent)}}.v-cell.is-active rect{fill:var(--active-bg);stroke:var(--active);stroke-width:var(--stroke-strong);filter:var(--glow-active)}.v-cell.is-compare rect{fill:var(--compare-bg);stroke:var(--compare);stroke-width:var(--stroke-strong);filter:var(--glow-compare)}.v-cell.is-found rect{fill:var(--found-bg);stroke:var(--found);stroke-width:var(--stroke-strong);filter:var(--glow-found)}.v-cell.is-bad rect{fill:var(--bad-bg);stroke:var(--bad)}.v-index{font-size:10.5px;fill:var(--text-3)!important;font-weight:500!important}.v-label{font-size:12px;fill:var(--text-2)!important}.v-label--left{text-anchor:end!important}.v-label--start{text-anchor:start!important}.v-note{font-size:13px;font-weight:600;fill:var(--text-2)!important}.v-note.is-compare{fill:var(--compare)!important}.v-note.is-active{fill:var(--active)!important}.v-note.is-found{fill:var(--found)!important}.v-ptr path{fill:var(--kc,var(--active))}.v-ptr text{fill:var(--kc,var(--active));font-size:12.5px;font-weight:700}.v-ptr.is-compare{--kc:var(--compare)}.v-ptr.is-found{--kc:var(--found)}.v-ptr.is-muted{--kc:var(--text-3)}.v-range{fill:var(--active)}@supports (color:color-mix(in lab, red, red)){.v-range{fill:color-mix(in srgb, var(--active) 6%, transparent)}}.v-range{stroke:var(--active)}@supports (color:color-mix(in lab, red, red)){.v-range{stroke:color-mix(in srgb, var(--active) 45%, transparent)}}.v-range{stroke-dasharray:4 3;rx:calc(var(--cell-rx) + 3px)}.v-node circle{fill:var(--cell-fill);stroke:var(--cell-stroke);stroke-width:var(--stroke)}.v-node text{font-size:14px;font-weight:600}.v-node.is-root circle{stroke:var(--text-2);stroke-width:var(--stroke-strong)}.v-node.is-dim circle{fill:var(--bg-2);stroke:var(--line-2)}.v-node.is-dim text{fill:var(--text-3)}.v-node.is-active circle{fill:var(--active-bg);stroke:var(--active);stroke-width:var(--stroke-strong);filter:var(--glow-active)}.v-node.is-compare circle{fill:var(--compare-bg);stroke:var(--compare);stroke-width:var(--stroke-strong);filter:var(--glow-compare)}.v-node.is-found circle{fill:var(--found-bg);stroke:var(--found);stroke-width:var(--stroke-strong);filter:var(--glow-found)}.v-node.is-done circle{fill:var(--found)}@supports (color:color-mix(in lab, red, red)){.v-node.is-done circle{fill:color-mix(in srgb, var(--found) 10%, transparent)}}.v-node.is-done circle{stroke:var(--found)}@supports (color:color-mix(in lab, red, red)){.v-node.is-done circle{stroke:color-mix(in srgb, var(--found) 70%, transparent)}}.v-node .v-sub{fill:var(--text-3);font-size:11px;font-weight:600}.v-edge{stroke:var(--line-3);stroke-width:var(--stroke);fill:none}.v-edge.is-active{stroke:var(--active);stroke-width:var(--stroke-strong);filter:var(--glow-active)}.v-edge.is-compare{stroke:var(--compare);stroke-width:var(--stroke-strong)}.v-edge.is-found{stroke:var(--found);stroke-width:var(--stroke-strong)}.v-edge.is-dim{stroke:var(--line)}.v-edge.is-new{stroke:var(--compare);stroke-width:var(--stroke-strong);stroke-dasharray:5 4}.v-arrowhead{fill:context-stroke}.v-edge-label{paint-order:stroke;stroke:var(--viz-bg);stroke-width:4px;font-size:11px;fill:var(--text-2)!important}.v-lane-box{fill:none;stroke:var(--line-2);stroke-dasharray:3 3}.home{max-width:1180px;margin:0 auto;padding:0 20px}.hero{border-bottom:var(--bw) solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px;padding:72px 0 88px;display:grid}.hero__eyebrow{font-family:var(--font-ui);color:var(--text-3);margin:0 0 18px;font-size:.85rem}.hero h1{font-family:var(--font-head);letter-spacing:calc(var(--head-tracking) * 1.4);font-size:clamp(2.7rem,6vw,4.4rem);line-height:1;font-weight:var(--head-weight);color:var(--head);margin:0 0 24px}.hero__accent{color:var(--active)}.hero__sub{color:var(--text-2);max-width:50ch;margin:0 0 12px;font-size:1.12rem}.hero__sub--dim{color:var(--text-3);font-size:1rem}.hero__cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero__demo{border:var(--bw) solid var(--line-2);border-radius:var(--radius-lg);background:var(--viz-bg);background-image:var(--stage-bg);box-shadow:var(--shadow-lift);padding:22px 18px 12px;position:relative}.btn{border:var(--bw) solid var(--line-3);border-radius:var(--radius);color:var(--text);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:8px;padding:10px 16px;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .12s,box-shadow .12s;display:inline-flex}.btn:hover{border-color:var(--text-3)}.btn--primary{background:var(--active);border-color:var(--active);color:var(--on-accent);font-weight:700}.btn--primary:hover{background:var(--active)}@supports (color:color-mix(in lab, red, red)){.btn--primary:hover{background:color-mix(in srgb, var(--active) 85%, white)}}.btn--primary:hover{border-color:var(--active)}.btn .icon{transition:transform .15s var(--ease)}.btn:hover .icon{transform:translate(3px)}.index{padding:24px 0 0}.index__cat{border-bottom:var(--bw) solid var(--line);grid-template-columns:280px minmax(0,1fr);gap:40px;padding:44px 0;display:grid}.index__cat:last-child{border-bottom:0}.index__num{font-family:var(--font-mono);color:var(--active);font-size:.8rem;font-weight:700}.index__title{font-family:var(--font-head);letter-spacing:calc(var(--head-tracking) / 2);font-size:1.4rem;font-weight:var(--head-weight);color:var(--head);margin:4px 0 8px}.index__blurb{color:var(--text-3);margin:0;font-size:.95rem;line-height:1.5}.index__list{margin:0;padding:0;list-style:none}.index__row{border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr) 90px;align-items:baseline;gap:18px;padding:12px 8px;text-decoration:none;transition:background .12s;display:grid}a.index__row:hover{background:var(--surface)}a.index__row:hover .index__name{color:var(--active)}.index__name{font-weight:650;transition:color .12s}.index__summary{color:var(--text-3);font-size:.9rem;line-height:1.45}.index__cx{font-family:var(--font-mono);color:var(--compare);text-align:right;font-size:.8rem;font-weight:700}.index__row--soon .index__name{color:var(--text-3);font-weight:500}.index__row--soon .index__summary{font-family:var(--font-ui);color:var(--line-3);font-size:.72rem}.page{max-width:1180px;margin:0 auto;padding:48px 20px 0}.notfound{max-width:720px;margin:0 auto;padding:96px 20px}.notfound__term{font-family:var(--font-mono);background:var(--code-bg);border:var(--bw) solid var(--line-2);border-radius:var(--radius);white-space:pre-wrap;word-break:break-all;padding:20px 22px;font-size:.95rem}.notfound .err{color:var(--bad)}.notfound a{color:var(--link)}.palette{background:var(--surface);width:min(640px,100vw - 24px);color:var(--text);border:var(--bw) solid var(--line-3);border-radius:var(--radius-lg);margin:12vh auto 0;padding:0;box-shadow:0 30px 80px #00000073}.palette::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0506088c}.palette__input{border-bottom:var(--bw) solid var(--line-2);color:var(--text-3);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette__input input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:1rem}.palette__results{max-height:min(420px,60vh);margin:0;padding:6px;list-style:none;overflow-y:auto}.palette__results:empty:after{content:"No matches";color:var(--text-3);font-family:var(--font-ui);padding:18px;font-size:.8rem;display:block}.palette__item a{border-radius:var(--radius);flex-direction:column;padding:9px 12px;text-decoration:none;display:flex}.palette__item[aria-selected=true] a{background:var(--surface-3);box-shadow:inset 3px 0 0 var(--active)}.palette__t{font-weight:650}.palette__t mark{color:var(--active);background:0 0}.palette__m{color:var(--text-3);font-size:.82rem}.palette__c{font-family:var(--font-ui);color:var(--text-3);text-transform:lowercase;font-size:.7rem}.prose{container-type:inline-size}.walk{grid-template-columns:minmax(0,1fr);gap:20px;margin:24px 0 36px;display:grid}.walk__stick{top:calc(var(--head-h) + 8px);z-index:5;order:-1;position:sticky}.walk .viz{min-height:0;margin:0}.walk .viz__stage svg{max-height:46vh}@media (max-width:600px){.walk .viz__stage svg{max-height:30vh}}.walk .viz__line{display:none}.walk__steps{counter-reset:walk;margin:0!important;padding:0 0 22vh!important;list-style:none!important}.walk__step{counter-increment:walk;border:var(--bw) solid transparent;border-radius:var(--radius-lg);min-height:34vh;color:var(--text-2);opacity:.55;cursor:pointer;transition:opacity .25s,background .25s,border-color .25s,box-shadow .25s;position:relative;margin:0 0 12px!important;padding:16px 18px 16px 58px!important}.walk__step::marker{content:none}.walk__step:before{content:counter(walk);width:28px;height:28px;font-family:var(--font-mono);color:var(--text-2);border:var(--bw) solid var(--line-3);transition:all .25s var(--spring);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid;position:absolute;top:14px;left:16px}.walk__step:hover{opacity:.8}.walk__step.is-active{opacity:1;color:var(--prose);background:var(--surface);border-color:var(--line-2);box-shadow:var(--shadow-card)}.walk__step.is-active:before{color:var(--on-accent);background:var(--active);border-color:var(--active);transform:scale(1.12)}@container (min-width:700px){.walk{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);align-items:start;gap:28px}.walk__stick{top:calc(var(--head-h) + 20px);order:1}.walk .viz__stage svg{max-height:calc(100vh - 360px)}.walk__steps{padding-top:8vh!important;padding-bottom:40vh!important}.walk__step{min-height:26vh}}@container (max-width:699px){.walk__step{min-height:0;margin-bottom:42vh!important}.walk__step:last-child{margin-bottom:0!important}.walk .viz__caption{min-height:0;padding:6px 12px 2px;font-size:.9rem}.walk .viz__controls{padding:5px 8px}}@media (min-width:1181px){.prose>.walk{margin-right:-264px}.doc__toc{transition:opacity .25s}body.in-walk .doc__toc{opacity:0;pointer-events:none}}.quiz__intro{color:var(--text-3)!important}.quiz__list{counter-reset:none;margin:0;padding:0!important;list-style:none!important}.quiz__q{border:var(--bw) solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);transition:border-color .2s;margin:0 0 16px!important;padding:18px 20px 14px!important}.quiz__q::marker{content:none}.quiz__q.is-correct{border-color:var(--found)}.quiz__q.is-incorrect{border-color:var(--bad)}.quiz__prompt{align-items:flex-start;gap:12px;display:flex}.quiz__prompt>p,.quiz__prompt>pre{margin-top:0}.quiz__prompt>:not(.quiz__n){flex:1;min-width:0}.quiz__prompt{flex-wrap:wrap}.quiz__prompt pre.lumis{flex-basis:100%;margin:4px 0 12px}.quiz__n{width:26px;height:26px;font-family:var(--font-mono);color:var(--on-accent);background:var(--active);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:.78rem;font-weight:700;display:grid}.quiz__choices{gap:8px;display:grid;margin:6px 0 4px!important;padding:0!important;list-style:none!important}.quiz__choices li{margin:0!important;padding:0!important}.quiz__choices li::marker{content:none}.quiz__choice{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--bg-2);border:var(--bw) solid var(--line-2);border-radius:var(--radius);cursor:pointer;transition:border-color .15s, background .15s, transform .2s var(--spring);align-items:flex-start;gap:12px;padding:9px 12px;display:flex}.quiz__choice:hover:not(:disabled){border-color:var(--active);transform:translate(3px)}.quiz__choice:disabled{cursor:default;opacity:.6}.quiz__choice.is-right{opacity:1;border-color:var(--found);background:var(--found-bg)}.quiz__choice.is-wrong{opacity:1;border-color:var(--bad);background:var(--bad-bg);animation:.35s shake}.quiz__key{font-family:var(--font-mono);color:var(--text-3);flex:none;margin-top:3px;font-size:.75rem;font-weight:700}.quiz__text p{color:inherit!important;margin:0!important}.quiz__why{border-radius:var(--radius);background:var(--bg-2);margin-top:10px;padding:10px 14px;font-size:.93rem}.quiz__why p{margin:0!important}.quiz__q.is-correct .quiz__why:before{content:"Correct. ";color:var(--found);font-weight:700}.quiz__q.is-incorrect .quiz__why:before{content:"Not quite. ";color:var(--bad);font-weight:700}.quiz__why>p:first-child{display:inline}.quiz__score{flex-wrap:wrap;align-items:center;gap:12px;font-weight:600;display:flex}.quiz__score:empty{display:none}.quiz__total{font-family:var(--font-head);font-size:1.8rem;font-weight:var(--head-weight);color:var(--active)}.tree__glyph{display:none}.tree{font-family:var(--font-body);font-size:.92rem}.tree__dir{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-top:14px;font-size:.72rem;font-weight:800;display:block}.tree__leaf{color:var(--text-2);border-radius:10px;margin:2px 0;padding:5px 12px;font-weight:600}.tree__leaf:hover{background:var(--surface-3)}.tree__leaf[aria-current=page]{background:var(--active-bg)}.tree__leaf[aria-current=page] .tree__name:after{content:""}.prose ul>li::marker{content:"●  ";font-size:.6em}.prose ol>li::marker{font-family:var(--font-body);color:var(--active);font-weight:800}.tldr{background:linear-gradient(135deg, #1a1726, var(--surface) 65%)}.tldr__cx{color:var(--active)!important}.btn,.viz__btn,.related a,.pager__link{transition:transform .25s var(--spring), box-shadow .2s, background .15s, border-color .15s}.btn:hover,.related a:hover,.pager__link:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.btn--primary{box-shadow:0 4px 0 var(--active)}@supports (color:color-mix(in lab, red, red)){.btn--primary{box-shadow:0 4px 0 color-mix(in srgb, var(--active) 55%, black)}}.btn--primary:active,.viz__btn--play:active{box-shadow:none;transform:translateY(3px)}.viz__btn--play{box-shadow:0 3px 0 var(--active);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.viz__btn--play{box-shadow:0 3px 0 color-mix(in srgb, var(--active) 70%, black)}}.viz__head{background:var(--surface)}.viz__dots{display:none}.viz svg text{font-weight:700}.v-cell text{font-size:16px}.logo{font-family:var(--font-body);align-items:center;font-size:1.15rem;font-weight:800}.logo__prompt{width:1.55em;height:1.55em;color:var(--bg);background-image:var(--rainbow);background-size:400% 400%;border-radius:.45em;place-items:center;margin-right:.5em;font-weight:800;animation:6s cubic-bezier(.36,.66,.6,1) infinite rainbow;display:inline-grid}.logo__cursor{background:var(--text-3);border-radius:3px;transform:translateY(.12em)}@keyframes rainbow{0%,to{background-position:0%}50%{background-position:100%}}.prose a{-webkit-text-decoration:underline wavy;text-decoration:underline wavy;-webkit-text-decoration-color:var(--link);-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}@supports (color:color-mix(in lab, red, red)){.prose a{-webkit-text-decoration-color:color-mix(in srgb, var(--link) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--link) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--link) 70%, transparent)}}.prose a{text-underline-offset:.2rem;text-decoration-thickness:1px}.prose a:hover{color:#c3b8ff}.hero__accent{background-image:var(--rainbow);color:#0000;background-size:300% 300%;-webkit-background-clip:text;background-clip:text;animation:8s cubic-bezier(.36,.66,.6,1) infinite rainbow}.site-head{background:var(--bg)}@supports (color:color-mix(in lab, red, red)){.site-head{background:color-mix(in srgb, var(--bg) 92%, transparent)}}.site-head{border-bottom-color:var(--line-2)}.mistake{background:var(--surface)}@media (max-width:1180px){.doc{grid-template-columns:220px minmax(0,1fr);gap:44px}.doc__toc{display:none}}@media (max-width:860px){html{font-size:calc(var(--base-size) - .5px)}.doc{grid-template-columns:minmax(0,1fr);gap:0;padding:0 16px}.doc__side{inset:var(--head-h) 0 0 0;z-index:30;background:var(--bg);max-height:none;padding:20px 16px 40px;display:none;position:fixed}body.nav-open .doc__side{display:block}.nav-toggle{display:inline-flex}.doc__main{padding-top:28px}.site-head__inner{gap:12px;padding:0 16px}.search-btn{min-width:0}.search-btn__label,.search-btn kbd,.site-nav{display:none}.tldr{grid-template-columns:1fr 1fr}.tldr__cell--wide{border-left:0;border-bottom:var(--bw) solid var(--line);grid-column:span 2}.tldr__cell:nth-child(3){border-left:0}.hero{grid-template-columns:minmax(0,1fr);gap:40px;padding:44px 0 56px}.home,.page{padding-left:16px;padding-right:16px}.index__cat{grid-template-columns:minmax(0,1fr);gap:16px;padding:32px 0}.index__row{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px}.index__summary{grid-area:2/1/auto/-1}.index__cx{grid-area:1/2}.viz__stage{padding:12px 6px 6px}.viz__head .viz__title{display:none}.pager{grid-template-columns:1fr}.problems__host{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}