:root{color-scheme:light;--ink:#23382f;--muted:#52645a;--line:#dce4df;--accent:#b6473e}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans TC",system-ui,sans-serif;line-height:1.8;letter-spacing:0}a{color:inherit;text-underline-offset:4px}a:hover{color:var(--accent)}a:focus-visible{outline:3px solid #218062;outline-offset:4px}h1,h2,h3{line-height:1.45;overflow-wrap:anywhere}h1{font-size:36px;margin:12px 0 20px}h2{font-size:26px}h3{font-size:21px}p{overflow-wrap:anywhere}.site-header{border-bottom:1px solid var(--line);padding:16px max(24px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}.brand{text-decoration:none;font-weight:700;font-size:18px}.brand span{display:block;font-size:13px;font-weight:400;color:var(--muted)}.booking,.secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:6px;font-weight:700;text-decoration:none}.booking{background:#06c755;color:#123323;white-space:nowrap}.booking:hover{background:#07883c;color:white}.secondary{border:1px solid var(--line);margin-left:12px}.page{max-width:960px;margin:auto;padding:40px 24px 72px}.category{color:var(--accent);font-weight:700;font-size:14px;margin:0}.summary{font-size:20px;color:var(--muted);max-width:760px}.meta{color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;gap:8px 20px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted);margin-bottom:32px}.article-header{max-width:780px;margin:0 auto 32px}.cover{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:6px}.article-body{max-width:760px;margin:36px auto 0;font-size:18px}.article-body h2{margin:48px 0 16px;padding-top:20px;border-top:1px solid var(--line)}.article-body h3{margin:28px 0 12px}.article-body a{color:#17634c}.article-body img{width:100%;height:auto;border-radius:6px}.article-body figure{margin:28px 0}.article-body figcaption{font-size:14px;color:var(--muted)}.article-body blockquote{border-left:3px solid #218062;padding:8px 20px;margin:24px 0;background:#f4f8f6}.table-scroll{overflow-x:auto;margin:24px 0}table{border-collapse:collapse;min-width:600px;width:100%;font-size:16px}th,td{padding:14px;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:#edf5f1}.index-header{margin-bottom:36px}.article-item{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}.article-item h2{margin:6px 0 12px}.article-item h2 a{text-decoration:none}.article-item p{margin:8px 0 16px}.thumbnail img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.read-link{display:inline-flex;gap:8px;margin-top:16px;font-weight:700;color:#17634c}.booking-band{padding:40px 24px;background:#edf5f1;border-block:1px solid var(--line)}.booking-band>div{max-width:960px;margin:auto}.booking-band h2{margin-top:0}footer{max-width:1008px;margin:auto;padding:28px 24px 40px;font-size:14px;color:var(--muted)}footer nav{display:flex;flex-wrap:wrap;gap:12px 24px}@media(max-width:640px){h1{font-size:28px}h2{font-size:23px}.site-header{padding:14px 16px;gap:12px}.brand{font-size:14px}.brand span{font-size:12px}.site-header .booking{font-size:13px;padding:8px 10px}.page{padding:28px 20px 48px}.summary{font-size:18px}.article-body{font-size:17px}.article-item{grid-template-columns:1fr;gap:18px}.thumbnail{max-width:100%}.booking-band .booking,.booking-band .secondary{margin:8px 8px 0 0}.meta{gap:6px 14px}}

.article-reader {
  color: #23382f;
  font-family: "Noto Sans TC", system-ui, sans-serif;
  letter-spacing: 0;
  line-height: 1.95;
  overflow-wrap: anywhere;
}
.article-reader .article-body { max-width: 760px; margin: 36px auto 0; font-size: 18px; }
.article-reader .article-body p { margin: 0 0 24px; }
.article-reader .article-body a { color: #17634c; text-underline-offset: 4px; }
.article-reader a:focus-visible, .article-reader summary:focus-visible,
.article-reader .table-scroll:focus-visible { outline: 3px solid #218062; outline-offset: 4px; }
.article-reader .article-lead { border-left: 4px solid #b6473e; padding: 20px 24px; background: #f3f7f5; margin: 0 0 32px; }
.article-reader .article-lead p:last-child { margin: 0; }
.article-reader .article-lead .lead-label { color: #994039; font-size: 14px; font-weight: 700; margin: 0 0 8px; }
.article-reader .article-toc { border-block: 1px solid #dce4df; padding: 18px 0; margin: 0 0 36px; }
.article-reader .article-toc summary { cursor: pointer; font-weight: 700; font-size: 17px; padding: 4px 0; }
.article-reader .article-toc ol { padding-left: 28px; margin: 12px 0 0; }
.article-reader .article-toc li { padding-left: 4px; }
.article-reader .article-toc a { display: block; padding: 7px 0; font-size: 16px; line-height: 1.65; text-decoration: none; }
.article-reader .article-toc a:hover { text-decoration: underline; }
.article-reader .article-toc li::marker { color: #994039; font-size: 14px; font-weight: 700; }
.article-reader .article-section { margin: 52px 0 0; padding-top: 24px; border-top: 2px solid #dce4df; }
.article-reader .article-section > h2 { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: 12px; margin: 0 0 24px; padding: 0; border: 0; font-size: 26px; line-height: 1.5; scroll-margin-top: 28px; }
.article-reader .section-number { color: #994039; font-size: 17px; padding-top: 6px; border-top: 3px solid #b6473e; font-variant-numeric: tabular-nums; }
.article-reader h3 { color: #17634c; font-size: 21px; line-height: 1.55; margin: 32px 0 14px; }
.article-reader .article-section > p:first-of-type { font-weight: 600; }
.article-reader li { padding-left: 4px; margin-bottom: 12px; }
.article-reader ul, .article-reader ol { padding-left: 24px; margin: 24px 0; }
.article-reader figure { margin: 32px 0; }
.article-reader img { display: block; width: 100%; height: auto; border-radius: 6px; }
.article-reader figcaption { margin-top: 10px; font-size: 14px; color: #52645a; }
.article-reader blockquote { border-left: 3px solid #218062; margin: 28px 0; padding: 16px 20px; background: #f3f7f5; }
.article-reader blockquote p:last-child { margin-bottom: 0; }
.article-reader .table-scroll { max-width: 100%; overflow-x: auto; margin: 28px 0; scrollbar-color: #78978a #edf5f1; }
.article-reader table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.8; }
.article-reader .table-compact table { min-width: 0; table-layout: fixed; }
.article-reader .table-compact th:first-child { width: 30%; }
.article-reader .table-wide table { min-width: 620px; }
.article-reader th, .article-reader td { border: 1px solid #dce4df; padding: 14px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.article-reader th { background: #e8f1ec; font-weight: 700; }
.article-reader tr:nth-child(2n + 3) td { background: #f8faf9; }
.article-reader .faq-item { border-bottom: 1px solid #dce4df; }
.article-reader .faq-item summary { padding: 20px 0; cursor: pointer; }
.article-reader .faq-item summary h3 { display: inline; font-size: 18px; color: #23382f; margin: 0; }
.article-reader .faq-answer { padding: 0 0 8px 20px; }
.article-reader .faq-item[open] summary h3 { color: #17634c; }
.article-preview.article-reader { max-width: 900px; background: #fff; padding: 24px; margin: auto; }
.article-preview.article-reader h1 { font-size: 32px; line-height: 1.45; margin: 12px 0 20px; }
.article-preview.article-reader .article-header { max-width: 760px; margin: auto; }
.article-preview.article-reader .summary { font-size: 19px; color: #52645a; }
@media (max-width: 640px) {
  .article-reader .article-body { font-size: 17px; }
  .article-reader .article-lead { padding: 18px; margin-bottom: 28px; }
  .article-reader .article-section { margin-top: 40px; padding-top: 22px; }
  .article-reader .article-section > h2 { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; font-size: 23px; margin-bottom: 22px; }
  .article-reader .section-number { font-size: 15px; padding-top: 5px; }
  .article-reader h3 { font-size: 20px; }
  .article-reader th, .article-reader td { padding: 12px; }
  .article-reader .article-toc a { padding-block: 10px; }
  .article-preview.article-reader { padding: 24px 20px; }
  .article-preview.article-reader h1 { font-size: 28px; }
}
