/* Article reading comfort — scoped so homepage/pricing remain unchanged. */
body.article-page .article-content { font-size: clamp(1rem, .96rem + .2vw, 1.125rem); line-height: 1.85; }
body.article-page .article-content > .container { min-width: 0; }
body.article-page .article-content p { line-height: 1.85; }
body.article-page .article-content :is(h2,h3,h4) { scroll-margin-top: 100px; text-wrap: balance; }
body.article-page .article-content h2 { margin-top: 2.75rem; }
body.article-page .article-content :is(ul,ol) { padding-left: 1.6em; }
body.article-page .article-content li + li { margin-top: .4rem; }
body.article-page .article-content :is(a,code) { overflow-wrap: anywhere; }
body.article-page .article-content pre { max-width: 100%; overflow-x: auto; tab-size: 2; overscroll-behavior-x: contain; }
body.article-page .article-content pre code { overflow-wrap: normal; white-space: pre; }
body.article-page .article-content .table-scroll { overflow-x: auto; max-width: 100%; border: 1px solid var(--panel-border); border-radius: 12px; margin-block: 1.5rem; overscroll-behavior-x: contain; }
body.article-page .table-scroll table { margin: 0; min-width: 480px; width: 100%; }
body.article-page .table-scroll:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
body.article-page .article-content :is(.info-box,.diagram-box,.code-block,.quiz-container) { min-width: 0; max-width: 100%; }
body.article-page .article-content .diagram-box { overflow-x: auto; }
body.article-page .article-container { max-width: 900px; margin: 90px auto 2rem; padding-inline: 1rem; }
body.article-page .article-container .article-content { padding: clamp(1rem,3vw,2rem); border: 1px solid var(--panel-border); border-radius: 20px; background: var(--panel); }
body.article-page .article-header > p { color: var(--text-muted) !important; }
body.article-page .article-header h1 { font-family: var(--font-heading); line-height: 1.25; text-wrap: balance; font-size: clamp(1.7rem,4vw,2.7rem); }
body.article-page .article-featured-image img { border-radius: 18px; }
body.article-page .code-copy { min-height: 36px; min-width: 64px; }
body.article-page .quiz-option { min-height: 44px; }
body.article-page .reader-tools { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 1rem 0 1.5rem; padding: .8rem; border-radius: 12px; border: 1px solid var(--panel-border); background: var(--panel); }
body.article-page .reader-tools button { min-height: 40px; padding: .45rem .9rem; border-radius: 9px; border: 1px solid var(--panel-border); background: var(--surface); color: var(--text); font: inherit; font-size: .85rem; cursor: pointer; }
body.article-page .reader-tools button:hover { border-color: var(--accent); }
body.article-page .reader-tools .reader-status { font-size: .8rem; color: var(--text-muted); margin-inline-start: auto; }
body.article-page.reader-focus :is(#reading-sky,.reading-sky-container,.article-featured-image,.pollen-particle,.cursor-dot) { display: none !important; }
body.article-page.reader-focus, body.article-page.reader-focus * { cursor: auto !important; }
body.article-page.reader-focus .article-content { background: var(--panel); }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 20000; padding: 12px 18px; background: var(--accent); color: #fff; border-radius: 8px; }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
@media (max-width: 600px) {
 body.article-page .article-content { font-size: 1rem; }
 body.article-page .article-content pre { font-size: .8rem; }
 body.article-page .reader-tools { padding: .6rem; }
 body.article-page .reader-tools .reader-status { width: 100%; margin: 0; }
 body.article-page .article-nav { flex-wrap: wrap; gap: 1rem; }
 body.article-page .article-nav > a { min-width: 0; flex: 1 1 180px; }
}
@media (prefers-reduced-motion: reduce) {
 .cursor-dot,.pollen-particle { display: none !important; }
 body,body * { cursor: auto !important; }
 body.article-page * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print {
 .navbar,.footer,.reader-tools,.toc-sidebar,.ad-slot,.ad-slot-wide,.theme-toggle-floating,.back-to-top,.quick-menu-btn,.cursor-dot,.pollen-particle { display: none !important; }
 body.article-page { background: white !important; color: black !important; }
 body.article-page .article-content { font-size: 11pt; background: white !important; }
 body.article-page pre { white-space: pre-wrap; }
 body.article-page .table-scroll { overflow: visible; }
}
