/* Semantic type roles. Load after editorial.css; independent of the grid.
   Source inventory and role decisions: typography.txt. */
@font-face {
  font-family: "Anthropic Sans";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicSans-Regular-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Anthropic Sans";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicSans-Italic-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Anthropic Serif";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicSerif-Regular-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Anthropic Serif";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicSerif-Italic-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Anthropic Mono";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicMono-Regular-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Anthropic Mono";
  src: url("01_%E5%AD%97%E4%BD%93/anthropic/AnthropicMono-Italic-VF.ttf") format("truetype");
  unicode-range: U+0000-024F, U+1E00-1EFF, U+2000-206F, U+20A0-20CF, U+2100-214F;
  font-weight: 300 800; font-style: italic; font-display: swap;
}
:root {
  --type-title: "Anthropic Sans", Geist, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", SimHei, sans-serif;
  --type-body: "Anthropic Serif", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif CN", STSong, SimSun, serif;
  --type-code: "Anthropic Mono", "JetBrains Mono", Menlo, Consolas, "PingFang SC", monospace;
  --sans: var(--type-title);
}
body {
  font-family: var(--type-body);
  font-weight: 400;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 16;
}
h1, h2, h3, h4, h5, h6, .deck, .masthead, .edition, .eyebrow,
.art-label, figcaption, .arc, .legend, .section-note, .tag,
.review-label, .colophon, .skip-link, button, input, select, label,
.type-label {
  font-family: var(--type-title);
  font-variation-settings: normal;
  font-optical-sizing: auto;
  font-style: normal;
}
.turn { font-family: var(--type-body); }
code, pre, kbd, samp, .type-code, .review-number, .act-number, .arc a > span {
  font-family: var(--type-code);
  font-variation-settings: normal;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
/* Native Latin Italic; CJK uses its local serif fallback with synthesized slant.
   Only short excerpts and links receive this treatment, never whole long quotes. */
em, cite, q, .type-quote, a {
  font-family: var(--type-body);
  font-style: italic;
  font-weight: 400;
  font-synthesis: style;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 16;
}
a { text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: .24em; overflow-wrap: anywhere; }
.document-nav a, .arc a, .skip-link {
  font-family: var(--type-title);
  font-style: normal;
  font-variation-settings: normal;
  font-optical-sizing: auto;
  overflow-wrap: normal;
}
.document-nav a, .arc a { text-decoration: none; }
blockquote {
  margin: 24px 0;
  padding-inline-start: 24px;
  border-inline-start: 2px solid var(--accent-soft);
  font-family: var(--type-body);
  font-style: normal;
}
blockquote > footer { margin-top: 12px; font-size: .85em; }
.type-display {
  font-family: var(--type-body);
  font-weight: 400;
  font-optical-sizing: none;
  font-variation-settings: "opsz" 48;
}
.type-display em { font-variation-settings: "opsz" 48; }
@media (max-width: 599px) { blockquote { padding-inline-start: 16px; } }
