*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0a0a0a;--card:#111111;--gold:#c5a47e;--teal:#2a9d8f;--red:#e63946;--text:#f0ece2;--muted:#888;--border:rgba(197,164,126,0.15);--glow:rgba(197,164,126,0.06)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none}a:hover{opacity:.85}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:48px 0}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(10,10,10,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);height:56px;display:flex;align-items:center;padding:0 24px}
.nav-inner{max-width:1200px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{color:var(--gold);font-size:15px;font-weight:300;letter-spacing:.2em;white-space:nowrap}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{color:var(--muted);font-size:13px}
.nav-links a:hover{color:var(--text)}
.search-bar{flex:1;max-width:360px;position:relative}
.search-bar input{width:100%;background:transparent;border:1px solid var(--border);color:var(--text);padding:6px 12px 6px 32px;font-size:13px;font-family:inherit;outline:none}
.search-bar input:focus{border-color:var(--gold)}
.search-bar::before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px}
.btn-sm{padding:5px 14px;border:1px solid var(--gold);color:var(--gold);font-size:12px}
.btn-sm:hover{background:var(--gold);color:var(--bg)}
.hamburger{display:none;cursor:pointer;flex-direction:column;gap:4px}
.hamburger span{width:20px;height:1.5px;background:var(--text)}

/* STATS BAR */
.stats-bar{padding:10px 0;border-bottom:1px solid var(--border);margin-top:56px}
.stats-bar .container{display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.live-dot{width:6px;height:6px;background:var(--teal);border-radius:50%;display:inline-block;animation:pulse 2s infinite;margin-right:4px}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.stats-bar span{white-space:nowrap}

/* SECTION TITLES */
.s-title{color:var(--gold);font-size:18px;font-weight:500;letter-spacing:.03em;margin-bottom:4px}
.s-sub{color:var(--muted);font-size:13px;margin-bottom:20px}

/* CHARTS */
.chart-wrap{background:var(--card);border:1px solid var(--border);padding:20px;margin-bottom:24px}
.chart-box{width:100%;height:320px}
.live-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--teal);float:right}

