:root{--ink:#0d1424;--muted:#657084;--line:#e7ebf2;--brand:#00b894;--accent:#316bff;--gold:#f4b860;--bg:#f7f9fc}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}
a{color:inherit;text-decoration:none}.text-muted{color:var(--muted)!important}
.topbar{background:#08111f;color:#dfe8f7}.navbar{background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand-mark{width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--accent));display:inline-grid;place-items:center;color:white;font-weight:900}
.hero{background:radial-gradient(circle at 20% 10%,rgba(0,184,148,.22),transparent 32%),radial-gradient(circle at 80% 0,rgba(49,107,255,.18),transparent 30%),#08111f;color:white}
.hero h1{font-size:clamp(2.2rem,4vw,4.8rem);line-height:1.02;letter-spacing:0}.ticker{white-space:nowrap;overflow:hidden}.ticker span{display:inline-block;animation:ticker 28s linear infinite}@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-55%)}}
.section-title{font-size:1.35rem;font-weight:800}.card{border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px rgba(9,22,44,.05)}.article-card img{aspect-ratio:16/10;object-fit:cover}.badge-soft{background:#eaf8f4;color:#05745f}.btn-brand{background:var(--ink);color:white;border:0}.btn-brand:hover{background:#17233a;color:white}
.news-body{font-size:1.08rem;line-height:1.78}.news-body h2,.news-body h3{margin-top:2rem;font-weight:850}.ad-slot{margin:1.25rem 0;text-align:center}.ad-slot img{max-width:100%;height:auto;border-radius:8px}.ad-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem}
.sidebar-sticky{position:sticky;top:88px}.footer{background:#08111f;color:#cbd6e8}.footer a{color:#eaf0fb}.admin-shell{min-height:100vh}.admin-sidebar{background:#08111f;color:white}.admin-sidebar a{display:block;color:#d9e5f6;padding:.72rem 1rem;border-radius:8px}.admin-sidebar a:hover{background:rgba(255,255,255,.08)}
.form-control,.form-select{border-radius:8px}.table>:not(caption)>*>*{vertical-align:middle}
@media(max-width:768px){.hero{padding-top:2rem}.sidebar-sticky{position:static}.display-tight{font-size:2.1rem}.admin-sidebar{position:static!important;min-height:auto!important}}
