:root {
  --paper:#fafaf7;
  --white:#fff;
  --ink:#1c2a25;
  --muted:#637169;
  --green:#236648;
  --green-deep:#173e2d;
  --pale:#e9efe5;
  --line:#dfe4db;
  --code:#f0f2ed;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  --serif:Georgia,"Songti SC","Noto Serif CJK SC",serif
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}

body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}

a {
  color:var(--green);
  text-decoration:none;
  text-underline-offset:4px
}

a:hover {
  text-decoration:underline
}

button,input {
  font:inherit
}

button {
  cursor:pointer
}

button,a,input,summary {
  -webkit-tap-highlight-color:transparent
}

button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #6b9f70;
  outline-offset:4px
}

button:disabled {
  cursor:default
}

img {
  max-width:100%;
  height:auto
}

h1,h2,h3,p,pre {
  margin-top:0
}

[hidden] {
  display:none!important
}

::selection {
  background:#cee0bb
}

code,kbd,pre {
  font-family:var(--mono)
}

.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
}

.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  padding:10px 20px;
  z-index:100;
  background:var(--green);
  color:#fff
}

.skip-link:focus {
  top:10px
}

.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(250,250,247,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(16px)
}

.header-inner {
  max-width:1360px;
  height:76px;
  display:flex;
  align-items:center;
  gap:48px;
  margin:auto;
  padding:0 40px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  font-size:22px;
  font-weight:650;
  letter-spacing:-.8px;
  white-space:nowrap
}

.brand:hover {
  text-decoration:none
}

.brand img {
  border-radius:7px;
  flex:none
}

.brand .brand-wordmark {
  display:block;
  width:184px;
  height:auto;
  border-radius:0
}

.top-nav {
  display:flex;
  align-items:center;
  gap:28px;
  font-size:14px
}

.top-nav a {
  color:var(--muted)
}

.top-nav a:hover,.top-nav .selected {
  color:var(--ink)
}

.docs-link {
  display:inline-flex;
  align-items:center;
  gap:6px
}

.header-actions {
  margin-left:auto;
  display:flex;
  gap:22px;
  align-items:center;
  font-size:14px
}

.language-link {
  color:var(--ink);
  font-weight:550
}

.search-trigger {
  display:flex;
  align-items:center;
  gap:12px;
  background:transparent;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  padding:6px 10px;
  font-size:13px
}

.search-trigger kbd {
  font-size:10px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:3px;
  padding:0 4px
}

.search-icon {
  display:block;
  width:13px;
  height:13px;
  border:1.5px solid currentColor;
  border-radius:50%;
  position:relative;
  margin-right:2px
}

.search-icon:after {
  content:"";
  position:absolute;
  width:5px;
  height:1.5px;
  background:currentColor;
  right:-4px;
  bottom:-2px;
  transform:rotate(45deg)
}

.section-wrap {
  max-width:1280px;
  margin:0 auto;
  padding-left:48px;
  padding-right:48px
}

.eyebrow {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:1.5px;
  line-height:1.5;
  color:var(--green);
  font-weight:500;
  margin-bottom:22px
}

.hero {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:62px;
  padding-top:62px;
  padding-bottom:96px;
  align-items:center;
  min-height:690px
}

.release-pill {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11px;
  color:var(--muted);
  margin-bottom:34px;
  border:1px solid var(--line);
  border-radius:30px;
  padding:4px 11px;
  background:#fff
}

.pill-separator {
  color:#c0c9bf;
  margin:0 2px
}

.status-dot {
  display:inline-block;
  height:6px;
  width:6px;
  border-radius:50%;
  background:#5c865d;
  flex:none
}

.hero .eyebrow {
  margin-bottom:19px
}

.hero h1 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-2.8px;
  font-size:64px;
  line-height:1.06;
  margin:0 0 25px
}

.hero h1 span {
  color:var(--green);
  font-style:italic
}

