@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&family=Roboto+Mono:wght@400;500;700&display=swap");

body:has(.docs),
body:has(.docs) .site-header,
body:has(.docs) .site-nav,
body:has(.docs) .site-nav a,
body:has(.docs) .site-footer,
body:has(.docs) .site-footer a,
body:has(.docs) .site-footer p,
body:has(.docs) .cta,
body:has(.docs) .cta.ghost,
.docs,
.docs *{
  font-family:Roboto,system-ui,-apple-system,sans-serif;
}
body:has(.docs) code,
body:has(.docs) pre,
body:has(.docs) pre *,
.docs pre,
.docs code,
.docs pre code{
  font-family:"Roboto Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

body:has(.docs) .site-nav>a{
  font-weight:700;
  font-size:14px;
  letter-spacing:0;
}
body:has(.docs) .site-footer nav a,
body:has(.docs) .site-footer p{
  font-weight:500;
  letter-spacing:0;
}
body:has(.docs) .site-footer .fine{
  font-weight:400;
}

.docs{
  width:min(1280px,calc(100% - 28px));
  margin:24px auto 70px;
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:28px;
  align-items:start;
  color:var(--ink);
  font-size:16px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}
.docs-side{
  position:sticky;
  top:88px;
  padding:16px 12px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  max-height:calc(100dvh - 110px);
  overflow:auto;
}
.docs-side a{
  display:block;
  padding:6px 8px;
  border-radius:8px;
  color:var(--ink);
  text-decoration:none;
  font-size:13px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.01em;
}
.docs-side a:hover,.docs-side a.on{
  color:var(--purple);
  background:#f6efff;
  font-weight:700;
}
.docs-side h4{
  margin:16px 0 6px;
  color:var(--purple);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.docs-side h4:first-child{margin-top:0}
.docs-side details{margin:10px 0 0}
.docs-side summary{
  cursor:pointer;
  color:var(--purple);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  list-style:none;
}
.docs-side summary::-webkit-details-marker{display:none}

.docs-body{min-width:0}
.docs-body h1{
  margin:0 0 12px;
  font-size:clamp(30px,4vw,42px);
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  color:var(--ink);
}
.docs-body h2{
  margin:28px 0 10px;
  font-size:clamp(20px,2.4vw,26px);
  font-weight:700;
  letter-spacing:0;
  line-height:1.3;
  color:var(--ink);
}
.docs-body h3{
  margin:22px 0 8px;
  font-size:18px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.35;
  color:var(--ink);
}
.docs-body h4{
  margin:18px 0 8px;
  font-size:16px;
  font-weight:700;
  letter-spacing:0;
}
.docs-body p,.docs-body li{
  color:var(--muted);
  font-size:16px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.01em;
}
.docs-body p{margin:0 0 12px}
.docs-body ol,.docs-body ul{margin:0 0 16px;padding-left:22px}
.docs-body strong,.docs-body b{font-weight:700;color:var(--ink)}
.docs-body .lead{
  color:var(--ink);
  font-size:18px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.01em;
}
.docs-body .cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.docs-body .cta,
.docs-body .cta.ghost{
  font-family:Roboto,system-ui,sans-serif;
  font-size:14px;
  font-weight:700;
  letter-spacing:.01em;
}
.docs-body pre{
  overflow:auto;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f7f4fb;
  font-size:13px;
  font-weight:400;
  line-height:1.55;
  letter-spacing:0;
  margin:0 0 16px;
}
.docs-body code{
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
}
.docs-body :not(pre)>code{
  padding:1px 5px;
  border-radius:6px;
  background:#f3eefb;
  color:#3b1d63;
  font-weight:500;
}
.docs-body table{
  width:100%;
  border-collapse:collapse;
  margin:0 0 16px;
  font-size:14px;
  font-weight:400;
}
.docs-body th,.docs-body td{
  border:1px solid var(--line);
  padding:8px 10px;
  text-align:left;
  vertical-align:top;
  font-family:Roboto,system-ui,sans-serif;
}
.docs-body th{
  background:#f7f4fb;
  font-weight:700;
}
.docs-body blockquote{
  margin:0 0 16px;
  padding:10px 14px;
  border-left:3px solid #7437e8;
  background:#f7f4fb;
  border-radius:0 12px 12px 0;
  font-weight:400;
}
.docs-body a{
  color:#5b2db3;
  font-weight:500;
}
.docs-body a:hover{font-weight:700}

@media(max-width:800px){
  .docs{grid-template-columns:1fr;width:calc(100% - 20px);margin-top:12px}
  .docs-side{position:relative;top:auto;max-height:none}
}
