:root {
  --bg: #03060a;
  --bg2: #07101a;
  --panel: #09131f;
  --panel2: #0d1a29;
  --line: #16283a;
  --text: #edf4fb;
  --muted: #8da0b3;
  --blue: #0798ff;
  --blue2: #42b8ff;
  --navy: #001b31;
  --danger: #ff5a67;
  --success: #39d98a;
  --warning: #ffbd4a;
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.boot { min-height: 100vh; display:grid; place-items:center; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.shell { min-height: 100vh; background:
  radial-gradient(circle at 70% -10%, rgba(0,130,255,.13), transparent 35%),
  linear-gradient(180deg, #020508, #050a10 42%, #03060a); }
.topline { height: 3px; background: linear-gradient(90deg, transparent, #078eff, #37bdff, transparent); }
.masthead { max-width: 1320px; margin: auto; padding: 18px 28px 12px; display:flex; align-items:center; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; min-width:max-content; }
.brand img { width:54px; height:54px; object-fit:cover; border-radius:8px; }
.brand-copy strong { font-family:var(--serif); font-size:27px; letter-spacing:-.03em; display:block; }
.brand-copy span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.19em; }
.nav { flex:1; display:flex; justify-content:center; gap:24px; font-size:13px; font-weight:700; }
.nav a { color:#bdcbd8; }
.nav a:hover, .nav a.active { color:white; }
.nav-actions { display:flex; gap:8px; }
.icon-btn, .outline-btn, .blue-btn, .danger-btn { border:1px solid var(--line); border-radius:8px; background:#07101a; color:var(--text); padding:9px 12px; }
.blue-btn { background:var(--blue); border-color:var(--blue); color:#00101c; font-weight:800; }
.danger-btn { color:#ff8790; border-color:#52202a; }
.icon-btn:hover,.outline-btn:hover { border-color:#2d506c; }
.breaking { border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#050b11; }
.breaking-inner { max-width:1320px; margin:auto; padding:9px 28px; display:flex; gap:14px; align-items:center; overflow:hidden; font-size:12px; }
.breaking-label { color:#86d2ff; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.breaking-text { color:#a9b9c7; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.demo-banner { max-width:1320px; margin:16px auto 0; padding:10px 28px; color:#b8c8d6; font-size:12px; }
.demo-banner b { color:var(--warning); }
.market-strip { max-width:1320px; margin:0 auto; padding:12px 28px; display:grid; grid-template-columns:repeat(6,1fr); gap:8px; }
.market-chip { background:#06101a; border:1px solid #112235; padding:10px 12px; border-radius:8px; display:flex; justify-content:space-between; gap:8px; }
.market-chip b { font-size:11px; }
.market-chip span { color:#6d879c; font-size:10px; }
.main { max-width:1320px; margin:auto; padding:20px 28px 60px; }
.kicker { color:#49bfff; text-transform:uppercase; font-size:10px; letter-spacing:.15em; font-weight:900; }
.hero { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.75fr); gap:28px; padding:24px 0 34px; border-bottom:1px solid var(--line); }
.hero-story { padding-right:20px; }
.hero h1 { font-family:var(--serif); font-size:clamp(38px,5vw,72px); line-height:.98; letter-spacing:-.055em; margin:12px 0 18px; max-width:950px; }
.hero h1:hover { color:#d7efff; }
.hero-dek { color:#a9bbc9; font-family:var(--serif); font-size:19px; line-height:1.55; max-width:820px; }
.meta { color:#698095; font-size:11px; margin-top:18px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.badge { border:1px solid #16466b; color:#79caff; border-radius:999px; padding:3px 8px; font-size:9px; font-weight:900; letter-spacing:.08em; }
.latest-panel { border-left:1px solid var(--line); padding-left:24px; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:15px; }
.section-title h2 { font-family:var(--serif); font-size:24px; margin:0; }
.section-title small { color:var(--muted); }
.latest-item { padding:14px 0; border-top:1px solid #102033; }
.latest-item:first-of-type { border-top:2px solid var(--blue); }
.latest-item h3 { font-family:var(--serif); margin:5px 0 7px; font-size:18px; line-height:1.15; }
.latest-item p { margin:0; color:#71899f; font-size:11px; }
.sections { padding-top:34px; display:grid; gap:42px; }
.section-block { border-top:1px solid var(--line); padding-top:18px; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.story-card { padding-right:20px; border-right:1px solid var(--line); min-height:170px; }
.story-card:last-child { border-right:0; }
.story-card h3 { font-family:var(--serif); font-size:23px; line-height:1.08; letter-spacing:-.02em; margin:8px 0 10px; }
.story-card p { color:#8499aa; font-size:13px; line-height:1.5; }
.story-card:hover h3 { color:#bce7ff; }
.newsletter { margin:52px 0 10px; padding:28px; border:1px solid #14334e; background:linear-gradient(135deg,#071521,#04101a); display:flex; align-items:center; justify-content:space-between; gap:22px; }
.newsletter h2 { font-family:var(--serif); margin:0 0 6px; font-size:28px; }
.newsletter p { color:#8198aa; margin:0; }
.newsletter form { display:flex; min-width:min(100%,420px); }
.newsletter input { flex:1; min-width:0; background:#02070b; color:white; border:1px solid #1d3b53; border-right:0; padding:12px; }
.newsletter button { border-radius:0; }
.footer { border-top:1px solid var(--line); padding:28px; color:#71869a; }
.footer-inner { max-width:1320px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px; font-size:11px; }

/* Article */
.article-wrap { max-width:900px; margin:auto; padding:54px 28px 80px; }
.article-head { border-bottom:1px solid var(--line); padding-bottom:26px; }
.article-head h1 { font-family:var(--serif); font-size:clamp(42px,6vw,72px); line-height:1; letter-spacing:-.05em; margin:12px 0 18px; }
.article-head .dek { font-family:var(--serif); color:#a8bac8; font-size:21px; line-height:1.5; }
.article-body { max-width:720px; font-family:var(--serif); font-size:19px; line-height:1.75; padding-top:28px; }
.article-body h2 { color:white; font-size:28px; line-height:1.2; margin:38px 0 12px; }
.article-body h3 { font-size:22px; }
.article-body p { color:#d1dae2; }
.article-body strong { color:white; }
.article-body a { color:#62c6ff; text-decoration:underline; }
.sources-box { margin-top:42px; padding:18px; border:1px solid var(--line); background:#060c12; }
.sources-box h3 { margin:0 0 10px; font-size:13px; text-transform:uppercase; letter-spacing:.12em; }
.sources-box a { display:block; color:#7fb9dd; font-size:12px; padding:5px 0; }
.live-update { border-left:2px solid var(--blue); padding:6px 0 18px 20px; margin:18px 0; }
.live-update time { color:#65bff6; font-size:11px; }

/* Utility pages */
.page { max-width:900px; margin:auto; padding:58px 28px 90px; }
.page h1 { font-family:var(--serif); font-size:52px; margin-bottom:22px; }
.page h2 { font-family:var(--serif); margin-top:32px; }
.page p,.page li { color:#a7b6c3; line-height:1.75; }


/* Public light editorial theme */
.shell {
  --bg: #f7f4ee;
  --bg2: #fffdf9;
  --panel: #ffffff;
  --panel2: #f1f6fa;
  --line: #d9e0e6;
  --text: #15212b;
  --muted: #667785;
  --blue: #0b86d9;
  --blue2: #51baf3;
  --navy: #0d2a42;
  color: var(--text);
  background:
    radial-gradient(circle at 82% 0%, rgba(11,134,217,.08), transparent 28%),
    linear-gradient(180deg, #fffdf9 0%, #f8f5ef 48%, #f5f2ec 100%);
}
.shell .topline { background:linear-gradient(90deg,#0d2a42,#0b86d9,#65c7f7,#0b86d9,#0d2a42); }
.shell .masthead {
  background:rgba(255,253,249,.92);
  border-bottom:1px solid rgba(217,224,230,.8);
}
.shell .brand-copy strong { color:#12202b; }
.shell .brand-copy span { color:#6d7d89; }
.shell .nav a { color:#536674; }
.shell .nav a:hover,
.shell .nav a.active { color:#0b75ba; }
.shell .breaking {
  background:#eef7fc;
  border-top:0;
  border-bottom:1px solid #d4e8f4;
}
.shell .breaking-label { color:#0878bd; }
.shell .breaking-text { color:#536a79; }
.shell .demo-banner { color:#657582; }
.shell .market-chip {
  background:#fff;
  border-color:#dde5eb;
  box-shadow:0 3px 14px rgba(22,42,58,.035);
}
.shell .market-chip span { color:#738493; }
.shell .kicker { color:#087fca; }
.shell .hero {
  border-bottom-color:#d7dfe5;
}
.shell .hero h1 { color:#14212b; }
.shell .hero h1:hover { color:#0879be; }
.shell .hero-dek { color:#536675; }
.shell .meta { color:#7b8a96; }
.shell .badge { border-color:#a8d6ef; color:#0876b9; background:#edf8fe; }
.shell .latest-panel { border-left-color:#d7dfe5; }
.shell .latest-item { border-top-color:#dde4e9; }
.shell .latest-item h3,
.shell .story-card h3,
.shell .section-title h2 { color:#17242e; }
.shell .latest-item p { color:#7a8995; }
.shell .section-block { border-top-color:#d8e0e6; }
.shell .story-card { border-right-color:#d9e0e6; }
.shell .story-card p { color:#657684; }
.shell .story-card:hover h3 { color:#0879be; }
.shell .newsletter {
  border:1px solid #cbdde9;
  background:linear-gradient(135deg,#f0f8fd,#ffffff);
  box-shadow:0 10px 30px rgba(31,73,101,.05);
}
.shell .newsletter h2 { color:#13232f; }
.shell .newsletter p { color:#657786; }
.shell .newsletter input {
  background:#fff;
  color:#15212b;
  border-color:#bfd3df;
}
.shell .blue-btn {
  background:#0b86d9;
  border-color:#0b86d9;
  color:white;
}
.shell .footer {
  border-top-color:#d8e0e6;
  color:#72818d;
  background:#f1eee8;
}
.shell .footer-links a:hover { color:#0879be; }

/* Public article pages */
.shell .article-head { border-bottom-color:#d8e0e6; }
.shell .article-head h1 { color:#14212b; }
.shell .article-head .dek { color:#566b79; }
.shell .article-body { color:#25343f; }
.shell .article-body h2,
.shell .article-body h3,
.shell .article-body strong { color:#14212b; }
.shell .article-body p { color:#2f404c; }
.shell .article-body a { color:#087ac1; }
.shell .sources-box {
  border-color:#d8e0e6;
  background:#fff;
}
.shell .sources-box a { color:#287aa8; }
.shell .live-update time { color:#087ac1; }

/* Public utility pages */
.shell .page h1,
.shell .page h2 { color:#14212b; }
.shell .page p,
.shell .page li { color:#4f626f; }

@media (max-width: 940px) {
  .shell .latest-panel { border-top-color:#d7dfe5; }
}
@media (max-width: 620px) {
  .shell .story-card { border-bottom-color:#d9e0e6; }
}

/* Admin */
.admin-shell { min-height:100vh; background:#020508; display:grid; grid-template-columns:240px 1fr; }
.admin-side { border-right:1px solid var(--line); padding:24px 16px; background:#040a0f; position:sticky; top:0; height:100vh; }
.admin-brand { display:flex; align-items:center; gap:8px; padding:0 8px 24px; }
.admin-brand img { width:36px; height:36px; object-fit:cover; }
.admin-brand b { font-family:var(--serif); font-size:18px; }
.admin-menu { display:grid; gap:5px; }
.admin-menu button { text-align:left; border:0; background:transparent; color:#8398a9; padding:10px 12px; border-radius:7px; }
.admin-menu button.active,.admin-menu button:hover { background:#0a1622; color:white; }
.admin-main { padding:30px; min-width:0; }
.admin-top { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:26px; }
.admin-top h1 { margin:0; font-family:var(--serif); font-size:34px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:24px; }
.stat { border:1px solid var(--line); background:#06101a; padding:18px; }
.stat small { color:#71879a; text-transform:uppercase; letter-spacing:.12em; font-size:9px; }
.stat strong { display:block; font-size:31px; margin-top:8px; }
.admin-panel { border:1px solid var(--line); background:#050c13; padding:20px; margin-bottom:20px; }
.admin-panel h2 { margin:0 0 15px; font-family:var(--serif); }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; font-size:12px; }
th { color:#668198; text-transform:uppercase; letter-spacing:.09em; font-size:9px; text-align:left; }
th,td { padding:11px 9px; border-bottom:1px solid #102033; vertical-align:top; }
td { color:#b5c4d0; }
.status { font-size:9px; border:1px solid #28455e; border-radius:999px; padding:3px 7px; text-transform:uppercase; }
.status.published { color:#5de6a2; border-color:#185f42; }
.status.draft { color:#ffc96a; border-color:#60491a; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.field { display:grid; gap:6px; }
.field.full { grid-column:1/-1; }
.field label { color:#748a9d; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.field input,.field textarea,.field select { background:#02070c; border:1px solid #173047; color:#e8f0f6; padding:10px; border-radius:5px; width:100%; }
.field textarea { min-height:120px; resize:vertical; }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.toggle { display:flex; align-items:center; gap:8px; color:#9db0bf; }
.admin-login { min-height:100vh; display:grid; place-items:center; padding:24px; background:radial-gradient(circle at 50% 20%,rgba(0,126,255,.13),transparent 38%),#020508; }
.login-card { width:min(430px,100%); border:1px solid var(--line); background:#06101a; padding:30px; }
.login-card img { width:80px; height:80px; object-fit:cover; display:block; margin:0 auto 8px; }
.login-card h1 { text-align:center; font-family:var(--serif); margin:0 0 6px; }
.login-card p { text-align:center; color:#758b9d; font-size:12px; }
.login-card input { width:100%; margin:15px 0 9px; background:#02070c; color:white; border:1px solid #1d3c56; padding:12px; }
.login-card button { width:100%; }
.notice { padding:10px 12px; border:1px solid #21425e; background:#071522; color:#8dc9ee; font-size:12px; margin:10px 0; }
.notice.warn { border-color:#5a431a; color:#f0c875; background:#161105; }
.notice.good { border-color:#205f47; color:#69dfa8; background:#05150f; }
.toast { position:fixed; right:18px; bottom:18px; z-index:99; background:#0b1925; border:1px solid #21445e; padding:12px 16px; box-shadow:0 8px 30px #0008; border-radius:7px; font-size:12px; }
.empty { color:#71879a; padding:30px 0; text-align:center; }

@media (max-width: 940px) {
  .nav { display:none; }
  .masthead { justify-content:space-between; }
  .hero { grid-template-columns:1fr; }
  .latest-panel { border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:18px; }
  .story-grid { grid-template-columns:1fr 1fr; }
  .market-strip { grid-template-columns:repeat(3,1fr); }
  .admin-shell { grid-template-columns:1fr; }
  .admin-side { height:auto; position:relative; border-right:0; border-bottom:1px solid var(--line); }
  .admin-menu { display:flex; overflow:auto; }
  .stats { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 620px) {
  .masthead,.main,.market-strip,.breaking-inner { padding-left:16px; padding-right:16px; }
  .brand-copy strong { font-size:21px; }
  .brand-copy span { display:none; }
  .brand img { width:43px; height:43px; }
  .story-grid { grid-template-columns:1fr; }
  .story-card { border-right:0; border-bottom:1px solid var(--line); padding:0 0 18px; }
  .market-strip { grid-template-columns:repeat(2,1fr); }
  .newsletter { display:block; padding:20px; }
  .newsletter form { margin-top:18px; min-width:0; }
  .article-wrap,.page { padding-left:18px; padding-right:18px; }
  .article-body { font-size:18px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  .admin-main { padding:18px; }
  .stats { grid-template-columns:1fr 1fr; }
}
