/* ==========================================================================
   Feed – vizuální vrstva inspirovaná čtečkou Flipboard (reference: iOS obrazovky
   na Mobbinu). Nekopíruje logo ani značku, přebírá principy: výrazná červená,
   zúžené tučné verzálky pro navigaci a rubriky (#TAG), červené podtržení aktivní
   záložky, tučné serifové titulky, karty v mřížce, tmavá „hero“ dlaždice vydání,
   červené štítky na kartách a černá lišta.
   Vypnutí = smaž <link> na tento soubor v index.html.
   ========================================================================== */
:root {
  --bg: #f2f2f0;
  --surface: #ffffff;
  --ink: #1a1a1a;
  --ink-2: #444444;
  --ink-3: #646460;            /* WCAG: 5.3:1 na pozadí */
  --line: #e3e3df;
  --accent: #cc1f1f;           /* text/odkazy: ≥4.5:1 na bílé i šedém pozadí */
  --accent-fill: #cc1f1f;      /* plochy s bílým textem */
  --accent-ink: #ffffff;
  --accent-soft: #fde8e6;
  --hero: #1b1b1d;
  --hero-ink: #ffffff;
  --morning: #e12828; --morning-soft: #fde8e6;
  --evening: #e12828; --evening-soft: #fde8e6;
  --cond: "Barlow Condensed", "Arial Narrow", sans-serif;
  --serif: "Source Serif 4", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, sans-serif;
  --mono: "Inter", system-ui, sans-serif;
  --radius: 6px;
  --shadow: 0 1px 2px rgb(0 0 0 / 6%), 0 4px 14px rgb(0 0 0 / 5%);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f0f10; --surface: #1b1b1d; --ink: #f2f2f0; --ink-2: #c9c9c5; --ink-3: #8f8f8a;
    --line: #2c2c2f; --accent: #ff4a3d; --accent-fill: #c8261d; --accent-ink: #ffffff; --accent-soft: #3a1714;
    --hero: #232326; --morning: #ff4a3d; --morning-soft: #3a1714; --evening: #ff4a3d; --evening-soft: #3a1714;
    --shadow: none;
  }
}
:root[data-theme="dark"] {
  --bg: #0f0f10; --surface: #1b1b1d; --ink: #f2f2f0; --ink-2: #c9c9c5; --ink-3: #8f8f8a;
  --line: #2c2c2f; --accent: #ff4a3d; --accent-fill: #c8261d; --accent-ink: #ffffff; --accent-soft: #3a1714;
  --hero: #232326; --morning: #ff4a3d; --morning-soft: #3a1714; --evening: #ff4a3d; --evening-soft: #3a1714;
  --shadow: none;
}

/* Hlavička: bílá lišta, zúžené verzálky, červené podtržení aktivní záložky */
.top { background: var(--surface); backdrop-filter: none; border-bottom: 1px solid var(--line); }
.brand { font: 800 22px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.01em; }
.nav { gap: 2px; }
.nav a { font: 700 17px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.02em; color: var(--ink-3); border-radius: 0; padding: 10px 10px 9px; border-bottom: 3px solid transparent; }
.nav a:hover { background: none; color: var(--ink); }
.nav a[aria-current="page"] { background: none; box-shadow: none; color: var(--ink); border-bottom-color: var(--accent); }
.theme, .lang { border-color: var(--line); background: var(--surface); border-radius: var(--radius); }
.lang__btn { font: 700 13px/1 var(--cond); letter-spacing: 0.06em; border-radius: 4px; }
.lang__btn[aria-pressed="true"] { background: var(--accent-fill); color: var(--accent-ink); }

/* Archiv vlevo – bílá karta, verzálkový nadpis */
.archive__box { background: var(--surface); border-radius: var(--radius); padding: 16px 16px 8px; box-shadow: var(--shadow); }
.archive__head { font: 800 20px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink); }
.search input { border-radius: var(--radius); background: var(--bg); border-color: transparent; }
.search input:focus { border-color: var(--accent); outline: none; }
.archive__day { font: 700 13px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.04em; }
.archive__list a { border-radius: 4px; }
.archive__list a:hover { background: var(--bg); }
.archive__list a[aria-current="page"] { background: var(--accent-soft); box-shadow: inset 3px 0 0 var(--accent); color: var(--ink); }
.archive__title--day { font-weight: 500; }
.archive__count { font: 600 12px var(--sans); }

