:root {
  color-scheme: light;
  --v3-paper: #f6f7f5;
  --v3-surface: #ffffff;
  --v3-ink: #111315;
  --v3-copy: #5e6268;
  --v3-muted: #858a91;
  --v3-line: #e3e5e7;
  --v3-stage: #111315;
  --v3-stage-soft: #181b1e;
  --v3-signal: #d8f45b;
  --v3-focus: #0a84ff;
  --v3-max: 1200px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", sans-serif;
  background: var(--v3-paper);
  color: var(--v3-ink);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body.v3-site {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--v3-paper);
  color: var(--v3-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.625;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
body.v3-site::before { display: none; }
.v3-site a { color: inherit; text-decoration: none; }
.v3-site img { display: block; max-width: 100%; }
.v3-site button, .v3-site input, .v3-site textarea { font: inherit; }
.v3-site :focus-visible { outline: 2px solid var(--v3-focus); outline-offset: 2px; }
.v3-site .v3-wrap { width: min(var(--v3-max), calc(100% - 48px)); margin: 0 auto; }
.v3-site .v3-section { padding: 120px 0; scroll-margin-top: 72px; }
.v3-site .v3-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 16px;
  padding: 0 9px;
  border-radius: 6px;
  background: var(--v3-signal);
  color: #20250d;
  font-size: 13px;
  font-weight: 750;
}
.v3-site h1, .v3-site h2, .v3-site h3, .v3-site p { margin-top: 0; }
.v3-site h1 { margin-bottom: 24px; font-size: 80px; line-height: 1.05; font-weight: 740; }
.v3-site h2 { margin-bottom: 18px; font-size: 48px; line-height: 1.08; font-weight: 720; }
.v3-site h3 { margin-bottom: 10px; font-size: 24px; line-height: 1.33; font-weight: 700; }
.v3-site .v3-lead { max-width: 650px; margin-bottom: 0; color: var(--v3-copy); font-size: 20px; line-height: 1.5; }
.v3-site .v3-copy { color: var(--v3-copy); }
.v3-site .v3-muted { color: var(--v3-muted); font-size: 14px; }

.v3-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 80;
  height: 64px;
  border-bottom: 1px solid rgba(17, 19, 21, .08);
  background: rgba(246, 247, 245, .88);
  backdrop-filter: saturate(150%) blur(18px);
}
.v3-header .v3-wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.v3-brand { display: inline-flex; align-items: center; gap: 11px; min-width: 0; }
.v3-brand img { width: 34px; height: 34px; border-radius: 8px; }
.v3-brand strong { font-size: 15px; font-weight: 720; white-space: nowrap; }
.v3-nav { display: flex; align-items: center; gap: 24px; color: var(--v3-copy); font-size: 14px; }
.v3-nav a { white-space: nowrap; }
.v3-nav a:hover { color: var(--v3-ink); }
.v3-download {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  background: var(--v3-signal);
  color: #20250d !important;
  font-size: 14px;
  font-weight: 760;
}
.v3-menu-button {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--v3-ink);
  cursor: pointer;
}
.v3-menu-icon, .v3-menu-icon::before, .v3-menu-icon::after {
  display: block;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}
.v3-menu-icon { position: relative; }
.v3-menu-icon::before { position: absolute; top: -6px; }
.v3-menu-icon::after { position: absolute; top: 6px; }
.v3-mobile-nav { display: none; }

.v3-hero {
  min-height: 704px;
  padding: 104px 0 32px;
  display: grid;
  align-items: center;
}
.v3-hero-grid { display: grid; grid-template-columns: 5fr 7fr; align-items: center; gap: 56px; }
.v3-hero-copy { position: relative; z-index: 2; }
.v3-hero h1 { max-width: 560px; }
.v3-facts { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 30px; }
.v3-fact { display: inline-flex; align-items: baseline; gap: 8px; color: var(--v3-copy); font-size: 15px; }
.v3-fact kbd {
  padding: 4px 7px;
  border: 1px solid #cfd3d4;
  border-radius: 6px;
  background: var(--v3-surface);
  color: var(--v3-ink);
  box-shadow: 0 1px 0 rgba(17, 19, 21, .08);
  font: inherit;
  font-weight: 740;
}
.v3-text-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 28px; color: var(--v3-ink); font-size: 15px; font-weight: 680; }
.v3-text-link::after { content: "↓"; color: var(--v3-muted); }
.v3-hero-visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #e9eceb;
  box-shadow: 0 24px 80px rgba(17, 19, 21, .12);
}
.v3-hero-visual picture, .v3-hero-visual img { width: 100%; height: auto; }
.v3-hero-visual img { aspect-ratio: 64 / 45; object-fit: contain; object-position: 50% 50%; }

