/* styles.css — same as pro, with CSS ticker fallback (no <marquee>) */
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;line-height:1.6;background:#f7fafc;color:#1f2937}
a{color:#0d6efd;text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.masthead{background:#ffffff;border-bottom:1px solid #e5e7eb}
.mast{padding:10px 0}
.mast-top{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.brand a{font-weight:900;font-size:1.8rem;color:#0f172a;letter-spacing:0.5px}
.tagline{color:#475569}
.social a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #cbd5e1;border-radius:50%;color:#334155;font-weight:700;margin-left:6px}
.nav{display:flex;align-items:center;gap:14px;padding:8px 0;border-top:1px solid #e5e7eb;flex-wrap:wrap}
.nav a{color:#0f172a}
.nav a.admin{margin-left:8px;background:#0ea5a6;color:#fff;padding:4px 10px;border-radius:999px}
.nav .search{margin-left:auto;display:flex;gap:8px}
.nav .search input{padding:6px 8px;border:1px solid #cbd5e1;border-radius:8px}
.nav .search button{padding:6px 12px;border:0;background:#0ea5a6;color:#fff;border-radius:8px;cursor:pointer}

.ticker{display:flex;align-items:center;gap:10px;background:#0ea5a6;color:#083344;border-radius:10px;padding:6px 10px;margin:14px 0;overflow:hidden}
.ticker .label{background:#fff;color:#0ea5a6;border-radius:6px;padding:2px 8px;font-weight:700}
.ticker .marq{white-space:nowrap;animation:tkr 30s linear infinite}
@keyframes tkr{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.lead-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin:16px 0}
.lead img{width:100%;height:320px;object-fit:cover;border-radius:14px}
.lead h1{margin:10px 0 6px 0;font-size:1.6rem;line-height:1.3}
.lead .snippet{color:#475569}
.side-list{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:10px}
.side-list h3{margin:6px 0 10px 0}
.side-list ul{list-style:none;margin:0;padding:0}
.side-list li{padding:6px 0;border-bottom:1px dashed #e5e7eb}
.side-list li:last-child{border-bottom:0}

.sections{display:grid;grid-template-columns:1fr;gap:18px;margin:18px 0}
.section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.section .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.card{background:#ffffff;border:1px solid #e2e8f0;border-radius:12px;padding:10px}
.card h3{margin:0 0 6px 0;font-size:1rem}
.card .meta{color:#64748b;font-size:.86rem}

.cards.cols-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}

.article .crumbs{color:#64748b}
.article h1{margin:.2rem 0}
.article .meta{color:#64748b;margin-top:-8px}
.article .cover{width:100%;border-radius:12px;margin:12px 0}
.article .content{white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px}

.footer{margin:26px 0;color:#64748b}
.foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.muted{color:#94a3b8}

@media (max-width:900px){
  .lead-grid{grid-template-columns:1fr}
  .lead img{height:220px}
}


/* --- Breaking Ticker --- */
.ticker{
  display:flex; align-items:center; gap:10px;
  border-bottom:1px solid #e5e7eb; padding:8px 0; margin-bottom:12px;
  white-space:nowrap; overflow:hidden;
}
.ticker .label{
  font-weight:700; padding:4px 8px; border-radius:6px;
  background:#fee2e2;   /* light red background */
  color:#b91c1c;         /* dark red text */
  flex:0 0 auto;
}

/* Optional marquee effect */
.ticker .marq{ display:flex; gap:12px; animation:scroll-left 35s linear infinite; }
.ticker .marq:hover{ animation-play-state:paused; }
.ticker .marq a{ text-decoration:none; color:#0f172a; }
.ticker .marq a:hover{ text-decoration:underline; }
.ticker .marq > span{ opacity:.35; margin:0 4px; }

@keyframes scroll-left{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