/* Štítky – červené obdélníčky s verzálkami (#TAG) */
.badge { font: 700 13px/1 var(--cond); letter-spacing: 0.04em; padding: 5px 7px 4px; border-radius: 2px; background: var(--accent-fill) !important; color: var(--accent-ink) !important; }
.badge::before { display: none; }

/* Vydání – tmavá hero dlaždice */
.edition > header { background: var(--hero); color: var(--hero-ink); border-radius: var(--radius); padding: 30px 32px 26px; margin-bottom: 8px;
  background-image: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--accent) 38%, transparent) 0%, transparent 55%); }
.edition > header .edition__meta { color: rgb(255 255 255 / 70%); }
.edition__meta { font: 600 13px var(--sans); }
.edition__title { font: 800 clamp(40px, 6vw, 64px)/0.98 var(--cond); text-transform: uppercase; letter-spacing: 0; margin: 10px 0 14px; }
.edition > header .edition__title { color: var(--hero-ink); }
.edition > header .edition__title::before { content: "#"; color: var(--accent); margin-right: 2px; }
.edition__lead { font: 600 21px/1.35 var(--serif); }
.edition > header .edition__lead { color: rgb(255 255 255 / 88%); margin-bottom: 22px; }
.lang-note { font: 500 13px/1.45 var(--sans); background: var(--accent-soft); color: var(--ink); border: 0; border-radius: 4px; }

