:root{--bg: #2c2c2b;--text: #e4e1dc;--accent: #c6a6d0;--bg-light: #f5f3ed;--text-light: #2c2c2b;--text-muted: color-mix(in srgb, var(--text) 72%, transparent);--text-faint: color-mix(in srgb, var(--text) 66%, transparent);--hairline: color-mix(in srgb, var(--text) 14%, transparent);--surface: color-mix(in srgb, var(--text) 5%, transparent);--surface-2: color-mix(in srgb, var(--text) 9%, transparent);--accent-soft: color-mix(in srgb, var(--accent) 18%, transparent);--accent-text: var(--accent);--accent-ink: color-mix(in srgb, var(--accent) 62%, var(--bg));--hairline-light: color-mix(in srgb, var(--text-light) 12%, transparent);--text-light-muted: color-mix(in srgb, var(--text-light) 70%, transparent);--font-serif: "Source Serif 4", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-system: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--step--1: clamp(.83rem, .8rem + .15vw, .92rem);--step-0: clamp(1rem, .95rem + .25vw, 1.13rem);--step-1: clamp(1.2rem, 1.1rem + .5vw, 1.5rem);--step-2: clamp(1.5rem, 1.3rem + 1vw, 2rem);--step-3: clamp(1.9rem, 1.6rem + 1.6vw, 2.75rem);--step-4: clamp(2.4rem, 1.9rem + 2.6vw, 4rem);--space-2xs: .25rem;--space-xs: .5rem;--space-s: .75rem;--space-m: 1.25rem;--space-l: 2rem;--space-xl: 3.5rem;--space-2xl: 5.5rem;--measure: 68ch;--content-max: 72rem;--radius: .75rem;--radius-lg: 1.25rem;--shadow-card: 0 24px 60px -28px color-mix(in srgb, #000 70%, transparent);--lightbox-bg: color-mix(in srgb, #000 70%, var(--bg));--shadow-strong: 0 30px 80px -20px color-mix(in srgb, #000 60%, transparent);--on-accent: #231f25;--accent-hover: color-mix(in srgb, var(--accent) 88%, white);--status-done: #9fd3a8;--status-doing: #e9c77b;--device-bezel: #1b1b1a;--device-screen: #1f1f1e;--raw-symbol: #e39b8b}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-regular.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-serif-4-bold.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-regular.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-bold.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{background:var(--bg);color:var(--text);font-family:var(--font-serif);font-size:var(--step-0);line-height:1.6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;min-height:100svh}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1)}p{text-wrap:pretty}a{color:var(--accent-text);text-decoration:none}a:hover,.prose p a,p.prose a,.prose li a,.legal__body a{text-decoration:underline;text-underline-offset:.18em}code,pre,kbd,.mono{font-family:var(--font-mono);font-size:.92em}img,picture,svg{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--content-max);margin-inline:auto;padding-inline:var(--space-m)}.section{padding-block:clamp(3.5rem,2.2rem + 4.5vw,5.5rem)}.section--tight-top{padding-top:0}.prose{max-width:var(--measure)}.zoom{display:block;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:default}.zoom picture{display:block}html.js .zoom{cursor:zoom-in}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-s);top:-3rem;z-index:100;background:var(--accent);color:var(--bg);padding:var(--space-xs) var(--space-m);border-radius:var(--radius);transition:top .15s ease}.skip-link:focus{top:var(--space-s)}.kicker{font-family:var(--font-mono);font-size:.74rem;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}.lede{color:var(--text-muted);font-size:var(--step-1);line-height:1.5;max-width:58ch}h2+.lede,h2+p.lede{margin-top:var(--space-s)}.crumbs{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center;font-family:var(--font-system);font-size:var(--step--1);color:var(--text-faint);margin-bottom:var(--space-m)}.crumbs a{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;min-height:2.75rem}.crumbs a:hover{color:var(--text);text-decoration:underline}.btns{display:flex;flex-wrap:wrap;gap:var(--space-s)}.btns--center{justify-content:center}.hero{padding-block:clamp(2.5rem,1.5rem + 4vw,4.5rem) clamp(2rem,1rem + 3vw,3.5rem)}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:var(--space-xl);align-items:center}.hero--solo .hero__inner{grid-template-columns:minmax(0,1fr)}.hero__copy{min-width:0}.hero h1{font-size:clamp(2.3rem,1.6rem + 2.4vw,3.8rem);line-height:1.04;margin:var(--space-xs) 0 var(--space-m)}.hero__lede{color:var(--text-muted);font-size:var(--step-1);line-height:1.5;max-width:46ch}.hero__ctas{margin-top:var(--space-l)}.hero__meta,.hero__note{margin-top:var(--space-s);font-family:var(--font-system);font-size:var(--step--1);color:var(--text-muted);max-width:52ch}.hero__media{min-width:0;display:flex;justify-content:center}.hero a.u,.hero__note a,.hero__meta a{text-decoration:underline;text-underline-offset:.18em}@media(max-width:920px){.hero__inner{grid-template-columns:minmax(0,1fr);gap:var(--space-l)}}.chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-m);font-family:var(--font-system)}.chip{display:inline-flex;align-items:center;min-height:2.75rem;padding:0 .95rem;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:.85rem;text-decoration:none}a.chip:hover{color:var(--text);text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:var(--space-m)}.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:920px){.card-grid--3{grid-template-columns:minmax(0,1fr)}}.card{display:flex;flex-direction:column;min-width:0;padding:var(--space-m) clamp(1.1rem,.8rem + 1vw,1.5rem);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg)}.card h3{font-size:var(--step-1);margin-bottom:var(--space-xs)}.card>p{color:var(--text-muted);font-family:var(--font-system);font-size:.95rem;line-height:1.5}.card a{text-underline-offset:.18em}.checks{list-style:none;padding:0;margin:0;font-family:var(--font-system);font-size:.95rem;line-height:1.5}.checks li{display:grid;grid-template-columns:1.4rem minmax(0,1fr);gap:var(--space-xs);padding-block:var(--space-xs)}.checks svg{width:1.1rem;height:1.1rem;margin-top:.2rem;color:var(--accent)}.checks a{text-decoration:underline;text-underline-offset:.18em}.pcard{display:flex;flex-direction:column;min-width:0;padding:clamp(1.25rem,.8rem + 1.6vw,1.75rem);border:1px solid var(--hairline);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface-2),var(--surface))}.pcard h3{font-size:var(--step-2);margin-bottom:var(--space-xs)}.pcard .checks li{border-top:1px solid var(--hairline)}.pcard>p{margin-top:var(--space-s);font-family:var(--font-system);font-size:.95rem}.pcard>p a{text-decoration:underline;text-underline-offset:.18em}.pcard .btns{margin-top:auto;padding-top:var(--space-m)}.final{text-align:center}.final__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-s)}.final__mark{color:var(--accent);font-size:var(--step-4);font-weight:700;line-height:1}.final__line{color:var(--text-muted);font-family:var(--font-system)}.final .btns{margin-top:var(--space-m);justify-content:center}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html:has(dialog.lb[open]){overflow:hidden}.lb[data-astro-cid-gixpweiw]{position:fixed;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:0;background:var(--lightbox-bg);color:var(--text);overflow:auto;overscroll-behavior:contain}.lb[data-astro-cid-gixpweiw]::backdrop{background:transparent}.lb__fig[data-astro-cid-gixpweiw]{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-s);padding:4rem var(--space-l) var(--space-l)}.lb__img[data-astro-cid-gixpweiw]{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 9rem);max-height:calc(100dvh - 9rem);object-fit:contain;border-radius:var(--radius)}.lb__cap[data-astro-cid-gixpweiw]{max-width:var(--measure);text-align:center;font-family:var(--font-system);font-size:var(--step--1);color:var(--text-muted);line-height:1.5}.lb__title[data-astro-cid-gixpweiw]{display:block;color:var(--text);font-size:var(--step-0)}.lb__title[data-astro-cid-gixpweiw]:empty{display:none}.lb__close[data-astro-cid-gixpweiw]{position:fixed;top:var(--space-s);right:var(--space-s);z-index:1;width:2.75rem;height:2.75rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--hairline);background:color-mix(in srgb,var(--bg) 80%,transparent);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer}.lb__close[data-astro-cid-gixpweiw]:hover{border-color:var(--text-faint)}@media(max-width:640px){.lb__fig[data-astro-cid-gixpweiw]{justify-content:flex-start;justify-content:safe center;padding:4rem 0 var(--space-l)}.lb__img[data-astro-cid-gixpweiw]{width:100%;max-height:none;border-radius:0}.lb__cap[data-astro-cid-gixpweiw]{padding-inline:var(--space-m)}}.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--hairline)}.site-header__inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;min-height:4rem;gap:var(--space-m)}.wordmark[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;min-height:2.75rem;gap:.35em;color:var(--text);text-decoration:none;font-family:var(--font-serif);font-weight:700;font-size:var(--step-1)}.wordmark[data-astro-cid-3ef6ksr2]:hover{text-decoration:none}.wordmark__mark[data-astro-cid-3ef6ksr2]{color:var(--accent);font-size:1.15em}.nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.nav__toggle[data-astro-cid-3ef6ksr2]{display:none;background:transparent;border:1px solid var(--hairline);border-radius:var(--radius);width:2.75rem;height:2.75rem;cursor:pointer;align-items:center;justify-content:center}.nav__bars[data-astro-cid-3ef6ksr2],.nav__bars[data-astro-cid-3ef6ksr2]:before,.nav__bars[data-astro-cid-3ef6ksr2]:after{display:block;width:1.1rem;height:2px;background:var(--text);position:relative}.nav__bars[data-astro-cid-3ef6ksr2]:before,.nav__bars[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;left:0}.nav__bars[data-astro-cid-3ef6ksr2]:before{top:-6px}.nav__bars[data-astro-cid-3ef6ksr2]:after{top:6px}.nav__menu[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-l)}.nav__links[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-s);list-style:none;padding:0;margin:0;font-family:var(--font-system);font-size:var(--step-0)}.nav__links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--text-muted);text-decoration:none;display:inline-flex;align-items:center;min-height:2.75rem;padding-inline:.25rem}.nav__links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:.35em}.nav__links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--text);text-decoration:none}@media(max-width:880px){.nav__menu[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:stretch;gap:var(--space-s);width:100%}.nav__links[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:flex-start;gap:var(--space-s)}html.js .nav__toggle[data-astro-cid-3ef6ksr2]{display:inline-flex}html.js .nav__menu[data-astro-cid-3ef6ksr2]{position:absolute;inset:4rem 0 auto;gap:var(--space-m);padding:var(--space-m);background:var(--bg);border-bottom:1px solid var(--hairline);display:none}html.js .nav__menu[data-astro-cid-3ef6ksr2].is-open{display:flex}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--hairline);background:var(--surface);padding-block:var(--space-xl);margin-top:var(--space-xl)}.site-footer__inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:var(--space-l);align-items:center;justify-content:space-between}.site-footer__brand[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:var(--space-s)}.site-footer__mark[data-astro-cid-sz7xmlte]{color:var(--accent);font-family:var(--font-serif);font-size:var(--step-3);font-weight:700;line-height:1}.site-footer__line[data-astro-cid-sz7xmlte]{font-family:var(--font-system);color:var(--text-muted);font-size:var(--step--1);max-width:36ch}.site-footer__nav[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;gap:0 var(--space-m);font-family:var(--font-system);font-size:var(--step--1)}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte],.site-footer__nav[data-astro-cid-sz7xmlte] .is-soon[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;min-height:2.75rem}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text);text-decoration:none}.site-footer__nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{text-decoration:underline;text-underline-offset:.18em}.is-soon[data-astro-cid-sz7xmlte]{color:var(--text-faint)}.site-footer__guides[data-astro-cid-sz7xmlte]{margin-top:var(--space-l);font-family:var(--font-system);font-size:var(--step--1)}.site-footer__guides-title[data-astro-cid-sz7xmlte]{color:var(--text-faint);margin-bottom:var(--space-xs)}.site-footer__guides[data-astro-cid-sz7xmlte] ul[data-astro-cid-sz7xmlte]{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:0 var(--space-m)}.site-footer__guides[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-muted);display:inline-flex;align-items:center;min-height:2.75rem}.site-footer__legal[data-astro-cid-sz7xmlte]{margin-top:var(--space-m);padding-top:var(--space-m);border-top:1px solid var(--hairline)}.site-footer__legal[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{font-family:var(--font-system);font-size:var(--step--1);color:var(--text-faint)}
