/* 讀者服務入口沿用現有品牌與字體，與新聞版面樣式分開。 */
.reader-tools { border-bottom: 1px solid #e3e9ec; color: #46545e; }
.reader-tools-inner { max-width: 1400px; margin: 0 auto; padding: 0 40px; display: flex; justify-content: flex-end; align-items: center; gap: 24px; }
.reader-tools a { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; font-size: 14px; font-weight: 500; white-space: nowrap; }
.reader-tools svg { width: 18px; height: 18px; flex: none; }
.reader-tools a:hover, .reader-tools a[aria-current="page"] { color: var(--main_color); }
.reader-tools a:focus-visible, .reader-page a:focus-visible, .reader-page button:focus-visible, .reader-page input:focus-visible { outline: 2px solid #087c94; outline-offset: 4px; }
.reader-page { padding: clamp(24px, 4vw, 56px); }
.reader-page .reader-lead { max-width: 72ch; margin: 16px 0 32px; color: #46545e; line-height: 1.8; }
.reader-page h2 { font-size: 23px; line-height: 1.4; margin: 0 0 16px; font-weight: 700; }
.reader-page h3 { font-size: 18px; line-height: 1.5; margin: 20px 0 8px; font-weight: 600; }
.reader-page section { margin: 0 0 32px; }
.reader-page p { line-height: 1.85; max-width: 72ch; margin: 0 0 16px; }
.reader-directory { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; }
.reader-directory section { border-top: 1px solid #d6e0e5; padding-top: 24px; }
.reader-directory ul { list-style: none; padding: 0; margin: 0; }
.reader-directory a { display: inline-flex; align-items: center; min-height: 44px; color: #17647a; text-decoration: underline; text-underline-offset: 4px; }
.reader-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; align-items: start; }
.reader-categories > li { min-width: 0; }
.reader-categories ul { padding-left: 18px; }
.reader-categories > li > a { font-weight: 600; }
.reader-feed { border: 1px solid #d6e0e5; padding: clamp(20px, 3vw, 32px); background: #f3f8f9; }
.reader-feed label { display: block; font-size: 15px; font-weight: 600; margin-bottom: 8px; }
.reader-feed-row { display: flex; gap: 12px; align-items: stretch; max-width: 760px; }
.reader-feed input { flex: 1; min-width: 0; border: 1px solid #9db6bf; border-radius: 3px; background: #fff; color: #20343e; padding: 12px; font: inherit; font-size: 16px; }
.reader-feed button { flex: none; min-height: 44px; padding: 10px 18px; border: 1px solid #14647a; border-radius: 3px; background: #14647a; color: #fff; cursor: pointer; font: inherit; font-size: 16px; }
.reader-feed button[hidden] { display: none; }
.reader-feed button:hover { background: #104f61; }
.reader-page .reader-status { min-height: 26px; margin: 8px 0; font-size: 15px; color: #304f5b; }
.reader-page .reader-xml-link { color: #17647a; text-decoration: underline; text-underline-offset: 4px; }
.reader-steps { padding-left: 24px; max-width: 72ch; line-height: 1.85; }
.reader-steps li { padding-left: 4px; margin-bottom: 12px; }
.reader-resources { border-top: 1px solid #d6e0e5; padding-top: 24px; }
@media (max-width: 960px) {
  .reader-tools-inner { padding: 0 20px; }
  .reader-tools a { min-height: 44px; }
  header .mainmenubox { top: 100%; height: auto; max-height: calc(100dvh - 112px); }
}
@media (max-width: 640px) {
  .reader-page { padding: 24px 18px; }
  .reader-feed { padding: 20px 14px; }
  .reader-feed input { font-size: 14px; }
  .reader-directory { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .reader-categories { grid-template-columns: minmax(0, 1fr); }
  .reader-feed-row { flex-direction: column; }
  .reader-feed button { align-self: flex-start; }
  .reader-page h2 { font-size: 21px; }
}
