/* 標案情報 — 靜態情報頁樣式
   刻意不載外部字型：這些頁面靠 LCP 拿排名，每一個 round-trip 都要省。 */

:root{
  --paper:#fbfbf9; --card:#fff; --ink:#15191c; --ink2:#454e4a; --muted:#6d7873;
  --rule:#e2e6de; --rule2:#f0f2ec; --accent:#1f5f4e; --accent-bg:#e6f0ea;
  --alarm:#8f3524;
}
@media (prefers-color-scheme:dark){
  :root{
    --paper:#101412; --card:#171c19; --ink:#e9ece6; --ink2:#b4bdb6; --muted:#8a958e;
    --rule:#2a322d; --rule2:#1e2521; --accent:#63c0a2; --accent-bg:#16302a;
    --alarm:#e29079;
  }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"IBM Plex Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI",
    "Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;
  font-size:16px; line-height:1.75; -webkit-font-smoothing:antialiased;
}
a{color:var(--accent); text-underline-offset:3px}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

/* header */
.site{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  padding:14px 24px; border-bottom:1px solid var(--rule); background:var(--card);
}
.brand{font-size:18px; font-weight:600; color:var(--ink); text-decoration:none; letter-spacing:.02em}
.brand b{color:var(--accent)}
.q{display:flex; gap:0; flex:1; max-width:420px; min-width:200px}
.q input{
  flex:1; min-width:0; padding:7px 12px; font-size:14px; font-family:inherit;
  border:1px solid var(--rule); border-right:0; border-radius:4px 0 0 4px;
  background:var(--paper); color:var(--ink);
}
.q button{
  padding:7px 16px; font-size:14px; font-family:inherit; cursor:pointer;
  border:1px solid var(--accent); border-radius:0 4px 4px 0;
  background:var(--accent); color:var(--card);
}

/* breadcrumb */
.crumb{max-width:920px; margin:0 auto; padding:14px 24px 0}
.crumb ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color:var(--muted)}
.crumb li:not(:last-child)::after{content:"/"; margin-left:8px; color:var(--rule)}

/* main */
main{max-width:920px; margin:0 auto; padding:0 24px 80px}
h1{
  font-size:clamp(25px,4.2vw,35px); line-height:1.28; margin:20px 0 14px;
  letter-spacing:-.01em; text-wrap:balance; font-weight:700;
}
h2{
  font-size:20px; margin:44px 0 12px; padding-bottom:8px; font-weight:600;
  border-bottom:1px solid var(--rule); line-height:1.4;
}
p{margin:0 0 14px; max-width:68ch}
.lead{font-size:17px; color:var(--ink2)}
.lead b, p b{color:var(--ink); font-weight:600}

/* stat row */
.stats{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:1px; background:var(--rule); border:1px solid var(--rule);
  border-radius:4px; overflow:hidden; margin:22px 0 8px;
}
.stats.sm{margin-top:14px}
.stats .s{background:var(--card); padding:14px 16px}
.stats .n{
  display:block; font-size:23px; font-weight:600; line-height:1.2;
  font-variant-numeric:tabular-nums; letter-spacing:-.01em;
}
.stats.sm .n{font-size:19px}
.stats .l{display:block; font-size:12px; color:var(--muted); margin-top:3px}

/* tables */
.tw{overflow-x:auto; border:1px solid var(--rule); border-radius:4px; background:var(--card); margin:0 0 10px}
table{border-collapse:collapse; width:100%; font-size:14px; min-width:480px}
th{
  text-align:left; font-size:12px; font-weight:600; color:var(--muted);
  padding:9px 14px; border-bottom:1px solid var(--rule);
  background:var(--rule2); white-space:nowrap;
}
td{padding:9px 14px; border-bottom:1px solid var(--rule2); vertical-align:top; line-height:1.6}
tr:last-child td{border-bottom:none}
.num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
th.num{text-align:right}
.ty{color:var(--muted); font-size:13px; white-space:nowrap}

