:root { --fg:#1a1a1a; --muted:#555; --line:#d6d9de; --bg:#fff; --soft:#f3f5f8; --brand:#1d4ed8; --brand-dark:#1e3a8a; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:system-ui,-apple-system,"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif; font-size:18px; line-height:1.75; overflow-wrap:anywhere; }
.wrap { max-width:760px; margin:0 auto; padding:0 16px; min-width:0; }
a { color:var(--brand); }
h1 { font-size:1.75rem; line-height:1.35; margin:1.2rem 0 .5rem; }
h2 { font-size:1.35rem; line-height:1.4; margin:2rem 0 .75rem; }
h3 { font-size:1.15rem; line-height:1.4; margin:1.5rem 0 .25rem; }
.lead { font-size:1.1rem; margin:0 0 .75rem; }
.hint { color:var(--muted); font-size:1rem; margin:.5rem 0; }
.site-header { border-bottom:1px solid var(--line); }
.header-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:12px; padding-bottom:12px; }
.site-logo { font-weight:700; font-size:1.1rem; color:var(--fg); text-decoration:none; }
.breadcrumb { margin:.75rem 0 0; font-size:.95rem; }
.breadcrumb ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:0 .4rem; }
.breadcrumb li + li::before { content:"›"; margin-right:.4rem; }
.breadcrumb [aria-current] { color:var(--fg); }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:12px; margin:1rem 0; }
.card, .page-list a { display:block; border:1px solid var(--line); border-radius:12px; padding:12px 14px; }
a.card, .page-list a { color:var(--fg); text-decoration:none; }
a.card:hover, .page-list a:hover { border-color:var(--brand); }
.card strong, .page-list strong { display:block; color:var(--brand); }
.card h3 { margin-top:0; }
.page-list { list-style:none; padding:0; display:grid; gap:10px; }
.page-list span { color:var(--muted); font-size:1rem; }
.table-scroll { max-width:100%; overflow-x:auto; }
table { border-collapse:collapse; width:100%; font-size:1rem; }
th, td { border:1px solid var(--line); padding:8px; text-align:left; vertical-align:top; }
th { background:var(--soft); }
.btn, button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 18px; border:2px solid var(--brand); border-radius:10px; background:#fff; color:var(--brand); font:inherit; font-size:1rem; font-weight:600; cursor:pointer; text-decoration:none; }
.btn-primary { background:var(--brand); color:#fff; }
.btn-primary:hover { background:var(--brand-dark); }
button:disabled { opacity:.5; cursor:default; }
input:not([type=checkbox]):not([type=radio]), select, textarea { display:block; width:100%; min-width:0; min-height:44px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; background:#fff; color:var(--fg); }
fieldset { min-width:0; }
:focus-visible { outline:3px solid #93b4ff; outline-offset:2px; }
.note-box { background:#fff4d6; border:1px solid #f5c451; border-left:6px solid #e69a00; color:#5c3b00; padding:12px 16px; border-radius:8px; margin:14px 0; }
.sources { font-size:.95rem; }
.other-pages { margin-top:2.5rem; border-top:1px solid var(--line); padding-top:1rem; }
.site-footer { margin-top:3rem; border-top:1px solid var(--line); background:var(--soft); font-size:.95rem; color:var(--muted); }
.site-footer .wrap { padding-top:16px; padding-bottom:24px; }
.foot-info { display:flex; flex-wrap:wrap; gap:6px 1rem; }
.foot-disclaimer { font-size:.9rem; }
[hidden] { display:none!important; }
@media(max-width:480px) { body { font-size:17px; } h1 { font-size:1.5rem; } }