html[lang="zh-CN"] .hero h1 {
  font-size:55px;
  line-height:1.35;
  letter-spacing:-1.5px
}

html[lang="zh-CN"] .hero h1 span {
  font-style:normal
}

.hero-lead {
  font-size:16px;
  line-height:1.85;
  color:var(--muted);
  max-width:460px;
  margin-bottom:27px
}

.hero-actions {
  display:flex;
  align-items:center;
  gap:28px;
  margin-bottom:22px
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding:11px 21px;
  border-radius:6px;
  font-size:14px;
  font-weight:550
}

.primary {
  background:var(--green);
  color:#fff;
  box-shadow:0 2px 2px #193d3010
}

.primary:hover {
  background:var(--green-deep);
  text-decoration:none
}

.text-link {
  font-size:14px;
  font-weight:550;
  display:inline-flex;
  gap:10px;
  align-items:center
}

.hero-fine {
  font-size:11px;
  letter-spacing:.2px;
  color:var(--muted);
  margin:0
}

.project-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin-top:22px;
  font-size:11px
}

.project-links a {
  display:inline-flex;
  align-items:center;
  min-height:24px
}

.project-links img {
  display:block;
  height:20px;
  width:auto
}

.hero-example {
  position:relative;
  padding-bottom:114px;
  margin-top:34px;
  min-width:0
}

.example-label {
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.8px;
  color:var(--muted);
  margin-bottom:12px
}

.terminal {
  background:#182a23;
  border:1px solid #2c3c31;
  border-radius:10px;
  box-shadow:0 16px 40px #263c2514;
  overflow:hidden;
  color:#e5ecdf;
  position:relative
}

.terminal-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 19px;
  border-bottom:1px solid #ffffff12;
  font-size:10px;
  font-family:var(--mono);
  color:#9aab9f
}

.terminal-dots {
  letter-spacing:3px;
  color:#657b6b;
  font-size:8px
}

.demo-tabs {
  display:flex;
  padding:12px 17px;
  gap:6px
}

.demo-tabs button {
  color:#9baea0;
  border:0;
  background:none;
  font-family:var(--mono);
  font-size:10px;
  padding:7px 10px;
  border-radius:4px
}

.demo-tabs [aria-selected="true"] {
  background:#354637;
  color:#d8eabf
}

.terminal pre {
  font-size:11px;
  line-height:2.1;
  padding:12px 23px 48px;
  margin:0;
  min-height:227px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}

.terminal-comment {
  color:#a3b3a4
}

.terminal-prompt,.terminal-result {
  color:#b5d495
}

.source-note {
  background:#fffef7;
  border:1px solid #dddccc;
  border-radius:7px;
  position:absolute;
  right:-12px;
  bottom:0;
  width:86%;
  padding:20px 23px;
  transform:rotate(-2deg);
  box-shadow:0 9px 28px #27321a0d
}

.note-path {
  font-family:var(--mono);
  font-size:9px;
  color:var(--muted);
  padding-bottom:12px;
  border-bottom:1px solid #e5e6dc;
  margin-bottom:11px;
  overflow-wrap:anywhere
}

.note-path span {
  color:#72906a;
  font-size:14px
}

.source-note h2 {
  font-size:16px;
  margin:0 0 6px;
  font-weight:600
}

.source-note p {
  font-size:12px;
  line-height:1.7;
  margin-bottom:13px;
  color:#5b655b
}

.note-footer {
  display:flex;
  gap:7px;
  align-items:center;
  font-size:9px;
  color:#737b69
}

.section-heading {
  display:flex;
  align-items:flex-end;
  gap:80px;
  justify-content:space-between;
  margin-bottom:36px
}

.section-heading>p {
  max-width:420px;
  margin:0 0 4px;
  color:var(--muted);
  font-size:15px;
  line-height:1.9
}

.home-page h2 {
  font-family:var(--serif);
  font-size:39px;
  letter-spacing:-1.2px;
  font-weight:400;
  line-height:1.2;
  margin-bottom:0
}

