:root {
  --bg: #060b14;
  --bg2: #0b1220;
  --text: #f5f8ff;
  --muted: #9aa8bc;
  --line: rgba(255,255,255,.12);
  --glass: rgba(255,255,255,.075);
  --glass-strong: rgba(255,255,255,.105);
  --accent: #88d4ff;
  --accent2: #ad9bff;
  --good: #66efb4;
  --shadow: 0 24px 70px rgba(0,0,0,.38);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; min-height: 100vh; color: var(--text); background:
  radial-gradient(circle at 10% 0%, rgba(93,164,255,.11), transparent 31%),
  radial-gradient(circle at 93% 12%, rgba(179,109,255,.10), transparent 28%),
  linear-gradient(135deg, var(--bg), var(--bg2) 55%, #050a12);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
button, input { font: inherit; }
button { color: inherit; }
.grain { position: fixed; inset:0; pointer-events:none; opacity:.035; z-index:-1; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.bg-orb { position:fixed; border-radius:50%; filter:blur(50px); opacity:.28; z-index:-2; }
.orb-a { width:340px; height:340px; left:-130px; top:150px; background:#238cff; }
.orb-b { width:380px; height:380px; right:-160px; top:500px; background:#a35dff; }
.orb-c { width:270px; height:270px; left:48%; bottom:-150px; background:#1ad5c6; }
.glass { background:linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)); border:1px solid var(--line); box-shadow:var(--shadow); backdrop-filter:blur(24px) saturate(135%); -webkit-backdrop-filter:blur(24px) saturate(135%); }
.topbar { position:sticky; top:12px; z-index:20; margin:12px auto 0; width:min(1180px, calc(100% - 24px)); display:flex; justify-content:space-between; align-items:center; padding:12px 15px; border-radius:22px; }
.brand { color:inherit; text-decoration:none; display:flex; align-items:center; gap:10px; font-size:18px; letter-spacing:-.03em; }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.17); border-radius:12px; background:linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.04)); box-shadow: inset 0 0 30px rgba(130,211,255,.12); }
.top-actions { display:flex; gap:8px; align-items:center; }
.icon-btn,.install-btn { border:1px solid var(--line); background:rgba(255,255,255,.055); border-radius:12px; min-width:38px; height:38px; cursor:pointer; transition:.2s; }
.install-btn { padding:0 14px; font-weight:700; }
.icon-btn:hover,.install-btn:hover { background:rgba(255,255,255,.11); transform:translateY(-1px); }
.container { width:min(1180px, calc(100% - 24px)); margin:24px auto 0; }
.hero { display:grid; grid-template-columns:1.45fr .75fr; gap:28px; padding:38px; border-radius:30px; overflow:hidden; position:relative; }
.hero:after { content:""; position:absolute; width:300px;height:300px; right:-120px; top:-160px; border-radius:50%; background:radial-gradient(circle, rgba(142,214,255,.26), transparent 68%); }
.eyebrow { font-size:11px; letter-spacing:.18em; color:#90a8c3; font-weight:800; }
.live-dot,.dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--good); box-shadow:0 0 14px rgba(102,239,180,.75); margin-right:7px; }
h1 { margin:10px 0 14px; font-size:clamp(42px, 6.8vw, 74px); line-height:.93; letter-spacing:-.06em; }
h1 span { color:transparent; background:linear-gradient(90deg,#fff,#96d7ff 48%,#c6b6ff); background-clip:text; -webkit-background-clip:text; }
.hero p { max-width:680px; color:var(--muted); font-size:16px; line-height:1.65; margin:0; }
.hero-stats { display:grid; grid-template-columns:repeat(3,1fr); align-self:end; gap:10px; }
.hero-stats > div { padding:16px; border-radius:19px; background:rgba(255,255,255,.045); border:1px solid var(--line); }
.hero-stats strong { display:block; font-size:24px; letter-spacing:-.04em; }
.hero-stats span { color:var(--muted); font-size:11px; }
.controls { margin-top:16px; padding:14px; border-radius:24px; display:grid; gap:14px; }
.search-wrap { height:48px; display:flex; gap:10px; align-items:center; border:1px solid var(--line); padding:0 15px; border-radius:15px; background:rgba(0,0,0,.12); }
.search-wrap span { color:#9bb0ca; font-size:21px; }
.search-wrap input { flex:1; border:0; outline:0; color:var(--text); background:transparent; }
.search-wrap input::placeholder { color:#718097; }
.chips { display:flex; gap:8px; overflow:auto; padding-bottom:1px; scrollbar-width:none; }
.chips::-webkit-scrollbar { display:none; }
.chip { white-space:nowrap; border:1px solid var(--line); background:rgba(255,255,255,.045); color:#b4c0d1; border-radius:999px; padding:9px 14px; cursor:pointer; }
.chip.active { color:#07101c; background:linear-gradient(90deg,#b9e7ff,#c5b7ff); border-color:transparent; font-weight:800; }
.sort-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.muted { color:var(--muted); font-size:12px; }
.sort { border:0; color:#9eacbf; background:transparent; padding:7px 11px; border-radius:10px; cursor:pointer; }
.sort.active { color:#fff; background:rgba(255,255,255,.08); }
.section-head { margin:28px 0 13px; display:flex; justify-content:space-between; align-items:end; gap:16px; }
.section-head h2 { margin:4px 0 0; font-size:25px; letter-spacing:-.035em; }
.section-head.compact { margin-top:34px; }
.confidence { font-size:11px; color:#9cacbf; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.035); }
.featured-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:12px; }
.card { border:1px solid var(--line); background:linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.035)); box-shadow:0 18px 45px rgba(0,0,0,.20); border-radius:24px; overflow:hidden; position:relative; transition:.22s; }
.card:hover { transform:translateY(-4px); border-color:rgba(255,255,255,.21); }
.featured-card { min-height:286px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; }
.featured-card:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 10%, var(--tone,rgba(104,215,255,.24)), transparent 44%); pointer-events:none; }
.featured-card .content { position:relative; z-index:1; }
.tag { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; border:1px solid rgba(255,255,255,.13); background:rgba(0,0,0,.15); font-size:10px; text-transform:uppercase; letter-spacing:.09em; color:#c4d0df; }
.card h3 { margin:11px 0 10px; font-size:22px; line-height:1.04; letter-spacing:-.04em; }
.meta { color:#8495ab; font-size:11px; display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.news-card { padding:18px; min-height:202px; display:flex; flex-direction:column; }
.news-card h3 { font-size:17px; line-height:1.12; margin:10px 0; letter-spacing:-.025em; }
.news-card p { margin:0 0 12px; font-size:12px; line-height:1.5; color:#92a1b4; }
.news-card .bottom { margin-top:auto; }
.source-logo { width:28px;height:28px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.05);font-size:12px;font-weight:800; }
.source-row { display:flex; align-items:center; gap:9px; }
.source-name { font-size:11px; font-weight:800; }
.empty { padding:48px 18px; text-align:center; border-radius:24px; margin-top:16px; }
.empty-icon { font-size:35px; }
.empty h3 { margin:5px 0; }
.empty p { color:var(--muted); font-size:13px; }
.footer { width:min(1180px, calc(100% - 24px)); margin:45px auto 25px; color:#627086; font-size:10px; display:flex; justify-content:space-between; }
.hidden { display:none !important; }
@media (max-width:900px){ .hero { grid-template-columns:1fr; } .featured-grid { grid-template-columns:1fr 1fr; } .featured-card:first-child { grid-column:1/-1; } .news-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .hero{padding:25px 21px;border-radius:24px;} .hero-stats{grid-template-columns:repeat(3,1fr);} .hero-stats > div{padding:11px 9px;} .featured-grid,.news-grid{grid-template-columns:1fr;} .featured-card:first-child{grid-column:auto;} .section-head{align-items:start; flex-direction:column;} .confidence{align-self:flex-start;} .footer{gap:10px;flex-direction:column;} h1{font-size:47px;} }
body.light { --bg:#edf4fb; --bg2:#dfe8f5; --text:#0b1726; --muted:#506176; --line:rgba(15,35,60,.12); --glass:rgba(255,255,255,.58); --glass-strong:rgba(255,255,255,.72); background:radial-gradient(circle at 10% 0%,rgba(91,178,255,.22),transparent 31%),radial-gradient(circle at 93% 12%,rgba(175,130,255,.20),transparent 28%),linear-gradient(135deg,#eef6ff,#e2eaf4 55%,#dbe6f3); }
body.light .card, body.light .controls, body.light .hero, body.light .topbar { background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(255,255,255,.40)); box-shadow:0 18px 50px rgba(44,72,112,.13); }
body.light .chip { color:#4f6075; } body.light .search-wrap { background:rgba(255,255,255,.5); } body.light .search-wrap input { color:#0b1726; }
/* Article images + reader */
.card { cursor:pointer; }
.news-card { padding:0; min-height:100%; }
.news-card .image-wrap { height:154px; overflow:hidden; background:#0b1422; }
.news-card .image-wrap img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.news-card:hover .image-wrap img { transform:scale(1.045); }
.card-content { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.featured-grid .featured-card { padding:0; min-height:330px; }
.featured-card .image-wrap { position:absolute; inset:0; height:100%; }
.featured-card .image-wrap img { width:100%; height:100%; object-fit:cover; opacity:.74; }
.featured-card .image-wrap:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,8,15,.03),rgba(3,8,15,.20) 40%,rgba(3,8,15,.94) 100%); }
.featured-card .card-content { position:relative; z-index:2; justify-content:flex-end; min-height:330px; padding:22px; background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.28)); }
.topline { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.signal { color:#a9dfff; font-size:10px; font-weight:800; letter-spacing:.04em; }
.read-link { margin-left:auto; align-self:flex-end; color:#bce9ff; font-size:11px; font-weight:800; white-space:nowrap; }
.card:focus-visible { outline:2px solid #9cdbff; outline-offset:3px; }
.modal { position:fixed; inset:0; z-index:60; background:rgba(1,6,13,.70); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); opacity:0; pointer-events:none; transition:opacity .22s ease; padding:18px; overflow:auto; }
.modal.open { opacity:1; pointer-events:auto; }
.article-panel { width:min(920px,100%); margin:18px auto 40px; border-radius:28px; overflow:hidden; transform:translateY(14px) scale(.985); transition:transform .22s ease; position:relative; }
.modal.open .article-panel { transform:translateY(0) scale(1); }
.modal-close { position:absolute; right:14px; top:14px; z-index:5; width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.2); background:rgba(3,8,15,.45); color:#fff; font-size:28px; cursor:pointer; backdrop-filter:blur(10px); }
.article-hero { height:390px; position:relative; background:#09111f; }
.article-hero img { width:100%; height:100%; display:block; object-fit:cover; }
.article-hero-gradient { position:absolute; inset:auto 0 0; height:46%; background:linear-gradient(transparent,rgba(3,8,15,.52)); }
.article-inner { padding:30px 34px 38px; }
.article-kicker { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.article-inner h2 { margin:14px 0 10px; font-size:clamp(30px,5vw,52px); line-height:1.0; letter-spacing:-.055em; }
.article-meta { display:flex; gap:10px; flex-wrap:wrap; color:#91a2b9; font-size:12px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.article-body { max-width:760px; margin:24px auto 0; color:#d7e0eb; font-size:17px; line-height:1.82; }
.article-body .lead { font-size:20px; line-height:1.58; color:#f4f7fb; font-weight:650; }
.article-actions { display:flex; gap:10px; flex-wrap:wrap; margin:26px 0 34px; }
.primary-link,.secondary-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:0 16px; border-radius:12px; text-decoration:none; border:1px solid var(--line); cursor:pointer; font-weight:800; font-size:12px; }
.primary-link { color:#06101c; background:linear-gradient(90deg,#b9e7ff,#c5b7ff); border:0; }
.secondary-link { color:#c7d2e1; background:rgba(255,255,255,.05); }
.related-section { border-top:1px solid var(--line); padding-top:24px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:12px; }
.related { border:1px solid var(--line); background:rgba(255,255,255,.045); border-radius:16px; overflow:hidden; text-align:left; cursor:pointer; color:inherit; padding:0; }
.related img { width:100%; height:100px; object-fit:cover; display:block; }
.related span { display:block; padding:11px; }
.related small { display:block; color:#91a2b9; font-size:9px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:4px; }
.related strong { display:block; font-size:12px; line-height:1.25; }
body.modal-open { overflow:hidden; }
@media (max-width:700px){ .article-panel{margin:0 auto 20px;border-radius:22px;} .article-hero{height:270px;} .article-inner{padding:23px 19px 30px;} .article-body{font-size:16px;} .article-body .lead{font-size:18px;} .related-grid{grid-template-columns:1fr;} .related img{height:140px;} .featured-card .card-content{min-height:330px;} }
.article-source-note{margin:14px 0;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.05);font-size:.86rem;color:rgba(255,255,255,.68)}