/* chips */
.chips{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.chips a{
  display:inline-block; padding:4px 11px; font-size:13px; text-decoration:none;
  background:var(--accent-bg); color:var(--accent); border-radius:3px;
}
.chips a:hover{text-decoration:underline}

/* footer */
.site-foot{
  border-top:1px solid var(--rule); margin-top:60px; padding:22px 24px 60px;
  font-size:13px; color:var(--muted); line-height:1.7;
}
.site-foot p{max-width:920px; margin:0 auto 6px}
.site-foot .upd{font-variant-numeric:tabular-nums}

@media (max-width:640px){
  .site{padding:12px 16px}
  main,.crumb{padding-left:16px; padding-right:16px}
  .site-foot{padding-left:16px; padding-right:16px}
}

/* ---------------------------------------------------------------
   文章頁
   --------------------------------------------------------------- */

.post{max-width:100%}
.post h2{margin-top:52px}
.post h3{font-size:17px;font-weight:600;margin:30px 0 10px;line-height:1.5}
.post p{margin:0 0 16px}
.post ul,.post ol{margin:0 0 16px;padding-left:22px;max-width:68ch}
.post li{margin-bottom:7px}

/* 重點結論：搶 featured snippet 的那一段，要能一眼看到 */
.answer{
  background:var(--accent-bg); border:1px solid var(--accent);
  border-radius:4px; padding:16px 20px; margin:24px 0 8px;
}
.answer-t{
  font-size:12px; font-weight:600; letter-spacing:.08em;
  color:var(--accent); margin-bottom:8px;
}
.answer p{margin:0 0 10px}
.answer p:last-child{margin-bottom:0}
.answer ul,.answer ol{margin:8px 0 0}

/* 目錄 */
.toc{
  border:1px solid var(--rule); border-radius:4px; background:var(--card);
  padding:14px 20px 16px; margin:26px 0;
}
.toc-t{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:8px;letter-spacing:.06em}
.toc ol{margin:0;padding-left:20px;font-size:14px;columns:2;column-gap:28px}
.toc li{margin-bottom:5px;break-inside:avoid}
@media (max-width:640px){.toc ol{columns:1}}

/* 條文引用 */
.law{
  margin:20px 0; border:1px solid var(--rule); border-left:3px solid var(--accent);
  border-radius:0 4px 4px 0; background:var(--card); overflow:hidden;
}
.law figcaption{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  padding:10px 18px; border-bottom:1px solid var(--rule2);
  font-size:13px; font-weight:600;
}
.law figcaption .src,.case .src{
  font-weight:400; font-size:12px; color:var(--muted);
}
.law figcaption .cited{
  font-weight:400; font-size:12px; color:var(--accent);
  background:var(--accent-bg); padding:1px 8px; border-radius:2px;
}
.law blockquote{
  margin:0; padding:14px 18px 16px; font-size:14.5px; line-height:1.85;
  color:var(--ink2); white-space:pre-line;
}

/* 統計盒：本站唯一不可複製的部分，給它視覺重量 */
.statbox{
  margin:24px 0; padding:16px 18px 18px;
  border:1px solid var(--rule); border-radius:4px; background:var(--card);
}
.statbox-t{font-size:13px;font-weight:600;margin-bottom:4px}
.statnote{font-size:12.5px;color:var(--muted);margin:10px 0 0;line-height:1.65}

/* 判決 */
.case{
  margin:16px 0; padding:14px 18px; background:var(--card);
  border:1px solid var(--rule); border-radius:4px;
}
.case-h{font-size:13px;font-weight:600;margin-bottom:8px;display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}
.case p{font-size:14.5px;margin:0 0 8px;color:var(--ink2)}
.case p:last-child{margin-bottom:0}

/* FAQ */
.faq details{
  border:1px solid var(--rule); border-radius:4px; background:var(--card);
  margin-bottom:8px; padding:0 18px;
}
.faq summary{
  cursor:pointer; padding:13px 0; font-weight:600; font-size:15px;
  list-style-position:outside;
}
.faq summary::marker{color:var(--accent)}
.faq details[open] summary{border-bottom:1px solid var(--rule2)}
.faq details > *:not(summary){margin-top:12px}
.faq details > *:last-child{margin-bottom:14px}
.faq p{font-size:14.5px;color:var(--ink2)}

/* 來源清單 */
.srclist{font-size:14px;color:var(--ink2)}
.srclist li{margin-bottom:6px}

/* 樞紐頁的列說明 */
.rdesc{font-size:13px;color:var(--muted);line-height:1.6;margin-top:3px;max-width:56ch}