html[lang="zh-CN"] .home-page h2 {
  font-size:32px;
  line-height:1.5;
  letter-spacing:-.7px
}

.home-page .source-note h2 {
  font-family:var(--sans);
  font-size:16px;
  letter-spacing:0;
  font-weight:600;
  line-height:1.5;
  margin-bottom:6px
}

.continuity {
  padding-bottom:82px;
  border-top:1px solid var(--line);
  padding-top:58px
}

.steps {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:0;
  gap:50px;
  margin-bottom:0
}

.steps li {
  border-top:1px solid var(--line);
  padding-top:23px
}

.step-number {
  font:11px var(--mono);
  color:#73876a
}

.steps h3 {
  font-size:20px;
  font-weight:500;
  margin:12px 0 10px
}

.steps p {
  font-size:14px;
  color:var(--muted);
  line-height:1.9;
  max-width:320px;
  margin-bottom:0
}

.repository-section {
  background:#edf1e8;
  border-block:1px solid #e0e5d9
}

.repository-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
  padding-top:70px;
  padding-bottom:70px
}

.repository-inner h2 {
  margin-bottom:20px
}

.repository-inner p:not(.eyebrow) {
  color:#63705d;
  max-width:420px;
  font-size:15px;
  line-height:1.9
}

.repo-tree {
  border:1px solid #d9e0d1;
  border-radius:7px;
  background:#f8faf3;
  padding:24px 28px;
  min-width:0
}

.tree-label {
  font:11px var(--mono);
  color:var(--muted);
  padding-bottom:15px;
  margin-bottom:20px;
  border-bottom:1px solid #e1e5db
}

.repo-tree pre {
  font:12px/2.4 var(--mono);
  margin:0;
  overflow:auto
}

.tree-muted {
  color:#a9b39f
}

.tree-accent {
  color:var(--green)
}

.tree-comment {
  color:#71816b;
  font-size:10px
}

.get-started {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  padding-top:80px;
  padding-bottom:60px;
  align-items:center
}

.get-started h2 {
  font-size:34px;
  max-width:460px;
  margin-bottom:16px
}

.get-started p:not(.eyebrow) {
  font-size:14px;
  color:var(--muted)
}

.install-example {
  min-width:0
}

.install-example pre {
  position:relative;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  padding:30px 18px 22px;
  margin-bottom:12px;
  overflow:auto;
  font-size:12px;
  line-height:2.3
}

.install-example p {
  font-size:10px!important;
  margin:0
}

.platforms {
  text-align:center;
  padding-top:38px;
  padding-bottom:58px;
  border-bottom:1px solid var(--line)
}

.home-page .platforms h2 {
  font-family:var(--sans);
  font-size:13px;
  letter-spacing:0;
  color:var(--muted);
  margin-bottom:28px
}

.platforms ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:15px 30px;
  list-style:none;
  margin:0 0 22px;
  padding:0
}

.platforms li {
  font-size:15px;
  font-weight:600;
  letter-spacing:-.4px
}

.platforms .text-link {
  font-size:12px
}

.guides {
  padding-top:70px;
  padding-bottom:60px
}

.section-heading.compact {
  align-items:center;
  gap:20px
}

.section-heading.compact h2 {
  font-size:29px
}

.guide-links {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--line)
}

.guide-links>a {
  display:block;
  padding:24px 18px 16px 0;
  margin-right:24px;
  border-bottom:1px solid var(--line);
  color:var(--ink)
}

.guide-links>a:hover {
  text-decoration:none;
  color:var(--green)
}

.guide-links h3 {
  font-size:15px;
  font-weight:600;
  margin:0 0 10px
}

.guide-links p {
  font-size:12px;
  color:var(--muted);
  margin:0
}

.guide-arrow {
  float:right;
  font-size:18px;
  color:var(--green)
}

