:root { color-scheme:light dark; --ink:#1d2935; --muted:#5c6975; --subtle:#81909c; --line:#dce3e7; --line-soft:#edf1f3; --paper:#fff; --side:#f7f9fa; --code:#f5f7f8; --cyan:#007d91; --cyan-dark:#005d6d; --cyan-soft:#e9f7f9; --orange:#9a5b13; --mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace; --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:80px; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:14px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
code,pre { font-family:var(--mono); }
.skip-link { position:fixed; top:-80px; left:16px; z-index:100; padding:10px 14px; background:#fff; border:1px solid var(--line); border-radius:5px; }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:40; height:58px; padding:0 24px; display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-left,.header-links,.package-name { display:flex; align-items:center; }
.header-left { gap:12px; }.package-name { gap:10px; font-weight:650; letter-spacing:-.02em; }.package-mark { display:grid; place-items:center; width:31px; height:25px; color:#fff; background:var(--cyan); border-radius:4px; font:500 11px var(--mono); }
.header-links { gap:22px; color:#43525e; font-size:12px; }.header-links a:hover { color:var(--cyan); }.menu-button { display:none; border:0; background:none; font-size:18px; }
.docs-shell { min-height:calc(100vh - 58px); display:grid; grid-template-columns:250px minmax(0,1fr); }
.sidebar { position:sticky; top:58px; height:calc(100vh - 58px); padding:27px 22px 18px; display:flex; flex-direction:column; justify-content:space-between; overflow:auto; background:var(--side); border-right:1px solid var(--line); }
.nav-group { margin-bottom:24px; display:flex; flex-direction:column; gap:3px; }.nav-group > span { margin:0 9px 7px; color:#93a0aa; font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.1em; }.nav-group a { padding:5px 9px; color:#52616d; border-radius:4px; font-size:12px; }.nav-group a:hover { color:var(--cyan-dark); background:#edf3f5; }.nav-group a.active { color:var(--cyan-dark); background:#e4f2f5; font-weight:600; }.sidebar-footer { padding:14px 8px 0; display:flex; justify-content:space-between; color:#9aa6ae; border-top:1px solid var(--line); font:9px var(--mono); }
.content { width:100%; max-width:980px; margin:0 auto; padding:0 72px 80px; }.content article { max-width:780px; }.doc-section { padding:52px 0 8px; }.doc-section + .doc-section { border-top:1px solid var(--line-soft); }.intro { padding-top:58px; border:0!important; }
.breadcrumbs { display:flex; align-items:center; gap:7px; color:var(--subtle); font:11px var(--mono); }.breadcrumbs b { color:#c1c9ce; font-weight:400; }.breadcrumbs strong { color:var(--cyan-dark); font-weight:500; }
h1 { margin:15px 0 14px; font-size:44px; line-height:1.15; letter-spacing:-.045em; font-weight:680; } h2 { margin:0 0 18px; font-size:25px; line-height:1.3; letter-spacing:-.025em; font-weight:650; } h3 { margin:0 0 6px; font-size:17px; letter-spacing:-.015em; } .anchor { margin-left:9px; color:#b8c2c8; font:400 17px var(--mono); opacity:0; } h2:hover .anchor { opacity:1; }
p { margin:0 0 18px; color:var(--muted); }.lead { max-width:750px; margin-bottom:22px; color:#40505c; font-size:18px; line-height:1.7; }.doc-section > p code,.doc-section li code,.callout code { padding:1px 4px; color:var(--cyan-dark); background:#eef4f5; border-radius:3px; font-size:.88em; }
.callout { margin:22px 0; padding:15px 18px; border:1px solid; border-radius:5px; }.callout strong { display:block; margin-bottom:3px; font-size:12px; }.callout p { margin:0; font-size:12px; line-height:1.65; }.key-callout,.note { border-color:#bee0e5; background:var(--cyan-soft); }.key-callout strong,.note strong { color:var(--cyan-dark); }.warning { border-color:#ead8bb; background:#fff9ef; }.warning strong { color:var(--orange); }
.code-block { position:relative; margin:20px 0 26px; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--code); }.code-meta { height:36px; padding:0 10px 0 14px; display:flex; align-items:center; justify-content:space-between; color:#8b98a2; background:#fff; border-bottom:1px solid var(--line); font:9px var(--mono); text-transform:uppercase; letter-spacing:.06em; }.copy-button { padding:4px 7px; color:#63727d; background:transparent; border:1px solid transparent; border-radius:3px; font:9px var(--mono); cursor:pointer; text-transform:none; letter-spacing:0; }.copy-button:hover { background:var(--side); border-color:var(--line); }.code-block pre { margin:0; padding:20px 22px; overflow:auto; color:#273641; font-size:11px; line-height:1.75; tab-size:4; }.single-line pre { padding:15px 18px; }.kw { color:#7d3aad; }.fn { color:#006e82; }.str { color:#9b4d23; }.nil { color:#b02f68; }
.table-wrap { margin:20px 0 28px; overflow:auto; border:1px solid var(--line); border-radius:5px; } table { width:100%; border-collapse:collapse; font-size:12px; } th { padding:10px 13px; color:#77858f; background:var(--side); border-bottom:1px solid var(--line); text-align:left; font:500 9px var(--mono); text-transform:uppercase; letter-spacing:.06em; } td { padding:12px 13px; border-bottom:1px solid var(--line-soft); } tbody tr:last-child td { border:0; } td small { display:block; color:var(--subtle); font-size:10px; }.status { white-space:nowrap; }.status::before { content:""; display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; }.supported::before { background:#29a874; }.unavailable::before { background:#a5afb6; }
.backend-switcher { margin:26px 0 20px; border:1px solid var(--line); border-radius:6px; overflow:hidden; }.backend-tabs { display:flex; padding:0 14px; background:var(--side); border-bottom:1px solid var(--line); }.backend-tabs button { padding:11px 13px 9px; color:var(--muted); background:none; border:0; border-bottom:2px solid transparent; font-size:11px; cursor:pointer; }.backend-tabs button[aria-selected="true"] { color:var(--cyan-dark); border-bottom-color:var(--cyan); font-weight:600; }.backend-panel { padding:24px 24px 8px; }.backend-panel > p { font-size:12px; }.backend-panel .code-block { margin-bottom:15px; }.more-link { margin:0 0 14px!important; }.more-link a { color:var(--cyan-dark); font-size:11px; font-weight:600; }
.doc-section ul { padding-left:21px; color:var(--muted); }.doc-section li { margin:7px 0; }
.example-list { margin:20px 0; border:1px solid var(--line); border-radius:5px; }.example-list a { padding:13px 15px; display:grid; grid-template-columns:165px 1fr auto; gap:15px; align-items:center; border-bottom:1px solid var(--line-soft); }.example-list a:last-child { border:0; }.example-list a:hover { background:var(--side); }.example-list code { color:var(--cyan-dark); font-size:10px; }.example-list span { color:var(--muted); font-size:11px; }.example-list b { color:var(--subtle); font-weight:400; }
.doc-footer { margin-top:58px; padding:24px 0; display:flex; justify-content:space-between; color:var(--subtle); border-top:1px solid var(--line); font-size:10px; }.doc-footer a { color:var(--cyan-dark); }
@media (max-width:820px) { .site-header { padding:0 14px; }.menu-button { display:block; }.header-links a { display:none; }.docs-shell { grid-template-columns:1fr; }.sidebar { position:fixed; z-index:30; top:58px; left:0; width:260px; transform:translateX(-100%); transition:transform .2s ease; box-shadow:15px 0 30px rgba(36,54,63,.12); }.sidebar.open { transform:translateX(0); }.content { padding:0 28px 70px; }.content article { max-width:740px; margin:auto; } }
@media (max-width:560px) { .content { padding:0 18px 60px; }.intro { padding-top:38px; } h1 { font-size:36px; }.lead { font-size:16px; }.doc-section { padding-top:42px; }.example-list a { grid-template-columns:1fr auto; gap:4px 10px; }.example-list span { grid-column:1; }.example-list b { grid-column:2; grid-row:1/3; }.doc-footer { flex-direction:column; gap:8px; } }
@media (prefers-color-scheme:dark) {
  :root { --ink:#e5ecef; --muted:#acb8be; --subtle:#84939b; --line:#334148; --line-soft:#222e34; --paper:#101619; --side:#151d21; --code:#131b1f; --cyan:#52bdcb; --cyan-dark:#7bd1dc; --cyan-soft:#122a30; --orange:#e2a65f; }
  .skip-link { background:var(--side); }
  .site-header { background:rgba(16,22,25,.96); }
  .package-mark { color:#fff; background:#087d8f; }
  .header-links { color:#b5c0c6; }
  .nav-group > span { color:#73828a; }
  .nav-group a { color:#a9b5bb; }
  .nav-group a:hover { color:var(--cyan-dark); background:#1b292e; }
  .nav-group a.active { color:var(--cyan-dark); background:#173139; }
  .sidebar-footer { color:#74828a; }
  .breadcrumbs b { color:#526169; }
  .anchor { color:#607078; }
  .lead { color:#c3cdd2; }
  .doc-section > p code,.doc-section li code,.callout code { background:#1b2b31; }
  .key-callout,.note { border-color:#28505a; }
  .warning { border-color:#5b452c; background:#241e16; }
  .code-meta { color:#829098; background:#182125; }
  .copy-button { color:#9eabb1; }
  .code-block pre { color:#ced7db; }
  .kw { color:#c797e8; }
  .fn { color:#75cbd8; }
  .str { color:#dda17b; }
  .nil { color:#e381ad; }
  th { color:#91a0a7; }
  .sidebar { box-shadow:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
