@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-font-weight:initial;--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;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:var(--font-mono);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-destructive-foreground:var(--destructive-foreground);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-paper:var(--paper);--color-grid:var(--grid);--color-sheet:var(--sheet);--color-sheet-2:var(--sheet-2);--color-line:var(--line);--color-line-soft:var(--line-soft);--color-ink:var(--ink);--color-ink-soft:var(--ink-soft);--color-pencil:var(--pencil);--color-red:var(--red);--color-green:var(--green);--color-hl-yellow:var(--hl-yellow);--color-hl-mint:var(--hl-mint);--color-hl-pink:var(--hl-pink);--color-tape:var(--tape);--color-hole:var(--hole);--color-sticky-bg:var(--sticky-bg);--color-sticky-fg:var(--sticky-fg);--color-sticky-mint-bg:var(--sticky-mint-bg);--color-sticky-mint-fg:var(--sticky-mint-fg);--color-warn-bg:var(--warn-bg);--color-say-bg:var(--say-bg);--color-code-bg:var(--code-bg);--color-code-fg:var(--code-fg);--color-code-inline-bg:var(--code-inline-bg);--color-code-comment:var(--code-comment);--color-dg-box:var(--dg-box);--color-dg-box-green:var(--dg-box-green);--color-dg-box-red:var(--dg-box-red);--color-dg-box-yellow:var(--dg-box-yellow);--color-dg-yellow-stroke:var(--dg-yellow-stroke);--color-bar:var(--bar);--color-bar-border:var(--bar-border);--color-btn-bg:var(--btn-bg);--color-btn-hover:var(--btn-hover);--font-heading:var(--font-heading);--font-body:var(--font-body)}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.top-100{top:calc(var(--spacing) * 100)}.isolate{isolation:isolate}.row-0{grid-row:0}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-1{margin:var(--spacing)}.\!grid{display:grid!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-42{height:calc(var(--spacing) * 42)}.w-1{width:var(--spacing)}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.bg-red{background-color:var(--red)}.bg-none{background-image:none}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-412{padding-right:calc(var(--spacing) * 412)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-wrap{text-wrap:wrap}.text-primary-foreground{color:var(--primary-foreground)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.disabled\:opacity-50:disabled{opacity:.5}}:root{--background:var(--paper);--foreground:var(--ink);--card:var(--sheet);--card-foreground:var(--ink);--popover:var(--sheet);--popover-foreground:var(--ink);--primary-foreground:var(--on-primary);--secondary:var(--sheet-2);--secondary-foreground:var(--ink);--muted:var(--line);--muted-foreground:var(--pencil);--accent:var(--primary);--accent-foreground:var(--ink);--destructive:var(--danger);--destructive-foreground:var(--sheet);--border:var(--line);--input:var(--line);--ring:var(--primary)}[data-slot=select-item][data-highlighted]{background:var(--btn-hover)}[data-slot=select-item][data-state=checked]{background:var(--primary-soft);color:var(--ink);font-weight:700}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f4ea;--grid:#1f3a7312;--sheet:#fffdf6;--sheet-2:#fbf8ee;--line:#e6e0cd;--line-soft:#1f3a7329;--ink:#1f3a73;--ink-soft:#4a5f8c;--pencil:#5b616e;--red:#c4342b;--green:#1f7a55;--hl-yellow:#ffe873;--hl-mint:#afebd2;--hl-pink:#ffc9d6;--tape:#e4d6a08c;--hole:#edeae0;--sticky-bg:#ffe873;--sticky-fg:#3b3212;--sticky-mint-bg:#afebd2;--sticky-mint-fg:#0f3d2c;--warn-bg:#c4342b0d;--say-bg:#f4f8ff;--code-bg:#fff;--code-fg:#2a2a2a;--code-inline-bg:#fff6d0;--code-comment:#5f6b7a;--dg-box:#fff;--dg-box-green:#f1fbf6;--dg-box-red:#fff4f3;--dg-box-yellow:#fffbe4;--dg-yellow-stroke:#b9982c;--bar:#fffdf6db;--bar-border:#1f3a7324;--btn-bg:#fffdf6;--btn-hover:#f0f6ff;--shadow-sm:0 1px 2px #1f3a731a;--shadow-md:0 10px 24px -16px #1f3a7380;--shadow-lg:0 22px 48px -24px #1f3a738c;--bar-h:60px;--side-w:268px;--radius:12px;--font-heading:var(--font-caveat), "Comic Sans MS", cursive;--font-body:var(--font-kalam), "Comic Sans MS", "Segoe Print", cursive;--font-mono:var(--font-jetbrains-mono), ui-monospace, monospace;--font-code:var(--font-mono);--ide-keyword:#ae2e26;--ide-string:#1b6a4a;--ide-number:#6f5b1a;--ide-op:#4a5f8c;--ide-comment:#585e6b;--c-orange:#c2650a;--c-yellow:#9a7400;--c-teal:#0b7a8c;--c-blue:#1c64b8;--c-purple:#8a36aa;--c-grey:#6b727c;--primary:#2451b3;--on-primary:#fffdf6;--mark:#ffe873;--success:#1f7a55;--danger:#c4342b;--caution:#8a6400;--info:#1c64b8;--book-paper:#fbf5e4;--book-paper-shade:#c9bb97;--book-ink:#2b2418;--book-ink-soft:#5a4d38;--book-rule:#d6c9a8;--book-cover:#7c2a2d;--book-cover-dark:#4d1a1e;--book-cover-light:#a24543;--book-edge:#efe4c8;--book-ribbon:#a3232c;--book-gold:#b8923c;--book-shadow:#26160e8c;--book-pen:#a8281f;--book-note:#fbe38a;--book-tape:#e2d4a099}:root{--t-display:1.75rem;--t-heading:1.375rem;--t-control:1rem;--t-title:1.25rem;--t-body:.9375rem;--t-meta:.8125rem;--t-kicker:.75rem;--t-hero:clamp(2.5rem, min(5.4vw, 8svh), 5rem);--t-section:clamp(2.125rem, 3.8vw, 3.5rem);--t-hero-fit:clamp(2.25rem, min(5vw, 7svh), 5rem);--t-lead:1.125rem;--t-prose:clamp(1rem, .7rem + .45vw, 1.1875rem);--t-prose-h3:clamp(1.5rem, 1rem + 1vw, 2.375rem);--t-chapter:clamp(2.5rem, 1rem + 3.2vw, 4.25rem);--t-panel:clamp(2rem, 1.2rem + 1.2vw, 2.75rem);--topic-w:1040px}html[data-font=serif],html[data-font=roboto]{--t-title:1rem;--t-prose-h3:clamp(1.375rem, .95rem + .85vw, 2rem)}html[data-font=serif],html[data-font=roboto],html[data-font=chalk],html[data-font=marker]{--t-hero:clamp(2.25rem, min(4.4vw, 7svh), 4.25rem);--t-chapter:clamp(2.125rem, .9rem + 2.6vw, 3.5rem);--t-panel:clamp(1.75rem, 1.1rem + 1vw, 2.25rem)}html[data-font=sketch]{--t-prose:clamp(1.1rem, .75rem + .5vw, 1.35rem)}html[data-font=chalk],html[data-font=marker]{--t-prose-h3:clamp(1.5rem, 1rem + 1vw, 2.25rem)}:root,[data-theme]{--c-red:var(--red);--c-green:var(--green);--c-red-soft:var(--c-red)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-red-soft:color-mix(in srgb, var(--c-red) 20%, var(--sheet))}}:root,[data-theme]{--c-orange-soft:var(--c-orange)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-orange-soft:color-mix(in srgb, var(--c-orange) 20%, var(--sheet))}}:root,[data-theme]{--c-yellow-soft:var(--c-yellow)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-yellow-soft:color-mix(in srgb, var(--c-yellow) 24%, var(--sheet))}}:root,[data-theme]{--c-green-soft:var(--c-green)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-green-soft:color-mix(in srgb, var(--c-green) 20%, var(--sheet))}}:root,[data-theme]{--c-teal-soft:var(--c-teal)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-teal-soft:color-mix(in srgb, var(--c-teal) 20%, var(--sheet))}}:root,[data-theme]{--c-blue-soft:var(--c-blue)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-blue-soft:color-mix(in srgb, var(--c-blue) 20%, var(--sheet))}}:root,[data-theme]{--c-purple-soft:var(--c-purple)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-purple-soft:color-mix(in srgb, var(--c-purple) 20%, var(--sheet))}}:root,[data-theme]{--c-grey-soft:var(--c-grey)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--c-grey-soft:color-mix(in srgb, var(--c-grey) 18%, var(--sheet))}}:root,[data-theme]{--primary-soft:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--primary-soft:color-mix(in srgb, var(--primary) 16%, var(--sheet))}}:root,[data-theme]{--success-soft:var(--success)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--success-soft:color-mix(in srgb, var(--success) 16%, var(--sheet))}}:root,[data-theme]{--danger-soft:var(--danger)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--danger-soft:color-mix(in srgb, var(--danger) 16%, var(--sheet))}}:root,[data-theme]{--caution-soft:var(--caution)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--caution-soft:color-mix(in srgb, var(--caution) 16%, var(--sheet))}}:root,[data-theme]{--info-soft:var(--info)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--info-soft:color-mix(in srgb, var(--info) 16%, var(--sheet))}}:root,[data-theme]{--note:var(--lightningcss-light,var(--mark))var(--lightningcss-dark,var(--caution))}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--note:var(--lightningcss-light,color-mix(in srgb, var(--mark) 32%, var(--sheet)))var(--lightningcss-dark,color-mix(in srgb, var(--caution) 8%, var(--sheet)))}}:root,[data-theme]{--sticker:var(--lightningcss-light,var(--mark))var(--lightningcss-dark,var(--caution))}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--sticker:var(--lightningcss-light,var(--mark))var(--lightningcss-dark,color-mix(in srgb, var(--caution) 16%, var(--sheet)))}}:root,[data-theme]{--marker:var(--lightningcss-light,var(--mark))var(--lightningcss-dark,var(--primary))}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--marker:var(--lightningcss-light,var(--mark))var(--lightningcss-dark,color-mix(in srgb, var(--primary) 34%, var(--sheet)))}}:root,[data-theme]{--ide-bg:var(--sheet-2);--ide-bg-elevated:var(--sheet);--ide-gutter:var(--sheet-2);--ide-border:var(--line);--ide-fg:var(--ink);--ide-fg-dim:var(--ink-soft);--ide-fg-faint:var(--pencil);--ide-selection:var(--line-soft);--ide-red:var(--red);--ide-yellow:var(--dg-yellow-stroke);--ide-green:var(--green);--ide-cursor:var(--ink);--ide-hover:var(--ide-fg)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--ide-hover:color-mix(in srgb, var(--ide-fg) 12%, transparent)}}:root,[data-theme]{--ide-hover-strong:var(--ide-fg)}@supports (color:color-mix(in lab, red, red)){:root,[data-theme]{--ide-hover-strong:color-mix(in srgb, var(--ide-fg) 15%, transparent)}}:root,[data-theme],::backdrop{--scrim:#000}html[data-font=marker]{--font-heading:var(--font-patrick-hand), "Comic Sans MS", cursive;--font-body:var(--font-shadows-into-light), "Comic Sans MS", cursive;--font-code:var(--font-body)}html[data-font=sketch]{--font-heading:var(--font-architects-daughter), "Comic Sans MS", cursive;--font-body:var(--font-reenie-beanie), "Comic Sans MS", cursive;--font-code:var(--font-body)}html[data-font=pen]{--font-heading:var(--font-gochi-hand), "Comic Sans MS", cursive;--font-body:var(--font-neucha), "Comic Sans MS", cursive;--font-code:var(--font-body)}html[data-font=chalk]{--font-heading:var(--font-permanent-marker), "Comic Sans MS", cursive;--font-body:var(--font-indie-flower), "Comic Sans MS", cursive;--font-code:var(--font-body)}html[data-font=script]{--font-heading:var(--font-dancing-script), "Comic Sans MS", cursive;--font-body:var(--font-handlee), "Comic Sans MS", cursive;--font-code:var(--font-body)}html[data-font=serif]{--font-heading:var(--font-literata), Georgia, serif;--font-body:var(--font-literata), Georgia, serif;--font-code:var(--font-mono)}html[data-font=roboto]{--font-heading:var(--font-roboto), system-ui, sans-serif;--font-body:var(--font-roboto), system-ui, sans-serif;--font-code:var(--font-body)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#12141a;--grid:#bed6ff0d;--sheet:#191d25;--sheet-2:#1e232c;--line:#2b323e;--line-soft:#bed6ff29;--ink:#d9e5fb;--ink-soft:#a8bcdd;--pencil:#97a3b6;--red:#ff9184;--green:#64dfa6;--hl-yellow:#ffe05c47;--hl-mint:#6ee7b738;--hl-pink:#ff96b438;--tape:#c4d4f033;--hole:#0d0f13;--sticky-bg:#ffe05c21;--sticky-fg:#f4e6ae;--sticky-mint-bg:#6ee7b721;--sticky-mint-fg:#b7f0d7;--warn-bg:#ff918414;--say-bg:#78a0e617;--code-bg:#0f131a;--code-fg:#e2e9f2;--code-inline-bg:#ffe05c1f;--code-comment:#8593a6;--dg-box:#1c212a;--dg-box-green:#14261f;--dg-box-red:#2a1a1a;--dg-box-yellow:#262218;--dg-yellow-stroke:#c9a94a;--bar:#12141ae0;--bar-border:#bed6ff1f;--btn-bg:#1e232c;--btn-hover:#262d39;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 10px 24px -16px #000c;--shadow-lg:0 22px 48px -24px #000000e6;--ide-keyword:#ff9184;--ide-string:#64dfa6;--ide-number:#c9a94a;--ide-op:#a8bcdd;--ide-comment:#a2adbe;--c-orange:#ffa657;--c-yellow:#f2cc60;--c-teal:#56d4dd;--c-blue:#79b8ff;--c-purple:#d2a8ff;--c-grey:#9aa4b2;--primary:#8fb0ff;--on-primary:#10131a;--mark:#4a4020;--success:#64dfa6;--danger:#ff9184;--caution:#f2cc60;--info:#79b8ff;--book-paper:#e6dcc3;--book-paper-shade:#b0a283;--book-ink:#2a2218;--book-ink-soft:#574a36;--book-rule:#c9bc9c;--book-cover:#5e2531;--book-cover-dark:#3a1520;--book-cover-light:#84394a;--book-edge:#d3c7aa;--book-ribbon:#9c2a34;--book-gold:#c9a24d;--book-shadow:#000000b3;--book-pen:#9f2a22;--book-note:#ecd47a;--book-tape:#e8daaa80}[data-theme=kraft]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#d8c6a0;--grid:#4a321417;--sheet:#ecdfc0;--sheet-2:#e4d4ae;--line:#c9b586;--line-soft:#4a321433;--ink:#3b2a14;--ink-soft:#5c4726;--pencil:#615239;--red:#803124;--green:#285c3f;--hl-yellow:#f0cf6a;--hl-mint:#a8d9b8;--hl-pink:#e8b3a8;--tape:#c4a06480;--hole:#cbb98d;--sticky-bg:#f0cf6a;--sticky-fg:#3b2a10;--sticky-mint-bg:#a8d9b8;--sticky-mint-fg:#17331f;--warn-bg:#80312417;--say-bg:#f2e6c8;--code-bg:#fbf3df;--code-fg:#3a2c17;--code-inline-bg:#ecd9a8;--code-comment:#6e5a3d;--dg-box:#fbf3df;--dg-box-green:#e4f0e2;--dg-box-red:#f5e0da;--dg-box-yellow:#f6ecc7;--dg-yellow-stroke:#a9863a;--bar:#ecdfc0e0;--bar-border:#4a32142e;--btn-bg:#ecdfc0;--btn-hover:#e2d0a2;--shadow-sm:0 1px 2px #4a321424;--shadow-md:0 10px 24px -16px #4a32148c;--shadow-lg:0 22px 48px -24px #4a321499;--ide-keyword:#792e22;--ide-string:#224e36;--ide-number:#54431d;--ide-op:#564324;--ide-comment:#514430;--c-orange:#9e4f0c;--c-yellow:#7d5f00;--c-teal:#1c6363;--c-blue:#2a5585;--c-purple:#6a3a76;--c-grey:#655b4c;--primary:#8a3a12;--on-primary:#fbf3df;--mark:#f0cf6a;--success:#285c3f;--danger:#9b1b30;--caution:#6b5000;--info:#2a5585;--book-paper:#f1e5c6;--book-paper-shade:#bfae85;--book-ink:#33261a;--book-ink-soft:#5c4a30;--book-rule:#cdbd96;--book-cover:#5f2a1c;--book-cover-dark:#3b1810;--book-cover-light:#7f4230;--book-edge:#e0d1aa;--book-ribbon:#8d2530;--book-gold:#b08a3a;--book-shadow:#34200c99;--book-pen:#9a2a1c;--book-note:#f0d27a;--book-tape:#c4a0648c}[data-theme=blueprint]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#16324f;--grid:#eaf4ff12;--sheet:#1c3c5e;--sheet-2:#204569;--line:#2c527d;--line-soft:#d2e6ff2e;--ink:#eaf4ff;--ink-soft:#b7d4f0;--pencil:#a4c0dc;--red:#ff9480;--green:#7fe0b8;--hl-yellow:#ffe05c40;--hl-mint:#6ee7b733;--hl-pink:#ff96b433;--tape:#eaf4ff2e;--hole:#0f2439;--sticky-bg:#ffe05c24;--sticky-fg:#ffe9a8;--sticky-mint-bg:#6ee7b724;--sticky-mint-fg:#b7f0d7;--warn-bg:#ff948017;--say-bg:#b4d2ff14;--code-bg:#0f2439;--code-fg:#dbe9f7;--code-inline-bg:#ffe05c0f;--code-comment:#7fa0c4;--dg-box:#1c3c5e;--dg-box-green:#163c30;--dg-box-red:#3c2020;--dg-box-yellow:#3c331a;--dg-yellow-stroke:#c9a94a;--bar:#16324fe0;--bar-border:#d2e6ff24;--btn-bg:#204569;--btn-hover:#285078;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 10px 24px -16px #000c;--shadow-lg:0 22px 48px -24px #000000e6;--ide-keyword:#ffd1c8;--ide-string:#a5e9cd;--ide-number:#e8dbb3;--ide-op:#c8def3;--ide-comment:#cedded;--c-orange:#ffb870;--c-yellow:#ffe08a;--c-teal:#7ee3e8;--c-blue:#a9d4ff;--c-purple:#d9b8ff;--c-grey:#b7c6d8;--primary:#7fd8ff;--on-primary:#0f2439;--mark:#5a5a2c;--success:#7fe0b8;--danger:#ff907b;--caution:#ffe08a;--info:#a9d4ff;--book-paper:#e4dcc6;--book-paper-shade:#aa9f84;--book-ink:#231f1a;--book-ink-soft:#4f4636;--book-rule:#c3b99c;--book-cover:#5a2638;--book-cover-dark:#381420;--book-cover-light:#7d3a4d;--book-edge:#d0c6aa;--book-ribbon:#a02c3a;--book-gold:#c8a24e;--book-shadow:#030a16b3;--book-pen:#9c2b24;--book-note:#e9d37c;--book-tape:#ece2be80}[data-theme=sepia]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f0e4c8;--grid:#5a3e1e12;--sheet:#faf1dc;--sheet-2:#f5ead0;--line:#ddc9a0;--line-soft:#5a3e1e29;--ink:#4a3221;--ink-soft:#6d5138;--pencil:#665841;--red:#9a4533;--green:#3d6543;--hl-yellow:#f3dd8a;--hl-mint:#c3e0c2;--hl-pink:#f0c9bd;--tape:#d6be8c80;--hole:#e6d8b3;--sticky-bg:#f3dd8a;--sticky-fg:#4a3510;--sticky-mint-bg:#c3e0c2;--sticky-mint-fg:#1f3a20;--warn-bg:#9a453312;--say-bg:#f5ecd6;--code-bg:#fffaf0;--code-fg:#40301f;--code-inline-bg:#f0e0b8;--code-comment:#6f5e42;--dg-box:#fffaf0;--dg-box-green:#eaf3e6;--dg-box-red:#f7e6de;--dg-box-yellow:#faf0cf;--dg-yellow-stroke:#b3903f;--bar:#faf1dcdb;--bar-border:#5a3e1e24;--btn-bg:#faf1dc;--btn-hover:#f0e2bd;--shadow-sm:0 1px 2px #5a3e1e1f;--shadow-md:0 10px 24px -16px #5a3e1e80;--shadow-lg:0 22px 48px -24px #5a3e1e8c;--ide-keyword:#8e402f;--ide-string:#3b5f40;--ide-number:#6a5525;--ide-op:#6d5138;--ide-comment:#625642;--c-orange:#a65a14;--c-yellow:#83650f;--c-teal:#2a6e6a;--c-blue:#385e88;--c-purple:#734681;--c-grey:#716554;--primary:#7a2e2a;--on-primary:#faf1dc;--mark:#f0d68a;--success:#3d6543;--danger:#a3392a;--caution:#7a5c0c;--info:#385e88;--book-paper:#f6ead0;--book-paper-shade:#c4b186;--book-ink:#3a2818;--book-ink-soft:#66482f;--book-rule:#d3c09a;--book-cover:#6a2a20;--book-cover-dark:#421710;--book-cover-light:#8c4636;--book-edge:#e8d8b4;--book-ribbon:#962a2b;--book-gold:#b58a36;--book-shadow:#46281099;--book-pen:#a02e20;--book-note:#f2d57e;--book-tape:#d6be8c99}[data-theme=forest]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#eef2e6;--grid:#2d4a2612;--sheet:#f8fbf2;--sheet-2:#f0f5e6;--line:#d7e0c4;--line-soft:#2d4a2629;--ink:#2c4a24;--ink-soft:#425c35;--pencil:#5f6e52;--red:#b0432e;--green:#2e7b4e;--hl-yellow:#f0d989;--hl-mint:#b7e4c7;--hl-pink:#f0c3c9;--tape:#c5d6a08c;--hole:#e4ead7;--sticky-bg:#f0d989;--sticky-fg:#423410;--sticky-mint-bg:#b7e4c7;--sticky-mint-fg:#123d24;--warn-bg:#b0432e0f;--say-bg:#eef5ea;--code-bg:#fff;--code-fg:#263a20;--code-inline-bg:#eaf0d8;--code-comment:#5b6a4c;--dg-box:#fff;--dg-box-green:#e9f5ea;--dg-box-red:#faeeea;--dg-box-yellow:#faf5df;--dg-yellow-stroke:#a68a2c;--bar:#f8fbf2db;--bar-border:#2d4a2624;--btn-bg:#f8fbf2;--btn-hover:#eaf2e0;--shadow-sm:0 1px 2px #2d4a261a;--shadow-md:0 10px 24px -16px #2d4a2680;--shadow-lg:0 22px 48px -24px #2d4a268c;--ide-keyword:#9d3c29;--ide-string:#276842;--ide-number:#6c5a1d;--ide-op:#48643b;--ide-comment:#536047;--c-orange:#b25f0f;--c-yellow:#876d08;--c-teal:#19716a;--c-blue:#2c6388;--c-purple:#764687;--c-grey:#646d60;--primary:#2d6a43;--on-primary:#f8fbf2;--mark:#e3e79a;--success:#1f6f5c;--danger:#b5452f;--caution:#7a6206;--info:#2c6388;--book-paper:#f8f4e2;--book-paper-shade:#c5bd98;--book-ink:#25301f;--book-ink-soft:#4c5538;--book-rule:#d4cba8;--book-cover:#26462f;--book-cover-dark:#162b1c;--book-cover-light:#3e6a49;--book-edge:#ebe4c6;--book-ribbon:#9e2a2f;--book-gold:#b9953c;--book-shadow:#1a28168c;--book-pen:#a3281f;--book-note:#f0e08a;--book-tape:#ded6a099}[data-theme=rose]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1a1117;--grid:#ffd6e60d;--sheet:#241823;--sheet-2:#2b1c2a;--line:#3d2836;--line-soft:#ffd6e629;--ink:#f7dbe8;--ink-soft:#dbb3c8;--pencil:#b592a4;--red:#ff8fa3;--green:#7fe0b8;--hl-yellow:#ffe05c40;--hl-mint:#6ee7b733;--hl-pink:#ff96b447;--tape:#ffd6e62e;--hole:#150d13;--sticky-bg:#ff96b429;--sticky-fg:#ffd6e6;--sticky-mint-bg:#6ee7b724;--sticky-mint-fg:#b7f0d7;--warn-bg:#ff8fa317;--say-bg:#dca0d214;--code-bg:#150d13;--code-fg:#f0dbe6;--code-inline-bg:#ff96b41f;--code-comment:#9a7a8c;--dg-box:#2b1c2a;--dg-box-green:#1c2f26;--dg-box-red:#3a2028;--dg-box-yellow:#322418;--dg-yellow-stroke:#c9a94a;--bar:#1a1117e0;--bar-border:#ffd6e61f;--btn-bg:#2b1c2a;--btn-hover:#352433;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 10px 24px -16px #000c;--shadow-lg:0 22px 48px -24px #000000e6;--ide-keyword:#ff8fa3;--ide-string:#7fe0b8;--ide-number:#c9a94a;--ide-op:#dbb3c8;--ide-comment:#c2a5b3;--c-orange:#ffb38a;--c-yellow:#f5d68a;--c-teal:#86e1dc;--c-blue:#9cc4ff;--c-purple:#e0a8ff;--c-grey:#bfa9b7;--primary:#ff8fb8;--on-primary:#241823;--mark:#5c2a44;--success:#7fe0b8;--danger:#ff9a6b;--caution:#f5d68a;--info:#9cc4ff;--book-paper:#eadbc9;--book-paper-shade:#b4a08c;--book-ink:#2e1f22;--book-ink-soft:#5b4146;--book-rule:#cdb9a3;--book-cover:#62233f;--book-cover-dark:#3c1226;--book-cover-light:#86395a;--book-edge:#d9c8b2;--book-ribbon:#a02e48;--book-gold:#c9a050;--book-shadow:#0a0208b3;--book-pen:#a02a32;--book-note:#ecd08a;--book-tape:#f0dcc880}[data-theme=mono]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f2f2f0;--grid:#1414140f;--sheet:#fff;--sheet-2:#f5f5f3;--line:#d8d8d4;--line-soft:#14141426;--ink:#111;--ink-soft:#3a3a3a;--pencil:#5a5a5a;--red:#b3261e;--green:#276b38;--hl-yellow:#e3dcc0;--hl-mint:#c9d8cb;--hl-pink:#dccbcb;--tape:#1e1e1e24;--hole:#e4e4e0;--sticky-bg:#e3dcc0;--sticky-fg:#2a2416;--sticky-mint-bg:#c9d8cb;--sticky-mint-fg:#1c2e1e;--warn-bg:#b3261e0d;--say-bg:#eeeeec;--code-bg:#fafafa;--code-fg:#1a1a1a;--code-inline-bg:#e6e6e2;--code-comment:#5f5f5f;--dg-box:#fff;--dg-box-green:#eef2ee;--dg-box-red:#f4eaea;--dg-box-yellow:#f2efe2;--dg-yellow-stroke:#8a7c46;--bar:#ffffffe0;--bar-border:#1414141f;--btn-bg:#fff;--btn-hover:#ececea;--shadow-sm:0 1px 2px #1414141a;--shadow-md:0 10px 24px -16px #14141480;--shadow-lg:0 22px 48px -24px #1414148c;--ide-keyword:#ac241d;--ide-string:#256635;--ide-number:#635932;--ide-op:#3a3a3a;--ide-comment:#5a5a5a;--c-orange:#a85700;--c-yellow:#7f6400;--c-teal:#0f6466;--c-blue:#1d58a3;--c-purple:#733087;--c-grey:#555;--primary:#161616;--on-primary:#fff;--mark:#e2e2dc;--success:#276b38;--danger:#b3261e;--caution:#6e5a00;--info:#1d58a3;--book-paper:#f3f1ea;--book-paper-shade:#bdb9ad;--book-ink:#1c1c1c;--book-ink-soft:#4a4a47;--book-rule:#d0cdc2;--book-cover:#2f3033;--book-cover-dark:#17181a;--book-cover-light:#4d4f54;--book-edge:#e2dfd5;--book-ribbon:#9f2a25;--book-gold:#a8873a;--book-shadow:#1414148c;--book-pen:#a3271f;--book-note:#f0dc8a;--book-tape:#e2ded099}[data-theme=lavender]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#efe9f7;--grid:#4a2d730f;--sheet:#faf7fe;--sheet-2:#f3ecfb;--line:#ded0ee;--line-soft:#4a2d7329;--ink:#402a63;--ink-soft:#61508a;--pencil:#615779;--red:#ac3b5a;--green:#236b56;--hl-yellow:#f3e29a;--hl-mint:#b6e6d3;--hl-pink:#ecc3e0;--tape:#ceb7e880;--hole:#e6dbf3;--sticky-bg:#f3e29a;--sticky-fg:#453510;--sticky-mint-bg:#b6e6d3;--sticky-mint-fg:#123d2e;--warn-bg:#ac3b5a0f;--say-bg:#f1e9fa;--code-bg:#fff;--code-fg:#33254a;--code-inline-bg:#ecdff9;--code-comment:#685a84;--dg-box:#fff;--dg-box-green:#eaf6f0;--dg-box-red:#faeaf0;--dg-box-yellow:#faf3df;--dg-yellow-stroke:#a68a2c;--bar:#faf7fedb;--bar-border:#4a2d7324;--btn-bg:#faf7fe;--btn-hover:#ede1fa;--shadow-sm:0 1px 2px #4a2d731a;--shadow-md:0 10px 24px -16px #4a2d7380;--shadow-lg:0 22px 48px -24px #4a2d738c;--ide-keyword:#953952;--ide-string:#226350;--ide-number:#69571c;--ide-op:#61508a;--ide-comment:#5c5473;--c-orange:#b8620f;--c-yellow:#8c700a;--c-teal:#177881;--c-blue:#3858b8;--c-purple:#7446b8;--c-grey:#686376;--primary:#6a3fb8;--on-primary:#faf7fe;--mark:#e6d3fb;--success:#236b56;--danger:#b8395e;--caution:#7d6408;--info:#3858b8;--book-paper:#f7f1e6;--book-paper-shade:#c9bdb0;--book-ink:#2d2238;--book-ink-soft:#54466a;--book-rule:#d8cdc4;--book-cover:#4a2b72;--book-cover-dark:#2c1646;--book-cover-light:#6a4496;--book-edge:#ebe1d2;--book-ribbon:#a4305a;--book-gold:#b8943f;--book-shadow:#2816468c;--book-pen:#a52a45;--book-note:#f2e08e;--book-tape:#e2d2ee8c}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);font-family:var(--font-body);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;background-size:26px 26px;margin:0;font-size:18px;line-height:1.8}h1,h2,h3,.ttl{font-family:var(--font-heading);margin:0;font-weight:700;line-height:1.15}h1{letter-spacing:.5px;font-size:clamp(38px,6vw,60px)}h2{z-index:1;font-size:clamp(28px,4vw,40px);display:inline-block;position:relative}h2:after{content:"";background:var(--mark);z-index:-1;opacity:.85;border-radius:2px;height:.5em;position:absolute;bottom:2px;left:-6px;right:-8px;transform:skew(-9deg)rotate(-.5deg)}[data-theme=dark] h2:after,[data-theme=blueprint] h2:after,[data-theme=rose] h2:after{background:var(--primary);opacity:1;height:.2em;bottom:.04em}h3{scroll-margin-top:calc(var(--bar-h) + 20px);margin:30px 0 6px;font-size:26px}p{margin:.55em 0}em{color:var(--ink-soft);font-style:italic}a{color:var(--primary)}.sub{color:var(--pencil);margin:2px 0 16px;font-size:17px;font-weight:300}.lead{font-size:19px}ul{margin:.4em 0 .9em;padding-left:24px}li{margin:.3em 0}li::marker{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--sheet);border:2px solid var(--ink);border-radius:8px;padding:8px 14px;text-decoration:none;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{top:10px}.progress{z-index:50;background:var(--primary);border-radius:0 3px 3px 0;width:0%;height:3px;transition:width 80ms linear;position:fixed;top:0;left:0;right:0}.topbar{z-index:40;height:var(--bar-h);background:var(--bar);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--bar-border);align-items:center;gap:10px;padding:0 14px;display:none;position:sticky;top:0}.brand{color:inherit;flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand__mark{border:2.5px solid var(--ink);width:34px;height:34px;font-family:var(--font-heading);background:var(--sheet);border-radius:52% 48% 51% 49%/49% 52% 48% 51%;flex:none;place-items:center;font-size:19px;font-weight:700;display:grid;transform:rotate(-4deg)}.shortcut-help{z-index:80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcut-help__backdrop{background:var(--scrim);border:none;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.shortcut-help__backdrop{background:color-mix(in srgb, var(--scrim) 40%, transparent)}}.shortcut-help__backdrop{cursor:default}.shortcut-help__panel{background:var(--sheet);border:1px solid var(--line);width:min(420px,100vw - 32px);max-height:min(480px,100vh - 32px);box-shadow:var(--shadow-lg);border-radius:16px;padding:22px 24px 24px;position:relative;overflow-y:auto}.shortcut-help__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.shortcut-help__head h2{font-family:var(--font-heading);font-size:var(--t-heading);margin:0}.shortcut-help__list{flex-direction:column;gap:10px;margin:0;display:flex}.shortcut-help__row{justify-content:space-between;align-items:center;gap:12px;display:flex}.shortcut-help__row dt{flex:none}.shortcut-help__row dd{font-family:var(--font-body);font-size:var(--t-body);color:var(--ink-soft);text-align:right;margin:0}.shortcut-help kbd{font-family:var(--font-code);font-size:var(--t-kicker);background:var(--btn-bg);border:1px solid var(--line-soft);color:var(--ink);white-space:nowrap;border-bottom-width:2px;border-radius:6px;padding:3px 8px}.setgroup{border-top:1.5px dashed var(--line-soft);flex-direction:column;gap:6px;padding-top:11px;display:flex}.setgroup__title{font-family:var(--font-heading);letter-spacing:.09em;text-transform:uppercase;color:var(--pencil);align-items:center;gap:5px;margin:0 0 2px;font-size:11.5px;font-weight:700;display:flex}.setrow{align-items:center;gap:8px;min-height:32px;display:flex}.setrow__label{width:66px;color:var(--pencil);flex:none;font-size:13.5px}.setrow__ctl,.setrow .dd{flex:auto;min-width:0}.setrow .stepper{margin-left:auto}.setrow .dd__btn{min-height:32px;padding:4px 9px;font-size:13.5px}.setrow--wide .setrow__play{flex:none;width:32px;min-height:32px;font-size:13px}.setrow__play.is-on{border-color:var(--primary);color:var(--primary)}.stepper{background:var(--btn-bg);border:1.5px solid var(--line-soft);border-radius:9px;flex:none;align-items:stretch;display:inline-flex;overflow:hidden}.stepper__btn{width:28px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:15px;line-height:1;transition:background .14s}.stepper__btn--type{font-family:var(--font-heading);width:30px;font-size:13.5px;font-weight:700}.stepper__btn:hover:not([disabled]){background:var(--btn-hover)}.stepper__btn:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.stepper__btn[disabled]{opacity:.35;cursor:not-allowed}.stepper__val{border-left:1.5px dashed var(--line-soft);border-right:1.5px dashed var(--line-soft);min-width:52px;font-family:var(--font-mono);color:var(--pencil);justify-content:center;align-items:center;padding:4px 2px;font-size:12px;display:flex}.site-navlink__match{background:var(--ink);border-radius:50%;flex:none;width:7px;height:7px;margin-left:auto}kbd{font-family:var(--font-mono);border:1px solid var(--line-soft);background:var(--sheet-2);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e1873;border:0;padding:0;display:none;position:fixed;inset:0}.backdrop.is-open{display:block}.btn{min-height:36px;color:var(--ink);background:var(--btn-bg);border:1.5px solid var(--line-soft);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-family:inherit;font-size:15px;transition:background .14s,border-color .14s,transform .1s;display:inline-flex}.btn:hover{background:var(--btn-hover);border-color:var(--ink-soft)}.btn:active{transform:translateY(1px)}.btn--icon{width:38px;padding:0;font-size:17px}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--btn-hover)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn__label{white-space:nowrap}.dd{position:relative}.dd__btn{width:100%;min-height:36px;color:var(--ink);background:var(--btn-bg);border:1.5px solid var(--line-soft);cursor:pointer;text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:14px;transition:background .14s,border-color .14s;display:flex}.dd__btn:hover{background:var(--btn-hover);border-color:var(--ink-soft)}.dd.is-open .dd__btn{border-color:var(--ink-soft)}.dd__btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.dd__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dd__arrow{color:var(--pencil);flex:none;font-size:12px;transition:transform .14s}.dd.is-open .dd__arrow{transform:rotate(180deg)}.dd__menu{z-index:60;background:var(--sheet);border:1.5px solid var(--line-soft);min-width:100%;max-height:260px;box-shadow:var(--shadow-lg);border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.dd--up .dd__menu{top:auto;bottom:calc(100% + 6px)}.dd--compact .dd__menu{min-width:150px;left:auto;right:0}.dd__menu[hidden]{display:none}.dd__menu[data-slot=select-content]{max-height:var(--radix-select-content-available-height,320px);position:relative;inset:auto}.dd__opt{cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:7px;padding:7px 10px;font-size:14px}.dd__opt:hover,.dd__opt.is-focused{background:var(--btn-hover)}.dd__opt:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.dd__opt[aria-selected=true]{background:var(--primary-soft);color:var(--ink);font-weight:700}.dd--plain .dd__btn{background:0 0;border-color:#0000;padding:4px 8px}.dd--plain .dd__btn:hover{background:var(--btn-hover)}.dd--plain.is-open .dd__btn{border-color:#0000}.dd__opt{align-items:center;gap:6px;display:flex}.dd__opt-check{width:12px;font-size:var(--t-kicker);color:var(--primary);flex:none;display:none}.dd__menu--grid{max-height:none}.dd__menu--grid .dd__viewport{grid-template-columns:repeat(var(--dd-cols,3), max-content);gap:2px 26px;display:grid}.dd__menu--grid .dd__opt{white-space:nowrap}@media (max-width:480px){.dd__menu--grid .dd__viewport{grid-template-columns:repeat(3,max-content);gap:2px 14px}}.dd__group{display:contents}.dd__group-label{font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.07em;text-transform:uppercase;color:var(--pencil);grid-column:1/-1;padding:8px 10px 2px}.dd__group+.dd__group .dd__group-label{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:10px}.dd__menu--grid .dd__opt-check{justify-content:center;align-items:center;display:inline-flex}.dd__menu--grid .dd__opt[aria-selected=true]{color:inherit;background:0 0;font-weight:700}.fab{z-index:30;width:46px;height:46px;color:var(--ink);background:var(--sheet);border:2px solid var(--ink);box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;font-family:inherit;font-size:19px;transition:opacity .18s,transform .18s;display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(14px)scale(.9)}.fab.is-visible{opacity:1;pointer-events:auto;transform:none}.sheet{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);scroll-margin-top:calc(var(--bar-h) + 18px);margin:0 0 26px;padding:34px 34px 30px 62px;position:relative}.sheet:before{content:"";background:var(--primary);width:1.5px;position:absolute;top:0;bottom:0;left:46px}@supports (color:color-mix(in lab, red, red)){.sheet:before{background:color-mix(in srgb, var(--primary) 32%, transparent)}}.sheet:after{content:"";background-image:radial-gradient(circle at 8px 8px, var(--hole) 7px, transparent 7.5px);background-position:0 46px;background-repeat:repeat-y;background-size:16px 118px;width:16px;position:absolute;top:0;bottom:0;left:14px}.sheet.is-hidden{display:none}.is-narrating{background:var(--mark)}@supports (color:color-mix(in lab, red, red)){.is-narrating{background:color-mix(in srgb, var(--mark) 45%, transparent)}}.is-narrating{scroll-margin-top:calc(var(--bar-h) + 20px);border-radius:4px;transition:background .2s}.cover__meta{flex-wrap:wrap;gap:8px;margin:18px 0 4px;display:flex}.chip{color:var(--pencil);background:var(--sheet-2);border:1px solid var(--line-soft);border-radius:999px;padding:2px 12px;font-size:14px}.chip--done{color:var(--success);border-color:var(--success)}pre{font-family:var(--font-mono);font-variant-ligatures:none;color:var(--code-fg);background:var(--code-bg);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:6px;margin:16px 0 18px;padding:18px 18px 16px;font-size:15px;line-height:1.65;position:relative;overflow-x:auto}pre:before,pre:after{content:"";background:var(--tape);width:52px;height:16px;position:absolute;top:-8px;transform:rotate(-4deg)}pre:before{left:16px}pre:after{right:16px;transform:rotate(3deg)}code{font-family:var(--font-mono);font-variant-ligatures:none;background:var(--code-inline-bg);border-radius:3px;padding:1px 5px;font-size:.93em}pre code{background:0 0;padding:0;font-size:1em}.c{color:var(--code-comment)}.g{color:var(--green)}.r{color:var(--red)}.sticky{background:var(--sticky-bg);color:var(--sticky-fg);box-shadow:var(--shadow-md);border-radius:3px;margin:22px 0;padding:16px 20px;font-size:18px;transform:rotate(-.7deg)}.sticky.mint{background:var(--sticky-mint-bg);color:var(--sticky-mint-fg);transform:rotate(.6deg)}.sticky .ttl{margin-bottom:2px;font-size:24px;display:block}.sticky code,.warn code{background:#00000012}[data-theme=dark] .sticky code,[data-theme=dark] .warn code,[data-theme=blueprint] .sticky code,[data-theme=blueprint] .warn code,[data-theme=rose] .sticky code,[data-theme=rose] .warn code{background:#ffffff17}.warn{border-left:4px solid var(--red);background:var(--warn-bg);color:var(--red);border-radius:0 8px 8px 0;margin:18px 0;padding:8px 14px}.warn code{color:var(--ink)}.warn .ttl{font-size:22px;display:block}.sticky a,.warn a,.bx.is-prim a,.bx.is-ref a,.interview-body .prep a{color:inherit}.say{border:2px dashed var(--ink-soft);background:var(--say-bg);border-radius:14px;margin:20px 0;padding:12px 18px}.say .ttl{color:var(--ink-soft);font-size:22px;display:block}hr.tear{background:repeating-linear-gradient(-45deg, transparent 0 6px, var(--line-soft) 6px 8px);opacity:.7;border:none;height:14px;margin:30px 0}.table-scroll{margin:18px 0;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:17px}.table-scroll table{min-width:460px;margin:0}th,td{border:1.5px solid var(--line-soft);text-align:left;vertical-align:top;padding:9px 11px}th{background:var(--sheet-2);font-weight:700}tbody tr:nth-child(2n) td:not(.tone-yes):not(.tone-no):not(.tone-warn):not(.tone-bad){background:var(--sheet-2)}@supports (color:color-mix(in lab, red, red)){tbody tr:nth-child(2n) td:not(.tone-yes):not(.tone-no):not(.tone-warn):not(.tone-bad){background:color-mix(in srgb, var(--sheet-2) 55%, transparent)}}figure{text-align:center;background:var(--sheet-2);border:1px solid var(--line);border-radius:10px;margin:26px 0 22px;padding:16px 14px 12px}svg{max-width:100%;height:auto;margin:0 auto;display:block}figcaption{color:var(--ink-soft);margin-top:8px;font-size:16px;font-weight:300}figcaption code,.sub code{color:var(--ink)}.dg text{font-family:var(--font-body);fill:var(--ink)}.dg .lbl{font-size:16px}.dg .sm{fill:var(--pencil);font-size:13px}.dg .rd{fill:var(--red)}.dg .gr{fill:var(--green)}.dg-fit{max-width:34rem;margin-inline:auto;display:block}.dg-fit .sm{font-size:15px}@media (max-width:640px){.dg-fit .sm{font-size:17px}}.box{fill:var(--dg-box);stroke:var(--ink);stroke-width:2.2px}.boxg{fill:var(--dg-box-green);stroke:var(--green);stroke-width:2.2px}.boxr{fill:var(--dg-box-red);stroke:var(--red);stroke-width:2.2px}.boxy{fill:var(--dg-box-yellow);stroke:var(--dg-yellow-stroke);stroke-width:2.2px}.ln{stroke:var(--ink);stroke-width:2.2px;fill:none}.lnr{stroke:var(--red);stroke-width:2.2px;fill:none}.lng{stroke:var(--green);stroke-width:2.2px;fill:none}.dash{stroke-dasharray:7 6}.rough{filter:url(#wob)}.demo__ctl{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.demo__note{color:var(--pencil);border-left:3px solid var(--ink-soft);margin:14px 0 0;padding-left:11px;font-size:14.5px}.demo__term{background:var(--code-bg);color:var(--code-fg);font-family:var(--font-mono);border:1px solid var(--line);border-radius:6px;min-height:20px;margin-top:10px;padding:10px 12px;font-size:13.5px;line-height:1.6;overflow-x:auto}.demo__term div{white-space:pre-wrap}.demo__term .ok{color:var(--green)}.demo__term .err{color:var(--danger)}.demo__term .dim{color:var(--pencil);font-style:italic}.dom-sandbox{border:1.5px dashed var(--line-soft);background:var(--sheet);border-radius:8px;margin-bottom:4px;padding:14px 16px}.dom-sandbox h4{font-family:var(--font-heading);margin:0 0 8px;font-size:17px}.dom-sandbox p{border-radius:4px;margin:0 0 10px;padding:2px 4px;transition:background .2s,color .2s}.dom-sandbox p.de-highlight{background:var(--mark)}.dom-sandbox ul{margin:0 0 10px;padding-left:20px}.dom-sandbox form{gap:8px;display:flex}.dom-sandbox input{font-family:var(--font-body);border:1px solid var(--line-soft);background:var(--btn-bg);color:var(--ink);border-radius:6px;padding:5px 8px;font-size:13px}.ev-box{border:1.5px dashed var(--line-soft);font-family:var(--font-body);color:var(--pencil);cursor:pointer;border-radius:8px;padding:16px;font-size:12.5px;transition:background .15s}.ev-box:hover{background:var(--btn-hover)}.ev-box--outer{background:var(--sheet)}.ev-box--middle{background:var(--sheet-2);margin-top:10px}.ev-box--inner{background:var(--hl-mint);color:var(--ink);text-align:center;margin-top:10px;padding:20px 16px;font-weight:700}.ev-check{font-family:var(--font-body);color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.loop-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;display:grid}.loop-grid+.viz{margin-top:16px}.loop-grid--single{grid-template-columns:minmax(0,1fr)}.loop-grid>*{min-width:0}.loop-code{font-family:var(--font-mono);font-variant-ligatures:none;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--line);background-image:linear-gradient(to right, var(--code-bg) 30%, transparent), linear-gradient(to left, var(--code-bg) 30%, transparent), linear-gradient(to right, var(--code-fg), transparent), linear-gradient(to left, var(--code-fg), transparent);border-radius:6px;max-width:100%;padding:10px 0;font-size:13px;line-height:1.7;overflow-x:auto}@supports (color:color-mix(in lab, red, red)){.loop-code{background-image:linear-gradient(to right, var(--code-bg) 30%, transparent), linear-gradient(to left, var(--code-bg) 30%, transparent), linear-gradient(to right, color-mix(in srgb, var(--code-fg) 35%, transparent), transparent), linear-gradient(to left, color-mix(in srgb, var(--code-fg) 35%, transparent), transparent)}}.loop-code{background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:28px 100%,28px 100%,10px 100%,10px 100%;background-attachment:local,local,scroll,scroll}.loop-code div{white-space:pre;width:max-content;min-width:100%;padding:2px 14px}.loop-code div.hot{background:var(--mark);font-weight:700}.loop-bar{background:var(--line-soft);border-radius:99px;height:4px;margin-top:10px;overflow:hidden}.loop-bar i{background:var(--primary);width:0%;height:100%;transition:width .2s;display:block}.loop-queues{flex-direction:column;gap:8px;display:flex}.loop-box{border:1.5px solid var(--line-soft);border-radius:8px;min-height:30px;padding:8px 10px}.loop-box__label{color:var(--pencil);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.loop-level{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:6px;display:flex}.loop-level .loop-frame{margin:0}.loop-step{font-family:var(--font-mono);font-size:var(--t-meta);color:var(--ink-soft);margin:8px 0 0}.loop-frame{font-family:var(--font-mono);border-radius:5px;margin:5px 5px 0 0;padding:3px 8px;font-size:12px;display:inline-block}.loop-frame--stack{background:var(--dg-box-yellow);border:1px solid var(--dg-yellow-stroke);color:var(--ink)}.loop-frame--micro{background:var(--dg-box-green);border:1px solid var(--green);color:var(--green)}.loop-frame--macro{background:var(--dg-box-red);border:1px solid var(--red);color:var(--red)}.loop-frame--out{background:var(--code-bg);color:var(--green);border:1px solid var(--line)}@media (max-width:640px){.loop-grid{grid-template-columns:minmax(0,1fr)}}.chipset{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.chipbtn{font-family:var(--font-mono);color:var(--ink);background:var(--sheet);border:1.5px solid var(--line-soft);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:13.5px;transition:background .14s,border-color .14s}.chipbtn:hover{border-color:var(--ink-soft)}.chipbtn.is-on{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.readout{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:14px 0 0;display:grid}.readout__cell{border:1.5px solid var(--line-soft);background:var(--sheet);border-radius:8px;padding:9px 12px}.readout__k{letter-spacing:.04em;text-transform:uppercase;color:var(--pencil);font-size:12px}.readout__v{font-family:var(--font-mono);word-break:break-all;margin-top:5px;font-size:14.5px}.readout__v.is-yes{color:var(--success)}.readout__v.is-no{color:var(--danger)}.tone-yes{background:var(--dg-box-green);color:var(--green)}@supports (color:color-mix(in lab, red, red)){.tone-yes{color:color-mix(in srgb, var(--green) 65%, var(--ink))}}.tone-no{background:var(--sheet-2);color:var(--ink-soft)}.tone-warn{background:var(--dg-box-yellow);color:var(--dg-yellow-stroke)}@supports (color:color-mix(in lab, red, red)){.tone-warn{color:color-mix(in srgb, var(--dg-yellow-stroke) 50%, var(--ink))}}.tone-bad{background:var(--dg-box-red);color:var(--red)}@supports (color:color-mix(in lab, red, red)){.tone-bad{color:color-mix(in srgb, var(--red) 70%, var(--ink))}}span.tone-yes,span.tone-no,span.tone-warn,span.tone-bad{border-radius:999px;padding:2px 12px;font-size:14px;display:inline-block}.tone-yes code,.tone-no code,.tone-warn code,.tone-bad code{background:0 0}.boxes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:14px 0 0;display:grid}.prose{--code-label:"example";--window-dots:radial-gradient(circle at 1.25rem 50%, var(--danger) .32rem, transparent .37rem), radial-gradient(circle at 2.4rem 50%, var(--caution) .32rem, transparent .37rem), radial-gradient(circle at 3.55rem 50%, var(--success) .32rem, transparent .37rem);counter-reset:section figure;zoom:var(--reader-zoom,1);font-size:var(--t-prose);color:var(--ink);line-height:1.75}.prose p{text-wrap:pretty;margin:0 0 1.1em}.prose :is(ul,ol){margin:0 0 1.2em;padding-left:1.4em}.prose li{margin:.4em 0}.prose a{color:var(--primary);text-underline-offset:.18em;text-decoration-thickness:1.5px}.prose a:hover{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.prose a:hover{color:color-mix(in srgb, var(--primary) 70%, var(--ink))}}.prose :is(.sticky,.bx,.warn,.say) a{color:inherit}.prose code{color:var(--ink);background:var(--code-inline-bg);border-radius:.4em;padding:.06em .4em;font-size:.88em}.prose :is(.sticky,.bx,.warn,.say) code{background:currentColor}@supports (color:color-mix(in lab, red, red)){.prose :is(.sticky,.bx,.warn,.say) code{background:color-mix(in srgb, currentColor 11%, transparent)}}.prose :is(h2,h3:not(.subhead)){z-index:auto;font-size:var(--t-prose-h3);letter-spacing:-.01em;text-wrap:balance;text-decoration:underline;-webkit-text-decoration-color:var(--mark);-webkit-text-decoration-color:var(--mark);-webkit-text-decoration-color:var(--mark);text-decoration-color:var(--mark);margin:clamp(4.5rem,11vh,8rem) 0 .7em;padding:2.6rem 0 0;line-height:1.1;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.prose :is(h2,h3:not(.subhead)){-webkit-text-decoration-color:color-mix(in srgb, var(--mark) 85%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--mark) 85%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--mark) 85%, transparent);text-decoration-color:color-mix(in srgb, var(--mark) 85%, transparent)}}.prose :is(h2,h3:not(.subhead)){text-decoration-skip-ink:none;text-underline-offset:-.2em;scroll-margin-top:calc(var(--header-h,60px) + 24px);counter-increment:section;text-decoration-thickness:.32em}.prose :is(h2,h3:not(.subhead)):first-child{margin-top:0}.prose :is(h2,h3:not(.subhead)):before{content:counter(section, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.1em;color:var(--on-primary);background:var(--primary);border-radius:999px;padding:3px 11px;font-weight:700;line-height:1.4;position:absolute;top:0;left:0}.prose :is(h2,h3:not(.subhead)):after{content:"";z-index:auto;border-top:1.5px dashed var(--line);opacity:1;background:0 0;border-radius:0;height:0;position:absolute;inset:.8rem 0 auto 3.6rem;transform:none}.prose :is(h4,h3.subhead){font-family:var(--font-heading);color:var(--primary);margin:2em 0 .4em;font-size:1.3em;font-weight:700;line-height:1.2}@supports (color:color-mix(in lab, red, red)){.prose :is(h4,h3.subhead){color:color-mix(in srgb, var(--primary) 70%, var(--ink))}}.prose :is(h4,h3.subhead){scroll-margin-top:calc(var(--header-h,60px) + 24px)}.prose p.sub{font-size:inherit;color:var(--ink-soft);border-left:2px dashed var(--line);margin:-.3em 0 1.8em;padding-left:1.1em;font-weight:400}.prose pre{box-shadow:var(--shadow-lg);tab-size:2;border-radius:18px;margin:1.8em 0 2em;padding:0 1.25rem 1.25rem;font-size:.78em;line-height:1.7}.prose pre:before{content:var(--code-label);box-sizing:border-box;width:auto;height:3rem;font-family:var(--font-mono);font-size:var(--t-meta);color:var(--ink-soft);background-color:var(--sheet-2);background-image:var(--window-dots), linear-gradient(var(--line), var(--line));background-position:0 0,0 0,0 0,0 100%;background-repeat:no-repeat;background-size:100% 100%,100% 100%,100% 100%,100% 1px;margin:0 -1.25rem 1.1rem;padding:0 0 0 5.4rem;line-height:3rem;display:block;position:sticky;top:auto;left:0;transform:none}.prose pre[data-js-only]:before{content:var(--code-label) " · JavaScript only"}.prose pre:after{content:none}.prose pre code{background:0 0;border-radius:0;padding:0;font-size:1em}.prose .codeblock{position:relative}.prose .codeblock__copy{z-index:2;min-height:1.9rem;font-family:var(--font-body);font-size:var(--t-meta);color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 .9rem;position:absolute;top:.55rem;right:.9rem}.prose .codeblock__copy:hover{color:var(--ink);border-color:var(--line)}.prose .codeblock__copy.is-done{color:var(--success);border-color:var(--success)}.prose .try{background:var(--code-bg);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:18px;margin:1.8em 0 1.4em;position:relative;overflow:hidden}.prose .try pre{box-shadow:none;border:0;border-radius:0;margin:0}.prose .try pre:before{content:""}.prose .try:after{content:"try it";font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--mark);pointer-events:none;border-radius:8px;padding:2px 11px;font-weight:700;position:absolute;top:.75rem;left:5.2rem;rotate:-2deg}.prose .try .codeblock__copy{right:9rem}.prose .try__run{z-index:3;min-width:7.6rem;height:2.25rem;font-family:var(--font-body);font-size:var(--t-control);color:var(--on-primary);background:var(--primary);border:1.5px solid var(--primary);cursor:pointer;border-radius:12px;padding:0 1rem;font-weight:700;position:absolute;top:.45rem;right:.9rem}.prose .try__run:disabled{cursor:wait;opacity:.7}.prose .try .demo__term{background:var(--sheet-2);border:0;border-top:1.5px dashed var(--line);border-radius:0;margin:0;padding:1rem 1.25rem 1.1rem;font-size:.78em}.prose .try .demo__term:before{content:"console";font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.6rem;display:block}.prose .table-scroll{background:var(--sheet);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:18px;margin:2em 0;overflow-x:auto}.prose table{width:100%;font-size:.92em;line-height:1.5}.prose .table-scroll table{min-width:30rem}.prose :is(th,td){border:0;border-top:1.5px dashed var(--line);padding:.8em 1.1em}.prose :is(thead tr:first-child,tbody tr:first-child) :is(th,td){border-top:0}.prose th{font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-weight:700}@supports (color:color-mix(in lab, red, red)){.prose th{color:color-mix(in srgb, var(--primary) 70%, var(--ink))}}.prose th{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.prose th{background:color-mix(in srgb, var(--primary) 8%, var(--sheet-2))}}.prose th code{font-size:1em}.prose tbody tr:nth-child(2n) td:not(.tone-yes,.tone-no,.tone-warn,.tone-bad){background:0 0}.prose figure{background:var(--sheet);border:1px solid var(--line);box-shadow:var(--shadow-lg);counter-increment:figure;border-radius:18px;margin:2.6em 0 2.4em;padding:2rem 1.5rem 1.3rem;position:relative}.prose figure:before{content:"";z-index:2;background:var(--tape);width:7rem;height:1.6rem;position:absolute;top:-.8rem;left:50%;translate:-50%;rotate:-2.5deg}.prose figcaption{font-family:var(--font-heading);text-align:left;color:var(--ink);border-top:1.5px dashed var(--line);margin-top:1.1rem;padding-top:.9rem;font-size:1.12em;font-weight:400;line-height:1.4}.prose figcaption:before{content:"Fig " counter(figure);font-family:var(--font-mono);font-size:var(--t-kicker);letter-spacing:.08em;text-transform:uppercase;color:var(--on-primary);background:var(--primary);vertical-align:.15em;border-radius:999px;margin-right:.8rem;padding:1px 10px;font-weight:700;display:inline-block}.prose :is(.bx,.warn,.say,.sticky){color:var(--ink);box-shadow:var(--shadow-lg);border-radius:8px 8px 20px;margin:2.4em 0;padding:1.6em 1.8em 1.05em;position:relative}.prose :is(.bx,.sticky):before{content:"";background:var(--tape);width:6.4rem;height:1.5rem;position:absolute;top:-.75rem;left:50%;translate:-50%;rotate:-3deg}.prose .bx{background:var(--mark)}@supports (color:color-mix(in lab, red, red)){.prose .bx{background:color-mix(in srgb, var(--mark) 38%, var(--sheet))}}.prose .bx{border:1px solid var(--mark)}@supports (color:color-mix(in lab, red, red)){.prose .bx{border:1px solid color-mix(in srgb, var(--mark) 60%, var(--line))}}.prose .bx{rotate:-.35deg}.prose .bx.is-prim{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.prose .bx.is-prim{background:color-mix(in srgb, var(--success) 13%, var(--sheet))}}.prose .bx.is-prim{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.prose .bx.is-prim{border-color:color-mix(in srgb, var(--success) 45%, var(--line))}}.prose .bx.is-prim{rotate:.3deg}.prose .sticky{font-size:inherit;color:var(--sticky-fg);background:var(--sticky-bg);border:0;transform:rotate(.35deg)}.prose .sticky.mint{color:var(--sticky-mint-fg);background:var(--sticky-mint-bg);transform:rotate(-.3deg)}.prose .warn{background:var(--danger);margin-top:3.2em;padding-top:.3em}@supports (color:color-mix(in lab, red, red)){.prose .warn{background:color-mix(in srgb, var(--danger) 7%, var(--sheet))}}.prose .warn{border:2px dashed var(--danger)}@supports (color:color-mix(in lab, red, red)){.prose .warn{border:2px dashed color-mix(in srgb, var(--danger) 55%, var(--line))}}.prose .warn{box-shadow:var(--shadow-md);border-radius:14px}.prose .say{background:var(--sheet);border:2px dashed var(--line);box-shadow:var(--shadow-sm)}.prose :is(.bx,.warn,.say,.sticky)>:last-child{margin-bottom:.6em}.prose :is(.bx,.sticky)>.ttl:first-child{margin:0 0 .35em;font-size:1.3em;font-weight:700;line-height:1.2;display:block}.prose .warn>.ttl:first-child{overflow-wrap:anywhere;width:fit-content;max-width:100%;color:var(--danger);margin:0 0 .5em -.3em;padding:.1em .8em;font-size:1.15em;font-weight:700;line-height:1.3;display:block}@supports (color:color-mix(in lab, red, red)){.prose .warn>.ttl:first-child{color:color-mix(in srgb, var(--danger) 55%, var(--ink))}}.prose .warn>.ttl:first-child{background:var(--sheet);border:2.5px solid;border-radius:8px;translate:0 -62%;rotate:-2.5deg}.prose .say>.ttl:first-child{color:var(--primary);margin:0 0 .3em;font-size:1.2em;font-weight:700;display:block}@supports (color:color-mix(in lab, red, red)){.prose .say>.ttl:first-child{color:color-mix(in srgb, var(--primary) 70%, var(--ink))}}.prose .boxes .bx{margin:0}.prose :is(.bx__cap,.bx__arrow,.bx__slot b){color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.prose :is(.bx__cap,.bx__arrow,.bx__slot b){color:color-mix(in srgb, var(--ink) 80%, var(--sheet))}}.prose .qa{border-top:1.5px dashed var(--line);margin:0;padding:1.4em 0 1em}.prose .qa:not(:has(+.qa)){border-bottom:1.5px dashed var(--line);margin-bottom:1.6em}.prose .qa .q{font-family:var(--font-heading);color:var(--ink);margin:0 0 .5em;padding-left:2.5rem;font-size:1.3em;font-weight:700;line-height:1.25;position:relative}.prose .qa .q:before{content:"Q";width:1.7rem;height:1.7rem;font-family:var(--font-mono);font-size:var(--t-kicker);color:var(--on-primary);background:var(--primary);border-radius:50%;place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;top:.05em;left:0}.prose .qa>p:not(.q){color:var(--ink);margin:0 0 .6em 2.4rem}.prose .demo{background:var(--sheet);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:18px;margin:2.2em 0;overflow:hidden}.prose .demo__bar{font-size:var(--t-title);background-color:var(--sheet-2);background-image:var(--window-dots);border-bottom:1px solid var(--line);background-repeat:no-repeat;gap:.8rem;padding:.75rem 1.1rem .75rem 5.4rem;line-height:1.3;position:relative}.prose .demo__body{padding:1.2rem 1.4rem 1.4rem}.prose .demo__body .demo__note{margin:1rem 0 0}@media (max-width:640px){.prose :is(h2,h3:not(.subhead)){margin-top:4rem}.prose figure{padding-inline:1rem;overflow-x:auto}.prose figure:before{top:.15rem}.prose figure svg.dg{min-width:34rem}.prose figure svg.dg.dg-fit{min-width:0}.prose figure{background-image:linear-gradient(to right, var(--sheet) 30%, transparent), linear-gradient(to left, var(--sheet) 30%, transparent), linear-gradient(to right, var(--ink), transparent), linear-gradient(to left, var(--ink), transparent)}@supports (color:color-mix(in lab, red, red)){.prose figure{background-image:linear-gradient(to right, var(--sheet) 30%, transparent), linear-gradient(to left, var(--sheet) 30%, transparent), linear-gradient(to right, color-mix(in srgb, var(--ink) 22%, transparent), transparent), linear-gradient(to left, color-mix(in srgb, var(--ink) 22%, transparent), transparent)}}.prose figure{background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:28px 100%,28px 100%,10px 100%,10px 100%;background-attachment:local,local,scroll,scroll}.prose .try:after{top:3.5rem;left:1rem}.prose .try .codeblock__copy{right:8.8rem}}@media (pointer:coarse){.prose .codeblock__copy{min-height:2.75rem}.prose .try__run{height:2.75rem;top:.1rem}}@media print{.prose pre:before,.prose .try:after,.prose .try__run,.prose :is(.bx,.sticky):before,.prose figure:before{display:none}.prose :is(.sticky,.bx,.warn,.say,pre,.try,figure,.demo){box-shadow:none;rotate:none}.prose .warn>.ttl:first-child{rotate:none}}.bx__cap{letter-spacing:.04em;text-transform:uppercase;color:var(--pencil);margin-bottom:8px;font-size:12px}.bx__slot{font-family:var(--font-mono);background:var(--sheet);border:1px solid var(--line-soft);border-radius:6px;justify-content:space-between;gap:10px;margin-top:6px;padding:6px 10px;font-size:14px;display:flex}.bx__slot b{color:var(--pencil);font-weight:700}.bx__arrow{text-align:center;color:var(--pencil);margin-top:8px;font-size:12.5px}.ruler{font-family:var(--font-mono);flex-wrap:wrap;gap:2px;margin:12px 0 0;font-size:15px;display:flex}.ruler__u{text-align:center;background:var(--sheet-2);border-radius:5px;width:28px;padding:5px 0}.ruler__u.is-in{background:var(--primary-soft)}.ruler__u i{font:9px var(--font-mono);color:var(--pencil);margin-top:3px;font-style:normal;display:block}.units{flex-wrap:wrap;gap:5px;margin:12px 0 0;display:flex}.unit{border:1.5px solid var(--line-soft);text-align:center;background:var(--sheet);border-radius:7px;min-width:42px;padding:6px 8px}.unit__g{font-size:17px;line-height:1.3}.unit__cp{font:10px var(--font-mono);color:var(--pencil)}.unit.is-pair{background:var(--dg-box-yellow);border-color:var(--dg-yellow-stroke)}.fld{letter-spacing:.03em;text-transform:uppercase;color:var(--pencil);flex-direction:column;gap:5px;font-size:12px;display:flex}.fld input[type=range]{accent-color:var(--ink)}.fld input[type=text],.fld input[type=number]{font-family:var(--font-mono);border:1.5px solid var(--line-soft);background:var(--sheet);color:var(--ink);border-radius:7px;padding:6px 9px;font-size:14px}@media (max-width:900px){.topbar{display:flex}}@media (min-width:901px){.js-drawer-toggle{display:none}}@media (max-width:720px){body{font-size:17px}.btn--wide .btn__label{display:none}.btn--wide{width:38px;padding:0}.sheet{border-radius:8px;padding:24px 18px 22px 44px}.sheet:before{left:30px}.sheet:after{background-size:14px 118px;left:8px}h3{font-size:23px}pre{padding:16px 14px;font-size:13.5px}.codeblock__copy{opacity:1}figure{padding:10px 6px 8px}}@keyframes route-fade-in{0%{opacity:0}to{opacity:1}}.route-fade{animation:.28s ease-out route-fade-in}@supports (animation-timeline:view()){@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.featured,.topic-row,.howto-strip>li,.stat,.stat-card,.badge-card{animation:linear both reveal-up;animation-timeline:view();animation-range:entry cover 25%}}.confetti{pointer-events:none;z-index:200;position:fixed;inset:0;overflow:hidden}.confetti-piece{background:var(--piece-color);opacity:.9;width:8px;height:14px;animation:confetti-fall var(--fall-duration) ease-in var(--fall-delay) both;border-radius:2px;position:absolute;top:-20px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 100vh) rotate(var(--piece-rotate));opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{body{color:#000;background:#fff;font-size:12pt}.topbar,.fab,.backdrop,.chapter__foot,.codeblock__copy,.skip-link,.progress{display:none!important}.sheet{box-shadow:none;page-break-inside:avoid;break-inside:avoid;border:none;margin:0 0 18px;padding:0 0 12px}.sheet:before,.sheet:after,pre:before,pre:after{display:none}pre,figure,table{page-break-inside:avoid;break-inside:avoid}}.narrow{max-width:860px}.crumbs{color:var(--pencil);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;font-size:15px;display:flex}.crumbs a{color:var(--primary);border-bottom:1.5px dashed var(--line-soft);text-decoration:none}.crumbs a:hover{color:var(--primary);border-bottom-style:solid;border-bottom-color:var(--primary)}.crumbs__sep{opacity:.6}.section-title{font-family:var(--font-heading);margin:34px 0 4px;font-size:30px;font-weight:700}.section-note{color:var(--pencil);margin:0 0 14px;font-size:16px}.hero{padding:34px 34px 30px 62px;position:relative}.hero__kicker{color:var(--pencil);border:1.5px dashed var(--line-soft);border-radius:999px;margin-bottom:10px;padding:2px 14px;font-size:15px;display:inline-block}.hero h1{margin:0 0 6px}.hero__lead{max-width:62ch;font-size:19px}.hero__actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.btn--primary{color:var(--on-primary);background:var(--primary);border-color:var(--primary);min-height:44px;padding:8px 18px;font-size:17px}.btn--primary:hover{background:var(--primary);border-color:var(--primary);filter:brightness(1.03)}.btn--big{min-height:44px;padding:8px 18px;font-size:17px}.hero__secondary{color:var(--ink-soft);text-decoration:underline;-webkit-text-decoration-color:var(--line-soft);-webkit-text-decoration-color:var(--line-soft);-webkit-text-decoration-color:var(--line-soft);text-decoration-color:var(--line-soft);text-underline-offset:3px;font-size:16px}.hero__secondary:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink-soft);-webkit-text-decoration-color:var(--ink-soft);-webkit-text-decoration-color:var(--ink-soft);text-decoration-color:var(--ink-soft)}.hero__stats{border-top:1px dashed var(--line-soft);flex-wrap:wrap;gap:22px;margin-top:24px;padding-top:16px;display:flex}.stat__num{font-family:var(--font-heading);font-size:34px;font-weight:700;line-height:1;display:block}.stat__label{color:var(--pencil);font-size:14px}.progress-glow{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.progress-glow:before{content:"";background:radial-gradient(circle, var(--primary), transparent 70%);width:380px;height:380px;position:absolute;top:-35%;right:-12%}@supports (color:color-mix(in lab, red, red)){.progress-glow:before{background:radial-gradient(circle, color-mix(in srgb, var(--primary) 22%, transparent), transparent 70%)}}.progress-glow:before{animation:7s ease-in-out infinite progress-glow}@keyframes progress-glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.stat-row{flex-wrap:wrap;gap:14px;margin:20px 0 28px;display:flex}.progress-hero{border-top:1px dashed var(--line-soft);flex-wrap:wrap;align-items:center;gap:28px;margin-top:22px;padding-top:18px;display:flex;position:relative}.level-ring{flex:none;width:140px;height:140px;position:relative}.level-ring svg{transform:rotate(-90deg)}.level-ring__track{fill:none;stroke:var(--line-soft);stroke-width:10px}.level-ring__fill{fill:none;stroke:var(--primary);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.34,1.56,.64,1)}.level-ring__center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.level-ring__num{font-family:var(--font-heading);font-size:42px;font-weight:700;line-height:1}.level-ring__label{letter-spacing:.14em;text-transform:uppercase;color:var(--pencil);margin-top:2px;font-size:10.5px;font-weight:700}.progress-hero__info{flex-direction:column;flex:220px;gap:16px;display:flex}.progress-hero__xp{color:var(--pencil);font-size:14px;display:block}.progress-hero__streak{flex:none;align-items:center;gap:12px;display:flex}.progress-hero__streak-flame{filter:grayscale()opacity(.4);font-size:40px;line-height:1}.progress-hero__streak-flame.is-lit{filter:none;animation:1.6s ease-in-out infinite flame-flicker}@keyframes flame-flicker{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.06)rotate(-2deg)}75%{transform:scale(.97)rotate(2deg)}}.progress-hero__streak-num{font-family:var(--font-heading);font-size:32px;font-weight:700;line-height:1.1;display:block}.progress-hero__streak-label{color:var(--pencil);font-size:13px}.stat-card{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--sheet);flex:190px;align-items:center;gap:12px;padding:14px 16px;transition:transform .14s,box-shadow .14s;display:flex}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card__icon{border-radius:10px;flex:none;place-items:center;width:44px;height:44px;font-size:26px;display:grid}.stat-card--a .stat-card__icon{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.stat-card--a .stat-card__icon{background:color-mix(in srgb, var(--green) 18%, var(--sheet))}}.stat-card--b .stat-card__icon{background:var(--ink)}@supports (color:color-mix(in lab, red, red)){.stat-card--b .stat-card__icon{background:color-mix(in srgb, var(--ink) 12%, var(--sheet))}}.stat-card--c .stat-card__icon{background:var(--hl-yellow)}@supports (color:color-mix(in lab, red, red)){.stat-card--c .stat-card__icon{background:color-mix(in srgb, var(--hl-yellow) 55%, var(--sheet))}}.stat-card--d .stat-card__icon{background:var(--red)}@supports (color:color-mix(in lab, red, red)){.stat-card--d .stat-card__icon{background:color-mix(in srgb, var(--red) 16%, var(--sheet))}}.stat-card__num{font-family:var(--font-heading);font-size:24px;font-weight:700;line-height:1.15;display:block}.stat-card__label{color:var(--pencil);font-size:12.5px}.heatmap{gap:8px;min-width:0;padding-bottom:4px;display:flex;overflow-x:auto}.heatmap__weekdays{flex-direction:column;flex:none;gap:3px;padding-top:1px;display:flex}.heatmap__weekdays span{height:12px;color:var(--pencil);font-size:10px;line-height:12px}.heatmap__grid{gap:3px;display:flex}.heatmap__week{flex-direction:column;gap:3px;display:flex}.heatmap__day{background:var(--line-soft);border-radius:3px;width:12px;height:12px;transition:transform .1s;position:relative}.heatmap__day:not(.is-pad):hover,.heatmap__day:not(.is-pad):focus-visible{outline:none;transform:scale(1.3)}.heatmap__day[data-tooltip]:hover:after,.heatmap__day[data-tooltip]:focus-visible:after{content:attr(data-tooltip);background:var(--ink);color:var(--sheet);font-family:var(--font-body);white-space:nowrap;z-index:10;pointer-events:none;box-shadow:var(--shadow-sm);border-radius:6px;padding:4px 8px;font-size:11.5px;line-height:1.3;position:absolute;bottom:130%;left:50%;transform:translate(-50%)}.heatmap__day.is-pad{background:0 0}.heatmap__day.is-level-1{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.heatmap__day.is-level-1{background:color-mix(in srgb, var(--primary) 25%, var(--sheet))}}.heatmap__day.is-level-2{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.heatmap__day.is-level-2{background:color-mix(in srgb, var(--primary) 45%, var(--sheet))}}.heatmap__day.is-level-3{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.heatmap__day.is-level-3{background:color-mix(in srgb, var(--primary) 70%, var(--sheet))}}.heatmap__day.is-level-4{background:var(--primary)}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:28px;display:grid}.badge-card{text-align:center;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--sheet);opacity:.45;filter:grayscale(.6);flex-direction:column;align-items:center;gap:4px;padding:16px 10px;transition:transform .14s,box-shadow .14s,opacity .14s;display:flex}.badge-card.is-earned{opacity:1;filter:none;border-color:var(--card-accent,var(--green));box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.badge-card.is-earned:after{content:"";background:linear-gradient(115deg, transparent 30%, var(--card-accent,var(--green)) 45%, transparent 60%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.badge-card.is-earned:after{background:linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--card-accent,var(--green)) 35%, transparent) 45%, transparent 60%)}}.badge-card.is-earned:after{pointer-events:none;background-position:120% 0;background-size:250% 100%;animation:5s ease-in-out infinite badge-shine}@keyframes badge-shine{0%,40%{background-position:120% 0}60%,to{background-position:-20% 0}}.badge-card.is-earned:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)rotate(-1deg)}.level-up-banner{border-radius:var(--radius);background:var(--hl-mint);color:var(--sticky-mint-fg);font-family:var(--font-heading);text-align:center;margin:0 0 16px;padding:12px 18px;font-size:18px;animation:.4s cubic-bezier(.34,1.56,.64,1) both level-up-pop}@keyframes level-up-pop{0%{opacity:0;transform:scale(.9)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.badge-card__icon{font-size:28px;line-height:1}.badge-card__name{font-size:13.5px;font-weight:700}.badge-card__desc{color:var(--pencil);font-size:11.5px}.joke-card{border:1.5px dashed var(--line-soft);border-radius:var(--radius);background:var(--say-bg);margin:8px 0 40px;padding:18px 20px}.joke-card__kicker{letter-spacing:.03em;text-transform:uppercase;color:var(--pencil);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.joke-card p{white-space:pre-line;font-family:var(--font-body);margin:0;font-size:16px}.t-yellow{--card-accent:var(--c-yellow)}.t-mint{--card-accent:var(--green)}.t-red{--card-accent:var(--red)}.t-blue{--card-accent:var(--c-blue)}.t-ink{--card-accent:var(--ink-soft)}.featured{color:var(--ink);background:var(--sheet);border:1.5px solid var(--line);border-left:6px solid var(--card-accent,var(--ink));border-radius:var(--radius);box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:18px;margin-top:28px;padding:26px 28px;text-decoration:none;transition:transform .14s,box-shadow .14s;display:flex;position:relative}.featured:hover,.featured:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.featured__badge{letter-spacing:.3px;color:var(--ink);background:var(--primary-soft);border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:700;position:absolute;top:-12px;left:24px}.featured__body{flex:380px;align-items:flex-start;gap:18px;min-width:0;display:flex}.featured__mark{width:58px;height:58px;font-family:var(--font-heading);border:2.5px solid var(--card-accent,var(--ink));background:var(--sheet-2);border-radius:52% 48% 51% 49%/49% 52% 48% 51%;flex:none;place-items:center;font-size:26px;font-weight:700;display:grid;transform:rotate(-4deg)}.featured__text{min-width:0}.featured__name{font-family:var(--font-heading);margin:0;font-size:32px;font-weight:700;line-height:1.1}.featured__tagline{color:var(--pencil);margin:2px 0 0;font-size:15.5px}.featured__blurb{max-width:60ch;margin:8px 0 0;font-size:15.5px;line-height:1.6}.featured__meta{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:14px;display:flex}.featured__cta{flex:none;margin-left:auto}.topics-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:40px;display:flex}.topics-head .section-title{margin-top:0}.topics-compact{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:16px;display:grid}.topic-row{color:var(--ink);background:var(--sheet);border:1.5px solid var(--line);border-radius:12px;flex-direction:column;gap:3px;padding:13px 16px;text-decoration:none;transition:background .12s,border-color .12s,transform .12s;display:flex}.topic-row:hover,.topic-row:focus-visible{background:var(--btn-hover);border-color:var(--card-accent,var(--ink-soft));transform:translateY(-1px)}.topic-row__top{align-items:center;gap:10px;display:flex}.topic-row__mark{width:28px;height:28px;font-family:var(--font-heading);border:1.5px solid var(--card-accent,var(--ink));background:var(--sheet-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.topic-row__name{font-family:var(--font-heading);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:17px;font-weight:700;overflow:hidden}.topic-row__tagline{color:var(--pencil);text-overflow:ellipsis;white-space:nowrap;padding-left:38px;font-size:13.5px;overflow:hidden}.topic-row__meta{color:var(--ink-soft);padding-left:38px;font-size:12.5px}.topic-row__go{color:var(--pencil);flex:none}.topic-row.is-filtered-out{display:none}.tag{letter-spacing:.3px;border:1.5px solid var(--line-soft);background:var(--sheet-2);color:var(--pencil);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12.5px}.tag--ready{border-color:var(--primary);color:var(--ink);background:var(--primary-soft)}.tag--soon{border-style:dashed}.tag--beginner{border-color:var(--green);color:var(--green)}@supports (color:color-mix(in lab, red, red)){.tag--beginner{color:color-mix(in srgb, var(--green) 65%, var(--ink))}}.tag--intermediate{border-color:var(--c-yellow)}@supports (color:color-mix(in lab, red, red)){.tag--intermediate{border-color:color-mix(in srgb, var(--c-yellow) 70%, var(--sheet))}}.tag--intermediate{color:var(--c-yellow)}@supports (color:color-mix(in lab, red, red)){.tag--intermediate{color:color-mix(in srgb, var(--c-yellow) 60%, var(--ink))}}.tag--advanced{border-color:var(--red);color:var(--red)}@supports (color:color-mix(in lab, red, red)){.tag--advanced{color:color-mix(in srgb, var(--red) 70%, var(--ink))}}.meter{align-items:center;gap:12px;margin:16px 0 6px;display:flex}.meter__track{background:var(--sheet-2);border:1.5px solid var(--line-soft);border-radius:999px;flex:auto;height:12px;overflow:hidden}.meter__fill{background:var(--primary);border-right:1.5px solid var(--primary);width:0%;height:100%;transition:width .25s}.meter__label{color:var(--pencil);white-space:nowrap;font-size:15px}.soon-stamp{z-index:2;font-family:var(--font-heading);color:var(--red);border:3px solid var(--red);opacity:.85;letter-spacing:1px;pointer-events:none;border-radius:8px;padding:7px 18px;font-size:24px;font-weight:700;position:absolute;top:22px;right:34px;transform:rotate(-8deg)}@media (max-width:720px){.hero{padding:24px 18px 22px 44px}.step{grid-template-columns:1fr}.step__num{display:none}.soon-stamp{margin:4px 0 6px;display:inline-block;position:static;transform:rotate(-4deg)}}@media print{.topic,.step{box-shadow:none}}.hero{overflow:visible}.hero__doodle{pointer-events:none;opacity:.8;z-index:2;position:absolute}.hero__doodle--clip{width:46px;height:46px;color:var(--ink-soft);animation:5s ease-in-out infinite doodle-float;top:-14px;right:34px;transform:rotate(-8deg)}.hero__doodle--spark{color:#d8a72c;width:22px;height:22px;animation:4.2s ease-in-out .6s infinite doodle-float;top:8px;right:128px}@keyframes doodle-float{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-6px)rotate(-3deg)}}.hero__kicker,.hero>h1,.hero__lead,.hero__actions,.hero__stats{opacity:0;animation:.55s ease-out forwards hero-in}.hero__kicker{animation-delay:20ms}.hero>h1{animation-delay:.1s}.hero__lead{animation-delay:.2s}.hero__actions{animation-delay:.3s}.hero__stats{animation-delay:.4s}@keyframes hero-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero__mark{white-space:nowrap;position:relative}.hero__mark:after{content:"";background:var(--mark);z-index:-1;transform-origin:0;border-radius:2px;height:.42em;animation:.5s ease-out .55s both mark-sweep;position:absolute;bottom:4px;left:-4px;right:-6px}@keyframes mark-sweep{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.stat__num{font-variant-numeric:tabular-nums}.hero__actions .btn{position:relative}.hero__actions .btn:after{content:"";opacity:0;transform-origin:0;background:currentColor;height:2px;transition:transform .22s,opacity .22s;position:absolute;bottom:5px;left:12px;right:12px;transform:scaleX(0)}.hero__actions .btn:hover:after,.hero__actions .btn:focus-visible:after{opacity:.55;transform:scaleX(1)}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.shelf-search{flex:240px;max-width:320px;position:relative}.shelf-search__icon{color:var(--pencil);pointer-events:none;font-size:14px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.shelf-search input{width:100%;height:40px;color:var(--ink);background:var(--sheet);border:1.5px solid var(--line-soft);border-radius:10px;outline:none;padding:0 14px 0 34px;font-family:inherit;font-size:16px}.shelf-search input:focus{border-color:var(--ink-soft)}.shelf-empty{text-align:center;color:var(--pencil);border:2px dashed var(--line-soft);border-radius:12px;padding:30px 20px;font-size:17px;display:none}.shelf-empty.is-visible{display:block}.featured{opacity:0;animation:.45s ease-out forwards hero-in;transform:translateY(14px)}.featured:first-of-type{animation-delay:50ms}.featured:nth-of-type(2){animation-delay:.14s}.featured:nth-of-type(3){animation-delay:.23s}.topic-row{opacity:0;animation:.35s ease-out forwards hero-in}.howto-strip{grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0 0;padding:0;list-style:none;display:grid;position:relative}.howto-strip:before{content:"";border-top:2.5px dashed var(--line-soft);z-index:0;height:0;position:absolute;top:20px;left:16.6667%;right:16.6667%}.howto-strip li{z-index:1;gap:12px;display:flex;position:relative}.howto-strip__num{width:40px;height:40px;font-family:var(--font-heading);color:var(--ink);border:2.5px solid var(--ink);background:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.howto-strip h3{margin:4px 0 3px;font-size:18px}.howto-strip p{color:var(--pencil);margin:0;font-size:14.5px;line-height:1.5}@media (max-width:760px){.hero__doodle{display:none}.howto-strip{grid-template-columns:1fr;gap:16px}.howto-strip:before{display:none}.featured{padding:22px 20px}.featured__cta{margin-left:0}.topics-head{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.hero__kicker,.hero>h1,.hero__lead,.hero__actions,.hero__stats,.hero__doodle,.hero__mark:after,.featured,.topic-row{opacity:1!important;animation:none!important;transform:none!important}}.ed{background:var(--ide-bg);border:1px solid var(--ide-border);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.ed.is-fullscreen{z-index:60;border:none;border-radius:0;position:fixed;inset:0}.ed__bar{background:var(--ide-bg-elevated);border-bottom:1px solid var(--ide-border);flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 12px 0;display:flex}.ed__traffic{flex:none;align-items:center;gap:7px;padding:0 2px 8px;display:flex}.ed__tl{border:1px solid var(--ink);border-radius:50%;width:11px;height:11px}@supports (color:color-mix(in lab, red, red)){.ed__tl{border:1px solid color-mix(in srgb, var(--ink) 25%, transparent)}}.ed__tl--red{background:var(--ide-red)}.ed__tl--yellow{background:var(--ide-yellow)}.ed__tl--green{background:var(--ide-green)}.ed__tabs{flex:none;align-items:stretch;display:flex}.ed__tab{font-family:var(--font-body);font-size:var(--t-meta);color:var(--ide-fg-dim);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:7px 7px 0 0;align-items:center;gap:7px;padding:7px 12px 8px;display:flex}.ed__tab.is-active{color:var(--ide-fg);background:var(--ide-bg);border-color:var(--ide-border);border-top:2px solid var(--primary);padding-top:6px}.ed__tab-icon{text-align:center;width:13px;font-size:var(--t-kicker);color:var(--primary);opacity:.85;flex:none}.ed__tab-name{white-space:nowrap}.ed__tab-close{opacity:.5;flex:none;font-size:13px;line-height:1}.ed__bar:has(.ed__tabs--files){flex-wrap:nowrap}.ed__bar:has(.ed__tabs--files) .ed__spacer{flex:0 0 8px}@media (max-width:720px){.ed__bar:has(.ed__tabs--files){flex-wrap:wrap}:is(.ed__bar:has(.ed__tabs--files) .ed__traffic,.ed__bar:has(.ed__tabs--files) .ed__spacer){display:none}.ed__bar .ed__files{flex-basis:100%;order:3}.ed__bar:has(.ed__tabs--files) .dd{margin-right:auto}}.ed__files{flex:auto;align-items:stretch;min-width:0;display:flex}.ed__tabs--files{scrollbar-width:none;flex:0 auto;min-width:0;overflow-x:auto}.ed__tabs--files .ed__tab{padding:0 4px 0 0}.ed__tabs--files .ed__tab.is-active{padding-top:0}.ed__tab-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:7px 6px 8px 12px;display:flex}.ed__tabs--files .ed__tab-close{opacity:.7;min-width:24px;min-height:24px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px}.ed__tabs--files .ed__tab-close:hover{opacity:1;background:var(--ide-hover)}.ed__tab-new-item{align-items:center;display:flex}.ed__tab-new{width:26px;height:26px;color:var(--ide-fg-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-self:center;margin-left:4px;font-size:16px}.ed__reopen{font:inherit;font-size:var(--t-kicker);white-space:nowrap;color:var(--on-primary);background:var(--primary);cursor:pointer;border:0;border-radius:999px;flex:none;align-self:center;margin-left:4px;padding:3px 9px;animation:.2s both reopenIn}@keyframes reopenIn{0%{opacity:0;transform:translateY(-3px)}}.tab-menu{z-index:60;background:var(--ide-bg-elevated);border:1px solid var(--ide-border);min-width:170px;box-shadow:var(--shadow-lg);border-radius:10px;flex-direction:column;padding:5px;display:flex;position:fixed}.tab-menu button{font:inherit;font-size:var(--t-meta);text-align:left;color:var(--ide-fg);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px}.tab-menu button:hover:not(:disabled),.tab-menu button:focus-visible{color:var(--on-primary);background:var(--primary);outline:none}.tab-menu button:disabled{opacity:.45;cursor:default}.ed__tab-new:hover{color:var(--ide-fg);background:var(--ide-hover)}.ed__spacer{flex:auto;align-self:stretch}.ed__bar>.ed__spacer{margin-bottom:8px}.ed .ed__bar .btn{min-height:32px;font-size:var(--t-body);background:var(--ide-bg);border-color:var(--ide-border);color:var(--ide-fg);border-radius:10px;margin-bottom:8px;padding:4px 10px}.ed .ed__bar .btn:hover{background:var(--ide-bg-elevated);border-color:var(--ide-fg-faint)}.ed .ed__bar .btn--icon{width:32px;padding:0}.ed__bar .dd{flex:none;margin-bottom:8px}.ed__bar .dd__btn{min-height:32px;font-size:var(--t-meta);background:var(--ide-bg);border-color:var(--ide-border);color:var(--ide-fg);border-radius:10px;padding:4px 10px}.ed__bar .dd__btn:hover{background:var(--ide-bg-elevated);border-color:var(--primary)}.ed__bar .dd.is-open .dd__btn{border-color:var(--primary)}.ed__bar .dd--plain .dd__btn{background:0 0;border-color:#0000;padding:4px 6px}.ed__bar .dd--plain .dd__btn:hover{background:var(--ide-hover);border-color:#0000}.ed__bar .dd--plain.is-open .dd__btn{border-color:#0000}.ed__bar .dd__arrow{color:var(--ide-fg-dim)}.ed__bar .dd__menu{background:var(--ide-bg-elevated);border-color:var(--ide-border)}.ed__bar .dd__opt{color:var(--ide-fg)}.ed__bar .dd__opt:hover,.ed__bar .dd__opt.is-focused{background:var(--ide-hover)}.ed__bar .dd__opt[aria-selected=true]{background:var(--primary);color:var(--on-primary)}.ed__bar .dd__menu--grid .dd__opt[aria-selected=true]{color:var(--primary);background:0 0}.ed__bar .dd__opt-check{color:var(--primary)}.ed__bar .dd__group-label{color:var(--ide-fg-faint);border-color:var(--ide-border)}.ed__bar .dd__opt:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.ed__body{background:var(--ide-bg);min-height:0;display:flex;position:relative}.ed.is-fullscreen .ed__body{flex:auto}.ed__cm{min-width:0;height:var(--ed-height,420px);tab-size:2;flex:auto}.ed.is-fullscreen .ed__cm,.ed .cm-editor{height:100%}.ed:focus-within{border-color:var(--primary)}.ed__status{white-space:nowrap;background:var(--ide-bg-elevated);border-top:1px solid var(--ide-border);font-family:var(--font-body);font-size:var(--t-kicker);color:var(--ide-fg-dim);flex-wrap:nowrap;align-items:center;gap:12px;padding:5px 12px;display:flex;overflow:hidden}.ed__status .ed__spacer{flex:auto}.ed__ready{color:var(--ide-fg-dim);align-items:center;gap:6px;display:inline-flex}.ed__ready:before{content:"";background:var(--success);border-radius:50%;width:7px;height:7px}.ed__saved{color:var(--success);opacity:0;transition:opacity .2s}.ed__saved.is-on{opacity:1}.ed{position:relative}.ed__notice{color:var(--ide-fg);font-weight:700}.ed__status>*{flex:none}.ed__status>.ed__hint,.ed__status>.ed__len{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.ed__status>.ed__spacer{flex:1 1 0}.ed__meta{color:var(--ide-fg-dim);font-family:var(--font-code);font-size:var(--t-kicker)}.ed__meta--btn,.ed__problems{font:inherit;font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg-dim);cursor:pointer;background:0 0;border:0;border-radius:5px;padding:1px 7px}.ed__meta--btn:hover,.ed__problems:hover{color:var(--ide-fg);background:var(--ide-hover)}.ed__problems[data-state=error]{color:var(--danger)}.ed__problems[data-state=warning]{color:var(--caution)}.ed__settings{z-index:30;background:var(--ide-bg-elevated);width:min(300px,100% - 20px);max-height:calc(100% - 64px);color:var(--ide-fg);border:1px solid var(--ide-border);box-shadow:var(--shadow-lg);font-size:var(--t-meta);border-radius:12px;padding:10px 12px 12px;position:absolute;top:50px;right:10px;overflow:auto}.ed__settings-h{font-family:var(--font-code);font-size:var(--t-kicker);letter-spacing:.08em;text-transform:uppercase;color:var(--ide-fg-faint);margin:8px 0 4px}.ed__settings-row,.ed__switch{justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.ed__switch{cursor:pointer;position:relative}.ed__switch input{opacity:0;width:1px;height:1px;position:absolute}.ed__switch-track{background:var(--ide-border);border-radius:999px;flex:none;width:32px;height:18px;transition:background .15s;position:relative}.ed__switch-track:after{content:"";background:var(--ide-fg);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.ed__switch input:checked+.ed__switch-track{background:var(--primary)}.ed__switch input:checked+.ed__switch-track:after{background:var(--on-primary);transform:translate(14px)}.ed__switch input:focus-visible+.ed__switch-track{outline:2px solid var(--primary);outline-offset:2px}.ed__seg{border:1px solid var(--ide-border);border-radius:8px;padding:2px;display:inline-flex}.ed__seg button{font:inherit;font-size:var(--t-meta);color:var(--ide-fg-dim);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 9px}.ed__seg button[aria-pressed=true]{color:var(--on-primary);background:var(--primary);font-weight:700}.ed__seg-value{font-family:var(--font-code);font-size:var(--t-kicker);align-self:center;padding:0 6px}.ed__bar .ed__tools{flex-wrap:nowrap;flex:none;align-self:center;align-items:center;gap:4px;display:flex}.ed__settings-link{width:100%;font:inherit;font-size:var(--t-meta);color:var(--ide-fg);border:0;border-top:1px solid var(--ide-border);cursor:pointer;background:0 0;justify-content:space-between;margin-top:8px;padding:7px 0 0;display:flex}.palette{z-index:200;background:var(--scrim);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.palette{background:color-mix(in srgb, var(--scrim) 30%, transparent)}}.palette__box{background:var(--ide-bg-elevated);width:min(620px,100%);color:var(--ide-fg);border:1px solid var(--ide-border);box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.palette__input{width:100%;font:inherit;font-family:var(--font-code);font-size:var(--t-control);color:var(--ide-fg);background:var(--ide-bg);border:0;border-bottom:1px solid var(--ide-border);outline:none;padding:12px 14px}.palette__list{max-height:min(50vh,420px);margin:0;padding:6px;list-style:none;overflow:auto}.palette__item{font-size:var(--t-body);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 10px;display:flex}.palette__item[aria-selected=true]{background:var(--primary);color:var(--on-primary)}.palette__group{color:var(--ide-fg-dim)}.palette__item[aria-selected=true] .palette__group{color:inherit}.palette__keys{font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg-dim);background:var(--ide-bg);border-color:var(--ide-border);margin-left:auto}.palette__item[aria-selected=true] .palette__keys{color:inherit;background:0 0;border-color:currentColor}.palette__empty{color:var(--ide-fg-dim);padding:10px}.ed .cm-debug-line{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ed .cm-debug-line{background:color-mix(in srgb, var(--primary) 16%, transparent)}}.ed .cm-debug-line{box-shadow:inset 3px 0 0 var(--primary)}.debug{outline:none;flex-direction:column;gap:10px;display:flex}.debug__bar{z-index:1;background:var(--ide-bg-elevated);border-bottom:1px solid var(--ide-border);align-items:center;gap:6px;margin:-10px -12px 0;padding:8px 12px;display:flex;position:sticky;top:-10px}.debug__btn{width:32px;height:30px;font-size:var(--t-meta);color:var(--ide-fg);background:var(--ide-bg);border:1px solid var(--ide-border);cursor:pointer;border-radius:7px}.debug__btn:hover{background:var(--ide-hover)}.debug__btn--main{color:var(--on-primary);background:var(--primary);border-color:var(--primary)}.debug__slider{min-width:60px;accent-color:var(--primary);flex:1}.debug__count{font-family:var(--font-code);font-size:var(--t-kicker);white-space:nowrap;color:var(--ide-fg-dim)}.debug__where{color:var(--ide-fg-dim);font-size:var(--t-meta);margin:0}.debug__where b{color:var(--ide-fg)}.debug__vars{flex-direction:column;gap:6px;margin:0;display:flex}.debug__var{border:1px solid #0000;border-radius:8px;grid-template-columns:minmax(60px,max-content) minmax(0,1fr);align-items:start;gap:12px;padding:6px 8px;transition:background .2s;display:grid}.debug__var[data-changed]{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.debug__var[data-changed]{background:color-mix(in srgb, var(--primary) 14%, transparent)}}.debug__var[data-changed]{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.debug__var[data-changed]{border-color:color-mix(in srgb, var(--primary) 45%, transparent)}}.debug__var dt{font-family:var(--font-code);color:var(--ide-fg);font-weight:700}.debug__var dd{min-width:0;margin:0;overflow-x:auto}.debug__out{border-top:1px dashed var(--ide-border);padding-top:8px}.debug__out-h,.debug__note{font-size:var(--t-kicker);color:var(--ide-fg-faint);margin:0 0 4px}.dv-prim{font-family:var(--font-code)}.dv-prim--str{color:var(--ide-string)}.dv-prim--num,.dv-prim--big{color:var(--ide-number)}.dv-prim--bool,.dv-prim--null,.dv-prim--undef{color:var(--ide-keyword)}.dv-prim--fn,.dv-more,.dv-empty{color:var(--ide-fg-faint);font-style:italic}.dv-boxes{flex-wrap:wrap;align-items:flex-end;gap:3px;display:inline-flex}.dv-box{flex-direction:column;align-items:center;gap:1px;display:inline-flex}.dv-box__v{min-width:30px;font-family:var(--font-code);font-size:var(--t-kicker);background:var(--ide-bg-elevated);border:1px solid var(--ide-border);border-radius:5px;justify-content:center;padding:3px 6px;display:inline-flex}.dv-box__i{font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg-faint)}.dv-grid,.dv-table{border-collapse:collapse;width:auto;font-family:var(--font-code);margin:0;font-size:12.5px}.dv-grid td,.dv-table td,.dv-table th{border:1px solid var(--ide-border);text-align:center;padding:2px 8px}.dv-grid th{font-size:var(--t-kicker);color:var(--ide-fg-faint);padding-right:6px;font-weight:400}.dv-table th{text-align:left;font-weight:700}.dv-tag{font-size:var(--t-kicker);color:var(--ide-fg-dim);border:1px solid var(--ide-border);border-radius:999px;margin-bottom:3px;padding:0 6px;display:inline-block}.dv-tag-wrap,.dv-obj{flex-direction:column;align-items:flex-start;display:inline-flex}.dv-list{flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.dv-list__node{align-items:center;gap:2px;display:inline-flex}.dv-list__arrow{color:var(--primary)}.dv-list__end{font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg-faint)}.dv-tree{padding:4px 0;display:inline-block}.dv-tree__node{flex-direction:column;align-items:center;display:inline-flex}.dv-tree__v{min-width:28px;font-family:var(--font-code);font-size:var(--t-kicker);background:var(--ide-bg-elevated);border:1.5px solid var(--primary);border-radius:999px;justify-content:center;padding:2px 6px;display:inline-flex}.dv-tree__kids{gap:10px;margin-top:14px;display:flex;position:relative}.dv-tree__kids:before{content:"";border:1px solid var(--ide-fg-faint);border-bottom:0;border-radius:6px 6px 0 0;height:12px;position:absolute;top:-14px;left:25%;right:25%}.dv-tree__nil{text-align:center;min-width:28px;color:var(--ide-fg-faint);font-size:var(--t-kicker)}.stdin{flex-direction:column;gap:8px;display:flex}.stdin__label{color:var(--ide-fg-dim);font-size:var(--t-meta)}.stdin__box{width:100%;min-height:160px;font-family:var(--font-code);font-size:var(--t-body);color:var(--ide-fg);background:var(--ide-bg-elevated);border:1px solid var(--ide-border);resize:vertical;border-radius:12px;padding:10px 12px}.stdin__box:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.runs{margin:0 0 10px;padding:0;list-style:none}.run{border-bottom:1px dashed var(--ide-border);grid-template-columns:18px auto minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:6px 4px;display:grid}.run[data-ok=true] .run__mark{color:var(--success)}.run[data-ok=false] .run__mark{color:var(--danger)}.run__file{font-weight:700}.run__summary{white-space:nowrap;text-overflow:ellipsis;color:var(--ide-fg-dim);overflow:hidden}.run__meta{color:var(--ide-fg-faint);font-size:var(--t-kicker);white-space:nowrap}.run__open{font:inherit;font-size:var(--t-kicker);color:var(--ide-fg);border:1px solid var(--ide-border);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px}.run__open:hover{background:var(--ide-hover)}@media (max-width:720px){.run{grid-template-columns:18px minmax(0,1fr) auto}.run__summary,.run__meta{grid-column:2/-1}}.problems{margin:0;padding:0;list-style:none}.problem{width:100%;font:inherit;text-align:left;color:var(--ide-fg);cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:baseline;gap:10px;padding:5px 6px;display:grid}.problem:hover,.problem:focus-visible{background:var(--ide-hover)}.problem[data-severity=error] .problem__mark{color:var(--danger)}.problem[data-severity=warning] .problem__mark{color:var(--caution)}.problem__src,.problem__pos{color:var(--ide-fg-faint);font-size:var(--t-kicker);white-space:nowrap}@media (max-width:720px){.problem{grid-template-columns:18px minmax(0,1fr)}.problem__src,.problem__pos{grid-column:2}}.ed .cm-inline-result{color:var(--ide-comment);background:var(--ide-selection);white-space:pre;border-radius:4px;margin-left:2.5ch;padding:0 6px;font-style:italic}.ed .cm-inline-result--error{color:var(--ink);background:var(--danger-soft);box-shadow:inset 3px 0 0 var(--danger);font-style:normal}.page-preview{background:canvas;border:0;flex:1;width:100%;min-height:320px}.ed .cm-lintRange-error{-webkit-text-decoration:underline wavy var(--danger);-webkit-text-decoration:underline wavy var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger);text-decoration-skip-ink:none;text-underline-offset:3px;background-image:none}.ed .cm-lintRange-warning{-webkit-text-decoration:underline wavy var(--caution);-webkit-text-decoration:underline wavy var(--caution);-webkit-text-decoration:underline wavy var(--caution);text-decoration:underline wavy var(--caution);text-decoration-skip-ink:none;text-underline-offset:3px;background-image:none}.ed .cm-tooltip-lint{padding:4px 0}.ed .cm-diagnostic{font-family:var(--font-code);font-size:var(--t-meta);padding:4px 10px}.ed .cm-diagnosticSource{color:var(--ide-fg-faint)}.ed .cm-diagnosticAction{font:inherit;color:var(--on-primary);background:var(--primary);border-radius:5px;padding:1px 8px}.ed .cm-foldGutter .cm-gutterElement{color:var(--ide-fg-faint);cursor:pointer;padding:0 4px}.ed .cm-foldPlaceholder{background:var(--ide-selection);border:1px solid var(--ide-border);color:var(--ide-fg-dim);padding:0 6px}.tok-com{color:var(--ide-comment);font-style:italic}.tok-str{color:var(--ide-string)}.tok-num{color:var(--ide-number)}.tok-key{color:var(--ide-keyword);font-weight:700}.tok-lit{color:var(--ide-string);font-weight:700}.tok-fn{color:var(--ide-fg);font-weight:700}.tok-op{color:var(--ide-op)}.tok-cls{color:var(--ide-number);font-weight:700}.panel{background:var(--ide-bg);border:1px solid var(--ide-border);box-shadow:var(--shadow-md);border-radius:16px;overflow:hidden}.panel__tablist{display:contents}.panel__tabs{scrollbar-width:thin;border-bottom:1.5px dashed var(--ide-border);background:var(--ide-bg-elevated);flex:none;align-items:center;gap:6px;padding:8px 12px;display:flex;overflow-x:auto}.panel .panel__tabs .btn{min-height:36px;font-size:var(--t-body);border-radius:10px;flex:none}.panel .panel__tabs .btn--ghost{color:var(--ide-fg-dim)}.panel .panel__tabs .btn--ghost:hover{background:var(--ide-hover);color:var(--ide-fg)}.tab{height:36px;font-family:var(--font-body);font-size:var(--t-body);color:var(--ide-fg-dim);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.tab:hover{color:var(--ide-fg);background:var(--ide-hover)}.tab.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--ide-fg);font-weight:700}.tab:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px}.tab__count{font-family:var(--font-mono);font-size:var(--t-kicker);background:var(--ide-bg);border:1px solid var(--ide-border);color:var(--ide-fg-dim);border-radius:999px;padding:0 8px;font-weight:400;line-height:20px}.tab__count.is-pass{background:var(--success-soft);border-color:var(--success);color:var(--ink)}.tab__count.is-fail{background:var(--danger-soft);border-color:var(--danger);color:var(--ink)}.panel__body{max-height:320px;font-family:var(--font-code);font-size:var(--t-body);background:var(--ide-bg);color:var(--ide-fg);padding:14px 16px;line-height:1.6;overflow:auto}.panel__view{display:none}.panel__view.is-active{display:block}.panel__empty{font-family:var(--font-body);color:var(--ide-fg-dim);margin:0;line-height:1.6}.panel__empty kbd{font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg);background:var(--ide-bg-elevated);border:1px solid var(--ide-border);border-radius:6px;padding:1px 8px;font-style:normal}.line{border-bottom:1px dashed var(--ide-border);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ide-fg);gap:8px;padding:2px 0;display:flex}.line:last-child{border-bottom:0}.line__mark{color:var(--ide-fg-faint);flex:none}.line--error{color:var(--danger)}.line--warn{color:var(--caution)}.line--info{color:var(--info)}.line--system{color:var(--ide-fg-faint);font-style:italic}.sql-result{padding:4px 0 10px}.sql-result__scroll{border:1px solid var(--ide-border);border-radius:12px;overflow-x:auto}.sql-result table{border-collapse:collapse;width:100%;font-size:var(--t-meta)}.sql-result th,.sql-result td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--ide-border);padding:6px 12px}.sql-result th{background:var(--ide-bg-elevated);color:var(--ide-fg-dim);font-weight:700;position:sticky;top:0}.sql-result td{color:var(--ide-fg)}.sql-result td em{color:var(--ide-fg-faint);font-style:italic}.sql-result tbody tr:nth-child(2n) td{background:var(--ide-fg)}@supports (color:color-mix(in lab, red, red)){.sql-result tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--ide-fg) 4%, transparent)}}.sql-result tbody tr:last-child td{border-bottom:0}.sql-result__count{font-size:var(--t-kicker);color:var(--ide-fg-faint);margin:6px 2px 0}.test{border-bottom:1px dashed var(--ide-border);font-family:var(--font-code);font-size:var(--t-body);color:var(--ide-fg);gap:10px;padding:7px 0;display:flex}.test:last-child{border-bottom:0}.test__mark{flex:none;font-weight:700}.test--pass .test__mark{color:var(--success)}.test--fail .test__mark{color:var(--danger)}.test__note{font-size:var(--t-meta);color:var(--ide-fg-faint);margin:0 0 8px}.test__why{font-family:var(--font-code);font-size:var(--t-meta);color:var(--danger);margin-top:2px;display:block}.back-btn{max-width:220px;color:var(--ide-fg-dim);border:1px solid var(--ide-border);border-radius:8px;align-items:center;gap:7px;padding:5px 10px;font-size:13.5px;text-decoration:none;transition:background .12s,color .12s;display:inline-flex}.back-btn:hover{color:var(--ide-fg);background:var(--ide-hover)}.back-btn__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (max-width:720px){.back-btn__label{display:none}}.run-status{white-space:nowrap;font-family:var(--font-code);font-size:var(--t-kicker);color:var(--ide-fg-dim);background:var(--ide-border);border-radius:999px;padding:2px 9px}.run-status[data-state=ok]{color:var(--ink);background:var(--success-soft)}.run-status[data-state=error]{color:var(--ink);background:var(--danger-soft)}@media (max-width:720px){.panel__body{max-height:260px}.ed__tools .btn--icon{min-width:40px;min-height:40px}.ed__tab-new{width:40px;height:40px}.ed__tabs--files .ed__tab-close{min-width:36px;min-height:36px}.ed__problems{min-height:36px;padding:4px 8px}.ed__status .ed__len,.ed__status .ed__hint,.ed__status .ed__meta{display:none}}@media print{.ed__bar,.panel__tabs,.ed__status{display:none}}.sk{background:var(--line-soft);background-image:linear-gradient(90deg, transparent 0%, var(--sheet) 50%, transparent 100%);border-radius:4px;display:block}@supports (color:color-mix(in lab, red, red)){.sk{background-image:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--sheet) 70%, transparent) 50%, transparent 100%)}}.sk{background-repeat:no-repeat;background-size:200% 100%;animation:1.4s ease-in-out infinite sk-shimmer}@keyframes sk-shimmer{0%{background-position:180% 0}to{background-position:-80% 0}}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.sk--text{height:11px}.sk--btn{border-radius:7px;height:26px}.sk--line{height:12px}.ed--skeleton .sk{background:var(--ide-border);background-image:linear-gradient(90deg, transparent 0%, var(--ide-fg) 50%, transparent 100%)}@supports (color:color-mix(in lab, red, red)){.ed--skeleton .sk{background-image:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--ide-fg) 25%, transparent) 50%, transparent 100%)}}.ed-sk__cm{gap:14px;padding:12px 0;display:flex;overflow:hidden}.ed-sk__gutter{font-family:var(--font-code);color:var(--ide-fg-faint);-webkit-user-select:none;user-select:none;flex-direction:column;flex:none;gap:9px;padding-left:12px;font-size:13px;line-height:12px;display:flex}.ed-sk__lines{flex-direction:column;flex:auto;gap:9px;min-width:0;padding-right:18px;display:flex}.ed-sk__note{font-family:var(--font-body);color:var(--ide-fg-dim);font-size:12px}.viz{flex-direction:column;gap:14px;min-width:0;display:flex}.viz__row{flex-direction:column;gap:4px;display:flex}.viz__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pencil);font-size:11px}.setgroup__title:after{content:none}.viz__cells{flex-wrap:wrap;gap:6px;display:flex}.viz__cell{text-align:center;min-width:42px;font-family:var(--font-mono);color:var(--ink);background:var(--sheet-2);border:1.5px solid var(--line-soft);border-radius:6px;padding:8px 6px 6px;font-size:15px;transition:background .15s,border-color .15s;position:relative}.viz__cell i{color:var(--pencil);min-height:12px;margin-top:3px;font-size:10px;font-style:normal;display:block}.viz__cell--lo{border-color:var(--green);background:var(--dg-box-green)}.viz__cell--hi{border-color:var(--red);background:var(--dg-box-red)}.viz__cell--mid,.viz__cell--hot{border-color:var(--dg-yellow-stroke);background:var(--dg-box-yellow)}.viz__cell--in{border-color:var(--ink-soft);background:var(--dg-box)}.viz__cell--out{opacity:.4}.viz__cell--done{border-color:var(--green);color:var(--green)}.viz__grid{gap:4px;display:grid;overflow-x:auto}.viz__gcell{text-align:center;min-width:36px;font-family:var(--font-mono);background:var(--sheet-2);border:1.5px solid var(--line-soft);border-radius:4px;padding:6px 4px;font-size:13px}.viz__gcell--head{color:var(--pencil);background:0 0;border-color:#0000;font-size:11px}.viz__gcell--hot{border-color:var(--dg-yellow-stroke);background:var(--dg-box-yellow)}.viz__gcell--dep{border-color:var(--ink-soft);background:var(--dg-box)}.viz__gcell--done{color:var(--green);border-color:var(--green)}@media (max-width:640px){.viz__gcell{min-width:28px}}.btn--chip{text-transform:capitalize;min-height:32px;padding:4px 12px;font-size:14px}.btn--chip.is-on{background:var(--ink);color:var(--sheet);border-color:var(--ink)}.interview-body .rmeta{border:1.5px dashed var(--line-soft);background:var(--sheet-2);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:3px 22px;margin:0 0 18px;padding:13px 16px;display:grid}.interview-body .rmeta .k{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pencil);font-size:9.5px;display:block}.interview-body .rmeta .v{color:var(--ink);font-size:15px}.interview-body .tiers{flex-wrap:wrap;gap:6px;margin:0 0 18px;display:flex}.interview-body .tier{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-soft);color:var(--pencil);border-radius:999px;padding:2px 9px;font-size:9.5px}.interview-body .tier.hot{background:var(--sticky-mint-bg);color:var(--sticky-mint-fg);border-color:#0000}.interview-body .rintro{color:var(--ink-soft)}.interview-body .q{border-top:1px solid var(--line);padding:22px 0 6px}.interview-body .q:first-of-type{border-top:0;padding-top:0}.interview-body .qtop{align-items:baseline;gap:12px;display:flex}.interview-body .qnum{font-family:var(--font-mono);color:var(--pencil);flex:none;font-size:11px}.interview-body .qt{font-family:var(--font-heading);letter-spacing:.005em;font-size:1.4rem;line-height:1.3}.interview-body .qt code{font-size:.82em}.interview-body .qbody{margin:12px 0 0}.interview-body .qbody>p{margin:0 0 12px}.interview-body .qbody ul,.interview-body .qbody ol{margin:0 0 13px;padding-left:22px}.interview-body .qbody li{margin-bottom:6px}.interview-body .qbody>:last-child{margin-bottom:0}.interview-body .test{color:var(--ink-soft);border-left:2.5px solid var(--mark);margin:0 0 14px;padding:2px 0 2px 12px;font-size:.94rem}.interview-body .ladder{background:var(--sheet-2);border:1.5px solid var(--line);border-radius:12px;margin:22px 0 0;padding:15px 17px 6px}.interview-body .ladder .ttl{font-family:var(--font-heading);color:var(--ink);margin-bottom:10px;font-size:18px;display:block}.interview-body .ladder .rung{border-top:1px dashed var(--line);padding:14px 0 4px}.interview-body .ladder .rung:first-of-type{border-top:0;padding-top:0}.interview-body .ladder .lv{background:var(--sheet);border:1.5px solid var(--line);font-family:var(--font-heading);color:var(--pencil);border-radius:999px;margin-bottom:8px;padding:2px 11px;font-size:14px;display:inline-block}.interview-body .ladder p{margin:0 0 9px}.interview-body .ladder .script{border-left:3px solid var(--line);padding:2px 0 2px 13px}.interview-body .ladder .why{color:var(--pencil);font-size:.95em}.interview-body .prep{background:var(--dg-box-green);border:1.5px solid var(--green);border-radius:12px;margin:26px 0 0;padding:16px 18px}.interview-body .prep .ttl{font-family:var(--font-heading);color:var(--green);margin-bottom:8px;font-size:18px;display:block}.interview-body .prep p{margin:0 0 10px}.interview-body .prep ul{margin:0;padding-left:19px}.interview-body .prep li{margin-bottom:6px}.interview-body .prep p:last-child{margin:10px 0 0}.interview-body .followups{border-top:1px dashed var(--line-soft);margin:14px 0 0;padding-top:11px}.interview-body .followups ul{margin:0;padding-left:19px}.interview-body .followups li{color:var(--ink-soft);margin-bottom:4px;font-size:.94rem}.interview-body .codelabel{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pencil);margin:14px 0 -7px;font-size:9.5px}.interview-body pre .o{background:var(--mark);border-radius:3px;padding:0 2px}.interview-body td.n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.interview-body tr.hi td{background:var(--sticky-mint-bg);color:var(--sticky-mint-fg)}.interview-body .cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:16px 0;display:grid}.interview-body .card{background:var(--dg-box);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);border-radius:11px;padding:14px 16px}.interview-body .card.g{background:var(--dg-box-green)}.interview-body .card.r{background:var(--dg-box-red)}.interview-body .card.y{background:var(--dg-box-yellow)}.interview-body .card h4{margin:0 0 6px;font-size:1.1rem}.interview-body .card p{color:var(--ink-soft);margin:0;font-size:.95rem}.interview-body .card ul{color:var(--ink-soft);margin:0;padding-left:18px;font-size:.95rem}.interview-body .pill{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:9.5px}.interview-body .pill.y{background:var(--sticky-bg);color:var(--sticky-fg)}.interview-body .pill.m{background:var(--sticky-mint-bg);color:var(--sticky-mint-fg)}.interview-body .pill.r{background:var(--warn-bg);color:var(--red);border:1px solid var(--red)}.interview-body .pill.n{background:var(--sheet-2);color:var(--pencil);border:1px solid var(--line)}.c3d{perspective:1150px;perspective-origin:50% 44%;background:var(--sheet-2);border:1.5px solid var(--line-soft);border-radius:10px;height:380px;margin:6px 0 0;position:relative;overflow:hidden}.c3d__stage{transform-style:preserve-3d;transform:scale(var(--s,1)) rotateX(var(--rx,14deg)) rotateY(var(--ry,-28deg));transition:transform .4s;position:absolute;inset:0}.c3d__plane,.c3d__link{transform-style:preserve-3d;transition:transform .45s,opacity .35s,background .3s,border-color .3s;position:absolute;top:50%;left:50%}.c3d__plane{background:var(--dg-box);border:2px solid var(--ink-soft);width:228px;min-height:84px;transform:translate3d(var(--x,0px), var(--y,0px), var(--z,0px));opacity:0;border-radius:10px;margin:-50px 0 0 -114px;padding:9px 12px 11px;box-shadow:0 14px 26px #1f3a7321}.c3d__plane.is-on{opacity:1}.c3d__plane.is-kept{background:var(--dg-box-green);border-color:var(--green)}.c3d__plane.is-hot{background:var(--dg-box-yellow);border-color:var(--dg-yellow-stroke)}.c3d__plane.is-gone{opacity:.3;box-shadow:none;border-style:dashed}.c3d__ttl{font-family:var(--font-heading);color:var(--ink);margin-bottom:3px;font-size:16px;font-weight:700;line-height:1.25}.c3d__rows{font-family:var(--font-mono);color:var(--pencil);white-space:pre-line;font-size:12.5px;line-height:1.65}.c3d__badge{font-family:var(--font-mono);background:var(--hl-mint);color:var(--sticky-mint-fg);border-radius:999px;margin-top:6px;padding:1px 7px;font-size:11px;display:inline-block}.c3d__link{width:var(--len,120px);background:var(--green);height:3px;transform:translate3d(var(--x,0px), var(--y,0px), var(--z,0px)) rotateY(90deg);opacity:0;border-radius:2px;margin:0 0 0 -1px}.c3d__link.is-on{opacity:1}.c3d__hint{color:var(--pencil);font-size:12.5px;font-family:var(--font-mono);position:absolute;bottom:10px;left:12px}.c3d-ctl{color:var(--pencil);flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;font-size:13px;display:flex}.c3d-ctl label{align-items:center;gap:7px;display:flex}.c3d-ctl input[type=range]{width:118px;accent-color:var(--primary)}@media (max-width:860px){.c3d__stage{--s:.72}}@media (max-width:620px){.c3d{height:300px}.c3d__stage{--s:.5}}@media (prefers-reduced-motion:reduce){.c3d__stage,.c3d__plane,.c3d__link{transition:none}}.viz-tree,.viz-tree ul{margin:0;padding:0;list-style:none}.viz-tree ul{border-left:1.5px dashed var(--line-soft);margin-left:12px;padding-left:14px}.viz-node{border:1.5px solid var(--line-soft);background:var(--sheet);font-family:var(--font-mono);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0;padding:3px 9px;font-size:13px;display:inline-flex}.viz-node.is-current{background:var(--mark);border-color:var(--ink-soft);font-weight:700}.viz-node.is-done{border-color:var(--green)}.viz-node.is-skip{opacity:.55;border-style:dashed}.viz-node.is-rendered{animation:.9s viz-flash}@keyframes viz-flash{0%{background:var(--mark)}to{background:var(--sheet)}}@media (prefers-reduced-motion:reduce){.viz-node.is-rendered{background:var(--mark);animation:none}}.viz-badge{border:1px solid var(--green);background:var(--dg-box-green);color:var(--green);border-radius:99px;padding:0 7px;font-size:11px;font-weight:400}.viz-badge--work{border-color:var(--red);background:var(--dg-box-red);color:var(--red)}.viz-lane{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.viz-phase{border:1.5px solid var(--line-soft);background:var(--sheet);opacity:.55;border-radius:8px;flex:130px;min-width:0;padding:8px 10px;font-size:13px}.viz-phase b{font-family:var(--font-heading);font-size:15px;display:block}.viz-phase.is-reached{opacity:1}.viz-phase.is-current{background:var(--mark);border-color:var(--ink-soft)}.viz-phase.is-yours:after{content:"your effect runs here";color:var(--red);margin-top:4px;font-weight:700;display:block}.viz-figure{margin:16px 0}.viz-figure svg{max-width:100%;height:auto;display:block}.viz-figure figcaption{color:var(--pencil);margin-top:6px;font-size:13.5px}.viz-rect{fill:var(--sheet);stroke:var(--ink-soft);stroke-width:1.5px}.viz-rect--server{fill:var(--dg-box-yellow);stroke:var(--dg-yellow-stroke)}.viz-rect--client{fill:var(--dg-box-green);stroke:var(--green)}.viz-rect--wait{stroke-dasharray:5 4}.viz-label{fill:var(--ink);font-family:var(--font-mono);font-size:12px}.viz-line{stroke:var(--ink-soft);stroke-width:1.5px;fill:none}.viz-edge{stroke:var(--line-soft);stroke-width:2.5px}.viz-vertex circle{fill:var(--sheet);stroke:var(--ink-soft);stroke-width:2px}.viz-vertex text{fill:var(--ink);font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;font-size:14px}.viz-vertex.is-visited circle{fill:var(--dg-box-green);stroke:var(--green)}.viz-vertex.is-current circle{fill:var(--mark);stroke:var(--ink)}.preview-panel{margin-bottom:12px}.preview-panel__bar{border-bottom:1px solid var(--ide-border);font-size:var(--t-kicker);text-transform:uppercase;letter-spacing:.05em;opacity:.75;padding:6px 12px}.preview-panel__host{color:canvastext;background:canvas;height:220px}.preview-panel__host .panel__empty{color:graytext;padding:12px}.preview-frame{background:canvas;border:0;width:100%;height:100%;display:block}.ed__bar [data-tip]{position:relative}.ed__bar [data-tip]:after{content:attr(data-tip);z-index:60;font-family:var(--font-body);font-size:var(--t-kicker);white-space:nowrap;color:var(--sheet);background:var(--ink);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;border-radius:8px;padding:5px 9px;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-3px)}.ed__tools [data-tip]:after{left:auto;right:0}.ed__bar [data-tip]:hover:after,.ed__bar [data-tip]:focus-visible:after{opacity:1;transition-delay:.35s;transform:none}.ed__bar [data-tip][aria-expanded=true]:after{display:none}@media (hover:none),(max-width:720px){.ed__bar [data-tip]:after{display:none}}.ed .ed__bar .btn--icon svg,.ed__tab-new svg{display:block}.ed .ed__bar .btn--icon,.ed__tab-new{place-items:center;transition:background .15s,color .15s,border-color .15s,transform .12s;display:inline-grid}.ed .ed__bar .btn--icon:active,.ed__tab-new:active{transform:scale(.92)}.lang-pick{border:0;min-width:0;margin:4px 0 0;padding:0}.lang-pick legend{font-size:var(--t-meta);color:var(--pencil);margin-bottom:6px;padding:0}.lang-pick__grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px;max-height:232px;padding:2px;display:grid;overflow-y:auto}.lang-pick__opt{font:inherit;font-size:var(--t-meta);text-align:left;color:var(--ink);background:var(--sheet-2);cursor:pointer;border:1.5px solid #0000;border-radius:9px;justify-content:space-between;align-items:baseline;gap:6px;padding:7px 10px;transition:border-color .15s,transform .12s;display:flex}.lang-pick__opt small{font-family:var(--font-mono);font-size:var(--t-kicker);color:var(--pencil)}.lang-pick__opt:hover{border-color:var(--line)}.lang-pick__opt[aria-checked=true]{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.lang-pick__opt[aria-checked=true]{background:color-mix(in srgb, var(--primary) 10%, var(--sheet-2))}}.lang-pick__opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.lang-pick__opt:active{transform:scale(.97)}@media (max-width:720px){.panel__tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.panel__tabs .tab{white-space:nowrap;flex:none;padding:6px 9px}.ed__status .ed__len,.ed__status .ed__hint,.ed__status .ed__meta{display:none}}[data-fx-root=on] [data-fx]{--t:clamp(0, calc(var(--in,0) * 1.25 - var(--d,0) * .12), 1);--e:calc(1 - var(--t))}[data-fx-root=on] [data-fx=up]{opacity:var(--t);translate:0 calc(var(--e) * 70px)}[data-fx-root=on] [data-fx=left]{opacity:var(--t);translate:calc(var(--e) * -110px) 0}[data-fx-root=on] [data-fx=right]{opacity:var(--t);translate:calc(var(--e) * 110px) 0}[data-fx-root=on] [data-fx=scale]{opacity:var(--t);scale:calc(.82 + var(--t) * .18);translate:0 calc(var(--e) * 40px)}[data-fx-root=on] [data-fx=flip]{opacity:var(--t);transform-origin:50% 100%;rotate:x calc(var(--e) * 50deg);translate:0 calc(var(--e) * 40px)}[data-fx-root=on] [data-fx=stagger]>*{--k:clamp(0, calc(var(--in,0) * 1.7 - var(--n,0) * .14), 1);opacity:var(--k);translate:0 calc((1 - var(--k)) * 44px)}[data-fx-root=on] [data-fx=stagger]>:nth-child(2){--n:1}[data-fx-root=on] [data-fx=stagger]>:nth-child(3){--n:2}[data-fx-root=on] [data-fx=stagger]>:nth-child(4){--n:3}[data-fx-root=on] [data-fx=stagger]>:nth-child(5){--n:4}[data-fx-root=on] [data-fx=stagger]>:nth-child(n+6){--n:5}.head-back{max-width:240px;height:36px;color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px 0 11px;font-size:14.5px;font-weight:600;text-decoration:none;transition:border-color .15s,transform .15s;display:inline-flex}.head-back:hover{border-color:var(--ink-soft);transform:translate(-2px)}.head-back:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (max-width:720px){.head-back{justify-content:center;width:36px;padding:0}}html[data-js] [data-panel-off]{display:none}[data-reveal][data-armed]:not([data-in]){opacity:0}[data-reveal][data-armed][data-in]{animation:.65s cubic-bezier(.2,.7,.2,1) backwards reveal-up;animation-delay:calc(var(--i,0) * 70ms)}@keyframes reveal-up{0%{opacity:0;translate:0 26px}}@media print,(prefers-reduced-motion:reduce){[data-reveal][data-armed]:not([data-in]){opacity:1}[data-reveal][data-armed][data-in]{animation:none}}@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-font-weight{syntax:"*";inherits:false}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
