/* Мобильный первичен (ТЗ §11): одна колонка, 17px/1.7, зоны нажатия ≥44px. */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #1a1a1a;
  background: #fff;
  padding-bottom: 64px; /* место под нижнюю навигацию */
}
a { color: #1a56db; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; border-radius: 8px; }

.site-header {
  position: sticky; top: 0; z-index: 10;
  background: #fff; border-bottom: 1px solid #e5e7eb;
  padding: 10px 16px;
}
.header-row { display: flex; justify-content: space-between; align-items: center; }
.logo { font-size: 22px; font-weight: 800; color: #111; }
.logo span { color: #1a56db; }
.langs { display: flex; gap: 4px; }
.langs a {
  color: #6b7280; font-size: 13px; text-transform: uppercase;
  padding: 4px 8px; border-radius: 6px; min-height: 24px;
}
.langs a.on { background: #eef2ff; color: #1a56db; font-weight: 600; }
.cats {
  display: flex; gap: 14px; overflow-x: auto;
  margin-top: 8px; padding-bottom: 4px;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
}
.cats::-webkit-scrollbar { display: none; }
.cats a { white-space: nowrap; color: #4b5563; padding: 4px 0; min-height: 24px; }

main { max-width: 800px; margin: 0 auto; padding: 16px; }

.feed { display: flex; flex-direction: column; gap: 24px; }
.card h2 { margin: 6px 0; font-size: 20px; line-height: 1.35; }
.card h2 a { color: #111; }
.card p { margin: 4px 0; color: #374151; }
.card time { color: #9ca3af; font-size: 13px; }
.card-featured h2 { font-size: 26px; }
.cat-label { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }

.page-title { font-size: 24px; margin: 8px 0 16px; }
.empty { color: #6b7280; text-align: center; padding: 48px 0; }

.article h1 { font-size: 26px; line-height: 1.3; margin: 8px 0; }
.article time { color: #9ca3af; font-size: 13px; }
.article .lead { font-size: 19px; font-weight: 500; color: #111; }
.article .body p { margin: 14px 0; }
.article .body h2 { font-size: 22px; line-height: 1.35; margin: 26px 0 10px; }
.article .body h3 { font-size: 19px; margin: 20px 0 8px; }
.article .body h4 { font-size: 17px; margin: 16px 0 6px; }
.article .body ul, .article .body ol { padding-left: 24px; margin: 12px 0; }
.article .body li { margin: 6px 0; }
.article .body blockquote {
  border-left: 4px solid #1a56db; background: #f8faff;
  margin: 16px 0; padding: 10px 16px; border-radius: 0 8px 8px 0; color: #374151;
}
.analysis {
  background: #f3f6fd; border-left: 4px solid #1a56db;
  padding: 12px 16px; border-radius: 0 8px 8px 0; margin: 20px 0;
}
.analysis h2 { font-size: 17px; margin: 0 0 6px; }
.analysis p { margin: 0; }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 6px; }
.tag {
  font-size: 13px; color: #1a56db; background: #eef2ff;
  padding: 4px 12px; border-radius: 999px; min-height: 24px;
}
.disclosure { font-size: 13px; color: #6b7280; border-top: 1px solid #e5e7eb; padding-top: 12px; margin-top: 24px; }
.sources h2 { font-size: 17px; }
.sources ul { padding-left: 18px; }
.sources li { margin: 6px 0; font-size: 15px; }

.site-footer { text-align: center; color: #9ca3af; font-size: 14px; padding: 24px 16px; }

.bottom-nav {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 10;
  display: flex; background: #fff; border-top: 1px solid #e5e7eb;
}
.bottom-nav a {
  flex: 1; text-align: center; padding: 12px 4px; min-height: 44px;
  font-size: 13px; color: #4b5563;
}

.search-form { display: flex; gap: 8px; margin-bottom: 20px; }
.search-form input {
  flex: 1; padding: 12px; font-size: 17px;
  border: 1px solid #d1d5db; border-radius: 10px;
}
.search-btn { border: 1px solid #d1d5db; background: #fff; border-radius: 10px; padding: 0 16px; cursor: pointer; }

.ios-hint {
  position: fixed; bottom: 64px; left: 8px; right: 8px; z-index: 20;
  background: #111827; color: #fff; font-size: 14px;
  padding: 10px 12px; border-radius: 10px;
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
}
.ios-hint button { background: none; border: 0; color: #9ca3af; font-size: 16px; min-height: 44px; }
#push-btn { background: none; border: 1px solid #d1d5db; border-radius: 8px; padding: 6px 10px; cursor: pointer; }

@media (min-width: 768px) {
  .bottom-nav { display: none; }
  body { padding-bottom: 0; }
  .card-featured h2 { font-size: 30px; }
  .article h1 { font-size: 32px; }
}
