:root {
    --bg: #f7f4ee;
    --panel: #fffdfa;
    --ink: #1e1b18;
    --muted: #6b6259;
    --line: #e3ddd2;
    --accent: #6d4aca;
    --accent-soft: #f0ebfd;
    --cardio: #d9762f;
  }
  @media (prefers-color-scheme: dark) {
    :root {
      --bg: #000;
      --panel: #131211;
      --ink: #f2efe9;
      --muted: #9d948a;
      --line: #2a2724;
      --accent: #a98cf5;
      --accent-soft: #1d1830;
      --cardio: #e8945a;
    }
  }
  * { box-sizing: border-box; }
  body {
    margin: 0;
    padding: 0 20px 80px;
    background: var(--bg);
    color: var(--ink);
    font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue",
          "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    -webkit-text-size-adjust: 100%;
  }
  .wrap { max-width: 760px; margin: 0 auto; }
  header { padding: 56px 0 8px; }
  h1 { font-size: 2.1rem; line-height: 1.15; margin: 0 0 6px; letter-spacing: -0.02em; }
  .tagline { color: var(--muted); margin: 0 0 22px; font-size: 1.05rem; }
  .langbar { font-size: 0.95rem; margin-bottom: 40px; }
  .langbar a { color: var(--accent); text-decoration: none; border-bottom: 1px solid currentColor; }
  h2 {
    font-size: 1.35rem; margin: 52px 0 14px; letter-spacing: -0.01em;
    padding-top: 22px; border-top: 1px solid var(--line);
  }
  h3 { font-size: 1.02rem; margin: 26px 0 6px; }
  p, ul, ol { margin: 0 0 14px; }
  ul, ol { padding-left: 22px; }
  li { margin-bottom: 6px; }
  a { color: var(--accent); }
  .card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 24px 26px;
    margin: 0 0 20px;
  }
  .contact-card { background: var(--accent-soft); border-color: transparent; }
  .email {
    display: inline-block;
    font-size: 1.22rem;
    font-weight: 600;
    word-break: break-all;
    margin: 4px 0 10px;
  }
  .meta { color: var(--muted); font-size: 0.93rem; }
  code {
    background: var(--bg); border: 1px solid var(--line);
    padding: 1px 6px; border-radius: 6px; font-size: 0.88em;
  }
  .path { font-weight: 600; }
  footer {
    margin-top: 64px; padding-top: 22px;
    border-top: 1px solid var(--line);
    color: var(--muted); font-size: 0.9rem;
  }
  @media (max-width: 520px) {
    header { padding-top: 36px; }
    h1 { font-size: 1.75rem; }
    .card { padding: 20px; }
  }
