:root { --paper:#f6f5f2; --surface:#fff; --ink:#272a28; --muted:#666b68; --line:#dfE3de; --accent:#3e6658; --soft:#eaf0ea; --radius:16px; color-scheme:light; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none; }
* { box-sizing:border-box; } body { margin:0; } a { color:var(--accent); text-underline-offset:4px; } a:hover { text-decoration:underline; } a:focus-visible, summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:4px; } .skip { position:fixed; left:16px; top:-100px; z-index:10; padding:12px; background:var(--surface); } .skip:focus { top:12px; }
.header, main, .footer { width:min(880px,calc(100% - 64px)); margin-inline:auto; } .header { display:flex; align-items:center; justify-content:space-between; padding:30px 0; border-bottom:1px solid var(--line); } .brand { display:flex; align-items:center; gap:12px; font-size:21px; font-weight:650; color:var(--ink); text-decoration:none; } .brand small { display:block; margin-top:3px; font-size:9px; letter-spacing:2px; font-weight:500; color:var(--muted); } .mark { display:block; flex:none; width:44px; height:44px; border-radius:12px; object-fit:contain; } .edition { font-size:13px; color:var(--muted); letter-spacing:1px; }
.tag { display:inline-block; border:1px solid #cedbd0; border-radius:30px; padding:6px 11px; font-size:12px; letter-spacing:1px; color:var(--accent); background:var(--soft); } .hero { padding:60px 0 32px; } h1 { font-family:"Songti SC","Noto Serif CJK SC",serif; font-size:44px; line-height:1.45; font-weight:600; letter-spacing:1px; margin:22px 0 16px; } .hero > p { font-size:16px; line-height:1.9; color:var(--muted); margin:0 0 20px; } .meta { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12px; color:var(--muted); line-height:1.8; }
.cards { display:grid; gap:14px; margin:8px 0 28px; } .card { display:flex; gap:24px; padding:28px 30px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; color:var(--ink); transition:border-color .15s,background .15s; } .card:hover { border-color:var(--accent); background:#fcfdfb; text-decoration:none; } .number { padding-top:4px; color:var(--accent); font-family:Georgia,serif; font-size:20px; } .card-copy { flex:1; } .card h2 { font-size:20px; margin:0 0 8px; font-weight:600; } .card p { font-size:14px; line-height:1.8; color:var(--muted); margin:0; } .read { display:flex; justify-content:space-between; margin-top:20px; color:var(--accent); font-size:13px; font-weight:600; } .contact { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:26px 30px; border-radius:var(--radius); background:var(--soft); } .contact h2 { font-size:17px; margin:0 0 6px; } .contact p { color:var(--muted); font-size:13px; line-height:1.7; margin:0; } .contact a { font-size:14px; white-space:nowrap; padding:10px 0; }
.breadcrumb { padding:25px 0; font-size:14px; } .breadcrumb a { display:inline-block; padding:8px 0; text-decoration:none; } .document { padding:40px 46px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); } .document h1 { font-size:34px; margin-top:20px; } .intro { color:var(--muted); font-size:15px; line-height:1.8; margin:0 0 20px; } .document-head { padding-bottom:26px; border-bottom:1px solid var(--line); } .toc { margin:24px 0 34px; background:var(--paper); border-radius:10px; padding:0 18px; } summary { cursor:pointer; padding:16px 0; color:var(--accent); font-size:14px; font-weight:600; } summary span { float:right; color:var(--muted); font-size:12px; font-weight:400; } .toc ol { margin:0; padding:0 0 15px 22px; } .toc li { padding:3px 0; font-size:14px; line-height:1.8; } .toc a { display:inline-block; padding:5px 0; } .prose { font-size:15px; line-height:2; overflow-wrap:anywhere; } .prose section { scroll-margin-top:24px; margin-top:32px; } .prose h2 { font-size:19px; line-height:1.6; margin:0 0 14px; font-weight:650; } .prose p { margin:12px 0; } .prose ul { padding-left:21px; margin:12px 0; } .prose li { margin:12px 0; padding-left:3px; } .prose strong { font-weight:650; } .end { border-top:1px solid var(--line); margin-top:38px; padding-top:23px; display:flex; justify-content:space-between; font-size:13px; color:var(--muted); }
.footer { padding:36px 0 30px; text-align:center; font-size:12px; color:var(--muted); line-height:1.8; } .footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 24px; margin-bottom:20px; } .footer nav a { display:inline-block; padding:10px 0; text-decoration:none; } .footer nav a[aria-current] { color:var(--ink); text-decoration:underline; } .footer p { margin:5px 0; } .email { overflow-wrap:anywhere; } .fine { padding-top:10px; font-size:11px; }
@media(max-width:600px) { .header, main, .footer { width:calc(100% - 36px); } .header { padding:20px 0; } .edition { font-size:12px; } .hero { padding-top:34px; } h1 { font-size:34px; } .hero > p { font-size:14px; } .card { padding:23px 21px; gap:17px; } .card h2 { font-size:19px; } .contact { padding:22px; align-items:flex-start; flex-direction:column; gap:5px; } .breadcrumb { padding:15px 0; } .document { padding:26px 20px; border-radius:12px; } .document h1 { font-size:28px; letter-spacing:0; } .prose { font-size:15px; line-height:1.95; } .prose h2 { font-size:18px; } .meta { flex-direction:column; gap:4px; } .footer nav { gap:4px 18px; } }
@media print { :root { background:white; color:black; } .header, main, .footer { width:100%; } .header, .breadcrumb, .toc, .footer nav, .end a, .skip { display:none; } .document { border:0; padding:0; } .prose { font-size:11pt; line-height:1.7; } .prose h2 { break-after:avoid; } .prose p, .prose li { orphans:3; widows:3; } a { color:inherit; } .tag { background:none; } }
@media(prefers-reduced-motion:reduce) { * { transition:none !important; } }