/* Filtry jako záložky „ALL STORIES“ s červeným podtržením */
.chips { gap: 4px 16px; }
.chip { font: 700 16px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.02em; background: none; border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: 6px 0; color: rgb(255 255 255 / 55%); }
.chip { white-space: nowrap; text-align: left; }
.chip:hover { color: #fff; }
.chip[aria-pressed="true"] { background: none; color: #fff; border-bottom-color: var(--accent); }
.chip__n { font-family: var(--cond); opacity: 1; }
/* chips mimo hero (repozitáře) */
.main > .chips .chip { color: var(--ink-3); }
.main > .chips .chip:hover, .main > .chips .chip[aria-pressed="true"] { color: var(--ink); }

/* Rubriky – #NÁZEV a karty v mřížce */
.content h2, .repo-group h2, .src-group h2 { font: 800 24px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.01em; color: var(--ink); border-top: 0; padding-top: 0; margin: 40px 0 14px; }
.content h2::before, .repo-group h2::before, .src-group h2::before { content: "#"; color: var(--accent); }
.content .section > ul, .content .section > ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.content .section > ul > li, .content .section > ol > li { background: var(--surface); border: 0; border-radius: var(--radius); box-shadow: var(--shadow); padding: 18px 20px 16px; display: flex; flex-direction: column; font-size: 15px; line-height: 1.5;
  border-top: 4px solid var(--accent); transition: transform 0.2s ease, box-shadow 0.2s ease; }
.content .section > ul > li:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgb(0 0 0 / 8%), 0 10px 24px rgb(0 0 0 / 8%); }
.content .section > ul > li:only-child { grid-column: 1 / -1; }
.content li strong:first-child { font: 700 20px/1.22 var(--serif); margin-bottom: 8px; }
.content li strong:first-child a.detail { color: var(--ink); }
.content li strong:first-child a.detail:hover { color: var(--accent); text-decoration: none; }
.content a { color: var(--accent); text-decoration-color: currentColor; }
.content a.src { margin: 10px 0 0; align-self: flex-start; background: none; padding: 0; font: 600 13px/1 var(--sans); color: var(--ink-3); border-radius: 0; }
.content a.src::before { content: "↗ "; }
.content a.src::after { content: ""; }
.content a.src:hover { background: none; color: var(--accent); }
.content li.is-returned { animation-name: t-returned-feed; }
@keyframes t-returned-feed { 0%, 30% { box-shadow: 0 0 0 3px var(--accent); } 100% { box-shadow: var(--shadow); } }

.pager { border-top: 0; }
.pager a, .article-nav__pair a { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 16px; font: 700 17px/1.25 var(--serif); }
.pager a span, .article-nav a span { font: 700 14px var(--cond); text-transform: uppercase; letter-spacing: 0.04em; color: var(--accent); }

/* Detail článku – „reader view“ */
.article { background: var(--surface); border-radius: var(--radius); box-shadow: var(--shadow); padding: 28px 36px 32px; }
.back, .article-bar__back { font: 700 15px var(--cond); text-transform: uppercase; letter-spacing: 0.03em; color: var(--ink); }
.back:hover, .article-bar__back:hover { color: var(--accent); background: none; }
.article-bar { background: #111; border-bottom: 0; }
.article-bar__back { color: #fff; }
.article-bar__title { color: rgb(255 255 255 / 70%); font: 600 14px var(--sans); }
.article__title { font: 700 clamp(32px, 4.6vw, 46px)/1.1 var(--serif); letter-spacing: -0.01em; }
.article .edition__lead { font: 400 20px/1.5 var(--serif); color: var(--ink-2); }
.article__body { font: 18px/1.65 var(--serif); color: var(--ink); }
.article__body h2 { font: 800 26px/1 var(--cond); text-transform: uppercase; margin: 36px 0 10px; }
.article__body h3 { font: 700 18px var(--sans); }
.article__body a { color: var(--accent); text-decoration-color: currentColor; }
.article__body blockquote { border-left-color: var(--accent); font-style: italic; }
.article__body figure { background: var(--bg); border: 0; }
.article__body code { font-family: ui-monospace, Menlo, monospace; }
.article__body th { font: 700 13px var(--cond); }
.article-nav { border-top: 1px solid var(--line); }
.article-nav__back { background: var(--accent-fill); color: #fff !important; border: 0; border-radius: var(--radius); font: 700 18px/1.2 var(--serif); }
.article-nav__back span, .article-nav__back small { color: #fff !important; }
.article-nav__back:hover { filter: brightness(1.05); }

/* Repozitáře, zdroje */
.page__title { font: 800 clamp(40px, 6vw, 60px)/0.98 var(--cond); text-transform: uppercase; }
.page__lead { font: 400 19px/1.45 var(--serif); }
.repo, .src-row { background: var(--surface); border: 0; border-radius: var(--radius); box-shadow: var(--shadow); padding: 14px 16px; margin-bottom: 10px; }
.repo__name, .src-row a { font: 700 17px/1.3 var(--serif); }
.repo__name:hover, .src-row a:hover { color: var(--accent); text-decoration: none; }
.repo__stars, .src-row__area { font: 600 12px var(--sans); }
.prose h2 { font: 800 26px/1 var(--cond); text-transform: uppercase; }

/* Patička – černá lišta */
.foot { background: #111; border-top: 0; }
.foot p { color: rgb(255 255 255 / 65%); }
.foot a { color: #fff; }

.sk { background: color-mix(in srgb, var(--ink) 8%, transparent); }
.sk--title { height: 160px; }

@media (max-width: 860px) {
  .nav a { font-size: 15px; padding: 8px 7px 7px; }
  .archive__box { border: 0; padding: 12px 14px; }
  .edition > header { padding: 22px 18px 18px; margin: 0 -4px 8px; }
  .content .section > ul, .content .section > ol { grid-template-columns: 1fr; }
  .edition > header .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -18px; padding-right: 18px; }
  .edition > header .chips::-webkit-scrollbar { display: none; }
  .article { padding: 20px 18px 24px; margin: 0 -4px; }
  .article__body { font-size: 17px; }
}

/* Témata */
.topic-head .chip, .main > .chips .chip { color: var(--ink-3); }
.topic-head .chip:hover, .topic-head .chip[aria-pressed="true"] { color: var(--ink); }
.topic-feed h2::before { content: none; }
.topic-feed h2 { font-size: 20px; color: var(--ink-3); }
.topic-tag { border-radius: 4px; font: 700 15px/1 var(--cond); text-transform: uppercase; letter-spacing: 0.02em; }
.topic-tags--small .topic-tag { font-size: 13px; }
.topic-row { border: 0; box-shadow: var(--shadow); border-left: 4px solid var(--accent); }
.topic-row__name { font: 800 24px/1 var(--cond); text-transform: uppercase; }
.topic-more__title { font: 800 18px/1 var(--cond); }