.home-faq {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:75px;
  padding-top:30px;
  padding-bottom:65px
}

.home-faq h2 {
  font-size:32px;
  margin-bottom:20px
}

.home-faq details {
  border-bottom:1px solid var(--line);
  padding:20px 0
}

.home-faq details:first-child {
  border-top:1px solid var(--line)
}

summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:14px;
  font-weight:500
}

summary::-webkit-details-marker {
  display:none
}

summary span {
  color:var(--muted);
  font-size:18px;
  font-weight:400
}

details[open] summary span {
  transform:rotate(45deg)
}

.home-faq details p {
  font-size:13px;
  line-height:1.9;
  color:var(--muted);
  margin:13px 26px 0 0
}

.benchmark-link {
  padding-bottom:64px
}

.benchmark-link>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid var(--line);
  border-radius:5px;
  padding:22px 26px;
  color:var(--ink);
  gap:25px
}

.benchmark-link a:hover {
  background:var(--pale);
  text-decoration:none
}

.home-page .benchmark-link h2 {
  font-family:var(--sans);
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
  margin-bottom:5px
}

.benchmark-link p {
  font-size:12px;
  color:var(--muted);
  margin:0
}

.benchmark-link span {
  font-size:22px;
  color:var(--green)
}

.site-footer {
  border-top:1px solid var(--line)
}

.footer-inner {
  max-width:1280px;
  margin:auto;
  padding:35px 48px;
  display:flex;
  align-items:center;
  gap:30px
}

.footer-inner .brand {
  font-size:20px
}

.footer-inner .brand .brand-wordmark {
  width:168px
}

.footer-inner>p {
  font-size:12px;
  color:var(--muted);
  margin:0
}

.footer-inner>div {
  margin-left:auto;
  font-size:10px;
  color:var(--muted);
  text-align:right
}

.footer-inner a {
  color:inherit
}

.footer-inner small {
  display:block;
  font-size:9px;
  margin-top:3px
}

/* Documentation: navigation, readable content, and a quiet page outline. */
.docs-shell {
  display:grid;
  grid-template-columns:226px minmax(0,760px) 170px;
  gap:42px;
  max-width:1360px;
  margin:0 auto;
  padding:0 40px;
  align-items:start
}

.docs-sidebar {
  position:sticky;
  top:77px;
  height:calc(100vh - 77px);
  overflow-y:auto;
  padding:28px 20px 40px 0;
  scrollbar-width:thin
}

.docs-version {
  font:11px var(--mono);
  color:var(--green);
  border:1px solid var(--line);
  border-radius:5px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px 10px;
  margin-bottom:26px
}

.docs-version span {
  font:10px var(--sans);
  color:var(--muted)
}

.nav-group {
  margin-bottom:23px
}

.nav-group h2 {
  font-size:11px;
  color:var(--ink);
  font-weight:650;
  letter-spacing:.4px;
  margin:0 0 8px 10px
}

.nav-group ul {
  list-style:none;
  padding:0;
  margin:0
}

.nav-group a {
  display:block;
  padding:5px 10px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
  border-radius:4px;
  margin:1px 0
}

.nav-group a:hover {
  background:#eff2e9;
  text-decoration:none;
  color:var(--ink)
}

.nav-group a[aria-current="page"] {
  background:var(--pale);
  color:var(--green);
  font-weight:600;
  box-shadow:inset 2px 0 var(--green)
}

.docs-main {
  min-width:0;
  padding-top:42px;
  padding-bottom:65px
}

.doc-eyebrow {
  font-size:11px;
  color:var(--green);
  margin-bottom:13px;
  font-weight:550
}

.prose {
  font-size:14px;
  line-height:1.9;
  overflow-wrap:break-word
}

.prose h1 {
  font-size:37px;
  font-weight:550;
  letter-spacing:-1px;
  line-height:1.25;
  margin:0 0 24px
}

