
:root{--paper:#fbf9f3;--ink:#2a2520;--muted:#7a7268;--accent:#8b3a2f;
--rule:#d9d2c2;--card:#f3eee2;--hover:#e6d6bd;}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);
font-family:'Noto Serif TC','Songti TC','PMingLiU','宋體',serif;
font-size:18px;line-height:1.8;-webkit-font-smoothing:antialiased;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1080px;margin:0 auto;padding:2.5em 1.5em 5em;}
.doc-wrap{max-width:760px;}
header{text-align:center;margin-bottom:2em;}
header h1{font-size:2.2em;margin:0 0 .2em;letter-spacing:.04em;}
header .sub{color:var(--muted);font-size:.95em;}
.topbar{margin-bottom:1.8em;font-size:.9em;color:var(--muted);
border-bottom:1px solid var(--rule);padding-bottom:.8em;}
.topbar a{margin-right:1.2em;}
.cat{margin:2.2em 0 0;}
.cat h2{font-size:1.3em;color:var(--accent);border-bottom:2px solid var(--rule);
padding-bottom:.3em;margin:0 0 .3em;display:flex;justify-content:space-between;align-items:baseline;}
.cat .wiki-link{font-size:.62em;font-weight:400;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5em,1fr));gap:1em;margin-top:1em;}
.book{display:block;border:1px solid var(--rule);border-radius:10px;
padding:1em 1.2em;background:var(--card);text-decoration:none;color:inherit;
transition:transform .12s ease,box-shadow .12s ease;}
.book:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.08);
background:var(--hover);text-decoration:none;}
.book .t{font-size:1.05em;font-weight:700;line-height:1.35;}
footer{text-align:center;color:var(--muted);font-size:.8em;margin-top:3.5em;}
/* 報告/wiki 內文排版 */
article.doc h1{font-size:1.9em;border-bottom:2px solid var(--rule);padding-bottom:.3em;}
article.doc h2{font-size:1.45em;color:var(--accent);margin-top:1.8em;}
article.doc h3{font-size:1.2em;margin-top:1.5em;}
article.doc h4{font-size:1.05em;color:var(--muted);}
article.doc p{margin:1em 0;}
article.doc blockquote{border-left:3px solid var(--rule);margin:1em 0;padding:.2em 1.2em;
color:var(--muted);background:#f6f2e8;}
article.doc table{border-collapse:collapse;margin:1.2em 0;width:100%;font-size:.92em;}
article.doc th,article.doc td{border:1px solid var(--rule);padding:.5em .7em;text-align:left;
vertical-align:top;}
article.doc th{background:var(--card);}
article.doc code{background:#efe9db;padding:.1em .35em;border-radius:4px;font-size:.9em;}
article.doc li{margin:.3em 0;}
