:root { --ink:#12231c; --muted:#66736c; --line:#dce4df; --paper:#f7f9f6; --navy:#10221a; --green:#baf163; --violet:#6656d9; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; }
a { color:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #897cff; outline-offset:3px; }
.skip-link { position:fixed; z-index:20; left:16px; top:-80px; padding:10px 14px; border-radius:8px; background:white; }
.skip-link:focus { top:12px; }
.docs-topbar { position:sticky; z-index:10; top:0; display:flex; height:66px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding:0 34px; background:rgba(247,249,246,.94); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:9px; font-weight:850; text-decoration:none; }
.brand-mark { display:grid; width:31px; height:31px; place-items:center; border-radius:9px; color:white; background:var(--navy); }
.docs-topbar nav { display:flex; align-items:center; gap:22px; font-size:13px; font-weight:700; }
.docs-topbar nav a { text-decoration:none; }
.spec-link { border:1px solid var(--line); border-radius:8px; padding:8px 11px; background:white; }
.docs-shell { display:grid; grid-template-columns:230px minmax(0,920px); gap:56px; max-width:1280px; margin:0 auto; padding:48px 32px 100px; }
.docs-sidebar { position:sticky; top:104px; align-self:start; display:grid; gap:5px; font-size:12px; }
.docs-sidebar p { margin:20px 0 5px; color:#8a958f; font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.docs-sidebar p:first-child { margin-top:0; }
.docs-sidebar a { border-radius:7px; padding:7px 9px; color:var(--muted); text-decoration:none; }
.docs-sidebar a:hover { color:var(--ink); background:#edf2ee; }
.docs-main { min-width:0; }
.hero { border-radius:22px; padding:54px; color:white; background:radial-gradient(circle at 83% 20%,#314f3e 0,transparent 33%),var(--navy); box-shadow:0 25px 70px rgba(16,34,26,.12); }
.eyebrow { margin:0 0 12px; color:#5d840f; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.hero .eyebrow { color:var(--green); }
h1 { max-width:700px; margin:0; font-size:clamp(38px,6vw,64px); line-height:1.02; letter-spacing:-.055em; }
.hero-copy { max-width:680px; margin:24px 0; color:#c5d0ca; font-size:17px; line-height:1.6; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.button { display:inline-flex; align-items:center; justify-content:center; border-radius:9px; padding:11px 15px; font-size:12px; font-weight:850; text-decoration:none; }
.button.primary { color:#17220f; background:var(--green); }
.button.secondary { border:1px solid #4b5f54; color:white; }
.boundary { margin-top:32px; border-top:1px solid #385044; padding-top:20px; color:#c5d0ca; font-size:12px; line-height:1.6; }
.boundary strong { color:white; }
.widget-boundary { border:1px solid var(--line); border-radius:12px; padding:16px; color:var(--muted); background:white; }
.widget-boundary strong { color:var(--ink); }
.doc-section { scroll-margin-top:94px; padding:72px 4px 4px; }
.doc-section h2 { margin:0 0 18px; font-size:32px; letter-spacing:-.04em; }
.doc-section > h3 { margin:28px 0 12px; font-size:17px; }
.doc-section > p:not(.eyebrow) { max-width:760px; color:var(--muted); font-size:14px; line-height:1.75; }
.steps { display:grid; gap:12px; margin:28px 0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:35px 1fr; gap:14px; border:1px solid var(--line); border-radius:12px; padding:17px; background:white; }
.steps li > span { display:grid; width:32px; height:32px; place-items:center; border-radius:9px; color:#365805; background:#e5f8c7; font-weight:900; }
.steps strong { display:block; margin:2px 0 5px; }
.steps p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.code-card, pre { overflow:hidden; border-radius:14px; background:#0b1712; }
.code-tabs { display:flex; align-items:center; gap:2px; border-bottom:1px solid #26372f; padding:9px; }
.code-tabs button { border:0; border-radius:7px; padding:8px 10px; color:#8fa097; background:transparent; font-size:11px; font-weight:800; }
.code-tabs button.active { color:white; background:#25382f; }
.code-tabs .copy-button { margin-left:auto; color:#d8e3dd; }
pre { margin:0; padding:20px; overflow-x:auto; color:#d8e3dd; font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; }
.hidden { display:none!important; }
.card-grid,.rule-grid,.endpoint-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.card-grid article,.rule-grid div,.endpoint-groups article { border:1px solid var(--line); border-radius:13px; padding:20px; background:white; }
.card-grid h3,.endpoint-groups h3 { margin:0 0 11px; font-size:15px; }
.card-grid code { display:block; overflow:hidden; color:#5a4bba; font-size:11px; text-overflow:ellipsis; }
.card-grid p,.rule-grid p,.endpoint-groups p { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
.rule-grid strong { font-size:13px; }
.flow { display:flex; align-items:center; gap:11px; overflow-x:auto; margin:28px 0; padding:20px; border:1px solid var(--line); border-radius:13px; background:white; white-space:nowrap; }
.flow span { border-radius:8px; padding:9px 12px; background:#edf2ee; font-size:12px; font-weight:800; }
.flow i { color:#8b9891; font-style:normal; }
.status-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.status-list span { border:1px solid var(--line); border-radius:999px; padding:7px 10px; background:white; color:var(--muted); font-size:11px; }
.status-list b { color:var(--ink); }
.endpoint-groups article > span { color:#668b18; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.endpoint-groups h3 { margin-top:10px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:13px; overflow-wrap:anywhere; }
.openapi-callout { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; border-radius:15px; padding:24px; color:white; background:var(--navy); }
.openapi-callout h3 { margin:0 0 6px; }
.openapi-callout p { margin:0; color:#afbeb6; font-size:12px; line-height:1.5; }
@media (max-width:820px) { .docs-topbar { padding:0 18px; }.docs-topbar nav a:not(.spec-link) { display:none; }.docs-shell { display:block; padding:25px 18px 70px; }.docs-sidebar { display:none; }.hero { padding:34px 24px; }.doc-section { padding-top:55px; } }
@media (max-width:570px) { .card-grid,.rule-grid,.endpoint-groups { grid-template-columns:1fr; }.openapi-callout { align-items:flex-start; flex-direction:column; }.code-tabs button { padding:7px; }.hero-copy { font-size:15px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
