:root{--paper:#eef1f4;--surface:#fff;--ink:#1b2733;--ink-soft:#56646f;--ink-faint:#8494a0;--rule:#cbd4dc;--rule-soft:#dee5ea;--code-bg:#16212c;--code-ink:#dce5ec;--accent:#2c5f7c;--accent-soft:#dde7ed;--warn:#a03e52;--warn-bg:#f7eaed;--ok:#3f6b52;--ok-bg:#e9f0eb;--chip:#e3e9ed;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:"Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, system-ui, sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#101319;--surface:#181d25;--ink:#e4e9ef;--ink-soft:#9aa5b2;--ink-faint:#6f7b89;--rule:#2a313c;--rule-soft:#222933;--code-bg:#0a0e13;--code-ink:#ccd5df;--accent:#74b8cd;--accent-soft:#1a2f38;--warn:#d2a35f;--warn-bg:#2a2318;--ok:#78b98c;--ok-bg:#1b2c21;--chip:#232b36}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15.5px;line-height:1.75}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{max-width:1140px;margin:0 auto;padding:0 24px}.hero{border-bottom:1px solid var(--rule);padding:64px 0 44px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:12px}h1{letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(30px,5vw,44px);font-weight:700;line-height:1.2}.lede{max-width:58ch;color:var(--ink-soft);margin:0;font-size:17px}.services{grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:12px;margin:36px 0 0;padding:0;list-style:none;display:grid}.services a{background:var(--surface);border:1px solid var(--rule);height:100%;color:inherit;flex-direction:column;gap:2px;padding:16px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.services a:hover{border-color:var(--accent);transform:translateY(-2px)}.svc-label{font-family:var(--mono);color:var(--accent);font-size:16px;font-weight:500}.svc-host{font-family:var(--mono);color:var(--ink-faint);word-break:break-all;font-size:12px}.svc-desc{color:var(--ink-soft);margin-top:8px;font-size:14px}.svc-state{color:var(--ink-faint);margin-top:auto;padding-top:8px;font-size:12.5px}.specs{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:28px 0 0;display:grid}.specs>div{background:var(--surface);padding:12px 16px}.specs dt{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.specs dd{font-family:var(--mono);color:var(--ink);word-break:break-all;margin:2px 0 0;font-size:13.5px}.grid{grid-template-columns:190px minmax(0,1fr);align-items:start;gap:56px;display:grid}@media (width<=900px){.grid{grid-template-columns:1fr;gap:0}}.rail{padding-top:52px;position:sticky;top:24px}@media (width<=900px){.rail{padding-top:28px;position:static}}.rail h2{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);border:0;margin:0 0 12px;padding:0;font-size:12px;font-weight:600}.rail ol{counter-reset:r;margin:0;padding:0;list-style:none}.rail li{counter-increment:r}.rail a{color:var(--ink-soft);gap:10px;padding:5px 0;font-size:14px;text-decoration:none;display:flex}.rail a:before{content:counter(r, decimal-leading-zero);font-family:var(--mono);color:var(--ink-faint);font-size:11.5px}.rail a:hover{color:var(--accent)}main{min-width:0;padding:52px 0 90px}section{padding-bottom:56px;scroll-margin-top:24px}section+section{border-top:1px solid var(--rule);padding-top:48px}section>h2{letter-spacing:-.02em;margin:0 0 14px;font-size:25px;font-weight:700}.blurb{color:var(--ink-soft);max-width:64ch;margin:0 0 22px}h3{letter-spacing:-.01em;margin:32px 0 10px;font-size:17px;font-weight:600}p{max-width:66ch;margin:0 0 18px}.code{margin:0 0 20px}.code figcaption{font-family:var(--mono);color:var(--ink-faint);margin-bottom:6px;font-size:12.5px}.code pre{background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);margin:0;padding:18px 74px 18px 20px;font-size:13px;line-height:1.72;position:relative;overflow-x:auto}.code pre code{font:inherit;color:inherit;white-space:pre;background:0 0;padding:0}.copy{font-family:var(--sans);color:#b9c7d2;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500;position:absolute;top:11px;right:11px}.copy:hover{color:#fff;background:#ffffff29}.copy[data-done]{color:#9fd3b0;border-color:#9fd3b066}code{font-family:var(--mono);background:var(--chip);border-radius:2px;padding:1px 5px;font-size:13px}.scroller{margin:0 0 22px;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%;min-width:440px;font-size:14.5px}th,td{text-align:left;border-bottom:1px solid var(--rule-soft);vertical-align:top;padding:10px 16px}th{background:var(--accent-soft);border-bottom:1px solid var(--rule);white-space:nowrap;font-size:13px;font-weight:600}tr:last-child td{border-bottom:none}td:first-child{font-family:var(--mono);color:var(--ink);font-size:13px}.note,.warn{border-left:3px solid var(--accent);background:var(--surface);max-width:68ch;color:var(--ink-soft);margin:0 0 20px;padding:14px 18px;font-size:14.5px}.warn{border-left-color:var(--warn);background:var(--warn-bg)}footer{border-top:1px solid var(--rule);color:var(--ink-faint);padding-top:28px;font-size:14px}footer p{margin:0 0 8px}
