:root { color-scheme: light; --paper:#f6f8f3; --ink:#24433c; --muted:#536b61; --line:#dce6dc; --green:#326b59; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:system-ui,-apple-system,"PingFang TC","Noto Sans TC",sans-serif; font-size:17px; line-height:1.95; }
a { color:var(--green); text-underline-offset:4px; overflow-wrap:anywhere; }
a:focus-visible { outline:3px solid #b28a3d; outline-offset:5px; border-radius:2px; }
.site-header,main,footer { width:min(100% - 48px,780px); margin-inline:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:30px 0; border-bottom:1px solid var(--line); }
.brand { font-size:24px; font-weight:650; letter-spacing:3px; white-space:nowrap; }
.brand span { font-size:15px; font-weight:500; letter-spacing:4px; margin-left:8px; }
.tagline { font-size:13px; color:var(--muted); }
main { padding-top:56px; padding-bottom:36px; }
.eyebrow { font-size:12px; letter-spacing:3px; color:var(--green); }
h1 { font-size:clamp(34px,6vw,46px); line-height:1.35; margin:14px 0 14px; letter-spacing:2px; }
.intro { font-size:20px; margin:0 0 10px; }
.updated { font-size:13px; color:var(--muted); margin:0 0 28px; }
.summary { padding:24px 28px; border:1px solid #d8e5d8; border-left:4px solid #76a79b; border-radius:0 16px 16px 0; background:#eaf1e7; }
section { margin-top:38px; }
h2 { font-size:20px; font-weight:650; letter-spacing:.3px; margin:0 0 14px; }
p { margin:12px 0; }
footer { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding:24px 0 36px; font-size:13px; color:var(--muted); }
.skip-link { position:absolute; top:-100px; left:16px; background:white; padding:10px 16px; z-index:1; }
.skip-link:focus { top:12px; }
@media(max-width:480px) { .site-header,main,footer { width:calc(100% - 36px); } .tagline { display:none; } main { padding-top:34px; } .summary { padding:18px 20px; } h2 { font-size:19px; } body { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print { body { background:white; font-size:11pt; } .site-header,main,footer { width:100%; } main { padding-top:20px; } section { break-inside:avoid; } .skip-link { display:none; } }
