:root{
  --bg:#f7f8fc;--card:#fff;--text:#0b1220;--muted:#5f6b7c;--primary:#2563eb;--border:#e6eaf2;--primary-weak:#e6efff
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,Arial,'Noto Sans',sans-serif;
  background:linear-gradient(180deg,#f5f7ff 0%,#f7f8fc 100%);color:var(--text)
}
.container{max-width:1024px;margin:0 auto;padding:24px}
.header{background:linear-gradient(135deg,#edf2ff 0%,#f8fbff 100%);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:40px;height:40px;border-radius:10px;background:#2563eb;color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(37,99,235,.25)}
h1{font-size:28px;margin:0}
.subtitle{color:var(--muted);margin-top:6px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 20px;margin:16px 0;box-shadow:0 6px 20px rgba(15,23,42,.04)}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);text-decoration:none;display:inline-flex;gap:8px;align-items:center;font-weight:600}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn:hover{filter:brightness(0.98)}
input[type="date"]{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff}
.section{margin-top:18px}
.section h2{font-size:20px;margin:10px 0 8px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--border);color:var(--muted);background:#fff}
.badge.events{color:#1d4ed8;background:#eff6ff;border-color:#dbeafe}
.badge.births{color:#047857;background:#ecfdf5;border-color:#bbf7d0}
.badge.deaths{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.badge.holidays{color:#92400e;background:#fffbeb;border-color:#fde68a}
.timeline{position:relative;margin:8px 0 0 0;padding-left:16px}
.item{display:flex;gap:12px;padding:12px;border-bottom:1px dashed var(--border)}
.item:last-child{border-bottom:0}
.year{min-width:64px;text-align:center;font-weight:800;color:#111827;background:var(--primary-weak);border-radius:8px;padding:6px 10px;border:1px solid #dbeafe}
.thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--border)}
.item a.itemlink{color:inherit;text-decoration:none}
.item a.itemlink:hover{text-decoration:underline}
.footer{margin:24px 0;color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(1,1fr);gap:12px}
@media (min-width:760px){.grid{grid-template-columns:repeat(2,1fr)}}
.small{font-size:12px;color:var(--muted)}
.alert{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:#fff9ed;color:#7c2d12}
.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sources{font-size:13px}
.error404{max-width:720px;margin:40px auto;text-align:center}