@font-face{font-family:hanken;src:url(../media/hanken_grotesk_latin_400_normal-s.p.18lpns2xtfj9z.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:hanken;src:url(../media/hanken_grotesk_latin_500_normal-s.p.2om_jlrhbwq6l.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:hanken;src:url(../media/hanken_grotesk_latin_600_normal-s.p.0c7b5n7trqal9.woff2)format("woff2");font-display:swap;font-weight:600;font-style:normal}@font-face{font-family:hanken;src:url(../media/hanken_grotesk_latin_700_normal-s.p.061szqq7cg1k1.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:hanken Fallback;src:local(Arial);ascent-override:98.46%;descent-override:29.83%;line-gap-override:0.0%;size-adjust:101.56%}.hanken_c9bc9e47-module__XeI0Ya__className{font-family:hanken,hanken Fallback}.hanken_c9bc9e47-module__XeI0Ya__variable{--font-hanken:"hanken", "hanken Fallback"}
:root,:root[data-theme=light]{--canvas:#faf8f2;--surface:#fffef9;--surface-2:#f4efe4;--sidebar:#f1ece1;--raised:#ebe5d6;--ink:#211e17;--ink-soft:#4a463d;--muted:#6d695e;--faint:#a7a08f;--line:#e9e3d4;--line-2:#ddd5c2;--accent:#ffdc6c;--accent-2:#f3cb4d;--accent-soft:#fff1cd;--on-accent:#2a2206;--accent-text:#7a5a12;--stage:#ffdc6c;--record:#cf352c;--success:#4f8a3d;--sp-blue:#2f6fb0;--sp-green:#5b8a45;--sp-gold:#bd962f;--sp-red:#c0463f;--shadow:0 1px 2px #3c2e120a, 0 4px 14px -10px #3c2e122e;--shadow-lg:0 30px 64px -34px #3c2e124d, 0 10px 24px -18px #3c2e122e;--shadow-win:0 40px 80px -40px #3c2e1273, 0 12px 30px -18px #3c2e124d;--glow:#3c2e122e;--band:#1d1912;--font-body:var(--font-hanken);--font-display:var(--font-hanken);--ease:cubic-bezier(.32, .72, 0, 1)}:root[data-theme=dark]{--canvas:#0e0c08;--surface:#2a2418;--surface-2:#1a1610;--sidebar:#1d1912;--raised:#342d20;--ink:#ece5d6;--ink-soft:#cfc8b9;--muted:#9c968a;--faint:#6a655b;--line:#322c22;--line-2:#423a27;--accent:#ffdc6c;--accent-2:#f3cb4d;--accent-soft:#38301a;--on-accent:#2a2206;--accent-text:#f3d178;--record:#e5544b;--success:#8cc06f;--sp-blue:#6aa3e0;--sp-green:#8cc06f;--sp-gold:#ddb255;--sp-red:#e07a72;--shadow:0 10px 28px -14px #000000b3;--shadow-lg:0 34px 70px -30px #000c;--shadow-win:0 50px 90px -40px #000000e6, 0 0 0 1px #ffdc6c0f;--glow:#00000080;--band:#17140e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font-hanken), ui-sans-serif, system-ui, sans-serif;background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}.app{background:var(--canvas);color:var(--ink);min-height:100vh;position:relative;overflow-x:clip}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--on-accent)}.label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width:760px){.wrap{padding-inline:16px}}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-weight:600}p{text-wrap:pretty}.btn{cursor:pointer;height:48px;transition:transform .2s var(--ease-out), background-color var(--hover), border-color var(--hover), color var(--hover);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:1rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--ink);color:var(--canvas)}.btn.primary:hover{background:color-mix(in srgb, var(--ink) 84%, var(--canvas))}.btn.ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn.ghost:hover{border-color:var(--ink)}.btn.gold{background:var(--accent);color:var(--on-accent)}.btn.gold:hover{background:var(--accent-2)}.btn.sm{height:36px;padding:0 16px;font-size:.875rem}.txtlink{color:var(--ink);align-items:center;gap:8px;font-size:1rem;font-weight:600;display:inline-flex}.txtlink:after{content:"";width:16px;height:1.5px;transition:width .3s var(--ease);background:currentColor}.txtlink:hover:after{width:24px}header{z-index:50;background:var(--canvas);border-bottom:1px solid var(--line);position:sticky;top:0}.bar{justify-content:space-between;align-items:center;height:66px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.25rem;font-weight:600;display:flex}.mark{border-radius:7px;width:28px;height:28px;display:block}.nav{align-items:center;gap:24px;display:flex}.nav .lnk{color:var(--muted);font-size:.92rem;font-weight:500}.nav .lnk:hover{color:var(--ink)}@media (max-width:860px){.nav .lnk{display:none}}.toggle{border:1px solid var(--line-2);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;font-size:.9rem}.toggle:hover{background:var(--accent-soft)}.ghlink{width:36px;height:36px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.ghlink svg{fill:currentColor;width:20px;height:20px}.ghlink:hover{color:var(--ink);background:var(--accent-soft)}.compare-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.compare{border-collapse:collapse;width:100%;min-width:860px}.compare th,.compare td{text-align:center;border-bottom:1px solid var(--line);padding:16px 18px}.compare thead th{color:var(--muted);padding-bottom:18px;font-size:.95rem;font-weight:600}.compare thead th.me{color:var(--ink)}.compare tbody th[scope=row]{text-align:left;color:var(--ink);white-space:nowrap;font-size:.96rem;font-weight:500}.compare .me{background:var(--accent-soft)}.compare th.grp{font-family:var(--font-display), ui-sans-serif, sans-serif;letter-spacing:-.01em;color:var(--ink);border-top-left-radius:12px;border-top-right-radius:12px;padding-bottom:6px;font-size:1.1rem;font-weight:700}.compare th.sub{letter-spacing:.02em;color:var(--muted);padding-top:0;padding-bottom:16px;font-size:.78rem;font-weight:700}.compare tbody tr:last-child td.me{border-bottom-right-radius:12px;border-bottom-left-radius:12px}.compare tbody tr:last-child td.me+td.me{border-bottom-left-radius:0}.compare tbody tr:last-child td.me:has(+td.me){border-bottom-right-radius:0}.compare .yes{background:var(--accent);border-radius:50%;place-items:center;width:26px;height:26px;display:inline-grid}.compare .yes svg{width:15px;height:15px;stroke:var(--on-accent);fill:none;stroke-width:2.6px}.compare .no{color:var(--faint);font-size:1.1rem}.compare td.me .txt{color:var(--ink);font-weight:700}.compare .txt{color:var(--muted);font-size:.9rem;font-weight:500}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;font-size:1.06rem;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details p{color:var(--muted);max-width:66ch;padding:0 4px 22px;font-size:.98rem}footer{border-top:1px solid var(--line);padding:64px 0 80px}.foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 30px;display:flex}.foot a{color:var(--muted);transition:color var(--hover);font-size:.875rem;line-height:1.25rem}.foot a:hover{color:var(--ink)}.foot .fine{color:var(--muted);font-size:.875rem;line-height:1.25rem}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nav-toggle{z-index:70;border:1px solid var(--line-2);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;display:none;position:relative}.nav-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:20px;height:20px}.nav-toggle:hover{background:var(--accent-soft)}@media (max-width:860px){.nav-toggle{display:inline-flex}}@media (max-width:520px){.nav .dl-inline{display:none}}.m-scrim{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000006b;position:fixed;inset:0}.m-menu{background:var(--canvas);border-left:1px solid var(--line-2);width:min(86vw,340px);height:100%;box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:80px 22px 28px;display:flex;position:absolute;top:0;right:0;overflow-y:auto}.m-menu nav{flex-direction:column;display:flex}.m-menu nav a{color:var(--ink);border-bottom:1px solid var(--line);padding:10px 0;font-size:1rem;font-weight:500}.m-menu nav a:hover{color:var(--accent-text)}.m-label{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:18px 0 4px;font-size:11px;font-weight:700;display:block}.m-label:first-child{margin-top:0}.m-menu .btn.primary{text-align:center;margin-top:12px}.foot{align-items:flex-start}.foot-brand{flex-direction:column;gap:16px;max-width:240px;display:flex}.foot-grid{grid-template-columns:repeat(6,auto);gap:32px 40px;display:grid}.foot-col{flex-direction:column;gap:8px;display:flex}.foot-h{color:var(--ink);margin-bottom:8px;font-size:.875rem;font-weight:600;line-height:1.25rem}@media (max-width:1180px){.foot-grid{grid-template-columns:repeat(3,auto)}}@media (max-width:860px){.foot-grid{grid-template-columns:repeat(2,auto)}}@media (max-width:620px){.foot-grid{grid-template-columns:repeat(2,1fr);width:100%}}.wdemo{background:var(--surface);border:1px solid var(--line-2);border-radius:20px;max-width:760px;margin:0 auto;padding:32px}.wdemo-head .label{letter-spacing:0;text-transform:none;color:var(--accent-text);margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.wdemo-head h3{letter-spacing:-.02em;margin-bottom:8px;font-size:1.5rem;line-height:2rem}.wdemo-head p{color:var(--muted);font-size:.95rem;line-height:1.55}.wdemo-clip{flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;display:flex}.wdemo-clip audio{flex:240px;min-width:0;height:40px}.wdemo-clip .btn{flex:none}.wdemo-bar{background:var(--accent-soft);border-radius:999px;height:6px;margin-top:16px;overflow:hidden}.wdemo-bar span{background:var(--accent-text);height:100%;transition:width .3s;display:block}.wdemo-out{margin-top:20px}.wdemo-tag{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:.8rem;display:inline-flex}.wdemo-text{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:10px;padding:16px;font-size:1.05rem;line-height:1.6}.wdemo-err{color:var(--muted);margin-top:16px;font-size:.9rem}.wdemo-note{color:var(--faint);margin-top:14px;font-size:.82rem}.wdemo-tag .gd{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px}.wdemo-text .wk-word{transition:color .12s,opacity .12s}.wdemo-text.karaoke .wk-word{opacity:.4}.wdemo-text.karaoke .wk-word.spoken{opacity:1}.wdemo-text.karaoke .wk-word.active{opacity:1;color:var(--accent-text);font-weight:600}.pg-posts{padding:0 0 96px}.post-featured{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:64px;display:grid}.post-card{flex-direction:column;gap:12px;padding:40px 0 48px;display:flex;position:relative}.post-card+.post-card:before{content:"";background:var(--line);width:1px;position:absolute;top:40px;bottom:48px;left:-32px}.post-card-date,.post-card-meta{color:var(--muted);font-size:.875rem;line-height:1.25rem}.post-card-t{letter-spacing:-.02em;transition:color var(--hover);font-size:1.5rem;line-height:2rem}.post-card:hover .post-card-t{color:var(--accent-text)}.post-card p{color:var(--muted);flex:1;font-size:1rem;line-height:1.6}.post-archive-h{border-top:1px solid var(--line);letter-spacing:-.02em;padding-top:48px;font-size:1.5rem;line-height:2rem}.post-archive{border-bottom:1px solid var(--line);margin-top:24px;list-style:none}.post-archive a{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;display:flex}.post-archive-t{transition:color var(--hover);font-size:1rem;font-weight:500;line-height:1.5rem}.post-archive a:hover .post-archive-t{color:var(--accent-text)}.post-archive-d{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:.875rem;line-height:1.25rem}.pg-article{padding:64px 0 96px}.post-layout{grid-template-columns:minmax(0,1fr) minmax(0,680px) minmax(0,1fr);align-items:start;column-gap:48px;display:grid}.post-aside{flex-direction:column;grid-column:1;justify-self:end;gap:24px;width:208px;margin-top:200px;display:flex;position:sticky;top:98px}.post-aside-h{margin-bottom:-16px;font-size:.875rem;font-weight:600;line-height:1.25rem}.post-aside .btn{align-self:flex-start}.post{grid-column:2;min-width:0}@media (min-width:1181px){.post-toc-m{display:none}}@media (max-width:1180px){.post-layout{grid-template-columns:minmax(0,680px);justify-content:center}.post-aside{display:none}.post{grid-column:1}}.post-back{text-align:center;margin-bottom:16px}.post-back a{color:var(--muted);transition:color var(--hover);align-items:center;gap:8px;font-size:.875rem;font-weight:600;display:inline-flex}.post-back a:before{content:"←";transition:transform .3s var(--ease)}.post-back a:hover{color:var(--ink)}.post-back a:hover:before{transform:translate(-4px)}.post>h1{letter-spacing:-.035em;text-align:center;max-width:none;margin:0;font-size:3rem;font-weight:600;line-height:1.08}.post .post-date{color:var(--faint);margin-top:12px;font-size:.85rem}@media (max-width:760px){.post-featured{grid-template-columns:minmax(0,1fr)}.post-card{padding:24px 0 32px}.post-card+.post-card{border-top:1px solid var(--line)}.post-end{grid-template-columns:auto minmax(0,1fr)}.byline{flex-direction:column;gap:4px}.byline span+span:before{display:none}.copy-link{grid-column:1/-1;justify-self:start}.post-card+.post-card:before{display:none}.post-card-t{font-size:1.25rem;line-height:1.75rem}.post-archive a{flex-direction:column;gap:2px}.pg-posts{padding-bottom:64px}.pg-article{padding:40px 0 80px}.post>h1{font-size:2.25rem;line-height:1.1}}.prose{color:var(--ink-soft);margin-top:40px;font-size:1.125rem;line-height:1.75}.prose p{margin:0 0 18px}.prose h2{letter-spacing:-.02em;color:var(--ink);margin:48px 0 12px;scroll-margin-top:96px;font-size:1.5rem;line-height:2rem;position:relative}.prose .h-anchor{width:24px;color:var(--faint);opacity:0;transition:opacity var(--hover);text-decoration:none;position:absolute;top:0;left:-24px}.prose h2:hover .h-anchor{opacity:1}.prose .h-anchor:hover{color:var(--accent-text)}.prose h3{color:var(--ink);margin:40px 0 12px;font-size:1.25rem;line-height:1.75rem}.prose ul,.prose ol{gap:8px;margin:0 0 18px;padding-left:22px;display:grid}.prose li{line-height:1.6}.prose a{color:var(--accent-text);text-underline-offset:2px;text-decoration:underline}.prose a:hover{text-decoration:none}.prose strong{color:var(--ink);font-weight:600}.prose code{font-family:var(--font-mono,ui-monospace, monospace);background:var(--pill-hover,var(--surface-2));border-radius:6px;padding:2px 6px;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.prose blockquote{border-left:3px solid var(--line-2);color:var(--muted);margin:0 0 18px;padding-left:16px}.prose img{border:1px solid var(--line-2);border-radius:12px;max-width:100%;height:auto;margin:0 0 24px;display:block}.prose pre{background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;margin:0 0 24px;padding:15px 18px;font-size:.86rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;white-space:pre;background:0 0;border-radius:0;padding:0}.prose .tldr{background:var(--accent-soft);color:var(--ink);border:0;border-radius:20px;margin:0 0 32px;padding:24px;font-size:1rem;line-height:1.65}.prose .tldr strong{color:var(--ink)}.prose .prose-table{border:1px solid var(--line-2);background:var(--surface);border-radius:12px;margin:0 0 24px;overflow-x:auto}@media (min-width:1181px){.prose .prose-table{margin-right:-200px}}@media (min-width:1000px) and (max-width:1180px){.prose .prose-table{margin-inline:-96px}}.prose .prose-table table{border-collapse:collapse;width:auto;min-width:100%;margin:0;font-size:.95rem;line-height:1.5}.prose .prose-table th,.prose .prose-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:11px 15px}.prose .prose-table thead th{background:var(--surface-2);color:var(--ink);font-weight:600}.prose .prose-table tbody tr:last-child td{border-bottom:none}.post-toc-m{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:24px}.post-toc-m summary{padding:12px 16px;font-size:.875rem;font-weight:600;line-height:1.25rem}.post-toc-m summary:after{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .3s var(--ease);transform:translateY(-2px)rotate(45deg)}.post-toc-m[open] summary:after{transform:translateY(2px)rotate(225deg)}.post-toc-m ol{flex-direction:column;gap:4px;padding:0 16px 12px;list-style:none;display:flex}.post-toc-m a{color:var(--muted);padding:4px 0;font-size:.875rem;line-height:1.25rem;display:block}.post-toc-m a:hover{color:var(--ink)}.post-end{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:48px;padding-top:32px;display:grid}.post-avatar{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:.875rem;font-weight:600;display:grid}.post-end p{color:var(--muted);font-size:.875rem;line-height:1.25rem}.post-end b{color:var(--ink);font-weight:600}.copy-link{border:1px solid var(--line-2);height:36px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;transition:border-color var(--hover);background:0 0;border-radius:999px;padding:0 16px;font-size:.875rem;font-weight:600}.copy-link:hover{border-color:var(--ink)}.post-related-head{justify-content:space-between;align-items:baseline;gap:24px;display:flex}.post-related-head h2{letter-spacing:-.025em;font-size:1.875rem;line-height:2.25rem}.post-related .post-featured{margin-top:8px}.post-related+.pg-final .pg-final-inner{border-top:1px solid var(--line);padding-top:64px}.byline{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;margin-top:24px;padding-bottom:32px;font-size:.875rem;display:flex}.byline .byline-author{color:var(--ink);font-weight:600}.byline span+span:before{content:"·";color:var(--faint);margin:0 10px}.dl-scrim{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000070;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dl-modal{background:var(--surface);border:1px solid var(--line-2);width:min(440px,100%);box-shadow:var(--shadow-lg);border-radius:18px;padding:34px 30px 28px;position:relative}.dl-close{border:1px solid var(--line-2);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.dl-close:hover{background:var(--accent-soft);color:var(--ink)}.dl-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:15px;height:15px}.dl-hint{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-text);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.dl-hint:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--glow);border-radius:50%}.dl-modal h3{font-family:var(--font-display), ui-sans-serif, sans-serif;letter-spacing:-.02em;margin:12px 0 8px;font-size:1.4rem;font-weight:700;line-height:1.15}.dl-lead{color:var(--muted);font-size:.96rem;line-height:1.55}.dl-form{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.dl-form input{border:1px solid var(--line-2);background:var(--canvas);min-width:0;height:44px;color:var(--ink);font:inherit;border-radius:10px;flex:200px;padding:0 14px;font-size:.95rem}.dl-form input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}.dl-form .btn{flex:none}.dl-form .btn[disabled]{opacity:.6;cursor:default}.dl-skip{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:0;margin:14px auto 0;font-size:.85rem;display:block}.dl-skip:hover{color:var(--muted);text-underline-offset:2px;text-decoration:underline}.dl-done{text-align:center;padding:6px 0 4px}.dl-check{background:var(--accent);border-radius:999px;place-items:center;width:46px;height:46px;margin-bottom:14px;display:inline-grid}.dl-check svg{fill:none;width:24px;height:24px;stroke:var(--on-accent);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.dl-done p{color:var(--muted);max-width:34ch;margin:0 auto;font-size:.96rem;line-height:1.55}.pg-eyebrow{color:var(--accent-text);font-size:.875rem;font-weight:600;line-height:1.25rem;display:block}.pg-cta{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.btn:focus-visible,.txtlink:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.pg-hero{border-bottom:1px solid var(--line);padding:80px 0 64px}.pg-hero.has-stage{border-bottom:0;padding-bottom:32px}.pg-hero-top{text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.pg-hero-top .pg-eyebrow{margin-bottom:-8px}.pg-hero-top>h1{text-align:center;letter-spacing:-.035em;max-width:20ch;margin:0 auto;font-size:3.5rem;font-weight:600;line-height:1.06}.pg-hero-row{flex-direction:column;align-items:center;gap:32px;margin-top:-4px;display:flex}.pg-sub{color:var(--muted);max-width:54ch;font-size:1.125rem;line-height:1.6}.pg-sub b{color:var(--ink);font-weight:600}.pg-proof{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 32px;padding-top:40px;font-size:.875rem;line-height:1.25rem;list-style:none;display:flex}.pg-hero.has-stage .pg-proof{padding-top:24px}.pg-proof li{align-items:center;gap:8px;display:inline-flex}.pg-proof li:before{content:"";background:var(--accent-2);border-radius:50%;width:6px;height:6px}.pg-proof a:hover{color:var(--ink)}.pg-stage-wrap{max-width:1312px;margin:0 auto;padding:0 24px}.pg-hero-stage{margin-top:64px}.pg-stage{background:var(--stage);border-radius:28px;padding:56px}.pg-sec{border-top:1px solid var(--line);padding:96px 0}.pg-hero+.pg-sec{border-top:0}.pg-sec-title h2{letter-spacing:-.03em;margin-top:8px;font-size:2.25rem;line-height:1.1}.pg-sec-title .pg-eyebrow+h2{margin-top:12px}.pg-lead{color:var(--muted);font-size:1.125rem;line-height:1.6}.pg-lead b{color:var(--ink);font-weight:500}.pg-lead a{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.pg-lead a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.pg-side .pg-sec-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:32px 64px;display:grid}.pg-side .pg-sec-head{flex-direction:column;gap:16px;display:flex;position:sticky;top:96px}.pg-side .pg-sec-title h2{letter-spacing:-.025em;font-size:1.875rem;line-height:1.2}.pg-side .pg-lead{color:var(--muted);font-size:1rem}.pg-side .pg-sec-head:only-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px 64px;display:grid;position:static}.pg-stack .pg-sec-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px 48px;margin-bottom:64px;display:grid}.pg-stack .pg-lead{max-width:34em;color:var(--muted);padding-top:4px;font-size:1.25rem;line-height:1.55}.pg-stack .pg-eyebrow+h2{margin-top:12px}.pg-rows{border-bottom:1px solid var(--line);list-style:none}.pg-rows li{border-top:1px solid var(--line);color:var(--ink-soft);gap:16px;padding:16px 0;font-size:1rem;line-height:1.6;display:flex}.pg-rows li b{color:var(--ink);font-weight:600}.pg-rows li a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.pg-rows li a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.pg-tick{background:var(--accent);border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:3px;display:inline-grid}.pg-tick svg{width:12px;height:12px;stroke:var(--on-accent);fill:none;stroke-width:2.6px}.pg-plain li{color:var(--muted)}.pg-plain li:before{content:"";background:var(--faint);flex:none;width:12px;height:1.5px;margin-top:12px}.pg-num{width:32px;color:var(--accent-text);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:.875rem;font-weight:600;line-height:1.25rem}.pg-links li{padding:0}.pg-links li a{transition:color var(--hover);flex-wrap:wrap;flex:1;align-items:baseline;gap:4px 16px;padding:16px 32px 16px 0;text-decoration:none;display:flex;position:relative}.pg-links li a:after{content:"→";color:var(--faint);transition:transform .3s var(--ease), color var(--hover);position:absolute;top:16px;right:4px}.pg-links li a:hover:after{color:var(--ink);transform:translate(4px)}.pg-link-l{color:var(--ink);font-weight:600}.pg-link-n{color:var(--muted);flex-basis:100%;font-size:.875rem;line-height:1.25rem}.pg-points{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:64px;display:grid}.pg-points.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-point{border-top:1px solid var(--line);min-width:0;padding:24px 0 48px;position:relative}@media (min-width:961px){.pg-points.is-3 .pg-point:not(:nth-child(3n+1)):before,.pg-points.is-2 .pg-point:nth-child(2n):before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:-32px}}.pg-point-fig{min-width:0;margin-bottom:32px}.pg-point h3{letter-spacing:-.015em;font-size:1.25rem;line-height:1.75rem}.pg-point p{color:var(--muted);max-width:38ch;margin-top:8px;font-size:1rem;line-height:1.6}.pg-specs{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;display:grid}.pg-specs.is-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.pg-specs.is-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}.pg-spec svg{color:var(--accent-text);margin-bottom:16px;display:block}.pg-spec h3{letter-spacing:-.01em;font-size:1rem;font-weight:600;line-height:1.5rem}.pg-spec p a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.pg-spec p{color:var(--muted);max-width:40ch;margin-top:4px;font-size:1rem;line-height:1.6}.pg-points+.pg-specs{border-top:1px solid var(--line);margin-top:16px;padding-top:48px}.pg-siblings{border-top:1px solid var(--line)}.pg-siblings-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.pg-siblings a{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:32px;min-height:160px;padding:32px 24px 32px 0;display:flex}.pg-siblings a+a{padding-left:24px}.pg-siblings a:last-child{border-right:0}.pg-sib-t{letter-spacing:-.015em;max-width:20ch;transition:color var(--hover);font-size:1.125rem;font-weight:600;line-height:1.5rem}.pg-sib-l{color:var(--muted);font-size:.875rem;line-height:1.25rem}.pg-sib-l:after{content:" →";transition:transform .3s var(--ease);display:inline-block}.pg-siblings a:hover .pg-sib-l:after{transform:translate(4px)}.pg-siblings a:hover .pg-sib-t{color:var(--accent-text)}.pg-siblings+.pg-final .pg-final-inner{border-top:1px solid var(--line);padding-top:64px}.pg-siblings+.pg-final{padding-top:0}.pg-faq{border-bottom:1px solid var(--line)}.pg-faq details{border-bottom:0;border-top:1px solid var(--line)}.pg-faq summary{gap:24px;padding:16px 0;font-size:1rem;font-weight:500;line-height:1.5rem}.pg-plus{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:8px;height:8px;transition:transform .3s var(--ease);flex:none;margin-right:4px;transform:translateY(-2px)rotate(45deg)}.pg-faq details[open] .pg-plus{transform:translateY(2px)rotate(225deg)}.pg-faq summary:hover .pg-plus{border-color:var(--ink)}.pg-faq details p{color:var(--muted);max-width:64ch;padding:0 48px 20px 0;font-size:1rem;line-height:1.7}.pg-final{padding:96px 0 128px}.pg-final-inner{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-top:64px;display:flex}.pg-final h2{letter-spacing:-.03em;max-width:20ch;font-size:2.5rem;line-height:1.1}.pg-final-note{color:var(--muted);margin-top:12px;font-size:1rem;line-height:1.5rem}.pg-sec+.pg-final .pg-final-inner{border-top:0;padding-top:0}.pg-sec+.pg-final{border-top:1px solid var(--line)}.pg-prose p{color:var(--ink-soft);max-width:64ch;font-size:1.125rem;line-height:1.7}.pg-prose p+p{margin-top:16px}.pg-more{margin-top:32px}.pg-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:880px;display:grid}.pg-plan{border:1px solid var(--line-2);background:var(--surface);border-radius:24px;flex-direction:column;align-items:flex-start;padding:32px;display:flex}.pg-plan.is-featured{background:var(--stage);color:#211e17;border-color:#0000}.pg-plan-tag{color:#faf8f2;vertical-align:1px;background:#211e17;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:600;line-height:1rem}.pg-plan-name{font-size:1rem;font-weight:600}.pg-plan-cost{letter-spacing:-.04em;margin-top:16px;font-size:3rem;font-weight:600;line-height:1}.pg-plan-cost small{letter-spacing:0;color:var(--muted);font-size:1rem;font-weight:500}.pg-plan-meta{color:var(--muted);margin-top:12px;font-size:.875rem;font-weight:600;line-height:1.25rem}.pg-plan ul{flex:1;gap:12px;margin:32px 0 40px;list-style:none;display:grid}.pg-plan li{gap:12px;font-size:.875rem;line-height:1.25rem;display:flex}.pg-plan li svg{fill:none;width:16px;height:16px;stroke:var(--accent-text);stroke-width:2.4px;flex:none;margin-top:2px}.pg-plan.is-featured .pg-plan-cost small,.pg-plan.is-featured .pg-plan-meta{color:#211e17ad}.pg-plan.is-featured li svg{stroke:#211e17}.pg-plan.is-featured .btn.primary{color:#faf8f2;background:#211e17}.doc{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:48px;padding-top:48px;padding-bottom:32px;display:grid}.doc-nav{flex-direction:column;gap:32px;display:flex;position:sticky;top:98px}.doc-toc{flex-direction:column;gap:4px;list-style:none;display:flex}.doc-toc a{border-left:1.5px solid var(--line);color:var(--muted);transition:color var(--hover), border-color var(--hover);padding:4px 0 4px 12px;font-size:.875rem;line-height:1.25rem;display:block}.doc-toc a:hover{color:var(--ink)}.doc-toc a.is-active{color:var(--ink);border-left-color:var(--accent-2);font-weight:500}.doc-nav-cta{flex-direction:column;gap:8px;display:flex}.doc-nav-cta .btn{width:100%}.doc-sheet{border:1px solid var(--line);background:var(--surface);border-radius:24px;max-width:840px;padding:80px 96px 96px}.doc-head h1{text-align:left;letter-spacing:-.045em;max-width:18ch;margin:16px 0 0;font-size:3.5rem;font-weight:700;line-height:1.04}.doc-sub{color:var(--muted);max-width:52ch;margin-top:24px;font-size:1.125rem;line-height:1.6}.doc-sec{border-top:1px solid var(--line);margin-top:64px;padding-top:32px;scroll-margin-top:96px}.doc-label{color:var(--muted);font-size:.875rem;line-height:1.25rem}.doc-sec h2{letter-spacing:-.02em;margin:12px 0 16px;font-size:1.5rem;line-height:2rem}.doc-body>p{color:var(--ink-soft);max-width:64ch;font-size:1rem;line-height:1.7}.doc-body>p+*{margin-top:16px}.doc-numbered li{padding:0}.doc-numbered li>a,.doc-numbered li>div{color:inherit;flex:1;gap:16px;padding:16px 32px 16px 0;text-decoration:none;display:flex;position:relative}.doc-numbered li>a:after{content:"→";color:var(--faint);transition:transform .3s var(--ease), color var(--hover);position:absolute;top:16px;right:4px}.doc-numbered li>a:hover:after{color:var(--ink);transform:translate(4px)}.doc-num-t{color:var(--ink);font-weight:600;display:block}.doc-num-p{color:var(--muted);font-size:.875rem;line-height:1.25rem;display:block}.doc .pg-faq details:first-child{border-top:1px solid var(--line)}.doc+.pg-final{padding-top:64px}.doc+.pg-final .pg-final-inner{border-top:0;padding-top:0}.pg-note{color:var(--muted);margin-top:24px;font-size:.875rem;line-height:1.25rem}.pg-note a{color:var(--ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}@media (max-width:960px){.pg-side .pg-sec-grid,.pg-side .pg-sec-head:only-child{grid-template-columns:1fr}.pg-side .pg-sec-head{position:static}.pg-stack .pg-sec-head{grid-template-columns:1fr;margin-bottom:40px}.pg-points,.pg-points.is-2{grid-template-columns:minmax(0,1fr);column-gap:0}.pg-point{padding:24px 0 40px}.pg-point-fig{max-width:480px}.pg-plans{grid-template-columns:1fr}.pg-specs,.pg-specs.is-4,.pg-siblings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pg-siblings a{border-bottom:1px solid var(--line)}.pg-siblings a:nth-child(2n){border-right:0}.pg-siblings a:nth-child(odd){padding-left:0}.pg-siblings a:nth-last-child(-n+2){border-bottom:0}}@media (max-width:760px){.pg-hero{padding:40px 0 48px}.pg-hero-top>h1{font-size:2.25rem;line-height:1.1}.pg-hero-row{gap:24px;margin-top:0}.pg-sub{font-size:1rem}.pg-proof{flex-direction:column;gap:8px;padding-top:24px}.pg-hero.has-stage .pg-proof{justify-content:flex-start}.pg-stage-wrap{padding:0 16px}.pg-hero-stage{margin-top:40px}.pg-stage{border-radius:20px;padding:16px}.pg-sec{padding:64px 0}.pg-sec-title h2,.pg-side .pg-sec-title h2{font-size:1.875rem;line-height:1.2}.pg-stack .pg-lead{font-size:1.125rem}.pg-rows li{padding:16px 0;font-size:1rem}.pg-links li a{padding:16px 32px 16px 0}.pg-links li a:after{top:16px}.pg-faq summary{padding:16px 0;font-size:1rem;line-height:1.5rem}.pg-faq details p{padding-right:0}.pg-final{padding:48px 0 80px}.pg-final-inner{gap:24px;padding-top:48px}.pg-final h2{font-size:1.875rem;line-height:1.2}.pg-plan{border-radius:20px;padding:24px}.pg-specs,.pg-specs.is-2{gap:32px 24px}.pg-siblings a{min-height:128px;padding:24px 16px 24px 0}.pg-siblings a+a{padding-left:16px}.pg-sib-t{font-size:1rem}.pg-hero-row .pg-cta{flex-direction:column;gap:16px}.doc{padding-top:16px;padding-inline:8px}.doc-sheet{border-radius:20px;padding:32px 20px 40px}.doc-head h1{font-size:2.25rem;line-height:1.08}.doc-sub{font-size:1rem}.doc-sec{margin-top:48px}.pg-sec .compare{table-layout:fixed;min-width:0}.pg-sec .compare th,.pg-sec .compare td{padding:12px 4px;line-height:1rem}.pg-sec .compare thead th{font-size:.75rem;line-height:1rem}.pg-sec .compare th.grp{font-size:.875rem}.pg-sec .compare tbody th[scope=row]{white-space:normal;width:36%;padding-left:8px;font-size:.875rem;line-height:1.25rem}.pg-sec .compare .txt{font-size:.75rem;line-height:1rem}.pg-sec .compare .yes{width:22px;height:22px}.pg-sec .compare.wide{table-layout:auto;min-width:680px}.pg-sec .compare.wide tbody th[scope=row]{z-index:1;background:var(--canvas);width:132px;min-width:132px;box-shadow:1px 0 0 var(--line);position:sticky;left:0}}
:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-hover:cubic-bezier(.25, .46, .45, .94);--hover:.15s var(--ease-hover)}.nav .lnk,.toggle,.ghlink,.nav-toggle,.dl-close,.copy-link,.pg-proof a,.home-proof a,.m-menu nav a,.pg-lead a,.pg-rows li a,.prose a,.pg-note a{transition:color var(--hover), background-color var(--hover), border-color var(--hover), text-decoration-color var(--hover), transform .2s var(--ease-out)}.toggle:active,.ghlink:active,.nav-toggle:active,.dl-close:active,.copy-link:active{transform:scale(.94)}header{view-transition-name:site-header;background:0 0}header:before{content:"";z-index:-1;background:color-mix(in srgb, var(--canvas) 82%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(16px);backdrop-filter:saturate(1.6)blur(16px);position:absolute;inset:0}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){header,header:before{animation:linear both header-edge;animation-timeline:scroll(root);animation-range:0 48px}}}@keyframes header-edge{0%{background-color:var(--canvas);border-bottom-color:#0000}}.hero-word{display:inline-block}@media (prefers-reduced-motion:no-preference){:root:not([data-return]) :is(.hero-in>:not(h1,.pg-hero-row,.home-hero-row),.hero-in>h1:not(:has(.hero-word)),.hero-in :is(.pg-hero-row,.home-hero-row)>*,.hero-in .hero-word){animation:hero-rise 1s var(--ease-out) var(--hd,0s) backwards}.hero-in .hero-word{--hd:calc(40ms + min(var(--wi), 9) * 28ms)}.hero-in>h1~:not(.pg-hero-row,.home-hero-row),.hero-in :is(.pg-hero-row,.home-hero-row)>:first-child{--hd:.22s}.hero-in :is(.pg-hero-row,.home-hero-row)>:nth-child(2){--hd:.32s}:root:not([data-return]) .hero-stage-in{animation:hero-stage 1.4s var(--ease-out) .38s backwards}:root:not([data-return]) .hero-proof-in{animation:1s .7s backwards hero-fade}}@keyframes hero-rise{0%{opacity:.01;filter:blur(8px);transform:translateY(12px)}}@keyframes hero-stage{0%{opacity:0;transform:translateY(40px)}}@keyframes hero-fade{0%{opacity:0}}@media (prefers-reduced-motion:no-preference){[data-rv=wait]{opacity:0}[data-rv=in]{animation:rv-in .9s var(--ease-out) var(--rv-delay,0s) backwards}[data-rv=in] .compare .yes{animation:tick-in .5s var(--ease-out) backwards;animation-delay:calc(var(--rv-delay,0s) + .25s + var(--r,0) * 45ms)}}@keyframes rv-in{0%{opacity:0;transform:translateY(16px)}}@keyframes tick-in{0%{opacity:0;transform:scale(.5)}}.compare tbody tr:nth-child(2){--r:1}.compare tbody tr:nth-child(3){--r:2}.compare tbody tr:nth-child(4){--r:3}.compare tbody tr:nth-child(5){--r:4}.compare tbody tr:nth-child(6){--r:5}.compare tbody tr:nth-child(7){--r:6}.compare tbody tr:nth-child(8){--r:7}.compare tbody tr:nth-child(9){--r:8}.compare tbody tr:nth-child(n+10){--r:9}@media print{[data-rv]{opacity:1!important;animation:none!important}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.read-along{view-timeline-name:--read}.read-along .rw{animation:linear both read-word;animation-timeline:--read;animation-range:cover calc(12% + var(--ri) * 28%) cover calc(19% + var(--ri) * 28%)}}}@keyframes read-word{0%{color:color-mix(in srgb, var(--ink) 16%, var(--canvas))}}@media (prefers-reduced-motion:no-preference){.pg-faq details{interpolate-size:allow-keywords}.pg-faq details::details-content{block-size:0;transition:block-size .4s var(--ease), content-visibility .4s allow-discrete;overflow-y:clip}.pg-faq details[open]::details-content{block-size:auto}.pg-faq details p{opacity:0;transition:opacity .3s var(--ease-hover), transform .4s var(--ease);transform:translateY(-4px)}.pg-faq details[open] p{opacity:1;transform:none}}.nav-toggle path{transform-box:fill-box;transform-origin:50%;transition:transform .35s var(--ease), opacity .2s var(--ease-hover)}.nav-toggle[aria-expanded=true] .l1{transform:translateY(6px)rotate(45deg)}.nav-toggle[aria-expanded=true] .l2{opacity:0;transform:scaleX(.3)}.nav-toggle[aria-expanded=true] .l3{transform:translateY(-6px)rotate(-45deg)}@media (prefers-reduced-motion:no-preference){.m-scrim{animation:mv-fade-in .3s var(--ease-out) both}.m-menu{animation:m-in .5s var(--ease) both}.m-menu nav>*,.m-menu>.btn{animation:m-item .5s var(--ease-out) backwards;animation-delay:calc(80ms + min(var(--mi,0), 12) * 18ms)}.m-scrim.is-closing{animation:.24s ease-in both mv-fade-out}.m-scrim.is-closing .m-menu{animation:.24s cubic-bezier(.4,0,1,1) both m-out}}@keyframes m-in{0%{transform:translate(100%)}}@keyframes m-out{to{transform:translate(100%)}}@keyframes m-item{0%{opacity:0;transform:translate(16px)}}@keyframes mv-fade-in{0%{opacity:0}}@keyframes mv-fade-out{to{opacity:0}}@media (prefers-reduced-motion:no-preference){.dl-scrim{animation:mv-fade-in .2s var(--ease-out)}.dl-modal{animation:dl-pop .35s var(--ease-out)}.dl-scrim.is-closing{animation:.18s ease-in both mv-fade-out}.dl-scrim.is-closing .dl-modal{animation:.18s ease-in both dl-pop-out}}@keyframes dl-pop{0%{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes dl-pop-out{to{opacity:0;transform:scale(.97)}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-old(root){animation-duration:.28s;animation-timing-function:var(--ease-hover)}::view-transition-new(root){animation-duration:.28s;animation-timing-function:var(--ease-hover)}
