@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-var-latin.woff2) format("woff2")}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:300 700;src:url(/fonts/source-serif-var-latin.woff2) format("woff2")}@font-face{font-family:Inter Fallback;src:local("Arial");size-adjust:107.4%;ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%}:root{--bg: #faf9f5;--fg: #141413;--muted: #5c594f;--line: #e8e6dc;--accent: #b8512f;--accent-ink: #ffffff;--soft: #f3efe6;--soft2: #ece8dd;--card: #fffefb;--code-bg: #f4f2ea;--code-fg: #34322c;--green: #5c7148;--link: #b8512f;--shadow: 0 1px 2px rgba(40,34,24,.05);--shadow-lg: 0 6px 22px rgba(40,34,24,.1);--max: 1120px;--radius: 10px;--sp-1: 6px;--sp-2: 12px;--sp-3: 20px;--sp-4: 32px;--sp-5: 52px;--sp-6: 80px;--font: "Inter Variable", "Inter Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: "Source Serif 4 Variable", Georgia, "Times New Roman", serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}html[data-theme=dark]{--bg: #262521;--fg: #ecebe6;--muted: #a8a59b;--line: #3a3833;--accent: #d97757;--accent-ink: #241f1b;--soft: #2e2c28;--soft2: #34322d;--card: #2b2a26;--code-bg: #1c1b18;--code-fg: #e4e1d8;--link: #d97757;--green: #9bb37a;--shadow: 0 1px 2px rgba(0,0,0,.35);--shadow-lg: 0 8px 28px rgba(0,0,0,.45);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--fg);background:var(--bg);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:0 0 8px;z-index:100}.skip:focus{left:0}:where(a,button,.btn,.iconbtn,input,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}header.site{border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);z-index:20}header.site .row{display:flex;align-items:center;gap:22px;height:62px}.brand{font-weight:700;font-size:18px;color:var(--fg);letter-spacing:-.02em}.brand span{color:var(--accent)}header.site nav{display:flex;gap:18px;margin-left:auto;align-items:center;flex-wrap:wrap}header.site nav a{color:var(--muted);font-size:14px;font-weight:500}header.site nav a.active,header.site nav a:hover{color:var(--fg);text-decoration:none}.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:9px 16px;border-radius:8px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:opacity .15s ease}.btn:hover{text-decoration:none;opacity:.9}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--accent);opacity:1}.iconbtn{background:transparent;border:1px solid var(--line);color:var(--muted);width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.iconbtn:hover{color:var(--fg);border-color:var(--accent)}main{padding:0 0 var(--sp-6)}h1{font-family:var(--serif);font-size:clamp(33px,4.6vw,45px);line-height:1.1;letter-spacing:-.018em;margin:0 0 16px;font-weight:600;text-wrap:balance}h2{font-family:var(--serif);font-size:30px;letter-spacing:-.012em;margin:var(--sp-5) 0 var(--sp-2);font-weight:600;scroll-margin-top:80px}h3{font-size:19px;margin:var(--sp-3) 0 var(--sp-1);font-weight:650;letter-spacing:-.01em}p.lead{font-size:19px;color:var(--muted);max-width:660px;line-height:1.55}pre{background:var(--code-bg);color:var(--code-fg);padding:16px;border-radius:var(--radius);overflow-x:auto;font-size:13.5px;font-family:var(--mono);position:relative;border:1px solid var(--line)}code{font-family:var(--mono);font-size:.92em}:not(pre)>code{background:var(--soft2);padding:1px 5px;border-radius:5px}pre .copy{position:absolute;top:8px;right:8px;background:var(--soft2);color:var(--muted);border:1px solid var(--line);border-radius:6px;font-size:11px;padding:4px 8px;cursor:pointer;opacity:0;transition:opacity .15s;font-family:var(--font)}pre:hover .copy,pre:focus-within .copy{opacity:1}pre .copy:hover{color:var(--fg);border-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:14px;margin:var(--sp-2) 0}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}.pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:var(--soft2);color:var(--muted);letter-spacing:.01em}.pill.get{background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent)}.pill.post{background:transparent;color:var(--green);border:1px solid color-mix(in srgb,var(--green) 38%,transparent)}.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--card);box-shadow:var(--shadow);transition:border-color .15s}a.card:hover{border-color:var(--accent);text-decoration:none}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.muted{color:var(--muted)}.note{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--accent);padding:12px 14px;border-radius:0 8px 8px 0;font-size:14px}.stat{text-align:center;padding:18px 12px}.stat .n{font-size:30px;font-weight:700;letter-spacing:-.02em;font-family:var(--serif)}.stat .l{font-size:13px;color:var(--muted)}footer.site{border-top:1px solid var(--line);padding:var(--sp-4) 0;color:var(--muted);font-size:13px;margin-top:var(--sp-6)}footer.site a{color:var(--muted)}footer.site a:hover{color:var(--fg)}.hero{padding:var(--sp-6) 0 var(--sp-3)}.endpoint{font-family:var(--mono);font-size:13.5px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:0}.tabs button{background:none;border:none;padding:8px 12px;font-size:13px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;font-family:var(--font)}.tabs button.active{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
