:root {
  --bg: #fff;
  --bg-soft: #f5f5f7;
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --line: #d2d2d7;
  --link: #0066cc;
  --button: #0071e3;
  --bar: rgba(255, 255, 255, .72);
  --code: #f5f5f7;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", Helvetica, Arial, "PingFang SC", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #000;
    --bg-soft: #1d1d1f;
    --ink: #f5f5f7;
    --muted: #a1a1a6;
    --line: #424245;
    --link: #2997ff;
    --bar: rgba(22, 22, 23, .72);
    --code: #1d1d1f;
  }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 17px/1.5 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
code { font: .88em var(--mono); }

.bar { position: sticky; top: 0; z-index: 10; background: var(--bar); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid color-mix(in srgb, var(--line) 50%, transparent); }
.bar nav { max-width: 1024px; height: 48px; margin: auto; padding: 0 22px; display: flex; align-items: center; gap: 24px; font-size: 13px; }
.bar a { color: var(--ink); opacity: .8; white-space: nowrap; }
.bar a:hover { opacity: 1; text-decoration: none; }
.bar .brand { margin-right: auto; font-weight: 600; opacity: 1; }

.hero { padding: 88px 22px 72px; text-align: center; background: var(--bg-soft); }
.eyebrow { margin: 0 0 8px; font-size: 21px; font-weight: 600; color: var(--muted); }
.hero h1 { margin: 0; font-size: clamp(44px, 9vw, 88px); line-height: 1.05; letter-spacing: -.02em; font-weight: 700; }
.lead { max-width: 620px; margin: 18px auto 0; font-size: clamp(21px, 3vw, 28px); line-height: 1.25; }
.cta { margin: 28px 0 0; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 22px; }
.button { padding: 11px 22px; border-radius: 980px; background: var(--button); color: #fff; font-size: 17px; }
.button:hover { background: #0077ed; text-decoration: none; }
.more::after, .band > a:not(.shot)::after { content: " ›"; }

.chat { max-width: 520px; margin: 60px auto 0; padding: 24px; border-radius: 28px; background: var(--bg); box-shadow: 0 12px 40px rgba(0, 0, 0, .08); text-align: left; }
.chat p { margin: 0; }
.you { width: fit-content; margin-left: auto !important; padding: 9px 15px; border-radius: 19px; background: var(--button); color: #fff; }
.tool { margin-top: 14px !important; color: var(--muted); font: 13px var(--mono); overflow-wrap: anywhere; }
.them { width: fit-content; max-width: 90%; margin-top: 10px !important; padding: 9px 15px; border-radius: 19px; background: var(--bg-soft); }

.band { padding: 104px 22px; text-align: center; }
.band h2 { max-width: 900px; margin: 0 auto; font-size: clamp(36px, 6vw, 64px); line-height: 1.08; letter-spacing: -.015em; }
.band p { max-width: 640px; margin: 18px auto 0; font-size: 21px; line-height: 1.38; color: var(--muted); }
.band > a { display: inline-block; margin-top: 20px; font-size: 19px; }
.dark { background: #000; color: #f5f5f7; }
.dark p { color: #a1a1a6; }
.dark a { color: #2997ff; }
.shot { display: block; max-width: 980px; margin: 48px auto 0; border-radius: 24px; overflow: hidden; box-shadow: 0 12px 40px rgba(0, 0, 0, .1); }
.note { background: var(--bg-soft); }

.grid { max-width: 1024px; margin: 0 auto; padding: 0 22px 104px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.tile { padding: 36px; min-height: 260px; border-radius: 24px; background: var(--bg-soft); color: var(--ink); transition: transform .3s ease; }
.tile:hover { transform: scale(1.015); text-decoration: none; }
.tile span { font-size: 44px; }
.tile h3 { margin: 16px 0 8px; font-size: 28px; line-height: 1.14; letter-spacing: -.01em; }
.tile p { margin: 0; color: var(--muted); }

footer { padding: 28px 22px 40px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); text-align: center; }
footer p { margin: 4px 0; }

.layout { max-width: 1120px; margin: auto; padding: 0 22px; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; }
.side { position: sticky; top: 72px; align-self: start; padding-top: 24px; max-height: calc(100vh - 80px); overflow: auto; }
.side summary { display: none; }
.side h2 { margin: 22px 0 6px; font-size: 12px; color: var(--muted); font-weight: 600; }
.side ul { list-style: none; margin: 0; padding: 0; }
.side a { display: block; padding: 5px 10px; margin-left: -10px; border-radius: 8px; color: var(--ink); font-size: 14px; }
.side a:hover { background: var(--bg-soft); text-decoration: none; }
.side a[aria-current] { background: var(--bg-soft); font-weight: 600; }
.doc main { max-width: 760px; min-width: 0; padding: 48px 0 96px; }
.doc main h1 { margin: 0 0 24px; font-size: 48px; line-height: 1.08; letter-spacing: -.015em; }
.doc main h2 { margin: 52px 0 12px; font-size: 30px; line-height: 1.15; letter-spacing: -.01em; }
.doc main h3 { margin: 32px 0 8px; font-size: 21px; }
.doc main img { margin: 20px 0; border-radius: 16px; box-shadow: 0 0 0 1px color-mix(in srgb, var(--line) 60%, transparent); }
.doc main pre { padding: 16px 18px; overflow-x: auto; border-radius: 12px; background: var(--code); font-size: 14px; line-height: 1.5; }
.doc main p code, .doc main li code, .doc main td code { padding: 1px 5px; border-radius: 5px; background: var(--code); overflow-wrap: anywhere; }
.doc main table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 15px; }
.doc main th { text-align: left; font-weight: 600; }
.doc main th, .doc main td { padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.next { display: block; margin-top: 64px; padding: 20px 24px; border-radius: 16px; background: var(--bg-soft); color: var(--ink); font-size: 21px; font-weight: 600; }
.next:hover { text-decoration: none; }
.next span { display: block; font-size: 13px; font-weight: 400; color: var(--muted); }

@media (max-width: 760px) {
  .bar nav { gap: 16px; padding: 0 16px; }
  .bar nav a:not(.brand):not(:nth-child(2)) { display: none; }
  .hero { padding: 64px 16px 56px; }
  .band { padding: 72px 16px; }
  .band p { font-size: 19px; }
  .grid { grid-template-columns: 1fr; padding: 0 16px 72px; }
  .tile { min-height: 0; padding: 28px; }
  .layout { display: block; padding: 0 16px; }
  .side { position: static; max-height: none; padding-top: 12px; }
  .side summary { display: block; font-size: 15px; font-weight: 600; cursor: pointer; }
  .doc main { padding-top: 24px; }
  .doc main h1 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .tile { transition: none; }
}
