:root{
  --bg:#faf8f4; --surface:#ffffff; --ink:#1f2328; --muted:#5b6470; --line:#e4e0d8;
  --accent:#8a3b12; --accent-soft:#f6e9df; --yes:#2f6f3e; --no:#9b2c2c; --mid:#8a6d12;
  --code:#f1eee8;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#16181c; --surface:#1e2126; --ink:#e7e4de; --muted:#a3a9b3; --line:#30343b;
    --accent:#e39a6c; --accent-soft:#2c231d; --yes:#7cc38c; --no:#e38b8b; --mid:#d9bd6a; --code:#25282e;
  }
}
:root[data-theme="dark"]{
  --bg:#16181c; --surface:#1e2126; --ink:#e7e4de; --muted:#a3a9b3; --line:#30343b;
  --accent:#e39a6c; --accent-soft:#2c231d; --yes:#7cc38c; --no:#e38b8b; --mid:#d9bd6a; --code:#25282e;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU",Georgia,serif;
  line-height:1.8;font-size:17px}
.wrap{max-width:860px;margin:0 auto;padding:32px 16px 80px}
nav.top{font-family:system-ui,"Noto Sans TC",sans-serif;font-size:14px;margin-bottom:24px}
nav.top a{color:var(--accent);text-decoration:none;margin-right:14px}
h1{font-size:1.9rem;line-height:1.35;margin:.2em 0 .3em}
h2{font-size:1.35rem;margin:2.2em 0 .6em;padding-bottom:.25em;border-bottom:1px solid var(--line)}
h3{font-size:1.1rem;margin:1.6em 0 .4em}
p,li{overflow-wrap:anywhere}
a{color:var(--accent)}
.lede{color:var(--muted);font-size:1.05rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:14px 0}
.callout{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:6px;padding:12px 16px;margin:16px 0}
.tag{display:inline-block;font-family:system-ui,sans-serif;font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid currentColor;margin-right:6px;vertical-align:middle}
.tag.yes{color:var(--yes)} .tag.no{color:var(--no)} .tag.mid{color:var(--mid)}
.en{font-family:Georgia,serif;font-style:italic;color:var(--muted)}
blockquote{margin:14px 0;padding:6px 16px;border-left:3px solid var(--line);color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:15px;margin:14px 0;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--code)}
ol.refs li{margin-bottom:8px;font-size:15px}
.unverified{color:var(--no);font-size:12px;font-family:system-ui,sans-serif}
details{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 14px;margin:10px 0}
summary{cursor:pointer;font-weight:600}
footer{margin-top:48px;color:var(--muted);font-size:13px;font-family:system-ui,sans-serif}
