:root { --paper:#FBFBF8; --ink:#1C2033; --gray:#7A7F92; --blue:#2440C9; --rule:#E3E3DD; }
* { box-sizing:border-box; }
html { background:var(--paper); }
body { margin:0; color:var(--ink); font:18px/1.75 -apple-system,"PingFang TC","Noto Sans TC",sans-serif; }
main { max-width:680px; margin:0 auto; padding:56px 24px 72px; }
h1,h2,h3 { font-family:"Songti TC","Noto Serif TC",serif; font-weight:600; line-height:1.3; margin:0 0 .5em; }
h1 { font-size:34px; margin-top:0; }
h2 { font-size:22px; margin-top:2.2em; padding-top:1em; border-top:1px solid var(--rule); }
p,li { margin:0 0 .9em; }
ul { padding-left:1.2em; }
a { color:var(--blue); text-decoration:none; }
a:hover { text-decoration:underline; }
.lede { color:var(--gray); margin-bottom:2.2em; }
.meta { color:var(--gray); font-size:15px; }
nav { font-size:15px; color:var(--gray); margin-bottom:2.5em; }
nav a { margin-right:1.2em; }
footer { max-width:680px; margin:0 auto; padding:0 24px 48px; color:var(--gray); font-size:15px; border-top:1px solid var(--rule); padding-top:1.5em; }
footer a { color:var(--gray); margin-right:1.2em; }
dl { margin:0; }
dt { font-family:"Songti TC","Noto Serif TC",serif; font-size:19px; margin-top:1.4em; }
dd { margin:0 0 .6em; }