.prose h2 {
  font-size:23px;
  font-weight:550;
  line-height:1.45;
  margin:42px 0 16px;
  letter-spacing:-.5px;
  scroll-margin-top:100px
}

.prose h3 {
  font-size:17px;
  font-weight:600;
  margin:30px 0 12px;
  scroll-margin-top:100px
}

.prose p {
  margin-bottom:19px
}

.prose h1+p {
  color:var(--muted);
  font-size:16px;
  line-height:1.85
}

.prose ul,.prose ol {
  padding-left:22px;
  margin-top:0;
  margin-bottom:22px
}

.prose li {
  margin:6px 0
}

.prose a {
  text-decoration:underline;
  text-decoration-color:#b4c9ad
}

.prose a:hover {
  text-decoration-color:var(--green)
}

.prose code {
  font-size:.86em;
  color:#315b42;
  background:#edf0e8;
  border:1px solid #e1e5db;
  border-radius:4px;
  padding:2px 4px;
  overflow-wrap:anywhere
}

.prose pre {
  position:relative;
  padding:29px 19px 19px;
  background:var(--code);
  border:1px solid var(--line);
  border-radius:6px;
  font-size:12px;
  line-height:1.9;
  overflow-x:auto;
  white-space:pre;
  margin:20px 0 24px
}

.prose pre code {
  font-size:inherit;
  border:0;
  padding:0;
  background:transparent;
  color:var(--ink);
  overflow-wrap:normal
}

.highlight {
  background:transparent
}

.copy-button {
  position:absolute;
  right:7px;
  top:6px;
  border:1px solid var(--line);
  background:#fafbf7;
  border-radius:4px;
  color:var(--muted);
  font-size:10px;
  padding:2px 6px;
  line-height:1.6
}

.copy-button:hover {
  color:var(--green);
  border-color:#9baf91
}

.table-scroll {
  overflow-x:auto;
  margin:22px 0 26px
}

.prose table {
  border-collapse:collapse;
  width:100%;
  font-size:12px;
  line-height:1.75;
  margin:22px 0 26px;
  text-align:left;
  background:#fff
}

.table-scroll table {
  margin:0
}

.prose th {
  font-weight:600;
  background:#eff3e9;
  color:#35452e
}

.prose th,.prose td {
  border:1px solid var(--line);
  padding:10px 12px;
  vertical-align:top;
  min-width:105px
}

.prose td code {
  white-space:normal
}

.prose blockquote {
  border-left:3px solid #6d925d;
  background:#f0f3e9;
  padding:13px 18px;
  margin:25px 0;
  color:#47553e
}

.prose blockquote p:last-child {
  margin-bottom:0
}

.prose img {
  border-radius:5px;
  border:1px solid var(--line)
}

.prose hr {
  border:0;
  border-top:1px solid var(--line);
  margin:30px 0
}

.prose details {
  border-block:1px solid var(--line);
  padding:15px 0
}

.prose details summary {
  justify-content:flex-start
}

.prose details p {
  margin-top:15px
}

.prose a[id] {
  scroll-margin-top:100px
}

.doc-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid var(--line);
  margin-top:45px;
  padding-top:20px;
  font-size:11px
}

.page-toc {
  position:sticky;
  top:118px;
  padding:0 0 0 20px;
  border-left:1px solid var(--line);
  margin-top:52px;
  font-size:11px;
  max-height:calc(100vh - 160px);
  overflow:auto;
  scrollbar-width:thin
}

.page-toc p {
  font-weight:600;
  margin:0 0 12px
}

.page-toc a {
  display:block;
  font-size:10px;
  color:var(--muted);
  line-height:1.6;
  padding:5px 0
}

.page-toc a:hover {
  color:var(--green)
}

.docs-mobile-bar {
  display:none
}

.docs-page .footer-inner {
  max-width:1360px
}

.anchor-link {
  font-size:.65em;
  margin-left:8px;
  color:#9cab98!important;
  text-decoration:none!important;
  opacity:0
}

