/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-canvas:#faf8f3;--color-surface:#fffefb;--color-surface-soft:#f4efe6;--color-surface-sunk:#efe9de;--color-ink:#141413;--color-body:#3d3d3a;--color-muted:#6c6a64;--color-muted-soft:#8e8b82;--color-hairline:#e6dfd8;--color-hairline-soft:#efe9e2;--color-brand:#cc785c;--color-brand-strong:#9c4f36;--color-brand-wash:#f5e9e1;--color-action:#14532d;--color-action-strong:#0e3a1f;--color-action-wash:#e7efe9;--color-danger:#c64545;--color-warning:#b8860b;--radius-control:.625rem;--radius-panel:.875rem;--shadow-panel:0 1px 2px #1414130a, 0 4px 12px #1414130a;--shadow-lift:0 6px 18px #1414131a}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--nav-h:calc(3.75rem + 1px);--color-scrim:#14141373;--color-panel-fade:#14141321}html{background-color:var(--color-canvas);color-scheme:light;-webkit-text-size-adjust:100%}html[data-theme=dark]{color-scheme:dark}body{background-color:var(--color-canvas);min-height:100dvh;color:var(--color-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--color-ink);text-wrap:balance;letter-spacing:-.02em}:focus-visible{outline:2px solid var(--color-brand-strong);outline-offset:2px;border-radius:4px}::selection{background:#cc785c59}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--color-brand) 35%, transparent)}}::selection{color:var(--color-ink)}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.-bottom-\[11px\]{bottom:-11px}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container-site{width:100%;max-width:78rem;margin-inline:auto;padding-inline:1rem}@media (width>=640px){.container-site{padding-inline:1.5rem}}@media (width>=1024px){.container-site{padding-inline:2rem}}.mx-auto{margin-inline:auto}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-3{margin-block:calc(var(--spacing) * 3)}.\!mt-0{margin-top:0!important}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-px{margin-top:1px}.mr-1{margin-right:var(--spacing)}.ml-auto{margin-left:auto}.toh-pb{border-radius:var(--radius-control);border:1px solid var(--color-hairline);background-color:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-body);cursor:pointer;place-items:center;transition:background-color .15s,color .15s;display:grid}.toh-pb:hover:not(:disabled){background-color:var(--color-surface-soft);color:var(--color-ink)}.btn-base{border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;padding-inline:.875rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-auto{height:auto}.min-h-4\.5{min-height:calc(var(--spacing) * 4.5)}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-dvh{min-height:100dvh}.container-wide{width:100%;padding-inline:1rem}@media (width>=640px){.container-wide{padding-inline:1.5rem}}@media (width>=1024px){.container-wide{padding-inline:2rem}}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[22rem\]{max-width:22rem}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:0}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-1{column-gap:var(--spacing)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.gap-y-9{row-gap:calc(var(--spacing) * 9)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.panel{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background-color:var(--color-surface);box-shadow:var(--shadow-panel)}.rounded{border-radius:.25rem}.rounded-control{border-radius:var(--radius-control)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-l-control{border-top-left-radius:var(--radius-control);border-bottom-left-radius:var(--radius-control)}.rounded-r-control{border-top-right-radius:var(--radius-control);border-bottom-right-radius:var(--radius-control)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-brand{border-color:var(--color-brand)}.border-hairline{border-color:var(--color-hairline)}.border-hairline-soft{border-color:var(--color-hairline-soft)}.bg-action{background-color:var(--color-action)}.bg-brand-strong{background-color:var(--color-brand-strong)}.bg-brand-wash{background-color:var(--color-brand-wash)}.bg-canvas{background-color:var(--color-canvas)}.bg-hairline{background-color:var(--color-hairline)}.bg-surface{background-color:var(--color-surface)}.bg-surface-soft{background-color:var(--color-surface-soft)}.bg-surface-soft\/60{background-color:#f4efe699}@supports (color:color-mix(in lab, red, red)){.bg-surface-soft\/60{background-color:color-mix(in oklab, var(--color-surface-soft) 60%, transparent)}}.bg-surface-sunk{background-color:var(--color-surface-sunk)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-14{padding-bottom:calc(var(--spacing) * 14)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[clamp\(1\.75rem\,7vw\,2\.5rem\)\]{font-size:clamp(1.75rem,7vw,2.5rem)}.text-\[clamp\(2\.5rem\,10vw\,3\.5rem\)\]{font-size:clamp(2.5rem,10vw,3.5rem)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words,.wrap-break-word{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-action{color:var(--color-action)}.text-body{color:var(--color-body)}.text-brand-strong{color:var(--color-brand-strong)}.text-danger{color:var(--color-danger)}.text-hairline{color:var(--color-hairline)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-muted-soft{color:var(--color-muted-soft)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab, red, red)){.text-white\/75{color:color-mix(in oklab, var(--color-white) 75%, transparent)}}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.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}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-aria-pressed\:block:is(:where(.group)[aria-pressed=true] *){display:block}.group-aria-pressed\:hidden:is(:where(.group)[aria-pressed=true] *){display:none}@media (hover:hover){.hover\:border-brand:hover{border-color:var(--color-brand)}.hover\:bg-action-strong:hover{background-color:var(--color-action-strong)}.hover\:bg-surface-soft:hover{background-color:var(--color-surface-soft)}.hover\:text-action-strong:hover{color:var(--color-action-strong)}.hover\:text-brand-strong:hover{color:var(--color-brand-strong)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (hover:hover){.disabled\:hover\:bg-action:disabled:hover{background-color:var(--color-action)}.disabled\:hover\:text-body:disabled:hover{color:var(--color-body)}}@media not all and (width>=40rem){.max-sm\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.max-sm\:size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.max-sm\:px-0{padding-inline:0}}@media (width>=360px){.min-\[360px\]\:text-\[0\.9375rem\]{font-size:.9375rem}}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:h-15{height:calc(var(--spacing) * 15)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:py-0{padding-block:0}.sm\:py-7{padding-block:calc(var(--spacing) * 7)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (width>=48rem){.md\:ml-1{margin-left:var(--spacing)}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}}@media (width>=64rem){.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:grid-cols-\[16rem_minmax\(0\,1fr\)\]{grid-template-columns:16rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_19\.5rem\]{grid-template-columns:minmax(0,1fr) 19.5rem}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:gap-16{gap:calc(var(--spacing) * 16)}}.dark\:block:where([data-theme=dark],[data-theme=dark] *){display:block}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}.dark\:text-ink:where([data-theme=dark],[data-theme=dark] *){color:var(--color-ink)}.dark\:text-white:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}@media (hover:hover){.dark\:hover\:text-brand-strong:where([data-theme=dark],[data-theme=dark] *):hover{color:var(--color-brand-strong)}}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}[data-theme=dark]{--color-canvas:#16150f;--color-surface:#1f1e18;--color-surface-soft:#262520;--color-surface-sunk:#2c2b24;--color-ink:#f5f2ea;--color-body:#d6d2c6;--color-muted:#a3a094;--color-muted-soft:#85827a;--color-hairline:#35342c;--color-hairline-soft:#2b2a23;--color-brand:#e0997d;--color-brand-strong:#f0b79f;--color-brand-wash:#38261e;--color-action:#2f7a4f;--color-action-strong:#33804f;--color-action-wash:#1e2b23;--color-scrim:#0000009e;--color-panel-fade:#00000061;--shadow-panel:0 1px 2px #0000004d, 0 4px 12px #0000003d;--shadow-lift:0 6px 18px #0006}.toh-board{--peg-count:3;grid-template-columns:repeat(var(--peg-count), 1fr);max-width:min(100%, calc(55dvh * .7797 * var(--peg-count) + (var(--peg-count) - 1) * 1rem));align-items:end;gap:clamp(.5rem,2vw,2rem);width:100%;margin-inline:auto;display:grid;position:relative}.toh-tower{flex-direction:column;align-items:center;gap:.5rem;display:flex}.toh-tower-hit{aspect-ratio:446/572;cursor:grab;border-radius:var(--radius-panel);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:pan-y;background:0 0;border:0;width:100%;padding:0;display:block;position:relative}.toh-tower-hit[data-empty=true]{cursor:pointer}@media (hover:none) and (pointer:coarse){.toh-tower-hit,.toh-tower-hit[data-empty=true]{cursor:pointer;touch-action:manipulation}}.toh-peg-svg{width:100%;height:100%;position:absolute;inset:0}.toh-tower-hit:before{content:"";border-radius:var(--radius-panel);background:var(--color-action-wash);opacity:0;pointer-events:none;height:34%;transition:opacity .16s;position:absolute;inset:auto 6% 9.5%}.toh-tower-hit[data-target=true]:before{opacity:1}.toh-tower-hit[data-over=allow]:before{opacity:1;outline:2px solid var(--color-action);outline-offset:-2px}.toh-tower-hit[data-over=deny]:before{opacity:1;background:#c6454524}@supports (color:color-mix(in lab, red, red)){.toh-tower-hit[data-over=deny]:before{background:color-mix(in srgb, var(--color-danger) 14%, transparent)}}.toh-tower-hit[data-over=deny]:before{outline:2px solid var(--color-danger);outline-offset:-2px}.toh-stack{pointer-events:none;height:85.5%;position:absolute;bottom:11.65%;left:0;right:0}.toh-tower-label{color:var(--color-muted);letter-spacing:.02em;font-size:.9375rem;font-weight:600}.toh-tower-hit[data-target=true]+.toh-tower-label,.toh-tower-hit[data-holding=true]+.toh-tower-label{color:var(--color-ink)}.toh-disk{--disk-slot:min(clamp(.875rem, 3.2vw, 2.4375rem), calc(100% / var(--disk-count)));left:50%;bottom:calc(var(--disk-index) * var(--disk-slot));width:var(--disk-width);height:var(--disk-slot);background:linear-gradient(180deg, var(--disk-light), var(--disk-mid) 52%, var(--disk-dark));color:#fff;text-shadow:0 0 1px #00000080,0 1px 2px #00000059;border:1px solid #461e1414;border-radius:999px;place-items:center;font-weight:600;line-height:1;transition:transform .16s,filter .12s,box-shadow .16s;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 6px 9px #00000026,inset 0 2px 2px #ffffff47,inset 0 -5px 7px #00000024;container-type:size}.toh-disk:before{content:"";border-radius:inherit;opacity:.075;mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(circle at 20% 30%,#fff 0 1px,#0000 1.5px) 0 0/9px 8px,radial-gradient(circle at 68% 62%,#000 0 1px,#0000 1.5px) 0 0/12px 10px;position:absolute;inset:0}.toh-disk:after{content:"";pointer-events:none;background:#4b2d1e1c;border-radius:50%;width:min(34px,28%);height:min(7px,18%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #ffffff47}.toh-disk-number{z-index:1;font-variant-numeric:tabular-nums;font-size:clamp(min(.625rem,85cqh),60cqh,.9375rem);position:relative}.toh-disk[data-colour="1"]{box-shadow:0 6px 9px #00000026,inset 0 0 0 2px #ffffffe6,inset 0 0 0 4px #0000002e,inset 0 -5px 7px #00000024}.toh-tower-hit:hover .toh-disk[data-top=true]{filter:brightness(1.04)}.toh-disk[data-selected=true]{filter:brightness(1.05);transform:translate(-50%)translateY(-12px)scale(1.02);box-shadow:0 12px 16px #0000002e,inset 0 2px 2px #ffffff4d,inset 0 -5px 7px #00000024}.toh-disk[data-dragging=true]{transform:translateX(-50%) translate(var(--drag-dx,0px), calc(var(--drag-dy,0px) - 6px)) scale(1.04);z-index:20;filter:brightness(1.06);transition:none;box-shadow:0 18px 24px #00000042,inset 0 2px 2px #ffffff4d,inset 0 -5px 7px #00000024}body.toh-dragging,body.toh-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}@keyframes toh-refuse{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 5px))}75%{transform:translate(calc(5px - 50%))}}.toh-disk[data-refused=true]{animation:.24s ease-in-out 2 toh-refuse}@media (prefers-reduced-motion:reduce){.toh-disk,.toh-tower-hit:before{transition-duration:.01ms}.toh-disk[data-refused=true]{outline:2px solid var(--color-danger);outline-offset:2px;animation:none}.toh-disk[data-selected=true]{outline:2px dashed var(--color-ink);outline-offset:3px;transform:translate(-50%)}.toh-disk[data-dragging=true]{transform:translateX(-50%) translate(var(--drag-dx,0px), var(--drag-dy,0px))}}.toh-disk[data-ghost=true]{border:1.5px dotted var(--disk-mid)}@supports (color:color-mix(in lab, red, red)){.toh-disk[data-ghost=true]{border:1.5px dotted color-mix(in srgb, var(--disk-mid) 42%, transparent)}}.toh-disk[data-ghost=true]{box-shadow:none;opacity:0;background:0 0;transition:opacity .2s}.toh-disk[data-ghost=true]:before,.toh-disk[data-ghost=true]:after{content:none}.toh-disk[data-ghost=true][data-on=true]{opacity:1}.toh-trajectory{pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0;overflow:visible}.toh-trajectory[data-on=true]{opacity:1}.toh-trajectory stop{stop-color:var(--trail)}.toh-trail{stroke:none;opacity:.32}[data-theme=dark] .toh-trail{opacity:.5}@media (prefers-reduced-motion:reduce){.toh-disk[data-ghost=true],.toh-trajectory{transition-duration:.01ms}}.toh-control-pointer{display:flex}.toh-control-touch{display:none}@media (hover:none) and (pointer:coarse){.toh-control-pointer{display:none}.toh-control-touch{display:flex}}.toh-kbd{border:1px solid var(--color-hairline);background-color:var(--color-surface-soft);min-width:1.375rem;color:var(--color-body);border-bottom-width:2px;border-radius:.3125rem;place-items:center;padding:.0625rem .25rem;font-family:inherit;font-size:.6875rem;font-weight:600;line-height:1.25;display:inline-grid}.toh-board:not([data-mode=play]) .toh-tower-hit{cursor:default}.toh-board:not([data-mode=play]) .toh-tower-hit:hover .toh-disk[data-top=true]{filter:none}.toh-difficulty{letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand-strong);font-size:.75rem;font-weight:600}#stat-optimal[data-optimal=true]{background-color:var(--color-action-wash)}#stat-optimal[data-optimal=true] .toh-icon-optimal,#stat-optimal[data-optimal=true] svg{color:var(--color-action)}#stat-optimal[data-optimal=false] svg{color:var(--color-muted-soft)}.toh-disclosure>summary{cursor:pointer;color:var(--color-ink);justify-content:space-between;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;list-style:none;display:flex}.toh-disclosure>summary::-webkit-details-marker{display:none}.toh-disclosure>summary:after{content:"+";color:var(--color-muted-soft);font-size:1.125rem;font-weight:400;line-height:1}.toh-disclosure[open]>summary:after{content:"−"}.toh-disclosure>summary:hover{color:var(--color-brand-strong)}.toh-win{border:1px solid var(--color-brand);border-radius:var(--radius-panel);background-color:var(--color-surface);width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--color-body);box-shadow:var(--shadow-lift);margin:auto;padding:1.5rem;overflow-y:auto}.toh-win[open]{animation:.32s cubic-bezier(.2,.7,.3,1) toh-win-in}.toh-win:focus,.toh-win:focus-visible{outline:none}.toh-win::backdrop{background-color:var(--color-scrim,#14141373);backdrop-filter:blur(1px)}.toh-win-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.toh-win-close{margin:-.375rem -.375rem 0 0}@keyframes toh-win-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){.toh-win[open]{animation:none}}button:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.45}.toh-scrub{appearance:none;cursor:pointer;background:0 0;width:100%;height:1.5rem}.toh-scrub::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--color-action) 0 var(--scrub-progress,0%), var(--color-surface-sunk) var(--scrub-progress,0%) 100%);border-radius:999px;height:6px}.toh-scrub::-moz-range-track{background:var(--color-surface-sunk);border-radius:999px;height:6px}.toh-scrub::-moz-range-progress{background:var(--color-action);border-radius:999px;height:6px}.toh-scrub::-webkit-slider-thumb{appearance:none;background:var(--color-action);border:3px solid var(--color-surface);border-radius:999px;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 3px #0003}.toh-scrub::-moz-range-thumb{background:var(--color-action);border:3px solid var(--color-surface);border-radius:999px;width:12px;height:12px}.toh-scrub:disabled{cursor:not-allowed;opacity:.5}.toh-play-area{--gap:1rem;gap:var(--gap);padding-block:var(--gap);flex-direction:column;display:flex}.toh-play-main{gap:var(--gap);align-items:start;display:grid}.toh-board-col{gap:var(--gap);flex-direction:column;min-width:0;display:flex}@media (width>=1024px){.toh-play-area{--gap:1.25rem;max-width:none}.toh-play-main{grid-template-columns:minmax(0,1fr) 19.5rem}}.toh-play-links{padding-block:0 3rem}@media (width>=1024px){.toh-play-links{max-width:none}}@media (width>=1024px) and (height>=620px){.toh-play-area{min-height:calc(100dvh - var(--nav-h))}.toh-play-main{flex:auto;grid-template-rows:minmax(0,1fr);align-items:stretch;min-height:0}.toh-board-col{min-height:0}.toh-board-wrap{flex:auto;min-height:0}.toh-timeline-wrap{flex:none}.toh-settings{align-self:start}.toh-board-wrap{justify-content:center;align-items:center;display:flex}.toh-board{max-width:min(100%, calc((100dvh - 27rem) * .7797 * var(--peg-count) + (var(--peg-count) - 1) * 2rem))}.toh-settings-cell{min-height:0;position:relative}.toh-settings{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;background-image:linear-gradient(to bottom, var(--color-surface), transparent), linear-gradient(to top, var(--color-surface), transparent), linear-gradient(to bottom, var(--color-panel-fade), transparent), linear-gradient(to top, var(--color-panel-fade), transparent);background-position:top,bottom,top,bottom;background-repeat:no-repeat;background-size:100% 1.5rem,100% 1.5rem,100% .9rem,100% .9rem;background-attachment:local,local,scroll,scroll;max-height:100%;position:absolute;inset:0 0 auto;overflow-y:auto}}.toh-stat-optimal{min-height:calc(2.75em + 1rem)}.toh-stat-slot{display:flow-root}@media (hover:none) and (pointer:coarse){.toh-settings .btn-base{min-height:2.75rem}.toh-stepper-btn{width:2.75rem;height:2.75rem}#best-help{position:relative}#best-help:after{content:"";position:absolute;inset:-.625rem}}body.toh-focus-open{overflow:hidden}body.toh-focus-open>div>header,body.toh-focus-open>div>footer,body.toh-focus-open>div>.toh-skip{display:none}.toh-skip{z-index:60;border:1px solid var(--color-hairline);border-radius:var(--radius-control);background-color:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-lift);padding:.625rem 1rem;font-size:.875rem;font-weight:600;position:fixed;top:.75rem;left:.75rem;transform:translateY(calc(-100% - 1.5rem))}.toh-skip:focus{transform:none}@media (prefers-reduced-motion:no-preference){.toh-skip{transition:transform .15s}}.toh-header{z-index:40;position:sticky;top:0}html[data-nav=hidden] .toh-header:not(:has(:focus-visible)){transform:translateY(-100%)}@media (prefers-reduced-motion:no-preference){.toh-header{transition:transform .2s}}.toh-play[data-focus=true]{z-index:50;background-color:var(--color-canvas);position:fixed;inset:0;overflow-y:auto}.toh-play[data-focus=true] .toh-secondary{display:none}.toh-play[data-focus=true] .toh-play-area{min-height:100dvh}@media (width<=1023px){.toh-play[data-focus=true] .toh-play-area{padding-block:2.25rem 1.5rem}}.toh-play[data-focus=true] .toh-board{max-width:min(100%, calc((100dvh - 8rem) * .7797 * var(--peg-count) + (var(--peg-count) - 1) * 2rem))}@media (width>=1024px){.toh-play[data-focus=true] .toh-play-main{grid-template-columns:minmax(0,1fr) 18rem;align-items:stretch}}.toh-embed .toh-play-area{--gap:.75rem;max-width:none;padding-inline:.75rem}@media (width>=42rem){.toh-embed .toh-play-main{grid-template-columns:minmax(0,1fr) 17rem;align-items:stretch}.toh-embed .toh-board-col{min-height:0}.toh-embed .toh-board-wrap{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}}.toh-embed .toh-board{max-width:min(100%, calc(58dvh * .7797 * var(--peg-count) + (var(--peg-count) - 1) * 1rem))}.toh-embed-foot{justify-content:center;align-items:center;min-height:2.25rem;display:flex;position:relative}.toh-embed-result{height:2rem;padding-inline:.625rem;font-size:.8125rem;position:absolute;right:0}.toh-embed-credit{text-align:center;color:var(--color-muted);font-size:.75rem}.toh-embed-credit a{color:inherit;font-weight:600;text-decoration:none}.toh-embed-credit a:hover{color:var(--color-ink);text-decoration:underline}.toh-chip-row{flex-wrap:wrap;gap:.375rem;display:flex}.toh-chip{border:1px solid var(--color-hairline);border-radius:var(--radius-control);background-color:var(--color-surface);min-width:2.375rem;min-height:2rem;color:var(--color-muted);font-variant-numeric:tabular-nums;cursor:pointer;padding-inline:.5rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.toh-chip:hover{background-color:var(--color-surface-soft);color:var(--color-ink)}.toh-chip[aria-pressed=true]{border-color:var(--color-action);background-color:var(--color-action);color:#fff}.toh-pos-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.toh-pos-choice{border:1px solid var(--color-hairline);border-radius:var(--radius-control);margin:0;padding:0;display:flex;overflow:hidden}.toh-pos-choice label{cursor:pointer}.toh-pos-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.toh-pos-choice span{background-color:var(--color-surface);min-width:2.25rem;min-height:2rem;color:var(--color-muted);place-items:center;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:grid}.toh-pos-choice label:not(:last-child) span{border-right:1px solid var(--color-hairline)}.toh-pos-choice label:hover span{background-color:var(--color-surface-soft);color:var(--color-ink)}.toh-pos-choice input:checked+span{background-color:var(--color-action);color:#fff}.toh-pos-choice input:focus-visible+span{outline:2px solid var(--color-brand-strong);outline-offset:-2px}@media (width>=1024px){#solver-position{max-height:15rem;padding-right:.375rem;overflow-y:auto}}.toh-move-table{border:1px solid var(--color-hairline-soft);border-radius:var(--radius-control);max-height:26rem;overflow:auto}.toh-move-table table{border-collapse:collapse}.toh-move-table th,.toh-move-table td{text-align:left;padding:.4375rem .75rem}.toh-move-table thead th{z-index:1;background-color:var(--color-surface-soft);color:var(--color-ink);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:600;position:sticky;top:0}.toh-move-table tbody tr+tr td{border-top:1px solid var(--color-hairline-soft)}.toh-move-table tbody tr:nth-child(2n) td{background-color:#f4efe673}@supports (color:color-mix(in lab, red, red)){.toh-move-table tbody tr:nth-child(2n) td{background-color:color-mix(in srgb, var(--color-surface-soft) 45%, transparent)}}.toh-move-table tbody tr{cursor:pointer}.toh-move-table tbody tr:hover td{background-color:var(--color-surface-soft)}.toh-move-table tbody tr[aria-current=true] td{background-color:#14532d1f}@supports (color:color-mix(in lab, red, red)){.toh-move-table tbody tr[aria-current=true] td{background-color:color-mix(in srgb, var(--color-action) 12%, transparent)}}.toh-move-table tbody tr[aria-current=true] td{color:var(--color-ink);font-weight:600}.toh-move-table tbody tr[aria-current=true] td:first-child{box-shadow:inset 2px 0 0 var(--color-action);color:var(--color-action)}.toh-solver-stage{max-width:min(100%,46rem,max(22rem,233.91dvh - 82.5467rem));margin-inline:auto}.toh-solver-stage .toh-board{max-width:100%}.toh-solver-stage:focus-visible{outline-offset:.375rem;border-radius:var(--radius-panel)}.toh-prose{max-width:46rem;color:var(--color-body);font-size:1.0625rem;line-height:1.7}.toh-prose>*+*{margin-top:1.125rem}.toh-prose h2{margin-top:2.75rem;font-size:1.625rem;font-weight:700}.toh-prose h3{margin-top:2rem;font-size:1.1875rem;font-weight:600}.toh-prose h2+*,.toh-prose h3+*{margin-top:.75rem}.toh-prose ul,.toh-prose ol{padding-left:1.25rem}.toh-prose ul{list-style:outside}.toh-prose ol{list-style:decimal}.toh-prose li+li{margin-top:.5rem}.toh-prose li::marker{color:var(--color-muted-soft)}.toh-prose a{color:var(--color-brand-strong);text-underline-offset:2px;text-decoration:underline}.toh-prose .toh-contact-card{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background-color:var(--color-surface);color:var(--color-muted);margin-top:1.5rem;padding:1.125rem 1.5rem}.toh-prose .toh-contact-email{color:var(--color-ink);font-family:var(--font-code);overflow-wrap:anywhere;font-size:.95em;text-decoration:none}.toh-prose .toh-contact-email:hover{text-decoration:underline}.toh-prose .toh-contact-note{color:var(--color-muted);margin-top:.75rem;font-size:.875rem}.toh-prose code{border:1px solid var(--color-hairline);border-radius:var(--radius-control);background-color:#6c6a6424;padding:.1em .35em}@supports (color:color-mix(in lab, red, red)){.toh-prose code{background-color:color-mix(in srgb, var(--color-muted) 14%, transparent)}}.toh-prose code{color:var(--color-ink);overflow-wrap:anywhere;font-size:.9em}.toh-prose strong{color:var(--color-ink);font-weight:600}.toh-prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.toh-prose th,.toh-prose td{border-bottom:1px solid var(--color-hairline-soft);text-align:left;padding:.625rem .75rem}.toh-table-scroll{overscroll-behavior-x:contain;overflow-x:auto}.toh-table-scroll:focus-visible{outline:2px solid var(--color-action);outline-offset:3px;border-radius:var(--radius-control)}.toh-table-scroll,.toh-timescale-scroll{--scroll-cue-bg:var(--color-canvas);background:linear-gradient(to right, var(--scroll-cue-bg) 40%, transparent) 0 0 / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--scroll-cue-bg) 40%, transparent) 100% 0 / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--color-panel-fade), transparent) 0 0 / 1.125rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--color-panel-fade), transparent) 100% 0 / 1.125rem 100% no-repeat scroll}.toh-timescale-scroll{--scroll-cue-bg:var(--color-surface)}@media (width<=30rem){.toh-prose table{font-size:.875rem}.toh-prose th,.toh-prose td{padding:.5rem .4375rem}.toh-prose th:first-child,.toh-prose td:first-child{padding-left:0}.toh-prose th:last-child,.toh-prose td:last-child{padding-right:0}}.toh-prose th{color:var(--color-ink);font-weight:600}.toh-prose td:not(:first-child),.toh-prose th:not(:first-child){font-variant-numeric:tabular-nums}.toh-prose figure{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background-color:var(--color-surface);margin-top:1.5rem;padding:1.25rem}.toh-prose figcaption{color:var(--color-muted);margin-top:.75rem;font-size:.875rem}.toh-decomp{grid-template-columns:1fr;gap:1.25rem;display:grid}.toh-prose ol.toh-decomp{margin-top:0;padding-inline-start:0;list-style:none}@media (width>=46rem){.toh-decomp{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.toh-prose .toh-decomp li+li{margin-top:0}.toh-decomp-svg,.toh-roles-svg{width:100%;height:auto;display:block}.toh-decomp-peg,.toh-roles-peg{fill:var(--color-hairline)}.toh-decomp-disk,.toh-roles-disk{fill:var(--color-surface-sunk);stroke:var(--color-hairline);stroke-width:1px}.toh-decomp-disk[data-moving=true],.toh-roles-disk[data-moving=true]{fill:var(--color-brand-wash);stroke:var(--color-brand)}.toh-decomp-arrow,.toh-roles-arrow{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.toh-decomp-head,.toh-roles-head{fill:var(--color-brand)}.toh-decomp-tag,.toh-roles-tag{fill:var(--color-brand-strong);font-size:12px;font-weight:700}.toh-decomp-peg-label,.toh-roles-peg-label{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-prose .toh-decomp-step{color:var(--color-body);margin-top:.625rem;font-size:.875rem;line-height:1.55}.toh-decomp-num{background-color:var(--color-brand-wash);min-width:1.25rem;height:1.25rem;color:var(--color-brand-strong);vertical-align:.0625rem;border-radius:999px;place-items:center;margin-right:.4375rem;font-size:.75rem;font-weight:700;display:inline-grid}.toh-fs{gap:1.25rem}.toh-prose .toh-fs li{grid-template-columns:1fr;align-items:center;gap:.25rem 1.5rem;display:grid}@media (width>=34rem){.toh-prose .toh-fs li{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}@media (width>=46rem){.toh-fs{grid-template-columns:1fr}}.toh-decomp-peg[data-out=true],.toh-decomp-peg-label[data-out=true]{opacity:.3}.toh-roles{grid-template-columns:1fr;gap:1.5rem;display:grid}.toh-prose ol.toh-roles{margin-top:0;padding-inline-start:0;list-style:none}.toh-prose .toh-roles li+li{margin-top:0}@media (width>=40rem){.toh-roles{grid-template-columns:repeat(2,1fr);gap:1.75rem 1.5rem}}.toh-prose .toh-roles-call{margin-top:0;margin-bottom:.25rem;font-size:.9375rem}.toh-roles-role{fill:var(--color-body);font-size:12px;font-weight:500}.toh-roles-role[data-role=target]{fill:var(--color-brand-strong);font-weight:700}.toh-prose .toh-roles-step{color:var(--color-body);margin-top:.5rem;font-size:.875rem;line-height:1.55}.toh-run{grid-template-columns:1fr;gap:1.5rem;display:grid}.toh-prose ol.toh-run{margin-top:0;padding-inline-start:0;list-style:none}.toh-prose .toh-run li+li{margin-top:0}@media (width>=34rem){.toh-run{grid-template-columns:repeat(2,1fr);gap:1.75rem 1.5rem}}@media (width>=52rem){.toh-run{grid-template-columns:repeat(3,1fr)}}.toh-run-svg{width:100%;height:auto;display:block}.toh-run-peg{fill:var(--color-hairline)}.toh-run-disk{fill:var(--color-surface-sunk);stroke:var(--color-hairline);stroke-width:1px}.toh-run-disk[data-moving=true]{fill:var(--color-brand-wash);stroke:var(--color-brand)}.toh-run-arrow{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.toh-run-head{fill:var(--color-brand)}.toh-run-tag{fill:var(--color-brand-strong);font-size:12px;font-weight:700}.toh-run-peg-label{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-prose .toh-run-phase{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:.625rem;margin-bottom:0;font-size:.6875rem;font-weight:700}.toh-prose .toh-run-step{color:var(--color-body);margin-top:.25rem;font-size:.875rem;line-height:1.55}.toh-run-num{background-color:var(--color-brand-wash);min-width:1.25rem;height:1.25rem;color:var(--color-brand-strong);vertical-align:.0625rem;border-radius:999px;place-items:center;margin-right:.4375rem;font-size:.75rem;font-weight:700;display:inline-grid}.toh-anatomy,.toh-rulefig{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=40rem){.toh-anatomy,.toh-rulefig{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.toh-prose ul.toh-rulefig{margin-top:0;padding-inline-start:0;list-style:none}.toh-prose .toh-rulefig li+li{margin-top:0}.toh-anatomy-svg,.toh-rulefig-svg{width:100%;height:auto;display:block}.toh-anatomy-peg,.toh-rulefig-peg{fill:var(--color-hairline)}.toh-anatomy-disk,.toh-rulefig-disk{fill:var(--color-surface-sunk);stroke:var(--color-muted-soft);stroke-width:1px}.toh-anatomy-disk-num,.toh-rulefig-disk-num{fill:var(--color-body);font-size:8px;font-weight:700}.toh-anatomy [data-lit=true] .toh-anatomy-disk{fill:var(--color-brand-wash);stroke:var(--color-brand)}.toh-anatomy [data-lit=true] .toh-anatomy-disk-num{fill:var(--color-brand-strong)}.toh-anatomy-peg-label{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-prose .toh-anatomy-caption,.toh-prose .toh-rulefig-step{color:var(--color-body);margin-top:.625rem;font-size:.875rem;line-height:1.55}.toh-key{border-top:1px solid var(--color-hairline-soft);gap:.75rem;margin-top:1.25rem;padding-top:1.25rem;display:grid}.toh-key>div{gap:.125rem 1rem;display:grid}@media (width>=40rem){.toh-key>div{grid-template-columns:5.5rem 1fr;align-items:baseline}}.toh-key dt{color:var(--color-ink);font-size:.875rem;font-weight:700}.toh-key dd{color:var(--color-body);margin:0;font-size:.875rem;line-height:1.55}.toh-rulefig li{--verdict:var(--color-action)}.toh-rulefig li[data-ok=false]{--verdict:var(--color-danger)}.toh-rulefig [data-carried=true] .toh-rulefig-disk{fill:var(--verdict)}@supports (color:color-mix(in lab, red, red)){.toh-rulefig [data-carried=true] .toh-rulefig-disk{fill:color-mix(in srgb, var(--verdict) 12%, var(--color-surface))}}.toh-rulefig [data-carried=true] .toh-rulefig-disk{stroke:var(--verdict)}.toh-rulefig-arrow{fill:none;stroke:var(--verdict);stroke-width:2px;stroke-linecap:round}.toh-rulefig-head{fill:var(--verdict)}.toh-rulefig-badge{background-color:var(--verdict);border-radius:999px;align-items:center;gap:.25rem;margin-right:.4375rem;padding:.0625rem .5rem .0625rem .3125rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.toh-rulefig-badge{background-color:color-mix(in srgb, var(--verdict) 12%, transparent)}}.toh-rulefig-badge{color:var(--color-ink);vertical-align:.0625rem;font-size:.75rem;font-weight:700}.toh-rulefig-badge svg{fill:none;width:.875rem;height:.875rem;stroke:var(--verdict);stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.toh-learn-stage{max-width:30rem;margin-inline:auto}.toh-learn-stage .toh-board{max-width:100%}.toh-learn-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;min-height:2.5rem;margin-top:.75rem;display:flex}.toh-prose .toh-learn-readout{color:var(--color-ink);margin-top:0;font-size:.9375rem;font-weight:500}.toh-learn-done{display:none}.toh-learn-stage[data-solved=true] .toh-learn-done{display:block}.toh-prose .toh-learn-done{margin-top:.5rem;font-size:.9375rem}.toh-learn-transport{margin-top:.75rem}.toh-prose .toh-learn-steps{min-height:3.2em;color:var(--color-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-top:0;font-size:.9375rem;display:flex}.toh-learn-buttons{justify-content:center;gap:.5rem;margin-top:.5rem;display:flex}.toh-prose .toh-move-table th,.toh-prose .toh-move-table td{border-bottom:0;padding:.4375rem .75rem}.toh-timescale-scroll{overscroll-behavior-x:contain;overflow-x:auto}.toh-timescale-scroll:focus-visible{outline:2px solid var(--color-action);outline-offset:3px;border-radius:var(--radius-control)}.toh-timescale-svg{width:100%;min-width:34rem;height:auto;display:block}.toh-timescale-axis{stroke:var(--color-muted-soft);stroke-width:2px;stroke-linecap:round}.toh-timescale-band{fill:var(--color-brand-wash)}.toh-timescale-tick{stroke:var(--color-muted-soft);stroke-width:1.5px;stroke-linecap:round}.toh-timescale-tick[data-playable=true]{stroke:var(--color-brand)}.toh-timescale-stalk{stroke:var(--color-muted-soft);stroke-width:1.5px}.toh-timescale-dot{fill:var(--color-brand-strong)}.toh-timescale-count{fill:var(--color-ink);font-size:15px;font-weight:700}.toh-timescale-span{fill:var(--color-muted);font-size:12px;font-weight:500}.toh-prose .toh-glossary{border-top:1px solid var(--color-hairline-soft);margin-top:1.25rem}.toh-prose .toh-glossary dt{color:var(--color-ink);flex-wrap:wrap;align-items:baseline;gap:.5rem;padding-top:.875rem;font-size:1.0625rem;font-weight:600;display:flex}.toh-prose .toh-glossary dfn{scroll-margin-top:5rem;font-style:normal}.toh-glossary-said{color:var(--color-muted);font-size:.8125rem;font-weight:500}.toh-prose .toh-glossary dd{border-bottom:1px solid var(--color-hairline-soft);max-width:65ch;color:var(--color-body);margin:.25rem 0 0;padding-bottom:.875rem;font-size:.9375rem;line-height:1.65}.toh-prose a.toh-term,a.toh-term{color:inherit;text-decoration:underline dotted;-webkit-text-decoration-color:var(--color-muted);-webkit-text-decoration-color:var(--color-muted);text-decoration-color:var(--color-muted);text-underline-offset:.2em}.toh-prose a.toh-term:hover,a.toh-term:hover{text-decoration-style:solid;-webkit-text-decoration-color:var(--color-brand);-webkit-text-decoration-color:var(--color-brand);text-decoration-color:var(--color-brand)}.toh-prose .toh-glossary dfn:target{color:var(--color-brand-strong)}.toh-calls{border-top:1px solid var(--color-hairline-soft);margin-top:1.25rem}.toh-calls summary{cursor:pointer;color:var(--color-muted);padding-top:.875rem;font-size:.875rem;font-weight:600;list-style:none}.toh-calls summary::-webkit-details-marker{display:none}.toh-calls summary:after{content:" +";font-weight:700}.toh-calls[open] summary:after{content:" −"}.toh-calls ol{counter-reset:toh-call;margin:.75rem 0 0;padding:0 0 .5rem;list-style:none}.toh-calls li{padding:.1875rem 0;padding-left:calc(min(var(--call-depth,1) - 1, 6) * .875rem);flex-wrap:wrap;align-items:baseline;gap:.25rem .625rem;display:flex}.toh-calls li code{color:var(--color-ink);font-size:.8125rem}.toh-calls-note{color:var(--color-muted);font-size:.75rem}.toh-prose ol.toh-check{counter-reset:toh-check;margin-top:1.25rem;padding-inline-start:0;list-style:none}.toh-prose .toh-check>li{counter-increment:toh-check;margin-top:1rem;padding-left:2.125rem;position:relative}.toh-prose .toh-check>li:before{content:counter(toh-check);background-color:var(--color-brand-wash);width:1.5rem;height:1.5rem;color:var(--color-brand-strong);border-radius:999px;place-items:center;font-size:.8125rem;font-weight:700;display:grid;position:absolute;top:.0625rem;left:0}.toh-prose .toh-check-question{color:var(--color-ink);margin-top:0;margin-bottom:.375rem;font-weight:600}.toh-check-answer summary{cursor:pointer;color:var(--color-brand-strong);align-items:center;gap:.3125rem;font-size:.875rem;font-weight:600;list-style:none;display:inline-flex}.toh-check-answer summary::-webkit-details-marker{display:none}.toh-check-answer summary:after{content:"+";color:var(--color-muted);font-weight:700}.toh-check-answer[open] summary:after{content:"−"}.toh-prose .toh-check-answer>p{border-left:2px solid var(--color-hairline);max-width:65ch;color:var(--color-body);margin-top:.4375rem;padding-left:.75rem;font-size:.9375rem}.toh-faq{border-bottom:1px solid var(--color-hairline-soft)}.toh-faq summary{cursor:pointer;color:var(--color-ink);justify-content:space-between;align-items:baseline;gap:1rem;padding:.875rem 0;font-size:1.0625rem;font-weight:600;list-style:none;display:flex}.toh-faq summary::-webkit-details-marker{display:none}.toh-faq summary:after{content:"+";color:var(--color-muted-soft);flex-shrink:0;font-size:1.25rem;font-weight:400;line-height:1;transition:transform .15s}.toh-faq[open] summary:after{content:"−"}.toh-faq summary:hover{color:var(--color-brand-strong)}.toh-faq summary:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:var(--radius-control)}.toh-prose .toh-faq>p{max-width:65ch;color:var(--color-body);margin-top:0;padding-bottom:1rem}@media (prefers-reduced-motion:reduce){.toh-faq summary:after{transition:none}}.toh-crumbs ol{color:var(--color-muted);flex-wrap:wrap;align-items:baseline;row-gap:.25rem;font-size:.8125rem;display:flex}.toh-crumbs li+li:before{content:"/";color:var(--color-muted-soft);margin-inline:.5rem}.toh-crumbs a{transition:color .15s}.toh-crumbs a:hover{color:var(--color-ink);text-underline-offset:2px;text-decoration:underline}.toh-crumbs [aria-current=page]{color:var(--color-brand-strong);font-weight:600}.astro-code{--astro-code-foreground:var(--color-ink);--astro-code-background:var(--color-surface-soft);--astro-code-token-keyword:var(--color-brand-strong);--astro-code-token-comment:var(--color-muted);--astro-code-token-punctuation:var(--color-muted);--astro-code-token-string:var(--color-body);--astro-code-token-string-expression:var(--color-body);--astro-code-token-constant:var(--color-body);--astro-code-token-parameter:var(--color-body);--astro-code-token-function:var(--color-ink);--astro-code-token-link:var(--color-brand-strong)}.toh-code pre,.toh-prose pre.astro-code{border:1px solid var(--color-hairline-soft);border-radius:var(--radius-control);font-family:var(--font-code);tab-size:4;margin:0;padding-block:.875rem;font-size:.8125rem;line-height:1.7;overflow-x:auto}.toh-code pre code,.toh-prose pre.astro-code code{min-width:max-content;color:inherit;font-size:inherit;overflow-wrap:normal;background:0 0;border:0;border-radius:0;padding:0;display:grid}.toh-code .line,.toh-prose pre.astro-code .line{min-height:1.7em;padding-inline:1rem 1.25rem}.toh-code[data-numbered=true] code{counter-reset:line}.toh-code[data-numbered=true] .line:before{counter-increment:line;content:counter(line);text-align:right;width:2ch;color:var(--color-muted-soft);-webkit-user-select:none;user-select:none;margin-right:1.5ch;display:inline-block}.toh-code .line[data-current=true]{background-color:#14532d21}@supports (color:color-mix(in lab, red, red)){.toh-code .line[data-current=true]{background-color:color-mix(in srgb, var(--color-action) 13%, transparent)}}.toh-code .line[data-current=true]{box-shadow:inset 2px 0 0 var(--color-action)}.toh-code .toh-code-title{font-family:var(--font-code);color:var(--color-muted);margin:0 0 .375rem;font-size:.75rem;font-weight:600}.toh-code-body{position:relative}.toh-code-actions{z-index:1;background:linear-gradient(to right, transparent 0, var(--color-surface-soft) 2rem);border-start-end-radius:var(--radius-control);align-items:center;gap:.25rem;height:2.25rem;padding-inline:2rem .5rem;display:flex;position:absolute;top:1px;right:1px}.toh-code .toh-code-action{border:1px solid var(--color-hairline-soft);border-radius:var(--radius-control);background-color:var(--color-surface-soft);width:1.75rem;height:1.75rem;color:var(--color-muted);cursor:pointer;place-items:center;text-decoration:none;transition:color .15s,border-color .15s;display:grid}.toh-code .toh-code-action>span{display:contents}.toh-code .toh-code-action:hover{border-color:var(--color-hairline);color:var(--color-ink)}.toh-code .toh-code-action:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.toh-code .toh-code-action[data-state=copied]{color:var(--color-action)}.toh-code-body .line:first-child{padding-inline-end:3.5rem}.toh-code-body[data-actions="2"] .line:first-child{padding-inline-end:5.5rem}.toh-trace{container-type:inline-size}.toh-trace-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""side";gap:1.25rem;display:grid}.toh-trace-stage{grid-area:stage;min-width:0}.toh-trace-side{grid-area:side;align-content:start;gap:1.25rem;min-width:0;display:grid}.toh-trace-code,.toh-trace-stack,.toh-trace-moves{min-width:0}.toh-trace-stage .toh-trace-stack{margin-top:1.25rem}@container (width>=40rem){.toh-trace-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"side stage";align-items:start}.toh-trace-grid .toh-trace-now{display:none}}.toh-trace-stage .toh-board{max-width:100%}.toh-trace-caption{min-height:4.65em;color:var(--color-ink);margin-top:.875rem;font-size:.9375rem;line-height:1.55}.toh-trace-now{border-radius:var(--radius-control);background-color:var(--color-surface-soft);white-space:pre;align-items:baseline;gap:.75rem;min-height:2.125rem;margin-top:.5rem;padding:.375rem .75rem;display:flex;overflow-x:auto}.toh-trace-now-num{color:var(--color-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.75rem;font-weight:600}.toh-trace-now-code{font-family:var(--font-code);color:var(--color-ink);font-size:.8125rem}.toh-trace .toh-scrub{margin-top:.75rem}.toh-trace-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.25rem;display:flex}.toh-trace-count{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.875rem}.toh-trace-buttons{gap:.5rem;display:flex}.toh-trace-running{margin-bottom:.875rem}.toh-trace-call{font-family:var(--font-code);color:var(--color-ink);font-size:1.25rem;font-weight:700;line-height:1.35}.toh-trace-gloss{color:var(--color-muted);margin-top:.125rem;font-size:.875rem}.toh-trace-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:.75rem;display:flex}.toh-trace-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.toh-trace-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:.75rem;font-weight:600}.toh-trace-readout{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.toh-trace-hint{color:var(--color-muted);margin-top:.375rem;font-size:.75rem}.toh-trace-moves .toh-move-table{max-height:19rem;margin-top:.375rem}.toh-trace-stack ol{min-height:calc(var(--rows,4) * 2.25rem);align-content:start;gap:.25rem;margin-top:.5rem;padding:0;list-style:none;display:grid}.toh-trace-stack li{border:1px solid var(--color-hairline-soft);border-radius:var(--radius-control);font-family:var(--font-code);color:var(--color-muted);white-space:nowrap;padding:.3125rem .75rem;font-size:.8125rem;overflow-x:auto}.toh-trace-stack li[data-top=true]{border-color:#14532d73}@supports (color:color-mix(in lab, red, red)){.toh-trace-stack li[data-top=true]{border-color:color-mix(in srgb, var(--color-action) 45%, transparent)}}.toh-trace-stack li[data-top=true]{background-color:#14532d1a}@supports (color:color-mix(in lab, red, red)){.toh-trace-stack li[data-top=true]{background-color:color-mix(in srgb, var(--color-action) 10%, transparent)}}.toh-trace-stack li[data-top=true]{color:var(--color-ink);font-weight:600}.toh-trace-stack li.toh-trace-empty{border-style:dashed;font-family:inherit}.toh-trace-role{letter-spacing:0;color:var(--color-muted);margin-left:.3em;font-size:.75rem;font-weight:500}.toh-prose .toh-trace ol{padding-left:0;list-style:none}.toh-prose .toh-trace li+li{margin-top:0}.toh-player{max-width:34rem;margin-inline:auto}.toh-player .toh-board{max-width:100%}.toh-player-sizes{justify-content:center;margin-bottom:1rem}.toh-player-readout{min-height:3.2em;color:var(--color-ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-top:.875rem;font-size:.9375rem;display:flex}.toh-prose .toh-player-readout{margin-top:.875rem}.toh-player-count{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.875rem}.toh-player .toh-scrub{margin-top:.25rem}.toh-player-buttons{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.toh-player-speed{margin-left:.5rem}.toh-player-table{margin-top:1.25rem}.toh-bits-svg{width:100%;max-width:24rem;height:auto;margin-inline:auto;display:block}.toh-bits-cell{fill:var(--color-surface-sunk);stroke:var(--color-hairline);stroke-width:1px}.toh-bits-cell[data-lit=true]{fill:var(--color-brand-wash);stroke:var(--color-brand)}.toh-bits-bit{fill:var(--color-muted);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.toh-bits-bit[data-one="1"]{fill:var(--color-body)}.toh-bits-bit[data-lit=true]{fill:var(--color-brand-strong);font-weight:700}.toh-bits-head{fill:var(--color-ink);font-size:11px;font-weight:700}.toh-bits-subhead{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-bits-move{fill:var(--color-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.toh-bits-disk{fill:var(--color-body);font-size:12px;font-weight:600}.toh-bits-mirror{fill:none;stroke:var(--color-brand);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.toh-circuit{grid-template-columns:1fr;gap:1.5rem;display:grid}.toh-prose ol.toh-circuit{margin-top:0;padding-inline-start:0;list-style:none}.toh-prose .toh-circuit li+li{margin-top:0}@media (width>=34rem){.toh-circuit{grid-template-columns:repeat(2,1fr);column-gap:2rem}}.toh-prose .toh-circuit-head{margin-top:0;margin-bottom:.5rem}.toh-circuit-parity,.toh-circuit-route{display:block}.toh-circuit-parity{color:var(--color-ink);font-size:.9375rem;font-weight:600}.toh-circuit-route{color:var(--color-brand-strong);font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:700}.toh-circuit-svg{width:100%;max-width:15rem;height:auto;margin-inline:auto;display:block}.toh-circuit-node{fill:var(--color-surface-sunk);stroke:var(--color-hairline);stroke-width:1px}.toh-circuit-label{fill:var(--color-ink);font-size:15px;font-weight:700}.toh-circuit-arrow{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.toh-circuit-head-mark{fill:var(--color-brand)}.toh-prose .toh-circuit-step{color:var(--color-body);margin-top:.5rem;font-size:.875rem;line-height:1.55}.toh-cycle-arrow{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.toh-cycle-head{fill:var(--color-brand)}.toh-cycle-arrow[data-used=false],.toh-cycle-head[data-used=false]{stroke:var(--color-hairline);fill:none}.toh-cycle-head[data-used=false]{fill:var(--color-hairline);stroke:none}.toh-induction{grid-template-columns:1fr;gap:1.5rem;display:grid}.toh-prose ol.toh-induction{margin-top:0;padding-inline-start:0;list-style:none}.toh-prose .toh-induction li+li{margin-top:0}@media (width>=46rem){.toh-induction{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.toh-prose .toh-induction-head{margin-top:0;margin-bottom:.625rem}.toh-induction-badge,.toh-induction-claim{display:block}.toh-induction-badge{border-radius:var(--radius-control);background-color:var(--color-surface-sunk);width:fit-content;color:var(--color-body);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.3125rem;padding:.125rem .4375rem;font-size:.6875rem;font-weight:700}.toh-induction-badge[data-proved=true]{background-color:var(--color-brand-wash);color:var(--color-brand-strong)}.toh-induction-claim{color:var(--color-body);font-size:.875rem}.toh-induction-svg{width:100%;height:auto;display:block}.toh-induction-peg{fill:var(--color-hairline)}.toh-induction-disk{fill:var(--color-surface-sunk);stroke:var(--color-hairline);stroke-width:1px}.toh-induction-disk[data-lit=true]{fill:var(--color-brand-wash);stroke:var(--color-brand)}.toh-induction-arrow{fill:none;stroke:var(--color-brand);stroke-width:2px;stroke-linecap:round}.toh-induction-head-mark{fill:var(--color-brand)}.toh-induction-tag{fill:var(--color-brand-strong);font-size:12px;font-weight:700}.toh-prose .toh-induction-step{color:var(--color-body);margin-top:.5rem;font-size:.875rem;line-height:1.55}.toh-depth-scroll{overscroll-behavior-x:contain;overflow-x:auto}.toh-depth-scroll:focus-visible{outline:2px solid var(--color-action);outline-offset:3px;border-radius:var(--radius-control)}.toh-depth-svg{width:max(30rem,100%);height:auto;display:block}.toh-depth-grid{stroke:var(--color-hairline);stroke-width:1px}.toh-depth-ceiling{stroke:var(--color-brand);stroke-width:1.5px;stroke-dasharray:4 4}.toh-depth-area{fill:var(--color-brand-wash);stroke:var(--color-brand);stroke-width:2px;stroke-linejoin:round}.toh-depth-tick{stroke:var(--color-hairline);stroke-width:1.5px}.toh-depth-axis{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-depth-note{fill:var(--color-brand-strong);font-size:11px;font-weight:700}.toh-tree-scroll{overscroll-behavior-x:contain;overflow-x:auto}.toh-tree-scroll:focus-visible{outline:2px solid var(--color-action);outline-offset:3px;border-radius:var(--radius-control)}.toh-tree-svg{width:calc(max(34rem, 100%) * var(--tree-span,1));height:auto;display:block}.toh-tree-edge{stroke:var(--color-muted-soft);stroke-width:1.5px}.toh-tree-drop{stroke:var(--color-hairline);stroke-width:1px;stroke-dasharray:2 4}.toh-tree-node{fill:var(--color-surface-sunk);stroke:var(--color-muted-soft);stroke-width:1px}.toh-tree-n{fill:var(--color-muted);font-size:11px;font-weight:600}.toh-tree-move{fill:var(--color-ink);font-size:15px;font-weight:700}.toh-tree-badge{fill:var(--color-brand-wash);stroke:var(--color-brand);stroke-width:1.25px}.toh-tree-badge-num{fill:var(--color-brand-strong);font-size:11px;font-weight:700}.toh-tree-node,.toh-tree-badge,.toh-tree-badge-num{transition:fill .15s,stroke .15s}.toh-tree-call[data-state=waiting] .toh-tree-node{stroke:var(--color-action);stroke-width:1.5px}.toh-tree-call[data-state=running] .toh-tree-node{fill:#ccd1c2}@supports (color:color-mix(in lab, red, red)){.toh-tree-call[data-state=running] .toh-tree-node{fill:color-mix(in srgb, var(--color-action) 16%, var(--color-surface-sunk))}}.toh-tree-call[data-state=running] .toh-tree-node{stroke:var(--color-action);stroke-width:2px}.toh-tree-call[data-state=running] .toh-tree-n{fill:var(--color-ink)}.toh-tree-step[data-made=true] .toh-tree-badge{fill:var(--color-brand-strong);stroke:var(--color-brand-strong)}.toh-tree-step[data-made=true] .toh-tree-badge-num{fill:var(--color-surface)}@media (prefers-reduced-motion:reduce){.toh-tree-node,.toh-tree-badge,.toh-tree-badge-num{transition:none}}:root{--font-code:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}.toh-equation{border-left:2px solid var(--color-brand);background-color:var(--color-surface-soft);font-variant-numeric:tabular-nums;color:var(--color-ink);gap:.375rem;padding:.875rem 1.25rem;font-size:1.0625rem;display:grid;overflow-x:auto}.toh-equation>span{white-space:nowrap}.toh-equation .toh-equation-note{color:var(--color-muted);white-space:normal;font-size:.875rem}.toh-prose ul.toh-link-list{border-top:1px solid var(--color-hairline-soft);padding-left:0;list-style:none}.toh-prose .toh-link-list li{border-bottom:1px solid var(--color-hairline-soft);margin-top:0;padding-block:.75rem}.toh-prose .toh-link-list a{font-weight:600}.toh-link-list .toh-link-note{color:var(--color-body);margin-top:.125rem;font-size:.9375rem;line-height:1.55;display:block}.toh-callout{border:1px solid var(--color-hairline);border-left:3px solid var(--color-brand);border-radius:var(--radius-control);background-color:var(--color-surface);padding:1rem 1.25rem}.toh-prose .toh-callout>*+*{margin-top:.5rem}.toh-prose .toh-callout-title{color:var(--color-ink);font-weight:700}.toh-legend-facts{border-top:1px solid var(--color-hairline-soft);gap:.875rem 1.5rem;margin-top:1.25rem;padding-top:1rem;display:grid}@media (width>=40rem){.toh-legend-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.toh-legend-facts dt{color:var(--color-muted);font-size:.875rem}.toh-legend-facts dd{color:var(--color-ink);overflow-wrap:anywhere;margin-top:.125rem;font-size:1.125rem;font-weight:600}.toh-legend-note{color:var(--color-muted);margin-top:1rem;font-size:.875rem}.toh-readout{border-top:1px solid var(--color-hairline-soft);margin-top:1rem;padding-top:1rem}.toh-readout-scroll{overflow-x:auto}.toh-prose table.toh-readout-table,.toh-readout-table{border-collapse:collapse;width:auto;margin-inline:auto;font-size:.9375rem}.toh-prose .toh-readout-table th,.toh-prose .toh-readout-table td,.toh-readout-table th,.toh-readout-table td{border-bottom:1px solid var(--color-hairline-soft);text-align:center;padding:.375rem .625rem}.toh-prose .toh-readout-table th[scope=row],.toh-readout-table th[scope=row]{text-align:left;color:var(--color-muted);white-space:nowrap;padding-left:0;font-weight:500}.toh-readout-table thead th{color:var(--color-muted);font-size:.75rem;font-weight:600}.toh-readout-table td{min-width:2.25rem;font-family:var(--font-code);color:var(--color-body);font-variant-numeric:tabular-nums}.toh-readout-table td[data-flip=true]{background-color:#14532d21}@supports (color:color-mix(in lab, red, red)){.toh-readout-table td[data-flip=true]{background-color:color-mix(in srgb, var(--color-action) 13%, transparent)}}.toh-readout-table td[data-flip=true]{box-shadow:inset 0 -2px 0 var(--color-action);color:var(--color-ink);font-weight:700}.toh-readout-said{min-height:4.65em;color:var(--color-body);margin-top:.75rem;font-size:.9375rem;line-height:1.55}.toh-prose .toh-readout-said{margin-top:.75rem}.toh-langbar{border-bottom:1px solid var(--color-hairline);background-color:var(--color-canvas)}.toh-langbar ul{overscroll-behavior-x:contain;scrollbar-width:none;background:linear-gradient(to right, var(--color-canvas) 40%, transparent) 0 0 / 2.5rem calc(100% - 1px) no-repeat local, linear-gradient(to left, var(--color-canvas) 40%, transparent) 100% 0 / 2.5rem calc(100% - 1px) no-repeat local, radial-gradient(farthest-side at 0 50%, var(--color-panel-fade), transparent) 0 0 / 1.125rem calc(100% - 1px) no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--color-panel-fade), transparent) 100% 0 / 1.125rem calc(100% - 1px) no-repeat scroll;flex-wrap:nowrap;column-gap:.125rem;margin-bottom:-1px;display:flex;overflow-x:auto}.toh-langbar ul::-webkit-scrollbar{display:none}.toh-langbar a{color:var(--color-muted);white-space:nowrap;border-bottom:2px solid #0000;padding:.5rem .625rem;font-size:.875rem;font-weight:500;transition:color .15s;display:block}@media (width>=640px){.toh-langbar a{padding:.6875rem .75rem}}.toh-langbar a:hover{color:var(--color-ink)}.toh-langbar a[aria-current=page]{border-bottom-color:var(--color-brand-strong);color:var(--color-brand-strong);font-weight:600}@media (prefers-reduced-motion:reduce){.toh-langbar a{transition:none}}.toh-indexed{grid-template-columns:minmax(0,1fr);gap:1.25rem;display:grid}.toh-index-rail{display:none}@media (width>=1024px){.toh-indexed{grid-template-columns:13rem minmax(0,1fr);align-items:start;column-gap:3rem}.toh-index-rail{top:calc(var(--nav-h) + 1.5rem);max-height:calc(100dvh - var(--nav-h) - 3rem);overscroll-behavior:contain;display:block;position:sticky;overflow-y:auto}html[data-nav=hidden] .toh-index-rail{max-height:calc(100dvh - 4rem);top:2rem}@media (prefers-reduced-motion:no-preference){.toh-index-rail{transition:top .2s}}.toh-index-details{display:none}}.toh-index-title{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:600}.toh-index-rail ol{border-left:1px solid var(--color-hairline);margin-top:.75rem;list-style:none}.toh-index-rail a{color:var(--color-muted);border-left:2px solid #0000;margin-left:-1px;padding:.3125rem 0 .3125rem .875rem;font-size:.875rem;line-height:1.45;display:block}.toh-index-rail a:hover{color:var(--color-ink)}.toh-index-rail a[aria-current=location]{border-left-color:var(--color-brand-strong);color:var(--color-brand-strong);font-weight:600}.toh-index-details{border-block:1px solid var(--color-hairline-soft)}.toh-index-details>summary{color:var(--color-ink);cursor:pointer;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.toh-index-details>summary::-webkit-details-marker{display:none}.toh-index-details>summary:after{content:"+";color:var(--color-muted-soft);flex-shrink:0;font-size:1.25rem;font-weight:400;line-height:1}.toh-index-details[open]>summary:after{content:"−"}.toh-index-details>summary:hover{color:var(--color-brand-strong)}.toh-index-details>summary:focus-visible{border-radius:var(--radius-control);outline:2px solid var(--color-brand);outline-offset:2px}.toh-index-details ol{padding-bottom:.75rem;list-style:none}.toh-index-details a{color:var(--color-body);padding:.375rem 0;font-size:.9375rem;line-height:1.45;display:block}.toh-indexed-body :is(h2,h3)[id],.toh-indexed-body [id]:is(section,.panel){scroll-margin-top:1.5rem}html:not([data-nav]) .toh-indexed-body :is(h2,h3)[id],html:not([data-nav]) .toh-indexed-body [id]:is(section,.panel){scroll-margin-top:calc(var(--nav-h) + 1.5rem)}.toh-indexed-body>.toh-prose:first-child>h2:first-child{margin-top:0}.toh-worksheet{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background:var(--color-surface);padding:1.5rem}.toh-worksheet h3{color:var(--color-ink);margin:0;font-size:1rem;font-weight:700}.toh-worksheet-task{border-top:1px solid var(--color-hairline-soft);margin-top:1.25rem;padding-top:1.25rem}.toh-rule-line{border-bottom:1px solid var(--color-hairline);height:1.45rem}.toh-rule-line+.toh-rule-line{margin-top:.55rem}.toh-worksheet table{border-collapse:collapse;width:100%;font-size:.875rem}.toh-worksheet :is(th,td){border:1px solid var(--color-hairline);text-align:left;padding:.3rem .5rem}.toh-worksheet th{background:var(--color-surface-soft);color:var(--color-body);font-weight:600}.toh-worksheet td{height:1.6rem}@media print{:root,:root[data-theme=dark]{--color-canvas:#fff;--color-surface:#fff;--color-surface-soft:#fff;--color-ink:#000;--color-body:#000;--color-muted:#333;--color-muted-soft:#555;--color-hairline:#999;--color-hairline-soft:#bbb}@page{size:auto;margin:12mm}body{background:#fff}body>div>header,body>div>footer,.toh-skip,.toh-index-rail,.toh-index-details,.toh-print-hide{display:none!important}.toh-worksheet{border:0;border-radius:0;padding:0}.toh-worksheet-task,.toh-worksheet table,.toh-worksheet figure{break-inside:avoid}:root[data-print=worksheet] .toh-teach-main>:not(#worksheet),:root[data-print=worksheet] .toh-teach-header{display:none!important}:root[data-print=worksheet] .toh-teach-main,:root[data-print=worksheet] .toh-teach-main>#worksheet,:root[data-print=worksheet] .toh-teach-main .toh-worksheet,:root[data-print=worksheet] main,:root[data-print=worksheet] .toh-indexed{margin:0!important;padding:0!important}:root[data-print=worksheet] .toh-worksheet{font-size:10pt;line-height:1.32}:root[data-print=worksheet] .toh-worksheet>header p{margin-top:2mm}:root[data-print=worksheet] .toh-worksheet :is(p,li){font-size:9.5pt}:root[data-print=worksheet] .toh-worksheet h3{font-size:11pt}:root[data-print=worksheet] .toh-worksheet table{font-size:9.5pt}:root[data-print=worksheet] .toh-worksheet td{height:4.9mm}:root[data-print=worksheet] .toh-rule-line{height:6.2mm}:root[data-print=worksheet] .toh-rule-line+.toh-rule-line{margin-top:1.6mm}:root[data-print=worksheet] .toh-worksheet-task{margin-top:3mm;padding-top:3mm}:root[data-print=worksheet] .toh-worksheet figure svg{max-width:96mm}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}