/* ARTICLE CARDS */
.thumb-sm{width:80px;height:56px;object-fit:cover;border-radius:4px;flex-shrink:0}
.thumb-lg{width:120px;height:80px;object-fit:cover;border-radius:6px;flex-shrink:0}
.article-compact.has-thumb{display:flex;gap:10px;align-items:flex-start}
.article-compact-body{min-width:0}
.article-compact{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}
.article-compact:last-child{border:none}
.article-compact a{color:var(--text);font-size:14px;font-weight:500;line-height:1.4;display:block;margin-bottom:4px}
.article-compact a:hover{color:var(--gold)}
.article-meta{font-size:11px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.tone-pos{color:var(--teal)}.tone-neg{color:var(--red)}

.article-full{background:var(--card);border:1px solid var(--border);padding:16px;margin-bottom:12px;transition:border-color .2s}
.article-full.has-thumb{display:flex;gap:14px;align-items:flex-start}
.article-full-body{min-width:0}
.article-full:hover{border-color:rgba(197,164,126,.3)}
.article-full a{color:var(--text);font-size:16px;font-weight:500;line-height:1.4;display:block;margin-bottom:6px}
.article-full a:hover{color:var(--gold)}
.article-full .article-meta{margin-bottom:6px}
.sentiment-pill{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:2px}
.sent-bullish{background:rgba(42,157,143,.15);color:var(--teal)}
.sent-bearish{background:rgba(230,57,70,.15);color:var(--red)}
.sent-neutral{background:rgba(255,255,255,.05);color:var(--muted)}
.entity-tags{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}
.entity-tag{font-size:11px;color:var(--muted);background:rgba(255,255,255,.03);padding:1px 6px}

/* COLUMNS */
.cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.col-header{color:var(--gold);font-size:14px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.tier-badge{font-size:10px;padding:1px 6px;border:1px solid var(--border);color:var(--muted)}

/* REGION CARDS */
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.region-card{background:var(--card);border:1px solid var(--border);padding:24px;cursor:pointer;transition:border-color .2s}
.region-card:hover{border-color:rgba(197,164,126,.35)}
.region-card h3{color:var(--gold);font-size:16px;margin-bottom:8px}
.region-card .countries{display:flex;flex-wrap:wrap;gap:6px}
.region-card .countries a{font-size:12px;color:var(--muted);padding:2px 8px;border:1px solid var(--border)}
.region-card .countries a:hover{color:var(--gold);border-color:var(--gold)}

/* SECTOR GRID */
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sector-card{background:var(--card);border:1px solid var(--border);padding:20px;cursor:pointer;transition:border-color .2s}
.sector-card:hover{border-color:rgba(197,164,126,.35)}
.sector-card h3{color:var(--gold);font-size:15px;margin-bottom:4px}
.sector-card p{color:var(--muted);font-size:13px}
.sector-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}

/* FEED LAYOUT */
.feed-layout{display:grid;grid-template-columns:1fr 300px;gap:24px}
.feed-main{min-width:0}
.feed-sidebar{position:sticky;top:80px;align-self:start}
.sidebar-card{background:var(--card);border:1px solid var(--border);padding:16px;margin-bottom:16px}
.sidebar-card h4{color:var(--gold);font-size:14px;margin-bottom:8px}

/* SENTIMENT GAUGE */
.mood-display{text-align:center;padding:32px;background:var(--card);border:1px solid var(--border);margin-bottom:24px}
.mood-label{font-size:48px;font-weight:200}
.mood-score{font-size:24px;color:var(--gold);margin-top:8px}

/* PILLS */
.pill-bar{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}
.pill{padding:8px 16px;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;font-family:inherit;border:1px solid rgba(197,164,126,0.3);background:transparent;color:var(--muted);transition:all .15s}
.pill:hover{border-color:var(--gold);color:var(--text)}
.pill.active{background:var(--gold);color:var(--bg);border-color:var(--gold)}
.drill-list{animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* TABS */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto}
.tab-btn{background:none;border:none;color:var(--muted);font-size:14px;font-family:inherit;padding:10px 20px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s}
.tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}
.tab-btn:hover{color:var(--text)}
.tab-pane{display:none}.tab-pane.active{display:block}

/* ECON GRID */
.econ-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.econ-item{background:var(--card);border:1px solid var(--border);padding:16px}
.econ-item .econ-label{color:var(--muted);font-size:12px;margin-bottom:4px}
.econ-item .econ-val{font-size:24px;font-weight:300;color:var(--text)}
.econ-item .econ-spark{height:50px;margin-top:8px}
@media(max-width:768px){.econ-grid{grid-template-columns:1fr}}

/* LOAD MORE */
.load-more{display:block;width:100%;padding:12px;background:transparent;border:1px solid var(--border);color:var(--muted);font-size:14px;cursor:pointer;text-align:center;margin-top:16px}
.load-more:hover{border-color:var(--gold);color:var(--gold)}

/* AD SLOTS */
.ad-slot{margin:20px auto;max-width:728px;min-height:2px}

/* CTA BANNER */
.api-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(17,17,17,.95);border-top:1px solid var(--border);padding:10px 24px;text-align:center;font-size:13px;z-index:999;display:flex;justify-content:center;align-items:center;gap:12px}
.api-cta a{color:var(--gold)}
.api-cta .dismiss{color:var(--muted);cursor:pointer;font-size:18px;margin-left:12px}

/* FOOTER */
.footer{padding:40px 0;border-top:1px solid var(--border);text-align:center}
.footer .logo{font-size:16px;margin-bottom:12px;display:block}
.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:16px}
.footer-links a{color:var(--muted);font-size:12px}
.footer .copy{color:var(--muted);font-size:11px}

/* RESPONSIVE */
@media(max-width:1024px){.cols-3{grid-template-columns:repeat(2,1fr)}.feed-layout{grid-template-columns:1fr}.feed-sidebar{display:none}.region-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.cols-3,.sector-grid{grid-template-columns:1fr}.region-grid{grid-template-columns:1fr}.nav-links{display:none}.hamburger{display:flex}.search-bar{max-width:200px}}
@media(max-width:480px){.search-bar{display:none}}

/* World sentiment map responsive */
@media(max-width:768px){#chart-world{height:300px!important}}
