/* Quiet editorial reader. Magic UI Scroll Progress / Highlighter are visual
   references, not imported React components. No hydration or motion dependency. */
.reader-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.reader-home { padding-top:32px; }
.home-section-title { margin:0 0 18px; font-size:14px; line-height:1.6; font-weight:500; color:var(--muted-foreground); }
.cover-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 24px; }
.cover-story { min-width:0; }
.cover-story-hero { width:100%; }
.previous-stories { margin-top:64px; padding-top:32px; border-top:1px solid var(--border); }
.cover-story-link { display:block; width:100%; height:auto; margin:0; padding:0; overflow:hidden; background:#f7f4ec; border-radius:8px; line-height:0; transition:box-shadow .18s ease; }
.cover-story-link:hover { background:#f7f4ec; box-shadow:0 5px 24px #24282412; }
.cover-story-link:focus-visible { outline:2px solid var(--reader-accent); outline-offset:5px; }
.cover-story-link img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.cover-story-meta { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:16px; color:var(--muted-foreground); font-size:12px; line-height:1.6; }
.cover-story-meta>span { display:flex; gap:8px; align-items:center; }
.cover-story-meta svg { width:16px; height:16px; }
.cover-story .cover-caption { margin:6px 0 0; font-size:10px; }
.purchase-comparison-block { margin-top:24px; }
.purchase-comparison { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; line-height:1.7; }
.purchase-comparison th,.purchase-comparison td { min-width:0; height:auto; white-space:normal; word-break:keep-all; overflow-wrap:anywhere; padding:18px 16px; vertical-align:top; text-align:left; }
.purchase-comparison th:first-child { width:100px; font-size:12px; font-weight:500; color:#686b64; background:#f8f6f2; }
.purchase-comparison thead th { border-top:1px solid #c8c1b4; border-bottom:1px solid var(--border); background:#f8f6f2; }
.purchase-comparison th strong { font-size:14px; font-weight:600; line-height:1.55; display:block; }
.purchase-comparison td+td,.purchase-comparison thead th+th+th { border-left:1px solid var(--border); }
.purchase-comparison .comparison-model { display:block; font-size:10px; color:var(--muted-foreground); margin-top:8px; word-break:break-all; }
.purchase-comparison small { display:block; margin-top:8px; font-size:10px; line-height:1.5; color:var(--muted-foreground); }
.comparison-context { display:block; font-size:11px; color:var(--muted-foreground); margin-bottom:5px; }
.comparison-points { list-style:disc; margin:0; padding:0 0 0 15px; }
.comparison-points li { margin:0; padding:0; font-size:13px; line-height:1.8; }
.comparison-points li+li { margin-top:4px; }
.comparison-points li::marker { color:#a39b90; }
.purchase-comparison tbody tr { border-bottom:1px solid var(--border); }
.purchase-comparison tbody tr:hover { background:transparent; }
.purchase-comparison tbody tr:first-child td { font-weight:500; }
.comparison-price-row td>p { margin:0 0 8px; color:var(--muted-foreground); font-size:11px; }
.comparison-cta { display:inline-flex; gap:6px; align-items:center; justify-content:center; width:100%; min-height:44px; height:auto; padding:11px 8px; color:#fff; border:1px solid var(--reader-accent); border-radius:5px; background:var(--reader-accent); font-size:13px; font-weight:600; line-height:1.5; white-space:normal; text-decoration:none; }
.comparison-cta svg { width:14px; height:14px; flex:none; }
.comparison-cta:hover { background:#8e3527; border-color:#8e3527; color:#fff; }
.comparison-cta:focus-visible,.brief-heading>a:focus-visible { outline:2px solid var(--reader-accent); outline-offset:3px; }
.purchase-comparison caption { padding:12px 0 0; margin:0; text-align:left; caption-side:bottom; font-size:11px; line-height:1.7; color:var(--muted-foreground); }
.comparison-note { margin:6px 0 0; font-size:10px; line-height:1.7; color:var(--muted-foreground); }
@media(max-width:600px) {
  .reader-home { padding-top:24px; }
  .cover-shelf { grid-template-columns:1fr; gap:32px; }
  .previous-stories { margin-top:40px; padding-top:24px; }
  .purchase-comparison { display:flex; flex-direction:column; }
  .purchase-comparison thead,.purchase-comparison tbody { display:block; }
  .purchase-comparison tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .purchase-comparison th,.purchase-comparison td { display:block; min-width:0; height:auto; padding:14px 12px; font-size:13px; line-height:1.7; }
  .purchase-comparison thead th:first-child { display:none; }
  .purchase-comparison tbody th:first-child { grid-column:1/-1; display:flex; align-items:center; gap:6px; width:auto; padding:9px 12px; background:#f8f6f2; font-size:11px; }
  .purchase-comparison th strong { font-size:13px; }
  .purchase-comparison caption { display:block; order:1; }
  .comparison-cta { font-size:12px; gap:4px; padding:9px 6px; }
}
@media(min-width:601px) and (max-width:900px) { .cover-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .cover-story-link { transition:none; } }
[data-reader-v6] { --pencil:#e4d7a5; --reader-accent:#a54332; --reader-control-height:44px; --reader-icon-size:16px; --reader-control-text:14px; --reader-control-gap:8px; }
.reading-progress { position:fixed; z-index:20; top:0; left:0; width:100%; height:3px; border:0; appearance:none; background:transparent; color:var(--reader-accent); opacity:0; pointer-events:none; }
.reader-enhanced .reading-progress { opacity:1; }
.reading-progress::-webkit-progress-bar { background:transparent; }
.reading-progress::-webkit-progress-value { background:var(--reader-accent); transition:width 100ms linear; }
.reading-progress::-moz-progress-bar { background:var(--reader-accent); }
.reading-tools { margin:20px 0 16px; }
.reader-utilities { position:relative; margin:0; padding-bottom:24px; }
.reader-utilities>.blog-divider { position:absolute; bottom:0; left:0; }
.reader-utilities .reading-tools { margin:24px 0 0; }
.reader-utilities .term-guide { margin:16px 0 0; }
.reader-article-footer { margin-top:40px; }
[data-reader-v6] .article-start { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.article-share { position:relative; text-align:right; }
.article-share .reader-action-status { max-width:200px; font-size:11px; }
.article-share .reader-public-url { width:min(260px,60vw); }
.article-author>h2 { margin:0 0 14px; font-size:12px; font-weight:400; color:var(--muted-foreground); }
.author-card { padding:24px; background:#f8f6f2; border:1px solid #eeeae4; border-radius:12px; }
.author-card-heading { display:flex; align-items:center; gap:16px; }
.reader-author-avatar { display:block; flex:none; width:64px; height:64px; border-radius:8px; overflow:hidden; }
.reader-author-avatar>img { display:block; width:100%; height:100%; object-fit:cover; }
.author-card-heading h3 { margin:0 0 5px; font-size:18px; line-height:1.5; font-weight:600; }
.author-card-heading p { margin:0; color:var(--muted-foreground); font-size:12px; line-height:1.6; }
.author-profile-link { display:inline-flex; gap:6px; align-items:center; margin-left:auto; min-height:44px; height:auto; padding:10px 14px; border:1px solid #e0dbd3; border-radius:6px; background:#fff; color:var(--foreground); font-size:12px; text-decoration:none; }
.author-profile-link svg { width:14px; height:14px; }
.author-card-bio { margin:20px 0 0; font-size:14px; line-height:1.9; color:#5b5d58; }
.author-image-note { display:block; margin-top:12px; color:var(--muted-foreground); font-size:10px; line-height:1.6; }
.article-connect { margin-top:24px; padding-top:24px; border-top:1px solid var(--border); }
.reader-footer-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:auto; min-height:44px; padding:10px 14px; border:1px solid #e0dbd3; border-radius:6px; background:#fff; color:var(--foreground); font-size:13px; line-height:1.6; text-decoration:none; }
.reader-footer-button:hover,.author-profile-link:hover { background:var(--muted); color:var(--foreground); }
.reader-footer-button svg { width:16px; height:16px; flex:none; }
.reader-footer-button:disabled { opacity:.4; }
.reader-action-status { display:block; color:var(--muted-foreground); font-size:12px; line-height:1.7; }
.reader-action-status:not(:empty) { margin-top:10px; }
.reader-public-url { display:block; width:100%; height:44px; margin-top:12px; padding:10px; border:1px solid var(--border); border-radius:6px; font-size:12px; color:var(--foreground); }
.reader-public-url[hidden] { display:none; }
.article-subscribe { margin-top:24px; }
.article-subscribe h2 { display:flex; align-items:center; gap:8px; margin:0 0 8px; font-size:15px; font-weight:600; line-height:1.7; }
.article-subscribe h2 svg { width:16px; height:16px; color:var(--reader-accent); }
.article-subscribe>p { margin:0 0 14px; font-size:13px; line-height:1.8; color:var(--muted-foreground); }
.subscribe-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rss-preview-note { display:block; margin-top:12px; font-size:11px; line-height:1.7; color:var(--muted-foreground); }
@media(max-width:600px) { .author-card { padding:20px; } .author-card-heading { flex-wrap:wrap; gap:12px; } .author-profile-link { margin-left:76px; } }
[data-reader-v6] .article-heading .byline { margin-top:18px; padding-bottom:0; }
[data-reader-v6] .article-heading .reading-time { margin-left:0; }
.speech-actions { display:flex; align-items:center; gap:4px; flex-wrap:wrap; margin-left:-10px; }
.reader-control { display:inline-flex; align-items:center; justify-content:center; gap:var(--reader-control-gap); height:var(--reader-control-height); min-width:var(--reader-control-height); padding:10px; font-size:var(--reader-control-text); font-weight:400; line-height:20px; background:transparent; color:var(--foreground); border-radius:6px; border:0; cursor:pointer; text-decoration:none; white-space:nowrap; }
.reader-control svg { display:block; width:var(--reader-icon-size); height:var(--reader-icon-size); flex:none; stroke-width:1.75; }
.reader-brand-mark { width:48px; height:32px; flex:none; }
.reader-back-link { margin-left:-10px; }
.reader-icon-control { width:var(--reader-control-height); padding:0; flex:none; }
.reader-icon-control svg { fill:currentColor; stroke-width:1.5; }
.reader-control .speech-pause-icon { display:none; }
[data-speech-state=speaking] .speech-play-icon { display:none; }
[data-speech-state=speaking] .speech-pause-icon { display:block; }
.reader-control:hover { background:var(--muted); }
.reader-control:focus-visible,.term-highlight:focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
.reader-control:disabled { opacity:.4; cursor:default; }
.reader-rate { font-variant-numeric:tabular-nums; color:var(--muted-foreground); }
.speech-voice { margin:2px 0 0; color:var(--muted-foreground); font-size:12px; line-height:20px; }
.speech-status { display:block; font-size:12px; color:var(--muted-foreground); line-height:1.6; }
.speech-status:not(:empty) { padding-top:8px; }
.audio-label { margin:0 0 6px; font-size:13px; font-weight:500; }
.audio-label span { color:var(--muted-foreground); font-weight:400; }
.reading-tools audio { max-width:100%; width:100%; }
.reading-tools audio:not([controls]) { display:none; }
.audio-actions { gap:10px; flex-wrap:nowrap; margin:12px 0 0; }
.reader-control.audio-play-toggle { width:48px; height:48px; min-width:48px; border:1px solid #deded8; border-radius:50%; background:#fff; box-shadow:0 2px 3px #20211f08; }
.reader-control.audio-play-toggle:hover { background:var(--muted); }
.audio-play-toggle svg { width:18px; height:18px; }
.audio-time { flex:none; font-size:16px; font-weight:600; line-height:24px; font-variant-numeric:tabular-nums; color:var(--foreground); white-space:nowrap; }
.audio-time-separator { color:#cfcec7; padding-inline:3px; }
.audio-skip { position:relative; width:36px; min-width:36px; padding:0; color:var(--muted-foreground); }
.audio-skip svg { width:25px; height:25px; }
.audio-skip>span { position:absolute; top:19px; left:0; width:100%; text-align:center; font-size:9px; font-weight:600; line-height:12px; background:var(--background); }
.audio-rate { min-width:44px; padding:8px 2px; font-size:15px; }
.article-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:450px; margin:26px 0 24px; }
.article-dates dt { color:var(--muted-foreground); font-size:12px; line-height:1.7; }
.article-dates dd { margin:4px 0 0; font-size:15px; line-height:1.6; font-variant-numeric:tabular-nums; }
.toc-progress { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; padding-bottom:15px; border-bottom:1px solid var(--border); color:var(--muted-foreground); font-size:11px; }
.toc-progress span:last-child { color:var(--foreground); font-variant-numeric:tabular-nums; font-size:18px; letter-spacing:-.04em; }
.toc a[aria-current=location] { color:var(--reader-accent); font-weight:600; }
.toc li:has([aria-current=location])::before { color:var(--reader-accent); }
.toc li { position:relative; }
.toc a[aria-current=location]::after { content:''; position:absolute; width:3px; left:-26px; top:4px; bottom:4px; background:var(--reader-accent); border-radius:3px; }
.term-highlight { display:inline; position:relative; border:0; border-radius:0; padding:0 2px; height:auto; min-height:0; margin:0; font:inherit; color:inherit; white-space:normal; cursor:help; box-decoration-break:clone; -webkit-box-decoration-break:clone; background:linear-gradient(177deg,transparent 43%,#e4d7a550 45%,#e4d7a5b0 82%,#e4d7a570 91%,transparent 93%); text-decoration:underline; text-decoration-style:dotted; text-decoration-color:#a88b58; text-underline-offset:4px; transition:background-color .15s; }
.term-highlight:hover,.term-highlight[aria-expanded=true] { background-color:#e4d7a52b; color:inherit; }
.term-tooltip { display:block; position:fixed; z-index:30; box-sizing:border-box; width:308px; padding:17px 18px; color:var(--popover-foreground); background:var(--popover); border:1px solid var(--border); border-radius:9px; box-shadow:0 6px 26px #20211f16; font-size:14px; line-height:1.75; letter-spacing:0; font-weight:400; }
.term-tooltip[hidden] { display:none; }
.term-label { display:block; margin-bottom:6px; color:var(--reader-accent); font-size:11px; }
.term-tooltip small { display:block; margin-top:10px; color:var(--muted-foreground); font-size:11px; }
.term-guide { margin:12px 0 2px; font-size:11px; color:var(--muted-foreground); }
.term-guide span { background:linear-gradient(transparent 45%,#e4d7a585 45%,#e4d7a585 90%,transparent 90%); }
[data-speaking] { outline:2px solid #e4d7a550; outline-offset:9px; border-radius:2px; }
.reader-brief { margin:0 0 24px; padding:24px; background:#f8f6f2; border-radius:8px; }
.brief-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.brief-heading h2 { margin:0; font-size:17px; font-weight:600; letter-spacing:-.025em; }
.brief-heading>a { flex:none; font-size:12px; color:var(--muted-foreground); text-decoration:none; padding-block:8px; }
.reader-brief ul { list-style:disc; margin:12px 0 20px; padding-left:18px; }
.reader-brief li { padding:5px 0 5px 3px; font-size:15px; line-height:1.8; }
.reader-brief li::marker { color:var(--reader-accent); }
.brief-products { padding-top:16px; border-top:1px solid #e4dfd7; }
.brief-products>p { margin:0 0 10px; font-size:12px; font-weight:600; }
.brief-products>p span { font-weight:400; color:var(--muted-foreground); }
.brief-product-link { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:10px; padding:14px; min-height:44px; width:100%; height:auto; white-space:normal; text-align:left; border:1px solid #e4dfd7; border-radius:6px; background:#fff; font-size:13px; font-weight:400; line-height:1.6; text-decoration:none; }
.brief-product-link:hover { background:#fff; border-color:var(--reader-accent); color:var(--foreground); }
.brief-product-link strong { display:block; font-size:13px; font-weight:600; }
.brief-product-name { display:block; margin-top:3px; color:var(--muted-foreground); font-size:12px; }
.brief-product-action { display:flex; justify-content:center; gap:6px; align-items:center; flex:none; min-height:44px; padding:10px 12px; border-radius:5px; color:#fff; background:var(--reader-accent); font-size:12px; font-weight:600; }
.brief-product-action svg { width:16px; height:16px; flex:none; }
.brief-products>small { display:block; margin-top:12px; color:var(--muted-foreground); font-size:12px; line-height:1.7; }
[data-reader-v6] .affiliate-disclosure { margin-bottom:12px; }
.entry-featured:has(.entry-cover) { grid-template-columns:.86fr 1.14fr; gap:40px; background:transparent; border-radius:0; }
.entry-featured:has(.entry-cover) .entry-copy { padding:20px 0; }
.entry-featured:has(.entry-cover) h2 { font-size:32px; }
.entry-featured .entry-cover { align-self:center; overflow:visible; background:transparent; }
.entry-cover img,.entry-featured .entry-cover img { width:100%; height:auto; min-height:0; aspect-ratio:16/9; object-fit:contain; border-radius:8px; }
.entry-cover:hover img { transform:none; }
.entry-cover { text-decoration:none; }
.cover-caption { display:block; margin-top:10px; color:var(--muted-foreground); font-size:11px; line-height:1.6; }
@media(max-width:800px) { .entry-featured:has(.entry-cover) { grid-template-columns:1fr; gap:12px; } .entry-featured .entry-cover { order:-1; } }
@media(max-width:600px) { .reader-brief { padding:20px 18px; } .brief-heading { gap:8px; } .brief-heading h2 { font-size:16px; } .brief-heading>a { font-size:11px; } .reader-brief li { font-size:14px; } .brief-product-link { align-items:flex-start; flex-direction:column; gap:6px; } .entry-featured:has(.entry-cover) h2 { font-size:28px; } }
@media(max-width:1050px) { .toc a[aria-current=location]::after { left:-20px; } }
@media(max-width:600px) { .reading-tools { margin:16px 0; } .speech-actions { gap:0; } }
@media(max-width:600px) { .audio-actions { gap:5px; } .audio-time { font-size:14px; } .audio-time-separator { padding-inline:1px; } .audio-skip { width:32px; min-width:32px; } .audio-rate { font-size:14px; min-width:40px; } .article-dates { margin-top:22px; } }
@media(prefers-reduced-motion:reduce) { .reading-progress::-webkit-progress-value,.term-highlight { transition:none; } }
