    :root { --bg:#0a0e1a; --panel:#111a2e; --panel2:#0e1626; --line:#1e2c44;
            --text:#c8d6e5; --muted:#7a8aa3; --gold:#f0c040; --blue:#5b9bd5; --green:#4cc38a; --red:#e06c75; }
    * { box-sizing:border-box; }
    body { margin:0; background:var(--bg); color:var(--text);
           font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
    header { padding:18px 24px; border-bottom:1px solid var(--line); display:flex; align-items:baseline; gap:14px; }
    header h1 { font-size:19px; margin:0; font-weight:650; letter-spacing:.3px; }
    header .sub { color:var(--muted); font-size:13px; }
    .chat-toggle { margin-left:auto; align-self:center; background:var(--gold); color:#0a0e1a;
      border:none; border-radius:8px; padding:7px 14px; font-size:13px; font-weight:650; cursor:pointer; }
    .chat-toggle:hover { filter:brightness(1.08); }
    .chat-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.35); opacity:0; pointer-events:none;
      transition:opacity .2s; z-index:40; }
    .chat-backdrop.open { opacity:1; pointer-events:auto; }
    .chat-panel { position:fixed; top:0; right:0; height:100vh; width:380px; max-width:92vw; z-index:50;
      background:var(--panel); border-left:1px solid var(--line); display:flex; flex-direction:column;
      transform:translateX(100%); transition:transform .22s ease; box-shadow:-8px 0 24px rgba(0,0,0,.3); }
    .chat-panel.open { transform:translateX(0); }
    .chat-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px;
      padding:14px 16px; border-bottom:1px solid var(--line); }
    .chat-sub { color:var(--muted); font-size:11px; margin-top:2px; }
    .chat-x { background:none; border:none; color:var(--muted); font-size:16px; cursor:pointer; }
    .chat-log { flex:1; overflow-y:auto; padding:14px 16px; display:flex; flex-direction:column; gap:10px; }
    .chat-msg { font-size:13px; line-height:1.45; padding:9px 12px; border-radius:10px; max-width:90%;
      white-space:pre-wrap; word-wrap:break-word; }
    .chat-msg.user { align-self:flex-end; background:var(--gold); color:#0a0e1a; }
    .chat-msg.bot { align-self:flex-start; background:var(--bg); border:1px solid var(--line); color:var(--text); }
    .chat-msg.bot.error { border-color:rgba(224,108,117,.5); color:#e06c75; }
    .chat-msg.bot.thinking { color:var(--muted); font-style:italic; }
    .chat-form { display:flex; gap:8px; padding:12px 16px; border-top:1px solid var(--line); }
    .chat-form textarea { flex:1; resize:none; background:var(--bg); color:var(--text);
      border:1px solid var(--line); border-radius:8px; padding:8px 10px; font:inherit; font-size:13px; }
    .chat-form button { background:var(--gold); color:#0a0e1a; border:none; border-radius:8px;
      padding:0 16px; font-weight:650; cursor:pointer; }
    .chat-form button:disabled { opacity:.5; cursor:default; }
    .tabs { display:flex; gap:4px; padding:0 24px; border-bottom:1px solid var(--line); }
    .tab-btn { background:none; border:none; color:var(--muted); padding:12px 16px; cursor:pointer;
               font-size:14px; border-bottom:2px solid transparent; }
    .tab-btn.active { color:var(--gold); border-bottom-color:var(--gold); }
    .tab-btn:hover:not(.active) { color:var(--text); }
    .filters { display:flex; flex-wrap:wrap; gap:12px; padding:14px 24px; border-bottom:1px solid var(--line);
               align-items:flex-end; background:var(--panel2); }
    .filters label { display:flex; flex-direction:column; gap:4px; font-size:11px; color:var(--muted); }
    .filters select, .filters input { background:var(--bg); color:var(--text); border:1px solid var(--line);
               border-radius:6px; padding:6px 8px; font-size:13px; min-width:130px; }
    .filters button { background:var(--gold); color:#0a0e1a; border:none; border-radius:6px;
               padding:8px 16px; cursor:pointer; font-weight:600; font-size:13px; }
    .filters button.ghost { background:transparent; color:var(--muted); border:1px solid var(--line); }
    .chips { display:flex; flex-wrap:wrap; gap:8px; padding:0 24px 12px; align-items:center; }
    .chip { display:inline-flex; align-items:center; gap:6px; background:rgba(240,192,64,.12);
            border:1px solid var(--gold); color:var(--gold); border-radius:16px; padding:3px 10px;
            font-size:12px; cursor:pointer; user-select:none; }
    .chip:hover { background:rgba(240,192,64,.22); }
    .chip b { font-weight:700; opacity:.8; }
    .chip-empty { color:var(--muted); font-size:12px; font-style:italic; }
    .panel { display:none; padding:20px 24px; }
    .panel.active { display:block; }
    .meta-bar { color:var(--muted); font-size:12px; margin-bottom:14px; }
    .cards { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:18px; }
    .card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px; min-width:150px; }
    .card .v { font-size:24px; font-weight:680; color:var(--gold); }
    .card .l { font-size:11px; color:var(--muted); margin-top:2px; }
    .grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(420px,1fr)); gap:16px; }
    .chart-box { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
    .chart-box h3 { margin:0 0 2px; font-size:14px; font-weight:620; }
    .chart-box .q { color:var(--muted); font-size:12px; margin:0 0 10px; line-height:1.4; }
    .chart-box.blocked { opacity:.72; border-style:dashed; }
    .blocked-note { color:var(--muted); font-size:12px; background:rgba(224,108,117,.08);
                    border:1px solid rgba(224,108,117,.3); border-radius:8px; padding:10px 12px; }
    .chart-box .note { color:var(--muted); font-size:11px; margin-top:8px; font-style:italic; }
    .chart-wrap { position:relative; height:260px; }
    .empty { color:var(--muted); font-size:13px; padding:30px 0; text-align:center; }
    .placeholder { text-align:center; padding:80px 20px; color:var(--muted); }
    .placeholder .big { font-size:42px; margin-bottom:12px; opacity:.5; }
    .badge { display:inline-block; background:var(--panel); border:1px solid var(--line);
             border-radius:20px; padding:3px 10px; font-size:11px; color:var(--muted); margin-left:6px; }
    a { color:var(--blue); }
  
