:root { --ink:#1f2a33; --sub:#5b6b78; --line:#e3e8ec; --accent:#284066; --accent-bg:#eef2f8; --red:#b3303b; --warn:#b3303b; --bg:#fafbfb; }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","PingFang TC","Noto Sans TC",sans-serif; color:var(--ink); background:var(--bg); line-height:1.75; }
a { color:var(--accent); }
.site-header, main, .site-footer { max-width:720px; margin:0 auto; padding:0 20px; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding-top:18px; padding-bottom:6px; }
.brand { display:block; line-height:0; }
.brand img { height:41px; width:auto; }
.site-header nav a { font-size:.88rem; color:var(--sub); margin-left:14px; text-decoration:none; }
.breadcrumb { font-size:.82rem; color:var(--sub); margin:4px 0 0; }
.breadcrumb a { color:var(--sub); }
h1 { font-size:1.55rem; line-height:1.4; margin:.5em 0 .3em; }
h2 { font-size:1.15rem; margin:32px 0 10px; }
.updated { color:var(--sub); font-size:.88rem; }
.summary { background:#fff; border:1px solid var(--line); border-left:4px solid var(--accent); padding:16px 18px; margin:20px 0; }
.summary ol { margin:.4em 0 0; padding-left:1.3em; }
.warn { background:#fcf1f2; border:1px solid #efc9cd; border-radius:8px; padding:14px 18px; margin:20px 0; }
.warn strong { color:var(--warn); }
details { background:#fff; border:1px solid var(--line); border-radius:8px; margin:10px 0; padding:0 16px; }
summary { cursor:pointer; font-weight:600; padding:14px 34px 14px 0; list-style:none; position:relative; }
summary::after { content:""; position:absolute; right:2px; top:50%; width:16px; height:16px; transform:translateY(-50%);
  background:linear-gradient(var(--accent),var(--accent)) center/16px 2px no-repeat, linear-gradient(var(--accent),var(--accent)) center/2px 16px no-repeat;
  transition:background-size .2s; }
details[open] > summary::after { background-size:16px 2px, 2px 0; }
summary::-webkit-details-marker { display:none; }
summary::before { content:"Q. "; color:var(--red); }
details[open] summary { border-bottom:1px solid var(--line); }
.a { padding:12px 0 14px; }
.a::before { content:"A. "; font-weight:700; color:var(--accent); }
.a ol, .a ul { margin:.4em 0; padding-left:1.3em; }
.src { font-size:.82rem; color:var(--sub); margin-top:8px; }
.src a { color:var(--sub); }
.tips, .card, .box { background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px 18px; margin:16px 0; }
.tips ul { margin:.3em 0 0; padding-left:1.2em; }
.offer { background:#fff; border:1px solid var(--accent); border-radius:8px; padding:14px 18px; margin:16px 0; }
.offer .pr-label { display:inline-block; font-size:.75rem; color:var(--sub); border:1px solid var(--line); border-radius:4px; padding:0 6px; margin-bottom:6px; }
.offer ul { list-style:none; padding:0; margin:.4em 0 0; }
.offer li { padding:8px 0; border-top:1px solid var(--line); }
.offer li:first-child { border-top:none; }
.cta { display:block; text-align:center; background:var(--accent); color:#fff; text-decoration:none; border-radius:8px; padding:12px; font-weight:600; margin:20px 0; }
.save { text-align:center; background:var(--accent-bg); border-radius:8px; padding:14px; margin:24px 0; font-weight:600; }
.card a.title { font-weight:600; text-decoration:none; }
.card p { margin:.3em 0 0; color:var(--sub); font-size:.92rem; }
.muted { color:var(--sub); font-size:.9rem; }
.site-footer { color:var(--sub); font-size:.82rem; padding-top:28px; padding-bottom:40px; border-top:1px solid var(--line); margin-top:40px; }
.site-footer nav a { color:var(--sub); margin-right:14px; }

html:lang(zh-Hant-TW) body { font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif; }
