@layer reset{*,:before,:after{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}:is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:is(ul,ol){padding:0;list-style:none}a{color:inherit}:is(img,svg,video,canvas,audio,iframe){max-inline-size:100%;display:block}img{block-size:auto}:is(button,input,textarea,select){font:inherit;color:inherit;letter-spacing:inherit}:is(button,select){cursor:pointer;background:0 0;border:0}textarea{resize:vertical}:is(code,kbd,pre,samp){font-family:var(--font-mono)}[hidden]{display:none}}@layer tokens{:root{--color-bg:light-dark(#f3f4f6,#262626);--color-surface:light-dark(#fff,#171717);--color-text:light-dark(#262626,#e5e5e5);--color-text-muted:light-dark(#737373,#a3a3a3);--color-accent:#4ade80;--color-accent-strong:light-dark(#22c55e,#4ade80);--color-accent-soft:light-dark(#dcfce7,#404040);--color-line:light-dark(#0000001a,#ffffff26);--color-ok:light-dark(#15803d,#4ade80);--color-error:light-dark(#dc2626,#f87171);--color-info:light-dark(#0284c7,#38bdf8);--color-warning:light-dark(#854d0e,#fef9c3);--color-warning-soft:light-dark(#fef9c3,#713f12);--color-toggle:light-dark(#1e3a8a,#eab308);--color-toggle-bg:light-dark(#bfdbfe,#fef9c3);--color-toggle-shadow:light-dark(#93c5fd,#fde047);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.125rem;--radius-md:.5rem;--radius-lg:.75rem;--text-xs:.875rem;--text-sm:1rem;--text-base:1.25rem;--text-lg:1.5rem;--text-xl:1.875rem;--text-2xl:2.25rem;--text-3xl:3rem;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--measure:70ch}}@layer base{html{color-scheme:light}html.dark{color-scheme:dark}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}p{font-weight:300;line-height:1.625}a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 60%, transparent);text-underline-offset:4px;&:hover{text-decoration-color:var(--color-accent)}}:is(h1,h2,h3){letter-spacing:.025em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}}@layer layouts{.stack{--gap:var(--space-4);&>*+*{margin-block-start:var(--gap)}}.cluster{--gap:var(--space-2) var(--space-3);align-items:center;gap:var(--gap);flex-wrap:wrap;display:flex}.center{inline-size:min(100%, var(--measure));margin-inline:auto}.grid{--min:13em;gap:var(--space-3);grid-template-columns:repeat(auto-fit, minmax(min(var(--min), 100%), 1fr));display:grid}}@layer components{.btn{align-items:center;gap:var(--space-2);border:2px solid color-mix(in srgb, var(--color-accent) 50%, transparent);border-radius:var(--radius-sm);font:inherit;color:var(--color-text);cursor:pointer;background:0 0;padding:.45em 1.2em;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex;&:hover:not(:disabled){border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-strong)}&:disabled{cursor:not-allowed;opacity:.45}&[data-variant=ghost]{border:1px solid var(--color-line);padding:.45em .95em;&:hover:not(:disabled){border-color:var(--color-line);background:color-mix(in srgb, var(--color-text) 6%, transparent);color:inherit}}}.chip{border-radius:var(--radius-sm);background:var(--color-accent-soft);color:var(--color-accent-strong);padding:.1em .5em;display:inline-block;&[data-tone=muted]{background:color-mix(in srgb, var(--color-text) 10%, transparent);color:var(--color-text-muted)}&[data-tone=warning]{background:var(--color-warning-soft);color:var(--color-warning)}}.card{border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:1em 1.25em}.field{border-radius:var(--radius-sm);inline-size:100%;font:inherit;color:var(--color-text);background:color-mix(in srgb, var(--color-text) 10%, transparent);caret-color:var(--color-accent);border:1px solid #0000;padding:.6em .8em;display:block;&:focus{border-color:var(--color-accent);background:var(--color-surface);outline:none}}.label{font-size:var(--text-lg);letter-spacing:.025em;color:var(--color-accent);margin-block-end:var(--space-2);display:block}.kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75em;font-weight:600}.muted{color:var(--color-text-muted);font-size:.9em}.meter{background:color-mix(in srgb, var(--color-text) 8%, transparent);border-radius:99px;block-size:.5em;overflow:hidden;&>i{border-radius:inherit;background:var(--color-accent);block-size:100%;inline-size:0;transition:width .2s;display:block}}.status{&[data-kind=ok]{color:var(--color-ok)}&[data-kind=error]{color:var(--color-error)}}.notice{--gap:var(--space-2);border-radius:var(--radius-sm);padding:var(--space-4) 1.25rem;font-size:var(--text-sm);text-align:start;&[data-tone=ok]{border-block-start:4px solid var(--color-accent);background:var(--color-accent-soft);& strong{font-size:var(--text-base);color:var(--color-ok)}}&[data-tone=error]{border:1px solid var(--color-error);background:color-mix(in srgb, var(--color-error) 12%, transparent);color:var(--color-error);& span{display:block}}}@media (prefers-reduced-motion:reduce){.btn,.meter>i{transition:none}}}@layer utilities{[hidden]{display:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}.monogram[data-astro-cid-hh3mahcs]{inline-size:var(--monogram-size,10rem);block-size:var(--monogram-size,10rem)}.top[data-astro-cid-l4hhvzsy]{padding-block:var(--space-5);font-size:var(--text-lg);justify-content:space-between}.brand[data-astro-cid-l4hhvzsy]{--monogram-size:2rem;align-items:center;gap:var(--space-2);color:var(--color-accent);font-weight:600;text-decoration:none;display:inline-flex;&[data-home]{visibility:hidden}}.burger[data-astro-cid-l4hhvzsy]{border-radius:var(--radius-sm);padding:var(--space-2);color:var(--color-accent);cursor:pointer;background:0 0;&>svg[data-astro-cid-l4hhvzsy]{block-size:1.75rem;inline-size:1.75rem}}.menu[data-astro-cid-l4hhvzsy]{text-align:center;flex-direction:column;inline-size:100%;display:none;&[data-open]{display:flex}& a{border-radius:var(--radius-md);padding:var(--space-4) 1.25rem;color:var(--color-text-muted);border:2px solid #0000;text-decoration:none;&:hover{border-color:var(--color-accent-soft);color:var(--color-accent)}&[aria-current]{background:var(--color-accent-soft);color:var(--color-accent-strong)}}}@media (width>=40em){.top[data-astro-cid-l4hhvzsy]{justify-content:center}.brand[data-astro-cid-l4hhvzsy],.burger[data-astro-cid-l4hhvzsy]{display:none}.menu[data-astro-cid-l4hhvzsy]{gap:var(--space-2);flex-direction:row;inline-size:auto;display:flex;& a{padding-block:var(--space-2)}}}.icon[data-astro-cid-d776keg3]{inline-size:var(--icon-size,1.5rem);block-size:var(--icon-size,1.5rem)}.social[data-astro-cid-fx3fjcbx]{--gap:var(--space-5);--icon-size:2rem;justify-content:center;padding-block:1.25rem;list-style:none;& a{border-radius:var(--radius-sm);color:var(--color-text-muted);display:block;&:hover{color:var(--color-accent)}}}.foot[data-astro-cid-ytm7pswy]{padding-block:var(--space-6) 6rem;text-align:center;font-size:var(--text-sm)}.languages[data-astro-cid-ytm7pswy]{justify-content:center;& a{border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);text-decoration:none;&:hover{border-color:var(--color-accent);color:var(--color-accent)}&[aria-current]{border-color:var(--color-accent);color:var(--color-accent-strong)}}}.shell[data-astro-cid-fy4aku7p]{--measure:76rem;inline-size:min(100% - 3rem, var(--measure))}.skip[data-astro-cid-fy4aku7p]{z-index:50;border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);background:var(--color-accent-soft);color:var(--color-accent-strong);position:absolute;inset-block-start:var(--space-4);inset-inline-start:var(--space-4);&:not(:focus){clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;overflow:hidden}}.theme-toggle[data-astro-cid-fy4aku7p]{padding:var(--space-2);background:var(--color-toggle-bg);color:var(--color-toggle);box-shadow:0 1px 3px var(--color-toggle-shadow);cursor:pointer;border-radius:50%;display:grid;position:fixed;inset-block-end:1.25rem;inset-inline-start:1.25rem;&>svg[data-astro-cid-fy4aku7p]{grid-area:1/1;block-size:1.5rem;inline-size:1.5rem}& .sun{fill:light-dark(#0000,currentColor)}& .moon{fill:light-dark(currentColor,#0000)}}
