*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}body,h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}ul[class],ol[class]{list-style:none;padding:0}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:root{color-scheme:light;--ground: #fbfaf9;--surface: #ffffff;--surface-2:#f4f2ef;--ink: #16171a;--ink-2: #4e525a;--ink-3: #7b8089;--line: #e3e0dc;--line-soft:#efedea;--rust: #b34a26;--rust-2: #963d1f;--rust-wash: #fbeee8;--slate: #38455a;--slate-wash:#eef1f5;--good: #1f6b4c;--good-wash: #e7f2ec;--warn: #92651a;--warn-wash: #f8f0dd;--display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--body: "Public Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--shell: 1180px;--gutter: clamp(1.1rem, 4vw, 2.5rem);--r: 12px;--r-sm: 8px;--ease: cubic-bezier(.22, .71, .28, 1);--shadow: 0 1px 2px rgb(22 23 26 / .05), 0 12px 30px -14px rgb(22 23 26 / .24);--shadow-lg: 0 2px 6px rgb(22 23 26 / .06), 0 30px 60px -26px rgb(22 23 26 / .34)}body{background:var(--ground);color:var(--ink);font-family:var(--body);font-size:1rem;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:var(--rust);color:#fff}:focus-visible{outline:2px solid var(--rust);outline-offset:3px;border-radius:3px}.skip{position:absolute;left:.75rem;top:-4rem;z-index:200;background:var(--ink);color:#fff;padding:.7rem 1.1rem;border-radius:var(--r-sm);transition:top .18s var(--ease)}.skip:focus{top:.75rem}.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}.narrow{width:100%;max-width:780px;margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3rem,6vw,5.5rem)}.tight{padding-block:clamp(2rem,4vw,3rem)}.alt{background:var(--surface-2)}.stack{display:flex;flex-direction:column}.g-xs{gap:.45rem}.g-sm{gap:.85rem}.g-md{gap:1.35rem}.g-lg{gap:2.25rem}.row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}.between{justify-content:space-between}.rule{height:1px;background:var(--line);border:0}.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}.h1{font-family:var(--display);font-size:clamp(2.3rem,1.4rem + 3.6vw,3.9rem);font-weight:600;line-height:1.04;letter-spacing:-.028em;text-wrap:balance}.h2{font-family:var(--display);font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem);font-weight:600;line-height:1.14;letter-spacing:-.02em;text-wrap:balance}.h3{font-family:var(--display);font-size:1.15rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.lede{font-size:1.075rem;color:var(--ink-2);max-width:62ch;line-height:1.7}.muted{color:var(--ink-3)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.prose{max-width:68ch;color:var(--ink-2)}.prose>*+*{margin-top:1em}.header{position:sticky;top:0;z-index:60;background:color-mix(in oklab,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-in{display:flex;align-items:center;gap:1rem;min-height:64px}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;margin-right:auto}.brand-mark{font-family:var(--display);font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.brand-dot{width:9px;height:9px;border-radius:999px;background:var(--rust)}.nav{display:flex;gap:.15rem}.nav a{padding:.45rem .8rem;font-size:.9rem;text-decoration:none;border-radius:var(--r-sm);color:var(--ink-2);transition:background-color .18s var(--ease),color .18s var(--ease)}.nav a:hover{background:var(--surface-2);color:var(--ink)}.nav a.on{color:var(--ink);font-weight:500;background:var(--surface-2)}@media(max-width:720px){.nav a{padding:.4rem .55rem;font-size:.84rem}.brand-mark{font-size:1.05rem}}.btn{--bg: var(--ink);--fg: #fff;--bd: var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.62rem 1.15rem;background:var(--bg);color:var(--fg);border:1px solid var(--bd);border-radius:var(--r-sm);font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .16s var(--ease),filter .16s var(--ease),background-color .16s var(--ease),color .16s var(--ease)}.btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn:active{transform:none}.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;filter:none}.btn-rust{--bg: var(--rust);--bd: var(--rust)}.btn-ghost{--bg: transparent;--fg: var(--ink);--bd: var(--line)}.btn-ghost:hover{--bg: var(--surface-2);filter:none}.btn-sm{padding:.4rem .75rem;font-size:.82rem}.btn-block{width:100%}.link{color:var(--rust);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--rust) 35%,transparent)}.link:hover{border-bottom-color:var(--rust)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.pad{padding:1.3rem}.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.grid-2{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.split{display:grid;gap:clamp(1.5rem,4vw,3rem);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start}@media(max-width:940px){.split{grid-template-columns:minmax(0,1fr)}}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.pill-good{background:var(--good-wash);color:var(--good);border-color:color-mix(in oklab,var(--good) 26%,transparent)}.pill-warn{background:var(--warn-wash);color:var(--warn);border-color:color-mix(in oklab,var(--warn) 30%,transparent)}.pill-quiet{background:var(--surface-2);color:var(--ink-3);border-color:var(--line)}.pill-rust{background:var(--rust-wash);color:var(--rust);border-color:color-mix(in oklab,var(--rust) 26%,transparent)}.pill-slate{background:var(--slate-wash);color:var(--slate);border-color:color-mix(in oklab,var(--slate) 22%,transparent)}.chat{display:grid;grid-template-rows:auto 1fr auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;height:min(620px,78vh)}.chat-head{display:flex;align-items:center;gap:.7rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--line);background:var(--surface)}.chat-live{width:8px;height:8px;border-radius:999px;background:var(--good);box-shadow:0 0 0 3px var(--good-wash)}.chat-log{overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.chat-foot{border-top:1px solid var(--line);padding:.8rem;display:grid;gap:.6rem;background:var(--surface)}.msg{display:grid;gap:.4rem;max-width:92%;animation:msgIn .35s var(--ease)}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.msg-visitor{justify-self:end}.msg-bubble{padding:.7rem .95rem;border-radius:var(--r);font-size:.94rem;line-height:1.6;white-space:pre-wrap}.msg-visitor .msg-bubble{background:var(--ink);color:#fff;border-bottom-right-radius:3px}.msg-assistant .msg-bubble{background:var(--surface-2);border:1px solid var(--line);border-bottom-left-radius:3px}.msg-refused .msg-bubble{background:var(--warn-wash);border-color:color-mix(in oklab,var(--warn) 30%,transparent)}.msg-meta{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-family:var(--mono);font-size:.68rem;color:var(--ink-3)}.src{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .45rem;border-radius:999px;background:var(--slate-wash);color:var(--slate);text-decoration:none;border:1px solid color-mix(in oklab,var(--slate) 18%,transparent)}.src:hover{background:var(--slate);color:#fff}.typing{display:inline-flex;gap:4px;padding:.8rem .95rem}.typing i{width:6px;height:6px;border-radius:999px;background:var(--ink-3);animation:bounce 1.1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:none;opacity:.4}30%{transform:translateY(-5px);opacity:1}}.ask{display:flex;gap:.5rem}.ask input{flex:1;min-width:0}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{padding:.3rem .6rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:.78rem;cursor:pointer;color:var(--ink-2);transition:border-color .16s var(--ease),color .16s var(--ease)}.chip:hover{border-color:var(--rust);color:var(--rust)}.chip-off{border-style:dashed}.field{display:grid;gap:.35rem;min-width:0}.label{font-family:var(--mono);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.input,.textarea,.select{width:100%;min-width:0;font-family:var(--body);font-size:16px;font-weight:300;padding:.6rem .8rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.textarea{min-height:90px;resize:vertical}.select{appearance:none;cursor:pointer;padding-right:2rem}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--rust);box-shadow:0 0 0 3px var(--rust-wash)}.err{color:var(--rust);font-size:.84rem}.notice{display:grid;gap:.3rem;padding:.85rem 1rem;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);font-size:.88rem}.notice-warn{background:var(--warn-wash);border-color:color-mix(in oklab,var(--warn) 30%,transparent)}.notice-bad{background:var(--rust-wash);border-color:color-mix(in oklab,var(--rust) 30%,transparent);color:var(--rust)}.gauge{display:grid;gap:.3rem}.gauge-track{position:relative;height:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.gauge-fill{position:absolute;inset:0 auto 0 0;background:var(--good);transition:width .5s var(--ease)}.gauge-low .gauge-fill{background:var(--warn)}.gauge-mark{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:680px}.table th,.table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}.table th{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background-color .16s var(--ease)}.table tbody tr:hover td{background:var(--surface-2)}.stat{display:grid;gap:.2rem;padding:1rem 1.15rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.stat-n{font-family:var(--display);font-size:1.85rem;font-weight:600;line-height:1}.stat-l{font-family:var(--mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3)}.code{background:var(--ink);color:#e8e6e3;border-radius:var(--r);padding:1rem 1.1rem;overflow-x:auto;font-family:var(--mono);font-size:.8rem;line-height:1.7}.code .k{color:#e0a06a}.code .s{color:#9dc4a0}.code .c{color:#7b8089}.endpoint{display:grid;grid-template-columns:74px 1fr;gap:.8rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--line-soft);font-size:.88rem}.endpoint:last-child{border-bottom:0}.verb{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;padding:.18rem .4rem;border-radius:5px;text-align:center;background:var(--slate-wash);color:var(--slate)}.verb-post{background:var(--rust-wash);color:var(--rust)}.footer{border-top:1px solid var(--line);background:var(--surface);margin-top:auto}.footer-in{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;padding-block:2rem}.footer a{color:var(--ink-2);text-decoration:none;font-size:.88rem}.footer a:hover{color:var(--rust)}.disclose{border-top:1px solid var(--line-soft);padding-block:1rem;font-size:.78rem;color:var(--ink-3);line-height:1.7}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.in{opacity:1;transform:none}.spin{width:15px;height:15px;border-radius:999px;border:2px solid color-mix(in oklab,currentColor 25%,transparent);border-top-color:currentColor;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line-soft) 50%,var(--surface-2) 75%);background-size:400% 100%;animation:shim 1.4s ease infinite;border-radius:var(--r-sm)}@keyframes shim{to{background-position:-135% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}.app{display:flex;flex-direction:column;min-height:100dvh}.main{flex:1 0 auto}
