/* Quantvesting Journal — uses the same typography, palette and controls as the assessment UI. */

.journal-shell { max-width: 1180px; margin: 0 auto; padding: 24px 20px 56px; }
.journal-hero { max-width: 820px; padding: 18px 4px 34px; }
.journal-topline, .article-topline { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:42px; }
.back-link, .feed-link, .text-link { color: var(--qv-ink); font-weight:750; text-decoration:none; }
.back-link:hover, .feed-link:hover, .text-link:hover { text-decoration:underline; text-underline-offset:3px; }
.feed-link { color: var(--qv-muted); font-size:11px; }
.journal-hero h1 { max-width: 760px; margin-top: 16px; }
.journal-lede { max-width: 700px; color: var(--qv-muted); font-size:15px; line-height:1.55; }
.journal-layout { display:grid; grid-template-columns: 250px minmax(0,1fr); gap:48px; align-items:start; }
.journal-sidebar { position:sticky; top:18px; }
.sidebar-block { padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--qv-border); }
.sidebar-heading { font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#758197; }
.sidebar-note { color:var(--qv-muted); font-size:11px; line-height:1.55; margin:7px 0 14px; }
.topic-cloud { display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.topic-chip { border:1px solid var(--qv-border); background:#fff; color:#556176; border-radius:999px; padding:7px 9px; min-height:34px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; font:inherit; font-size:11px; line-height:1; transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease; }
.topic-chip span { color:#8a94a4; font-size:9px; font-weight:800; }
.topic-chip--large { font-size:12px; font-weight:800; padding-inline:10px; }
.topic-chip:hover { transform:translateY(-1px); border-color:#cfd7e3; }
.topic-chip.active { background:var(--qv-ink); border-color:var(--qv-ink); color:#fff; }
.topic-chip.active span { color:#d9dfeb; }
.topic-chip:focus-visible, .clear-filter:focus-visible, .back-link:focus-visible, .feed-link:focus-visible, .text-link:focus-visible { outline:3px solid rgba(23,32,51,.16); outline-offset:3px; border-radius:4px; }
.clear-filter { margin-top:13px; border:0; background:none; padding:0; color:var(--qv-muted); font:inherit; font-size:11px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.clear-filter:disabled { opacity:.45; cursor:default; text-decoration:none; }
.sidebar-note-block p { color:var(--qv-muted); font-size:11px; line-height:1.55; }
.content-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:14px; }
.content-heading h2 { margin-bottom:0; }
.filter-status { color:var(--qv-muted); font-size:11px; }
.journal-posts { border-top:1px solid var(--qv-border); }
.journal-post { padding:24px 0 26px; border-bottom:1px solid var(--qv-border); }
.journal-post[hidden] { display:none; }
.post-date { color:#7c8798; font-size:10px; font-weight:800; letter-spacing:.65px; text-transform:uppercase; }
.journal-post h2 { margin:7px 0 7px; }
.journal-post h2 a { color:var(--qv-ink); text-decoration:none; }
.journal-post h2 a:hover { text-decoration:underline; text-underline-offset:4px; }
.journal-post p { max-width:720px; margin:0 0 12px; color:var(--qv-muted); font-size:12px; line-height:1.55; }
.post-tags { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.post-tag { display:inline-flex; align-items:center; border-radius:999px; background:var(--qv-soft); color:#637086; padding:5px 8px; font-size:9px; font-weight:800; letter-spacing:.2px; }
.journal-post .text-link { display:inline-block; margin-top:12px; font-size:11px; }
.empty-filter { padding:28px 0; color:var(--qv-muted); font-size:12px; }
.empty-filter.hidden { display:none; }
.journal-footer { display:flex; gap:9px; align-items:center; margin-top:40px; color:var(--qv-muted); font-size:11px; }
.journal-footer a { color:var(--qv-ink); font-weight:800; text-decoration:none; }
.article-shell { max-width:900px; }
.article-topline { margin-bottom:52px; }
.article { max-width:760px; margin:0 auto; }
.article-header { padding-bottom:30px; border-bottom:1px solid var(--qv-border); }
.article-header h1 { margin:16px 0 14px; }
.article-excerpt { margin:0; color:var(--qv-muted); font-size:15px; line-height:1.55; }
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; color:#7c8798; font-size:11px; }
.article-body { padding:32px 0 10px; color:#263247; font-size:16px; line-height:1.65; }
.article-body h2 { margin:34px 0 10px; }
.article-body h3 { margin:30px 0 8px; }
.article-body p { margin:0 0 18px; }
.article-body ul, .article-body ol { margin:0 0 20px; padding-left:24px; }
.article-body li { margin:5px 0; }
.article-body blockquote { margin:24px 0; padding:3px 0 3px 20px; border-left:3px solid #cbd3df; color:#4e5c71; font-size:17px; line-height:1.55; }
.article-body strong { color:var(--qv-ink); }
.article-body a { color:#2e496e; text-decoration:underline; text-underline-offset:3px; }
.article-body code { padding:2px 5px; border-radius:5px; background:var(--qv-soft); font-size:.9em; }
.article-next { max-width:760px; margin:26px auto 0; padding-top:22px; border-top:1px solid var(--qv-border); }
@media (max-width: 820px) {
  .journal-layout { grid-template-columns:1fr; gap:28px; }
  .journal-sidebar { position:static; order:0; }
  .journal-content { order:1; }
  .sidebar-block { margin-bottom:0; padding-bottom:20px; }
  .sidebar-note-block { display:none; }
}
@media (max-width: 600px) {
  .journal-shell { padding:14px 14px 42px; }
  .journal-hero { padding:12px 2px 28px; }
  .journal-topline, .article-topline { margin-bottom:34px; }
  .journal-lede, .article-excerpt { font-size:14px; }
  .content-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .article-header h1 { margin-top:12px; }
  .article-body { font-size:16px; }
  .article-body blockquote { font-size:16px; }
}

.community-cta{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:40px;padding-top:18px;border-top:1px solid #e0e6ef}
.community-cta h3{margin:7px 0 6px;font-size:16px}
.community-cta p{margin:0;color:var(--qv-muted);font-size:12px;line-height:1.55}
@media(max-width:650px){.community-cta{align-items:stretch;flex-direction:column}.community-cta .button{width:100%;text-align:center}}
