/* Base */
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.6}
:root{--brand:#0d6efd;--muted:#6c757d}
.topbar{background:var(--bs-body-bg)}
.topbar a{color:var(--muted);text-decoration:none}
.topbar a:hover{text-decoration:underline}
.navbar-brand{letter-spacing:.2px}
.navbar .nav-link.active{font-weight:600}

/* Hero */
#heroSection .card-hero{position:relative;color:#fff;border:0;overflow:hidden}
#heroSection .tile{position:relative;overflow:hidden;border-radius:.5rem}
#heroSection .tile img{width:100%;height:100%;object-fit:cover}
#heroSection .tile .mask{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.05) 60%)}
#heroSection .tile .title{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;color:#fff;font-weight:600}

/* Ticker */
.ticker .ticker-viewport{height:2rem}
.ticker .ticker-track{gap:2rem;white-space:nowrap}
.ticker .ticker-item{white-space:nowrap}

/* Chip bar */
.dm-bar{border-top:4px solid #ffdd57;border-bottom:1px solid var(--bs-border-color)}
.dm-label{background:#ffdd57;padding:.25rem .5rem;font-weight:700}
.chips .chip{border:1px solid var(--bs-border-color);padding:.25rem .5rem;border-radius:999px;font-size:.9rem}
.chips .chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}
#heroSection .card-hero .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.1) 60%)}
#heroSection .card-hero .content{position:absolute;left:1rem;right:1rem;bottom:1rem}
#heroSection .badge-cat{background:rgba(13,110,253,.9)}

/* Cards / grid */
.card a { text-decoration: none; }
.card a:hover { text-decoration: underline; }
.object-fit-cover { object-fit: cover; }
.ratio-3x2{aspect-ratio:3/2}
.card-title{line-height:1.3}
.text-muted{color:var(--muted)!important}

/* Excerpts & prose */
.markdown-body img{max-width:100%;height:auto}
.prose{max-width:820px}
.excerpt p { margin-bottom: .5rem; }
.excerpt { display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.markdown-body pre { background: rgba(0,0,0,0.05); padding: 0.75rem; border-radius: 0.5rem; }
.markdown-body code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

/* Dark mode tweaks */
[data-bs-theme="dark"] #heroSection .overlay{background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,.2) 60%)}
[data-bs-theme="dark"] .markdown-body pre{background:rgba(255,255,255,.08)}
