:root {
  --folio-paper: var(--v3-paper);
  --folio-paper-2: var(--v3-paper);
  --folio-sheet: var(--v3-sheet);
  --folio-wash: var(--v3-sheet);
  --folio-ink: var(--v3-ink);
  --folio-ink-2: var(--v3-stone);
  --folio-rule: var(--v3-line);
  --folio-rule-strong: var(--v3-line-strong);
  /* 旧「印章红」在旧页面上大量用于报错文字和未读红点（26 处以上），映射到新版危险红，含义不丢 */
  --folio-seal: var(--v3-danger);
  --folio-blue: var(--v3-brand-soft);
  --folio-yellow: var(--v3-brand-soft);
  --folio-rose: var(--v3-brand-soft);
  --folio-green: var(--v3-brand-soft);
  --folio-chartreuse: var(--v3-tint);
  --folio-lilac: var(--v3-tint);
  --folio-orange: var(--v3-action);
  --folio-radius: var(--v3-radius-md);
  --folio-radius-pill: var(--v3-radius-pill);
  --paper: var(--v3-paper);
  --paper2: var(--v3-paper);
  --ink: var(--v3-ink);
  --ink2: var(--v3-stone);
  --rule: var(--v3-line);
  --coral: var(--v3-danger);
  color-scheme: light;
}

html, body {
  background-color: var(--v3-paper);
  color: var(--v3-ink);
  font-family: var(--v3-font);
}

body {
  background-image: radial-gradient(1100px 380px at 22% -80px, rgba(77,175,254,.12), transparent 62%), radial-gradient(800px 320px at 95% -60px, rgba(182,219,254,.22), transparent 60%);
  background-repeat: no-repeat;
  -webkit-font-smoothing: antialiased;
}

/* 旧 folio-theme.css 里从邮箱验证页抽出来的 body{padding:48px 16px} 没限定页面、套到了所有页面；换成新版的页面不要它 */
body.v3-page { padding: 0; }
/* 旧 folio-theme.css 给 main > section 加了 !important 的上下 112–148px 留白（首页旧版留下的），换成新版的页面不要 */
body.v3-page main:not(.studio-page) > section:not(.home-hero):not(#cta) { padding-top: 0 !important; padding-bottom: 0 !important; }

button, input, select, textarea { font-family: var(--v3-font); }
textarea { resize: none; }
html, body, body *, dialog { scrollbar-width: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar, body *::-webkit-scrollbar, dialog::-webkit-scrollbar { display: none; }
::selection { background: var(--v3-tint); color: var(--v3-ink); }
/* 聚焦环画在元素里面，不会被带滚动的父元素裁掉。
   旧 folio-theme.css 的 button/a/input:focus-visible 是 1px「印章红」外扩 3px（印章红现映射为危险红），
   特异度比单写 :focus-visible 高，所以这里带上元素名再压一次 */
:focus-visible,
html :is(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 2px solid var(--v3-brand); outline-offset: -2px; }

.serif-title, .serif-display, .serif-small, .num-serif, .font-sans, .zh,
:lang(zh), :lang(en) { font-family: var(--v3-font) !important; }
.font-sans { letter-spacing: normal !important; }
/* 等宽字（安装命令、记录编号、代码）要压过上面那条对每个元素生效的 :lang 规则 */
.font-mono, .font-mono *,
:is(code, pre, kbd, samp):lang(zh), :is(code, pre, kbd, samp):lang(en) { font-family: var(--v3-font-mono) !important; }
.num-serif { font-variant-numeric: tabular-nums; }

.btn-coral, .btn-ink {
  border: 1px solid var(--v3-brand-soft) !important;
  border-radius: var(--v3-radius-md) !important;
  background: var(--v3-tint) !important;
  color: var(--v3-action) !important;
  box-shadow: none !important;
}
.btn-coral:hover, .btn-ink:hover {
  border-color: var(--v3-brand) !important;
  background: var(--v3-brand-soft) !important;
  color: var(--v3-action-press) !important;
}
.btn-coral:disabled, .btn-ink:disabled {
  border-color: transparent !important;
  background: var(--v3-sheet) !important;
  color: var(--v3-smoke) !important;
}
