:root{--background:light-dark(oklch(97.6% .004 265),oklch(18.5% .018 265));--surface:light-dark(oklch(99.5% .002 265),oklch(22.8% .02 265));--muted:light-dark(oklch(94.5% .006 265),oklch(26.8% .021 265));--border:light-dark(oklch(89.5% .008 265),oklch(32.5% .022 265));--border-strong:light-dark(oklch(62% .022 265),oklch(55% .025 265));--muted-foreground:light-dark(oklch(54.5% .021 265),oklch(68.5% .018 265));--foreground:light-dark(oklch(41.5% .028 265),oklch(88.5% .02 265));--heading:light-dark(oklch(26.5% .033 265),oklch(96.5% .01 265));--primary:oklch(75% .15 152);--primary-foreground:oklch(21% .02 152);--accent:light-dark(oklch(55% .16 285),oklch(78% .13 285));--ring:var(--accent);--space-3xs:clamp(.25rem, .2396rem + .0521vw, .2813rem);--space-2xs:clamp(.5rem, .4792rem + .1042vw, .5625rem);--space-xs:clamp(.75rem, .7188rem + .1563vw, .8438rem);--space-s:clamp(1rem, .9583rem + .2083vw, 1.125rem);--space-m:clamp(1.5rem, 1.4375rem + .3125vw, 1.6875rem);--space-l:clamp(2rem, 1.9167rem + .4167vw, 2.25rem);--space-xl:clamp(3rem, 2.875rem + .625vw, 3.375rem);--space-2xl:clamp(4rem, 3.8333rem + .8333vw, 4.5rem);--space-3xl:clamp(6rem, 5.75rem + 1.25vw, 6.75rem);--step--1:clamp(.8333rem, .8111rem + .1111vw, .9rem);--step-0:clamp(1rem, .9583rem + .2083vw, 1.125rem);--step-1:clamp(1.2rem, 1.1312rem + .3438vw, 1.4063rem);--step-2:clamp(1.44rem, 1.3341rem + .5297vw, 1.7578rem);--step-3:clamp(1.728rem, 1.5716rem + .7821vw, 2.1973rem);--step-4:clamp(2.0736rem, 1.8493rem + 1.1216vw, 2.7466rem);--step-5:clamp(2.4883rem, 2.1734rem + 1.5748vw, 3.4332rem);--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:44rem;--page-max:72rem;--radius:.75rem;--motion:.18s;--ease:cubic-bezier(.4, 0, .2, 1);color-scheme:light dark}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-block-start:var(--space-2xl)}body{background-color:var(--background);min-height:100svh;color:var(--foreground);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-wrap:pretty;flex-direction:column;line-height:1.65;display:flex}img,picture,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}:is(h1,h2,h3,h4,h5,h6){color:var(--heading);text-wrap:balance;font-weight:600;line-height:1.2}h1{font-size:var(--step-4);letter-spacing:-.02em}h2{font-size:var(--step-2);letter-spacing:-.01em}h3{font-size:var(--step-1)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:max(1px,.0625em)}:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:2px}::selection{background-color:var(--accent);color:var(--background)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}hr{border:none;border-block-start:1px solid var(--border);margin-block:var(--space-l)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{width:100%;max-width:var(--page-max);padding-inline:var(--space-m);padding-block:var(--space-xl) var(--space-2xl);flex:1;margin-inline:auto}.page--prose{max-width:calc(var(--measure) + 2 * var(--space-m))}.stack>*+*{margin-block-start:var(--flow,var(--space-s))}.section+.section{margin-block-start:var(--space-2xl)}.section__heading{font-size:var(--step-3);margin-block-end:var(--space-s)}.section__lead{color:var(--muted-foreground);max-width:var(--measure);margin-block-end:var(--space-m)}.eyebrow{font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);font-weight:600}.nav{z-index:50;background-color:color-mix(in oklab, var(--background) 82%, transparent);backdrop-filter:blur(10px);border-block-end:1px solid var(--border);position:sticky;top:0}.nav__inner{max-width:var(--page-max);padding:var(--space-2xs) var(--space-m);align-items:center;gap:var(--space-s);margin-inline:auto;display:flex}.nav__logo{color:var(--heading);white-space:nowrap;margin-inline-end:auto;font-weight:650;text-decoration:none}.nav__list{align-items:center;gap:var(--space-3xs);padding:0;list-style:none;display:flex}.nav__link{padding:var(--space-3xs) var(--space-2xs);border-radius:calc(var(--radius) / 1.5);font-size:var(--step--1);color:var(--muted-foreground);transition:color var(--motion) var(--ease), background-color var(--motion) var(--ease);text-decoration:none;display:block}.nav__link:hover{color:var(--heading);background-color:var(--muted)}.nav__link[aria-current=page]{color:var(--heading);background-color:color-mix(in oklab, var(--accent) 14%, transparent);font-weight:600}.nav__toggle{border:1px solid var(--border-strong);border-radius:calc(var(--radius) / 1.5);padding:var(--space-3xs) var(--space-2xs);cursor:pointer;background:0 0;display:none}.theme-toggle{border:1px solid var(--border-strong);cursor:pointer;width:2rem;height:2rem;color:var(--muted-foreground);transition:color var(--motion) var(--ease), border-color var(--motion) var(--ease);background:0 0;border-radius:999px;place-items:center;display:grid}.theme-toggle:hover{color:var(--heading);border-color:var(--accent)}.theme-toggle svg{width:1rem;height:1rem}[data-theme=dark] .theme-toggle .icon-sun,:root:not([data-theme=light]) .theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-moon,:root:not([data-theme=light]) .theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:block}[data-theme=light] .theme-toggle .icon-moon{display:none}@media (width<48rem){.nav__toggle{display:block}.nav__list{inset-inline:0;padding:var(--space-2xs);background-color:var(--background);border-block-end:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%}.nav__list.is-open{display:flex}.nav__link{padding:var(--space-2xs) var(--space-xs);font-size:var(--step-0)}}.hero{padding-block:var(--space-2xl);border-block-end:1px solid var(--border)}.hero__inner{max-width:var(--page-max);padding-inline:var(--space-m);gap:var(--space-l);grid-template-columns:minmax(0,1fr);align-items:center;margin-inline:auto;display:grid}@media (width>=48rem){.hero__inner{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.hero__title{font-size:var(--step-5);letter-spacing:-.03em}.hero__title span{color:var(--accent)}.hero__intro{color:var(--muted-foreground);max-width:46ch;margin-block-start:var(--space-xs)}.hero__actions{gap:var(--space-2xs);flex-wrap:wrap;margin-block-start:var(--space-m);display:flex}.hero__portrait{border-radius:var(--radius);border:1px solid var(--border);aspect-ratio:4/5;object-fit:cover;justify-self:center;width:100%;max-width:20rem}.button{align-items:center;gap:var(--space-3xs);padding:var(--space-2xs) var(--space-s);font-size:var(--step--1);cursor:pointer;transition:transform var(--motion) var(--ease), background-color var(--motion) var(--ease), border-color var(--motion) var(--ease);border:1px solid #0000;border-radius:999px;font-weight:600;text-decoration:none;display:inline-flex}.button--primary{background-color:var(--primary);color:var(--primary-foreground)}.button--primary:hover{transform:translateY(-1px)}.button--ghost{border-color:var(--border-strong);color:var(--heading)}.button--ghost:hover{border-color:var(--accent);color:var(--accent)}.card-grid{gap:var(--space-s);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}.card{gap:var(--space-3xs);padding:var(--space-s);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--motion) var(--ease), transform var(--motion) var(--ease);flex-direction:column;text-decoration:none;display:flex}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card__title{font-size:var(--step-1)}.card__summary{color:var(--muted-foreground);font-size:var(--step--1)}.tag-list{gap:var(--space-3xs);flex-wrap:wrap;display:flex}.tag{font-size:var(--step--1);padding:0 var(--space-2xs);background-color:var(--muted);color:var(--muted-foreground);white-space:nowrap;border-radius:999px}.downloads{margin-block:var(--space-m);padding:var(--space-s);border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface)}.downloads__heading{font-size:var(--step-0);margin-block-end:var(--space-2xs)}.downloads__list{gap:1px;padding:0;list-style:none;display:grid}.download{align-items:center;gap:var(--space-2xs);padding:var(--space-2xs);border-radius:calc(var(--radius) / 1.5);transition:background-color var(--motion) var(--ease);text-decoration:none;display:flex}.download:hover{background-color:var(--muted)}.download:hover .download__label{color:var(--accent)}.download__icon{border-radius:calc(var(--radius) / 2);background-color:var(--muted);width:2rem;height:2rem;color:var(--muted-foreground);font-size:.625rem;font-family:var(--font-mono);text-transform:uppercase;flex-shrink:0;place-items:center;font-weight:700;display:grid}.download__icon--pdf{color:light-dark(oklch(50% .2 25),oklch(78% .15 25));background-color:oklab(60% .181262 .0845237/.18)}.download__icon--py,.download__icon--r{color:light-dark(oklch(50% .15 250),oklch(80% .12 250));background-color:oklab(65% -.051303 -.140954/.18)}.download__icon--zip{color:light-dark(oklch(52% .13 80),oklch(83% .13 80));background-color:oklab(75% .0260472 .147721/.2)}.download__text{min-width:0}.download__label{color:var(--heading);transition:color var(--motion) var(--ease);font-weight:550;display:block}.download__meta{font-size:var(--step--1);color:var(--muted-foreground)}.downloads__empty{color:var(--muted-foreground);font-size:var(--step--1)}.prose{max-width:var(--measure);line-height:1.75}.prose>*+*{margin-block-start:var(--space-s)}.prose :is(h2,h3){margin-block-start:var(--space-l)}.prose a{color:var(--accent);text-decoration:underline}.prose :is(ul,ol){gap:var(--space-3xs);padding-inline-start:1.25em;display:grid}.prose li::marker{color:var(--primary)}.prose blockquote{border-inline-start:3px solid var(--primary);color:var(--muted-foreground);padding-inline-start:var(--space-s)}.prose :not(pre)>code{background-color:var(--muted);border-radius:.3em;padding:.1em .35em}.prose pre{background-color:var(--muted);padding:var(--space-s);border-radius:var(--radius);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.prose :is(th,td){border:1px solid var(--border);padding:var(--space-3xs) var(--space-2xs);text-align:start}.prose :is(pre,table){max-width:100%}.table-scroll{overflow-x:auto}.detail__header{border-block-end:1px solid var(--border);margin-block-end:var(--space-m);padding-block-end:var(--space-s)}.detail__meta{color:var(--muted-foreground);font-size:var(--step--1);margin-block-end:var(--space-3xs)}.detail__title{font-size:var(--step-4)}.back-link{align-items:center;gap:var(--space-3xs);font-size:var(--step--1);color:var(--muted-foreground);margin-block-end:var(--space-s);text-decoration:none;display:inline-flex}.back-link:hover{color:var(--accent)}.experiment__title{font-size:var(--step-1);margin-block:var(--space-m) var(--space-2xs)}.attractor{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--surface);width:100%;min-height:20rem;overflow:hidden}.widget-grid{gap:var(--space-s);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.widget{min-width:0;overflow-x:auto}.footer{border-block-start:1px solid var(--border);padding-block:var(--space-m);color:var(--muted-foreground);font-size:var(--step--1)}.footer__inner{max-width:var(--page-max);padding-inline:var(--space-m);gap:var(--space-2xs) var(--space-s);flex-wrap:wrap;justify-content:space-between;margin-inline:auto;display:flex}.footer a{color:inherit}.footer a:hover{color:var(--accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2xs);left:var(--space-2xs);z-index:100;padding:var(--space-2xs) var(--space-s);border-radius:var(--radius);background-color:var(--primary);color:var(--primary-foreground);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}
