/* geowycena.pl /analizy/ (blog). Prose + index styles layered on base.css tokens.
   Same paper/ink/terracotta family; serif display, mono for data + numerals. */

/* Index: intro + post list */
.blog-intro{padding:64px 0 20px}
.blog-intro .wrap{max-width:760px}
.blog-intro h1{font-size:38px; line-height:1.14; font-weight:700; letter-spacing:-.01em; margin:8px 0 16px}
.blog-intro .lead{font-size:18px; max-width:640px}

.postlist{padding:28px 0 40px; border-top:1px solid var(--line)}
.postlist .wrap{max-width:820px}
.post-card{
  display:block; background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:26px 26px 22px; box-shadow:var(--shadow-soft);
  transition:border-color .15s,box-shadow .15s,transform .05s;
}
.post-card:hover{border-color:var(--accent-soft); box-shadow:var(--shadow); text-decoration:none}
.post-card + .post-card{margin-top:18px}
.post-card .kicker{
  font-family:var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--accent); display:block; margin:0 0 10px;
}
.post-card h2{font-family:var(--serif); font-size:23px; font-weight:600; line-height:1.22; margin:0 0 10px; letter-spacing:-.01em}
.post-card p{margin:0 0 14px; color:var(--ink-soft); font-size:15.5px; line-height:1.55}
.post-card .more{font-family:var(--sans); font-weight:600; font-size:14.5px; color:var(--accent)}

/* Article */
.article{padding:56px 0 30px}
.article .wrap{max-width:720px}
.article-head{margin:0 0 30px; padding:0 0 26px; border-bottom:1px solid var(--line)}
.article-head .eyebrow{margin-bottom:16px}
.article h1{font-size:36px; line-height:1.16; font-weight:700; letter-spacing:-.01em; margin:0 0 18px}
.byline{
  font-family:var(--mono); font-size:13px; color:var(--ink-mute); letter-spacing:.02em;
  display:flex; flex-wrap:wrap; gap:8px 16px;
}
.byline .who{color:var(--ink-soft)}

/* Prose body */
.prose{font-size:17px; line-height:1.68; color:var(--ink)}
.prose > p{margin:0 0 20px; color:var(--ink)}
.prose h2{
  font-family:var(--serif); font-size:25px; font-weight:600; letter-spacing:-.01em;
  margin:42px 0 14px; padding-top:6px;
}
.prose h3{font-family:var(--serif); font-size:19px; font-weight:600; margin:28px 0 10px}
.prose strong{color:var(--ink); font-weight:600}
.prose hr{border:0; border-top:1px solid var(--line); margin:38px 0}
.prose em{color:var(--ink-soft)}

/* Data note strip under the title */
.datanote{
  background:var(--card); border:1px solid var(--line); border-left:3px solid var(--accent);
  border-radius:10px; padding:16px 18px; margin:0 0 30px;
  font-size:14.5px; line-height:1.6; color:var(--ink-soft);
}
.datanote strong{color:var(--ink)}

/* ASCII histogram: keep monospace, let it breathe */
.prose pre{
  font-family:var(--mono); font-size:13.5px; line-height:1.5; color:var(--ink);
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  padding:20px 22px; margin:0 0 22px; overflow-x:auto; white-space:pre;
}

/* Data table (wojewodztwa) */
.prose table{
  width:100%; border-collapse:collapse; margin:0 0 24px; font-size:15px;
  background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden;
}
.prose th,.prose td{padding:10px 14px; text-align:left; border-bottom:1px solid var(--line)}
.prose thead th{
  font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft); background:var(--paper-edge);
}
.prose tbody tr:last-child td{border-bottom:0}
.prose td.num{font-family:var(--mono); text-align:right; color:var(--ink)}

/* Legal basis callout */
.legal{
  background:var(--card); border:1px solid var(--line); border-left:3px solid var(--good);
  border-radius:12px; padding:20px 22px; margin:0 0 24px;
  font-size:15px; line-height:1.62; color:var(--ink-soft);
}
.legal strong{color:var(--ink)}

/* Source footer */
.article-src{
  margin-top:34px; padding-top:20px; border-top:1px solid var(--line);
  font-family:var(--mono); font-size:12.5px; line-height:1.6; color:var(--ink-mute);
}
.article-src code{background:var(--paper-edge); padding:1px 5px; border-radius:5px}

.backlink{display:inline-block; margin:30px 0 0; font-family:var(--sans); font-weight:600; font-size:14.5px}

@media (max-width:820px){
  .blog-intro h1,.article h1{font-size:29px}
  .prose{font-size:16px}
  .prose h2{font-size:22px}
  .article,.blog-intro{padding-top:40px}
}
