@font-face{font-family:Author;src:url(/fonts/author-600-italic.woff2) format("woff2");font-weight:600;font-style:italic;font-display:swap}:root{color-scheme:dark;--bg: #090a0f;--bg-ridge: #0d0e14;--surface: #101116;--surface-2: #151620;--surface-3: #1d1f29;--hover: #1a1b25;--ink: #f4f2ee;--ink-2: #d7d2ca;--ink-3: #aaa39a;--ink-4: #918a82;--line: #262730;--line-strong: #393a45;--accent: #8b7cff;--accent-text: #aea4ff;--accent-strong: #e0ddff;--accent-fill: #cdc7ff;--accent-soft: rgb(139 124 255 / .16);--accent-line: rgb(139 124 255 / .42);--font-display: "Geist", ui-sans-serif, system-ui, sans-serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-wordmark: "Author", Georgia, "Times New Roman", serif;--container: 1280px;--container-narrow: 760px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-7: 32px;--s-8: 40px;--s-9: 48px;--s-10: 64px;--s-11: 80px;--s-12: 96px;--text-xs: 12px;--text-sm: 13px;--text-md: 15px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 36px;--text-4xl: 48px;--text-5xl: 60px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--shadow-panel: 0 28px 72px rgb(0 0 0 / .4), 0 1px 0 rgb(255 255 255 / .05) inset;--shadow-key-inset: inset 0 -2px 0 rgb(0 0 0 / .5);--shadow-key-outer: 0 1px 0 rgb(255 255 255 / .06)}*{box-sizing:border-box;margin:0;padding:0}html{min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{min-height:100dvh;overflow-x:hidden;background:linear-gradient(180deg,rgb(255 255 255 / .028),transparent 360px),linear-gradient(180deg,var(--bg-ridge),var(--bg) 520px),var(--bg)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgb(255 255 255 / .022) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .016) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(to bottom,black,transparent 58%)}a{color:inherit;text-decoration:none}a,button,.btn{-webkit-tap-highlight-color:rgb(139 124 255 / .18);touch-action:manipulation}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}section[id],:target{scroll-margin-top:96px}.skip-link{position:fixed;top:12px;left:12px;z-index:20;transform:translateY(-140%);padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink);font-size:var(--text-sm);transition:transform .18s var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s-7)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-inline:auto;padding-inline:var(--s-7)}.display{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;line-height:1.02;letter-spacing:0;text-wrap:balance}.display-md{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;line-height:1.08;letter-spacing:0;text-wrap:balance}.lede{max-width:64ch;font-size:var(--text-lg);line-height:1.58;color:var(--ink-2)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;color:var(--ink-3);letter-spacing:0}.key{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 9px;border:1px solid var(--line-strong);border-bottom-width:3px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));box-shadow:var(--shadow-key-inset),var(--shadow-key-outer);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;line-height:1;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;line-height:1;white-space:nowrap;transition:transform .18s var(--ease-out),background-color .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--surface)}.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn--secondary{background:#ffffff0b;border-color:var(--line-strong);color:var(--ink)}.btn--secondary:hover{background:#ffffff13;border-color:var(--accent-line);color:var(--accent-strong)}.btn--pending,.btn--pending:hover,.btn--pending:active{background:var(--surface-2);border-color:var(--line-strong);color:var(--ink-2);cursor:default;transform:none}.btn--lg{min-height:54px;padding:16px 28px;font-size:var(--text-base)}.link{color:var(--accent-text);text-decoration-line:underline;text-decoration-color:var(--accent-line);text-underline-offset:3px;transition:color .16s var(--ease-out),text-decoration-color .16s var(--ease-out)}.link:hover{color:var(--ink);text-decoration-color:currentColor}.site-header{position:sticky;top:0;z-index:10;min-height:72px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#090a0fc7;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{min-width:0;color:var(--ink);font-family:var(--font-wordmark);font-size:var(--text-2xl);font-weight:600;font-style:italic;letter-spacing:-.015em}.nav{display:flex;align-items:center;gap:24px;white-space:nowrap}.nav a{color:var(--ink-2);font-size:var(--text-sm);font-weight:500;transition:color .16s var(--ease-out)}.nav a:hover{color:var(--ink)}.site-footer{margin-top:var(--s-11);padding:34px 0 42px;border-top:1px solid var(--line);background:#090a0f85}.site-footer__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-footer__mark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:var(--ink);pointer-events:none}.site-footer__mark svg{display:block;width:30px;height:30px}@media(max-width:620px){.site-footer__mark{display:none}}.site-footer__credit,.site-footer__links{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.6;color:var(--ink-3);letter-spacing:0}.site-footer__links{display:flex;align-items:center;gap:20px;text-align:right}.site-footer__links a,.site-footer__credit a{color:var(--ink-2);transition:color .16s var(--ease-out)}.site-footer__links a:hover,.site-footer__credit a:hover{color:var(--accent-text)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise-in .72s var(--ease-out) both}.rise-1{animation-delay:0ms}.rise-2{animation-delay:70ms}.rise-3{animation-delay:.14s}.rise-4{animation-delay:.22s}.rise-5{animation-delay:.3s}@keyframes key-press{0%,to{transform:translateY(0);box-shadow:var(--shadow-key-inset),var(--shadow-key-outer)}48%{transform:translateY(2px);box-shadow:inset 0 -1px #00000080}}.shortcut-keys .key{animation:key-press .42s var(--ease-standard) .9s 1 both}@media(min-width:720px){.display{font-size:56px}.display-md{font-size:44px}}@media(min-width:1180px){.display{font-size:var(--text-5xl)}}@media(max-width:720px){.container,.container-narrow{padding-inline:var(--s-5)}.display{font-size:42px}.display-md{font-size:34px}.lede{font-size:var(--text-base)}.site-header{min-height:64px}.nav{gap:16px}.site-footer{margin-top:var(--s-10)}.site-footer__inner,.site-footer__links{align-items:flex-start;flex-direction:column;gap:10px;text-align:left}}@media(max-width:420px){.container,.container-narrow{padding-inline:var(--s-4)}.display{font-size:36px}.display-md{font-size:30px}.btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.rise{opacity:1;transform:none}.shortcut-keys .key{animation:none}}
