@import url('https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Sans+SC:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

:root { color-scheme:dark; --bg:#0e1012; --surface:#15181b; --surface-2:#191d21; --line:#2b3035; --muted:#90979f; --text:#f4f5f2; --lime:#c9ec62; --lime-dark:#9bbb40; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:'Noto Sans SC',sans-serif; }
main { max-width:1180px; margin:auto; padding:28px 30px 66px; }
header { display:flex; align-items:center; justify-content:space-between; gap:25px; padding-bottom:25px; border-bottom:1px solid var(--line); }
.brand-lockup { display:flex; align-items:baseline; gap:14px; }.brand { color:var(--text); text-decoration:none; font:700 30px 'DM Mono',monospace; letter-spacing:-2.5px; }.brand span { color:var(--lime); }.brand-subtitle { color:var(--muted); font-size:12px; }
.header-actions,.header-stats { display:flex; align-items:center; }.header-actions { gap:17px; }.header-stats { gap:14px; color:var(--muted); font:11px 'DM Mono',monospace; }.header-stats b { color:var(--text); font-size:14px; font-weight:500; }.last-updated { color:var(--muted); font:11px 'DM Mono',monospace; }
button { border:1px solid var(--line); background:transparent; color:#bac0c5; border-radius:5px; padding:8px 13px; font:500 13px 'Noto Sans SC',sans-serif; cursor:pointer; transition:background .16s,color .16s,border-color .16s; }.refresh { border-color:#41484f; background:var(--surface); color:var(--text); }.refresh:hover { border-color:var(--lime); color:#111; background:var(--lime); }.refresh:disabled { opacity:.65; cursor:wait; }
.intro { padding:50px 0 18px; }.eyebrow { margin:0; color:var(--lime-dark); font:11px 'DM Mono',monospace; letter-spacing:1.7px; }.intro h1 { margin:13px 0 12px; max-width:700px; font-size:clamp(40px,5.7vw,65px); letter-spacing:-3.8px; line-height:1.06; }.intro em { font-family:'Playfair Display',serif; font-weight:600; }.subtitle { max-width:590px; margin:0; color:var(--muted); font-size:15px; line-height:1.7; }
.hotspots { margin:30px 0 27px; border:1px solid #373d42; background:var(--surface); }.hotspots-head { display:flex; align-items:center; justify-content:space-between; padding:16px 19px; color:var(--text); font-size:15px; font-weight:600; border-bottom:1px solid var(--line); }.hotspots-head span:last-child { color:var(--muted); font:10px 'DM Mono',monospace; letter-spacing:.6px; }
.hotspot-grid { display:grid; grid-template-columns:1.35fr 1fr 1fr; grid-template-rows:repeat(2,minmax(126px,auto)); }.hotspot { position:relative; display:grid; grid-template-columns:34px 1fr; align-content:start; gap:12px; padding:18px; color:inherit; text-decoration:none; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.hotspot:hover { background:var(--surface-2); }.hotspot-1 { grid-row:span 2; padding:26px; background:#181c1f; }.hotspot-1 h2 { font-size:24px!important; line-height:1.36!important; }.hotspot-4,.hotspot-5 { border-bottom:0; }.hotspot-3,.hotspot-5 { border-right:0; }.hotspot b { color:var(--lime-dark); font:600 15px 'DM Mono',monospace; }.hotspot h2 { margin:0 0 8px; font-size:14px; line-height:1.46; font-weight:600; }.hotspot p { margin:0; color:var(--muted); font:11px 'DM Mono',monospace; line-height:1.65; }.hotspot-link { grid-column:2; margin-top:11px; color:#b4bac0; font-size:11px; }
.region-tag,.category-tag { display:inline-block; margin-right:6px; color:#bdc2c8; border:1px solid #474e55; border-radius:3px; padding:1px 4px; font:9px 'DM Mono',monospace; vertical-align:1px; }.category-tag { margin-left:7px; margin-right:0; color:var(--lime-dark); border-color:rgba(201,236,98,.32); }
.filters { display:flex; gap:9px; padding:13px; background:var(--surface); border:1px solid var(--line); }.filters input,.filters select { height:39px; border:1px solid #363c42; background:#111315; color:var(--text); border-radius:4px; padding:0 11px; font:13px 'Noto Sans SC',sans-serif; }.filters input { flex:1; min-width:0; }.filters select { min-width:145px; }.filters input:focus,.filters select:focus { outline:none; border-color:#778b45; }
nav { display:flex; gap:6px; margin:18px 0 28px; padding-bottom:15px; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none; } nav::-webkit-scrollbar { display:none; } nav button { flex:0 0 auto; border-color:transparent; border-radius:4px; padding:8px 12px; } nav button:hover { background:#20252a; color:var(--text); } nav button.active { color:#101207; border-color:var(--lime); background:var(--lime); font-weight:600; }
.dashboard { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-bottom:39px; }.brief-column { min-width:0; border-top:2px solid #444b51; padding-top:13px; }.brief-column:first-child { border-color:#778b45; }.brief-column>div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-bottom:10px; }.brief-column h2 { margin:0; font-size:15px; }.brief-column>div span { color:var(--muted); font-size:10px; white-space:nowrap; }.brief-column a { display:block; padding:11px 0; color:inherit; text-decoration:none; border-top:1px solid var(--line); }.brief-column a:hover h3 { color:var(--lime); }.brief-column h3 { margin:0 0 6px; font-size:13px; font-weight:500; line-height:1.5; }.brief-column p,.brief-empty { margin:0; color:var(--muted); font:10px 'DM Mono',monospace; }.brief-empty { padding-top:11px; }
.list-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:9px; font-size:15px; font-weight:600; }.list-head #count { color:var(--muted); font:11px 'DM Mono',monospace; }.news { border-top:1px solid var(--line); }.article { display:grid; grid-template-columns:89px 1fr auto auto; align-items:start; gap:16px; padding:18px 5px; color:inherit; text-decoration:none; border-bottom:1px solid var(--line); transition:background .16s,padding .16s; }.article:hover { padding-left:11px; padding-right:11px; background:#15181b; }.meta { color:var(--muted); font:10px 'DM Mono',monospace; line-height:1.8; }.article h2 { min-width:0; margin:0; font-size:16px; line-height:1.52; font-weight:600; }.source { padding-top:4px; color:var(--lime-dark); font-size:11px; white-space:nowrap; }.favorite-button { border:0; background:none; color:var(--muted); padding:2px 0 0; font-size:19px; line-height:1; }.favorite-button:hover,.favorite-button.saved { color:var(--lime); background:none; }
.loading { padding:60px 0; color:var(--muted); text-align:center; }.loading span { display:inline-block; width:5px; height:5px; margin-left:7px; background:var(--lime); border-radius:50%; } footer { max-width:1180px; margin:auto; padding:23px 30px; color:#6f777e; border-top:1px solid var(--line); font-size:11px; }
@media(max-width:760px) { main { padding:20px 17px 45px; } header { display:block; }.brand-lockup { display:block; }.brand-subtitle { display:block; margin-top:5px; }.header-actions { justify-content:space-between; margin-top:16px; gap:8px; }.header-stats { gap:9px; }.last-updated { font-size:10px; }.intro { padding-top:38px; }.hotspot-grid { grid-template-columns:1fr; grid-template-rows:auto; }.hotspot,.hotspot-1 { grid-row:auto; padding:16px; border-right:0; }.hotspot-1 h2 { font-size:19px!important; }.hotspot:last-child { border-bottom:0; }.dashboard { grid-template-columns:1fr; gap:24px; }.filters { padding:9px; }.filters select { min-width:116px; max-width:42%; } .article { grid-template-columns:1fr auto auto; gap:7px 11px; }.meta { grid-column:1/-1; order:4; }.article h2 { font-size:15px; }.source { font-size:10px; } footer { padding:20px 17px; } }
