.reader-topics details { padding: 20px 0; border-top: 1px solid var(--sky-line); }
.reader-topics details:last-child { border-bottom: 1px solid var(--sky-line); }
.reader-topics summary { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 6px 14px; align-items: center; list-style: none; cursor: pointer; font-size: 16px; font-weight: 650; line-height: 1.8; }
.reader-topics summary::-webkit-details-marker { display: none; }
.reader-topics summary > span { grid-column: 1; }
.reader-topics summary::after { content: '+'; grid-column: 2; grid-row: 1 / 3; color: var(--sky-action); text-align: center; font-size: 22px; font-weight: 400; }
.reader-topics details[open] > summary::after { content: '−'; }
.reader-topic-label { display: block; margin: 0; font-size: 11px; font-weight: 500; color: var(--sky-action); letter-spacing: .08em; }
.reader-topics p { color: var(--sky-muted); line-height: 1.95; font-size: 14px; margin: 16px 0 8px; }
.reader-topic-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--sky-action); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.reader-topics :is(summary,a):focus-visible { outline: 3px solid var(--sky-action); outline-offset: 4px; }
.reader-topics-intro { color: var(--sky-muted); font-size: 15px; line-height: 1.9; }
.reader-practical { margin-top: 32px; padding: 20px; border: 1px solid var(--sky-line); border-radius: 12px; }
.reader-practical > summary { cursor: pointer; color: var(--sky-muted); font-size: 14px; font-weight: 600; }
.reader-practical dl { font-size: 13px; line-height: 1.9; margin: 18px 0 0; }
.reader-practical dt { font-weight: 600; margin: 16px 0 6px; }
.reader-practical dd { margin: 0; color: var(--sky-muted); }
.reader-practical a { text-decoration: underline; text-underline-offset: 3px; }
#checkout-order { scroll-margin-top: 100px; }
.upgrade-reader-topics { margin-top: 56px; max-width: 720px; }
.upgrade-reader-topics > h2 { font-size: 24px; line-height: 1.6; }
#faq h2 { line-height: 1.4; }
@media(max-width:600px) { .reader-topics summary { font-size: 15px; }.upgrade-reader-topics { margin-top: 36px; } }
