/* ============================================================
   设计主语言 · Design Language Base（站点内嵌版）
   idanlin — 编辑杂志风 / 克制 · 克己 · 有态度
   使用系统字体栈，避免远程字体阻塞首屏；保留编辑杂志式的衬线层级。
   ============================================================ */

:root{
  --font-display: Georgia, 'Times New Roman', 'Songti SC', SimSun, serif;
  --font-serif:   Georgia, 'Times New Roman', 'Songti SC', SimSun, serif;
  --font-sans:    -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Noto Sans CJK SC', Arial, sans-serif;
  --font-kai:     'Kaiti SC', STKaiti, KaiTi, 'Songti SC', serif;
  --font-song:    'Songti SC', STSong, SimSun, Georgia, serif;
  --font-hei:     -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --font-mono:    ui-monospace, 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;

  /* 60% 米白纸底 · 30% 墨色文字 · 10% 砖红强调 */
  --paper:  #F6F2E9;
  --panel:  #FBF8F0;
  --ink:    #201B16;
  --sub:    #6A655A;
  --faint:  #736D61;
  --line:   #DED8C8;
  --accent: #A3402C;

  --measure: 68ch;
  --leading: 1.75;
}

@media (prefers-color-scheme: dark){
  :root{
    --paper:  #1A1614;
    --panel:  #221D1A;
    --ink:    #ECE5D6;
    --sub:    #B8B0A1;
    --faint:  #9D9588;
    --line:   #433A32;
    --accent: #C56B54;
  }
}

html{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  line-height: var(--leading);
  font-size: 17px;
}

h1,h2,h3{ font-family: var(--font-display); font-weight:500; letter-spacing:-.01em; line-height:1.08; }
h1{ font-size: clamp(38px, 6vw, 72px); }
h2{ font-size: clamp(26px, 3.4vw, 40px); }
h3{ font-size: clamp(20px, 2.4vw, 28px); }
h1:lang(zh), h2:lang(zh), h3:lang(zh){ font-family: var(--font-song); font-weight:700; }

em, i{ font-style: italic; }
h1 em, h2 em{ color: var(--accent); }

.prose{ max-width: var(--measure); font-family: var(--font-serif); }
.prose p{ margin: 0 0 1.1em; }
.dispcn{ font-family: var(--font-kai); color: var(--accent); font-size: clamp(20px, 2.6vw, 28px); }

a{ color: var(--accent); text-decoration-thickness:1px; text-underline-offset:2px; }
a:focus-visible{ outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 2px; }
hr{ border:none; border-top:1px solid var(--line); margin:2.4em 0; }
blockquote{ font-family: var(--font-serif); font-size:1.15em; color:var(--sub); border-left:2px solid var(--accent); padding-left:1em; margin:1.6em 0; }
code, pre{ font-family: var(--font-mono); }

.font-display{ font-family: var(--font-display); }
.font-serif{   font-family: var(--font-serif); }
.font-sans{    font-family: var(--font-sans); }
.kai{          font-family: var(--font-kai); }
.song{         font-family: var(--font-song); }
.hei{          font-family: var(--font-hei); }

.accent{ color: var(--accent); }
.sub{ color: var(--sub); }
.faint{ color: var(--faint); }

.kicker{ font-family:var(--font-sans); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.dropcap::first-letter{ font-family:var(--font-display); float:left; font-size:3.4em; line-height:.8; padding:.06em .08em 0 0; color:var(--accent); }
