:root { color-scheme:dark; --bg:#0b0d0f; --surface:#121518; --line:#2b3036; --text:#eef1f4; --muted:#a8b1bc; --accent:#ff492e; --link:#ff9b86; font-family:Inter,Segoe UI,Arial,sans-serif; font-size:16px }
* { box-sizing:border-box }
body { margin:0; background:var(--bg); color:var(--text); line-height:1.65 }
a { color:var(--link); text-underline-offset:4px }
a:hover { color:white }
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px }
header { min-height:92px; display:flex; align-items:center; gap:32px; padding:18px 4vw; border-bottom:1px solid var(--line); background:#0b0d0ff5; position:sticky; top:0; z-index:10 }
header a { text-decoration:none; color:var(--text); font-size:.9rem }
.wordmark { font-size:30px; font-weight:850; letter-spacing:-1px; line-height:1 }
.wordmark span { display:block; font-size:8px; letter-spacing:1.2px; margin-top:6px }
.product-link { margin-left:auto }
.version { padding:4px 12px; border:1px solid var(--line); border-radius:3px; font-family:monospace; white-space:nowrap }
.wordmark,header>a:last-child { white-space:nowrap }
.doc-navigation summary { display:none; cursor:pointer; color:var(--muted); margin-bottom:12px }
.skip { position:absolute; left:12px; top:-100px; z-index:50; background:#fff; color:#000; padding:8px }
.skip:focus { top:10px }
.eyebrow { color:var(--accent); font-size:.72rem; font-weight:700; letter-spacing:.16em; margin:0 0 22px }
.docs-layout { display:grid; grid-template-columns:250px minmax(0,850px) 190px; max-width:1460px; margin:auto }
.sidebar { padding:32px 22px; border-right:1px solid var(--line); position:sticky; top:93px; height:calc(100vh - 93px); overflow:auto }
.sidebar label { font-size:.8rem; color:var(--muted) }
input { display:block; width:100%; padding:10px; margin:5px 0 16px; background:var(--surface); color:var(--text); border:1px solid #48515b; border-radius:4px }
.sidebar nav { display:grid; gap:3px }
.sidebar nav a { font-size:.87rem; padding:7px 12px; text-decoration:none; color:var(--muted); border-left:2px solid transparent }
.sidebar nav a:hover,.sidebar nav a[aria-current] { background:var(--surface); color:white; border-left-color:var(--accent) }
main { min-width:0; padding:38px 42px 80px }
.crumb { font-size:.75rem; color:var(--muted); margin-bottom:35px }
.crumb span { padding:0 9px }
h1,h2,h3 { line-height:1.2; letter-spacing:-.025em; scroll-margin-top:115px }
h1 { font-size:2.35rem; margin:0 0 26px }
h2 { font-size:1.5rem; margin:45px 0 18px; padding-top:12px; border-top:1px solid var(--line) }
h3 { font-size:1.15rem; margin-top:28px }
p,li { color:#c9d0d8 }
li { margin:6px 0 }
article>p:first-of-type { font-size:1.12rem; line-height:1.75 }
pre { overflow:auto; padding:20px; background:#141a20; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:4px; font-size:.82rem; line-height:1.65 }
code { font-family:Consolas,monospace; font-size:.88em; color:#ffd3c9 }
pre code { font-size:inherit; color:#d9e4ef }
p code,li code,td code { overflow-wrap:anywhere }
table { display:block; overflow:auto; width:100%; border-collapse:collapse; font-size:.86rem; margin:24px 0 }
th,td { padding:11px 13px; border:1px solid var(--line); text-align:left; vertical-align:top; min-width:100px }
th { background:var(--surface); color:white }
td { color:#c9d0d8 }
article img { max-width:100%; height:auto; border:1px solid var(--line); border-radius:5px }
blockquote { border-left:3px solid var(--accent); padding:6px 20px; margin:24px 0; background:var(--surface) }
.on-page { padding:38px 15px; position:sticky; top:93px; height:calc(100vh - 93px); overflow:auto; font-size:.75rem }
.on-page ul { list-style:none; padding-left:12px }
.on-page a { color:var(--muted); text-decoration:none }
.on-page .toc>ul { padding-left:0 }
.on-page .toc>ul>li>a { display:none }
footer { border-top:1px solid var(--line); padding-top:24px; margin-top:60px; display:flex; justify-content:space-between; gap:20px; font-size:.78rem; color:var(--muted) }
#search-results { display:grid; gap:8px; font-size:.82rem }
#search-results a { padding:7px; background:var(--surface) }
#search-results:not(:empty) { margin-bottom:20px }
.copy-code { display:block; margin:-8px 0 18px auto; background:transparent; color:var(--muted); border:1px solid var(--line); border-radius:3px; padding:4px 10px; cursor:pointer }
.landing { max-width:1240px; margin:auto; padding:0 44px }
.hero { padding:92px 0 70px }
.hero h1 { font-size:clamp(3rem,6vw,5.6rem); line-height:1.04; max-width:900px; font-weight:750; letter-spacing:-.055em }
.hero h1 em { font-style:normal; color:var(--accent) }
.lead { max-width:650px; font-size:1.22rem; color:var(--muted) }
.actions { display:flex; flex-wrap:wrap; gap:14px; margin:30px 0 }
.button { display:inline-block; padding:12px 22px; background:var(--accent); color:#0b0d0f; text-decoration:none; font-weight:750; border:1px solid var(--accent); border-radius:3px }
.button:hover { background:#ff7059; color:#000 }
.button.secondary { background:transparent; color:white; border-color:#535b65 }
.button:disabled { background:#252a30; border-color:#454d57; color:#bac2cc; cursor:not-allowed; font:inherit; font-weight:700 }
.download-grid>div { display:flex; flex-direction:column; align-items:flex-start }
.download-grid .button { margin-top:auto }
.download-hero { padding-bottom:30px }
@media(max-width:720px) { .product-header { flex-wrap:wrap }.product-header .wordmark { flex-basis:100%; margin-bottom:8px }.product-header .product-link { margin-left:0 }.product-header { column-gap:18px } }
.hero-image { display:block; width:100%; max-height:590px; object-fit:cover; object-position:top; border:1px solid #3b4149; border-radius:6px; box-shadow:0 25px 80px #0008 }
.caption { font-size:.8rem; color:var(--muted); padding-top:10px }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:30px 0 70px }
.feature-grid>div { background:var(--bg); padding:32px }
.feature-grid h3 { margin-top:10px }
.number { font:12px monospace; color:var(--accent) }
.split { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; padding:55px 0; border-top:1px solid var(--line) }
.split h2 { border:0; margin:0 0 20px; padding:0; font-size:2.2rem }
.split img { width:100%; border:1px solid var(--line); border-radius:5px }
.split pre { margin:0 }
.callout { border:1px solid var(--line); background:var(--surface); padding:32px; margin:45px 0 }
.callout h2 { border:0; margin:0; padding:0 }
.fine { font-size:.82rem; color:var(--muted) }
@media(min-width:1500px) { .docs-layout { grid-template-columns:270px minmax(0,890px) 230px } }
@media(max-width:1150px) { .docs-layout { grid-template-columns:235px minmax(0,1fr) }.on-page { display:none }.feature-grid { grid-template-columns:1fr }.split { gap:28px } }
@media(max-width:720px) {
  .documentation header { flex-wrap:wrap }.documentation header .wordmark { flex-basis:100%; margin-bottom:8px }.documentation header .product-link { margin-left:0 }
  header { gap:10px; min-height:78px; padding:16px 20px }header a { font-size:.78rem }.wordmark { font-size:26px }
  .doc-navigation summary { display:list-item }
  .docs-layout { display:block }.sidebar { position:static; height:auto; border-right:0; border-bottom:1px solid var(--line); padding:22px }
  .sidebar nav { grid-template-columns:1fr 1fr; gap:0 }.sidebar .eyebrow { margin-bottom:12px }.sidebar nav a { padding:5px 7px }
  main { padding:28px 22px 55px }h1 { font-size:1.85rem }.crumb { margin-bottom:22px }.landing { padding:0 23px }
  .hero { padding:55px 0 40px }.hero h1 { font-size:3.3rem }.lead { font-size:1.08rem }
  .split { grid-template-columns:1fr; padding:40px 0; gap:24px }.split h2 { font-size:1.8rem }
  .feature-grid { margin-bottom:35px }.feature-grid>div { padding:25px }.callout { padding:23px }footer { flex-wrap:wrap }
}
@media(prefers-reduced-motion:no-preference) { html { scroll-behavior:smooth } }
@media print { header,.sidebar,.on-page,.copy-code { display:none }.docs-layout { display:block }body { background:white; color:black }p,li,td,code { color:black }main { padding:0 }pre { white-space:pre-wrap }a { color:#222 } }
