/* Extends the approved homepage; no independent palette or font stack. */
.publications-page [hidden] { display: none !important; }
.journal { padding: 1.5rem 1rem 2.5rem; }
.journal-heading { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.journal-heading h1 { margin: 0; font-size: 1rem; font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.back-link { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; flex-shrink: 0; border: 1px solid var(--v3-line); border-radius: 50%; color: var(--v3-ink); text-decoration: none; }
.back-link svg { transform: rotate(180deg); width: 1.125rem; height: 1.125rem; }
.back-link:hover { background: var(--v3-surface); }
.topic-filters { position: relative; display: flex; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; gap: .5rem; padding: .2rem .15rem .6rem; margin-bottom: 1rem; }
.topic-filters button { display: flex; align-items: center; gap: .45rem; flex: 0 0 auto; white-space: nowrap; border: 1px solid transparent; background: var(--v3-surface); color: var(--v3-ink-soft); border-radius: .75rem; min-height: 2.75rem; padding: .4rem .75rem; font-size: .875rem; line-height: 1.3; font-weight: 400; text-align: left; }
.topic-symbol { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: #277054; background: #e0eee5; }
.topic-symbol svg { width: 18px; height: 18px; }
[data-topic="market"] .topic-symbol, [data-topic="purchase"] .topic-symbol { color: #3e6991; background: #e5edf7; }
[data-topic="building"] .topic-symbol { color: #916629; background: #f4ebdb; }
[data-topic="people"] .topic-symbol { color: #785695; background: #eee5f5; }
.topic-filters [aria-pressed="true"] .topic-symbol { color: white; background: #ffffff20; }
.topic-filters button:hover { border-color: var(--v3-green-100); }
.topic-filters [aria-pressed="true"] { background: var(--v3-green-700); color: white; }
.feed-toolbar { display: flex; justify-content: space-between; gap: 1rem; margin: 1.5rem 0 1rem; font-size: .75rem; color: var(--v3-ink-soft); }
.journal-feed { display: grid; gap: 1rem; scroll-margin-top: 5.5rem; outline: none; }
.journal-card { min-width: 0; background: #eef4f2; border: 1px solid #e7eeeb; border-radius: 1.125rem; overflow: hidden; }
.journal-cover { display: block; position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--v3-surface); }
.journal-cover img { width: 100%; height: 100%; object-fit: cover; object-position: var(--cover-position, center); }
.article-entry { display: block; color: inherit; text-decoration: none; }
.article-entry:hover { color: var(--v3-green-700); }
.article-entry:focus-visible { outline: 3px solid #277054; outline-offset: -3px; }
.card-actions { margin-left: auto; display: flex; gap: .5rem; }
.card-actions .save-publication { margin: 0; }
.hide-publication { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: .7rem; background: white; color: #536d61; }
.hide-publication svg { width: 19px; height: 19px; }
.hide-publication:hover { background: #e0eee5; }
.topic-filters { scrollbar-width: none; cursor: grab; user-select: none; }
.topic-filters::-webkit-scrollbar { display: none; }
.topic-filters.is-dragging, .topic-filters.is-dragging button { cursor: grabbing; }
.feed-empty button { margin: .25rem; }
.journal-copy { padding: 1rem; }
.journal-topic { display: flex; gap: .45rem; align-items: center; flex-wrap: wrap; color: var(--v3-green-700); font-size: .75rem; line-height: 1.4; }
.journal-topic .format { color: var(--v3-ink-soft); }
.journal-topic .format::before { content: '·'; margin-right: .45rem; }
.journal-copy h2 { margin: .6rem 0; font-size: 1.375rem; line-height: 1.25; letter-spacing: -.025em; font-weight: 500; overflow-wrap: anywhere; }
.journal-excerpt { margin: 0; font-size: 1rem; line-height: 1.55; color: var(--v3-ink-soft); }
.journal-author { display: flex; align-items: center; gap: .6rem; margin-top: .75rem; font-size: .875rem; font-weight: 400; }
.author-mark { display: grid; place-items: center; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; background: var(--v3-green-50); color: var(--v3-green-700); }
.author-mark svg { width: 1.25rem; height: 1.25rem; }
.journal-meta { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; margin-top: .7rem; padding-top: .65rem; border-top: 1px solid var(--v3-line); color: var(--v3-ink-soft); font-size: .75rem; }
.save-publication { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; flex-shrink: 0; margin-left: auto; color: var(--v3-ink-soft); border: 0; background: white; border-radius: .7rem; }
.save-publication svg { width: 1.15rem; height: 1.15rem; }
.save-publication:hover, .save-publication[aria-pressed="true"] { color: var(--v3-green-700); background: var(--v3-green-50); }
.save-publication[aria-pressed="true"] svg { fill: var(--v3-green-100); }
.feed-more { display: flex; justify-content: center; align-items: center; gap: .65rem; width: 100%; min-height: 3.25rem; margin-top: 1.5rem; padding: .8rem 1rem; border: 1px solid var(--v3-line); border-radius: .85rem; background: var(--v3-surface); color: var(--v3-green-700); font-size: .9375rem; font-weight: 500; }
.feed-more svg { width: 1.125rem; height: 1.125rem; }
.feed-more:hover { background: var(--v3-green-50); }
.feed-empty { padding: 2rem 1rem; text-align: center; }
.feed-empty button { min-height: 2.75rem; padding: .5rem 1rem; border: 0; border-radius: .75rem; color: white; background: var(--v3-green-700); }
.publications-page footer { margin-top: 0; }
.demo-note { margin: 0 0 1rem; color: var(--v3-green-100); font-size: .75rem; }

/* Unified journal header and whole-card interaction. */
.journal{padding:1rem .75rem 2rem}
.journal-heading{margin:0 0 .65rem}
.journal-heading h1{font-size:var(--palma-title-font,18px)}
.topic-filters{gap:.5rem;margin:0 0 .65rem;padding:.15rem .1rem .55rem}
.topic-filters button{min-height:var(--palma-control-height,44px);padding:.4rem .7rem;border-radius:var(--palma-radius-control,11px);font:400 var(--palma-control-font,12.6px)/1.3 var(--palma-font-body,'Golos Text',sans-serif)}
.topic-filters button[aria-pressed=true]{font-weight:500}
.topic-symbol{width:26px;height:26px;border-radius:8px}
.topic-symbol svg{width:16px;height:16px}
.journal-feed{gap:.75rem}
.journal-card{position:relative;--journal-card-bg:#e1f1e8;--journal-card-line:#c7dfd2;border:1px solid var(--journal-card-line);border-radius:var(--palma-radius-card,18px);background:var(--journal-card-bg)}
.journal-card:nth-child(5n+2){--journal-card-bg:#e5eef9;--journal-card-line:#cbdbea}
.journal-card:nth-child(5n+3){--journal-card-bg:#f7ecd9;--journal-card-line:#e7d4b4}
.journal-card:nth-child(5n+4){--journal-card-bg:#eee5f6;--journal-card-line:#d9c9e7}
.journal-card:nth-child(5n+5){--journal-card-bg:#f8e7eb;--journal-card-line:#e8cbd2}
.journal-card-link{position:absolute;z-index:1;inset:0;border-radius:inherit;color:inherit;text-decoration:none}
.journal-card-link:focus-visible{outline:2px solid #237355;outline-offset:3px}
.journal-copy{position:relative;padding:.9rem 1rem 1rem;pointer-events:none}
.journal-card--text .journal-copy{min-height:154px;display:flex;flex-direction:column}
.journal-card--text .journal-meta{margin-top:auto}
.journal-copy h2{margin:.45rem 0;font:500 19px/1.3 var(--palma-font-body,'Golos Text',sans-serif);letter-spacing:0}
.journal-author{margin-top:.55rem;font-size:12.6px}
.journal-meta{margin-top:.55rem;padding-top:.55rem;font-size:11.5px}
.card-actions{position:relative;z-index:2;pointer-events:auto}
.journal-cover{pointer-events:none}
@media (max-width: 400px) {
  .journal { padding: 1rem .75rem 2rem; }
  .journal-copy { padding: 1rem; }
  .journal-heading h1 { font-size: var(--palma-title-font,18px); }
  .topic-filters { gap: .4rem; }
  .topic-filters button { padding-inline: .75rem; }
}
