.cmdk-root[data-v-b77ff4a6]{align-items:start;background:#00000059;display:grid;font-family:var(--font-serif);inset:0;justify-items:center;padding-top:12vh;position:fixed;z-index:1100}.cmdk-panel[data-v-b77ff4a6]{background:var(--bg);border:1px solid var(--ink-12);color:var(--fg);display:flex;flex-direction:column;max-height:70vh;overflow:hidden;width:min(640px,calc(100vw - 2rem))}.cmdk-input-row[data-v-b77ff4a6]{align-items:center;border-bottom:1px solid var(--ink-12);display:flex;gap:.6rem;padding:.85rem 1rem}.cmdk-prompt[data-v-b77ff4a6]{border:1px solid var(--ink-12);color:var(--fg-faint);font:var(--w-bold) var(--t-2xs)/1 ui-monospace,SF Mono,Menlo,monospace;letter-spacing:.06em;padding:.25rem .4rem}.cmdk-input[data-v-b77ff4a6]{background:var(--field-bg);border:1.5px solid var(--field-border);box-shadow:var(--field-inset);color:var(--fg);flex:1;font:var(--w-light) var(--t-base)/1.3 var(--font-serif);letter-spacing:-.005em;min-width:0;outline:none;padding:.4rem .6rem}.cmdk-input[data-v-b77ff4a6]:focus{border-color:var(--fg);box-shadow:var(--field-ring)}.cmdk-input[data-v-b77ff4a6]::-moz-placeholder{color:var(--fg-dim)}.cmdk-input[data-v-b77ff4a6]::placeholder{color:var(--fg-dim)}.cmdk-count[data-v-b77ff4a6]{color:var(--fg-dim);font:var(--w-light) var(--t-2xs)/1 ui-monospace,monospace;font-variant-numeric:tabular-nums}.cmdk-list[data-v-b77ff4a6]{overflow:auto;padding:.35rem 0;scrollbar-width:thin}.cmdk-empty[data-v-b77ff4a6]{color:var(--fg-faint);font:var(--w-light) var(--t-base)/1.4 var(--font-serif);font-style:italic;padding:1.4rem 1rem;text-align:center}.cmdk-group[data-v-b77ff4a6]{padding-bottom:.3rem}.cmdk-group+.cmdk-group[data-v-b77ff4a6]{border-top:1px solid var(--ink-12);margin-top:.15rem;padding-top:.35rem}.cmdk-group-label[data-v-b77ff4a6]{color:var(--fg-muted);font:var(--w-heavy) var(--t-2xs)/1 var(--font-serif);letter-spacing:.18em;padding:.55rem 1rem .25rem;text-transform:uppercase}.cmdk-item[data-v-b77ff4a6]{align-items:baseline;background:transparent;border:0;border-left:2px solid transparent;color:var(--fg);cursor:pointer;display:flex;font:var(--w-light) var(--t-base)/1.3 var(--font-serif);gap:1rem;justify-content:space-between;padding:.45rem 1rem;text-align:left;width:100%}.cmdk-item.active[data-v-b77ff4a6]{background:var(--ink-12);border-left-color:var(--fg)}.cmdk-label[data-v-b77ff4a6]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-hint[data-v-b77ff4a6]{color:var(--fg-faint);flex-shrink:0;font:var(--w-light) var(--t-2xs)/1 var(--font-serif-caption);letter-spacing:.04em}.cmdk-foot[data-v-b77ff4a6]{border-top:1px solid var(--ink-12);color:var(--fg-faint);display:flex;flex-wrap:wrap;font:var(--w-light) var(--t-2xs)/1 ui-monospace,monospace;gap:1rem;padding:.55rem 1rem}.cmdk-foot kbd[data-v-b77ff4a6]{border:1px solid var(--ink-12);color:var(--fg-muted);display:inline-block;font:inherit;margin-right:.2rem;padding:.1rem .32rem}@media(max-width:640px){.cmdk-root[data-v-b77ff4a6]{padding-top:6vh}.cmdk-foot[data-v-b77ff4a6]{display:none}}.subscribe[data-v-d9d55b9d]{align-items:stretch;background:color-mix(in srgb,var(--bg) 70%,transparent);border:1px solid var(--fg);display:flex;flex-shrink:0;gap:0}.subscribe-input[data-v-d9d55b9d]{background:transparent;border:0;color:var(--fg);font:var(--w-light) var(--t-2xs)/1 var(--font-serif-caption);letter-spacing:.04em;max-width:38vw;min-width:0;padding:.5rem .7rem;width:11rem}.subscribe-input[data-v-d9d55b9d]::-moz-placeholder{color:var(--fg);opacity:.5}.subscribe-input[data-v-d9d55b9d]::placeholder{color:var(--fg);opacity:.5}.subscribe-input[data-v-d9d55b9d]:focus{background:color-mix(in srgb,var(--fg) 6%,transparent);outline:none}.subscribe-input[data-v-d9d55b9d]:disabled{opacity:.6}.subscribe-btn[data-v-d9d55b9d]{background:var(--fg);border:0;border-left:1px solid var(--fg);color:var(--bg);cursor:pointer;flex-shrink:0;font:var(--w-bold) var(--t-2xs)/1 var(--font-serif-caption);letter-spacing:.12em;padding:.5rem .85rem;text-transform:uppercase;transition:background .14s ease,color .14s ease}.subscribe-btn[data-v-d9d55b9d]:hover:not(:disabled){background:var(--bg);color:var(--fg)}.subscribe-btn[data-v-d9d55b9d]:disabled{cursor:default;opacity:.7}.hp[data-v-d9d55b9d]{left:-9999px;opacity:0;pointer-events:none}.hp[data-v-d9d55b9d],.sr-only[data-v-d9d55b9d]{height:1px;position:absolute;width:1px}.sr-only[data-v-d9d55b9d]{margin:-1px;overflow:hidden;padding:0;clip:rect(0,0,0,0);border:0;white-space:nowrap}@media(max-width:768px){.subscribe-input[data-v-d9d55b9d]{width:7rem}}.sitenav[data-v-350cfcd1]{background:var(--bg);border-bottom:1px solid var(--ink-12);color:var(--fg);font-family:var(--font-serif);position:sticky;top:0;z-index:100}.sitenav.on-home[data-v-350cfcd1]{background:color-mix(in srgb,var(--bg) 62%,transparent);border-bottom-color:color-mix(in srgb,var(--fg) 10%,transparent);left:0;position:fixed;right:0}@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.sitenav.on-home[data-v-350cfcd1]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--bg) 45%,transparent)}}.row[data-v-350cfcd1]{align-items:baseline;align-items:center;display:flex;gap:2rem;height:44px;margin:0 auto;max-width:1400px;padding:0 2rem}.brand[data-v-350cfcd1]{color:var(--fg);flex-shrink:0;font:var(--w-heavy) var(--t-sm)/1 var(--font-serif);letter-spacing:.22em;text-decoration:none;text-transform:uppercase}.links[data-v-350cfcd1]{align-items:center;display:flex;gap:1.75rem;margin-left:auto}.link[data-v-350cfcd1]{color:var(--fg);font:var(--w-light) var(--t-2xs)/1 var(--font-serif-caption);letter-spacing:.12em;opacity:.45;text-decoration:none;text-transform:uppercase;transition:opacity .16s ease}.link[data-v-350cfcd1]:hover{opacity:.85}.link.active[data-v-350cfcd1]{font-weight:var(--w-bold);opacity:1}@media(max-width:768px){.row[data-v-350cfcd1]{gap:1rem;padding:0 1rem;position:relative}.links[data-v-350cfcd1]{gap:1rem;overflow-x:auto;scrollbar-width:none}.links[data-v-350cfcd1]::-webkit-scrollbar{display:none}.link[data-v-350cfcd1]{white-space:nowrap}.sitenav:not(.on-home) .row[data-v-350cfcd1]:after{background:linear-gradient(to right,transparent,var(--bg));bottom:0;content:"";pointer-events:none;position:absolute;right:3rem;top:0;width:2rem;z-index:1}}.site-footer[data-v-727295f0]{background:var(--bg);box-shadow:0 -1px 0 var(--border);color:var(--fg);font-family:var(--font-serif);margin-top:4rem;padding:3rem 2rem 2.5rem}.row[data-v-727295f0]{align-items:baseline;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1100px}.brand-col[data-v-727295f0]{display:flex;flex-direction:column;gap:.4rem}.brand[data-v-727295f0]{font:var(--w-bold) var(--t-2xl)/1 var(--font-serif);letter-spacing:-.025em;margin:0}.tagline[data-v-727295f0]{color:var(--fg-muted);font:var(--w-light) var(--t-sm)/1.5 var(--font-serif);margin:0;max-width:28ch}.all-pages[data-v-727295f0]{color:var(--fg);font:var(--w-medium) var(--t-sm)/1 var(--font-serif);text-decoration:none;white-space:nowrap}.all-pages[data-v-727295f0]:hover{text-decoration:underline;text-underline-offset:3px}.rule[data-v-727295f0]{background:var(--border-faint);height:1px;margin:2.5rem auto 1.25rem}.colophon[data-v-727295f0],.rule[data-v-727295f0]{max-width:1100px}.colophon[data-v-727295f0]{color:var(--fg-faint);font:var(--w-regular) var(--t-xs)/1.6 var(--font-serif-caption);letter-spacing:.04em;margin:0 auto}.version[data-v-727295f0]{align-items:baseline;display:inline-flex;gap:.35rem;margin-left:.6rem}.version a[data-v-727295f0]{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.version a[data-v-727295f0]:hover{color:var(--fg)}.version .sep[data-v-727295f0]{color:var(--fg-dim)}.version .sha[data-v-727295f0]{font-family:var(--font-mono);letter-spacing:0}@media(max-width:768px){.site-footer[data-v-727295f0]{padding:2.5rem 1.25rem 2rem}}.gate[data-v-8b5ba3ea]{color:var(--fg);display:grid;font-family:var(--font-serif);min-height:100vh;place-items:center}.card[data-v-8b5ba3ea],.gate[data-v-8b5ba3ea]{background:var(--bg)}.card[data-v-8b5ba3ea]{border:1px solid var(--border-strong);display:flex;flex-direction:column;gap:.85rem;max-width:320px;padding:2rem;width:100%}h1[data-v-8b5ba3ea]{font-weight:var(--w-light);letter-spacing:-.02em;margin:0}.lede[data-v-8b5ba3ea]{font-size:var(--t-sm);margin:0 0 .5rem}.lede[data-v-8b5ba3ea],label[data-v-8b5ba3ea]{color:var(--fg-muted)}label[data-v-8b5ba3ea]{display:flex;flex-direction:column;gap:.25rem}label[data-v-8b5ba3ea],label span[data-v-8b5ba3ea]{font-size:var(--t-xs)}label span[data-v-8b5ba3ea]{color:var(--fg-faint);letter-spacing:.06em;text-transform:uppercase}input[data-v-8b5ba3ea]{background:var(--field-bg);border:1.5px solid var(--field-border);box-shadow:var(--field-inset);color:var(--fg);font:inherit;padding:.55rem .65rem}input[data-v-8b5ba3ea]:focus{border-color:var(--fg);box-shadow:var(--field-ring);outline:none}button[data-v-8b5ba3ea]{background:var(--fg);border:1px solid var(--border-strong);color:var(--bg);cursor:pointer;font:inherit;margin-top:.25rem;padding:.55rem .75rem}button[data-v-8b5ba3ea]:hover:not(:disabled){background:var(--bg);color:var(--fg)}button[data-v-8b5ba3ea]:disabled{cursor:default;opacity:.5}.err[data-v-8b5ba3ea]{color:var(--fg);font-size:var(--t-sm);font-weight:var(--w-regular);margin:0}.foot[data-v-8b5ba3ea]{color:var(--fg-faint);font-size:var(--t-xs);margin:.5rem 0 0}.toast-host[data-v-f1d4b412]{bottom:1.25rem;max-width:min(380px,calc(100vw - 2.5rem));pointer-events:none;position:fixed;right:1.25rem;z-index:9999}.toast-stack[data-v-f1d4b412]{display:flex;flex-direction:column;gap:.6rem}.toast[data-v-f1d4b412]{align-items:start;background:var(--bg,#fff);border:1px solid var(--border-mid,rgba(0,0,0,.2));border-left-width:3px;box-shadow:0 6px 24px var(--shadow-strong,rgba(0,0,0,.16));color:var(--fg);display:grid;gap:.7rem;grid-template-columns:auto 1fr auto;padding:.7rem .8rem;pointer-events:auto}.toast.is-success[data-v-f1d4b412]{border-left-color:var(--color-location,#2f7d4f)}.toast.is-error[data-v-f1d4b412]{border-left-color:var(--color-danger,#b0413e)}.toast.is-info[data-v-f1d4b412],.toast.is-loading[data-v-f1d4b412]{border-left-color:var(--fg-muted,#777)}.toast-icon[data-v-f1d4b412]{border-radius:50%;display:grid;font:700 .8rem/1 var(--font-serif-caption,serif);height:1.35rem;margin-top:.05rem;place-items:center;width:1.35rem}.toast.is-success .toast-icon[data-v-f1d4b412]{color:var(--color-location,#2f7d4f)}.toast.is-error .toast-icon[data-v-f1d4b412]{color:var(--color-danger,#b0413e)}.toast.is-info .toast-icon[data-v-f1d4b412]{color:var(--fg-muted)}.toast-title[data-v-f1d4b412]{font:700 .82rem/1.3 var(--font-serif-caption,serif);letter-spacing:.01em;margin:0}.toast-message[data-v-f1d4b412]{color:var(--fg-muted);font:400 .78rem/1.45 var(--font-serif,serif);margin:.2rem 0 0}.toast-close[data-v-f1d4b412]{background:none;border:0;color:var(--fg-faint);cursor:pointer;font-size:.7rem;line-height:1;padding:.1rem .2rem;pointer-events:auto;transition:color .12s}.toast-close[data-v-f1d4b412]:hover{color:var(--fg)}.spinner[data-v-f1d4b412]{animation:toast-spin-f1d4b412 .7s linear infinite;border:2px solid var(--ink-25,rgba(0,0,0,.25));border-radius:50%;border-top-color:var(--fg,#222);height:.95rem;width:.95rem}@keyframes toast-spin-f1d4b412{to{transform:rotate(1turn)}}.toast-enter-from[data-v-f1d4b412],.toast-leave-to[data-v-f1d4b412]{opacity:0;transform:translate(12px)}.toast-enter-active[data-v-f1d4b412],.toast-leave-active[data-v-f1d4b412]{transition:opacity .2s ease,transform .2s ease}.toast-move[data-v-f1d4b412]{transition:transform .2s ease}@media(prefers-reduced-motion:reduce){.spinner[data-v-f1d4b412]{animation-duration:1.4s}.toast-enter-active[data-v-f1d4b412],.toast-leave-active[data-v-f1d4b412],.toast-move[data-v-f1d4b412]{transition:none}}:root{--font-serif:"pt-serif-pro","PT Serif",Georgia,"Times New Roman",serif;--font-serif-caption:"pt-serif-pro-caption","pt-serif-pro","PT Serif",Georgia,serif;--font-mono:"PT Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--t-2xs:.7rem;--t-xs:.7rem;--t-sm:.9rem;--t-base:.9rem;--t-md:.9rem;--t-lg:1.05rem;--t-xl:1.25rem;--t-2xl:1.5rem;--t-3xl:1.85rem;--t-4xl:2.2rem;--t-display:2.6rem;--w-light:400;--w-regular:600;--w-medium:600;--w-semibold:700;--w-bold:700;--w-heavy:900;--lh-tight:1;--lh-snug:1.2;--lh-base:1.4;--lh-relax:1.6;--lh-prose:1.75;--tr-tight:-.01em;--tr-normal:0;--tr-wide:.08em;--tr-wider:.16em;--field-bg:color-mix(in srgb,var(--fg) 4%,var(--bg));--field-border:color-mix(in srgb,var(--fg) 34%,transparent);--field-inset:inset 0 1px 2px color-mix(in srgb,var(--fg) 10%,transparent);--field-ring:0 0 0 3px color-mix(in srgb,var(--fg) 16%,transparent);--bp-xs:480px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px}:root,:root[data-theme=light]{--bg:#f4ecd8;--bg-elevated:#f4ecd8;--bg-muted:#f4ecd8;--bg-hover:#f4ecd8;--fg:#2a2118;--fg-muted:#5a4a36;--fg-faint:#8a7a5e;--fg-dim:#b0a07e;--border:transparent;--border-faint:transparent;--border-mid:transparent;--border-strong:transparent;--shadow:transparent;--shadow-strong:transparent;--shadow-inset:transparent;--ink-100:#2a2118;--ink-55:rgba(42,33,24,.55);--ink-25:rgba(42,33,24,.25);--ink-12:rgba(42,33,24,.12);--marker:#2a2118;--link:#2a2118;--accent:#2a2118;--color-danger:#2a2118;--color-location:#2a2118;color-scheme:light}:root[data-theme=dark]{--bg:#0e0c0a;--bg-elevated:#0e0c0a;--bg-muted:#0e0c0a;--bg-hover:#0e0c0a;--fg:#f4f1ea;--fg-muted:#c0baad;--fg-faint:#807868;--fg-dim:#3d362e;--border:transparent;--border-faint:transparent;--border-mid:transparent;--border-strong:transparent;--shadow:transparent;--shadow-strong:transparent;--shadow-inset:transparent;--ink-100:#f4f1ea;--ink-55:rgba(244,241,234,.7);--ink-25:rgba(244,241,234,.4);--ink-12:rgba(244,241,234,.18);--marker:#f4f1ea;--link:#f4f1ea;--accent:#f4f1ea;--color-danger:#f4f1ea;--color-location:#f4f1ea;color-scheme:dark}*{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body,html{background:var(--bg);color:var(--fg);font-family:var(--font-serif)}.mono,code,kbd,pre,samp{font-family:var(--font-mono)}.t-eyebrow{color:var(--fg-faint);font:var(--w-medium) var(--t-xs)/var(--lh-tight) var(--font-serif-caption);letter-spacing:var(--tr-wider)}.t-display,.t-eyebrow{text-transform:uppercase}.t-display{font:var(--w-heavy) var(--t-display)/var(--lh-tight) var(--font-serif)}.t-display,.t-h1{letter-spacing:var(--tr-tight)}.t-h1{font:var(--w-heavy) var(--t-3xl)/var(--lh-snug) var(--font-serif)}.t-h2{font:var(--w-bold) var(--t-xl)/var(--lh-snug) var(--font-serif);letter-spacing:var(--tr-tight)}.t-h3{font:var(--w-bold) var(--t-lg)/var(--lh-snug) var(--font-serif)}.t-h4{font:var(--w-semibold) var(--t-base)/var(--lh-snug) var(--font-serif);font-style:italic}.t-prose{font:var(--w-regular) var(--t-md)/var(--lh-prose) var(--font-serif);font-feature-settings:"kern","liga","onum";-webkit-hyphens:auto;hyphens:auto;max-width:65ch;text-rendering:optimizeLegibility;text-wrap:pretty}.t-prose p+p{margin-top:1em}.t-body{font:var(--w-regular) var(--t-base)/var(--lh-base) var(--font-serif)}.t-meta{color:var(--fg-muted);font:var(--w-medium) var(--t-sm)/var(--lh-base) var(--font-serif)}.t-small{font:var(--w-medium) var(--t-xs)/var(--lh-base) var(--font-serif-caption)}.t-caption{color:var(--fg-faint);font:var(--w-medium) var(--t-2xs)/var(--lh-base) var(--font-serif-caption)}.t-mono{font:var(--w-regular) var(--t-sm)/var(--lh-base) var(--font-mono)}.t-mono-xs{font:var(--w-regular) var(--t-xs)/var(--lh-base) var(--font-mono)}.t-italic{font-style:italic}.t-tnum{font-variant-numeric:tabular-nums}.t-onum{font-variant-numeric:oldstyle-nums}.t-track-wide{letter-spacing:var(--tr-wide)}.t-upper{text-transform:uppercase}.t-muted{color:var(--fg-muted)}.t-faint{color:var(--fg-faint)}.boot{background:var(--bg);color:var(--fg-faint);display:grid;font-family:var(--font-serif);min-height:100vh;place-items:center}@supports (view-transition-name:none){::view-transition-group(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation-name:route-root-old}::view-transition-new(root){animation-name:route-root-new}}@keyframes route-root-old{0%{opacity:1}to{opacity:0}}@keyframes route-root-new{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){::view-transition-group(root){animation-duration:1ms}}
