/* 法律/關於頁共用樣式 — 配 hero 的報紙風(paper/ink/rust、Caslon + Noto TC + Space Mono) */
:root{
  --paper:#f2efe6; --ink:#1b1a17; --body:#3f3b33; --muted:#5a5449; --muted2:#8a8375;
  --rust:#c76b3f; --red:#b23b2e; --hairline:rgba(27,26,23,.12);
  --serif:'Libre Caslon Display','Noto Serif TC',serif;
  --serif-tc:'Noto Serif TC','Libre Caslon Display',serif;
  --sans-tc:'Noto Sans TC','Libre Franklin',sans-serif;
  --mono:'Space Mono',monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{background:var(--paper); color:var(--ink); font-family:var(--sans-tc); line-height:1.72;
  -webkit-font-smoothing:antialiased; padding:clamp(14px,3vw,40px) clamp(16px,5vw,56px) 56px;}
a{color:inherit;}
.wrap{max-width:760px; margin:0 auto;}

/* 報頭 */
.mast{display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:2px solid var(--ink); margin-bottom:28px;}
.mast .crest{width:34px; height:34px; border-radius:8px; display:block;}
.mast .name{font-family:var(--serif); font-size:20px; letter-spacing:.01em; line-height:1.05;}
.mast .name .sub{font-family:var(--mono); font-size:10px; letter-spacing:.16em; color:var(--muted2);
  text-transform:uppercase; display:block; margin-top:3px;}
.mast .spacer{flex:1;}
.mast .back{font-family:var(--mono); font-size:12px; letter-spacing:.08em; color:var(--muted);
  border:1px solid #cbc6b8; padding:6px 12px; white-space:nowrap;}
.mast .back:hover{border-color:var(--ink);}

/* 標題 */
.kicker{font-family:var(--mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rust); margin-bottom:9px;}
h1.doc-title{font-family:var(--serif); font-weight:700; font-size:clamp(30px,5vw,44px); line-height:1.08; margin:0 0 10px; text-wrap:balance;}
.updated{font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; color:var(--muted2); margin-bottom:30px;}

/* 內文 */
.doc-body .lede{font-family:var(--serif-tc); font-style:italic; font-size:17.5px; line-height:1.6; color:var(--muted); margin:0 0 26px;}
.doc-body h2{font-family:var(--serif-tc); font-weight:700; font-size:18.5px; margin:32px 0 8px; padding-top:18px; border-top:1px solid var(--hairline);}
.doc-body h2:first-child{border-top:none; padding-top:0; margin-top:0;}
.doc-body p{font-size:15.5px; color:var(--body); margin:0 0 14px;}
.doc-body ul{padding-left:20px; margin:0 0 14px;}
.doc-body li{font-size:15.5px; color:var(--body); margin:6px 0;}
.doc-body strong{color:var(--ink); font-weight:700;}
.doc-body a.link{color:var(--rust); border-bottom:1px solid rgba(199,107,63,.4);}
.doc-body a.link:hover{border-bottom-color:var(--rust);}
code{font-family:var(--mono); font-size:.86em; background:rgba(27,26,23,.06); padding:1px 5px; border-radius:3px;}

/* 頁尾 */
.foot{max-width:760px; margin:50px auto 0; padding-top:16px; border-top:2px solid var(--ink);
  display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center;
  font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--muted2);}
.foot a{color:var(--muted);}
.foot a:hover{color:var(--ink);}
.foot .spacer{flex:1;}

@media (prefers-color-scheme: dark){
  :root{--paper:#17161a; --ink:#ece7db; --body:#c8c1b2; --muted:#a49d8e; --muted2:#8a8375;
    --hairline:rgba(236,231,219,.14);}
  .mast .back{border-color:#3a3640;}
  code{background:rgba(236,231,219,.08);}
}
