:root { --paper:#f4f1e8; --ink:#17201d; --muted:#5e6762; --line:rgba(23,32,29,.17); --jade:#0f725c; --jade-soft:#dce9e2; --white:#fffdf7; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"PingFang SC","Hiragino Sans GB","Microsoft JhengHei","Microsoft YaHei",sans-serif; line-height:1.8; letter-spacing:0; }
a { color:var(--jade); }
header, main, footer { width:min(calc(100% - 40px), 860px); margin:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-family:"Songti SC","STSong",serif; font-size:24px; font-weight:700; text-decoration:none; }
.back { min-height:44px; display:inline-flex; align-items:center; text-decoration:none; }
main { padding:64px 0 88px; }
h1, h2 { font-family:"Songti SC","STSong","Noto Serif CJK TC",serif; }
h1 { max-width:760px; margin:0 0 16px; font-size:58px; line-height:1.12; }
h2 { margin:48px 0 12px; font-size:28px; line-height:1.35; }
h3 { margin:0 0 8px; font-size:19px; }
p, li { color:var(--muted); }
.meta { margin-bottom:28px; color:var(--jade); font-size:14px; }
.lead { max-width:720px; color:var(--ink); font-size:20px; }
.notice, .card { border:1px solid var(--line); background:rgba(255,253,247,.58); }
.notice { padding:20px; color:var(--ink); }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.card { padding:20px; }
.card p { margin-bottom:0; }
.cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:12px; padding:0 20px; background:var(--jade); color:var(--white); font-weight:700; text-decoration:none; }
.links { display:flex; flex-wrap:wrap; gap:10px 18px; padding:0; list-style:none; }
details { padding:16px 0; border-bottom:1px solid var(--line); }
summary { cursor:pointer; color:var(--ink); font-weight:700; }
footer { display:flex; flex-wrap:wrap; gap:16px 24px; padding:28px 0 40px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
@media (max-width:560px) { main { padding-top:48px; } h1 { font-size:42px; } h2 { margin-top:38px; } .grid { grid-template-columns:1fr; } .lead { font-size:18px; } }
