
:root{--paper:#F7F3EA;--sheet:#FFFCF6;--ink:#0A233C;--muted:#5D6470;--rule:#E2D5BB;--gold:#A8792A;--band:#0A233C;--on-band:#F4EEE2;--on-band-muted:#B9C2CF;--gold-band:#D8B36A;
--f-display:"Noto Serif TC","Songti TC",serif;--f-latin:"Cormorant Garamond","Times New Roman",serif;--f-body:"Lato","Noto Sans TC","PingFang TC",system-ui,sans-serif}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#0B1727;--sheet:#102034;--ink:#EFE8DA;--muted:#A9B1BD;--rule:#2A3B53;--gold:#D6AE62;--band:#06142A;color-scheme:dark}}
:root[data-theme="dark"]{--paper:#0B1727;--sheet:#102034;--ink:#EFE8DA;--muted:#A9B1BD;--rule:#2A3B53;--gold:#D6AE62;--band:#06142A;color-scheme:dark}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.9;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--band)}
img{max-width:100%;display:block}
a{color:var(--gold)}
a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.wrap{max-width:760px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.wrap.wide{max-width:1100px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--band);border-bottom:1px solid color-mix(in srgb,var(--gold-band) 45%,transparent)}
.bar{display:flex;align-items:center;gap:16px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-band)}
.brand img{width:26px;height:auto}
.brand b{font-family:var(--f-display);font-size:17px;white-space:nowrap}
@media (max-width:420px){.brand b{font-size:14.5px}.brand img{width:22px}}
.bar nav{margin-left:auto;display:flex;gap:18px}
.bar nav a{color:var(--on-band-muted);text-decoration:none;font-size:14px}
.bar nav a:hover{color:var(--gold-band)}
h1,h2,h3{font-family:var(--f-display);font-weight:700;line-height:1.4;text-wrap:balance;margin:0}
.crumb{font-size:13px;color:var(--muted);padding-top:28px}
.crumb a{color:var(--muted)}
.series{display:inline-block;margin-top:28px;font-size:13px;font-weight:700;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:2px 12px}
article h1{font-size:clamp(26px,4vw,36px);margin:14px 0 10px}
.meta{font-size:13.5px;color:var(--muted)}
.body{margin-top:32px;padding-top:28px;border-top:1px solid var(--gold)}
.body > * + *{margin-top:1.1em}
.body p{margin-bottom:0}
.body h2{font-size:22px;margin-top:2em;padding-left:14px;border-left:3px solid var(--gold)}
.body .lead{font-family:var(--f-display);font-size:20px;font-weight:600;line-height:1.7}
.body ul{padding-left:1.3em}
blockquote{margin:1.2em 0;padding:16px 20px;background:var(--sheet);border:1px solid var(--rule);border-left:3px solid var(--gold)}
blockquote p{margin:0;font-family:var(--f-display);font-weight:600}
blockquote cite{display:block;margin-top:8px;font-style:normal;font-size:13.5px;color:var(--muted)}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:var(--sheet);border:1px solid var(--gold);font-size:15.5px}
th,td{padding:10px 14px;border-bottom:1px dashed var(--rule);text-align:left}
thead th{color:var(--gold);border-bottom:1px solid var(--gold);font-family:var(--f-display)}
.end{margin-top:2.2em;font-family:var(--f-display);font-weight:700;font-size:19px;line-height:1.8}
.note{margin-top:2em;font-size:13.5px;color:var(--muted);border-top:1px dashed var(--rule);padding-top:14px}
.author{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;margin-top:44px;padding:22px;background:var(--sheet);border:1px solid var(--gold)}
.author > *{min-width:0}
.author img{width:96px;height:120px;object-fit:cover}
.author b{font-family:var(--f-display);font-size:18px}
.author p{margin:4px 0 12px;font-size:14.5px;color:var(--muted);line-height:1.7}
.btn{display:inline-block;padding:9px 18px;border-radius:999px;background:var(--gold);color:var(--sheet);font-weight:700;font-size:14px;text-decoration:none}
.more{margin-top:44px}
.more h2{font-size:18px;margin-bottom:12px}
.list{display:grid;gap:12px}
.card{display:block;text-decoration:none;color:var(--ink);background:var(--sheet);border:1px solid var(--rule);padding:16px 18px}
.card:hover{border-color:var(--gold)}
.card .n{font-family:var(--f-latin);font-weight:700;color:var(--gold);font-size:14px;letter-spacing:.1em}
.card h3{font-size:17.5px;margin:4px 0 6px}
.card p{margin:0;font-size:14px;color:var(--muted);line-height:1.7}
.hero{background:var(--band);color:var(--on-band);padding-block:48px 52px}
.hero .caps{font-family:var(--f-latin);font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:13px;color:var(--gold-band)}
.hero h1{font-size:clamp(28px,4vw,40px);margin:10px 0 12px;color:var(--on-band)}
.hero p{margin:0;color:var(--on-band-muted);max-width:40em}
.idx{padding-block:44px 64px}
.idx h2{font-size:22px;margin-bottom:6px}
.idx .sd{color:var(--muted);font-size:15px;margin:0 0 18px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (max-width:700px){.grid{grid-template-columns:1fr}.author{grid-template-columns:72px 1fr}.author img{width:72px;height:90px}.bar nav{display:none}}
footer{margin-top:64px;background:var(--band);color:var(--on-band-muted);padding-block:32px 40px;font-size:13px}
footer b{color:var(--on-band);font-family:var(--f-display)}
.lsw{display:flex;flex:none;gap:2px;border:1px solid color-mix(in srgb,var(--gold-band) 55%,transparent);border-radius:999px;padding:2px;margin-left:12px}
.lsw a{color:var(--on-band-muted);text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap;padding:3px 9px;border-radius:999px}
.lsw a[aria-current]{background:var(--gold-band);color:var(--band)}
:lang(ja){--f-display:"Shippori Mincho","Noto Serif TC",serif;--f-body:"Lato","Noto Sans JP",system-ui,sans-serif}
:lang(ja) body,body:lang(ja){font-family:var(--f-body)}
@media (max-width:700px){.bar nav{display:none}.lsw{margin-left:auto}}
.fig{margin:28px 0 0;display:flex;justify-content:center;background:#161616;border:1px solid var(--rule)}
.fig img{width:auto;max-width:100%;max-height:620px;height:auto}
