@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Martian Mono;src:url(/fonts/martian-mono.woff2)format("woff2");font-weight:100 800;font-display:swap}:root{color-scheme:light;--paper:color-mix(in oklab, var(--field) 30%, #faf7f2);--paper-2:color-mix(in oklab, var(--field) 62%, #faf7f2);--ink:#1b1a22;--ink-2:#575463;--line:color-mix(in oklab, var(--field-ink) 22%, var(--paper));--cast:color-mix(in oklab, var(--field-ink) 20%, var(--paper));--floor:var(--paper-2);--floor-cast:var(--cast);--on-floor:var(--ink);--on-floor-2:var(--ink-2);--ring:#2e33d1;--act:color-mix(in oklab, var(--accent) 24%, #15141b);--act-edge:color-mix(in oklab, var(--accent) 48%, #15141b);--scene:#eeece7;--field:#c9c6eb;--field-ink:#181935;--accent:#2e33d1;--accent-cast:#242889;--on-accent:#fff;--font:"Bricolage Grotesque", ui-rounded, system-ui, sans-serif;--mono:"Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;--step--1:clamp(.8125rem, .79rem + .1vw, .875rem);--step-0:clamp(1rem, .97rem + .15vw, 1.0625rem);--step-1:clamp(1.1875rem, 1.12rem + .3vw, 1.375rem);--step-2:clamp(1.5rem, 1.33rem + .8vw, 2rem);--step-3:clamp(1.875rem, 1.5rem + 1.7vw, 3rem);--step-4:clamp(2.25rem, 1.3rem + 4.2vw, 4.75rem);--mono-size:clamp(.75rem, .73rem + .08vw, .8125rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:clamp(4.5rem, 3rem + 6vw, 8rem);--gutter:clamp(1rem, .4rem + 3vw, 3.5rem);--measure:62ch;--wide:78rem;--pebble-a:22px 34px 20px 36px / 24px 26px 30px 28px;--pebble-b:34px 22px 36px 20px / 26px 28px 24px 26px;--pebble-c:28px 20px 34px 24px / 32px 22px 30px 20px;--card-radius:26px;--lift:5px;--spring-press:linear(0, .07, .235, .44, .645, .822, .959, 1.052, 1.105, 1.125, 1.122, 1.104, 1.079, 1.053, 1.029, 1.01, .997, .988, .985, .984, .986, .989, .992, .995, .998, 1, 1.001, 1.002, 1);--spring-press-time:.575s;--spring-settle:linear(0, .059, .199, .377, .559, .724, .86, .962, 1.032, 1.074, 1.092, 1.094, 1.085, 1.07, 1.052, 1.036, 1.021, 1.009, 1.001, .995, .992, .991, .991, .992, .994, .996, .997, .998, 1);--spring-settle-time:.626s;--spring-select:linear(0, .043, .148, .284, .429, .567, .691, .796, .879, .942, .988, 1.018, 1.035, 1.044, 1.046, 1.044, 1.038, 1.032, 1.025, 1.019, 1.014, 1.009, 1.005, 1.002, 1, .999, .998, .998, 1);--spring-select-time:.509s;--spring-flip:linear(0, .032, .109, .211, .323, .434, .539, .633, .715, .785, .842, .888, .924, .952, .972, .987, .997, 1.004, 1.008, 1.01, 1.011, 1.011, 1.01, 1.009, 1.008, 1.007, 1.005, 1.004, 1);--spring-flip-time:.507s;--fade:.12s;--stagger:35ms}[data-kind=jelly]{--field:#c9c6eb;--field-ink:#181935;--accent:#2e33d1;--accent-cast:#242889}[data-kind=caillou]{--field:#e2d9ee;--field-ink:#2a2234;--accent:#8a58bc;--accent-cast:#552f79}[data-kind=tiggy]{--field:#dbe6bd;--field-ink:#372016;--accent:#c24e00;--accent-cast:#812a00}[data-kind=melow]{--field:#c9eef5;--field-ink:#152c36;--accent:#258343;--accent-cast:#065424}[data-kind=sprig]{--field:#fddabd;--field-ink:#172c20;--accent:#bd5223;--accent-cast:#803009}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--space-7);scroll-padding-bottom:5rem}body{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--step-0);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:400;line-height:1.55;transition:background-color .24s linear;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1.06}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);letter-spacing:-.01em;line-height:1.2}p{text-wrap:pretty;max-width:var(--measure)}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.14em}button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:6px}html{scrollbar-color:var(--cast) var(--paper);caret-color:var(--accent)}hr{height:1px;color:var(--line);background:currentColor;border:0}.mono{font-family:var(--mono);font-size:var(--mono-size);letter-spacing:.01em;font-variant-numeric:tabular-nums;font-weight:400;line-height:1.6}.lede{font-size:var(--step-1);line-height:1.35}.quiet{color:var(--ink-2)}.wrap{width:min(100% - 2 * var(--gutter), var(--wide));margin-inline:auto}.section{padding-block:var(--space-9)}.stack>*+*{margin-top:var(--space-4)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--gutter);background:var(--ink);color:var(--paper);padding:var(--space-2) var(--space-4);z-index:50;border-radius:12px;position:absolute;top:-4rem}.skip:focus{top:var(--space-3)}.card{background:var(--field);color:var(--field-ink);border-radius:var(--card-radius);box-shadow:0 var(--lift) 0 var(--cast);position:relative}.card__n{font-family:var(--mono);font-size:var(--mono-size);font-variant-numeric:tabular-nums;font-weight:500}.pebble{justify-content:center;align-items:center;gap:var(--space-2);background:var(--act);color:#fff;min-height:3.25rem;font-size:var(--step-1);border-radius:var(--pebble-a);box-shadow:0 var(--lift) 0 var(--act-edge);cursor:pointer;transition:transform var(--spring-press-time) var(--spring-press), box-shadow var(--spring-press-time) var(--spring-press), background-color .24s linear;border:0;padding:.75rem 1.75rem;font-weight:500;line-height:1.1;text-decoration:none;display:inline-flex}.pebble--quiet{background:var(--paper-2);color:var(--ink);box-shadow:0 var(--lift) 0 var(--cast);font-size:var(--step-0);border-radius:var(--pebble-b);min-height:2.75rem;padding:.5rem 1.1rem}.pebble:active{box-shadow:0 2px 0 var(--act-edge);transform:translateY(3px)scale(1.03,.94)}.pebble--quiet:active{box-shadow:0 2px 0 var(--cast)}.pebble[aria-disabled=true],.pebble--off{background:var(--paper-2);color:var(--ink-2);box-shadow:0 var(--lift) 0 var(--cast);cursor:default}.pebble--off:active{box-shadow:0 var(--lift) 0 var(--cast);transform:none}@media (hover:hover) and (pointer:fine){.pebble:not([aria-disabled=true],.pebble--off):hover{box-shadow:0 calc(var(--lift) + 2px) 0 var(--act-edge);transform:translateY(-2px)}.pebble--quiet:not([aria-disabled=true],.pebble--off):hover{box-shadow:0 calc(var(--lift) + 2px) 0 var(--cast)}.pebble:not([aria-disabled=true],.pebble--off):active{transform:translateY(3px)scale(1.03,.94)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.top[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--space-5);padding-block:var(--space-4);z-index:5;display:flex;position:relative}.top__name[data-astro-cid-nen7h5rs]{font-size:var(--step-1);letter-spacing:-.02em;padding-block:var(--space-2);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;display:inline-flex}ul[data-astro-cid-nen7h5rs]{align-items:center;gap:clamp(.75rem,2vw,2rem);display:flex}a[data-astro-cid-nen7h5rs]{padding:var(--space-3) 0;text-decoration:none;display:inline-block}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-size:var(--step-0)}@media (hover:hover) and (pointer:fine){nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.top__name[data-astro-cid-nen7h5rs]:hover{text-decoration:underline .1em}}@media (width<=40rem){.top__anchor[data-astro-cid-nen7h5rs]{display:none}}.foot[data-astro-cid-jo6i4kqk]{margin-top:var(--space-8);background:var(--floor);color:var(--on-floor);padding-block:var(--space-7) calc(var(--space-9) + env(safe-area-inset-bottom));border-top:0;position:relative}.foot__wibble[data-astro-cid-jo6i4kqk]{--w:clamp(4.75rem, 9vw, 7.5rem);right:var(--gutter);bottom:calc(100% - var(--w) * .15);width:var(--w);aspect-ratio:180/252;object-fit:contain;pointer-events:none;height:auto;position:absolute}.foot__in[data-astro-cid-jo6i4kqk]{gap:var(--space-5);display:grid}.foot__links[data-astro-cid-jo6i4kqk]{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.foot__links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{padding-block:var(--space-3);display:inline-block}.foot__mail[data-astro-cid-jo6i4kqk]{font-size:var(--step-2);letter-spacing:-.02em;font-weight:500}.foot__mail[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{overflow-wrap:anywhere;text-decoration:none}.foot__small[data-astro-cid-jo6i4kqk]{font-size:var(--step--1);gap:var(--space-1);color:var(--on-floor-2);display:grid}@media (hover:hover) and (pointer:fine){.foot__mail[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline .06em}}