.prose h2:hover .anchor-link,.anchor-link:focus {
  opacity:1
}

/* Search stays local to the generated document index. */
#search-dialog {
  border:1px solid var(--line);
  border-radius:10px;
  width:min(680px,calc(100vw - 32px));
  padding:22px 24px;
  background:var(--paper);
  color:var(--ink);
  max-height:80vh;
  box-shadow:0 30px 90px #11211430
}

#search-dialog::backdrop {
  background:#1d2e2566;
  backdrop-filter:blur(3px)
}

.search-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:16px
}

.search-heading h2 {
  font-size:16px;
  margin:0;
  font-weight:550
}

.search-heading button {
  background:transparent;
  border:1px solid var(--line);
  border-radius:4px;
  padding:2px 7px;
  color:var(--muted);
  font-size:11px
}

#search-input {
  width:100%;
  border:1px solid #bac9b1;
  padding:13px 14px;
  border-radius:6px;
  background:#fff;
  color:var(--ink);
  font-size:15px
}

#search-status {
  font-size:12px;
  color:var(--muted);
  margin:12px 0 8px
}

#search-results {
  list-style:none;
  padding:0;
  margin:0
}

#search-results a {
  display:block;
  padding:14px 8px;
  border-top:1px solid var(--line);
  color:var(--ink)
}

#search-results a:hover {
  background:var(--pale);
  text-decoration:none
}

#search-results strong {
  font-size:14px;
  display:block
}

#search-results p {
  font-size:12px;
  color:var(--muted);
  margin:6px 0 0;
  line-height:1.7
}

.highlight .c,.highlight .c1,.highlight .cm {
  color:#6e7d6a
}

.highlight .s,.highlight .s1,.highlight .s2 {
  color:#2a6c43
}

.highlight .k,.highlight .kd,.highlight .nb {
  color:#805d30
}

.highlight .m,.highlight .mi {
  color:#71602d
}

.highlight .err {
  color:#96492d
}

@media(min-width:1500px) {
  .hero {
    padding-top:82px;
    padding-bottom:110px
  }

}

@media(max-width:1150px) {
  .header-inner {
    gap:32px;
    padding-inline:28px
  }

  .top-nav {
    gap:20px
  }

  .section-wrap {
    padding-inline:36px
  }

  .hero {
    gap:40px
  }

  .hero h1 {
    font-size:56px
  }

  html[lang="zh-CN"] .hero h1 {
    font-size:47px
  }

  .terminal pre {
    font-size:10px;
    padding-inline:16px
  }

  .demo-tabs {
    padding-inline:10px
  }

  .demo-tabs button {
    padding-inline:7px
  }

  .source-note {
    right:0;
    width:91%
  }

  .docs-shell {
    grid-template-columns:210px minmax(0,1fr);
    gap:35px;
    padding-inline:28px
  }

  .page-toc {
    display:none!important
  }

  .repository-inner {
    gap:65px
  }

  .header-actions {
    gap:16px
  }

  .search-trigger .search-label {
    display:none
  }

  .section-heading {
    gap:40px
  }

}

