:root{--paper: #f4f0e8;--paper-2: #ece6da;--card: #fbf9f4;--ink: #15120f;--ink-2: #2a2621;--muted: #6e665b;--line: #e2dacb;--teal: #287165;--teal-ink: #1f5a50;--mint: #8fd6c8;--gold: #936725;--gold-soft: #d2ae6a;--bad: #b8322a;--cream: #f2eee6;--night-muted: #a39a8d;--night-line: #2e2924;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: "Inter Tight", "Inter", -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--wrap: 1180px;--gutter: clamp(16px, 4vw, 40px);--radius: 18px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:6px}::selection{background:var(--mint);color:var(--ink)}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}.skip{position:absolute;inset-inline-start:-999px;top:8px;background:var(--ink);color:var(--cream);padding:8px 14px;border-radius:8px;z-index:100}.skip:focus{inset-inline-start:8px}h1,h2,h3,h4{font-family:var(--display);margin:0;color:inherit}.h1{font-size:clamp(44px,7.4vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.96}.h2{font-size:clamp(32px,4.6vw,54px);font-weight:780;letter-spacing:-.035em;line-height:1.02}.h3{font-size:22px;font-weight:680;letter-spacing:-.015em;line-height:1.2}.dot{color:var(--teal)}.night .dot{color:var(--mint)}.lede{font-size:clamp(18px,2vw,21px);line-height:1.55;color:var(--muted);max-width:40em;margin:20px 0 0}.night .lede{color:var(--night-muted)}p{margin:0 0 1em;max-width:68ch}.muted{color:var(--muted)}.small{font-size:14px}code,pre,kbd{font-family:var(--mono);font-size:.88em}:not(pre)>code{background:var(--paper-2);border-radius:6px;padding:1px 6px}.night :not(pre)>code{background:var(--night-line)}.btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;font:600 16px/1 var(--font);text-decoration:none;border:1.5px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,transform .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-ink)}.btn-quiet{border-color:var(--line);background:transparent;color:var(--ink)}.btn-quiet:hover{border-color:var(--ink)}.night .btn-primary{background:var(--mint);color:var(--ink)}.night .btn-primary:hover{background:#a9e2d6}.night .btn-quiet{border-color:var(--night-line);color:var(--cream)}.night .btn-quiet:hover{border-color:var(--cream)}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.textlink{color:var(--teal);font-weight:600;text-decoration:none}.textlink:hover{text-decoration:underline;text-underline-offset:3px}.night .textlink{color:var(--mint)}.site-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent}.site-head.scrolled{border-bottom-color:var(--line)}.site-head .wrap{display:flex;align-items:center;gap:28px;height:68px}.brand{display:flex;align-items:center;gap:10px;font:700 18px/1 var(--display);letter-spacing:-.02em;text-decoration:none}.brand-mark{width:32px;height:32px;border-radius:9px;background:var(--teal);display:grid;place-items:center;color:#fff}.nav{display:flex;align-items:center;gap:4px}.nav>a,.nav summary{padding:8px 12px;border-radius:10px;font-size:15px;font-weight:500;text-decoration:none;cursor:pointer;list-style:none}.nav summary::-webkit-details-marker{display:none}.nav>a:hover,.nav summary:hover,.nav a[aria-current=page]{background:var(--paper-2)}.nav details{position:relative}.nav .menu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;width:340px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;box-shadow:0 18px 50px #15120f1f}.nav .menu a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none}.nav .menu a:hover{background:var(--paper-2)}.nav .menu b{display:block;font-size:15px;font-weight:600}.nav .menu span{display:block;font-size:13px;color:var(--muted);line-height:1.4}.head-cta{margin-inline-start:auto;display:flex;gap:8px;align-items:center}.head-cta .btn{height:40px;padding:0 16px;font-size:15px}.menu-toggle{display:none;margin-inline-start:auto;background:none;border:0;padding:8px;cursor:pointer;color:inherit}@media(max-width:900px){.nav,.head-cta{display:none}.menu-toggle{display:block}.site-head.open .nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:12px var(--gutter) 20px;border-bottom:1px solid var(--line);max-height:calc(100vh - 68px);overflow-y:auto}.site-head.open .nav .menu{position:static;width:auto;box-shadow:none;border:0;padding:0 0 0 8px;background:transparent}.site-head.open .nav .mobile-only{display:flex;justify-content:center;margin-top:10px}}.mobile-only{display:none}.section{padding:clamp(72px,10vw,128px) 0}.section.tight{padding:clamp(48px,6vw,80px) 0}.night{background:var(--ink);color:var(--cream)}.band{background:var(--paper-2)}.page-head{padding:clamp(56px,9vw,112px) 0 clamp(40px,5vw,64px)}.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,72px);align-items:center}.split.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.split>*,.cols>*{min-width:0}.split.flip>:first-child{order:2}@media(max-width:900px){.split,.split.flip{grid-template-columns:1fr}.split.flip>:first-child{order:0}}.cols{display:grid;grid-template-columns:repeat(var(--n, 3),minmax(0,1fr));gap:clamp(24px,3vw,40px)}@media(max-width:900px){.cols{grid-template-columns:1fr}}.rule-list{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}.rule-list li{padding:16px 0;border-bottom:1px solid var(--line)}.night .rule-list,.night .rule-list li{border-color:var(--night-line)}.rule-list b{display:block;font-weight:650}.rule-list span{color:var(--muted);font-size:15.5px}.night .rule-list span{color:var(--night-muted)}.shot{margin:0}.shot .frame{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card);box-shadow:0 30px 80px -30px #15120f59}.shot .bar{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--paper-2)}.shot .bar i{width:10px;height:10px;border-radius:50%;background:#d8cfbf}.shot figcaption{font-size:14px;color:var(--muted);margin-top:12px}.night .shot .frame{border-color:var(--night-line)}.bleed{margin-inline-end:calc(-1 * var(--gutter))}@media(max-width:900px){.bleed{margin-inline-end:0}}.code{background:#1c1915;color:#ebe5da;border-radius:14px;border:1px solid var(--night-line);overflow:hidden}.code .tabs{display:flex;gap:2px;padding:8px 8px 0;border-bottom:1px solid var(--night-line);overflow-x:auto}.code .tabs button{background:none;border:0;color:var(--night-muted);font:500 13px/1 var(--font);padding:10px 12px;border-radius:8px 8px 0 0;cursor:pointer}.code .tabs button[aria-selected=true]{color:var(--cream);background:#2a2520}.code .copy{margin-inline-start:auto}.code pre{margin:0;padding:18px 20px;overflow-x:auto;font-size:13.5px;line-height:1.65}.code .c{color:#8a8174}.code .s{color:var(--mint)}.code .k{color:var(--gold-soft)}.toggle{display:inline-flex;background:var(--paper-2);border-radius:999px;padding:4px;gap:2px}.toggle button{border:0;background:none;font:600 14px/1 var(--font);padding:10px 16px;border-radius:999px;cursor:pointer;color:var(--muted)}.toggle button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px #00000014}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{font-weight:650;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:400;font-size:24px;line-height:1;color:var(--muted);transition:transform .2s}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{margin:12px 0 0;color:var(--muted)}.prose{max-width:720px}.prose h2{font-size:30px;font-weight:760;letter-spacing:-.03em;margin:48px 0 12px}.prose h3{font-size:21px;font-weight:680;margin:32px 0 8px}.prose ul,.prose ol{padding-inline-start:22px}.prose li{margin:6px 0;max-width:66ch}.prose table{border-collapse:collapse;width:100%;font-size:15px;margin:16px 0 24px}.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}.prose th{font-weight:650}.prose blockquote{margin:20px 0;padding-block:4px;padding-inline:18px 0;border-inline-start:3px solid var(--teal);color:var(--ink-2)}.callout{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}.tag{display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--teal) 14%,transparent);color:var(--teal-ink)}.night .tag{background:color-mix(in srgb,var(--mint) 16%,transparent);color:var(--mint)}.reveal [data-grow]{transform-origin:bottom;transform:scaleY(0);transition:transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in [data-grow]{transform:scaleY(1)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;transition:none!important}.reveal [data-grow]{transform:none}}.site-foot{background:var(--ink);color:var(--cream);padding:72px 0 40px}.site-foot .cols{--n: 5}.site-foot h2{font:600 14px/1 var(--font);color:var(--night-muted);margin-bottom:14px}.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{margin:9px 0;font-size:15px}.site-foot a{text-decoration:none}.site-foot a:hover{text-decoration:underline}.site-foot .fine{margin-top:56px;padding-top:24px;border-top:1px solid var(--night-line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:var(--night-muted);font-size:14px}html:not([data-gst=on]) [data-gst-only]{display:none!important}
