/* Shared styles for the article resources published 2026-08-27. */
.article-body a { color: var(--green-dark); text-underline-offset: 3px; }
.article-body a:hover { text-decoration-thickness: 2px; }
.article-body [id] { scroll-margin-top: 88px; }
.article-meta { flex-wrap: wrap; gap: .4rem 1.25rem; }
.article-body, .article-header, .related { overflow-wrap: anywhere; }
.article-toc { border: 1px solid var(--border); border-radius: 4px; padding: 1.25rem 1.5rem; margin: 2rem 0; }
.article-toc strong { font-size: 14px; color: var(--gray); }
.article-body .article-toc ol { margin: .6rem 0 0 1.25rem; }
.article-body .article-toc li { font-size: 15px; margin: .3rem 0; line-height: 1.8; }
.article-body .resource-box { background: var(--green-light); padding: 1.5rem; margin: 2rem 0; border: 1px solid #c4e6d9; border-radius: 6px; }
.article-body .resource-box h2 { margin: 0 0 .75rem; padding: 0; font-family: var(--sans); font-size: 20px; font-weight: 500; }
.article-body .resource-box p { font-size: 15px; line-height: 1.9; margin-bottom: 1rem; }
.article-body .resource-box p:last-child { margin-bottom: 0; }
.resource-eyebrow { color: var(--green-dark); font-size: 11px; letter-spacing: .1em; margin-bottom: .6rem; }
.download-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; margin: 1.25rem 0; }
.article-body .download-card { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; border: 1px solid #90c6b2; background: #fff; border-radius: 4px; text-decoration: none; }
.download-card strong { font-size: 17px; }
.download-card span { font-size: 13px; line-height: 1.8; color: #4c5c56; }
.download-card .download-action { color: var(--green-dark); font-weight: 500; margin-top: auto; }
.download-card:hover { border-color: var(--green-dark); }
.article-body .resource-note, .article-body .source-note { font-size: 13px; line-height: 1.85; color: var(--gray); }
.article-body .resource-button { display: inline-block; background: var(--green-dark); color: white; font-family: var(--sans); font-size: 14px; border: 0; border-radius: 3px; padding: .75rem 1rem; text-decoration: none; cursor: pointer; min-height: 44px; }
.resource-button:hover { background: #09503e; }
.copy-button[hidden] { display: none; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #a86b11; outline-offset: 4px; }
.table-scroll { overflow-x: auto; margin: 1.5rem 0; border: 1px solid var(--border); border-radius: 4px; }
.table-scroll table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; line-height: 1.8; text-align: left; }
.table-scroll caption { text-align: left; padding: .85rem 1rem; font-size: 13px; color: var(--gray); background: #fff; }
.table-scroll th, .table-scroll td { padding: .8rem 1rem; border-top: 1px solid var(--border); vertical-align: top; }
.table-scroll thead th { background: var(--green-light); font-weight: 500; color: var(--green-dark); }
.table-scroll tbody th { background: var(--light); font-weight: 500; min-width: 120px; }
.example-block { background: var(--light); border-left: 3px solid var(--green); padding: 1.25rem; margin: 1.5rem 0; }
.article-body .example-block p { font-size: 15px; margin-bottom: .75rem; }
.article-body .example-block p:last-child, .article-body .example-block ol { margin-bottom: 0; }
.article-body .example-label { font-size: 12px; color: var(--gray); }
.copy-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.copy-status { font-size: 13px; color: var(--green-dark); }
.copy-template { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--light); border: 1px solid var(--border); padding: 1.5rem; border-radius: 4px; font: 14px/1.9 var(--sans); }
.article-faq { border-top: 1px solid var(--border); margin-top: 3rem; }
.article-faq details { border-bottom: 1px solid var(--border); padding: 1rem 0; }
.article-faq summary { font-size: 16px; font-weight: 500; cursor: pointer; color: var(--black); }
.article-faq details p { font-size: 15px; margin: .8rem 0 0; }
.resume-sample { border: 1px solid var(--border); border-radius: 4px; padding: 1.75rem; margin: 1.5rem 0; background: var(--white); }
.article-body .resume-sample .sample-label { color: var(--green-dark); font-size: 12px; margin: 0 0 .5rem; }
.article-body .resume-sample .sample-name { font-size: 22px; margin: 0 0 .35rem; }
.article-body .resume-sample .sample-contact { color: var(--gray); font-size: 14px; margin: 0 0 1.5rem; }
.resume-sample h4 { font-size: 16px; font-weight: 500; border-bottom: 1px solid var(--border); padding-bottom: .4rem; margin: 1.5rem 0 .75rem; }
.article-body .resume-sample p, .article-body .resume-sample li { font-size: 15px; line-height: 1.9; }
.article-body .resume-sample p { margin-bottom: .75rem; }
.article-body .resume-sample p:last-child { margin-bottom: 0; }
.resume-sample .sample-role { font-weight: 500; }
.resume-sample .sample-role span { color: var(--gray); font-size: 13px; font-weight: 400; }
/* Long articles must stay visible without JS or a successful observer callback. */
.article-body.fade-in { opacity: 1; transform: none; }
@media (max-width: 600px) {
  .breadcrumb { padding-left: 1.25rem; padding-right: 1.25rem; }
  .article-header { padding: 2rem 1.25rem 1.5rem; }
  .article-body, .related { padding-left: 1.25rem; padding-right: 1.25rem; }
  .article-body .resource-box { padding: 1.15rem; }
  .download-grid { grid-template-columns: 1fr; }
  .resume-sample { padding: 1.15rem; }
  .nav-inner { padding: 0 1.25rem; gap: .6rem; }
  .nav-logo { font-size: 14px; letter-spacing: .04em; }
  .nav-cta { padding: 8px 12px; flex-shrink: 0; }
  .table-scroll::before { content: '表格可左右滑動 →'; display: block; padding: .6rem 1rem; font-size: 12px; color: var(--gray); background: var(--light); }
}