@media(max-width:800px) {
  .header-inner {
    height:65px;
    padding-inline:20px;
    gap:24px
  }

  .brand {
    font-size:20px
  }

  .top-nav {
    gap:18px
  }

  .github-link {
    display:none
  }

  .header-actions {
    gap:16px
  }

  .search-trigger kbd {
    display:none
  }

  .search-trigger {
    border:0;
    padding:8px
  }

  .section-wrap {
    padding-inline:26px
  }

  .hero {
    grid-template-columns:1fr;
    gap:22px;
    padding-top:36px;
    padding-bottom:58px;
    min-height:0
  }

  .hero-copy {
    max-width:570px
  }

  .release-pill {
    margin-bottom:26px
  }

  .hero h1 {
    font-size:57px
  }

  .hero-lead {
    max-width:520px
  }

  .hero-example {
    max-width:540px;
    width:100%;
    margin:12px auto 0;
    padding-bottom:114px
  }

  .terminal pre {
    font-size:12px;
    min-height:230px;
    padding-inline:24px
  }

  .demo-tabs {
    padding-inline:20px
  }

  .demo-tabs button {
    font-size:11px;
    padding-inline:14px
  }

  .source-note {
    right:6px;
    width:85%
  }

  .hero-fine {
    font-size:11px
  }

  .section-heading {
    align-items:flex-start;
    gap:24px;
    flex-direction:column;
    margin-bottom:28px
  }

  .section-heading>p {
    max-width:540px
  }

  .home-page h2 {
    font-size:34px
  }

  .continuity {
    padding-top:42px;
    padding-bottom:44px
  }

  .steps {
    gap:24px
  }

  .steps h3 {
    font-size:18px
  }

  .steps p {
    font-size:13px
  }

  .repository-inner {
    grid-template-columns:1fr;
    gap:30px;
    padding-top:46px;
    padding-bottom:46px
  }

  .repository-inner h2 br {
    display:none
  }

  .repository-inner p:not(.eyebrow) {
    max-width:600px
  }

  .repo-tree {
    max-width:560px;
    width:100%;
    padding:20px
  }

  .get-started {
    grid-template-columns:1fr;
    gap:23px;
    padding-top:48px;
    padding-bottom:24px
  }

  .get-started h2 {
    max-width:none
  }

  .platforms {
    padding-bottom:40px
  }

  .platforms ul {
    gap:14px 24px
  }

  .guides {
    padding-top:44px;
    padding-bottom:35px
  }

  .section-heading.compact {
    flex-direction:row;
    align-items:center
  }

  .section-heading.compact h2 {
    font-size:26px
  }

  .guide-links {
    grid-template-columns:repeat(2,1fr)
  }

  .guide-links>a {
    margin-right:16px
  }

  .home-faq {
    grid-template-columns:1fr;
    gap:25px;
    padding-top:20px;
    padding-bottom:40px
  }

  .home-faq .eyebrow {
    margin-bottom:10px
  }

  .home-faq h2 {
    margin-bottom:12px
  }

  .benchmark-link {
    padding-bottom:40px
  }

  .footer-inner {
    padding:28px 26px;
    gap:16px;
    flex-wrap:wrap
  }

  .footer-inner>div {
    margin-left:auto
  }

  .docs-shell {
    display:block;
    padding:0 26px
  }

  .docs-main {
    padding-top:27px;
    padding-bottom:45px
  }

  .docs-sidebar {
    position:static;
    height:auto;
    padding:20px 0 10px;
    border-bottom:1px solid var(--line)
  }

  .js .docs-sidebar {
    display:none
  }

  .js .docs-sidebar.is-open {
    display:block
  }

  .docs-mobile-bar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:sticky;
    top:65px;
    z-index:20;
    background:#f5f7f0;
    border-bottom:1px solid var(--line);
    padding:9px 26px;
    font-size:11px;
    color:var(--muted)
  }

  .docs-mobile-bar button {
    background:none;
    border:0;
    padding:3px 0;
    color:var(--green);
    font-size:12px
  }

  .docs-version {
    max-width:240px
  }

  .docs-sidebar nav {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:0 20px
  }

  .nav-group {
    margin-bottom:16px
  }

  .prose h1 {
    font-size:32px
  }

  .prose h2 {
    font-size:22px
  }

  .prose {
    font-size:14px
  }

  .anchor-link {
    opacity:1
  }

  .doc-bottom {
    font-size:10px
  }

  html {
    scroll-padding-top:125px
  }

  .prose h2,.prose h3,.prose a[id] {
    scroll-margin-top:125px
  }

}

