/* JetBrains Mono — self-hosted.
   注意：latin 子集**不包含**制表符/方块/箭头/提示符。这些字符原本会回退到系统字体，
   而系统字体的 advance 宽度与 0.6em 不同 → logo 边框、tree 树枝、neofetch 分隔线全部错位。
   因此额外提供一份极小的“符号子集”（同一字体、同样 0.6em），用 unicode-range 精确接管。 */
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/jetbrains-mono-symbols-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  /* → 制表符 █ 提示符 */
  unicode-range: U+2192, U+2500-257F, U+2588, U+276F;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/jetbrains-mono-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('../fonts/jetbrains-mono-symbols-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+2192, U+2500-257F, U+2588, U+276F;
}

/* Default theme: Claude Code dark */
:root,
[data-theme="claude"] {
  --bg: #1a1a1a;
  --bg-elevated: #161b22;
  --border: #30363d;
  --text: #e6e6e6;
  --text-muted: #8b949e;
  --input: #58a6ff;
  --prompt: #3fb950;
  --dir: #58a6ff;
  --link: #58a6ff;
  --error: #f85149;
  --success: #3fb950;
  --cursor: #e6e6e6;
  --selection: rgba(88, 166, 255, 0.30);
  --logo-depth: #2f5d9e;
}

[data-theme="light"] {
  --bg: #ffffff;
  --bg-elevated: #f6f8fa;
  --border: #d0d7de;
  --text: #1f2328;
  --text-muted: #656d76;
  --input: #0969da;
  --prompt: #1a7f37;
  --dir: #0969da;
  --link: #0969da;
  --error: #cf222e;
  --success: #1a7f37;
  --cursor: #1f2328;
  --selection: rgba(9, 105, 218, 0.25);
  --logo-depth: #b9c2cc;
}

[data-theme="matrix"] {
  --bg: #000000;
  --bg-elevated: #0a0a0a;
  --border: #003b00;
  --text: #00ff41;
  --text-muted: #00b32d;
  --input: #00ff41;
  --prompt: #00ff41;
  --dir: #00ff41;
  --link: #00ff41;
  --error: #ff5555;
  --success: #00ff41;
  --cursor: #00ff41;
  --selection: rgba(0, 255, 65, 0.30);
  --logo-depth: #0a7d24;
}

[data-theme="dracula"] {
  --bg: #282a36;
  --bg-elevated: #21222c;
  --border: #44475a;
  --text: #f8f8f2;
  --text-muted: #6272a4;
  --input: #8be9fd;
  --prompt: #50fa7b;
  --dir: #8be9fd;
  --link: #8be9fd;
  --error: #ff5555;
  --success: #50fa7b;
  --cursor: #f8f8f2;
  --selection: rgba(139, 233, 253, 0.30);
  --logo-depth: #4a5a96;
}