.v3-band { background: var(--v3-surface); }
.v3-band-dark { background: var(--v3-stage); color: #f8faf9; }
.v3-band-dark .v3-copy, .v3-band-dark .v3-lead { color: #b6babd; }
.v3-story { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; align-items: center; }
.v3-story.reverse { grid-template-columns: 7fr 5fr; }
.v3-story.reverse .v3-story-copy { order: 2; }
.v3-story-copy { max-width: 500px; }
.v3-product-stage {
  min-width: 0;
  padding: 28px;
  border-radius: 16px;
  background: #ecefee;
}
.v3-band-dark .v3-product-stage { background: var(--v3-stage-soft); }
.v3-product-stage img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .12);
}
.v3-band-dark .v3-product-stage img { box-shadow: 0 24px 80px rgba(0, 0, 0, .28); }
.v3-inline-note { margin-top: 22px; color: var(--v3-copy); font-size: 15px; }
.v3-band-dark .v3-inline-note { color: #b6babd; }

.v3-tool-list { display: grid; gap: 0; margin: 26px 0 0; padding: 0; list-style: none; }
.v3-tool-list li { padding: 14px 0; border-top: 1px solid var(--v3-line); color: var(--v3-copy); }
.v3-tool-list strong { color: var(--v3-ink); }
.v3-feedback-link { margin-top: 24px; }
.v3-feedback-link::after { content: "↗"; }

.v3-faq-list { margin-top: 32px; border-top: 1px solid var(--v3-line); }
.v3-faq-list details { border-bottom: 1px solid var(--v3-line); }
.v3-faq-list summary {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  font-size: 18px;
  font-weight: 680;
  list-style: none;
}
.v3-faq-list summary::-webkit-details-marker { display: none; }
.v3-faq-list summary::after { content: "+"; color: var(--v3-muted); font-size: 22px; font-weight: 400; }
.v3-faq-list details[open] summary::after { content: "−"; }
.v3-faq-list details p { max-width: 760px; padding: 0 0 22px; margin: 0; color: var(--v3-copy); }

.v3-footer { padding: 28px 0 36px; border-top: 1px solid var(--v3-line); color: var(--v3-muted); font-size: 13px; }
.v3-footer .v3-wrap { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.v3-footer-links { display: flex; gap: 16px; flex-wrap: wrap; }

/* Shared VI overrides for existing public pages. */
.v3-site:not(.v3-home) .wrap { width: min(1040px, calc(100% - 48px)); margin: 0 auto; }
.v3-site:not(.v3-home) .topbar,
.v3-site:not(.v3-home) .nav { background: rgba(246, 247, 245, .9); color: var(--v3-ink); border-color: var(--v3-line); box-shadow: none; }
.v3-site:not(.v3-home) .nav-shell { background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.v3-site:not(.v3-home) .brand span,
.v3-site:not(.v3-home) .nav,
.v3-site:not(.v3-home) .nav-links,
.v3-site:not(.v3-home) .toplinks { color: var(--v3-copy); }
.v3-site:not(.v3-home) .nav-cta { border-radius: 10px; background: var(--v3-signal); color: #20250d; box-shadow: none; }
.v3-site:not(.v3-home) main { color: var(--v3-ink); }
.v3-site:not(.v3-home) .card,
.v3-site:not(.v3-home) .summary-card,
.v3-site:not(.v3-home) .chapter,
.v3-site:not(.v3-home) .toc-card,
.v3-site:not(.v3-home) .dialog,
.v3-site:not(.v3-home) article {
  border-color: var(--v3-line);
  background: var(--v3-surface);
  color: var(--v3-ink);
  box-shadow: none;
}
.v3-site:not(.v3-home) p,
.v3-site:not(.v3-home) .lead,
.v3-site:not(.v3-home) .subtitle,
.v3-site:not(.v3-home) .muted { color: var(--v3-copy); }
.v3-site:not(.v3-home) footer,
.v3-site:not(.v3-home) .footer,
.v3-site:not(.v3-home) .icp-footer { color: var(--v3-muted); border-color: var(--v3-line); background: transparent; }
.v3-site.v3-feedback { background: var(--v3-paper); }
.v3-site.v3-feedback .page { width: min(760px, calc(100% - 48px)); }
.v3-site.v3-feedback .dialog { border-radius: 16px; padding: 32px; }
.v3-site.v3-feedback .paste-box,
.v3-site.v3-feedback textarea,
.v3-site.v3-feedback input[type="text"],
.v3-site.v3-feedback .status { background: #f9faf9; border-color: var(--v3-line); color: var(--v3-copy); }
.v3-site.v3-feedback textarea,
.v3-site.v3-feedback input[type="text"] { color: var(--v3-ink); }
.v3-site.v3-feedback button.primary { background: var(--v3-signal); color: #20250d; }

/* Secondary pages stay editorial, not card grids. */
.v3-site.v3-faq .qa-list,
.v3-site.v3-changelog .timeline {
  display: block;
  border-top: 1px solid var(--v3-line);
}
.v3-site.v3-faq .qa-item,
.v3-site.v3-changelog .item {
  margin: 0;
  padding: 26px 0;
  border: 0;
  border-bottom: 1px solid var(--v3-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v3-site.v3-privacy .grid,
.v3-site.v3-support .grid { display: block; }
.v3-site.v3-privacy .panel,
.v3-site.v3-support .panel {
  margin: 0;
  padding: 28px 0;
  border: 0;
  border-bottom: 1px solid var(--v3-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.v3-site.v3-advanced .summary-card,
.v3-site.v3-advanced .chapter,
.v3-site.v3-advanced .toc-card {
  border-radius: 0;
  box-shadow: none;
}
.v3-site.v3-advanced .summary-card {
  padding: 22px 0;
  border: 0;
  border-top: 1px solid var(--v3-line);
  background: transparent;
  opacity: 1;
}
.v3-site.v3-advanced .summary-card strong { color: var(--v3-ink); }
.v3-site.v3-advanced .summary-card p { color: var(--v3-copy); }
.v3-site.v3-advanced .chapter {
  padding-left: 0;
  padding-right: 0;
  border: 0;
  border-top: 1px solid var(--v3-line);
  background: transparent;
}
.v3-site.v3-hotkeys .preview { border-radius: 12px; box-shadow: none; }

@media (max-width: 1279px) {
  .v3-site .v3-wrap { width: min(1120px, calc(100% - 80px)); }
  .v3-site h1 { font-size: 72px; line-height: 1.06; }
  .v3-hero { min-height: 704px; }
}

@media (max-width: 1099px) {
  .v3-site .v3-wrap { width: calc(100% - 80px); }
  .v3-site h1 { font-size: 64px; line-height: 1.06; }
  .v3-story { gap: 40px; }
  .v3-product-stage { padding: 20px; }
}

@media (max-width: 820px) {
  .v3-site .v3-wrap { width: calc(100% - 48px); }
  .v3-nav-links { display: none; }
  .v3-menu-button { display: inline-flex; }
  .v3-header-actions { display: flex; align-items: center; gap: 6px; }
  .v3-mobile-nav {
    position: fixed;
    z-index: 79;
    inset: 64px 0 auto;
    display: grid;
    max-height: 0;
    overflow: hidden;
    background: rgba(246, 247, 245, .98);
    border-bottom: 1px solid var(--v3-line);
    transition: max-height 180ms ease;
  }
  .v3-mobile-nav[aria-hidden="false"] { max-height: 220px; }
  .v3-mobile-nav .v3-wrap { display: grid; padding: 10px 0 16px; }
  .v3-mobile-nav a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid var(--v3-line); }
  .v3-hero { min-height: 896px; padding: 100px 0 56px; }
  .v3-hero-grid, .v3-story, .v3-story.reverse { grid-template-columns: 1fr; gap: 38px; }
  .v3-story.reverse .v3-story-copy { order: 0; }
  .v3-site h1 { font-size: 52px; line-height: 1.08; }
  .v3-site h2 { font-size: 40px; line-height: 1.12; }
  .v3-site .v3-section { padding: 92px 0; }
  .v3-hero-visual { max-width: 680px; }
  .v3-story-copy { max-width: 620px; }
}

@media (max-width: 520px) {
  .v3-site .v3-wrap { width: calc(100% - 40px); }
  .v3-brand strong { max-width: 132px; overflow: hidden; text-overflow: ellipsis; }
  .v3-download { min-width: 102px; padding: 0 11px; font-size: 12px; }
  .v3-hero { min-height: 0; height: 716px; padding: 86px 0 26px; align-items: start; }
  .v3-hero-grid { gap: 24px; }
  .v3-site h1 { max-width: 350px; margin-bottom: 16px; font-size: 44px; line-height: 48px; }
  .v3-site h2 { font-size: 34px; line-height: 40px; }
  .v3-site h3 { font-size: 21px; line-height: 28px; }
  .v3-site .v3-lead { max-width: 350px; font-size: 17px; line-height: 26px; }
  .v3-facts { gap: 8px 14px; margin-top: 18px; }
  .v3-fact { font-size: 13px; }
  .v3-text-link { margin-top: 16px; font-size: 14px; }
  .v3-hero-visual { max-height: none; border-radius: 12px; }
  .v3-hero-visual img { height: auto; aspect-ratio: 64 / 45; object-fit: contain; object-position: 50% 50%; }
  .v3-site .v3-section { padding: 68px 0; }
  .v3-product-stage { padding: 12px; border-radius: 12px; }
  .v3-product-stage img { border-radius: 8px; box-shadow: 0 16px 48px rgba(0, 0, 0, .08); }
  .v3-faq-list summary { min-height: 60px; font-size: 16px; }
  .v3-footer .v3-wrap { display: grid; gap: 10px; }
  .v3-site.v3-feedback .page { width: calc(100% - 24px); }
  .v3-site.v3-feedback .dialog { padding: 20px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
