:root { --ink:#1a1614; --paper:#fdf6ec; --paper-2:#f7ecd9; --vermilion:#e2563a; --vermilion-deep:#c8442b; --indigo:#2b3a67; --gold:#e8a33d; --line:#2a221d; --muted:#5a4f44; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 16px/1.65 "Zen Maru Gothic",sans-serif; }
a { color:var(--indigo); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.docs-skip { position:absolute; left:12px; top:-48px; padding:8px 12px; background:#fff; border:2px solid var(--line); z-index:20; }
.docs-skip:focus { top:12px; }
.docs-header { min-height:74px; display:flex; align-items:center; gap:16px; padding:14px clamp(18px,4vw,48px); border-bottom:2.5px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:10; }
.docs-wordmark { color:var(--ink); font:900 27px/1 "Fraunces",serif; text-decoration:none; white-space:nowrap; }
.docs-wordmark span { color:var(--vermilion); }
.docs-label { color:var(--indigo); font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-left:2px solid var(--line); padding-left:16px; }
.docs-header-actions { margin-left:auto; display:flex; align-items:center; gap:14px; font-size:13px; }
.docs-header-actions a { text-decoration:none; font-weight:700; }
.docs-open { background:var(--vermilion); color:#fff; border:2px solid var(--line); border-radius:10px; padding:8px 13px; box-shadow:3px 3px 0 var(--line); }
.docs-search { display:flex; gap:5px; }
.docs-search input { width:190px; border:2px solid var(--line); border-radius:8px; padding:8px 9px; font:inherit; background:#fff; color:var(--ink); }
.docs-search button { border:2px solid var(--line); border-radius:8px; background:#fff; padding:7px 9px; font-weight:700; cursor:pointer; }
.docs-search input:focus, .docs-search button:focus-visible, a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:2px; }
.docs-menu-button { display:none; margin-left:auto; border:2px solid var(--line); border-radius:8px; background:#fff; padding:8px 12px; font-weight:700; }
.docs-backdrop { display:none; }
.docs-layout { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:240px minmax(0,1fr); gap:50px; padding:38px 28px 80px; }
.docs-navigation { position:sticky; top:105px; align-self:start; max-height:calc(100vh - 125px); overflow:auto; }
.docs-nav-group { margin-bottom:24px; }
.docs-nav-group h2 { margin:0 0 6px; color:var(--indigo); font:600 13px/1.3 "Fraunces",serif; letter-spacing:.12em; text-transform:uppercase; }
.docs-nav-group ul { list-style:none; padding:0; margin:0; }
.docs-nav-group a { display:block; padding:7px 10px; border-radius:7px; color:var(--muted); text-decoration:none; font-size:14px; }
.docs-nav-group a:hover, .docs-nav-group a.is-active { background:var(--paper-2); color:var(--ink); font-weight:700; }
.docs-main { min-width:0; }
.docs-article-grid { display:grid; grid-template-columns:minmax(0,760px) 180px; gap:44px; }
.docs-breadcrumb { color:#8a7d70; font-size:13px; margin:0 0 24px; }
.docs-breadcrumb a { text-decoration:none; }
.docs-markdown h1, .docs-markdown h2, .docs-markdown h3 { font-family:"Fraunces",serif; line-height:1.15; scroll-margin-top:100px; }
.docs-markdown h1 { font-size:clamp(38px,5vw,58px); margin:0 0 26px; }
.docs-markdown h2 { font-size:30px; margin:42px 0 12px; border-top:2px solid var(--line); padding-top:24px; }
.docs-markdown h3 { font-size:22px; margin:28px 0 8px; }
.docs-markdown p { color:var(--muted); margin:0 0 18px; }
.docs-markdown strong { color:var(--ink); }
.docs-markdown ul, .docs-markdown ol { margin:0 0 20px; padding-left:25px; color:var(--muted); }
.docs-markdown li { margin:4px 0; }
.docs-markdown blockquote { margin:24px 0; padding:14px 18px; border-left:5px solid var(--gold); background:var(--paper-2); color:var(--muted); }
.docs-markdown .admonition { margin:24px 0; padding:14px 18px; border:2px solid var(--line); border-left:6px solid var(--indigo); border-radius:8px; background:var(--paper-2); color:var(--muted); }
.docs-markdown .admonition-title { margin:0 0 5px; color:var(--indigo); font-weight:700; }
.docs-markdown pre { overflow:auto; margin:20px 0; padding:16px; background:#fff; border:2px solid var(--line); border-radius:10px; box-shadow:4px 4px 0 var(--indigo); position:relative; }
.docs-copy-button { position:absolute; top:8px; right:8px; border:2px solid var(--line); border-radius:6px; background:var(--paper-2); color:var(--ink); padding:4px 8px; font:700 12px "Zen Maru Gothic",sans-serif; cursor:pointer; }
.docs-markdown code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9em; }
.docs-markdown :not(pre)>code { padding:2px 5px; background:var(--paper-2); border-radius:4px; }
.docs-markdown table { width:100%; border-collapse:collapse; margin:20px 0; display:block; overflow:auto; }
.docs-markdown th, .docs-markdown td { border:2px solid var(--line); padding:9px 12px; text-align:left; min-width:120px; }
.docs-markdown th { background:var(--paper-2); }
.docs-toc { position:sticky; top:108px; align-self:start; font-size:13px; }
.docs-toc p { margin:0 0 10px; font-weight:700; color:var(--indigo); }
.docs-toc ol { margin:0; padding-left:17px; }
.docs-toc li { margin:6px 0; }
.docs-toc a { color:#8a7d70; text-decoration:none; }
.docs-toc a.is-active, .docs-toc a:hover { color:var(--vermilion-deep); font-weight:700; }
.docs-pager { border-top:2px solid var(--line); margin-top:48px; padding-top:22px; display:flex; justify-content:space-between; gap:16px; }
.docs-pager a { display:flex; flex-direction:column; color:var(--ink); text-decoration:none; }
.docs-pager a.next { text-align:right; margin-left:auto; }
.docs-pager span { color:#8a7d70; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.docs-pager strong { color:var(--indigo); }
.docs-mobile-search { display:none; }
.docs-search-results { position:fixed; top:75px; right:24px; z-index:30; width:min(500px,calc(100vw - 32px)); max-height:70vh; overflow:auto; background:#fff; border:2px solid var(--line); border-radius:10px; box-shadow:5px 5px 0 var(--indigo); padding:16px; }
.docs-search-results h2 { margin:0 0 8px; font:600 19px "Fraunces",serif; }
.docs-search-results a { display:block; padding:10px 0; border-top:1px solid #ddd; text-decoration:none; }
.docs-search-results small { display:block; color:#8a7d70; }
@media (max-width:900px) { .docs-header-actions .docs-search, .docs-header-actions>a:not(.docs-open) { display:none; } .docs-layout { grid-template-columns:200px minmax(0,1fr); gap:28px; } .docs-article-grid { grid-template-columns:1fr; } .docs-toc { position:static; order:-1; } }
@media (max-width:680px) { .docs-header { padding:12px 16px; } .docs-label { display:none; } .docs-header-actions { display:none; } .docs-menu-button { display:block; } .docs-layout { display:block; padding:24px 18px 55px; } .docs-navigation { position:fixed; inset:74px auto 0 0; width:min(300px,88vw); max-height:none; padding:24px 20px; background:var(--paper); border-right:2.5px solid var(--line); transform:translateX(-105%); transition:transform .18s ease; z-index:9; } body.docs-menu-open { overflow:hidden; } body.docs-menu-open .docs-navigation { transform:translateX(0); } body.docs-menu-open .docs-backdrop { display:block; } .docs-backdrop { display:none; position:fixed; inset:74px 0 0; background:rgba(26,22,20,.35); z-index:8; } .docs-mobile-search { display:block; margin-bottom:22px; } .docs-search input { width:100%; } .docs-search button { white-space:nowrap; } .docs-copy { max-width:none; } .docs-markdown h1 { font-size:40px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
@media print { .docs-header, .docs-navigation, .docs-toc, .docs-pager, .docs-search-results, .docs-skip { display:none!important; } .docs-layout { display:block; padding:0; } body { background:#fff; } }
