:root {
  --deep: #0f3d38; --ink: #1d1d1f; --mute: #6e6e73; --paper: #fbfaf7; --line: #e8e5de;
  --teal: #2dd4bf; --teal-d: #0f766e; --cream: #f5f1e8;
  --serif: "Songti SC", "Noto Serif SC", "Source Han Serif SC", Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.75 var(--sans); }
a { color: var(--teal-d); }
.top { background: var(--deep); }
.top .in { max-width: 760px; margin: 0 auto; padding: 16px 20px; display: flex; justify-content: space-between; align-items: center; }
.wm { display: flex; align-items: baseline; gap: 7px; color: var(--cream); text-decoration: none; }
.wm .zh { font-family: var(--serif); font-size: 21px; font-weight: 700; letter-spacing: .04em; }
.wm .dot { width: 7px; height: 7px; border-radius: 2px; background: var(--teal); display: inline-block; transform: translateY(-3px); }
.wm .en { font-size: 11px; letter-spacing: .22em; opacity: .75; }
.top .pill { background: var(--teal); color: var(--deep); border-radius: 999px; padding: 6px 14px; font-size: 13px; font-weight: 600; text-decoration: none; }
main { max-width: 760px; margin: 0 auto; padding: 48px 20px 72px; }
h1 { font-family: var(--serif); font-size: clamp(30px, 6vw, 42px); line-height: 1.25; margin: 0 0 10px; }
.meta { color: var(--mute); font-size: 14px; margin: 0 0 28px; }
.summary { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 22px; margin: 0 0 36px; }
.summary h2 { margin-top: 0; font-size: 18px; border: 0; padding: 0; }
.summary ul { margin: 0; padding-left: 20px; }
h2 { font-family: var(--serif); font-size: 22px; margin: 40px 0 10px; padding-top: 8px; border-top: 1px solid var(--line); }
h3 { font-size: 16px; margin: 22px 0 6px; }
ul { padding-left: 22px; }
li { margin: 4px 0; }
table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 10px 0 6px; }
th, td { text-align: left; vertical-align: top; padding: 9px 10px; border-bottom: 1px solid var(--line); }
th { background: var(--cream); font-weight: 600; }
.note { color: var(--mute); font-size: 14px; }
footer { border-top: 1px solid var(--line); color: var(--mute); font-size: 13px; }
footer .in { max-width: 760px; margin: 0 auto; padding: 22px 20px 40px; display: flex; flex-wrap: wrap; gap: 6px 18px; }
footer a { color: var(--mute); }
@media (max-width: 560px) { table, thead, tbody, tr, th, td { display: block; } thead { display: none; } td { border: 0; padding: 2px 0; } tr { border-bottom: 1px solid var(--line); padding: 10px 0; } td:first-child { font-weight: 600; } }
.top .act { display: flex; align-items: center; gap: 16px; }
.top .lang { color: var(--cream); opacity: .8; font-size: 13px; text-decoration: none; }
.top .lang:hover { opacity: 1; }
