:root{
  --bg:#faf9f7; --card:#ffffff; --ink:#24211d; --muted:#6e6860;
  --line:#e6e1d9; --accent:#8a5a3b; --accent-soft:#f3ece5;
  --key-bg:#eef4fb; --key-bd:#4a7fb5;
  --safe-bg:#fff6e6; --safe-bd:#dfa43f;
  --verify-bg:#fdf0ed; --verify-bd:#c2604f;
  --miss-bg:#f2eef8; --miss-bd:#7a62a8;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#17181a; --card:#1f2124; --ink:#ece8e1; --muted:#a49d92;
    --line:#34363a; --accent:#d0a17c; --accent-soft:#2a2521;
    --key-bg:#1e2a38; --key-bd:#7ba7d4;
    --safe-bg:#332a18; --safe-bd:#d6a445;
    --verify-bg:#33211e; --verify-bd:#dc8877;
    --miss-bg:#282135; --miss-bd:#ac92dc;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei","Segoe UI",sans-serif;
  font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.site-head{border-bottom:1px solid var(--line);background:var(--card)}
.site-head .inner{max-width:980px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.brand{font-weight:700;font-size:17px;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand span{font-weight:400;color:var(--muted);font-size:13px;margin-left:6px}
.site-head nav{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
.site-head nav a{text-decoration:none;color:var(--muted)}
.site-head nav a:hover,.site-head nav a.on{color:var(--accent);font-weight:700}
.notice{background:var(--safe-bg);border-bottom:1px solid var(--safe-bd);font-size:13.5px;line-height:1.7;color:var(--ink)}
.notice .inner{max-width:980px;margin:0 auto;padding:10px 24px}
.notice b{color:#9a6b12}
@media (prefers-color-scheme: dark){.notice b{color:#e8bd6a}}
.wrap{max-width:860px;margin:0 auto;padding:34px 24px 80px}
.crumb{font-size:13px;color:var(--muted);margin:0 0 18px}
.crumb a{text-decoration:none}
.kicker{font-size:12px;letter-spacing:.18em;color:var(--accent);font-weight:700;margin:0 0 10px}
h1{font-size:33px;line-height:1.3;margin:0 0 8px}
.sub{font-size:17px;color:var(--muted);margin:0 0 18px}
.meta{font-size:13px;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:10px 0;margin:0 0 26px;display:flex;flex-wrap:wrap;gap:6px 20px}
.meta span{white-space:nowrap}
.lead{background:var(--accent-soft);border-left:3px solid var(--accent);padding:16px 20px;margin:0 0 30px;border-radius:0 6px 6px 0}
.lead p{margin:0}
h2{font-size:22px;margin:42px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
h3{font-size:17px;margin:26px 0 10px}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin-bottom:7px}
strong{font-weight:700}
.ts{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;font-size:13px;white-space:nowrap}
.say{color:var(--muted)}
.say b{color:var(--ink)}
.call{border-radius:6px;padding:14px 18px;margin:18px 0;border-left:4px solid;font-size:15px}
.call .lab{display:block;font-weight:700;font-size:13px;letter-spacing:.06em;margin-bottom:6px}
.call p:last-child,.call ul:last-child{margin-bottom:0}
.key{background:var(--key-bg);border-color:var(--key-bd)} .key .lab{color:#356189}
.safety{background:var(--safe-bg);border-color:var(--safe-bd)} .safety .lab{color:#9a6b12}
.verify{background:var(--verify-bg);border-color:var(--verify-bd)} .verify .lab{color:#a14436}
.miss{background:var(--miss-bg);border-color:var(--miss-bd)} .miss .lab{color:#6b4e97}
@media (prefers-color-scheme: dark){
  .key .lab{color:#9dc4ea} .safety .lab{color:#e8bd6a}
  .verify .lab{color:#eea493} .miss .lab{color:#c8adee}
}
table{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:15px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--card);font-weight:700;color:var(--muted);font-size:13px;letter-spacing:.04em;border-top:1px solid var(--line)}
.compare td:first-child{font-weight:700;white-space:nowrap;color:var(--accent)}
.steps{counter-reset:step;list-style:none;padding:0;margin:16px 0 22px}
.steps li{counter-increment:step;position:relative;padding:0 0 16px 42px;margin:0;border-left:1px solid var(--line);margin-left:13px}
.steps li:last-child{border-left-color:transparent;padding-bottom:0}
.steps li::before{content:counter(step);position:absolute;left:-13px;top:0;width:26px;height:26px;
  background:var(--accent);color:#fff;border-radius:50%;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center}
.steps b{display:block;margin-bottom:2px}
.steps .note{color:var(--muted);font-size:14px}
figure{margin:20px 0 26px}
figure img{display:block;width:100%;max-width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
figcaption{font-size:13px;color:var(--muted);margin-top:7px;line-height:1.6}
details{border:1px solid var(--line);background:var(--card);border-radius:6px;margin:12px 0;padding:0 18px}
details[open]{padding-bottom:14px}
summary{cursor:pointer;font-weight:700;padding:14px 0;font-size:15px}
summary::marker{color:var(--accent)}
details > :not(summary){font-size:14.5px}
.transcript{font-size:14px;line-height:1.9}
.transcript div{margin-bottom:9px}
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:20px 0 30px}
.cardgrid a{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:16px;text-decoration:none;color:var(--ink)}
.cardgrid a:hover{border-color:var(--accent)}
.cardgrid .t{font-weight:700;font-size:16px;margin-bottom:4px}
.cardgrid .d{color:var(--muted);font-size:13px;line-height:1.6}
.site-foot{border-top:1px solid var(--line);font-size:13px;color:var(--muted);background:var(--card)}
.site-foot .inner{max-width:980px;margin:0 auto;padding:20px 24px;line-height:1.8}
.site-foot a{text-decoration:none}
code{background:var(--accent-soft);padding:2px 6px;border-radius:4px;font-size:13px}
@media print{
  body{background:#fff;font-size:11.5pt}
  .site-head,.site-foot,.notice{display:none}
  .wrap{max-width:none;padding:0}
  h1{font-size:24pt} h2{font-size:16pt;page-break-after:avoid}
  figure,table,.call{page-break-inside:avoid}
  details > :not(summary){display:block !important}
  figure img{max-height:220px;object-fit:contain}
}
@media (max-width:600px){
  .wrap{padding:24px 18px 60px} h1{font-size:27px} h2{font-size:19px}
  table{font-size:13.5px} th,td{padding:8px 7px}
  .site-head .inner{padding:10px 16px}
}
