
    @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&display=swap');

    :root {
      --banner-h: max(112px, 9.1667vw);
      --sidebar-w: 244px;
      --panel: rgba(11, 26, 52, 0.9);
      --panel-2: rgba(13, 28, 54, 0.82);
      --panel-strong: rgba(8, 19, 41, 0.96);
      --line: rgba(219, 229, 244, 0.2);
      --text: #f7f9fc;
      --muted: #b7c2d6;
      --blue: #1d4ed8;
      --red: #dc2626;
      --cool: #93c5fd;
      --up: #4ade80;
      --down: #f87171;
      --amber: #f59e0b;
      --radius: 14px;
    }

    .flag-bg {
      background:
        radial-gradient(circle at 12% 14%, rgba(29, 78, 216, 0.18), rgba(29, 78, 216, 0.05) 18%, transparent 38%),
        linear-gradient(180deg, rgba(29, 78, 216, 0.08) 0%, rgba(29, 78, 216, 0.02) 30%, transparent 48%),
        repeating-linear-gradient(180deg, rgba(220,38,38,0.08) 0px, rgba(220,38,38,0.08) 34px, rgba(255,255,255,0) 34px, rgba(255,255,255,0) 68px),
        linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
      background-attachment: fixed;
    }

    * { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; height: 100%; color: var(--text); font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

    /* Banner */
    .banner {
      position: fixed; top: 0; left: 0; right: 0; height: var(--banner-h); z-index: 50;
      overflow: hidden; background: #e9f0fc;
      border-bottom: 1px solid rgba(29,78,216,0.22);
      box-shadow: 0 10px 30px rgba(4,10,26,0.28);
    }
    .banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: left center; z-index: 0; pointer-events: none; }
    .banner::after {
      content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; z-index: 2; pointer-events: none;
      background: linear-gradient(90deg, transparent, rgba(29,78,216,0.9), rgba(255,255,255,0.85), rgba(220,38,38,0.9), transparent);
    }
    .banner__side--right { position: absolute; z-index: 2; right: clamp(300px, 21vw, 430px); top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
    .banner__stats { display: flex; gap: 9px; }
    .banner__stat { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 16px; min-width: 96px; border-radius: 12px; background: rgba(8,22,50,0.9); border: 1px solid rgba(147,197,253,0.3); box-shadow: 0 6px 16px rgba(5,12,28,0.2); }
    .banner__stat b { font-size: 16px; font-weight: 800; color: #fff; letter-spacing: -0.02em; }
    .banner__stat span { font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(198,210,233,0.9); }
    .banner__follow { display: flex; align-items: center; gap: 8px; }
    .banner__follow-label { font-size: 10px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: #12306e; }
    .banner__soc { display: inline-flex; width: 28px; height: 28px; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 10px rgba(5,12,28,0.28); transition: transform .15s ease, box-shadow .15s ease; }
    .banner__soc img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .banner__soc:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(5,12,28,0.36); }
    .view-mode-toggle {
      position: absolute; z-index: 3; top: 10px; right: 14px; display: inline-flex; gap: 3px; padding: 3px;
      border: 1px solid rgba(29,78,216,0.3); border-radius: 8px; background: rgba(255,255,255,0.9);
      box-shadow: 0 4px 14px rgba(5,12,28,0.2); backdrop-filter: blur(8px);
    }
    .view-mode-toggle button {
      min-height: 30px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 0 9px;
      border: 0; border-radius: 5px; background: transparent; color: #33507e; cursor: pointer;
      font: inherit; font-size: 10px; font-weight: 800;
    }
    .view-mode-toggle button[aria-pressed="true"] { background: #0b1a34; color: #fff; }
    .view-mode-toggle svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .banner__alerts {
      position: absolute; z-index: 3; right: 14%; bottom: 0;
      display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px;
      border: 1px solid #b77908; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #fff1a8 0%, #e7b632 100%);
      color: #4b3300; box-shadow: 0 5px 16px rgba(103,72,7,0.28); cursor: pointer;
      font: inherit; font-size: 11px; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase;
    }
    .banner__alerts:hover { border-color: #8a5800; background: linear-gradient(180deg, #fff7cf 0%, #f1c84f 100%); }
    .banner__alerts svg, .local-alert-btn svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    @media (max-width: 1200px) and (min-width: 561px) { .banner__alerts { right: 39%; } }
    @media (max-width: 560px) { .banner__alerts { right: 12px; width: 38px; padding: 0; justify-content: center; } .banner__alerts span { display: none; } }
    @media (max-width: 1200px) { .banner__side--right { display: none; } }

    /* App shell */
    .app { position: fixed; top: var(--banner-h); left: 0; right: 0; bottom: 0; display: flex; }

    /* Global loading badge for tab/page transitions. */
    .page-load-indicator {
      position: fixed; top: calc(var(--banner-h) + 12px); right: 18px; z-index: 95;
      display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px;
      border-radius: 999px; border: 1px solid rgba(147,197,253,0.4);
      background: rgba(8,19,41,0.92); color: #dbeafe; font-size: 11px; font-weight: 800;
      letter-spacing: 0.05em; text-transform: uppercase;
      opacity: 0; transform: translateY(-5px); pointer-events: none;
      transition: opacity 0.18s ease, transform 0.18s ease;
      box-shadow: 0 10px 24px rgba(0,0,0,0.35);
    }
    .page-load-indicator.show { opacity: 1; transform: translateY(0); }
    .page-load-indicator .spin {
      width: 12px; height: 12px; border-radius: 50%;
      border: 2px solid rgba(191,219,254,0.35); border-top-color: #93c5fd;
      animation: pageSpin 0.8s linear infinite;
    }
    @keyframes pageSpin { to { transform: rotate(360deg); } }

    /* Sidebar */
    .sidebar {
      width: var(--sidebar-w); flex-shrink: 0; margin: 8px 0 8px 14px; border-radius: var(--radius);
      background: var(--panel); border: 1px solid var(--line); box-shadow: 0 10px 26px rgba(5,12,28,0.26);
      backdrop-filter: blur(8px); padding: 12px 12px; overflow-y: auto; display: flex; flex-direction: column; gap: 3px;
      transition: width 0.22s ease, margin 0.22s ease, padding 0.22s ease, opacity 0.18s ease, border-width 0.2s ease;
    }
    .sidebar__label { font-size: 10.5px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted); padding: 9px 12px 5px; }
    .sidebar__label:first-child { padding-top: 2px; }
    .sidebar-parent { display: flex; flex-direction: column; gap: 4px; }
    .sidebar-parent__row { display: grid; grid-template-columns: 1fr 34px; gap: 6px; align-items: center; }
    .sidebar-parent__chev {
      height: 34px; width: 34px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.2);
      background: transparent; color: rgba(255,255,255,0.76); cursor: pointer; font-size: 12px; line-height: 1;
      transition: all 180ms ease;
    }
    .sidebar-parent__chev:hover { border-color: rgba(255,255,255,0.44); color: #fff; }
    .sidebar-parent.expanded .sidebar-parent__chev { transform: rotate(180deg); }
    .sidebar-children { display: none; flex-direction: column; gap: 3px; margin-left: 14px; }
    .sidebar-parent.expanded .sidebar-children { display: flex; }
    .tab-btn {
      display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 13px; border-radius: 9999px;
      border: 1px solid rgba(255,255,255,0.2); background: transparent; color: rgba(255,255,255,0.76);
      font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
      text-align: left; cursor: pointer; transition: all 180ms ease;
    }
    .tab-btn--child { font-size: 0.67rem; letter-spacing: 0.07em; padding: 8px 12px; }
    .tab-btn--parent { padding-right: 9px; }
    .tab-btn:hover { border-color: rgba(255,255,255,0.44); color: #fff; }
    .tab-btn.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; border-color: transparent; box-shadow: 0 10px 20px rgba(29,78,216,0.24); }
    .tab-btn .ico { width: 18px; text-align: center; flex-shrink: 0; }
    .sidebar__footer { margin-top: auto; padding: 12px; font-size: 12px; color: var(--muted); border-top: 1px solid var(--line); }

    .panel-arrow {
      width: 24px;
      height: 56px;
      border: 1px solid rgba(147,197,253,0.34);
      border-radius: 999px;
      background: rgba(8,20,43,0.92);
      color: #dbeafe;
      cursor: pointer;
      font-size: 13px;
      font-weight: 800;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 10px 20px rgba(0,0,0,0.3);
      transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    }
    .panel-arrow:hover { border-color: rgba(147,197,253,0.6); background: rgba(13,32,66,0.95); }
    .panel-arrow--sidebar {
      position: absolute;
      top: 50%;
      left: calc(14px + var(--sidebar-w) - 24px);
      transform: translateY(-50%);
      z-index: 45;
    }
    .panel-arrow--sidebar:hover { transform: translateY(-50%) scale(1.04); }

    body.ui-sidebar-collapsed .sidebar {
      width: 0;
      margin: 8px 0;
      padding: 0;
      border-width: 0;
      opacity: 0;
      pointer-events: none;
    }
    body.ui-sidebar-collapsed .panel-arrow--sidebar { left: 0; }

    /* Content */
    .content { flex: 1; min-width: 0; overflow-y: auto; padding: 0 24px 30px; }

    /* Top News alert */
    .news-alert {
      display: flex; align-items: center; gap: 12px; margin: 14px 0 0; padding: 10px 14px; border-radius: 10px;
      background: linear-gradient(90deg, rgba(220,38,38,0.9), rgba(153,27,27,0.85)); border: 1px solid rgba(220,38,38,0.5);
    }
    .news-alert .badge { background: #fff; color: var(--red); font-weight: 800; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; }
    .news-alert a { color: #fff; font-weight: 700; text-decoration: none; font-size: 14px; }
    .news-alert .src { color: rgba(255,255,255,0.8); font-size: 12px; margin-left: auto; white-space: nowrap; }

    /* Global toolbar (sticky) */
    .topbar {
      position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
      padding: 12px 0; margin-top: 12px; background: linear-gradient(180deg, #ffffff 60%, rgba(255,255,255,0));
    }
    .seg { display: inline-flex; gap: 4px; padding: 4px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; }
    .seg button { border: 1px solid transparent; background: transparent; color: rgba(255,255,255,0.8); font-weight: 700; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; padding: 6px 12px; border-radius: 9999px; cursor: pointer; transition: all 180ms ease; }
    .seg button.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; }
    .date-in { padding: 8px 10px; border-radius: 8px; border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); font-size: 12.5px; }
    .btn { padding: 9px 15px; border-radius: 8px; border: 1px solid var(--line); background: var(--panel); color: var(--text); font-weight: 700; font-size: 12.5px; cursor: pointer; }
    .btn:hover { border-color: rgba(255,255,255,0.4); }
    .btn-primary { border: none; background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; }
    .search { flex: 1; min-width: 180px; position: relative; }
    .search input { width: 100%; padding: 10px 34px 10px 14px; border-radius: 9px; border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); font-size: 13.5px; }
    .search .x { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--muted); cursor: pointer; }

    /* Word chips ticker */
    .wordchips { display: flex; gap: 8px; overflow-x: auto; padding: 4px 0 14px; }
    .wchip { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 0.24rem 0.55rem; border-radius: 9999px; background: transparent; border: 1px solid rgba(255,255,255,0.2); cursor: pointer; font-size: 0.58rem; white-space: nowrap; letter-spacing: 0.08em; text-transform: uppercase; transition: all 180ms ease; }
    .wchip:hover { border-color: rgba(255,255,255,0.44); color: #fff; }
    .wchip .w { font-weight: 800; }
    .wchip .f { color: var(--cool); }
    .wchip .d.up { color: var(--up); } .wchip .d.down { color: var(--down); }

    /* Panels */
    .panel { display: none; animation: fade 0.2s ease; padding-top: 4px; }
    .panel.active { display: block; }
    @keyframes fade { from { opacity: 0; transform: translateY(4px);} to { opacity: 1; transform: none; } }
    .panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 6px 0 18px; flex-wrap: wrap; }
    .panel__title { font-size: 23px; font-weight: 800; margin: 0; letter-spacing: -0.01em; color: #0b1a34; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
    .panel__subtitle { margin: 4px 0 0; color: #33507e; font-size: 13.5px; font-weight: 600; }
    .head-stats { display: flex; gap: 16px; color: #33507e; font-weight: 700; font-size: 13px; }

    .toolbar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
    .chip { padding: 0.24rem 0.55rem; border-radius: 9999px; border: 1px solid rgba(255,255,255,0.2); background: transparent; color: rgba(255,255,255,0.76); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; transition: all 180ms ease; }
    .chip:hover { border-color: rgba(255,255,255,0.44); color: #fff; }
    .chip.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; border-color: transparent; }
    select.control, input.control { padding: 9px 11px; border-radius: 8px; border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); font-size: 12.5px; font-weight: 600; }
    .filter-bar { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 16px; }

    .grid { display: grid; gap: 16px; }
    .grid.stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    .grid.two { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
    .grid.two-uneven { grid-template-columns: 1.6fr 1fr; }
    .grid.cols4 { grid-template-columns: repeat(4, 1fr); }
    @media (max-width: 900px) { .grid.two-uneven { grid-template-columns: 1fr; } .grid.cols4 { grid-template-columns: repeat(2, 1fr);} }

    .card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 26px rgba(5,12,28,0.26); backdrop-filter: blur(8px); padding: 16px; }
    .card__title { margin: 0 0 12px; font-size: 14px; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: 0.05em; }
    .stat .stat__label { font-size: 11.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
    .stat .stat__value { font-size: 26px; font-weight: 800; margin-top: 6px; color: #fff; }
    .stat .stat__delta { font-size: 12.5px; margin-top: 5px; font-weight: 700; }
    .stat .stat__delta.up { color: var(--up); } .stat .stat__delta.down { color: var(--down); }

    /* Right rail KPI cards (easy-to-read metrics) */
    .rail { display: grid; grid-template-columns: 1fr; gap: 12px; }
    .rail-card { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 13px; box-shadow: 0 8px 20px rgba(5,12,28,0.2); }
    .rail-card .rk { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.05em; }
    .rail-card .rv { margin-top: 6px; font-size: 24px; font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
    .rail-card .rd { margin-top: 5px; font-size: 12px; font-weight: 700; }
    .rail-card .rh { margin-top: 7px; font-size: 11.5px; color: var(--muted); line-height: 1.45; }
    .meter { height: 7px; border-radius: 999px; background: rgba(255,255,255,0.09); overflow: hidden; margin-top: 8px; }
    .meter > span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cool)); }
    .triplet { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 8px; }
    .triplet > div { text-align: center; border: 1px solid var(--line); border-radius: 8px; padding: 7px 5px; background: rgba(255,255,255,0.03); }
    .triplet b { display: block; color: #fff; font-size: 13px; }
    .triplet span { font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }
    .mini-spark { width: 100%; height: 68px; display: block; margin-top: 8px; border-radius: 8px; background: linear-gradient(180deg, rgba(13,28,54,0.52), rgba(8,20,43,0.52)); }

    .list { display: flex; flex-direction: column; gap: 10px; }
    .list.scroll { max-height: 520px; overflow-y: auto; padding-right: 4px; }
    .list-item { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; cursor: pointer; transition: border-color 0.14s; }
    .list-item:hover { border-color: rgba(147,197,253,0.5); }
    .list-item.selected { border-color: rgba(147,197,253,0.78); box-shadow: inset 0 0 0 1px rgba(147,197,253,0.35); background: linear-gradient(rgba(29,78,216,0.3), rgba(29,78,216,0.3)), var(--panel-strong); }
    .list-item h4 { margin: 0 0 5px; font-size: 14.5px; color: #fff; }
    .list-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .list-item .meta { margin-top: 7px; font-size: 11.5px; color: var(--cool); display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
    .item-actions { margin-top: 9px; display: flex; gap: 8px; }
    .post-media { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 2px; }
    .post-media__item { display: block; width: min(260px, 100%); aspect-ratio: 1; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background: var(--panel-strong); }
    .post-media__img { display: block; width: 100%; height: 100%; object-fit: contain; background: var(--panel-strong); }
    .post-media__file { padding: 10px 14px; color: var(--cool); background: var(--panel-strong); font-size: 13px; }
    .post-media__desc { margin: 4px 0 0; color: var(--muted); font-size: 12.5px; font-style: italic; }
    .link { color: var(--cool); font-weight: 700; font-size: 12px; text-decoration: none; cursor: pointer; }

    /* Posts: fill remaining page height, chip box around list, rail matches height */
    .content:has(#posts.active) { display: flex; flex-direction: column; }
    #posts.active { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
    #posts .posts-grid { flex: 1 1 auto; min-height: 0; grid-template-rows: 1fr; margin-bottom: 4px; }
    #posts .posts-box { min-height: 0; height: 100%; overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 10px 26px rgba(5,12,28,0.26); backdrop-filter: blur(8px); padding: 12px; }
    #posts .posts-box .list.scroll { max-height: none; overflow: visible; padding-right: 0; }
    #posts .rail { min-height: 0; height: 100%; overflow: hidden; align-content: start; padding-right: 2px; display: flex; flex-direction: column; gap: 6px; }
    #posts .rail-card { flex: 0 1 auto; min-height: 0; padding: 8px 12px; overflow: hidden; }
    #posts .rail-card .rv { margin-top: 3px; font-size: 19px; }
    #posts .rail-card .rd { margin-top: 3px; }
    #posts .rail-card .rh { margin-top: 3px; font-size: 11px; line-height: 1.32; }
    #posts .rail-card .meter { margin-top: 5px; }
    #posts .rail-card .triplet { margin-top: 5px; }
    #posts .rail-card .mini-spark { height: 32px; margin-top: 5px; }
    .post-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
    .post-chip { padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; border: 1px solid rgba(147,197,253,0.42); background: rgba(29,78,216,0.3); color: #eaf1fd; }
    .post-chip.alt { border-color: rgba(219,229,244,0.26); background: rgba(255,255,255,0.06); color: var(--muted); }
    .mini-btn { display: inline-flex; align-items: center; font-size: 11.5px; font-weight: 700; padding: 4px 10px; border-radius: 7px; border: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; text-decoration: none; }

    .tag { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 3px 8px; border-radius: 6px; background: rgba(147,197,253,0.16); color: var(--cool); margin: 2px 4px 2px 0; }
    .pill { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 800; padding: 3px 9px; border-radius: 999px; }
    .pill.blue { background: rgba(29,78,216,0.22); color: #bcd0ff; }
    .pill.red { background: rgba(220,38,38,0.2); color: #fca5a5; }
    .pill.white { background: rgba(255,255,255,0.14); color: #fff; }
    .pill.green { background: rgba(22,163,74,0.2); color: #86efac; }
    .pill.rose { background: rgba(244,63,94,0.2); color: #fda4af; }
    .pill.indigo { background: rgba(99,102,241,0.22); color: #c7d2fe; }
    .pill.slate { background: rgba(148,163,184,0.2); color: #cbd5e1; }
    .pill.amber { background: rgba(245,158,11,0.2); color: #fcd34d; }

    /* Catalysts calendar (agenda view grouped by month) */
    .cal-month { margin-bottom: 20px; }
    .cal-month__head { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-bottom: 7px; border-bottom: 1px solid rgba(11,26,52,0.14); }
    .cal-month__title { font-size: 15px; font-weight: 800; color: #0b1a34; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
    .cal-month__count { font-size: 12px; font-weight: 600; color: #33507e; }
    .cal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 10px; }
    .cal-event { display: flex; gap: 13px; align-items: stretch; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); transition: background .12s ease, border-color .12s ease; }
    .cal-event:hover { background: var(--panel-strong); border-color: rgba(219,229,244,0.38); }
    .pill-link { text-decoration: none; cursor: pointer; }
    .pill-link:hover { text-decoration: underline; filter: brightness(1.12); }
    .cal-date { flex: 0 0 56px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; border-radius: 10px; padding: 7px 4px; background: rgba(255,255,255,0.05); border: 1px solid var(--line); }
    .cal-date__day { font-size: 21px; font-weight: 800; line-height: 1; }
    .cal-date__mo { font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--muted); margin-top: 4px; }
    .cal-date__dow { font-size: 10px; color: var(--muted); margin-top: 2px; }
    .cal-event__body { flex: 1; min-width: 0; }
    .cal-event__title { font-size: 13.5px; font-weight: 700; margin: 0 0 6px; overflow-wrap: anywhere; }
    .cal-event__meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; font-size: 12px; color: var(--muted); }
    .cal-event__excerpt { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
    .cal-event--observed { border-left: 3px solid rgba(147,197,253,0.55); }
    .cal-date--observed { background: rgba(29,78,216,0.16); }
    .cal-mode-note { margin: 0 0 14px; padding: 10px 12px; border-left: 3px solid rgba(147,197,253,0.55); background: rgba(147,197,253,0.07); color: var(--muted); font-size: 12px; line-height: 1.5; }
    .cal-activity-counts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
    .cal-activity-link { color: var(--cool); font-size: 11.5px; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
    .cal-activity-link:hover { text-decoration: underline; }
    .cal-activity-list { display: grid; gap: 8px; margin-top: 9px; }
    .cal-activity-item { padding-top: 8px; border-top: 1px solid var(--line); min-width: 0; }
    .cal-activity-meta { display: flex; flex-wrap: wrap; gap: 5px 8px; margin-top: 3px; color: var(--muted); font-size: 11px; }
    .source-health { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
    .source-health__item { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); color: var(--muted); font-size: 11px; font-weight: 700; }
    .source-health__item::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #22c55e; }
    .source-health__item.is-aging::before { background: #f59e0b; }
    .source-health__item.is-stale::before { background: #ef4444; }
    .source-health-details { margin: 0 0 10px; }
    .source-health-details summary { width: fit-content; padding: 5px 9px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 800; list-style-position: inside; }
    .source-health-details[open] summary { margin-bottom: 7px; }
    .source-health-details .source-health { margin-bottom: 0; }
    .cal-empty { color: var(--muted); font-size: 13px; padding: 16px; text-align: center; border: 1px dashed var(--line); border-radius: 12px; }
    .calendar-commandbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
    .calendar-commandbar__nav { display: inline-flex; align-items: center; gap: 4px; }
    .calendar-icon-btn { width: 32px; height: 32px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--text); cursor: pointer; font-size: 17px; }
    .calendar-icon-btn:hover { background: var(--panel-strong); }
    .calendar-today-btn { height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); color: var(--text); font-weight: 750; cursor: pointer; }
    .calendar-period { min-width: 170px; margin: 0 6px; font-size: 17px; font-weight: 800; color: #0b1a34; }
    .calendar-commandbar__tools { display: flex; align-items: center; flex: 1; justify-content: flex-end; gap: 8px; }
    .calendar-commandbar .control { height: 32px; }
    .calendar-search-wrap { position: relative; display: flex; flex: 1; max-width: 280px; }
    .calendar-search-wrap .control { width: 100%; padding-right: 32px; }
    .calendar-search-clear { position: absolute; right: 3px; top: 3px; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 4px; background: transparent; color: var(--muted); cursor: pointer; font-size: 18px; }
    .calendar-search-clear:hover { background: rgba(255,255,255,0.08); color: var(--text); }
    .calendar-search-clear[hidden] { display: none; }
    .calendar-view-switch { display: inline-flex; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
    .calendar-view-switch button { min-height: 30px; padding: 0 11px; border: 0; border-right: 1px solid var(--line); background: var(--panel-2); color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 800; text-transform: uppercase; }
    .calendar-view-switch button:last-child { border-right: 0; }
    .calendar-view-switch button.active { background: #1d4ed8; color: #fff; }
    .calendar-context { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 14px; margin: 0 0 10px; color: #33507e; font-size: 10.5px; }
    .calendar-timezone { font-weight: 800; color: #0b1a34; }
    .calendar-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 12px; }
    .calendar-legend__item { display: inline-flex; align-items: center; gap: 5px; }
    .calendar-legend__mark { width: 8px; height: 8px; border-radius: 2px; background: #60a5fa; }
    .calendar-legend__mark--leisure { background: #22c55e; }
    .calendar-legend__mark--catalyst { background: #f59e0b; }
    .calendar-legend__mark--post { background: #94a3b8; }
    .outlook-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; border: 1px solid var(--line); background: var(--panel-2); }
    .outlook-calendar { min-width: 0; border-right: 1px solid var(--line); }
    .outlook-weekdays, .outlook-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
    .outlook-weekday { padding: 7px 8px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .outlook-weekday:last-child { border-right: 0; }
    .outlook-day { position: relative; min-width: 0; min-height: 116px; padding: 6px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; color: var(--text); text-align: left; cursor: pointer; overflow: hidden; }
    .outlook-day:nth-child(7n) { border-right: 0; }
    .outlook-day:hover { background: rgba(147,197,253,0.08); }
    .outlook-day.is-outside { background: rgba(5,15,35,0.18); color: var(--muted); }
    .outlook-day.is-selected { box-shadow: inset 0 0 0 2px #3b82f6; z-index: 1; }
    .outlook-day__number { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-bottom: 4px; border-radius: 50%; font-size: 12px; font-weight: 800; }
    .outlook-day.is-today .outlook-day__number { background: #2563eb; color: #fff; }
    .outlook-entry { display: block; width: 100%; margin: 2px 0; padding: 3px 5px; border-left: 3px solid #60a5fa; border-radius: 2px; background: rgba(59,130,246,0.14); color: var(--text); font-size: 11px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .outlook-entry--catalyst { border-left-color: #f59e0b; background: rgba(245,158,11,0.14); }
    .outlook-entry--post { border-left-color: #94a3b8; background: rgba(148,163,184,0.13); }
    .outlook-entry--leisure { border-left-color: #22c55e; background: rgba(34,197,94,0.13); }
    .outlook-day__more { display: block; margin-top: 3px; color: var(--cool); font-size: 10px; font-weight: 800; }
    .outlook-agenda-pane { position: sticky; top: 8px; min-width: 0; }
    .outlook-agenda__head { padding: 13px 14px 11px; border-bottom: 1px solid var(--line); }
    .outlook-agenda__date { font-size: 15px; font-weight: 850; }
    .outlook-agenda__summary { margin-top: 3px; color: var(--muted); font-size: 11px; }
    .outlook-agenda__body { max-height: 650px; overflow-y: auto; padding: 6px 14px 14px; }
    .outlook-agenda-item { padding: 10px 0; border-bottom: 1px solid var(--line); }
    .outlook-agenda-item:last-child { border-bottom: 0; }
    .outlook-agenda-item__time { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .outlook-agenda-item__title { display: block; margin-top: 3px; color: var(--cool); font-size: 12px; font-weight: 750; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
    .outlook-confidence-chip { display: inline-flex; align-items: center; margin-top: 6px; padding: 2px 6px; border: 1px solid rgba(148,163,184,.4); border-radius: 4px; background: rgba(148,163,184,.12); color: var(--muted); font-size: 9px; font-weight: 850; line-height: 1.4; text-transform: uppercase; }
    .outlook-confidence-chip--confirmed { border-color: rgba(34,197,94,.45); background: rgba(34,197,94,.13); color: #86efac; }
    .outlook-confidence-chip--reported { border-color: rgba(96,165,250,.48); background: rgba(59,130,246,.15); color: #bfdbfe; }
    .outlook-confidence-chip--likely { border-color: rgba(245,158,11,.48); background: rgba(245,158,11,.14); color: #fcd34d; }
    .outlook-confidence-chip--market-signal { border-color: rgba(192,132,252,.48); background: rgba(168,85,247,.14); color: #e9d5ff; }
    .outlook-agenda-item__meta { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
    .outlook-list { display: grid; gap: 10px; }
    .outlook-list-day { display: grid; grid-template-columns: 105px minmax(0, 1fr); border: 1px solid var(--line); background: var(--panel-2); }
    .outlook-list-day__date { padding: 12px; border-right: 1px solid var(--line); font-size: 12px; font-weight: 800; }
    .outlook-list-day__items { padding: 2px 12px; }
    @media (max-width: 560px) {
      .cal-grid { grid-template-columns: minmax(0, 1fr); }
      .cal-event { min-width: 0; gap: 10px; padding: 10px; }
      .cal-date { flex-basis: 48px; }
      .calendar-commandbar__tools { display: grid; flex: 0 0 100%; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); width: 100%; }
      .calendar-commandbar__tools .control { min-width: 0 !important; width: 100%; }
      .calendar-search-wrap { min-width: 0; max-width: none; width: 100%; }
      .calendar-view-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; width: 100%; }
      .calendar-period { min-width: 140px; }
      .outlook-layout { grid-template-columns: minmax(0, 1fr); }
      .outlook-calendar { border-right: 0; }
      .outlook-weekday { padding: 6px 2px; text-align: center; font-size: 8px; }
      .outlook-day { min-height: 78px; padding: 3px; }
      .outlook-day__number { width: 20px; height: 20px; font-size: 10px; }
      .outlook-entry { display: inline-block; width: 7px; height: 7px; margin: 2px 3px 2px 0; padding: 0; border: 0; border-radius: 50%; background: #60a5fa; font-size: 0; vertical-align: top; }
      .outlook-entry--catalyst { background: #f59e0b; }
      .outlook-entry--post { background: #94a3b8; }
      .outlook-entry--leisure { background: #22c55e; }
      .outlook-day__more { margin-top: 1px; font-size: 8px; }
      .outlook-agenda-pane { position: static; border-top: 1px solid var(--line); }
      .outlook-list-day { grid-template-columns: 76px minmax(0, 1fr); }
      #movement .panel__head .toolbar { width: 100%; }
      #moveSource { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
      #moveSource button { min-width: 0; padding: 6px 4px; font-size: 9px; }
    }

    /* Markets "Upcoming catalyst" cell — plain wrapped text + small category chip (no box) */
    .cata-box { display: inline-flex; flex-direction: column; gap: 5px; align-items: flex-start; max-width: 240px; }
    .cata-box .cata-title { font-size: 12px; font-weight: 700; color: var(--text); line-height: 1.35; }
    .cata-box .cata-when { font-size: 11.5px; font-weight: 700; color: #e8eefb; }
    .cata-box .cata-when .rel { color: var(--muted); font-weight: 600; }
    .cata-box .cata-more { font-size: 10.5px; color: var(--muted); }

    /* Rich hover cards for market context (posts/news/paired words/catalysts). */
    .hoverbox { position: relative; display: inline-flex; align-items: center; vertical-align: middle; }
    .hoverbox__trigger { display: inline-flex; align-items: center; }
    .hoverbox__panel {
      position: absolute; z-index: 80; left: 0; top: calc(100% + 8px); min-width: 280px; max-width: min(420px, 78vw);
      background: rgba(6, 16, 37, 0.98); border: 1px solid rgba(147, 197, 253, 0.35); border-radius: 10px;
      box-shadow: 0 18px 36px rgba(0, 0, 0, 0.45); padding: 10px; display: none;
    }
    .hoverbox__panel::before { content: ''; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
    .hoverbox--right .hoverbox__panel { left: auto; right: 0; }
    .hoverbox:hover .hoverbox__panel, .hoverbox:focus-within .hoverbox__panel, .hoverbox.is-open .hoverbox__panel, .hoverbox.is-pinned .hoverbox__panel { display: block; }
    .hoverbox.is-pinned .hoverbox__panel { border-color: rgba(56, 189, 248, 0.6); }
    .hoverbox__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; }
    .hoverbox__hd { font-size: 10px; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #c7d7ee; margin-bottom: 7px; }
    .hoverbox__head .hoverbox__hd { margin-bottom: 0; }
    .hoverbox__hint { font-size: 9.5px; letter-spacing: 0.04em; color: #8fa4c8; white-space: nowrap; }
    .hoverbox__close {
      appearance: none; border: 1px solid rgba(147, 197, 253, 0.38); background: rgba(148, 163, 184, 0.18); color: #dbeafe;
      width: 18px; height: 18px; border-radius: 999px; font-size: 12px; line-height: 1; cursor: pointer; padding: 0;
    }
    .hoverbox__close:hover { background: rgba(148, 163, 184, 0.3); }
    .hoverbox__item { border-top: 1px solid rgba(219, 229, 244, 0.12); padding-top: 7px; margin-top: 7px; }
    .hoverbox__item:first-of-type { border-top: none; margin-top: 0; padding-top: 0; }
    .hoverbox__meta { font-size: 10.5px; color: #9fb0cb; margin-bottom: 3px; }
    .hoverbox__txt { font-size: 11.5px; color: #f7f9fc; line-height: 1.35; }
    .hoverbox__open { display: inline-block; margin-top: 5px; font-size: 10.5px; color: #93c5fd; text-decoration: none; }
    .hoverbox__open:hover { text-decoration: underline; }
    .hoverbox__empty { font-size: 11px; color: var(--muted); line-height: 1.35; }

    .signal-pill { background: rgba(29,78,216,0.28); color: #cfe0ff; font-weight: 800; font-size: 11px; padding: 3px 8px; border-radius: 6px; }

    /* Tables */
    .table-wrap { overflow-x: auto; overflow-y: visible; }
    table { width: 100%; border-collapse: collapse; font-size: 13px; color: var(--text); }
    th, td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
    th { color: var(--muted); font-weight: 700; text-transform: uppercase; font-size: 11px; letter-spacing: 0.05em; cursor: pointer; white-space: nowrap; }
    td.num, th.num { text-align: right; font-variant-numeric: tabular-nums; }
    tr.group-row { cursor: pointer; }
    tr.group-row:hover td { background: rgba(255,255,255,0.03); }
    .expand-row { display: none; }
    .expand-row.open { display: table-row; }
    .up { color: var(--up); } .down { color: var(--down); } .flat { color: var(--muted); }
    .sub { color: var(--muted); font-size: 11.5px; }

    /* Charts */
    .linechart { width: 100%; height: 300px; display: block; background: linear-gradient(180deg, rgba(13,28,54,0.6), rgba(8,20,43,0.6)); border-radius: 10px; }
    .legend { display: flex; gap: 16px; margin-top: 10px; font-size: 12px; color: var(--muted); }
    .legend i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-right: 6px; vertical-align: middle; }

    /* Horizontal bar */
    .barh { height: 9px; border-radius: 999px; background: rgba(255,255,255,0.08); overflow: hidden; }
    .barh > span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--red)); }

    /* World map */
    .worldmap { position: relative; width: 100%; height: 360px; border-radius: 10px; overflow: hidden;
      background:
        repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 60px),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.04) 0 1px, transparent 1px 60px),
        radial-gradient(circle at 30% 40%, rgba(29,78,216,0.35), transparent 45%),
        linear-gradient(180deg, rgba(13,28,54,0.95), rgba(8,20,43,0.98)); }
    .worldmap svg { position: absolute; inset: 0; width: 100%; height: 100%; }
    .pin { position: absolute; width: 14px; height: 14px; border-radius: 50%; background: var(--cool); box-shadow: 0 0 0 4px rgba(147,197,253,0.25); transform: translate(-50%,-50%); cursor: pointer; }
    .pin.lg { width: 20px; height: 20px; }
    .pin::after { content: attr(data-label); position: absolute; left: 50%; top: -26px; transform: translateX(-50%); white-space: nowrap; font-size: 10.5px; background: var(--panel-strong); border: 1px solid var(--line); padding: 2px 7px; border-radius: 6px; color: #fff; opacity: 0; transition: opacity 0.14s; pointer-events: none; }
    .pin:hover::after { opacity: 1; }

    /* ---- Movement: geographic travel map ---- */
    #movement .panel__head { gap: 10px; margin: 2px 0 10px; }
    #movement .panel__subtitle { margin-top: 2px; font-size: 12.5px; }
    #movement .toolbar { gap: 6px; }
    .move-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 4px 0 12px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
    #movement .move-legend { gap: 10px; margin: 2px 0 8px; padding: 6px 10px; }
      .move-month { display: inline-flex; align-items: center; gap: 6px; }
      .move-period { color: #dbeafe; font-size: 11px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
    .move-key { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: var(--text); cursor: pointer; user-select: none; padding: 3px 8px; border-radius: 999px; border: 1px solid transparent; transition: background 0.14s ease, opacity 0.14s ease; }
    #movement .move-key { padding: 2px 7px; }
    .move-key:hover { background: var(--panel-strong); }
    .move-key.off { opacity: 0.4; }
    .move-key.off i { filter: grayscale(1); box-shadow: none; }
    .move-key i { width: 13px; height: 13px; border-radius: 50%; display: inline-block; box-sizing: border-box; }
    .move-key i.mk-was { background: #ef4444; }
    .move-key i.mk-is { background: #f8fafc; box-shadow: 0 0 0 3px rgba(255,255,255,0.28); }
    .move-key i.mk-will { background: #3b82f6; }
    .move-key i.mk-signal { background: #22d3ee; }
    .move-legend__sep { width: 1px; height: 18px; background: var(--line); }
    .seg--sm { padding: 3px; gap: 3px; }
    .seg--sm button { font-size: 10px; padding: 4px 9px; letter-spacing: 0.05em; }
    .move-legend__meta { margin-left: auto; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 7px; }
      @media (max-width: 760px) { .move-legend__meta { margin-left: 0; width: 100%; } }
    .move-stat { font-size: 11px; font-weight: 700; color: var(--muted); background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
    #movement .move-stat { padding: 2px 8px; }
    .move-stat b { color: var(--text); font-weight: 800; }
    .move-stat--hl b { color: #67e8f9; }
    .travel-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 12px; }
    .travel-summary__item { min-width: 0; padding: 11px 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); }
    .travel-summary__label { color: var(--muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
    .travel-summary__value { margin-top: 4px; color: var(--text); font-size: 18px; font-weight: 850; line-height: 1.15; overflow-wrap: anywhere; }
    .travel-summary__detail { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
    .travel-markets { display: grid; gap: 8px; margin-top: 9px; }
    .travel-market { display: block; padding: 9px 10px; border: 1px solid var(--line); border-left: 3px solid #f59e0b; border-radius: 5px; background: var(--panel-2); color: inherit; text-decoration: none; }
    .travel-market:hover { background: var(--panel-strong); }
    .travel-market__title { color: var(--text); font-size: 11.5px; font-weight: 800; line-height: 1.35; }
    .travel-market__meta { display: flex; justify-content: space-between; gap: 8px; margin-top: 5px; color: var(--muted); font-size: 9.5px; }
    .travel-market__chance { color: #fcd34d; font-weight: 850; }
    .travel-market-note { margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.4; }
    .travel-alert-form { display: grid; gap: 9px; margin-top: 9px; }
    .alerts-modal__products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .travel-alert-options { display: grid; gap: 6px; }
    .travel-alert-option, .travel-alert-consent { display: flex; align-items: flex-start; gap: 7px; color: var(--text); font-size: 11px; line-height: 1.35; cursor: pointer; }
    .travel-alert-option input, .travel-alert-consent input { width: 14px; height: 14px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #38bdf8; }
    .travel-alert-option--category { color: #fff; font-size: 12px; font-weight: 850; }
    .travel-alert-option--detail { color: var(--muted); font-size: 10px; }
    .travel-alert-option--detail:has(input:disabled) { opacity: 0.45; }
    .alerts-modal__group-copy { min-height: 42px; margin: 0 0 9px; color: var(--muted); font-size: 9.5px; line-height: 1.4; }
    .alert-frequency { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border: 0; margin: 0; padding: 0; }
    .alert-frequency legend { float: left; margin-right: 4px; color: var(--muted); font-size: 10px; font-weight: 800; line-height: 28px; }
    .alert-frequency label { display: inline-flex; align-items: center; gap: 5px; min-height: 28px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel-2); color: var(--text); padding: 0 8px; font-size: 10px; font-weight: 750; cursor: pointer; }
    .alert-frequency input { accent-color: #38bdf8; }
    .travel-alert-email { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
    .travel-alert-email input { min-width: 0; height: 34px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel-2); color: var(--text); padding: 0 9px; font: inherit; font-size: 11px; }
    .travel-alert-email input:focus { border-color: #38bdf8; outline: 2px solid rgba(56,189,248,0.16); }
    .travel-alert-email button { height: 34px; border: 1px solid rgba(56,189,248,0.5); border-radius: 5px; background: #0e7490; color: #fff; padding: 0 11px; font: inherit; font-size: 10px; font-weight: 850; cursor: pointer; }
    .travel-alert-email button:disabled { cursor: wait; opacity: 0.65; }
    .travel-alert-note, .travel-alert-status { color: var(--muted); font-size: 9.5px; line-height: 1.4; }
    .travel-alert-status { min-height: 14px; }
    .travel-alert-status.is-success { color: #86efac; }
    .travel-alert-status.is-error { color: #fca5a5; }
    .travel-alert-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
    .local-alert-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 36px; margin-top: 8px; border: 1px solid rgba(56,189,248,0.45); border-radius: 5px; background: rgba(14,116,144,0.18); color: #bae6fd; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
    .local-alert-btn:hover { border-color: #38bdf8; background: rgba(14,116,144,0.3); }
    .panel-alert-btn { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid rgba(56,189,248,0.45); border-radius: 6px; background: rgba(14,116,144,0.18); color: #bae6fd; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; white-space: nowrap; align-self: center; }
    .panel-alert-btn:hover { border-color: #38bdf8; background: rgba(14,116,144,0.3); }
    .panel-alert-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .alerts-modal__group.is-focused { outline: 2px solid rgba(56,189,248,0.7); outline-offset: 4px; border-radius: 10px; }
    .alerts-modal__intro { margin: -4px 0 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .alerts-modal__group { border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2); padding: 11px; }
    .alerts-modal__group-title { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; color: #fff; font-size: 12px; font-weight: 850; }
    @media (max-width: 680px) { .alerts-modal__products { grid-template-columns: 1fr; } .alerts-modal__group-copy { min-height: 0; } }
    @media (max-width: 420px) { .travel-alert-email { grid-template-columns: 1fr; } }
    .travel-state-groups { display: grid; gap: 8px; }
    .travel-state-group { border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); padding: 8px; }
    .travel-state-group__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted); }
    .travel-state-group__head b { color: var(--text); font-size: 11px; letter-spacing: 0; text-transform: none; }
    .travel-state-pills { display: flex; flex-wrap: wrap; gap: 6px; }
    .travel-state-pill { border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text); font-size: 11px; font-weight: 800; letter-spacing: 0.02em; padding: 3px 8px; cursor: pointer; }
    .travel-state-pill:hover { border-color: rgba(147,197,253,0.55); }
    .travel-state-pill.active { border-color: rgba(255,255,255,0.72); box-shadow: 0 0 0 2px rgba(255,255,255,0.2) inset; }
    .travel-state-pill--was { color: #fca5a5; }
    .travel-state-pill--is { color: #f8fafc; }
    .travel-state-pill--will { color: #93c5fd; }
    .travel-state-note { margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.35; }
    .travel-state-tip { position: fixed; z-index: 130; width: min(360px, calc(100vw - 20px)); max-width: none; padding: 11px 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--panel-strong); color: var(--text); box-shadow: 0 14px 32px rgba(0,0,0,0.55); font-size: 12px; line-height: 1.45; pointer-events: none; display: none; }
    .travel-state-tip.show { display: block; }
    .travel-state-tip__hd { font-weight: 850; font-size: 12px; margin-bottom: 5px; }
    .travel-state-tip__row { margin-top: 5px; color: var(--muted); }
    .travel-state-tip__row b { font-weight: 850; }
    .travel-state-tip__loc { color: var(--text); }
    .move-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 14px; align-items: start; }
    @media (max-width: 900px) { .move-wrap { grid-template-columns: 1fr; } }
    @media (max-width: 700px) { .travel-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    .move-main { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
    .geomap { position: relative; width: 100%; height: clamp(480px, 52vw, 620px); border-radius: 12px; overflow: hidden; border: 1px solid var(--line);
      background: #09152a; }
    @media (max-width: 700px) { .geomap { height: 360px; } }
    @media (max-width: 760px) {
      #movement .panel__head { margin-bottom: 10px; }
      #movement .toolbar { width: 100%; }
      #movement #moveSource { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
      #movement #moveSource button { min-width: 0; padding: 7px 4px; font-size: 11px; letter-spacing: 0; }
      #movement .move-legend { gap: 8px; }
      #movement .move-key { min-height: 36px; display: inline-flex; align-items: center; font-size: 12px; }
      #movement .geomap { height: 330px; }
      #movement .travel-summary { display: flex; gap: 8px; overflow-x: auto; margin-top: 10px; padding: 0 0 6px; scroll-snap-type: x proximity; }
      #movement .travel-summary__item { flex: 0 0 min(230px, 76vw); min-height: 94px; scroll-snap-align: start; }
      #movement .travel-summary__label { font-size: 11px; }
      #movement .travel-summary__value { font-size: 22px; }
    }
    .geomap__canvas { position: absolute; inset: 0; z-index: 1; }
    .geomap__controls { position: absolute; z-index: 7; top: 10px; right: 10px; display: flex; gap: 5px; }
    .geomap__control { display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: rgba(8,18,38,0.92); color: var(--text); font-size: 18px; font-weight: 800; cursor: pointer; }
    .geomap__control:hover { border-color: var(--cool); background: var(--panel-strong); }
    .geomap__selection { position: absolute; z-index: 7; left: 10px; bottom: 10px; display: flex; align-items: center; gap: 8px; max-width: calc(100% - 20px); padding: 7px 9px; border: 1px solid var(--line); border-radius: 5px; background: rgba(8,18,38,0.94); color: var(--text); font-size: 11px; font-weight: 750; }
    .geomap__selection button { border: 0; background: transparent; color: #93c5fd; font: inherit; cursor: pointer; }
    .travel-map-marker-wrap { background: transparent; border: 0; }
    .travel-map-marker { display: grid; place-items: center; width: 100%; height: 100%; border: 2px solid rgba(255,255,255,0.72); border-radius: 50%; background: var(--marker-color); color: #fff; font-size: 9px; font-weight: 900; line-height: 1; box-shadow: 0 2px 8px rgba(0,0,0,0.65); transition: opacity 0.15s ease, transform 0.15s ease; }
    .travel-map-marker.has-order { min-width: 24px; min-height: 24px; }
    .travel-map-marker.has-multiple-orders { width: auto; padding: 0 6px; border-radius: 12px; }
    .travel-map-marker-wrap:hover .travel-map-marker { transform: scale(1.16); }
    .travel-map-marker-wrap.is-muted .travel-map-marker { opacity: 0.2; }
    .travel-map-marker-wrap.is-selected .travel-map-marker { border-width: 4px; border-color: #fff; box-shadow: 0 0 0 5px rgba(255,255,255,0.25), 0 3px 12px rgba(0,0,0,0.75); }
    .travel-map-marker-wrap.is-current .travel-map-marker { background: #f8fafc; border-color: #0f172a; box-shadow: 0 0 0 4px rgba(255,255,255,0.42), 0 2px 8px rgba(0,0,0,0.65); }
    .travel-map-cluster { display: grid; place-items: center; width: 38px; height: 38px; border: 2px solid rgba(255,255,255,0.78); border-radius: 50%; background: rgba(29,78,216,0.92); color: #fff; font-size: 12px; font-weight: 850; box-shadow: 0 3px 12px rgba(0,0,0,0.6); }
    .travel-map-tooltip.leaflet-tooltip { width: min(340px, calc(100vw - 24px)); max-width: none; padding: 11px 14px; border: 1px solid var(--line); border-radius: 4px; background: var(--panel-strong); color: var(--text); box-shadow: 0 12px 30px rgba(0,0,0,0.5); white-space: normal; }
    .travel-map-tooltip.leaflet-tooltip::before { border-top-color: var(--panel-strong); }
    .travel-map-tooltip .tip-loc { font-size: 13px; font-weight: 850; }
    .travel-map-tooltip .tip-src { margin-top: 5px; font-size: 11px; font-weight: 700; }
    .travel-map-tooltip .tip-detail, .travel-map-tooltip .tip-when { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.35; }
    .travel-route-stop-wrap { background: transparent; border: 0; }
    .travel-route-stop { display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid rgba(255,255,255,0.88); border-radius: 50%; background: #ef4444; color: #fff; font-size: 9px; font-weight: 900; box-shadow: 0 2px 8px rgba(0,0,0,0.72); }
    .travel-route-stop--current { background: #f8fafc; border-color: #0f172a; color: #0f172a; box-shadow: 0 0 0 4px rgba(255,255,255,0.38), 0 2px 8px rgba(0,0,0,0.72); }
    .travel-route-stop--future { background: #1d4ed8; border-color: #bfdbfe; }
    .travel-route-arrow-wrap { background: transparent; border: 0; pointer-events: none; }
    .travel-route-arrow { display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid rgba(255,255,255,0.62); border-radius: 50%; background: rgba(8,18,38,0.9); color: #fca5a5; font-size: 13px; font-weight: 900; line-height: 1; box-shadow: 0 2px 6px rgba(0,0,0,0.55); }
    .travel-route-arrow--future { color: #93c5fd; }
    .geomap .leaflet-control-attribution { background: rgba(8,18,38,0.82); color: #b7c2d6; font-size: 9px; }
    .geomap .leaflet-control-attribution a { color: #93c5fd; }
    .move-side { display: flex; flex-direction: column; gap: 14px; }
    .move-side .card { margin: 0; display: flex; flex-direction: column; min-height: 0; }
    .move-timeline-card { min-width: 0; padding: 10px; }
    .move-timeline-card .card__title { margin: 0 0 8px; font-size: 13px; }
    .mv-timeline { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; padding: 2px 2px 6px; position: relative; scrollbar-width: thin; scrollbar-color: rgba(147,197,253,0.25) transparent; scroll-snap-type: x proximity; }
    .mv-timeline > .sub { padding: 10px 2px; }
    .tl-item { position: relative; display: flex; flex-direction: column; gap: 8px; min-width: 280px; max-width: 280px; padding: 10px 10px 11px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel-2); scroll-snap-align: start; flex: 0 0 auto; }
    .tl-rail { position: relative; width: auto; min-height: 16px; flex: none; display: flex; align-items: center; }
    .tl-rail::before { content: ''; position: absolute; left: 10px; right: 0; top: 50%; height: 2px; transform: translateY(-50%); background: var(--line); }
    .tl-item:last-child .tl-rail::before { display: block; }
    .tl-node { position: relative; z-index: 1; width: 12px; height: 12px; border-radius: 50%; box-sizing: border-box; border: 2px solid rgba(6,15,34,0.9); }
    .tl-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
    .tl-when { font-size: 11px; font-weight: 700; color: var(--muted); display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
    .tl-order { display: inline-grid; place-items: center; width: 19px; height: 19px; flex: 0 0 19px; border-radius: 50%; background: #ef4444; color: #fff; font-size: 9px; font-weight: 900; }
    .tl-order--future { background: #1d4ed8; }
    .tl-loc { font-size: 12.5px; font-weight: 800; color: var(--text); margin: 2px 0 0; display: flex; align-items: center; gap: 6px; overflow-wrap: anywhere; }
    .tl-detail { font-size: 10.5px; color: var(--muted); line-height: 1.35; margin: 2px 0 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .tl-src { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; padding: 1px 7px; border-radius: 999px; }
    a.tl-item { text-decoration: none; color: inherit; }
    a.tl-item--link { cursor: pointer; transition: background 0.12s ease, border-color 0.12s ease, transform 0.12s ease; }
    a.tl-item--link:hover { background: var(--panel-strong); }
    a.tl-item--link:hover .tl-loc { text-decoration: underline; }
    a.tl-item--link:hover { border-color: rgba(147,197,253,0.45); transform: translateY(-1px); }
    .tl-go { font-size: 11px; color: #93c5fd; opacity: 0.75; }
    .tl-posts { font-size: 10px; font-weight: 800; color: #38bdf8; background: rgba(56,189,248,0.13); border: 1px solid rgba(56,189,248,0.33); border-radius: 999px; padding: 0 6px; white-space: nowrap; }

    /* Modal */
    .modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; background: rgba(4,8,18,0.72); padding: 20px; }
    .modal.open { display: flex; }
    .modal__dialog { width: min(680px, 100%); max-height: 88vh; overflow-y: auto; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 60px rgba(0,0,0,0.5); padding: 20px; }
    .modal__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
    .modal__head h3 { margin: 0; font-size: 18px; }
    .modal__brand { color: var(--cool); font-size: 12px; font-weight: 700; }
    .modal__close { border: none; background: transparent; color: var(--muted); font-size: 22px; cursor: pointer; line-height: 1; }
    .insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 14px 0; }
    @media (max-width: 620px) { .insight-grid { grid-template-columns: 1fr; } }
    .share-preview { border: 1px dashed var(--line); border-radius: 12px; padding: 24px; text-align: center; color: var(--muted); background: var(--panel-2); }

    /* Ads */
    .ad-slot { border: 1px dashed rgba(147,197,253,0.4); border-radius: 10px; background: rgba(147,197,253,0.06); color: var(--muted); text-align: center; padding: 14px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }

    /* Footer */
    .footer { margin-top: 26px; padding: 18px 0; border-top: 1px solid var(--line); display: flex; gap: 18px; flex-wrap: wrap; align-items: center; color: var(--muted); font-size: 13px; }
    .footer a { color: var(--cool); text-decoration: none; font-weight: 600; }
    .footer .spacer { margin-left: auto; }

    .fill-tall { min-height: calc(100vh - var(--banner-h) - 300px); }

    @media (max-width: 760px) {
      :root { --banner-h: 68px; --sidebar-w: 0px; }
      .banner { background: linear-gradient(110deg, #eef4ff 0%, #fff 52%, #fee2e2 100%); }
      .banner__img { display: none; }
      .banner::before { content: 'TrumpSocialTrends'; position: absolute; z-index: 2; left: 14px; top: 50%; transform: translateY(-50%); color: #0b1a34; font-size: 19px; font-weight: 800; letter-spacing: 0; }
      .banner__alerts { width: 44px; height: 44px; right: 10px; border-radius: 9px; bottom: 12px; }
      .view-mode-toggle { top: 12px; right: 62px; }
      .view-mode-toggle button { width: 40px; min-height: 38px; padding: 0; }
      .view-mode-toggle button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
      .view-mode-toggle svg { width: 17px; height: 17px; }
      .sidebar, .panel-arrow--sidebar { display: none !important; }
      .content { padding: 0 10px calc(88px + env(safe-area-inset-bottom)); }
      .app { padding-bottom: env(safe-area-inset-bottom); }
      .panel { padding-top: 2px; }
      .panel__head { gap: 10px; margin: 4px 0 12px; }
      .panel__title { font-size: 22px; line-height: 1.2; }
      .filter-bar .control, .filter-bar .btn, .filter-bar .mini-btn,
      .studio-seg button, .seg button, .export-actions .mini-btn,
      .toolbar button, .toolbar a, .calendar-icon-btn, .calendar-today-btn,
      .panel-alert-btn, .local-alert-btn { min-height: 44px; }
      .panel-alert-btn, #movement .toolbar > .mini-btn { background: #0b1a34; border-color: rgba(147,197,253,0.5); color: #fff; box-shadow: 0 5px 14px rgba(5,12,28,0.2); }
      .panel__subtitle { font-size: 14px; line-height: 1.45; }
      .mobile-nav { display: grid !important; }
      .mobile-more:not([hidden]) { display: flex !important; }
      #query-lab .panel__head { align-items: stretch; }
      #query-lab .export-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
      #query-lab .export-actions .mini-btn { width: 100%; padding: 8px 5px; }
      #query-lab .filter-bar { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); width: 100%; }
      #query-lab .filter-bar > * { min-width: 0 !important; width: 100%; }
      #query-lab .filter-bar:nth-child(1) .mini-btn,
      #query-lab .filter-bar:nth-child(2) .mini-btn { grid-column: 1 / -1; }
      #query-lab .linechart { min-height: 280px; touch-action: pan-y; }
      #posts .filter-bar, #speeches .filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
      #posts .filter-bar > *, #speeches .filter-bar > * { min-width: 0 !important; width: 100%; }
      #posts .filter-bar > select, #posts .filter-bar > .btn,
      #speeches .filter-bar > select, #speeches .filter-bar > .btn { display: none; }
      #posts .filter-bar.mobile-open > select, #posts .filter-bar.mobile-open > .btn,
      #speeches .filter-bar.mobile-open > select, #speeches .filter-bar.mobile-open > .btn { display: block; grid-column: 1 / -1; }
      #posts .mobile-content-filter-toggle, #speeches .mobile-content-filter-toggle { display: inline-flex; width: auto; align-items: center; justify-content: center; }
      #posts .panel__subtitle { min-height: 41px; }
      .content:has(#posts.active) { display: block; }
      #posts.active { display: block; }
      #posts .posts-grid { display: flex; flex-direction: column; }
      #posts .posts-box { height: min(62vh, 560px); min-height: 420px; overflow-y: auto; }
      #posts .rail { height: auto; overflow: visible; }
      #posts .post-item .mini-btn, #speeches .speech-item .mini-btn { min-height: 44px; padding: 9px 12px; }
      #query-lab .date-in { min-height: 44px; }
      .dash-widget__resize { display: none; }
      #dashboard .dash-banner__actions button, #dashboard .dash-widget__head button, .dash-picker button { min-height: 44px; }
      #dashboard .dash-widget { transform: none; }
      #dashboard .dash-mobile-setup { min-height: 210px; padding: 24px 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; }
      #dashboard .dash-mobile-setup h2 { margin: 0; color: #fff; font-size: 19px; }
      #dashboard .dash-mobile-setup p { max-width: 310px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
      #dashboard .dash-mobile-setup button { min-width: 160px; min-height: 48px; }
      #timeline { padding-bottom: 28px; }
      #timeline .tl-filter { padding: 12px; gap: 10px; }
      #timeline .tl-filter__head { display: grid; grid-template-columns: 10px minmax(0, 1fr) 44px; gap: 10px; }
      #timeline .tl-filter__rm { width: 44px; height: 44px; font-size: 22px; }
      #timeline .tl-filter .control, #timeline #tlAddFilter, #timeline #tlBuild { min-height: 44px; }
      #timeline #tlBuild { width: 100%; }
      #timeline .panel__head .export-actions { display: none; }
      #timeline .timeline-result-actions { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
      #timeline .timeline-result-actions button { min-height: 44px; }
      #catalysts .calendar-commandbar { position: sticky; top: 0; z-index: 20; padding: 8px 0; background: var(--bg); }
      #catalysts .calendar-commandbar .control, #catalysts .calendar-view-switch button,
      #catalysts .calendar-search-clear { min-height: 44px; }
      #catalysts .calendar-search-clear { top: 0; right: 0; width: 44px; height: 44px; }
      #catalysts .calendar-load-more { width: 100%; min-height: 48px; margin-top: 10px; }
      #news .news-mobile-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 10px; }
      #news .news-mobile-tabs button { min-height: 44px; }
      #news [data-news-panel] > .card__title { display: none; }
      #news [data-news-panel] { display: none; }
      #news [data-news-panel].is-active { display: block; }
      #news .list.scroll { max-height: none !important; overflow: visible; }
      #news .item-actions a, #news .item-actions button { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 12px; }
      #news .list-item[data-news-link] { cursor: pointer; }
      #news > .grid.two-uneven > .rail { display: none; }
      .wl-star { min-width: 44px; min-height: 44px; }
      #movement .move-key { min-height: 44px; }
      #movement .calendar-icon-btn, #movement .geomap__control { min-width: 44px; width: 44px; min-height: 44px; height: 44px; }
      #movement .travel-state-pill { min-width: 44px; min-height: 44px; padding: 8px; justify-content: center; }
    }

    .mobile-content-filter-toggle { display: none; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
    .timeline-result-actions { display: none !important; }
    .news-mobile-tabs { display: none; }
    .mobile-nav { display: none; position: fixed; z-index: 120; left: 8px; right: 8px; bottom: max(8px, env(safe-area-inset-bottom)); grid-template-columns: repeat(4, minmax(0, 1fr)); min-height: 62px; padding: 5px; border: 1px solid rgba(147,197,253,0.3); border-radius: 12px; background: rgba(7,18,40,0.97); box-shadow: 0 14px 34px rgba(0,0,0,0.45); backdrop-filter: blur(14px); }
    .mobile-nav__item { min-width: 0; min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; border: 0; border-radius: 8px; background: transparent; color: #b9c7dc; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
    .mobile-nav__item .ico { font-size: 18px; line-height: 1; }
    .mobile-nav__item.active { color: #fff; background: linear-gradient(135deg, rgba(29,78,216,0.9), rgba(220,38,38,0.82)); }
    .mobile-more { display: none; position: fixed; z-index: 150; inset: 0; align-items: flex-end; background: rgba(2,8,23,0.68); }
    .mobile-more[hidden] { display: none; }
    .mobile-more__sheet { width: 100%; max-height: min(78vh, 660px); overflow-y: auto; padding: 14px 14px calc(18px + env(safe-area-inset-bottom)); border: 1px solid rgba(147,197,253,0.28); border-radius: 14px 14px 0 0; background: #081329; box-shadow: 0 -18px 42px rgba(0,0,0,0.48); }
    .mobile-more__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
    .mobile-more__head h2 { margin: 0; font-size: 18px; }
    .mobile-more__close { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--panel-2); color: #fff; font-size: 22px; }
    .mobile-more__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .mobile-more__item { min-height: 52px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); color: #eef4ff; font: inherit; font-size: 13px; font-weight: 700; text-align: left; }

    /* Chart hover tooltip + crosshair */
    .chart-tip { position: fixed; z-index: 60; display: none; pointer-events: none; background: var(--panel-strong); border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 11.5px; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,0.42); min-width: 128px; }
    .chart-tip__d { color: var(--muted); font-size: 10.5px; margin-bottom: 4px; }
    .chart-tip div { line-height: 1.55; }
    .linechart { cursor: crosshair; }

    /* Toasts */
    .toast-wrap { position: fixed; bottom: 18px; right: 18px; z-index: 200; display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }
    .toast { background: var(--panel-strong); border: 1px solid var(--line); color: #fff; padding: 10px 14px; border-radius: 10px; font-size: 13px; font-weight: 600; box-shadow: 0 10px 26px rgba(0,0,0,0.42); opacity: 0; transform: translateY(8px); transition: opacity .25s, transform .25s; }
    .toast.show { opacity: 1; transform: none; }

    /* Search results count + no-results note */
    .search-count { font-size: 11.5px; color: var(--muted); white-space: nowrap; padding: 0 2px; font-weight: 700; }
    .no-results { display: none; color: var(--muted); font-size: 13px; padding: 14px 4px; font-style: italic; }
    mark.search-hit { padding: 0 2px; border-radius: 3px; background: #fde047; color: #172033; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
    .no-results.show { display: block; }

    /* Sortable table headers */
    th[data-sortable] { user-select: none; }
    th[data-sortable]:hover { color: #fff; }
    th[data-sort='asc']::after { content: ' ▲'; font-size: 9px; color: var(--cool); }
    th[data-sort='desc']::after { content: ' ▼'; font-size: 9px; color: var(--cool); }

    /* Featured market cards (Polymarket / Kalshi inspired) */
    .section-head { display: flex; align-items: center; gap: 12px; margin: 4px 0 12px; }
    .section-head h3 { margin: 0; font-size: 15px; font-weight: 800; color: #0b1a34; text-shadow: 0 1px 0 rgba(255,255,255,0.6); }
    .section-head .spacer { margin-left: auto; }
    .live-pill { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: #15803d; background: rgba(22,163,74,0.16); border: 1px solid rgba(22,163,74,0.4); padding: 6px 11px; border-radius: 999px; }
    .live-pill.on-dark { color: #86efac; }
    .live-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; animation: pulse 1.8s infinite; }
    @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,0.55); } 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }

    .mkt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 16px; }
    .mkt-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); padding: 15px; box-shadow: 0 10px 26px rgba(5,12,28,0.26); backdrop-filter: blur(8px); display: flex; flex-direction: column; gap: 11px; cursor: pointer; transition: border-color .14s, transform .14s; }
    .mkt-card:hover { border-color: rgba(147,197,253,0.55); transform: translateY(-2px); }
    .mkt-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--muted); }
    .mkt-card__q { margin: 0; font-size: 15px; font-weight: 800; color: #fff; line-height: 1.35; }
    .outcomes { display: flex; flex-direction: column; gap: 9px; }
    .outcome { display: grid; grid-template-columns: 1fr auto; column-gap: 10px; row-gap: 5px; align-items: center; font-size: 12.5px; }
    .outcome .oname { color: rgba(255,255,255,0.85); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .outcome .opct { font-weight: 800; color: #fff; font-variant-numeric: tabular-nums; }
    .obar { grid-column: 1 / -1; height: 6px; border-radius: 999px; background: rgba(255,255,255,0.09); overflow: hidden; }
    .obar > span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cool)); }
    .obar.red > span { background: linear-gradient(90deg, var(--red), #fca5a5); }
    .mkt-card__foot { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); font-size: 11.5px; color: var(--muted); flex-wrap: wrap; }
    .mkt-card__foot b { color: #cfe0ff; }
    .mult { color: #86efac; font-weight: 800; }
    .mkt-news { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: rgba(255,255,255,0.75); width: 100%; padding-top: 8px; border-top: 1px dashed rgba(219,229,244,0.14); }
    .mkt-news .fav { width: 15px; height: 15px; border-radius: 4px; background: var(--cool); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; font-size: 8.5px; color: #0b1a34; font-weight: 800; }
    .mkt-news a { color: rgba(255,255,255,0.82); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mkt-news a:hover { color: #fff; text-decoration: underline; }

    .kalshi-layout { display: grid; grid-template-columns: 180px 1fr; gap: 10px; align-items: start; }
    .kalshi-side { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 8px; display: flex; flex-direction: column; gap: 5px; }
    .kalshi-side button { border: 1px solid transparent; border-radius: 9px; padding: 8px 10px; font-size: 12px; font-weight: 700; color: var(--muted); text-align: left; background: transparent; cursor: pointer; }
    .kalshi-side button.on { color: #86efac; background: rgba(34,197,94,0.12); border-color: rgba(34,197,94,0.35); }
    .kalshi-side .lane-group { display: flex; flex-direction: column; gap: 3px; }
    .kalshi-side .lane-group + .lane-group { margin-top: 4px; }
    .kalshi-side button.lane-group-head { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: #cbd5e1; }
    .kalshi-side button.lane-group-head:hover { color: #fff; }
    .kalshi-side .lane-group-kids { display: flex; flex-direction: column; gap: 3px; padding-left: 8px; border-left: 1px solid var(--line); margin-left: 3px; }
    .kalshi-side .lane-group-kids button { font-weight: 600; padding: 6px 10px; }
    .kalshi-main-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; padding: 0 2px; }
    .kalshi-main-top h3 { margin: 0; font-size: 20px; line-height: 1.1; color: #fff; letter-spacing: -0.01em; }
    .kalshi-controls { display: flex; flex-wrap: wrap; gap: 8px; }
    .kalshi-controls button { border: 1px solid var(--line); background: var(--panel-2); color: #c7d7ee; border-radius: 999px; padding: 7px 12px; font-size: 12px; font-weight: 700; cursor: pointer; }
    .kalshi-controls button.on { border-color: rgba(56,189,248,0.55); background: rgba(56,189,248,0.15); color: #bfefff; }
    .kalshi-topbox { margin-bottom: 8px; padding: 10px 12px; }
    .kalshi-search-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
    .kalshi-search { flex: 1; min-width: 220px; padding: 10px 12px; border-radius: 9px; border: 1px solid var(--line); background: var(--panel-strong); color: var(--text); font-size: 13px; }
    .kalshi-search-meta { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; white-space: nowrap; }
    .kalshi-ticker { border: 1px solid var(--line); border-radius: 9px; background: rgba(8,19,41,0.5); overflow: hidden; }
    .kalshi-ticker-track { display: flex; align-items: center; gap: 22px; width: max-content; padding: 8px 12px; white-space: nowrap; animation: kalshiTickerScroll 150s linear infinite; }
    .kalshi-ticker:hover .kalshi-ticker-track { animation-play-state: paused; }
    .k-tick { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; }
    .k-tick .name { color: #dbe5f4; font-weight: 700; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
    .k-tick .move { font-variant-numeric: tabular-nums; font-weight: 800; }
    .k-tick .move.up { color: var(--up); }
    .k-tick .move.down { color: var(--down); }
    .k-tick .move.flat { color: var(--muted); }
    @keyframes kalshiTickerScroll {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    .kseries-grid { display: block; }
    .kseries-table-wrap { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); overflow-x: auto; overflow-y: visible; box-shadow: 0 8px 20px rgba(5,12,28,0.2); }
    .kseries-table { width: 100%; border-collapse: collapse; min-width: 920px; }
    .kseries-table th, .kseries-table td { padding: 8px 10px; border-bottom: 1px solid rgba(219,229,244,0.12); font-size: 12px; vertical-align: middle; }
    .kseries-table th { font-size: 10px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); background: rgba(8,19,41,0.65); position: sticky; top: 0; z-index: 2; }
    .kseries-table tr:last-child td { border-bottom: none; }
    .kseries-table tbody tr:hover td { background: rgba(255,255,255,0.04); }
    .kseries-lane { font-size: 10px; font-weight: 800; letter-spacing: .08em; color: #cbd5e1; }
    .kseries-freq { display: inline-flex; align-items: center; justify-content: center; min-width: 82px; padding: 4px 10px; border-radius: 999px; border: 1px solid rgba(147,197,253,0.35); color: #dbeafe; font-size: 11px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; background: rgba(29,78,216,0.2); }
    .kseries-name { color: #fff; font-weight: 700; line-height: 1.35; }
    .kseries-link { color: inherit; text-decoration: none; display: inline-block; }
    .kseries-link:hover { color: #dbeafe; text-decoration: underline; }
    .kseries-sub { color: var(--muted); font-size: 11px; margin-top: 2px; }
    .kseries-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
    .kseries-head-main { min-width: 0; }
    .kseries-head-stats { color: var(--muted); font-size: 12px; text-align: right; white-space: nowrap; margin-top: 4px; }
    .kseries-live-metrics { display: grid; grid-template-columns: 1fr 1.3fr 1fr 1fr 1fr; gap: 7px; margin-left: auto; }
    .kseries-live-metric { min-width: 0; padding: 8px 10px; border: 1px solid rgba(147,197,253,0.24); border-radius: 7px; background: rgba(8,19,41,0.72); }
    .kseries-live-metric span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
    .kseries-live-metric b { display: block; margin-top: 2px; color: #fff; font-size: 20px; line-height: 1.15; font-variant-numeric: tabular-nums; }
    .kseries-live-metric small { display: block; margin-top: 3px; color: #aebed4; font-size: 10px; white-space: nowrap; }
    .kseries-live-metric--count b { color: #86efac; }
    .kseries-live-metric--cutoff b { color: #fcd34d; font-family: Consolas, "Courier New", monospace; font-size: 24px; line-height: 1.1; letter-spacing: 0; white-space: nowrap; }
    .kseries-live-metric--cutoff b [data-market-countdown] { display: inline; color: inherit; font: inherit; letter-spacing: 0; text-transform: none; }
    .kseries-status { display: inline-flex; align-items: center; padding: 4px 7px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
    .kseries-status.live { color: #86efac; border-color: rgba(34,197,94,.4); background: rgba(34,197,94,.12); }
    .kseries-status.reachable { color: #bfdbfe; border-color: rgba(59,130,246,.4); background: rgba(59,130,246,.12); }
    .kseries-status.accelerate { color: #fde68a; border-color: rgba(245,158,11,.4); background: rgba(245,158,11,.12); }
    .kseries-status.overshoot { color: #fdba74; border-color: rgba(249,115,22,.4); background: rgba(249,115,22,.12); }
    .kseries-status.passed { color: #fca5a5; border-color: rgba(239,68,68,.4); background: rgba(239,68,68,.12); }
    .cadence-analysis { margin-top: 10px; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(230px, .8fr); gap: 10px; }
    .cadence-analysis__panel { border: 1px solid rgba(147,197,253,.26); border-radius: 8px; background: #081329; padding: 12px; box-shadow: 0 8px 20px rgba(5,12,28,.24); }
    .cadence-analysis__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
    .cadence-analysis__head h5 { margin: 0; color: #fff; font-size: 13px; }
    .cadence-analysis__head span { color: var(--muted); font-size: 10px; }
    .cadence-calendar { grid-column: 1 / -1; }
    .cadence-calendar__days { display: grid; grid-template-columns: repeat(7, minmax(92px, 1fr)); gap: 6px; overflow-x: auto; padding-bottom: 2px; scrollbar-width: thin; }
    .cadence-calendar__day { min-width: 92px; padding: 9px; border: 1px solid rgba(147,197,253,.2); border-radius: 6px; background: #0d1c36; }
    .cadence-calendar__day.is-current { border-color: rgba(74,222,128,.58); box-shadow: inset 0 0 0 1px rgba(74,222,128,.16); }
    .cadence-calendar__day.is-complete { background: #102342; }
    .cadence-calendar__day > span { display: block; color: #dbeafe; font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .cadence-calendar__day > small { display: block; min-height: 25px; margin-top: 3px; color: var(--muted); font-size: 8px; line-height: 1.35; }
    .cadence-calendar__day > b { display: block; margin-top: 8px; color: #fff; font-size: 18px; font-variant-numeric: tabular-nums; }
    .cadence-calendar__day > em { display: block; margin-top: 2px; color: #aebed4; font-size: 9px; font-style: normal; line-height: 1.35; }
    .cadence-bars { display: grid; grid-template-columns: repeat(var(--week-count), minmax(24px, 1fr)); align-items: end; gap: 6px; min-height: 150px; }
    .cadence-bar { min-width: 0; text-align: center; }
    .cadence-bar__track { height: 112px; display: flex; align-items: flex-end; justify-content: center; border-bottom: 1px solid rgba(219,229,244,.18); }
    .cadence-bar__fill { width: min(28px, 72%); min-height: 3px; border-radius: 3px 3px 0 0; background: #60a5fa; }
    .cadence-bar__fill.current { background: #4ade80; }
    .cadence-bar b { display: block; margin-top: 4px; color: #e8f0fb; font-size: 10px; font-variant-numeric: tabular-nums; }
    .cadence-bar small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; white-space: nowrap; }
    .cadence-compare { display: grid; gap: 9px; }
    .cadence-compare__row { padding-bottom: 9px; border-bottom: 1px solid rgba(219,229,244,.12); }
    .cadence-compare__row:last-child { padding-bottom: 0; border-bottom: 0; }
    .cadence-compare__row span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
    .cadence-compare__row b { display: block; margin-top: 3px; color: #fff; font-size: 17px; font-variant-numeric: tabular-nums; }
    .cadence-compare__row small { display: block; margin-top: 2px; color: #aebed4; font-size: 10px; line-height: 1.35; }
    .pricing-read { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .pricing-read__metric { padding: 9px; border: 1px solid rgba(147,197,253,.2); border-radius: 6px; background: #0d1c36; }
    .pricing-read__metric span { display: block; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .pricing-read__metric b { display: block; margin-top: 3px; color: #fff; font-size: 18px; font-variant-numeric: tabular-nums; }
    .pricing-read__metric small { display: block; margin-top: 2px; color: #aebed4; font-size: 10px; line-height: 1.35; }
    .pricing-read__note { grid-column: 1 / -1; margin: 2px 0 0; color: #dbe5f4; font-size: 11px; line-height: 1.5; }
    .correlation-list { display: grid; gap: 8px; }
    .correlation-row { display: grid; grid-template-columns: minmax(92px, 1fr) 88px 52px; gap: 8px; align-items: center; }
    .correlation-row__label b { display: block; color: #e8f0fb; font-size: 11px; }
    .correlation-row__label small { display: block; margin-top: 1px; color: var(--muted); font-size: 9px; }
    .correlation-track { position: relative; height: 5px; border-radius: 999px; background: linear-gradient(90deg, rgba(248,113,113,.35) 0 49%, rgba(255,255,255,.12) 49% 51%, rgba(74,222,128,.35) 51% 100%); }
    .correlation-track i { position: absolute; top: 50%; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #60a5fa; transform: translate(-50%, -50%); }
    .correlation-row__value { color: #fff; font-size: 11px; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
    .correlation-caveat { margin: 10px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }
    .volume-driver__summary { padding: 10px; border-left: 3px solid #fbbf24; border-radius: 6px; background: #172441; }
    .volume-driver__summary.is-normal { border-left-color: #60a5fa; background: #102342; }
    .volume-driver__summary strong { display: block; color: #fff; font-size: 13px; }
    .volume-driver__summary p { margin: 4px 0 0; color: #dbe5f4; font-size: 10px; line-height: 1.45; }
    .volume-driver__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 8px; }
    .volume-driver__metric { min-width: 0; padding: 8px; border: 1px solid rgba(147,197,253,.2); border-radius: 6px; background: #0d1c36; }
    .volume-driver__metric span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .volume-driver__metric b { display: block; margin-top: 3px; color: #fff; font-size: 15px; font-variant-numeric: tabular-nums; }
    .volume-driver__metric small { display: block; margin-top: 2px; color: #aebed4; font-size: 9px; line-height: 1.35; }
    .volume-driver__evidence { display: grid; gap: 7px; margin-top: 9px; }
    .volume-driver__row { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 8px; padding-top: 7px; border-top: 1px solid rgba(219,229,244,.1); }
    .volume-driver__row > span { color: var(--cool); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
    .volume-driver__row b { display: block; color: #e8f0fb; font-size: 10px; }
    .volume-driver__row small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.4; }
    .volume-driver__topics { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
    .volume-driver__topic { padding: 3px 6px; border-radius: 999px; border: 1px solid rgba(147,197,253,.2); color: #dbeafe; background: rgba(59,130,246,.1); font-size: 9px; white-space: nowrap; }
    .volume-driver__coverage { margin: 8px 0 0; color: var(--muted); font-size: 8px; line-height: 1.4; }
    .kseries-title-row { display: flex; align-items: center; gap: 10px; }
    .kseries-head h4 { margin: 0; color: #fff; font-size: 21px; line-height: 1.2; }
    .kseries-head .meta { color: var(--muted); font-size: 12px; margin-top: 3px; }
    .kseries-back { display: inline-flex; align-items: center; min-height: 28px; margin-bottom: 5px; color: #bfdbfe; font-size: 12px; font-weight: 800; text-decoration: none; }
    .kseries-back:hover { color: #fff; text-decoration: underline; }
    .kseries-contract { color: #fff; font-weight: 700; line-height: 1.35; }
    .kseries-contract-sub { color: var(--muted); font-size: 11px; margin-top: 2px; }
    .kseries-delta.up { color: var(--up); font-weight: 800; }
    .kseries-delta.down { color: var(--down); font-weight: 800; }
    .kseries-delta.flat { color: var(--muted); font-weight: 800; }
    .kseries-topline { color: #dbe5f4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
    .kseries-pct { color: #fff; font-weight: 800; font-variant-numeric: tabular-nums; }
    .kseries-mult { color: #86efac; font-weight: 800; font-variant-numeric: tabular-nums; }
    .kseries-vol, .kseries-count { color: #cfe0ff; font-weight: 700; font-variant-numeric: tabular-nums; }
    .kseries-mini { width: 110px; height: 4px; border-radius: 999px; background: rgba(255,255,255,0.1); overflow: hidden; display: inline-block; vertical-align: middle; margin-left: 6px; }
    .kseries-mini > span { display: block; height: 100%; background: linear-gradient(90deg, #2563eb, #7dd3fc); }
    .mobile-market-list, .mobile-market-filter-btn, .mobile-market-filter-close { display: none; }
    .mobile-market-card { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 13px; color: var(--text); }
    .mobile-market-card + .mobile-market-card { margin-top: 9px; }
    .mobile-market-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
    .mobile-market-card__title { color: #fff; font-size: 14px; font-weight: 800; line-height: 1.35; }
    .mobile-market-card__meta { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.4; }
    .mobile-market-card__price { flex: 0 0 auto; color: #fff; font-size: 22px; font-weight: 800; }
    .mobile-market-card__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 11px; }
    .mobile-market-card__metric { min-width: 0; padding: 8px; border: 1px solid rgba(147,197,253,0.16); border-radius: 6px; background: rgba(255,255,255,0.035); }
    .mobile-market-card__metric span { display: block; color: var(--muted); font-size: 10px; }
    .mobile-market-card__metric b { display: block; margin-top: 3px; color: #eef4ff; font-size: 13px; }
    .mobile-market-card__action { min-height: 44px; margin-top: 10px; display: flex; align-items: center; justify-content: center; width: 100%; border: 1px solid rgba(147,197,253,0.3); border-radius: 7px; background: rgba(29,78,216,0.16); color: #dbeafe; font-size: 12px; font-weight: 800; text-decoration: none; }
    .mobile-market-card details { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 8px; }
    .mobile-market-card summary { min-height: 44px; display: flex; align-items: center; color: #bfdbfe; font-size: 12px; font-weight: 800; cursor: pointer; }
    .mobile-market-card__insight { display: grid; gap: 7px; padding-bottom: 4px; }
    .mobile-market-card__insight div { color: #dbe5f4; font-size: 12px; line-height: 1.45; }
    .mobile-market-card__insight span { color: var(--muted); }
    .market-loading { display: grid; gap: 10px; }
    .market-loading__card { min-height: 188px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 14px; }
    .market-loading__line { height: 12px; margin-bottom: 10px; border-radius: 5px; background: rgba(219,229,244,0.12); }
    .market-loading__line--title { width: 72%; height: 18px; }
    .market-loading__line--short { width: 44%; }
    @media (max-width: 980px) {
      .kalshi-layout { grid-template-columns: 1fr; }
      .kseries-table { min-width: 760px; }
      .kseries-head { flex-direction: column; }
      .kseries-live-metrics { width: 100%; margin-left: 0; }
      .cadence-analysis { grid-template-columns: 1fr; }
      #movement #moveSource { display: flex; width: 100%; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
      #movement #moveSource::-webkit-scrollbar { display: none; }
      #movement #moveSource button { flex: 0 0 82px; min-width: 0; padding: 7px 6px; font-size: 11px; letter-spacing: 0; scroll-snap-align: start; }
    }
    @media (max-width: 760px) {
      .kalshi-topbox { padding: 10px; }
      .kalshi-search-row { align-items: stretch; flex-wrap: wrap; }
      .kalshi-search { min-width: 0; min-height: 44px; flex: 1 1 calc(100% - 92px); }
      .kalshi-search-meta { align-self: center; }
      .mobile-market-filter-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: #fff; font: inherit; font-size: 12px; font-weight: 800; }
      .kalshi-ticker { display: none; }
      .kalshi-layout { display: block; }
      .kalshi-side { display: none; position: fixed; z-index: 145; left: 8px; right: 8px; bottom: calc(78px + env(safe-area-inset-bottom)); max-height: 64vh; overflow-y: auto; padding: 12px; border-radius: 12px; box-shadow: 0 18px 46px rgba(0,0,0,0.58); }
      .kalshi-side.mobile-open { display: flex; }
      .kalshi-side button { min-height: 44px; font-size: 13px; }
      .mobile-market-filter-close { display: flex !important; align-items: center; justify-content: center; color: #fff !important; background: rgba(220,38,38,0.18) !important; border-color: rgba(248,113,113,0.35) !important; }
      #kalshiSeriesGrid > .kseries-table-wrap { display: none; }
      .mobile-market-list { display: block; }
      .mobile-market-detail-head { margin-bottom: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
      .mobile-market-detail-head h4 { margin: 0; font-size: 17px; color: #fff; line-height: 1.3; }
      .mobile-market-detail-head .meta { margin-top: 5px; color: var(--muted); font-size: 12px; }
      .kseries-live-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .cadence-analysis { display: grid; grid-template-columns: 1fr; }
      .cadence-analysis__panel--distribution, .cadence-analysis__panel--trajectory { display: none; }
      .pricing-read { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .correlation-row { grid-template-columns: minmax(98px, 1fr) 72px 48px; }
      .volume-driver__metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    /* Inline probability bar for table cells */
    .mini-bar { display: inline-block; width: 52px; height: 6px; border-radius: 999px; background: rgba(255,255,255,0.1); overflow: hidden; vertical-align: middle; margin-left: 8px; }
    .mini-bar > span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--cool)); }

    /* Pulse dot (shared) */
    .pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; display: inline-block; animation: pulse 1.8s infinite; }

    /* Top Movers strip */
    .movers { display: flex; gap: 12px; overflow-x: auto; padding: 2px 2px 12px; }
    .mover { flex: 0 0 auto; width: 194px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 11px 13px; cursor: pointer; transition: border-color .14s, transform .14s; box-shadow: 0 8px 20px rgba(5,12,28,0.22); }
    .mover:hover { border-color: rgba(147,197,253,0.55); transform: translateY(-2px); }
    .mover__name { font-size: 12px; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .mover__row { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
    .mover__pct { font-size: 20px; font-weight: 800; color: #fff; }
    .mover__delta { font-size: 12px; font-weight: 800; }
    .mover__spark { width: 100%; height: 34px; display: block; margin-top: 4px; }

    /* Live activity ticker */
    .activity { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--muted); margin: 6px 0 4px; padding: 9px 13px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
    .activity .tag-live { color: #86efac; font-weight: 800; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; letter-spacing: 0.05em; }
    .activity .feed { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: opacity .3s; color: rgba(255,255,255,0.8); }

    /* Category filter chips */
    .cat-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }

    /* Sparkline in market card */
    .mkt-spark { width: 100%; height: 36px; display: block; }

    /* Watchlist star */
    .wl-star { border: none; background: transparent; color: var(--muted); font-size: 19px; cursor: pointer; line-height: 1; padding: 0 2px; transition: color .14s, transform .14s; }
    .wl-star:hover { transform: scale(1.15); color: #fcd34d; }
    .wl-star.on { color: #fcd34d; }
    .kseries-contract-head { display: flex; align-items: flex-start; gap: 7px; }
    .watch-note { width: 100%; margin-top: 7px; min-height: 52px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,0.03); color: #eaf1fd; font: inherit; font-size: 12px; padding: 7px 8px; }
    .watch-note::placeholder { color: var(--muted); }
    .watch-empty { padding: 18px 10px; text-align: center; color: var(--muted); }
    .kalshi-hero { margin-bottom: 14px; }
    .kalshi-hero .welcome-hero__badge { margin-bottom: 2px; }
    .kalshi-radar-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
    .kalshi-radar-head h1 { margin: 8px 0 4px; max-width: none; font-size: clamp(25px, 3vw, 38px); }
    .kalshi-radar-head .lead { max-width: 760px; margin: 0; }
    .kalshi-radar-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 14px; }
    .kalshi-event-card, .kalshi-pulse-card { border: 1px solid rgba(147,197,253,.18); border-radius: 14px; background: rgba(7,18,40,.62); padding: 17px; min-width: 0; }
    .kalshi-event-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
    .kalshi-event-card h2 { margin: 6px 0 4px; color: #fff; font-size: 24px; line-height: 1.18; }
    .kalshi-event-date { color: #c7d7ee; font-size: 13px; }
    .kalshi-event-status { flex: 0 0 auto; color: #86efac; background: rgba(22,163,74,.14); border: 1px solid rgba(34,197,94,.32); border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
    .kalshi-countdown { display: grid; grid-template-columns: repeat(4, minmax(58px, 1fr)); gap: 7px; margin: 15px 0; }
    .kalshi-countdown > div { background: rgba(12,27,55,.9); border: 1px solid rgba(147,197,253,.14); border-radius: 9px; padding: 9px 7px; text-align: center; }
    .kalshi-countdown b { display: block; color: #fff; font-size: 22px; line-height: 1; font-variant-numeric: tabular-nums; }
    .kalshi-countdown span { display: block; margin-top: 5px; color: #8fa4c4; font-size: 9px; font-weight: 800; text-transform: uppercase; }
    .kalshi-countdown.date-only { grid-template-columns: 1fr; }
    .kalshi-countdown.date-only > div { text-align: left; padding: 11px 13px; }
    .kalshi-countdown.date-only b { font-size: 19px; }
    .kalshi-event-why { margin: 0 0 12px; color: #cbd8ea; font-size: 12.5px; line-height: 1.5; }
    .kalshi-related { display: grid; gap: 6px; }
    .kalshi-related-row { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: center; border: 1px solid rgba(147,197,253,.15); border-radius: 8px; background: rgba(255,255,255,.035); color: #fff; padding: 8px 10px; text-align: left; cursor: pointer; }
    .kalshi-related-row:hover { border-color: rgba(147,197,253,.45); background: rgba(255,255,255,.065); }
    .kalshi-related-copy { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .kalshi-related-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
    .kalshi-related-copy small { overflow: hidden; color: #8fa4c4; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
    .kalshi-related-row .price { color: #bfdbfe; font-weight: 800; font-variant-numeric: tabular-nums; }
    .kalshi-related-row .move { font-size: 11px; font-weight: 800; }
    .kalshi-event-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
    .kalshi-event-actions a { color: #bfdbfe; font-size: 11px; font-weight: 700; }
    .kalshi-pulse-card h3 { margin: 5px 0 12px; }
    .kalshi-pulse-card .welcome-stats { grid-template-columns: 1fr 1fr; }
    .kalshi-pulse-card .welcome-stats b { font-size: 20px; overflow: hidden; text-overflow: ellipsis; }
    .kalshi-event-queue { margin-bottom: 14px; border: 1px solid var(--line); border-radius: 12px; background: rgba(8,20,43,.72); overflow: hidden; }
    .kalshi-event-queue .section-head { padding: 12px 14px 8px; margin: 0; }
    .kalshi-queue-row { display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 14px; border-top: 1px solid var(--line); }
    .kalshi-queue-when { color: #bfdbfe; font-size: 11px; font-weight: 800; }
    .kalshi-queue-title { color: #fff; font-size: 12.5px; font-weight: 700; }
    .kalshi-queue-meta { color: var(--muted); font-size: 11px; }
    .kalshi-disclaimer { margin: 10px 0 0; color: #9fb0ca; font-size: 10.5px; line-height: 1.45; }
    .kalshi-note {
      margin-top: 12px;
      background: rgba(127,29,29,0.24);
      border-color: rgba(248,113,113,0.38);
      color: #fecaca;
    }
    .kalshi-note b { color: #fff1f2; }
    .kalshi-mc-stats b { font-size: 24px; }
    .kalshi-mc-stats span { line-height: 1.35; }
    .kalshi-mc-list { margin: 0; padding-left: 17px; color: #dbe5f4; font-size: 12.5px; line-height: 1.5; }
    .kalshi-mc-list li { margin: 5px 0; }
    .kalshi-mc-resume { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    .star-pill { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 800; color: #0b1a34; background: rgba(252,211,77,0.9); border: 1px solid rgba(245,158,11,0.6); padding: 7px 11px; border-radius: 999px; cursor: pointer; }

    /* Countdown */
    .countdown { font-variant-numeric: tabular-nums; color: #fcd34d; font-weight: 700; font-size: 11.5px; }

    @media (max-width: 900px) {
      .kalshi-radar-grid { grid-template-columns: 1fr; }
      .kalshi-radar-head { display: block; }
    }
    @media (max-width: 560px) {
      .kalshi-event-card, .kalshi-pulse-card { padding: 13px; }
      .kalshi-event-card h2 { font-size: 20px; }
      .kalshi-event-top { display: block; }
      .kalshi-event-status { display: inline-flex; margin-top: 9px; }
      .kalshi-countdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .kalshi-countdown b { font-size: 18px; }
      .kalshi-related-row { grid-template-columns: minmax(0, 1fr) auto; }
      .kalshi-related-row .move { grid-column: 2; }
      .kalshi-queue-row { grid-template-columns: 78px minmax(0, 1fr); gap: 8px; }
      .kalshi-queue-meta { grid-column: 2; }
    }

    /* Order book (market modal) */
    .ob { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
    .ob__side { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
    .ob__hd { padding: 8px 12px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
    .ob__hd.yes { background: rgba(29,78,216,0.22); color: #bcd0ff; }
    .ob__hd.no { background: rgba(220,38,38,0.2); color: #fca5a5; }
    .ob__lvl { display: flex; justify-content: space-between; padding: 6px 12px; font-size: 12px; position: relative; }
    .ob__lvl > span { position: relative; z-index: 1; font-variant-numeric: tabular-nums; }
    .ob__lvl .depth { position: absolute; top: 0; bottom: 0; right: 0; z-index: 0; }
    .ob__lvl.yes .depth { background: rgba(29,78,216,0.18); }
    .ob__lvl.no .depth { background: rgba(220,38,38,0.16); }
    .trades { max-height: 158px; overflow-y: auto; }
    .trades .trow { display: flex; justify-content: space-between; font-size: 12px; padding: 6px 2px; border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }

    /* Market modal: price history chart */
    .mm-chart-wrap { margin: 2px 0 6px; }
    .mm-chart { width: 100%; height: 132px; display: block; background: linear-gradient(180deg, rgba(13,28,54,0.6), rgba(8,20,43,0.6)); border-radius: 10px; cursor: crosshair; }
    .mm-chart-tabs { display: flex; gap: 6px; margin-top: 8px; }
    .mm-chart-tabs button { border: 1px solid var(--line); background: var(--panel); color: rgba(255,255,255,0.75); font-size: 11px; font-weight: 700; padding: 4px 11px; border-radius: 7px; cursor: pointer; }
    .mm-chart-tabs button.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; border-color: transparent; }

    /* Market modal: reference prices (read-only) */
    .mm-prices { display: flex; align-items: stretch; gap: 10px; margin: 14px 0 4px; flex-wrap: wrap; }
    .mm-price { flex: 1; min-width: 120px; border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; background: var(--panel-2); text-align: center; }
    .mm-price .lbl { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
    .mm-price.yes .lbl { color: #bcd0ff; } .mm-price.no .lbl { color: #fca5a5; }
    .mm-price .px { display: block; font-size: 24px; font-weight: 800; color: #fff; margin-top: 3px; font-variant-numeric: tabular-nums; }

    /* Market modal: resolution rules */
    .mm-rules { border: 1px solid var(--line); border-radius: 10px; margin: 14px 0; overflow: hidden; }
    .mm-rules summary { padding: 11px 14px; cursor: pointer; font-weight: 700; font-size: 13px; color: #fff; list-style: none; display: flex; align-items: center; gap: 8px; }
    .mm-rules summary::-webkit-details-marker { display: none; }
    .mm-rules summary::before { content: '\25B8'; color: var(--cool); font-size: 11px; transition: transform .15s; }
    .mm-rules[open] summary::before { transform: rotate(90deg); }
    .mm-rules .body { padding: 0 14px 13px; color: var(--muted); font-size: 12.5px; line-height: 1.6; }

    /* Market modal: related markets */
    .mm-related { margin: 14px 0 4px; }
    .rel-grid { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
    .rel-chip { border: 1px solid var(--line); background: var(--panel); border-radius: 9px; padding: 8px 11px; cursor: pointer; font-size: 12px; display: flex; flex-direction: column; gap: 3px; min-width: 118px; max-width: 200px; transition: border-color .14s, transform .14s; }
    .rel-chip:hover { border-color: rgba(147,197,253,0.5); transform: translateY(-2px); }
    .rel-chip b { color: #fff; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rel-chip .rp { color: var(--cool); font-weight: 800; }

    /* Accessibility + scrollbar polish */
    :focus-visible { outline: 2px solid var(--cool); outline-offset: 2px; border-radius: 6px; }
    .content::-webkit-scrollbar, .list.scroll::-webkit-scrollbar, .posts-box::-webkit-scrollbar, .trades::-webkit-scrollbar, .sidebar::-webkit-scrollbar, .modal__dialog::-webkit-scrollbar, .mv-timeline::-webkit-scrollbar, .dash-widget__body--fill::-webkit-scrollbar { width: 9px; height: 9px; }
    .content::-webkit-scrollbar-thumb, .list.scroll::-webkit-scrollbar-thumb, .posts-box::-webkit-scrollbar-thumb, .trades::-webkit-scrollbar-thumb, .sidebar::-webkit-scrollbar-thumb, .modal__dialog::-webkit-scrollbar-thumb, .mv-timeline::-webkit-scrollbar-thumb, .dash-widget__body--fill::-webkit-scrollbar-thumb { background: rgba(147,197,253,0.25); border-radius: 8px; }
    .content::-webkit-scrollbar-thumb:hover, .posts-box::-webkit-scrollbar-thumb:hover, .modal__dialog::-webkit-scrollbar-thumb:hover, .mv-timeline::-webkit-scrollbar-thumb:hover, .dash-widget__body--fill::-webkit-scrollbar-thumb:hover { background: rgba(147,197,253,0.45); }

    /* ===== Welcome / landing tab ===== */
    .welcome-hero { position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(17,35,67,0.98), rgba(8,19,41,0.98)); border: 1px solid rgba(147,197,253,0.16); border-radius: 22px; padding: 22px; box-shadow: 0 18px 42px rgba(5,12,28,0.34); backdrop-filter: blur(8px); margin: 6px 0 14px; }
    .welcome-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 8% 10%, rgba(29,78,216,0.22), transparent 32%), radial-gradient(circle at 88% 16%, rgba(220,38,38,0.18), transparent 28%); pointer-events: none; }
    .welcome-hero > * { position: relative; z-index: 1; }
    .welcome-hero__layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, 0.9fr); gap: 20px; align-items: start; }
    .welcome-hero__badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; color: #86efac; background: rgba(22,163,74,0.16); border: 1px solid rgba(22,163,74,0.4); padding: 6px 12px; border-radius: 999px; }
    .welcome-hero h1 { font-size: 30px; line-height: 1.08; margin: 10px 0 9px; color: #fff; letter-spacing: -0.03em; max-width: 18ch; }
    .welcome-hero p.lead { font-size: 14px; line-height: 1.5; color: rgba(231,238,250,0.84); max-width: 62ch; margin: 0 0 14px; }
    .welcome-cta { display: flex; gap: 8px; flex-wrap: wrap; }
    .welcome-cta .btn { padding: 10px 15px; font-size: 13px; border-radius: 999px; flex: 0 1 auto; white-space: nowrap; }
    .welcome-disclaimer { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: rgba(231,238,250,0.6); max-width: 62ch; }
    .welcome-hero__aside { background: rgba(255,255,255,0.04); border: 1px solid rgba(147,197,253,0.14); border-radius: 18px; padding: 16px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.04); display: flex; flex-direction: column; gap: 12px; }
    .welcome-hero__aside .eyebrow { font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cool); font-weight: 800; }
    .welcome-hero__aside h3 { margin: 0; color: #fff; font-size: 17px; }
    .welcome-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 0; }
    .welcome-stats > div { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 14px; background: rgba(8,20,43,0.72); border: 1px solid rgba(255,255,255,0.08); }
    .welcome-stats b { font-size: 21px; color: #fff; font-weight: 800; }
    .welcome-stats span { font-size: 12px; color: var(--muted); }
    .welcome-feats { display: flex; flex-direction: column; gap: 8px; }
    .welcome-feat { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; padding: 12px 14px; border-radius: 14px; background: rgba(8,20,43,0.72); border: 1px solid rgba(255,255,255,0.08); color: inherit; cursor: pointer; transition: border-color .15s, transform .15s, background .15s; }
    .welcome-feat:hover { border-color: rgba(147,197,253,0.5); background: rgba(12,28,56,0.9); transform: translateY(-1px); }
    .welcome-feat__ico { font-size: 20px; line-height: 1; flex: 0 0 auto; }
    .welcome-feat__body { display: flex; flex-direction: column; gap: 1px; flex: 1 1 auto; min-width: 0; }
    .welcome-feat__body b { font-size: 20px; color: #fff; font-weight: 800; line-height: 1.1; }
    .welcome-feat__body span { font-size: 12px; color: var(--muted); }
    .welcome-feat__go { color: var(--cool); font-weight: 800; font-size: 16px; flex: 0 0 auto; opacity: .7; }
    .welcome-feat:hover .welcome-feat__go { opacity: 1; }
    .welcome-explore { display: flex; flex-direction: column; gap: 8px; }
    .explore-box { display: flex; align-items: center; gap: 16px; width: 100%; text-align: left; padding: 12px 18px; border-radius: 16px; background: linear-gradient(135deg, rgba(12,26,52,0.92), rgba(8,18,40,0.92)); border: 1px solid rgba(147,197,253,0.14); color: inherit; cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; }
    .explore-box:hover { border-color: rgba(147,197,253,0.5); transform: translateY(-2px); box-shadow: 0 14px 32px rgba(5,12,28,0.4); }
    .explore-box__ico { font-size: 22px; line-height: 1; flex: 0 0 auto; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(147,197,253,0.1); }
    .explore-box__main { display: flex; flex-direction: column; gap: 3px; flex: 1 1 auto; min-width: 0; }
    .explore-box__title { font-size: 17px; font-weight: 800; color: #fff; }
    .explore-box__desc { font-size: 12.5px; color: var(--muted); line-height: 1.4; }
    .explore-box__go { flex: 0 0 auto; color: var(--cool); font-weight: 800; font-size: 14px; white-space: nowrap; opacity: .85; }
    .explore-box:hover .explore-box__go { opacity: 1; }
    @media (max-width: 640px) { .explore-box { flex-direction: column; align-items: flex-start; gap: 12px; } }
    .welcome-mini { border-top: 1px solid rgba(255,255,255,0.08); padding-top: 12px; }
    .welcome-mini .sub { margin-bottom: 8px; }
    .welcome-mini .mini-spark { height: 94px; }
    .welcome-mini__cap { margin-top: 7px; font-size: 11px; font-weight: 700; color: var(--cool); letter-spacing: 0.02em; }
    .pulse-wrap { position: relative; }
    .pulse-dot2 { position: absolute; width: 7px; height: 7px; margin: -3.5px 0 0 -3.5px; border-radius: 50%; background: #0b1c36; border: 2px solid var(--pulse-color, #6dde43); cursor: pointer; transition: transform .12s ease; z-index: 5; }
    .pulse-dot2:hover { transform: scale(1.55); }
    .pulse-tip { position: absolute; z-index: 30; min-width: 140px; max-width: 232px; background: rgba(6,16,36,0.97); border: 1px solid rgba(147,197,253,0.32); border-radius: 10px; padding: 9px 11px; box-shadow: 0 14px 32px rgba(0,0,0,0.55); pointer-events: none; opacity: 0; transform: translateY(4px); transition: opacity .12s ease, transform .12s ease; }
    .pulse-tip.show { opacity: 1; transform: translateY(0); }
    .pulse-tip__day { font-size: 11.5px; font-weight: 800; color: #fff; }
    .pulse-tip__n { font-size: 9.5px; font-weight: 800; color: var(--cool); text-transform: uppercase; letter-spacing: 0.09em; margin: 3px 0 6px; }
    .pulse-tip__post { font-size: 11px; line-height: 1.4; color: var(--muted); margin-top: 5px; padding-top: 5px; border-top: 1px solid rgba(255,255,255,0.08); }
    .pulse-tip__post:first-of-type { border-top: 0; padding-top: 0; margin-top: 0; }
    .pulse-tip__empty { font-size: 11px; color: var(--muted); font-style: italic; }
    /* ---- Studio ---- */
    .studio { display: grid; grid-template-columns: 264px 1fr; gap: 16px; align-items: start; }
    .studio__rail { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 12px; }
    .studio__group { display: flex; flex-direction: column; gap: 7px; }
    .studio__label { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--cool); }
    .studio-seg { display: inline-flex; background: rgba(255,255,255,0.05); border: 1px solid var(--line); border-radius: 10px; padding: 3px; gap: 3px; }
    .studio-seg button { flex: 1; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; font-weight: 700; padding: 6px 4px; border-radius: 7px; cursor: pointer; transition: background .12s ease, color .12s ease; }
    .studio-seg button:hover { color: #fff; }
    .studio-seg button.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; }
    .studio__series { display: flex; flex-direction: column; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,0.03); }
    .studio__series[hidden] { display: none; }
    .studio__series-head { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 13px; color: #fff; }
    .studio__dot { width: 10px; height: 10px; border-radius: 50%; }
    .studio__rm { margin-left: auto; width: 22px; height: 22px; border-radius: 6px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: 15px; line-height: 1; }
    .studio__rm:hover { color: #fff; border-color: var(--red); }
    .studio__stage { display: flex; flex-direction: column; gap: 12px; }
    .studio__chart { position: relative; width: 100%; height: 360px; background: linear-gradient(180deg, rgba(13,28,54,0.6), rgba(8,20,43,0.6)); border-radius: 12px; overflow: hidden; }
    .studio__chart svg { width: 100%; height: 100%; display: block; }
    .studio__cx { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,0.4); pointer-events: none; display: none; }
    .studio__tip { position: fixed; z-index: 60; min-width: 150px; max-width: 260px; background: rgba(6,16,36,0.97); border: 1px solid rgba(147,197,253,0.32); border-radius: 10px; padding: 9px 11px; box-shadow: 0 14px 32px rgba(0,0,0,0.55); pointer-events: none; opacity: 0; transition: opacity .1s ease; font-size: 11px; }
    .studio__tip.show { opacity: 1; }
    .studio__tip-d { font-size: 11.5px; font-weight: 800; color: #fff; margin-bottom: 5px; }
    .studio__tip-row { display: flex; align-items: center; gap: 6px; color: var(--muted); margin-top: 2px; }
    .studio__tip-row b { color: #fff; }
    .studio__tip-item { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(255,255,255,0.08); color: var(--muted); line-height: 1.35; }
    .studio__legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 12px; color: var(--muted); }
    .studio__legend span { display: inline-flex; align-items: center; gap: 6px; }
    .studio__legend i { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }
    .studio__summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px,1fr)); gap: 10px; }
    .studio__summary[hidden] { display: none; }
    .studio__summary .s { background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
    .studio__summary .s b { display: block; font-size: 18px; color: #fff; }
    .studio__summary .s span { font-size: 11px; color: var(--muted); }
    .studio-chip { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border-radius: 20px; border: 1px solid var(--line); background: rgba(255,255,255,0.04); color: var(--muted); font-size: 12px; font-weight: 700; cursor: pointer; transition: color .12s ease, background .12s ease; }
    .studio-chip:hover { color: #fff; }
    .studio-chip.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; border-color: transparent; }
    .studio__sources { display: flex; flex-wrap: wrap; gap: 6px; }
    .studio__xy-controls, .studio__tl-controls { display: flex; flex-direction: column; gap: 14px; }
    .studio__xy-controls[hidden], .studio__tl-controls[hidden] { display: none; }
    .studio__narrative { display: flex; flex-direction: column; gap: 2px; max-height: 280px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; padding: 8px; background: rgba(255,255,255,0.02); }
    .studio__narrative[hidden] { display: none; }
    .narr-row { display: grid; grid-template-columns: 74px 96px 1fr; gap: 10px; align-items: center; padding: 6px 8px; border-radius: 8px; }
    .narr-row:hover { background: rgba(255,255,255,0.045); }
    .narr-date { font-size: 11px; font-weight: 700; color: var(--cool); }
    .narr-pill { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; padding: 2px 7px; border-radius: 20px; text-align: center; }
    .narr-text { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    @media (max-width: 900px) { .studio { grid-template-columns: 1fr; } .studio__rail { position: static; } }

    /* ---- Timeline filters ---- */
    .tl-filters { display: flex; flex-direction: column; gap: 8px; }
    .tl-filter { display: flex; flex-direction: column; gap: 6px; padding: 9px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,0.03); }
    .tl-filter__head { display: flex; align-items: center; gap: 7px; }
    .tl-filter__head select { flex: 1; }
    .tl-filter__dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; }
    .tl-filter__rm { width: 24px; height: 24px; border-radius: 6px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; font-size: 15px; line-height: 1; flex-shrink: 0; }
    .tl-filter__rm:hover { color: #fff; border-color: var(--red); }

    /* ---- Timeline (alternating cards) ---- */
    .tl2wrap { overflow-x: auto; overflow-y: hidden; padding-bottom: 6px; }
    .tl2 { position: relative; display: flex; min-height: 470px; padding: 10px 6px; }
    .tl2::before { content: ''; position: absolute; left: 6px; right: 6px; top: 50%; height: 2px; background: var(--line); transform: translateY(-50%); }
    .tl2__col { position: relative; flex: 1 0 148px; min-width: 148px; }
    .tl2__dot { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; border-radius: 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 3px var(--panel); z-index: 2; }
    .tl2__stem { position: absolute; left: 50%; width: 1px; background: var(--line); transform: translateX(-50%); }
    .tl2__label { position: absolute; left: 50%; transform: translateX(-50%); font-size: 22px; font-weight: 800; white-space: nowrap; letter-spacing: -0.01em; }
    .tl2__card { position: absolute; left: 50%; transform: translateX(-50%); width: calc(100% - 14px); max-width: 158px; text-align: center; }
    .tl2__card-title { margin: 0 0 4px; font-size: 12.5px; font-weight: 800; letter-spacing: 0.02em; }
    .tl2__card-body { margin: 0; font-size: 11px; line-height: 1.5; color: var(--muted); }
    .tl2__card-sub { display: block; margin-top: 4px; font-size: 10px; color: var(--cool); }
    .tl2__col--above .tl2__card { bottom: calc(50% + 48px); }
    .tl2__col--above .tl2__stem { bottom: calc(50% + 8px); height: 36px; }
    .tl2__col--above .tl2__label { top: calc(50% + 13px); }
    .tl2__col--below .tl2__card { top: calc(50% + 48px); }
    .tl2__col--below .tl2__stem { top: calc(50% + 8px); height: 36px; }
    .tl2__col--below .tl2__label { bottom: calc(50% + 13px); }
    .tl2__empty { padding: 40px 12px; text-align: center; color: var(--muted); font-size: 13px; width: 100%; }

    .export-actions { display: inline-flex; gap: 8px; flex-wrap: wrap; }
    .export-actions .mini-btn { background: var(--panel-strong); border-color: rgba(147,197,253,0.4); color: #eaf1fd; padding: 7px 14px; font-size: 12px; box-shadow: 0 4px 12px rgba(5,12,28,0.22); transition: border-color .14s, background .14s, transform .12s; }
    .export-actions .mini-btn:hover { border-color: var(--cool); background: rgba(29,78,216,0.4); transform: translateY(-1px); }
    .export-toast { position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(12px); background: rgba(8,19,41,0.96); border: 1px solid rgba(147,197,253,0.4); color: #eaf1fd; font-size: 13px; font-weight: 600; padding: 10px 16px; border-radius: 10px; box-shadow: 0 12px 30px rgba(5,12,28,0.5); opacity: 0; pointer-events: none; transition: opacity .18s, transform .18s; z-index: 9999; }
    .export-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

    .feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(252px, 1fr)); gap: 16px; margin-bottom: 26px; }
    .feature-grid--quick { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    @media (max-width: 880px) { .welcome-hero__layout { grid-template-columns: 1fr; } .feature-grid--quick { grid-template-columns: 1fr; } }
    .feature-card { background: linear-gradient(180deg, rgba(15,32,62,0.96), rgba(10,22,45,0.96)); border: 1px solid rgba(147,197,253,0.12); border-radius: 18px; padding: 18px; cursor: pointer; transition: border-color .14s, transform .14s, box-shadow .14s; box-shadow: 0 12px 26px rgba(5,12,28,0.26); display: flex; flex-direction: column; backdrop-filter: blur(8px); }
    .feature-card:hover { border-color: rgba(147,197,253,0.55); transform: translateY(-3px); box-shadow: 0 16px 30px rgba(5,12,28,0.32); }
    .feature-card__ico { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; background: linear-gradient(135deg, var(--blue), var(--red)); margin-bottom: 12px; box-shadow: 0 10px 20px rgba(29,78,216,0.18); }
    .feature-card h4 { margin: 0 0 6px; font-size: 16px; color: #fff; }
    .feature-card > p { margin: 0 0 12px; font-size: 13.5px; color: rgba(231,238,250,0.8); line-height: 1.5; }
    .feature-card__tidbit { font-size: 12.5px; color: rgba(255,255,255,0.86); background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; padding: 10px 11px; line-height: 1.45; margin-top: auto; }
    .feature-card__tidbit b { color: var(--cool); }
    .feature-card__cta { margin-top: 12px; color: var(--cool); font-weight: 700; font-size: 13px; }
    .feature-card:hover .feature-card__cta { text-decoration: underline; }
    .feature-card .pill.slate { align-self: flex-start; margin-bottom: 10px; }

    /* Overview hub cards */
    .hub-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
    @media (max-width: 960px) { .hub-grid { grid-template-columns: 1fr; } }
    .hub-card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 10px 26px rgba(5,12,28,0.22); backdrop-filter: blur(8px); display: flex; flex-direction: column; gap: 10px; }
    .hub-card__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--cool); }
    .hub-card h4 { margin: 0; color: #fff; font-size: 17px; }
    .hub-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .hub-card__list { display: flex; flex-wrap: wrap; gap: 8px; }
    .hub-card__list .chip { font-size: 0.54rem; }
    .hub-card__cta { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--cool); font-weight: 700; font-size: 13px; cursor: pointer; }
    .hub-card__cta:hover { text-decoration: underline; }

    .welcome-how { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 22px; }
    @media (max-width: 760px) { .welcome-how { grid-template-columns: 1fr; } .welcome-hero h1 { font-size: 28px; } }
    .how-step { background: linear-gradient(180deg, rgba(15,32,62,0.96), rgba(10,22,45,0.96)); border: 1px solid rgba(147,197,253,0.12); border-radius: 16px; padding: 18px; }
    .how-step .n { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), var(--red)); display: flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; font-size: 14px; margin-bottom: 10px; }
    .how-step h4 { margin: 0 0 5px; color: #fff; font-size: 15px; }
    .how-step p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

    .welcome-note { background: rgba(147,197,253,0.08); border: 1px solid rgba(147,197,253,0.28); border-radius: 14px; padding: 15px 18px; font-size: 13.5px; color: rgba(255,255,255,0.85); line-height: 1.6; margin-bottom: 8px; }
    .welcome-note b { color: #fff; }
    .welcome-note a { color: var(--cool); font-weight: 700; text-decoration: none; cursor: pointer; }
    .welcome-note a:hover { text-decoration: underline; }

    /* ===== Dashboard builder ===== */
    .dash-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
    .dash-toolbar .sub { margin: 0; }
    .dash-banner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      position: relative;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: linear-gradient(90deg, rgba(15,30,56,0.92), rgba(19,36,69,0.86));
      padding: 10px 44px 10px 12px;
      margin-bottom: 12px;
      transition: padding 0.2s ease, min-height 0.2s ease;
    }
    .dash-banner__copy { min-width: 0; }
    .dash-banner__actions { display: inline-flex; align-items: center; gap: 8px; }
    .dash-banner__actions .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 34px;
      padding: 0 14px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.02em;
    }
    .dash-banner__title { margin: 0; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: 0.02em; }
    .dash-banner__desc { margin: 2px 0 0; color: #c7d2e5; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dash-banner .btn { white-space: nowrap; padding: 8px 12px; }
    .dash-banner__toggle {
      position: absolute;
      left: 50%;
      bottom: 0;
      width: 52px;
      height: 20px;
      transform: translateX(-50%);
      z-index: 2;
    }
    .dash-banner__toggle:hover { transform: translateX(-50%) scale(1.04); }

    body.ui-dash-header-collapsed #dashboard {
      margin: 0;
      padding: 0;
    }
    body.ui-dash-header-collapsed #dashboard .dash-banner {
      padding: 0;
      min-height: 0;
      height: 0;
      margin: 0;
      border: 0;
      background: transparent;
      overflow: visible;
    }
    body.ui-dash-header-collapsed #dashboard .dash-banner__copy,
    body.ui-dash-header-collapsed #dashboard .dash-banner__actions { display: none; }
    body.ui-dash-header-collapsed #dashboard #dashboardGrid { display: none; }
    body.ui-dash-header-collapsed #dashboard .dash-banner__toggle {
      top: 0;
      bottom: auto;
      transform: translate(-50%, -50%);
    }
    body.ui-dash-header-collapsed #dashboard .dash-banner__toggle:hover { transform: translate(-50%, -50%) scale(1.04); }
    .dash-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 12px; position: relative; }
    .dash-widget {
      grid-column: span 6;
      border: 1px solid rgba(147,197,253,0.18);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(15,32,62,0.92), rgba(10,22,45,0.92));
      box-shadow: 0 12px 24px rgba(5,12,28,0.26);
      min-height: 210px;
      overflow: hidden;
      position: relative;
      transform: translate(var(--db-x, 0px), var(--db-y, 0px));
      transition: box-shadow 0.14s ease, border-color 0.14s ease;
    }
    .dash-widget__close { white-space: nowrap; }
    .dash-widget.size-sm { grid-column: span 4; }
    .dash-widget.size-md { grid-column: span 6; }
    .dash-widget.size-lg { grid-column: span 12; }
    .dash-widget.drag-over { outline: 2px dashed var(--cool); outline-offset: 2px; }
    .dash-widget__head { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 3px 8px; border-bottom: 1px solid rgba(147,197,253,0.16); cursor: grab; }
    .dash-widget__head:active { cursor: grabbing; }
    .dash-widget--moving {
      z-index: 25;
      box-shadow: 0 22px 34px rgba(2,8,21,0.45);
      border-color: rgba(147,197,253,0.62);
      user-select: none;
    }
    .dash-widget__title { color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.01em; }
    .dash-widget__actions { display: flex; gap: 8px; margin-left: auto; }
    .dash-widget__actions button,
    .dash-widget--blank .dash-widget__close {
      padding: 8px 12px;
      border-radius: 8px;
      border: 1px solid var(--line);
      background: var(--panel);
      color: var(--text);
      font-weight: 700;
      font-size: 12px;
      cursor: pointer;
    }
    .dash-widget__actions button:hover,
    .dash-widget--blank .dash-widget__close:hover { border-color: rgba(255,255,255,0.4); }
    .dash-widget__actions button { padding: 3px 8px; font-size: 11px; }
    .dash-widget__body { padding: 11px; }
    .dash-widget__body--fill {
      height: calc(100% - 30px);
      overflow: auto;
      scrollbar-width: thin;
      scrollbar-color: rgba(147,197,253,0.25) transparent;
    }
    .dash-widget__body .db-scroll { max-height: none; overflow: visible; }
    .db-list-search {
      position: sticky;
      top: 0;
      z-index: 2;
      display: flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 9px;
      padding: 2px 0 4px;
      background: rgba(10,20,42,0.96);
    }
    .db-list-search__input {
      flex: 1;
      min-width: 0;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel-strong);
      color: var(--text);
      font-size: 12px;
      padding: 7px 9px;
    }
    .db-list-search__count { color: var(--muted); font-size: 11px; white-space: nowrap; }
    .dash-map-preview { border: 1px solid var(--line); border-radius: 10px; background: rgba(8,19,41,0.6); overflow: hidden; margin-bottom: 10px; }
    .dash-map-preview svg { width: 100%; height: 170px; display: block; }
    .dash-widget__body .list-item { margin-bottom: 8px; }
    .dash-widget__body .list-item:last-child { margin-bottom: 0; }
    .dash-widget--blank { display: flex; align-items: center; justify-content: center; border-style: dashed; background: linear-gradient(180deg, rgba(12,24,47,0.75), rgba(8,17,35,0.72)); }
    .dash-widget--blank .dash-widget__close {
      position: absolute;
      top: 8px;
      right: 8px;
      z-index: 4;
    }
    .dash-widget__resize {
      position: absolute;
      right: 0;
      bottom: 0;
      width: 18px;
      height: 18px;
      cursor: nwse-resize;
      z-index: 3;
      border-top-left-radius: 8px;
      background:
        linear-gradient(135deg, transparent 0 50%, rgba(147,197,253,0.35) 50% 100%),
        linear-gradient(135deg, transparent 0 68%, rgba(147,197,253,0.6) 68% 100%);
    }
    .dash-widget__resize::before {
      content: '';
      position: absolute;
      right: 2px;
      bottom: 2px;
      width: 11px;
      height: 11px;
      border-right: 2px solid rgba(191,219,254,0.8);
      border-bottom: 2px solid rgba(191,219,254,0.8);
      border-bottom-right-radius: 2px;
      opacity: 0.85;
    }
    .dash-widget__resize:hover::before { opacity: 1; }
    .dash-add-btn {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      border: 1px solid rgba(147,197,253,0.45);
      background: rgba(147,197,253,0.12);
      color: #dbeafe;
      font-size: 40px;
      line-height: 1;
      cursor: pointer;
      transition: transform .14s, background .14s, border-color .14s;
    }
    .dash-add-btn:hover { transform: scale(1.05); background: rgba(147,197,253,0.2); border-color: rgba(147,197,253,0.7); }
    .dash-picker {
      position: fixed;
      inset: 0;
      background: rgba(5,10,22,0.66);
      z-index: 220;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 18px;
    }
    .dash-picker[hidden] { display: none; }
    .dash-picker__box {
      width: min(760px, 100%);
      max-height: min(72vh, 620px);
      overflow: auto;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: linear-gradient(180deg, rgba(16,31,60,0.98), rgba(10,20,42,0.98));
      box-shadow: 0 18px 36px rgba(0,0,0,0.45);
      padding: 14px;
    }
    .dash-picker__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
    .dash-picker__head h4 { margin: 0; color: #fff; font-size: 16px; }
    .dash-picker__close { border: 1px solid var(--line); border-radius: 8px; background: var(--panel-2); color: #dbe5f4; font-size: 12px; padding: 6px 8px; cursor: pointer; }
    .dash-picker__grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-template-rows: repeat(var(--dash-picker-rows, 1), minmax(0, auto));
      grid-auto-flow: column;
      gap: 8px;
      align-items: start;
    }
    @media (max-width: 840px) {
      .dash-picker__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 560px) {
      .dash-picker__grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
        grid-auto-flow: row;
      }
    }
    .dash-picker__item {
      text-align: left;
      border: 1px solid rgba(147,197,253,0.18);
      border-radius: 11px;
      background: rgba(255,255,255,0.03);
      color: #e2e8f0;
      font-size: 12px;
      padding: 10px;
      cursor: pointer;
      transition: border-color .14s, transform .14s;
    }
    .dash-picker__item:hover { border-color: rgba(147,197,253,0.58); transform: translateY(-1px); }
    .dash-kpi-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .dash-kpi { border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,0.02); padding: 8px; }
    .dash-kpi b { display: block; color: #fff; font-size: 16px; }
    .dash-kpi span { color: var(--muted); font-size: 11px; }
    .dash-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
    .dash-actions .btn { padding: 8px 11px; }
    .dash-browser-bar { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; margin-bottom: 8px; }
    .dash-browser-input {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel-strong);
      color: var(--text);
      font-size: 12px;
      padding: 7px 9px;
      min-width: 0;
    }
    .dash-browser-frame {
      width: 100%;
      height: calc(100% - 44px);
      min-height: 170px;
      border: 1px solid rgba(147,197,253,0.25);
      border-radius: 10px;
      background: #fff;
    }
    .dash-browser-note { margin: 8px 2px 0; font-size: 11px; color: var(--muted); }
    .dash-empty { color: var(--muted); font-style: italic; padding: 12px 0; }
    @media (max-width: 980px) {
      .dash-banner { flex-direction: column; align-items: stretch; }
      .dash-banner__desc { white-space: normal; }
      .dash-banner__toggle {
        left: 50%;
        bottom: 0;
      }
      .dash-widget, .dash-widget.size-sm, .dash-widget.size-md, .dash-widget.size-lg { grid-column: span 12 !important; }
    }

    .mm-chart-tabs { display: inline-flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
    .mm-chart-tabs button { border: 1px solid rgba(147,197,253,0.16); background: rgba(255,255,255,0.03); color: rgba(255,255,255,0.78); font-size: 11px; font-weight: 800; padding: 6px 12px; border-radius: 999px; cursor: pointer; letter-spacing: 0.05em; text-transform: uppercase; }
    .mm-chart-tabs button.active { background: linear-gradient(135deg, var(--blue), var(--red)); color: #fff; border-color: transparent; }
    .mm-price { flex: 1; min-width: 120px; border: 1px solid rgba(147,197,253,0.16); border-radius: 14px; padding: 12px 13px; background: rgba(255,255,255,0.03); text-align: center; }
    .mm-price .lbl { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .mm-price .px { display: block; font-size: 26px; font-weight: 800; color: #fff; margin-top: 4px; font-variant-numeric: tabular-nums; }
  