  @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
  :root{
    --bg:#0c131a;
    --bg-soft:#121a22;
    --panel:#141d26;
    --card:#141d26;
    --panel-strong:#18222c;
    --panel-muted:#1b2731;
    --panel-glass:rgba(20,29,38,.9);
    --line:rgba(137, 155, 169, .16);
    --line-strong:rgba(124, 154, 176, .26);
    --text:#edf2f6;
    --muted:#9baab6;
    --dim:#64727d;
    --accent:#8db0c6;
    --accent-2:#c3d2dc;
    --accent-3:#bfa37a;
    --danger:#fb7185;
    --success:#34d399;
    --shadow-lg:0 18px 48px rgba(3, 9, 18, .26);
    --shadow-md:0 10px 24px rgba(3, 9, 18, .16);
    --radius-xl:20px;
    --radius-lg:14px;
    --radius-md:10px;
    --font-sans:'IBM Plex Sans','Segoe UI',sans-serif;
    --font-mono:'IBM Plex Mono','SFMono-Regular',monospace;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{background:var(--bg)}
  body{font-family:var(--font-sans);background:
    linear-gradient(180deg,#0f151c 0%,#0d141b 100%);
    color:var(--text);min-height:100vh;letter-spacing:0}
  .header{background:#0a0f1a;padding:14px 20px;border-bottom:1px solid #1a2030;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .header h1,.aidc-header h1{font-size:.95rem;font-weight:700;color:#f1f5f9;letter-spacing:.2px}
  .header .sub{font-size:.75rem;color:#64748b;margin-top:2px}
  .badge{background:#1d4ed8;color:#bfdbfe;font-size:.68rem;padding:2px 8px;border-radius:20px;font-weight:600}
  .company-tabs{display:flex;gap:3px;margin-left:auto;flex-wrap:wrap;background:#050810;padding:3px;border-radius:8px;border:1px solid #1a2030}
  /* ── OpenRouter Rankings ────────────────────────────────────────────────── */
  #or-tabs{flex-wrap:wrap;gap:4px}
  .or-bd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .or-bd-card{min-width:0;overflow:hidden;height:340px}
  .or-bd-card .card-title{font-size:.78rem;margin-bottom:2px;padding-bottom:0}
  .or-bd-card .plot-area{height:300px;min-height:0;overflow:hidden}
  .or-bd-card .card-actions{display:none}
  @media(max-width:900px){.or-bd-grid{grid-template-columns:1fr}.or-bd-card{height:auto}}
  /* ── Prediction Markets section ──────────────────────────────────────────── */
  .pm-loading{display:flex;align-items:center;gap:10px;padding:36px 20px;color:#4b5563;font-size:.82rem}
  .pm-spinner{width:18px;height:18px;border:2px solid #1e2a3a;border-top-color:#7c3aed;border-radius:50%;animation:pm-spin .75s linear infinite;flex-shrink:0}
  @keyframes pm-spin{to{transform:rotate(360deg)}}
  .pm-error{padding:18px 20px;border:1px solid #450a0a;background:#150505;border-radius:8px;color:#f87171;font-size:.79rem;line-height:1.7}
  .pm-error code{background:#1c0505;padding:1px 5px;border-radius:3px;font-size:.75rem}
  .pm-meta{font-size:.67rem;color:#374151;margin-left:4px}
  .pm-refresh{padding:4px 12px;border-radius:5px;font-size:.72rem;cursor:pointer;border:1px solid #4c1d95;color:#c4b5fd;background:transparent;transition:all .15s}
  .pm-refresh:hover{background:#2e1065;border-color:#7c3aed}
  .pm-refresh:disabled{opacity:.35;cursor:not-allowed}
  .kpi-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
  .kpi-card{flex:1;min-width:150px;background:#0d1117;border:1px solid #1e293b;border-radius:10px;padding:16px 18px}
  .kpi-lbl{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}
  .kpi-val{font-size:1.6rem;font-weight:700;color:#f1f5f9;line-height:1.1}
  .kpi-sub{font-size:.78rem;color:#64748b;margin-top:6px;font-weight:500}
  .kpi-up{color:#34d399}.kpi-down{color:#f87171}
  .pm-ov-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .pm-ov-grid3>.card{min-width:0;overflow:hidden}
  .pm-ov-grid3 .plot-area{height:auto;min-height:0}
  .pm-ov-span2{grid-column:span 2}
  @media(max-width:1100px){.pm-ov-grid3{grid-template-columns:1fr 1fr}.pm-ov-span2{grid-column:span 2}}
  @media(max-width:700px){.pm-ov-grid3{grid-template-columns:1fr}.pm-ov-span2{grid-column:span 1}}
  .main{padding:16px 20px;width:100%}
  .stabs{display:inline-flex;gap:3px;margin-bottom:18px;flex-wrap:wrap;background:#050810;padding:3px;border-radius:8px;border:1px solid #1a2030}
  .stab,.ctab{padding:6px 16px;border-radius:5px;font-size:.78rem;font-weight:600;cursor:pointer;background:transparent;border:none;color:#4b5563;transition:all .17s}
  .stab:hover,.ctab:hover{color:#94a3b8}
  .stab.active,.ctab.active{background:#0f1e33;color:#60a5fa}
  .company-section{display:none}
  .company-section.active{display:block}
  .aidc-section{display:none}
  .aidc-section.active{display:block}
  .aidc-header{background:#0a0f1a;padding:14px 20px;border-bottom:1px solid #1a2030;display:flex;align-items:center;gap:16px}
  .aidc-tabs{display:flex;gap:3px;background:#050810;padding:3px;border-radius:8px;border:1px solid #1a2030}
  .atab{padding:6px 16px;border-radius:6px;font-weight:600;font-size:.78rem;cursor:pointer;border:none;transition:all .17s;background:transparent;color:#4b5563}
  .atab:hover{color:#94a3b8}
  .atab.active{background:#0f1e33;color:#60a5fa}
  .section-panel{display:none}
  .section-panel.active{display:block}
  .card{background:#0d1117;border:1px solid #1a2030;border-radius:10px;padding:14px 16px;margin-bottom:16px}
  .card-title{font-size:.82rem;font-weight:600;color:#64748b;margin-bottom:3px;text-transform:uppercase;letter-spacing:.6px;display:flex;justify-content:space-between;align-items:center}
  .dl-btn{font-size:.68rem;padding:2px 9px;background:#0f1520;border:1px solid #1a2030;border-radius:4px;color:#6b7280;cursor:pointer;flex-shrink:0;text-transform:none;letter-spacing:0;font-weight:400;transition:all .15s}
  .dl-btn:hover{background:#1a2535;color:#93c5fd;border-color:#2d4a6e}
  .card-desc{font-size:.72rem;color:#374151;margin-bottom:14px}
  .controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
  .ctrl-label{font-size:.7rem;color:#4b5563;font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
  .btn-group{display:flex;gap:2px;background:#050810;padding:2px;border-radius:6px;border:1px solid #1a2030}
  .btn-group button{padding:4px 12px;border-radius:4px;border:none;font-size:.73rem;font-weight:600;cursor:pointer;background:transparent;color:#4b5563;transition:all .15s}
  .btn-group button:hover{color:#94a3b8}
  .btn-group button.active{background:#0f1e33;color:#60a5fa}
  .chips{display:flex;gap:5px;flex-wrap:wrap}
  .chip{padding:3px 11px;border-radius:6px;font-size:.7rem;cursor:pointer;border:1px solid #1a2030;color:#6b7280;background:transparent;transition:all .13s;user-select:none;white-space:nowrap}
  .chip:hover{border-color:#2d4a6e;color:#94a3b8}
  .chip.on{border-color:#2563eb;color:#60a5fa;background:#0f1e33}
  .plot-area{width:100%;height:clamp(380px,calc(100vh - 260px),720px)}
  .plot-area-sm{width:100%;height:300px}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  @media(max-width:860px){.grid2{grid-template-columns:1fr}}
  @media(max-width:960px){
    .header{padding:14px 16px;gap:8px 12px}
    .company-tabs{order:3;width:100%;margin-left:0;gap:4px}
    .upload-toggle{order:2;margin-left:auto}
      .main{padding:16px}
  }
  .company-section{display:none}
  .company-section.active{display:block}
  .note{font-size:.68rem;color:#374151;margin-top:8px;line-height:1.5}
  .separator{height:1px;background:#1e2a3a;margin:4px 0 14px}
  /* Upload panel */
  .upload-toggle{padding:6px 14px;border-radius:6px;font-weight:600;font-size:.78rem;cursor:pointer;border:1px solid #1a2030;color:#94a3b8;background:#0f1520;transition:all .18s;white-space:nowrap}
  .upload-toggle:hover{border-color:#2d4a6e;color:#e2e8f0}
  .upload-toggle.open{border-color:#3b82f6;color:#93c5fd;background:#172554}
  .upload-panel{background:#111827;border-bottom:1px solid #1e2a3a;overflow:hidden;max-height:0;transition:max-height .28s ease}
  .upload-panel.open{max-height:500px}
  .upload-inner{padding:14px 28px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:14px;max-width:1400px}
  .upload-inner.two-col{grid-template-columns:1fr 1fr;max-width:700px}
  .upload-zone{border:2px dashed #2d3748;border-radius:8px;position:relative;transition:all .2s;cursor:pointer}
  .upload-zone:hover,.upload-zone.drag{border-color:#3b82f6;background:#0f1b2e}
  .upload-zone.loaded{border-color:#10b981;border-style:solid}
  .upload-zone.err-state{border-color:#ef4444;border-style:solid}
  .upload-zone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;z-index:2}
  .upload-body{display:flex;align-items:center;gap:12px;padding:11px 16px;pointer-events:none}
  .upload-ico{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}
  .upload-ico.meta{background:#1e1b4b;color:#a5b4fc}
  .upload-ico.tsla{background:#1c1917;color:#fca5a5}
  .upload-ico.st{background:#0c2233;color:#67e8f9}
  .upload-text .label{font-size:.8rem;font-weight:600;color:#94a3b8;margin-bottom:2px}
  .upload-text .status{font-size:.7rem;color:#4b5563}
  .upload-text .status.ok{color:#10b981}
  .upload-text .status.loading{color:#f59e0b}
  .upload-text .status.err{color:#ef4444}
  .upload-hint{font-size:.68rem;color:#374151;text-align:center;padding:0 14px 8px;max-width:780px}
  /* ── Diff Modal ───────────────────────────────────────────────────────────── */
  .diff-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;overflow-y:auto}
  .diff-box{background:#161b27;border:1px solid #2d3748;border-radius:12px;width:100%;max-width:920px;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.75)}
  .diff-hdr{padding:16px 20px;border-bottom:1px solid #1e2a3a;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
  .diff-title{font-size:.95rem;font-weight:700;color:#f1f5f9}
  .diff-sub{font-size:.72rem;color:#4b5563;margin-top:4px}
  .diff-close{background:#0f1520;border:1px solid #1a2030;color:#94a3b8;cursor:pointer;padding:4px 14px;border-radius:5px;font-size:.78rem;transition:all .15s}
  .diff-close:hover{border-color:#2d4a6e;color:#e2e8f0}
  .diff-body{padding:16px 20px;overflow-y:auto;max-height:62vh}
  .diff-summary{background:#0d1117;border:1px solid #1e2a3a;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.79rem;color:#94a3b8;line-height:1.9}
  .diff-tbl{width:100%;border-collapse:collapse;font-size:.72rem}
  .diff-tbl th{text-align:left;padding:6px 10px;color:#4b5563;font-weight:600;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #1e2a3a;white-space:nowrap}
  .diff-tbl td{padding:6px 10px;border-bottom:1px solid #0d1117;vertical-align:top}
  .diff-tbl tr:hover td{background:#0f1823}
  .diff-d{color:#93c5fd;font-family:monospace;white-space:nowrap;font-size:.7rem}
  .diff-s{color:#cbd5e1;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .diff-cat{color:#4b5563;font-size:.67rem;white-space:nowrap}
  .diff-ov{color:#f87171;font-family:monospace}
  .diff-nv{color:#34d399;font-family:monospace}
  .diff-pct{font-family:monospace;font-size:.68rem}
  .diff-pct.up{color:#34d399}
  .diff-pct.dn{color:#f87171}
  .diff-empty{padding:36px;text-align:center;color:#374151;font-size:.85rem}

  /* ── App Layout (Sidebar + Content) ──────────────────────────────────────── */
  .app-layout{display:flex;min-height:100vh}
  .sidebar{width:160px;flex-shrink:0;background:#080c12;border-right:1px solid #1a2030;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
  .sidebar-brand{padding:18px 16px 14px;border-bottom:1px solid #1a2030}
  .sidebar-brand .name{font-size:.82rem;font-weight:700;color:#e2e8f0;letter-spacing:.2px;line-height:1.3}
  .sidebar-brand .sub{font-size:.65rem;color:#374151;margin-top:2px}
  .sidebar-nav{flex:1;padding:10px 8px}
  .nav-section{font-size:.6rem;font-weight:700;color:#2d3748;text-transform:uppercase;letter-spacing:.8px;padding:10px 8px 4px}
  .nav-item{width:100%;text-align:left;padding:8px 10px;border-radius:7px;border:none;background:transparent;color:#4b5563;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .17s;display:flex;align-items:center;gap:8px;margin-bottom:2px}
  .nav-item:hover{background:#0f1520;color:#94a3b8}
  .nav-item.active{background:#0f1e33;color:#60a5fa;font-weight:600}
  .nav-item .nav-icon{width:18px;text-align:center;font-size:.85rem;flex-shrink:0}
  .nav-item .nav-badge{margin-left:auto;font-size:.6rem;background:#1e3a5f;color:#60a5fa;padding:1px 6px;border-radius:10px;font-weight:700}
  .sidebar-footer{padding:12px 16px;border-top:1px solid #1a2030;font-size:.62rem;color:#2d3748}
  .content-area{flex:1;min-width:0;display:flex;flex-direction:column}
  .module-panel{display:none;flex-direction:column;flex:1}
  .module-panel.active{display:flex}

  /* ── Macro Module ─────────────────────────────────────────────────────────── */
  .region-tabs{display:flex;gap:3px;margin-left:auto;background:#050810;padding:3px;border-radius:8px;border:1px solid #1a2030}

  /* Country sub-tabs */
  .country-tabs{display:flex;gap:5px;margin-bottom:20px}
  .ctry-tab{padding:6px 18px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid #1a2030;background:transparent;color:#6b7280;transition:all .17s}
  .ctry-tab:hover{border-color:#2d4a6e;color:#94a3b8}
  .ctry-tab.mx.active{background:#0c2010;border-color:#16a34a;color:#4ade80}
  .ctry-tab.br.active{background:#1a0c06;border-color:#c2410c;color:#fb923c}
  .ctry-tab.ar.active{background:#0a0e1a;border-color:#4338ca;color:#a5b4fc}

  /* Macro indicator cards */
  /* Region content panels */

  /* ── Macro chart cards ───────────────────────────────────────────────────── */
  @keyframes mc-spin{to{transform:rotate(360deg)}}
  /* ── RSS MODULE ─────────────────────────────────────── */
  .rss-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden}
  .rss-header{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid #1a2030;flex-shrink:0;background:#0a0f1a}
  .rss-title{font-size:.95rem;font-weight:700;color:#e2e8f0;flex:1}
  .rss-badge{font-size:.65rem;background:#1e3a5f;color:#60a5fa;padding:2px 8px;border-radius:10px;font-weight:700}
  .rss-hbtn{background:#0f1520;border:1px solid #1a2030;color:#94a3b8;font-size:.72rem;padding:5px 11px;border-radius:6px;cursor:pointer;transition:all .15s}
  .rss-hbtn:hover{background:#1a2535;color:#e2e8f0}
  .rss-config{background:#0d1117;border-bottom:1px solid #1a2030;padding:14px 20px;display:none;gap:10px;align-items:center;flex-wrap:wrap;flex-shrink:0}
  .rss-config input{background:#080c12;border:1px solid #1a2030;color:#e2e8f0;font-size:.75rem;padding:7px 10px;border-radius:6px;flex:1;min-width:200px;outline:none;font-family:monospace}
  .rss-config input:focus{border-color:#2d4a6e}
  .rss-config input::placeholder{color:#374151}
  .rss-config-save{background:#1e3a5f;border:none;color:#60a5fa;font-size:.75rem;padding:7px 14px;border-radius:6px;cursor:pointer;font-weight:600;flex-shrink:0}
  .rss-config-save:hover{background:#2d4a6e}
  .rss-toolbar{display:flex;align-items:center;gap:6px;padding:10px 16px;border-bottom:1px solid #1a2030;flex-shrink:0;flex-wrap:wrap}
  .rss-filter{background:transparent;border:1px solid #1a2030;color:#6b7280;font-size:.72rem;padding:4px 12px;border-radius:20px;cursor:pointer;transition:all .15s}
  .rss-filter:hover{border-color:#2d4a6e;color:#94a3b8}
  .rss-filter.active{background:#1e3a5f;border-color:#2d4a6e;color:#60a5fa;font-weight:600}
  .rss-feed-select{background:#080c12;border:1px solid #1a2030;color:#94a3b8;font-size:.72rem;padding:4px 8px;border-radius:6px;cursor:pointer;outline:none;max-width:140px}
  .rss-search{background:#080c12;border:1px solid #1a2030;color:#e2e8f0;font-size:.73rem;padding:5px 10px;border-radius:6px;outline:none;width:150px;margin-left:auto}
  .rss-search:focus{border-color:#2d4a6e}
  .rss-search::placeholder{color:#374151}
  .rss-articles{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
  .rss-card{background:#0d1117;border:1px solid #1a2030;border-radius:10px;padding:14px 16px;cursor:pointer;transition:all .17s;text-decoration:none;display:block;color:inherit}
  .rss-card:hover{background:#111827;border-color:#2d4a6e}
  .rss-card.unread{border-left:3px solid #3b82f6}
  .rss-card.read{border-left:3px solid transparent;opacity:.7}
  .rss-card-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}
  .rss-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;flex-shrink:0}
  .rss-dot.read{opacity:0}
  .rss-feed-name{font-size:.68rem;font-weight:600;color:#60a5fa;letter-spacing:.2px}
  .rss-date{font-size:.65rem;color:#374151;margin-left:auto}
  .rss-read-time{font-size:.65rem;color:#374151}
  .rss-card-title{font-size:.88rem;font-weight:600;color:#e2e8f0;line-height:1.4;margin-bottom:5px}
  .rss-card-excerpt{font-size:.75rem;color:#6b7280;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .rss-empty{text-align:center;padding:60px 20px;color:#374151;font-size:.82rem;line-height:1.8}
  .rss-empty-icon{font-size:2rem;margin-bottom:10px}
  .rss-loading{text-align:center;padding:40px;color:#374151;font-size:.8rem}
  .rss-pager{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;flex-shrink:0}
  .rss-pager-btn{background:#0d1117;border:1px solid #1a2030;color:#94a3b8;font-size:.75rem;padding:5px 12px;border-radius:6px;cursor:pointer;transition:all .15s}
  .rss-pager-btn:hover{background:#111827;border-color:#2d4a6e;color:#e2e8f0}
  .rss-pager-btn.disabled{opacity:.3;pointer-events:none}
  .rss-pager-info{font-size:.7rem;color:#475569;min-width:80px;text-align:center}
  .rss-mark-all{background:transparent;border:none;color:#374151;font-size:.68rem;cursor:pointer;padding:3px 8px;border-radius:4px;margin-left:4px;transition:color .15s}
  .rss-mark-all:hover{color:#60a5fa}
  .rss-score{display:inline-flex;align-items:center;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:4px;flex-shrink:0;letter-spacing:.2px}
  .rss-score-5{background:#3f1515;color:#f87171}
  .rss-score-4{background:#3f2a10;color:#fb923c}
  .rss-score-3{background:#2d2d10;color:#facc15}
  .rss-score-2{background:#1a2d1a;color:#4ade80}
  .rss-score-1{background:#151525;color:#64748b}
  .rss-tag{font-size:.58rem;color:#4b5563;margin-right:4px;padding:1px 6px;border-radius:3px;background:#0a1020;border:1px solid #1a2030;letter-spacing:.2px}
  .rss-sector-tag{color:#60a5fa;border-color:#1e3a5f}
  .rss-type-tag{color:#a78bfa;border-color:#2e1065}
  .rss-scoring{font-size:.68rem;color:#374151;padding:6px 16px;text-align:right;flex-shrink:0}
  .rss-priority{border-bottom:1px solid #1a2030;padding:10px 16px;flex-shrink:0;background:#08100a;margin:0 16px}
  .rss-priority-title{font-size:.65rem;font-weight:700;color:#4ade80;letter-spacing:.8px;text-transform:uppercase;margin-bottom:7px;display:flex;align-items:center;gap:6px}
  .rss-priority-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;border-bottom:1px solid #0f1a10;cursor:pointer}
  .rss-priority-row:last-child{border-bottom:none}
  .rss-priority-score{font-size:.65rem;font-weight:800;width:14px;text-align:center;flex-shrink:0}
  .rss-priority-score.s5{color:#f87171}
  .rss-priority-score.s4{color:#fb923c}
  .rss-priority-feed{font-size:.65rem;color:#374151;flex-shrink:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rss-priority-link{font-size:.75rem;color:#cbd5e1;text-decoration:none;line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rss-priority-link:hover{color:#60a5fa}
  .rss-priority-toggle{background:transparent;border:1px solid #1a3020;color:#4ade80;font-size:.6rem;padding:1px 7px;border-radius:4px;cursor:pointer;margin-left:6px;transition:all .15s}
  .rss-priority-toggle:hover{background:#1a3020}
  .rss-summary{padding:10px 16px;flex-shrink:0;margin:0 16px}
  .rss-summary-title{font-size:.65rem;font-weight:700;color:#60a5fa;letter-spacing:.8px;text-transform:uppercase;margin-bottom:7px;display:flex;align-items:center;gap:6px}
  .rss-summary-btn{background:transparent;border:1px solid #1e2a38;color:var(--accent-2);font-size:.6rem;padding:1px 7px;border-radius:4px;cursor:pointer;margin-left:6px;transition:all .15s;opacity:.75}
  .rss-summary-btn:hover{background:#1e2a38;opacity:1}
  .rss-summary-body{font-size:.77rem;color:#94a3b8;line-height:1.75;padding-top:4px}
  .rss-summary-body b{color:#e2e8f0;font-weight:600}
  .rss-summary-body p{margin:0 0 6px}

  /* ── Space Economy ───────────────────────────────────────────────────────── */
  .space-header{padding:28px 32px 0;border-bottom:1px solid #1a2030}
  .space-tab-btn{background:transparent;border:none;border-bottom:2px solid transparent;color:#4b5563;font-size:.78rem;font-weight:600;padding:8px 14px;cursor:pointer;transition:all .15s;margin-right:2px}
  .space-tab-btn.active{color:#e2e8f0;border-bottom-color:#60a5fa}
  .space-tab-btn:hover:not(.active){color:#94a3b8}
  .space-panel{display:none;padding:24px 32px 40px}
  .space-panel.active{display:block}
  .space-kpi-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
  .space-kpi{flex:1;min-width:110px;background:#0d1117;border:1px solid #1a2030;border-radius:10px;padding:12px 16px}
  .space-kpi-lbl{font-size:.6rem;color:#4b5563;text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px}
  .space-kpi-val{font-size:1.35rem;font-weight:700;color:#e2e8f0;line-height:1}
  .space-kpi-sub{font-size:.68rem;color:#374151;margin-top:3px}
  .space-chart-box{background:#0d1117;border:1px solid #1a2030;border-radius:10px;padding:14px 16px;margin-bottom:14px}
  .space-chart-ttl{font-size:.62rem;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
  .space-charts-2{display:grid;grid-template-columns:3fr 2fr;gap:14px;margin-bottom:0}
  .space-charts-equal{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
  .space-section-ttl{font-size:.62rem;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.7px;margin:20px 0 10px}
  .space-tbl{width:100%;border-collapse:collapse;font-size:.73rem}
  .space-tbl th{color:#374151;font-weight:700;font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;padding:6px 10px;border-bottom:1px solid #1a2030;text-align:left;white-space:nowrap}
  .space-tbl td{padding:5px 10px;border-bottom:1px solid #0d1420;color:#94a3b8;vertical-align:middle}
  .space-tbl tr:last-child td{border:none}
  .sp-badge{font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:3px;white-space:nowrap}
  .sp-s{color:#4ade80;background:#0f2a1a}
  .sp-f{color:#f87171;background:#2a0f0f}
  .sp-p{color:#fb923c;background:#2a1a0f}
  .sp-u{color:#60a5fa;background:#0f1a2a}
  /* ── AI Tracking Module ── */
  .ait-panel{display:none;padding:24px 32px 40px}.ait-panel.active{display:block}
  .ait-kpi-row{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}
  .ait-kpi{flex:1;min-width:130px}
  .ait-chart-box{margin-bottom:14px}
  .ait-entry-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px;padding:12px 14px;background:rgba(30,41,59,.6);border-radius:8px;border:1px solid rgba(148,163,184,.12)}
  .ait-entry-form select,.ait-entry-form input{background:#0f172a;color:#e2e8f0;border:1px solid #334155;border-radius:5px;padding:5px 8px;font-size:.75rem}
  .ait-entry-form button{background:#1d4ed8;color:#fff;border:none;border-radius:5px;padding:5px 12px;font-size:.75rem;cursor:pointer}
  .ait-entry-form button:hover{background:#2563eb}
  .ait-metric-table{width:100%;border-collapse:collapse;font-size:.78rem}
  .ait-metric-table th{text-align:left;color:var(--accent-2);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;padding:8px 12px;border-bottom:1px solid var(--line)}
  .ait-metric-table td{padding:8px 12px;color:var(--text);border-bottom:1px solid rgba(26,32,48,.5)}
  .ait-metric-table tr:hover td{background:rgba(141,176,198,.04)}
  .ait-source{font-size:.62rem;color:var(--muted);margin-top:2px}

  /* ── Theme Refresh ───────────────────────────────────────────────────────── */
  ::selection{background:rgba(125,211,252,.24);color:var(--text)}
  *::-webkit-scrollbar{width:10px;height:10px}
  *::-webkit-scrollbar-thumb{background:rgba(148,184,198,.22);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
  *::-webkit-scrollbar-track{background:transparent}
  body::before{
    content:'';
    position:fixed;
    inset:0;
    background:
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:48px 48px;
    opacity:.18;
    pointer-events:none;
    z-index:0;
  }
  .app-layout,.sidebar,.content-area,.module-panel{position:relative;z-index:1}
  .app-layout{display:flex;gap:18px;min-height:100vh;padding:16px}
  .sidebar{
    width:220px;
    flex-shrink:0;
    background:linear-gradient(180deg, rgba(18,26,34,.96), rgba(12,18,25,.98));
    border:1px solid var(--line);
    box-shadow:var(--shadow-lg);
    border-radius:22px;
    display:flex;
    flex-direction:column;
    position:sticky;
    top:16px;
    height:calc(100vh - 32px);
    overflow-y:auto;
    backdrop-filter:blur(18px);
  }
  .sidebar-brand{
    padding:20px 18px 18px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  }
  .sidebar-brand .name{
    font-size:1.08rem;
    font-weight:700;
    color:var(--text);
    letter-spacing:.01em;
    line-height:1.12;
  }
  .sidebar-brand .sub{
    font-size:.68rem;
    color:var(--dim);
    margin-top:8px;
    text-transform:uppercase;
    letter-spacing:.18em;
  }
  .sidebar-nav{flex:1;padding:16px 10px 12px}
  .nav-section{
    font-size:.62rem;
    font-weight:800;
    color:var(--dim);
    text-transform:uppercase;
    letter-spacing:.22em;
    padding:4px 10px 10px;
  }
  .nav-item{
    width:100%;
    text-align:left;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid transparent;
    background:transparent;
    color:var(--muted);
    font-size:.79rem;
    font-weight:600;
    cursor:pointer;
    transition:background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:6px;
  }
  .nav-item:hover{
    background:rgba(255,255,255,.025);
    border-color:rgba(137,155,169,.14);
    color:var(--text);
  }
  .nav-item.active{
    background:rgba(141,176,198,.12);
    border-color:rgba(141,176,198,.2);
    color:var(--text);
    font-weight:700;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  }
  .nav-item .nav-icon{
    width:30px;
    height:30px;
    border-radius:8px;
    display:grid;
    place-items:center;
    text-align:center;
    font-size:.66rem;
    font-family:var(--font-mono);
    letter-spacing:.08em;
    font-weight:500;
    flex-shrink:0;
    background:rgba(255,255,255,.03);
    border:1px solid rgba(148,184,198,.08);
  }
  .nav-item.active .nav-icon{
    background:rgba(255,255,255,.08);
    border-color:rgba(125,211,252,.26);
  }
  .nav-item .nav-badge{
    margin-left:auto;
    font-size:.62rem;
    background:rgba(125,211,252,.14);
    color:var(--accent-2);
    padding:2px 8px;
    border-radius:999px;
    font-weight:800;
    border:1px solid rgba(125,211,252,.16);
  }
  .sidebar-footer{
    padding:14px 18px 16px;
    border-top:1px solid var(--line);
    font-size:.68rem;
    color:var(--dim);
  }
  .data-freshness{
    display:flex;align-items:center;gap:6px;
    margin-bottom:6px;font-size:.65rem;color:var(--dim);
  }
  .freshness-dot{
    width:7px;height:7px;border-radius:50%;flex-shrink:0;
  }
  .freshness-dot.green{background:#48bb78}
  .freshness-dot.yellow{background:#ecc94b}
  .freshness-dot.red{background:#f56565}
  .content-area{
    flex:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    min-height:calc(100vh - 32px);
  }
  .module-panel{display:none;flex-direction:column;flex:1;animation:fade-up .28s ease}
  .module-panel.active{display:flex}
  .rss-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:4px 4px 18px;gap:16px}
  .rss-wrap{
    --rss-gutter:16px;
    --rss-card-pad-x:18px;
    --rss-card-pad-y:16px;
  }
  .rss-header,.rss-config,.rss-toolbar{
    margin:0 var(--rss-gutter);
  }
  .header,.aidc-header,.rss-header{
    background:linear-gradient(180deg, rgba(22,31,40,.96), rgba(17,25,33,.96));
    padding:18px 22px;
    border:1px solid var(--line);
    box-shadow:var(--shadow-md);
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    backdrop-filter:blur(14px);
  }
  .header,.aidc-header{margin:4px 4px 0;border-radius:18px 18px 0 0}
  .rss-header{border-radius:18px;flex-shrink:0}
  .header h1,.aidc-header h1{
    font-size:1rem;
    font-weight:700;
    color:var(--text);
    letter-spacing:.01em;
  }
  .header .sub,.aidc-header .sub{
    font-size:.76rem;
    color:var(--muted);
    margin-top:4px;
  }
  .badge{
    background:rgba(141,176,198,.08);
    color:var(--accent-2);
    font-size:.66rem;
    padding:4px 10px;
    border-radius:999px;
    font-weight:700;
    border:1px solid rgba(141,176,198,.16);
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .upload-panel{
    background:linear-gradient(180deg, rgba(10,22,29,.96), rgba(11,25,34,.96));
    border:1px solid var(--line);
    border-top:none;
    overflow:hidden;
    max-height:0;
    transition:max-height .32s ease;
    margin:0 4px;
    border-radius:0 0 18px 18px;
    box-shadow:var(--shadow-md);
  }
  .upload-panel.open{max-height:560px}
  .main{
    padding:26px 6px 10px;
    width:100%;
  }
  .company-tabs,.stabs,.aidc-tabs,.region-tabs,.btn-group{
    display:inline-flex;
    gap:4px;
    flex-wrap:wrap;
    background:rgba(6,15,20,.72);
    padding:4px;
    border-radius:12px;
    border:1px solid var(--line);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  }
  .stab,.atab,.btn-group button{
    padding:8px 14px;
    border-radius:10px;
    font-weight:600;
    font-size:.76rem;
    cursor:pointer;
    border:none;
    transition:background .16s ease, color .16s ease, border-color .16s ease;
    background:transparent;
    color:var(--muted);
  }
  .stab:hover,.ctab:hover,.atab:hover,.btn-group button:hover{
    color:var(--text);
  }
  .stab.active,.ctab.active,.atab.active,.btn-group button.active{
    background:rgba(141,176,198,.12);
    color:var(--text);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  .card,.rss-card,.rss-config,.rss-toolbar,.rss-priority,.rss-summary,.diff-box{
    background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
    border:1px solid var(--line);
    box-shadow:var(--shadow-md);
  }
  .card,.rss-card,.diff-box{border-radius:18px}
  .rss-config,.rss-toolbar,.rss-priority,.rss-summary{border-radius:16px}
  .card{
    padding:18px 20px;
    margin-bottom:18px;
  }
  .card-title,.diff-title{
    font-size:.84rem;
    font-weight:700;
    color:var(--text);
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:.06em;
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .card-desc,.rss-card-excerpt,.pm-meta,.note,.upload-text .status,.diff-sub{
    color:var(--muted);
  }
  .card-desc{font-size:.74rem;line-height:1.65;margin-bottom:16px}
  .ctrl-label,.rss-priority-title,.rss-summary-title,.nav-section{
    color:var(--accent-2);
  }
  .controls{display:flex;gap:12px 14px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
  .ctrl-label{
    font-size:.67rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
    white-space:nowrap;
  }
  .chips{display:flex;gap:8px;flex-wrap:wrap}
  .chip,.rss-filter,.pm-refresh,.upload-toggle,.dl-btn,.rss-hbtn,.rss-config-save,.rss-mark-all{
    border-radius:10px;
    border:1px solid var(--line);
    background:rgba(255,255,255,.02);
    color:var(--muted);
    transition:border-color .16s ease, color .16s ease, background .16s ease, box-shadow .16s ease;
  }
  .chip,.rss-filter{padding:6px 12px}
  .chip:hover,.chip.on,.rss-filter:hover,.rss-filter.active,.pm-refresh:hover,.upload-toggle:hover,.dl-btn:hover,.rss-hbtn:hover,.rss-config-save:hover,.rss-mark-all:hover{
    color:var(--text);
    border-color:rgba(141,176,198,.24);
    background:rgba(141,176,198,.08);
  }
  .chip.on,.rss-filter.active{
    background:rgba(141,176,198,.12);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  }
  .upload-toggle,.pm-refresh,.dl-btn,.rss-hbtn,.rss-config-save{
    padding:8px 14px;
    font-size:.72rem;
    font-weight:700;
  }
  .upload-toggle.open{
    border-color:rgba(141,176,198,.24);
    color:var(--text);
    background:rgba(141,176,198,.12);
  }
  .upload-inner{padding:18px 20px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:none}
  .upload-inner.two-col{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .upload-zone{
    border:1px dashed rgba(148,184,198,.24);
    border-radius:14px;
    position:relative;
    transition:all .2s ease;
    cursor:pointer;
    background:rgba(255,255,255,.015);
  }
  .upload-zone:hover,.upload-zone.drag{
    border-color:rgba(141,176,198,.32);
    background:rgba(141,176,198,.05);
  }
  .upload-zone.loaded{
    border-color:rgba(52,211,153,.45);
    background:rgba(52,211,153,.06);
  }
  .upload-zone.err-state{
    border-color:rgba(251,113,133,.45);
    background:rgba(251,113,133,.06);
  }
  .upload-body{display:flex;align-items:center;gap:12px;padding:14px 16px;pointer-events:none}
  .upload-ico{
    width:36px;
    height:36px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.95rem;
    font-weight:800;
    flex-shrink:0;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }
  .upload-hint{
    font-size:.7rem;
    color:var(--muted);
    text-align:center;
    padding:0 18px 16px;
    max-width:920px;
    margin:0 auto;
    line-height:1.7;
  }
  .rss-title{font-size:1rem;font-weight:800;color:var(--text);flex:1}
  .rss-badge{
    font-size:.68rem;
    background:rgba(141,176,198,.1);
    color:var(--accent-2);
    padding:4px 10px;
    border-radius:999px;
    font-weight:700;
    border:1px solid rgba(141,176,198,.18);
  }
  .rss-config{
    padding:16px 18px;
    display:none;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
    flex-shrink:0;
  }
  .rss-config input,.rss-feed-select,.rss-search,#dune-key-input{
    background:rgba(4,11,15,.72) !important;
    border:1px solid rgba(148,184,198,.16) !important;
    color:var(--text) !important;
    outline:none;
    font-family:var(--font-mono);
    border-radius:14px !important;
    box-shadow:none;
  }
  .rss-config input:focus,.rss-feed-select:focus,.rss-search:focus,#dune-key-input:focus{
    border-color:rgba(125,211,252,.3) !important;
    box-shadow:0 0 0 4px rgba(125,211,252,.08);
  }
  .rss-toolbar{
    display:flex;
    align-items:center;
    gap:8px;
    padding:14px 16px;
    flex-shrink:0;
    flex-wrap:wrap;
  }
  .rss-articles{
    flex:1;
    overflow-y:auto;
    padding:0 var(--rss-gutter) 16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    border-radius:24px;
  }
  .rss-card{
    padding:var(--rss-card-pad-y) var(--rss-card-pad-x);
    text-decoration:none;
    display:block;
    color:inherit;
    transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
  }
  .rss-priority,.rss-summary{
    margin:0 var(--rss-gutter);
    padding:var(--rss-card-pad-y) var(--rss-card-pad-x);
  }
  .rss-card:hover{
    border-color:rgba(141,176,198,.2);
    box-shadow:0 12px 24px rgba(3,9,18,.12);
  }
  .rss-card.unread{border-left:4px solid var(--accent-2)}
  .rss-card.read{border-left:4px solid transparent;opacity:.82}
  .rss-feed-name,.rss-priority-link{color:var(--accent-2)}
  .rss-card-title{font-size:.94rem;font-weight:800;color:var(--text);line-height:1.42;margin-bottom:6px}
  .rss-empty,.rss-loading,.pm-loading{
    color:var(--muted);
  }
  .country-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
  .ctry-tab{
    padding:8px 16px;
    border-radius:10px;
    font-size:.76rem;
    font-weight:800;
    cursor:pointer;
    border:1px solid var(--line);
    background:rgba(255,255,255,.02);
    color:var(--muted);
    transition:all .18s ease;
  }
  .ctry-tab:hover{color:var(--text);border-color:rgba(141,176,198,.22)}
  .ctry-tab.mx.active,.ctry-tab.br.active,.ctry-tab.ar.active{
    color:var(--text);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  }
  .ctry-tab.mx.active{background:rgba(74,222,128,.1);border-color:rgba(74,222,128,.18)}
  .ctry-tab.br.active{background:rgba(251,146,60,.1);border-color:rgba(251,146,60,.18)}
  .ctry-tab.ar.active{background:rgba(129,140,248,.12);border-color:rgba(129,140,248,.18)}
  .diff-backdrop{background:rgba(3,7,18,.72);backdrop-filter:blur(8px)}
  .diff-box{max-width:960px}
  .diff-hdr,.diff-body{padding:18px 22px}
  .diff-close{border-radius:999px}
  .pm-refresh:disabled{opacity:.4;cursor:not-allowed;transform:none}
  .note,.pm-error{line-height:1.7}
  .plot-area,.plot-area-sm{
    width:100%;
    border-radius:18px;
  }
  #gpu-hyp-breakdown,#gpu-neo-breakdown,#gpu-lab-breakdown{
    display:flex;
    flex-wrap:wrap;
    gap:18px;
    margin-top:18px;
  }
  #dune-key-zone{cursor:default;border-style:solid}
  #dune-key-zone .upload-body{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
    padding:16px;
    pointer-events:auto;
  }
  #tencent-file-list,#st-file-list{
    padding:0 12px 12px !important;
    font-size:.7rem !important;
    line-height:1.8 !important;
    color:var(--muted);
  }
  .module-panel.active .card,.module-panel.active .macro-card,.module-panel.active .macro-news-card,.module-panel.active .rss-card{
    animation:fade-up .3s ease both;
  }
  @keyframes fade-up{
    from{opacity:0;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
  }
  @media(max-width:1180px){
    .app-layout{padding:12px;gap:14px}
    .sidebar{
      width:190px;
      height:calc(100vh - 24px);
      top:12px;
    }
    .upload-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
    }
  @media(max-width:920px){
    .app-layout{flex-direction:column}
    .sidebar{
      position:static;
      width:100%;
      height:auto;
      border-radius:24px;
    }
    .sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .nav-item{margin-bottom:0}
    .content-area{min-height:0}
    .header,.aidc-header{
      margin:0;
      border-radius:24px;
    }
    .upload-panel{
      margin:12px 0 0;
      border-top:1px solid var(--line);
      border-radius:24px;
    }
    .main{padding:18px 0 6px}
    .rss-wrap{padding:0;gap:12px}
  }

/* ═══════════════════════════════════════════════════════════
   PODCAST MODULE
═══════════════════════════════════════════════════════════ */
.podcast-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 16px;border-bottom:1px solid var(--line)}
.podcast-header h1{font-size:1.3rem;color:#e2e8f0;margin:0}
.podcast-header .sub{color:#475569;font-size:.75rem;margin-top:2px}
.podcast-tabs{display:flex;gap:4px}
.podcast-tab-btn{padding:6px 16px;border-radius:8px;border:1px solid var(--line);background:transparent;color:#94a3b8;font-size:.8rem;cursor:pointer;transition:.15s}
.podcast-tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.podcast-tab-btn:hover{border-color:#475569}
.podcast-content{padding:16px 24px;overflow-y:auto;max-height:calc(100vh - 120px)}
.podcast-loading{text-align:center;padding:60px 0;color:#475569}
.podcast-empty{text-align:center;padding:80px 0;color:#475569;font-size:.9rem}
.podcast-date-group{margin-bottom:20px}
.podcast-date-header{font-size:.85rem;font-weight:600;color:#64748b;padding:8px 0 4px;border-bottom:1px solid var(--line);margin-bottom:8px}
.podcast-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:10px;cursor:pointer;transition:.2s}
.podcast-card:hover{border-color:#334155}
.podcast-card .podcast-card-body{display:none}
.podcast-card.expanded .podcast-card-body{display:block;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.podcast-channel{font-size:.7rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}
.podcast-title{font-size:.95rem;color:#e2e8f0;text-decoration:none;font-weight:500;line-height:1.4;display:block}
.podcast-title:hover{color:var(--accent)}
.podcast-meta{font-size:.7rem;color:#475569;margin-top:3px}
.podcast-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.podcast-tag{font-size:.65rem;padding:2px 8px;border-radius:10px;background:#1e293b;color:#94a3b8;border:1px solid #252f3e}
.podcast-summary{font-size:.85rem;color:#cbd5e1;line-height:1.7}
.podcast-section{margin-top:12px}
.podcast-section-title{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.podcast-section ul{list-style:none;padding:0;margin:0}
.podcast-section li{font-size:.82rem;color:#94a3b8;padding:4px 0 4px 14px;position:relative;line-height:1.5}
.podcast-section li::before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;border-radius:50%;background:#334155}
li.podcast-data::before{background:#3b82f6}
li.podcast-insight::before{background:#10b981}
li.podcast-quote{font-style:italic;color:#7c8ba0}
li.podcast-quote::before{background:#f59e0b}
li.podcast-signal::before{background:#ef4444}
li.podcast-contrarian::before{background:#8b5cf6}
.podcast-aggregate{max-width:800px}
.podcast-agg-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.podcast-agg-header h3{font-size:1.1rem;color:#e2e8f0;margin:0}
.podcast-agg-count{font-size:.75rem;color:#475569}
.podcast-agg-summary{font-size:.9rem;color:#cbd5e1;line-height:1.8;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px}
.podcast-cluster{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px}
.podcast-cluster-theme{font-size:.9rem;font-weight:600;color:#e2e8f0;margin-bottom:6px}
.podcast-cluster-body{font-size:.82rem;color:#94a3b8;line-height:1.6}
.podcast-cluster-sources{font-size:.72rem;color:#475569;margin-top:6px}
.podcast-cluster-consensus{font-size:.78rem;color:#10b981;margin-top:4px}
.podcast-cluster-disagree{font-size:.78rem;color:#f59e0b;margin-top:4px}
.podcast-cluster-devs{font-size:.8rem;color:#94a3b8;margin-top:6px}
.podcast-cluster-devs ul{margin-top:4px}

  @media(max-width:680px){
    .sidebar-nav{grid-template-columns:1fr}
    .sidebar-brand .name{font-size:1rem}
    .header,.aidc-header,.rss-header{padding:16px}
    .company-tabs,.stabs,.aidc-tabs,.region-tabs,.btn-group{width:100%}
    .company-tabs,.aidc-tabs,.region-tabs{margin-left:0}
    .stab,.atab,.btn-group button{flex:1;justify-content:center;text-align:center}
    .upload-inner,.upload-inner.two-col{grid-template-columns:1fr}
    .card{padding:16px}
    .plot-area{height:clamp(320px,50vh,520px)}
  }

/* ═══════════════════════════════════════════════════════════
   BRIEFING MODULE
═══════════════════════════════════════════════════════════ */
.briefing-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 0;gap:16px}
.briefing-header h1{font-size:1.25rem;color:#e2e8f0;margin:0}
.briefing-header .sub{font-size:.72rem;color:#475569;margin-top:2px}
.briefing-tabs{display:flex;gap:4px}
.briefing-tab-btn{background:#1a2030;border:1px solid #1e2a3a;color:#94a3b8;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .15s}
.briefing-tab-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}
.briefing-tab-btn:hover:not(.active){background:#1e2a3a}
.briefing-actions{padding:12px 28px;display:flex;align-items:center;gap:12px}
.briefing-gen-btn{background:#2563eb;color:#fff;border:none;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:.78rem;font-weight:500;transition:all .15s}
.briefing-content{padding:16px 28px 24px}
.briefing-empty{text-align:center;padding:48px 0;color:#64748b;font-size:.85rem}
.briefing-report{background:#111827;border:1px solid #1e2a3a;border-radius:12px;padding:20px 24px}
.briefing-report-meta{font-size:.72rem;color:#475569;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #1e2a3a}
.briefing-report-body{font-size:.82rem;color:#cbd5e1;line-height:1.7}
.briefing-report-body p{margin:8px 0}
.briefing-report-body b{color:#e2e8f0}
.briefing-section-head{margin-top:20px;margin-bottom:8px;font-size:.88rem;color:#60a5fa;font-weight:700;border-bottom:1px solid #1e2a38;padding-bottom:4px}
.briefing-section-block{margin-top:20px;padding-top:16px;border-top:1px solid #1e2a3a}
.briefing-section-block:first-child{margin-top:0;padding-top:0;border-top:none}
.briefing-section-label{font-size:.82rem;font-weight:600;color:#e2e8f0;margin-bottom:12px}
.briefing-summarize-btn{background:#1e3a5f;color:#93c5fd;border:1px solid #2563eb;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:.72rem;transition:all .15s}
.briefing-summarize-btn:hover{background:#2563eb;color:#fff}
.briefing-status{font-size:.7rem;color:#64748b;margin-left:8px}
.briefing-auto-bar{padding:12px 0 8px;display:flex;align-items:center}
.briefing-report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #1e2a3a}
.briefing-export-btn{background:#1e3a5f;color:#93c5fd;border:1px solid #2563eb;padding:6px 16px;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .15s}
.briefing-export-btn:hover{background:#2563eb;color:#fff}
.briefing-date-card{border-left:3px solid #2563eb;margin-bottom:16px}
.briefing-date-card>.podcast-card-body{padding:20px 12px 12px}
.briefing-date-card>.podcast-card-body .briefing-section-block{margin-top:20px;padding-top:16px}
.briefing-date-card>.podcast-card-body .briefing-section-block:first-child{margin-top:0;padding-top:0}
.briefing-date-card>.podcast-card-body .briefing-section-label{margin-bottom:16px;font-size:.85rem}
.briefing-date-card>.podcast-card-body .podcast-card{margin-left:0;border-left:none;margin-top:12px}
.briefing-date-card>.podcast-card-body .podcast-card:first-child{margin-top:0}
.briefing-date-card>.podcast-card-body .podcast-card.expanded .podcast-card-body{display:block}

/* ═══════════════════════════════════════════════════════════
   AI 追踪 — unified module (LLM + 变现 + Consumer AI)
═══════════════════════════════════════════════════════════ */
.ai-header{
  margin:4px 4px 0;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(22,31,40,.96), rgba(17,25,33,.96));
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(14px);
}
.ai-header h1{margin:0;color:var(--text)}
.ai-header .module-panel-title{font-size:1.08rem}
.ai-tab-bar{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.ai-tab{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:38px;padding:8px 16px;border-radius:12px;
  border:1px solid var(--line);background:rgba(255,255,255,.02);
  color:var(--muted);font-size:.74rem;font-weight:700;cursor:pointer;
  transition:background .16s ease, border-color .16s ease, color .16s ease;
}
.ai-tab:hover{color:var(--text);border-color:rgba(141,176,198,.24);background:rgba(141,176,198,.08)}
.ai-tab.active{color:var(--text);background:rgba(141,176,198,.12);border-color:rgba(141,176,198,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.ai-section{display:none}
.ai-section.active{display:block}
.ai-section-body{padding:24px 8px 18px}
.adopt-panel{display:none}
.adopt-panel.active{display:block}

/* ── AI Labs Scorecard ── */
.ai-scorecard{
  margin:8px 4px 0;padding:18px 22px;
  border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(180deg,rgba(15,18,25,.7),rgba(13,17,23,.7));
}
.ai-sc-title{font-size:.68rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:#475569;margin-bottom:14px}
.ai-sc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.ai-sc-col{text-align:center}
.ai-sc-provider{font-size:.72rem;font-weight:600;color:#94a3b8;margin-bottom:6px;white-space:nowrap}
.ai-sc-score{font-size:1.8rem;font-weight:800;line-height:1;margin-bottom:10px;font-variant-numeric:tabular-nums}
.ai-sc-dim{margin-bottom:6px}
.ai-sc-dim-label{display:flex;justify-content:space-between;font-size:.62rem;color:#475569;margin-bottom:3px}
.ai-sc-dim-val{font-weight:700;color:#94a3b8;font-variant-numeric:tabular-nums}
.ai-sc-bar{height:4px;background:#0f1219;border-radius:3px;overflow:hidden}
.ai-sc-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}
.ai-sc-sub{display:flex;justify-content:space-between;font-size:.55rem;color:#475569;margin-top:3px}
.ai-sc-sub b{color:#64748b;font-weight:700}
@media(max-width:760px){.ai-sc-grid{grid-template-columns:repeat(2,1fr)}}

/* ═══════════════════════════════════════════════════════════
   LLM BENCHMARK PERFORMANCE (screenshot-style)
═══════════════════════════════════════════════════════════ */
.bp-page{padding:24px 28px 20px}

/* Title */
.bp-title-block{margin-bottom:18px}
.bp-title{font-size:2rem;font-weight:700;color:#e2e8f0;margin:0 0 6px;letter-spacing:-.02em}
.bp-subtitle{font-size:.85rem;color:#64748b;margin:0;line-height:1.4}

/* Category tabs — uses .stabs container */

/* Chart section */
.bp-chart-section{position:relative;margin-bottom:20px}
.bp-chart-label{font-size:.88rem;font-weight:600;color:#e2e8f0;margin-bottom:2px}
.bp-chart-sublabel{font-size:.7rem;color:#475569;margin-bottom:6px}
.bp-chart-glow{position:absolute;top:28px;left:0;right:0;height:120px;
  background:linear-gradient(180deg,rgba(220,38,38,.12) 0%,transparent 100%);
  pointer-events:none;z-index:0;border-radius:4px 4px 0 0}

/* Legend below chart */
.bp-legend{display:flex;flex-wrap:wrap;gap:14px;padding:8px 0 4px;font-size:.7rem;color:#94a3b8}
.bp-legend-item{display:flex;align-items:center;gap:5px;white-space:nowrap}
.bp-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

/* ── 3-column stats ── */
.bp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:8px 0 16px;padding:20px 0;border-top:1px solid #1e293b}

.bp-col-title{font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px}
.bp-col-title--red{color:#ef4444}
.bp-col-title--white{color:#94a3b8}

.bp-stat-row{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-size:.8rem}
.bp-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.bp-stat-name{color:#e2e8f0;font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-stat-val{font-weight:700;font-variant-numeric:tabular-nums;min-width:40px;text-align:right}
.bp-stat-rate{color:#475569;font-size:.7rem;font-variant-numeric:tabular-nums;min-width:60px;text-align:right}

/* Footer */
.bp-footer{font-size:.72rem;color:#475569;display:flex;gap:20px;padding-top:4px;border-top:1px solid #1e293b;margin-bottom:8px}
.bp-footer-item{display:flex;align-items:center;gap:5px}
.bp-footer-dot{width:6px;height:6px;border-radius:50%}

/* ── Benchmark sub-sections ── */
.bp-bench-section{margin-top:28px;padding-top:20px;border-top:1px solid #1e293b}
.bp-bench-title{font-size:1.1rem;font-weight:700;color:#e2e8f0;margin-bottom:2px}
.bp-bench-subtitle{font-size:.7rem;color:#475569;margin-bottom:10px}

@media(max-width:760px){
  .bp-cols{grid-template-columns:1fr;gap:18px}
  .bp-title{font-size:1.5rem}
}

/* ═══════════════════════════════════════════════════════════
   UNIFIED MODULE POLISH
═══════════════════════════════════════════════════════════ */
.module-title-group{display:flex;align-items:center;gap:10px}
.module-title-stack{display:flex;flex-direction:column;gap:4px}
.module-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.module-panel-title{
  font-size:1.02rem;
  font-weight:700;
  color:var(--text);
  letter-spacing:.01em;
}
.module-panel-subtitle{
  font-size:.74rem;
  color:var(--muted);
  line-height:1.5;
}
.module-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.module-action-btn,.module-link-btn,.briefing-gen-btn,.briefing-export-btn,.briefing-summarize-btn,.space-tab-btn,.ait-tab-btn,.podcast-tab-btn,.briefing-tab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:8px 14px;
  border-radius:11px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-size:.74rem;
  font-weight:700;
  cursor:pointer;
  text-decoration:none;
  transition:background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.module-action-btn:hover,.module-link-btn:hover,.briefing-gen-btn:hover,.briefing-export-btn:hover,.briefing-summarize-btn:hover,.space-tab-btn:hover,.ait-tab-btn:hover,.podcast-tab-btn:hover,.briefing-tab-btn:hover{
  color:var(--text);
  border-color:rgba(141,176,198,.24);
  background:rgba(141,176,198,.08);
}
.module-action-btn:focus-visible,.module-link-btn:focus-visible,.briefing-gen-btn:focus-visible,.briefing-export-btn:focus-visible,.briefing-summarize-btn:focus-visible,.space-tab-btn:focus-visible,.ait-tab-btn:focus-visible,.podcast-tab-btn:focus-visible,.briefing-tab-btn:focus-visible,.nav-item:focus-visible,.rss-filter:focus-visible,.rss-hbtn:focus-visible,.upload-toggle:focus-visible,.ctab:focus-visible,.stab:focus-visible,.atab:focus-visible,.chip:focus-visible,.btn-group button:focus-visible,input:focus-visible,button:focus-visible,a:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(141,176,198,.12);
}
.module-action-btn.primary,.briefing-gen-btn,.briefing-export-btn{
  background:linear-gradient(180deg, rgba(141,176,198,.22), rgba(141,176,198,.14));
  color:var(--text);
  border-color:rgba(141,176,198,.24);
}
.module-action-btn.compact,.module-link-btn.compact,.briefing-summarize-btn{
  min-height:30px;
  padding:5px 10px;
  border-radius:10px;
  font-size:.7rem;
}
.space-header,.ait-header,.briefing-header,.podcast-header{
  margin:4px 4px 0;
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(22,31,40,.96), rgba(17,25,33,.96));
  box-shadow:var(--shadow-md);
  backdrop-filter:blur(14px);
}
.space-header h1,.ait-header h1,.briefing-header h1,.podcast-header h1{margin:0;color:var(--text)}
.space-header .module-panel-title,.ait-header .module-panel-title,.briefing-header .module-panel-title,.podcast-header .module-panel-title{
  font-size:1.08rem;
}
.space-header-row,.ait-header-row,.briefing-header,.podcast-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.space-tab-bar,.ait-tab-bar,.briefing-tabs,.podcast-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.space-tab-btn,.ait-tab-btn,.briefing-tab-btn,.podcast-tab-btn{
  min-height:38px;
  padding:8px 16px;
  border-radius:12px;
}
.space-tab-btn.active,.ait-tab-btn.active,.briefing-tab-btn.active,.podcast-tab-btn.active{
  color:var(--text);
  background:rgba(141,176,198,.12);
  border-color:rgba(141,176,198,.24);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.space-panel,.ait-panel,.briefing-content,.podcast-content{
  padding:24px 8px 18px;
}
.briefing-content,.podcast-content{
  overflow-y:auto;
  max-height:none;
}
.space-kpi,.ait-kpi{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
  box-shadow:var(--shadow-md);
  padding:16px 18px;
}
.space-kpi::before,.ait-kpi::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--kpi-accent, rgba(141,176,198,.44));
}
.space-chart-box,.ait-chart-box{
  border-radius:18px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
  box-shadow:var(--shadow-md);
  padding:18px 20px;
}
.space-kpi-lbl,.ait-kpi-lbl,.space-chart-ttl,.ait-chart-ttl,.space-section-ttl,.ait-section-ttl{
  color:var(--accent-2);
  font-size:.66rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.space-kpi-val,.ait-kpi-val{
  color:var(--text);
  font-size:1.5rem;
  font-weight:700;
  line-height:1.05;
}
.space-kpi-sub,.ait-kpi-sub,.space-tbl td{color:var(--muted)}
.space-tbl,.gpu-breakdown-table{width:100%;border-collapse:collapse}
.space-tbl th,.gpu-breakdown-table th{
  padding:9px 10px;
  text-align:left;
  font-size:.64rem;
  font-weight:800;
  color:var(--accent-2);
  text-transform:uppercase;
  letter-spacing:.12em;
  border-bottom:1px solid rgba(148,184,198,.14);
}
.space-tbl td,.gpu-breakdown-table td{
  padding:9px 10px;
  border-bottom:1px solid rgba(148,184,198,.09);
  font-size:.74rem;
}
.space-tbl tr:last-child td,.gpu-breakdown-table tr:last-child td{border-bottom:none}
.sp-badge{
  font-size:.62rem;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid transparent;
}
.sp-s{color:#7ce5b2;background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.18)}
.sp-f{color:#f7a1ae;background:rgba(244,63,94,.12);border-color:rgba(244,63,94,.18)}
.sp-p{color:#f3c082;background:rgba(251,146,60,.12);border-color:rgba(251,146,60,.18)}
.sp-u{color:#acd0ec;background:rgba(96,165,250,.12);border-color:rgba(96,165,250,.18)}
.podcast-card,.podcast-agg-summary,.podcast-cluster,.briefing-report{
  background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.podcast-card,.briefing-report{
  border-radius:18px;
  padding:18px 20px;
}
.podcast-card{
  margin-bottom:14px;
  transition:border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.podcast-card:hover{
  border-color:rgba(141,176,198,.24);
  transform:translateY(-1px);
}
.podcast-card.expanded .podcast-card-body{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(148,184,198,.12);
}
.podcast-date-header{
  color:var(--accent-2);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(148,184,198,.12);
  padding:6px 0 10px;
  margin-bottom:12px;
}
.podcast-channel{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  color:var(--accent-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
}
.podcast-title{
  color:var(--text);
  font-size:.98rem;
  font-weight:700;
  line-height:1.45;
}
.podcast-meta,.podcast-cluster-sources,.podcast-agg-count,.briefing-report-meta,.briefing-status{color:var(--muted)}
.podcast-tag{
  padding:4px 10px;
  border-radius:999px;
  background:rgba(141,176,198,.08);
  border:1px solid rgba(141,176,198,.14);
  color:var(--accent-2);
}
.podcast-summary,.podcast-cluster-body,.briefing-report-body{font-size:.84rem;line-height:1.8}
.podcast-section-title,.briefing-section-label,.briefing-section-head{
  color:var(--accent-2);
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.podcast-section li{
  color:var(--text);
  padding:6px 0 6px 16px;
}
.podcast-section li::before{
  width:6px;
  height:6px;
  top:13px;
  background:rgba(141,176,198,.44);
}
.podcast-quote{color:#b8c5cf}
.podcast-empty,.briefing-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:220px;
  border:1px dashed rgba(148,184,198,.16);
  border-radius:18px;
  background:rgba(255,255,255,.015);
  color:var(--muted);
  text-align:center;
}
.empty-state-icon{
  font-size:1.8rem;
  line-height:1;
}
.empty-state-note,.pending-state,.muted-inline,.rss-helper-text{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.7;
}
.pending-state{padding-top:0}
.briefing-auto-bar{padding:0 0 14px}
.briefing-report-header{
  border-bottom:1px solid rgba(148,184,198,.12);
  padding-bottom:12px;
}
.briefing-section-head{
  border-bottom:1px solid rgba(148,184,198,.12);
  padding-bottom:6px;
}
.briefing-section-block{
  border-top:1px solid rgba(148,184,198,.18);
  padding-top:20px;
  margin-top:24px;
}
.briefing-section-block:first-child{
  border-top:none;
  margin-top:0;
  padding-top:0;
}
.briefing-date-card{
  border-left:none;
  position:relative;
}
.briefing-date-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:18px 0 0 18px;
  background:rgba(141,176,198,.5);
}
.briefing-card-title{font-size:.9rem}
.briefing-summary-chips{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1 1 auto;
  flex-wrap:wrap;
}
.briefing-summary-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(148,184,198,.14);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:.7rem;
  line-height:1;
}
.briefing-summary-chip strong{
  color:var(--text);
  font-size:.78rem;
}
.briefing-entry-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.briefing-entry-card{
  position:relative;
  overflow:hidden;
  padding:16px 18px;
  border-radius:16px;
  border:1px solid rgba(148,184,198,.12);
  background:rgba(4,11,15,.44);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.briefing-entry-card:hover{
  border-color:rgba(148,184,198,.22);
  box-shadow:0 12px 24px rgba(3,9,18,.14), inset 0 1px 0 rgba(255,255,255,.03);
  transform:translateY(-1px);
}
.briefing-entry-card.is-news{
  background:linear-gradient(180deg, rgba(19,28,36,.94), rgba(11,18,24,.98));
}
.briefing-entry-card.is-news::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  border-radius:16px 0 0 16px;
  background:rgba(141,176,198,.26);
}
.briefing-entry-card.is-important{
  border-color:rgba(191,163,122,.28);
  background:linear-gradient(180deg, rgba(28,36,43,.96), rgba(11,18,24,.98));
  box-shadow:0 14px 28px rgba(3,9,18,.16), inset 0 1px 0 rgba(255,255,255,.03);
}
.briefing-entry-card.is-important::before{
  background:linear-gradient(180deg, rgba(191,163,122,.92), rgba(141,176,198,.52));
}
.briefing-entry-source-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.briefing-entry-source{
  color:var(--accent-2);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.briefing-entry-badges{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:wrap;
}
.briefing-entry-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(148,184,198,.16);
  background:rgba(141,176,198,.08);
  color:var(--accent-2);
  font-size:.66rem;
  font-weight:700;
  line-height:1;
}
.briefing-entry-badge.is-highlight{
  border-color:rgba(191,163,122,.26);
  background:rgba(191,163,122,.14);
  color:#ecd3ad;
}
.briefing-entry-title{
  display:block;
  color:var(--text);
  font-size:.96rem;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
  margin-bottom:6px;
}
a.briefing-entry-title:hover{
  color:#dbe7f2;
}
.briefing-entry-meta{
  color:var(--muted);
  font-size:.72rem;
  line-height:1.6;
  margin-bottom:8px;
}
.briefing-entry-summary{
  color:var(--text);
  font-size:.82rem;
  line-height:1.8;
}
.briefing-entry-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.briefing-entry-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(148,184,198,.14);
  background:rgba(141,176,198,.08);
  color:var(--accent-2);
  font-size:.68rem;
  line-height:1;
}
.briefing-entry-section{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(148,184,198,.1);
}
.briefing-entry-section-title{
  color:var(--accent-2);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.briefing-entry-section ul{
  list-style:none;
  margin:0;
  padding:0;
}
.briefing-entry-section li{
  position:relative;
  color:#cad6df;
  font-size:.8rem;
  line-height:1.75;
  padding:6px 0 6px 16px;
}
.briefing-entry-section li::before{
  content:'';
  position:absolute;
  left:0;
  top:16px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(141,176,198,.44);
}
.briefing-entry-section li strong{
  color:var(--text);
}
.summary-card,.inline-stack-card,.gpu-breakdown-card{
  background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-md);
}
.inline-stack-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 18px;
}
.gpu-breakdown-card{
  flex:1;
  min-width:340px;
  max-width:calc(50% - 9px);
  box-sizing:border-box;
  padding:18px 20px;
}
.gpu-breakdown-note,.gpu-breakdown-from,.empty-table-row,.space-loading{
  color:var(--muted);
  font-size:.76rem;
}
.gpu-breakdown-title-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.gpu-forecast-flag{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  border-radius:999px;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.18);
  color:#f1c481;
  font-size:.66rem;
  font-weight:700;
}
.gpu-breakdown-value{
  color:var(--text);
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.gpu-breakdown-company,.space-emphasis{
  color:var(--text);
  white-space:nowrap;
}
.gpu-breakdown-from{white-space:nowrap}
.upload-zone-static{cursor:default;grid-column:1/-1}
.upload-body-stack{
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:12px 16px;
  pointer-events:auto;
}
.upload-label-row,.toolbar-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.upload-ico.gpu{background:#2a220f;color:#f3d58f;font-size:.68rem}
.upload-ico.dc{background:#0d1a2e;color:#93c5fd;font-size:.65rem;line-height:1.2}
.upload-ico.tc{background:#102133;color:#86b8ff;font-size:.68rem;letter-spacing:-.02em}
.upload-ico.gh{
  background:#121821;
  color:#c8d1d9;
  font-size:.68rem;
  border:1px solid rgba(200,209,217,.22);
}
.upload-ico.dune{
  background:#28163f;
  color:#d8c3ff;
  font-size:.72rem;
}
.token-input,.gh-token-input,#dune-key-input{
  width:100%;
  padding:10px 12px !important;
  font-size:.73rem !important;
}
.subtle-status{color:var(--muted)}
.no-data-block{
  padding:40px;
  text-align:center;
  color:var(--muted);
  font-size:.88rem;
  border:1px dashed rgba(148,184,198,.16);
  border-radius:16px;
  background:rgba(255,255,255,.015);
}
.chart-tall{height:440px}
.chart-map{height:500px}
.plot-hidden{display:none}
.rss-toolbar-divider,.section-divider{
  width:1px;
  height:16px;
  background:rgba(148,184,198,.14);
  margin:0 4px;
}
.nav-section.with-gap{margin-top:6px}
.nav-alert{
  color:#f0a0ad;
  font-size:.65em;
  margin-left:3px;
}
.rss-empty small,.rss-helper-text{font-size:.7rem}
.rss-summary-body .summary-heading{
  margin-top:14px;
  margin-bottom:6px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(148,184,198,.12);
  color:var(--accent-2);
  font-size:.8rem;
  font-weight:700;
}
.summary-meta-row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.space-empty-state{
  grid-column:1/-1;
  text-align:center;
  padding:24px 0;
  color:var(--muted);
  font-size:.78rem;
}
.aidc-header .module-actions,.header .module-title-group{width:auto}

@media(max-width:920px){
  .space-header,.ait-header,.briefing-header,.podcast-header{
    margin:0;
    border-radius:24px;
  }
  .space-panel,.ait-panel,.briefing-content,.podcast-content{
    padding:18px 0 8px;
  }
}

@media(max-width:680px){
  .module-actions,.space-header-row,.ait-header-row,.briefing-header,.podcast-header{
    width:100%;
  }
  .space-tab-bar,.ait-tab-bar,.briefing-tabs,.podcast-tabs{
    width:100%;
  }
  .space-tab-btn,.ait-tab-btn,.briefing-tab-btn,.podcast-tab-btn,.module-action-btn,.module-link-btn{
    flex:1;
  }
  .gpu-breakdown-card{
    min-width:0;
    max-width:none;
  }
  .briefing-entry-source-row{
    flex-direction:column;
    align-items:flex-start;
  }
  .briefing-entry-badges{
    justify-content:flex-start;
  }
}

/* ═══════════════════════════════════════════════════════════
   VISUAL SYSTEM UNIFICATION
═══════════════════════════════════════════════════════════ */
.module-title-group{
  flex-wrap:wrap;
}
.header .module-title-stack,
.aidc-header .module-title-stack,
.space-header .module-title-stack,
.ai-header .module-title-stack,
.briefing-header .module-title-stack,
.rss-title-stack{
  flex:1 1 320px;
  min-width:min(100%, 280px);
}
.header .module-actions,
.aidc-header .module-actions,
.rss-header .module-actions{
  margin-left:auto;
}
.header .module-actions,
.aidc-header .module-actions,
.rss-header .module-actions,
.space-header-row .module-action-btn,
.briefing-tabs,
.ai-tab-bar{
  align-self:center;
}
.header,
.aidc-header,
.rss-header,
.space-header,
.ai-header,
.briefing-header,
.podcast-header{
  position:relative;
  overflow:hidden;
}
.header::before,
.aidc-header::before,
.rss-header::before,
.space-header::before,
.ai-header::before,
.briefing-header::before,
.podcast-header::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top right, rgba(191,163,122,.15), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.035), transparent 46%);
  pointer-events:none;
}
.header > *,
.aidc-header > *,
.rss-header > *,
.space-header > *,
.ai-header > *,
.briefing-header > *,
.podcast-header > *{
  position:relative;
  z-index:1;
}
.header h1,
.aidc-header h1,
.space-header h1,
.ai-header h1,
.briefing-header h1,
.podcast-header h1{
  font-size:1.06rem;
  letter-spacing:.01em;
}
.module-panel-subtitle{
  max-width:56ch;
}
.badge{
  backdrop-filter:blur(10px);
}
.rss-title-stack .module-title-group{
  align-items:center;
}
.rss-header{
  align-items:center;
}
.rss-header .module-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.company-tabs,
.aidc-tabs,
.space-tab-bar,
.ai-tab-bar,
.briefing-tabs,
.podcast-tabs{
  display:inline-flex;
  gap:6px;
  flex-wrap:wrap;
  padding:4px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(6,15,20,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.company-tabs{
  margin-left:0;
}
.ctab,
.stab,
.atab,
.space-tab-btn,
.ait-tab-btn,
.briefing-tab-btn,
.podcast-tab-btn,
.ai-tab,
.btn-group button{
  min-height:38px;
  padding:8px 15px;
  border-radius:10px;
  border:1px solid transparent;
  font-size:.75rem;
  font-weight:700;
  color:var(--muted);
  background:transparent;
  transition:background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.ctab:hover,
.stab:hover,
.atab:hover,
.space-tab-btn:hover,
.ait-tab-btn:hover,
.briefing-tab-btn:hover,
.podcast-tab-btn:hover,
.ai-tab:hover,
.btn-group button:hover{
  color:var(--text);
  border-color:rgba(141,176,198,.18);
}
.ctab.active,
.stab.active,
.atab.active,
.space-tab-btn.active,
.ait-tab-btn.active,
.briefing-tab-btn.active,
.podcast-tab-btn.active,
.ai-tab.active,
.btn-group button.active{
  color:var(--text);
  background:rgba(141,176,198,.12);
  border-color:rgba(141,176,198,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.main,
.space-panel,
.ait-panel,
.briefing-content,
.podcast-content,
.bp-page,
.adopt-panel{
  padding-left:8px;
  padding-right:8px;
}
.adopt-panel{
  padding-bottom:18px;
}
.ai-scorecard,
.chart-box,
.kpi-card,
.space-chart-box,
.ait-chart-box,
.summary-card,
.inline-stack-card,
.gpu-breakdown-card,
.briefing-entry-card{
  position:relative;
  overflow:hidden;
}
.chart-box,
.kpi-card{
  background:linear-gradient(180deg, rgba(20,29,38,.96), rgba(16,24,31,.98));
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
  border-radius:18px;
}
.kpi-row{
  gap:14px;
  margin-bottom:20px;
}
.kpi-card{
  flex:1 1 180px;
  min-width:180px;
  padding:16px 18px;
}
.kpi-card::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--kpi-accent, rgba(141,176,198,.42));
}
.kpi-card:nth-child(2n){--kpi-accent:rgba(52,211,153,.42)}
.kpi-card:nth-child(3n){--kpi-accent:rgba(251,146,60,.42)}
.kpi-card:nth-child(4n){--kpi-accent:rgba(96,165,250,.42)}
.kpi-lbl{
  color:var(--accent-2);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.14em;
}
.kpi-val{
  color:var(--text);
  font-size:1.52rem;
}
.kpi-sub{
  color:var(--muted);
}
.chart-box{
  min-height:320px;
}
.no-data-block,
.space-empty-state,
.rss-empty,
.briefing-empty,
.podcast-empty{
  border:1px dashed rgba(148,184,198,.16);
  background:rgba(255,255,255,.018);
  border-radius:18px;
}
.rss-empty{
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.briefing-content,
.podcast-content{
  padding-top:24px;
}
.bp-page,
.ai-section-body{
  padding-top:24px;
}
.adopt-panel.active,
.section-panel.active,
.company-section.active,
.aidc-section.active{
  animation:fade-up .28s ease;
}
.aidc-header .module-actions{
  width:auto;
}

@media(max-width:920px){
  .header .module-actions,
  .aidc-header .module-actions,
  .rss-header .module-actions{
    margin-left:0;
    width:100%;
  }
  .header .module-actions,
  .aidc-header .module-actions{
    justify-content:space-between;
  }
  .company-tabs,
  .aidc-tabs,
  .space-tab-bar,
  .ai-tab-bar,
  .briefing-tabs,
  .podcast-tabs{
    width:100%;
  }
}

@media(max-width:680px){
  .ctab,
  .stab,
  .atab,
  .space-tab-btn,
  .ait-tab-btn,
  .briefing-tab-btn,
  .podcast-tab-btn,
  .ai-tab,
  .btn-group button{
    flex:1 1 calc(50% - 6px);
    text-align:center;
    justify-content:center;
  }
  .rss-header .module-actions{
    width:100%;
  }
}
