/* Article-only layout and member rail; keep feed and account styles isolated. */
.article-detail { padding: 31px 0 70px; }
.article-detail > .back-link { margin-bottom: 32px; }
.article-detail > .article-head h1 { max-width: 900px; font-size: 38px; line-height: 1.55; margin: 20px 0; text-wrap: balance; }
.article-detail > .article-head .article-dek { max-width: 1000px; font-size: 17px; line-height: 2; margin: 20px 0; }
.article-detail > .article-head .article-meta { flex-wrap: wrap; margin-top: 18px; padding-bottom: 24px; }
.article-detail .article-reading-grid { display: grid; grid-template-columns: minmax(0, 1fr) 240px; gap: 52px; margin-top: 30px; align-items: start; }
.article-detail .article-reading-copy { min-width: 0; }
.article-detail .takeaway { margin: 0; padding: 24px 28px; }
.article-detail .takeaway > span { font-size: 12px; }
.article-detail .takeaway p { font-size: 17px; line-height: 2; }
.article-detail .article-body { margin-top: 32px; }
.article-detail .article-section h2 { font-size: 24px; }
.article-detail .article-section li { font-size: 17px; line-height: 2.1; margin-bottom: 15px; }
.article-detail .article-report-rail { min-width: 0; align-self: stretch; border-left: 1px solid #e8edf5; padding-left: 26px; }
.article-detail .article-report-sticky { position: sticky; top: 115px; margin: 0; }
.article-report-sticky .report-favorite { display: flex; align-items: center; justify-content: center; gap: 9px; color: #526581; width: 100%; min-height: 42px; border: 1px solid #dce5f2; border-radius: 3px; font-size: 15px; margin-bottom: 25px; }
.article-report-sticky .report-favorite:hover { border-color: #2864f0; color: #2864f0; }
.article-report-sticky .report-favorite[aria-pressed=true] { color: #2864f0; background: #f1f6ff; border-color: #bacef6; }
.article-report-sticky .report-favorite[aria-pressed=true] svg { fill: #e3edff; }
.article-report-sticky .report-favorite svg,
.article-report-sticky .report-lock-circle svg { width: 19px; height: 19px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.article-report-sticky .report-card { min-width: 0; }
.article-report-sticky .report-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.article-report-sticky .report-heading h2 { font-size: 18px; font-weight: 600; }
.article-report-sticky .report-badge { font-size: 10px; background: #f1f5fc; color: #6d82a4; padding: 2px 5px; border-radius: 2px; white-space: nowrap; }
.article-report-sticky .report-meta { font-size: 12px; color: #8390a3; margin: 8px 0 16px; overflow-wrap: anywhere; }
.article-report-sticky .report-preview { position: relative; border: 1px solid #e2e7ef; overflow: hidden; aspect-ratio: 210 / 280; background: #f9fafc; }
.article-report-sticky .report-paper { position: absolute; inset: 12px; background: #fff; padding: 15px 12px; filter: blur(3.5px); user-select: none; }
.article-report-sticky .report-paper-brand { font: 5px sans-serif; color: #8e9cad; border-bottom: 2px solid #7b8fa9; padding-bottom: 7px; }
.article-report-sticky .report-paper-title { font: bold 12px/1.3 Georgia, serif; color: #2b3b50; margin: 10px 0; overflow-wrap: anywhere; }
.article-report-sticky .report-paper-lines { height: 44px; background: repeating-linear-gradient(to bottom, #8998aa 0 1px, transparent 1px 5px); opacity: .5; margin: 10px 0; }
.article-report-sticky .report-paper-lines.short { width: 75%; height: 28px; }
.article-report-sticky .report-paper-chart { height: 43px; display: flex; align-items: end; gap: 6px; border-bottom: 1px solid #8da2bc; padding: 0 7px; }
.article-report-sticky .report-paper-chart i { flex: 1; background: #95acd0; height: 40%; }
.article-report-sticky .report-paper-chart i:nth-child(2n) { height: 65%; }
.article-report-sticky .report-paper-chart i:nth-child(3n) { height: 90%; }
.article-report-sticky .report-lock-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; background: #f4f7fcad; text-align: center; }
.article-report-sticky .report-lock-circle { width: 40px; height: 40px; border: 1px solid #dce5f2; border-radius: 50%; display: grid; place-items: center; background: #fffffff0; color: #456691; }
.article-report-sticky .report-lock-overlay strong { font-size: 14px; font-weight: 600; color: #314762; }
.article-report-sticky .report-lock-overlay > span:last-child { font-size: 11px; color: #7c8ba0; }
.article-report-sticky .report-preview-label { position: absolute; bottom: 7px; right: 8px; font-size: 9px; color: #9ba5b4; }
.article-report-sticky .report-preview.unlocked { background: #fff; }
.article-report-sticky .report-preview.unlocked .report-paper { filter: none; }
.article-report-sticky .report-pdf-action { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 43px; background: #2864f0; color: #fff; font-size: 14px; border-radius: 3px; margin-top: 16px; padding: 10px; }
.article-report-sticky .report-pdf-action:hover { background: #2059db; color: #fff; }
.article-report-sticky .report-pdf-action:disabled { background: #edf1f7; color: #8190a5; cursor: default; }
.article-report-sticky .report-download { display: block; color: #2864f0; width: 100%; font-size: 13px; text-align: center; margin-top: 10px; padding: 3px; }
.article-report-sticky .report-access-note { font-size: 11px; line-height: 1.8; color: #8b97aa; text-align: center; margin-top: 10px; }
.article-report-sticky .report-status { font-size: 12px; line-height: 1.8; color: #748198; margin-top: 12px; overflow-wrap: anywhere; }
.article-report-sticky .report-unavailable { margin: 0; color: #748198; font-size: 14px; line-height: 1.8; }
.article-report-sticky [hidden] { display: none !important; }
.article-report-sticky :focus-visible { outline: 2px solid #245fe7; outline-offset: 4px; }
@media (max-width: 760px) {
  .article-detail { padding: 24px 0 50px; }
  .article-detail > .back-link { margin-bottom: 24px; font-size: 12px; }
  .article-detail > .article-head h1 { font-size: 28px; }
  .article-detail > .article-head .article-dek { font-size: 15px; }
  .article-detail .article-reading-grid { display: flex; flex-direction: column; gap: 25px; margin-top: 22px; }
  .article-detail .article-reading-copy { width: 100%; }
  .article-detail .article-report-rail { order: -1; width: 100%; border-left: 0; padding: 0 0 20px; border-bottom: 1px solid #e8edf5; }
  .article-detail .article-report-sticky { display: grid; grid-template-columns: minmax(0, 1fr) 100px; gap: 16px; align-items: start; position: static; }
  .article-report-sticky .report-favorite { grid-column: 2; grid-row: 1; margin: 0; font-size: 13px; min-height: 38px; gap: 5px; }
  .article-report-sticky .report-favorite svg { width: 16px; }
  .article-report-sticky .report-card { grid-column: 1; grid-row: 1; }
  .article-report-sticky .report-unavailable { grid-column: 1; grid-row: 1; align-self: center; }
  .article-report-sticky .report-preview { display: none; }
  .article-report-sticky .report-heading { justify-content: flex-start; gap: 10px; }
  .article-report-sticky .report-heading h2 { font-size: 16px; }
  .article-report-sticky .report-meta { margin: 4px 0 8px; font-size: 11px; }
  .article-report-sticky .report-pdf-action { min-height: 38px; margin-top: 8px; font-size: 13px; }
  .article-report-sticky .report-access-note { text-align: left; margin-top: 6px; }
  .article-report-sticky .report-status { grid-column: 1 / -1; }
  .article-report-sticky .report-status:empty { display: none; }
  .article-report-sticky .report-download { text-align: left; padding: 0; }
  .article-detail .takeaway { padding: 20px; }
  .article-detail .takeaway p, .article-detail .article-section li { font-size: 16px; }
  .article-detail .article-section h2 { font-size: 21px; }
  .article-detail .article-body { margin-top: 26px; }
}