@media(max-width:480px) {
  .top-nav {
    gap:16px;
    font-size:12px
  }

  .top-nav a:nth-child(2) {
    display:none
  }

  .header-inner {
    gap:12px;
    padding-inline:18px
  }

  .header-actions {
    gap:16px
  }

  .brand {
    font-size:18px;
    gap:8px
  }

  .brand img {
    width:25px;
    height:25px
  }

  .brand .brand-wordmark {
    width:140px;
    height:auto
  }

  .section-wrap {
    padding-inline:23px
  }

  .hero h1 {
    font-size:49px;
    letter-spacing:-2px
  }

  html[lang="zh-CN"] .hero h1 {
    font-size:39px;
    letter-spacing:-1px
  }

  .hero-lead {
    font-size:14px
  }

  .hero-fine {
    font-size:9px
  }

  .hero-actions {
    gap:24px
  }

  .hero-example {
    padding-bottom:107px
  }

  .terminal pre {
    font-size:10px;
    padding-inline:16px;
    min-height:208px
  }

  .terminal-bar {
    font-size:9px;
    padding:13px 15px
  }

  .demo-tabs {
    padding:10px 12px
  }

  .demo-tabs button {
    font-size:9px;
    padding:6px 8px
  }

  .source-note {
    padding:16px 18px;
    width:88%;
    right:1px
  }

  .note-path {
    font-size:8px
  }

  .source-note p {
    font-size:11px
  }

  .note-footer {
    font-size:8px
  }

  .home-page h2,html[lang="zh-CN"] .home-page h2 {
    font-size:28px
  }

  .home-page .source-note h2 {
    font-size:15px
  }

  .steps {
    grid-template-columns:1fr;
    gap:23px
  }

  .steps li {
    display:grid;
    grid-template-columns:33px 1fr;
    gap:8px 12px;
    padding-top:20px
  }

  .step-number {
    padding-top:6px
  }

  .steps h3 {
    margin:0
  }

  .steps p {
    grid-column:2;
    margin:0;
    max-width:none
  }

  .repo-tree pre {
    font-size:10px
  }

  .tree-comment {
    font-size:8px
  }

  .install-example pre {
    font-size:10px;
    padding-left:12px;
    padding-right:12px
  }

  .platforms li {
    font-size:13px
  }

  .section-heading.compact {
    align-items:flex-start;
    flex-direction:column;
    gap:12px
  }

  .guide-links>a {
    margin-right:10px;
    padding-right:9px
  }

  .guide-links h3 {
    font-size:13px
  }

  .guide-links p {
    font-size:11px
  }

  .guide-arrow {
    font-size:14px
  }

  .home-page .platforms h2 {
    font-size:12px
  }

  .home-page .benchmark-link h2 {
    font-size:13px
  }

  .benchmark-link>a {
    padding:18px
  }

  .benchmark-link p {
    font-size:11px
  }

  .footer-inner {
    padding:25px 23px
  }

  .footer-inner>p {
    font-size:10px
  }

  .footer-inner>div {
    width:100%;
    margin:0;
    text-align:left
  }

  .docs-shell {
    padding-inline:20px
  }

  .docs-mobile-bar {
    padding-inline:20px
  }

  .prose h1 {
    font-size:29px
  }

  .prose h1+p {
    font-size:15px
  }

  .prose th,.prose td {
    padding:8px 10px;
    min-width:110px
  }

  .docs-sidebar nav {
    grid-template-columns:1fr 1fr;
    gap:0 8px
  }

  .doc-bottom {
    flex-wrap:wrap
  }

  .desktop-break {
    display:none
  }

}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }

  * {
    transition:none!important
  }

}
/* Keep small utility headings distinct from the Chinese editorial titles. */
html[lang="zh-CN"] .home-page .source-note h2 {
  font-size: 16px;
}
html[lang="zh-CN"] .home-page .platforms h2 {
  font-size: 13px;
}
html[lang="zh-CN"] .home-page .benchmark-link h2 {
  font-size: 14px;
}
