
:root { font-family: Arial, "Noto Sans CJK SC", sans-serif; color: #1d2730; background: #f4f6f8; }
body { margin: 0; }
main { width: min(900px, calc(100% - 32px)); margin: 28px auto; background: #fff; border: 1px solid #d9e0e6; border-radius: 6px; padding: 24px; }
a { color: #075e54; }
h1 { margin: 0 0 10px; font-size: 24px; line-height: 1.25; }
.site-label { display: inline-block; margin-left: 10px; color: #52616d; font-size: 12px; font-weight: 700; vertical-align: middle; }
.title-en { margin: 0 0 14px; color: #52616d; font-weight: 700; }
.meta { color: #52616d; font-size: 13px; margin: 8px 0 22px; }
.disclaimer { margin: 10px 0 18px; padding: 10px 12px; border: 1px solid #f0c36d; border-radius: 4px; background: #fff8e8; color: #5f4b18; font-size: 13px; line-height: 1.55; }
.disclaimer a { color: #075e54; font-weight: 700; }
.block { border-top: 1px solid #e5eaef; padding: 14px 0; }
.subtitle { font-size: 16px; }
.en { margin: 0 0 6px; color: #1d2730; line-height: 1.55; }
.zh { margin: 0; color: #075e54; line-height: 1.7; }
.bilingual-list { border-top: 1px solid #e5eaef; margin: 0; padding: 14px 0 14px 22px; }
.bilingual-list li { margin: 0 0 12px; }
.article-list { margin: 12px 0 0; padding-left: 24px; }
.article-list li { margin: 0 0 14px; }
.article-list a { display: block; font-weight: 700; line-height: 1.4; }
.article-list span { display: block; color: #52616d; font-size: 12px; margin-top: 3px; }
.title-en-small { color: #52616d; font-size: 12px; line-height: 1.35; }
.search-box { margin: 16px 0 10px; padding-top: 14px; border-top: 1px solid #e5eaef; }
.search-box label { display: block; margin: 0 0 6px; color: #52616d; font-size: 13px; font-weight: 700; }
.search-box input { width: 100%; min-height: 40px; border: 1px solid #aeb9c3; border-radius: 4px; padding: 8px 10px; font-size: 14px; }
.search-status { min-height: 18px; margin: 6px 0 0; color: #52616d; font-size: 12px; }
.search-results { margin-top: 12px; padding-bottom: 14px; border-bottom: 1px solid #e5eaef; }
.search-results[hidden] { display: none; }
nav { margin-bottom: 18px; }
.tabs { display: flex; gap: 8px; margin: 16px 0 8px; border-bottom: 1px solid #d9e0e6; }
.tab-button { min-height: 38px; border: 1px solid transparent; border-bottom: 0; border-radius: 4px 4px 0 0; background: transparent; padding: 8px 14px; color: #52616d; font-size: 14px; font-weight: 700; cursor: pointer; }
.tab-button.active { border-color: #d9e0e6; background: #fff; color: #17324d; }
.tab-panel[hidden] { display: none; }
.empty-state { color: #52616d; font-size: 14px; }
.monthly-summary { margin: 0 0 18px; color: #1d2730; font-weight: 700; line-height: 1.65; }
.monthly-report h2 { margin: 22px 0 8px; border-top: 1px solid #e5eaef; padding-top: 16px; font-size: 17px; line-height: 1.35; }
.monthly-report p, .monthly-report li { line-height: 1.7; }
.monthly-item { border-top: 1px solid #e5eaef; padding-top: 14px; }
.monthly-item h2 { margin-top: 0; border-top: 0; padding-top: 0; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 22px 0 0; padding-top: 16px; border-top: 1px solid #e5eaef; color: #52616d; font-size: 13px; }
.pagination a, .pagination span { min-width: 52px; text-align: center; }
.pagination span { color: #9aa6af; }
.pagination button { min-height: 34px; border: 1px solid #d9e0e6; border-radius: 4px; background: #fff; padding: 6px 12px; color: #17324d; font-size: 13px; font-weight: 700; cursor: pointer; }
.pagination button:disabled { color: #9aa6af; cursor: default; }
@media (max-width: 520px) { main { margin: 16px auto; padding: 18px; } h1 { font-size: 21px; } }
