/* Public article presentation; stored editorial formatting and image controls remain authoritative. */
.article-progress { position:fixed; top:0; left:0; z-index:50; width:0; height:2px; background:#d4a017; pointer-events:none; }
.article-reader { padding:16px 0 40px; background:#0a0f0a; color:#e5e7eb; }
.article-reader-container { max-width:1024px; margin:auto; padding:0 16px; }
.article-reader-header { max-width:760px; margin:0 auto 24px; }
.article-back-link { display:flex; align-items:center; width:max-content; min-height:44px; margin-bottom:12px; color:#a6b0a8; font-size:13px; text-decoration:none; }
.article-category { display:inline-block; margin-bottom:10px; color:#d5b86e; font-size:13px; text-decoration:none; }
.article-reader-header h1 { margin:0 0 16px; font:600 30px/1.2 'Playfair Display',Georgia,serif; letter-spacing:-.025em; color:#f5f5f3; overflow-wrap:anywhere; }
.article-introduction { margin:0; color:#b8c0ba; font-size:16px; line-height:1.7; }
.article-reader-cover { margin:0 auto 24px; }
.article-reader-cover img { display:block; max-width:100%; border-radius:6px; }
.article-reader-cover figcaption { max-width:760px; margin:0 auto; padding:10px 0 0; color:#9da99f; font-size:12px; line-height:1.6; text-align:center; overflow-wrap:anywhere; }
.article-reading-column { max-width:760px; margin:auto; }
.article-reader .blog-prose { font-size:18px; line-height:1.75; overflow-wrap:anywhere; }
.article-reader .blog-prose h2 { font-size:28px; margin-top:36px; padding-bottom:0; border:0; }
.article-reader .blog-prose h2::after { display:none; }
.article-reader .blog-prose h3 { font-size:23px; margin-top:28px; }
.article-reader .blog-prose :is(h2,h3,h4) { scroll-margin-top:100px; }
.article-reader .blog-prose p { margin-bottom:20px; }
.article-reader .blog-prose p:last-child { margin-bottom:0; }
.article-contents { margin:0 0 28px; border-top:1px solid #303930; border-bottom:1px solid #303930; }
.article-contents[hidden] { display:none; }
.article-contents summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; padding:10px 0; color:#e5e7eb; cursor:pointer; list-style:none; font-size:14px; }
.article-contents summary::-webkit-details-marker { display:none; }
.article-contents-state { color:#e8bc51; font-size:13px; }
.contents-open,.article-contents[open] .contents-closed { display:none; }
.article-contents[open] .contents-open { display:inline; }
.article-contents nav { padding:0 0 14px; }
.article-contents:not([open]) nav { display:none; }
.article-contents,.article-share,.article-adjacent,.article-related { scroll-margin-top:100px; }
.article-contents a { display:flex; align-items:center; min-height:44px; padding:8px 0; color:#b8c0ba; font-size:14px; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.article-contents a[data-level="3"] { padding-left:16px; color:#9da99f; }
.article-contents a:hover { color:#e8bc51; }
.article-tags { margin:28px 0 0; color:#a6b0a8; font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.article-tags span { color:#d2d8d3; }
.article-share { margin-top:24px; padding-top:20px; border-top:1px solid #303930; }
.article-share h2 { margin:0 0 4px; color:#b8c0ba; font:500 13px/1.5 Inter,system-ui,sans-serif; }
.article-share-links { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:8px; }
.article-share-links :is(a,button) { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:8px; border:0; border-radius:4px; background:transparent; color:#c7cfc9; text-decoration:none; cursor:pointer; }
.article-share-links .article-share-logo { display:block; flex-shrink:0; width:26px; height:26px; }
.article-share-links :is(a,button):hover { opacity:.8; }
#article-copy-status { margin:8px 0 0; font-size:13px; line-height:1.6; color:#b8c0ba; }
.article-adjacent { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; margin-top:24px; padding-top:24px; border-top:1px solid #303930; }
.article-adjacent a { display:block; min-width:0; padding:8px 0; color:#eee; text-decoration:none; }
.article-adjacent span { display:block; margin-bottom:8px; color:#c9ad65; font-size:12px; }
.article-adjacent strong { display:block; font:600 20px/1.4 'Playfair Display',Georgia,serif; overflow-wrap:anywhere; }
.article-related { margin-top:36px; padding-top:28px; border-top:1px solid #303930; }
.article-related-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:20px; }
.article-related h2 { margin:0; color:#eee; font:600 25px/1.3 'Playfair Display',Georgia,serif; }
.article-related-heading>a { display:inline-flex; align-items:center; min-height:44px; color:#e8bc51; font-size:13px; text-decoration:none; }
.article-related-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.article-related-card { display:grid; grid-template-columns:minmax(0,1fr) 88px; gap:16px; padding-bottom:16px; border-bottom:1px solid #303930; min-width:0; }
.article-related-image { display:block; grid-column:2; grid-row:1; aspect-ratio:1; border-radius:4px; overflow:hidden; }
.article-related-image img { width:100%; height:100%; object-fit:cover; }
.article-related-card>div { grid-column:1; grid-row:1; min-width:0; }
.article-related-card p { margin:0 0 6px; color:#c9ad65; font-size:12px; }
.article-related h3 { margin:0; font:600 20px/1.35 'Playfair Display',Georgia,serif; overflow-wrap:anywhere; }
.article-related h3 a { color:#eee; text-decoration:none; }
.article-related-read { display:inline-flex; align-items:center; min-height:44px; color:#e8bc51; font-size:13px; text-decoration:none; }
.article-visit { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; margin-top:32px; padding-top:24px; border-top:1px solid #303930; }
.article-visit h2 { margin:0 0 8px; font:600 22px/1.3 'Playfair Display',Georgia,serif; }
.article-visit p { margin:0; max-width:480px; color:#a6b0a8; font-size:14px; line-height:1.7; }
.article-visit>div:last-child { display:flex; flex-wrap:wrap; gap:8px 24px; }
.article-visit a { display:inline-flex; align-items:center; min-height:44px; color:#e8bc51; font-size:14px; text-underline-offset:4px; }
.article-draft-notice { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px; margin-bottom:24px; border:1px solid #795e29; background:#241e11; color:#ead39f; font-size:13px; }
.article-draft-notice p { margin:6px 0 0; }
.article-draft-notice a { color:#f3cf73; padding:12px 0; }
.article-reader :is(a,button,summary):focus-visible { outline:2px solid #d4a017; outline-offset:4px; }
.article-reader :is(a,button,summary) { scroll-margin-top:100px; scroll-margin-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
@media(min-width:640px) {
    .article-reader { padding-top:24px; padding-bottom:56px; }
    .article-reader-container { padding:0 24px; }
    .article-reader-header { margin-bottom:32px; }
    .article-reader-header h1 { font-size:44px; }
    .article-introduction { font-size:18px; }
    .article-reader-cover { margin-bottom:32px; }
    .article-adjacent { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
    .article-adjacent-next { grid-column:2; }
    .article-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
    .article-related-card { display:block; }
    .article-related-image { aspect-ratio:3/2; margin-bottom:16px; }
    .article-reader .blog-prose h2 { font-size:32px; }
}
@media(min-width:1024px) {
    .article-reader-header h1 { font-size:46px; }
    .article-related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { .article-reader { scroll-behavior:auto; } }
