:root { color-scheme: light; --ink:#10243f; --muted:#52657d; --line:#dce5ef; --blue:#1768eb; --teal:#00a7a1; --paper:#fff; --bg:#f7f9fd; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.65 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color:var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible { outline:3px solid var(--teal); outline-offset:3px; }
.skip-link { position:absolute; left:12px; top:-60px; z-index:20; padding:8px 12px; background:#fff; }
.skip-link:focus { top:8px; }
.site-header { height:84px; background:rgba(255,255,255,.97); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 max(28px,calc((100vw - 1440px)/2)); position:sticky; top:0; z-index:10; box-shadow:0 5px 18px rgba(25,54,92,.035); }
.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:760; font-size:22px; letter-spacing:-.04em; }
.brand:hover { text-decoration:none; }
.brand-mark { display:block; width:54px; height:45px; overflow:hidden; flex:none; }
.brand img { display:block; width:80px; height:80px; max-width:none; transform:translate(-13px,-10px); }
.header-actions { display:flex; align-items:center; gap:24px; font-size:14px; font-weight:650; }
.version { color:var(--muted); background:#f0f5fb; border:1px solid var(--line); border-radius:30px; padding:2px 10px; font-size:12px; }
.layout { display:grid; grid-template-columns:250px minmax(0,900px); gap:56px; max-width:1390px; margin:0 auto; padding:46px 40px 96px; }
.sidebar { align-self:start; position:sticky; top:112px; max-height:calc(100vh - 128px); overflow:auto; padding:4px 18px 25px 0; border-right:1px solid var(--line); }
.sidebar nav { display:flex; flex-direction:column; align-items:stretch; }
.sidebar a { color:#344b68; padding:7px 12px; border-radius:8px; line-height:1.25; font-size:14px; }
.sidebar a:hover, .sidebar a:focus-visible { background:#eaf2fc; color:#0754c4; text-decoration:none; }
.nav-label { margin:21px 0 7px; padding-left:12px; text-transform:uppercase; letter-spacing:.14em; color:#7a8ba0; font-size:10px; font-weight:800; }
.nav-label:first-child { margin-top:2px; }
main { min-width:0; }
section { scroll-margin-top:112px; }
.hero { position:relative; overflow:hidden; border:1px solid #d5e3f6; border-radius:22px; padding:48px 52px 38px; background:radial-gradient(circle at 92% 10%,rgba(0,194,186,.18),transparent 30%),linear-gradient(130deg,#fff 35%,#e8f1ff 100%); box-shadow:0 16px 38px rgba(34,67,109,.06); }
.hero:after { content:""; display:block; position:absolute; width:280px; height:280px; border:1px solid rgba(23,104,235,.15); border-radius:50%; right:-75px; bottom:-176px; pointer-events:none; }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:.14em; color:#087eae; font-weight:800; font-size:11px; }
h1,h2 { letter-spacing:-.045em; line-height:1.12; }
h1 { font-size:clamp(38px,5vw,61px); max-width:650px; margin:14px 0 20px; }
h2 { font-size:clamp(29px,3vw,39px); margin:10px 0 17px; }
p { margin:0 0 18px; color:var(--muted); max-width:72ch; }
.hero p { font-size:18px; max-width:640px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:28px 0 33px; }
.hero-actions a { border-radius:9px; padding:11px 17px; font-size:14px; font-weight:720; }
.primary { background:var(--blue); color:#fff; box-shadow:0 5px 14px rgba(23,104,235,.22); }
.primary:hover { color:#fff; background:#0959d8; text-decoration:none; }
.secondary { background:#fff; color:var(--blue); border:1px solid #cddcf0; }
.secondary:hover { text-decoration:none; background:#f6faff; }
.feature-row { display:flex; flex-wrap:wrap; gap:11px; }
.feature-row span { color:#345a7b; border:1px solid #cbdff1; background:rgba(255,255,255,.65); border-radius:30px; padding:3px 11px; font-size:12px; font-weight:650; }
.doc-section { padding:55px 0 52px; border-bottom:1px solid var(--line); }
.doc-section.last-section { border-bottom:0; }
code { font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size:.9em; }
p code,.definition-grid code { padding:2px 4px; border-radius:4px; color:#1554a0; background:#eaf2fa; }
pre { margin:17px 0 22px; padding:21px 24px; overflow-x:auto; border-radius:12px; background:#12233d; color:#e8f1ff; box-shadow:0 10px 22px rgba(20,42,71,.08); line-height:1.6; tab-size:2; }
pre code { color:inherit; font-size:13px; }
.definition-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.definition-grid div { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:15px 18px; display:flex; flex-direction:column; gap:5px; }
.definition-grid span { color:var(--muted); font-size:14px; }
.callout { border-left:3px solid var(--teal); background:#eaf8f7; padding:15px 19px; border-radius:0 9px 9px 0; color:#305c66; font-size:14px; }
footer { border-top:1px solid var(--line); padding:25px 40px; color:#708197; text-align:center; font-size:13px; }
.live-example { margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(34,67,109,.04); }
.example-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.example-heading h2 { font-size:24px; margin:8px 0 12px; }
.live-badge { color:#087d74; background:#eaf8f5; padding:4px 9px; border-radius:20px; font-size:11px; white-space:nowrap; }
.live-example p { font-size:14px; }
.live-example canvas { display:block; max-width:100%; touch-action:none; }
.chart-figure { margin:22px 0 26px; padding:18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 10px 24px rgba(34,67,109,.05); }
.chart-figure[data-demo="scatter3d"], .chart-figure[data-demo="line3d"], .chart-figure[data-demo="surface"], .chart-figure[data-demo="mesh3d"] { max-width:620px; margin-left:auto; margin-right:auto; }
.chart-figure canvas { display:block; max-width:100%; }
.chart-figure figcaption { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding-top:13px; border-top:1px solid var(--line); color:var(--muted); font-size:13px; }
.chart-figure figcaption strong { color:var(--ink); font-size:14px; }
.chart-figure figcaption em { margin-left:auto; padding:2px 9px; border-radius:20px; background:#fff3e8; color:#92521f; font-size:11px; font-style:normal; font-weight:700; }
.chart-figure[data-rendered="error"] { border-color:#dba6a6; }
.example-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-top:16px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
button { font:inherit; cursor:pointer; border:1px solid var(--line); border-radius:7px; padding:7px 11px; color:var(--ink); background:#fff; }
button:hover { background:#eef5ff; }
pre { position:relative; padding-top:43px; }
.copy-code { position:absolute; top:9px; right:10px; padding:3px 8px; font-size:11px; border-color:#40516b; color:#d6e4fc; background:#203653; }
.copy-code:hover { background:#2b496b; }
.sidebar a[aria-current] { color:#0754c4; background:#eaf2fc; font-weight:700; box-shadow:inset 3px 0 var(--blue); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
@media (max-width:680px) { .example-heading { display:block; } .live-badge { display:inline-block; margin-bottom:12px; } .example-controls { align-items:start; } }
@media (max-width:900px) { .layout { grid-template-columns:190px minmax(0,1fr); gap:26px; padding:35px 25px 70px; } .hero { padding:38px 32px; } }
@media (max-width:680px) { .site-header { height:70px; padding:0 17px; } .brand { font-size:18px; } .brand-mark { width:48px; height:40px; } .brand img { transform:translate(-16px,-11px); } .header-actions { gap:10px; font-size:12px; } .version { display:none; } .layout { display:block; padding:24px 18px 55px; } .sidebar { position:relative; top:auto; max-height:none; border-right:0; border-bottom:1px solid var(--line); padding:0 0 18px; margin-bottom:24px; } .sidebar nav { flex-direction:row; overflow-x:auto; gap:5px; scrollbar-width:thin; } .sidebar a { white-space:nowrap; background:#fff; border:1px solid var(--line); padding:7px 10px; } .nav-label { display:none; } .hero { padding:33px 25px; } .doc-section { padding:42px 0; } .definition-grid { grid-template-columns:1fr; } pre { padding:17px; } .chart-figure { padding:12px; } .chart-figure figcaption em { margin-left:0; } }
