  /* ---------- Linear-style refined dark ---------- */
  :root{
    --bg: #08090a;
    --bg-elev: #0c0d0f;
    --bg-card: #101113;
    --bg-card-2: #131417;
    --border: #1c1d20;
    --border-strong: #26272b;
    --text: #e6e6e7;
    --text-dim: #8a8f98;
    --text-faint: #5c606a;
    --accent: #5e6ad2;
    --accent-soft: rgba(94,106,210,0.12);
    --accent-hover: #6f7be0;
    --green: #4cb782;
    --red: #eb5757;
    --amber: #f2c94c;
    --cyan: #56b6c2;
    --purple: #a78bfa;
    --shadow: 0 1px 2px rgba(0,0,0,0.3), 0 4px 12px rgba(0,0,0,0.2);
    --radius: 8px;
    --radius-sm: 6px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    font-size:14px;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    letter-spacing:-0.005em;
  }
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
  code,pre{font-family:'JetBrains Mono',ui-monospace,Menlo,monospace;font-size:12.5px}

  /* ---------- App shell ---------- */
  .app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}

  /* ---------- Sidebar ---------- */
  .sidebar{
    background:var(--bg-elev);
    border-right:1px solid var(--border);
    padding:14px 12px;
    position:sticky;top:0;height:100vh;overflow-y:auto;
  }
  .workspace-pill{
    display:flex;align-items:center;gap:8px;
    padding:6px 8px;border-radius:6px;
    cursor:pointer;transition:background 0.1s;
    margin-bottom:14px;
  }
  .workspace-pill:hover{background:var(--bg-card-2)}
  .ws-logo{
    width:22px;height:22px;border-radius:5px;
    background:linear-gradient(135deg,#5e6ad2 0%,#a78bfa 100%);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:12px;color:#fff;
  }
  .ws-name{font-weight:600;font-size:13px}
  .ws-chev{margin-left:auto;color:var(--text-faint);font-size:11px}

  .sidebar-section{margin-top:18px}
  .sidebar-label{
    font-size:11px;color:var(--text-faint);
    text-transform:uppercase;letter-spacing:0.06em;
    padding:0 8px 6px;font-weight:500;
  }
  .nav-item{
    display:flex;align-items:center;gap:10px;
    padding:6px 8px;border-radius:6px;
    color:var(--text-dim);font-size:13px;font-weight:500;
    cursor:pointer;transition:background 0.08s,color 0.08s;
    margin:1px 0;
  }
  .nav-item:hover{background:var(--bg-card-2);color:var(--text)}
  .nav-item.active{background:var(--bg-card-2);color:var(--text)}
  .nav-item.active .nav-icon{color:var(--accent)}
  .nav-icon{width:14px;height:14px;flex-shrink:0;color:var(--text-faint);display:inline-flex}
  .nav-badge{
    margin-left:auto;font-size:10px;
    background:var(--bg-card);border:1px solid var(--border);
    padding:1px 5px;border-radius:4px;color:var(--text-dim);
  }
  .nav-badge.alert{background:rgba(235,87,87,0.1);border-color:rgba(235,87,87,0.3);color:var(--red)}

  /* ---------- Topbar ---------- */
  .topbar{
    height:48px;border-bottom:1px solid var(--border);
    background:var(--bg);
    display:flex;align-items:center;
    padding:0 20px;gap:12px;
    position:sticky;top:0;z-index:50;
    backdrop-filter:blur(8px);
  }
  .breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-dim)}
  .breadcrumb .crumb-current{color:var(--text);font-weight:500}
  .breadcrumb .sep{color:var(--text-faint)}
  .topbar-spacer{flex:1}
  .cmdk-btn{
    display:flex;align-items:center;gap:8px;
    padding:5px 10px;border:1px solid var(--border);
    border-radius:6px;background:var(--bg-elev);
    color:var(--text-dim);font-size:12px;
    transition:border-color 0.1s;
  }
  .cmdk-btn:hover{border-color:var(--border-strong);color:var(--text)}
  .kbd{
    font-family:'Inter',sans-serif;font-size:11px;
    background:var(--bg-card);border:1px solid var(--border);
    padding:1px 5px;border-radius:4px;color:var(--text-dim);
  }
  .topbar-icon{
    width:30px;height:30px;display:flex;align-items:center;justify-content:center;
    border-radius:6px;color:var(--text-dim);transition:background 0.1s;
  }
  .topbar-icon:hover{background:var(--bg-card-2);color:var(--text)}
  .tier-badge{
    font-size:10px;font-weight:600;
    padding:1px 6px;border-radius:4px;
    background:var(--accent-soft);color:var(--accent);
    border:1px solid rgba(94,106,210,0.25);
  }
  .avatar{
    width:22px;height:22px;border-radius:50%;
    background:linear-gradient(135deg,#5e6ad2,#a78bfa);
    display:flex;align-items:center;justify-content:center;
    font-size:10px;font-weight:600;color:#fff;
  }
  .avatar.sm{width:18px;height:18px;font-size:9px}
  .avatar.md{width:26px;height:26px;font-size:11px}
  .avatar.lg{width:32px;height:32px;font-size:12px}
  .user-name{font-size:12.5px;font-weight:500}
  .user-chip{
    display:flex;align-items:center;gap:8px;
    padding:4px 10px 4px 4px;border:1px solid var(--border);
    border-radius:20px;background:var(--bg-elev);
    cursor:pointer;
    position:relative;
    transition:all 0.15s ease;
  }
  .user-chip:hover{
    border-color:var(--accent);
    background:var(--bg-card-2);
  }
  .user-dropdown-container{
    position:relative;
    display:inline-block;
  }
  .user-dropdown{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:260px;
    background:rgba(18,19,23,0.92);
    backdrop-filter:blur(20px) saturate(180%);
    -webkit-backdrop-filter:blur(20px) saturate(180%);
    border:1px solid var(--border-strong);
    border-radius:12px;
    padding:6px;
    display:none;
    flex-direction:column;
    gap:4px;
    box-shadow:0 10px 30px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.05);
    z-index:1000;
    transform:translateY(-8px) scale(0.96);
    opacity:0;
    transition:transform 0.18s cubic-bezier(0.16,1,0.3,1), opacity 0.18s cubic-bezier(0.16,1,0.3,1);
    pointer-events:none;
  }
  .user-dropdown.active{
    display:flex;
    transform:translateY(0) scale(1);
    opacity:1;
    pointer-events:auto;
  }
  .user-dropdown-header{
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    color:var(--text-faint);
    padding:6px 12px 2px;
    letter-spacing:0.06em;
  }
  .user-dropdown-item{
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 12px;
    border-radius:8px;
    cursor:pointer;
    transition:all 0.15s ease;
  }
  .user-dropdown-item:hover{
    background:rgba(255,255,255,0.04);
  }
  .user-dropdown-item.active{
    background:rgba(94,106,210,0.1);
    border:1px solid rgba(94,106,210,0.22);
  }
  .user-dropdown-item.active .user-name{
    color:var(--accent);
    font-weight:600;
  }
  .lock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(10,11,14,0.65);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    z-index: 10;
    border-radius: var(--radius);
    border: 1px solid rgba(255,255,255,0.05);
  }
  .lock-overlay-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 8px;
  }
  .lock-overlay-desc {
    font-size: 13px;
    color: var(--text-dim);
    max-width: 320px;
    line-height: 1.5;
    margin-bottom: 16px;
  }


  /* ---------- Main area ---------- */
  .main{min-width:0}
  .page{display:none;padding:24px 32px 60px;max-width:1400px}
  .page.active{display:block}

  .page-header{margin-bottom:24px}
  .page-title{font-size:24px;font-weight:600;letter-spacing:-0.02em;margin-bottom:4px}
  .page-sub{color:var(--text-dim);font-size:13px}

  /* ---------- Cards ---------- */
  .card{
    background:var(--bg-card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:18px;
    transition:border-color 0.1s;
  }
  .card:hover{border-color:var(--border-strong)}
  .card-hd{
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:14px;
  }
  .card-title{font-size:13px;font-weight:600;letter-spacing:-0.01em}
  .card-sub{font-size:11.5px;color:var(--text-dim);margin-top:2px}

  .grid{display:grid;gap:14px}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-2-1{grid-template-columns:2fr 1fr}
  .grid-1-2{grid-template-columns:1fr 2fr}

  /* ---------- KPI ---------- */
  .kpi .kpi-label{font-size:11.5px;color:var(--text-dim);font-weight:500;text-transform:uppercase;letter-spacing:0.04em}
  .kpi .kpi-value{font-size:26px;font-weight:600;margin-top:6px;letter-spacing:-0.02em}
  .kpi .kpi-delta{font-size:11.5px;margin-top:4px;color:var(--text-dim)}
  .kpi .kpi-delta.up{color:var(--green)}
  .kpi .kpi-delta.down{color:var(--red)}
  .kpi-spark{margin-top:8px;height:32px}

  /* ---------- Tables ---------- */
  table{width:100%;border-collapse:collapse;font-size:12.5px}
  th,td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border)}
  th{
    font-size:11px;color:var(--text-faint);font-weight:500;
    text-transform:uppercase;letter-spacing:0.04em;
    background:var(--bg-card-2);
  }
  tr:last-child td{border-bottom:none}
  tr:hover td{background:var(--bg-card-2)}
  td.mono{font-family:'JetBrains Mono',monospace;font-size:11.5px}

  /* ---------- Pills, badges ---------- */
  .pill{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:500;padding:2px 7px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev);color:var(--text-dim)}
  .pill.green{background:rgba(76,183,130,0.1);border-color:rgba(76,183,130,0.3);color:var(--green)}
  .pill.red{background:rgba(235,87,87,0.1);border-color:rgba(235,87,87,0.3);color:var(--red)}
  .pill.amber{background:rgba(242,201,76,0.1);border-color:rgba(242,201,76,0.3);color:var(--amber)}
  .pill.purple{background:rgba(167,139,250,0.1);border-color:rgba(167,139,250,0.3);color:var(--purple)}
  .pill.cyan{background:rgba(86,182,194,0.1);border-color:rgba(86,182,194,0.3);color:var(--cyan)}
  .pill.accent{background:var(--accent-soft);border-color:rgba(94,106,210,0.3);color:var(--accent)}
  .dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:5px 11px;border-radius:6px;
    font-size:12px;font-weight:500;
    background:var(--bg-card-2);border:1px solid var(--border);
    color:var(--text);transition:all 0.1s;
    user-select:none;
  }
  .btn:hover{border-color:var(--border-strong);background:var(--bg-card)}
  .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
  .btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
  .btn.ghost{background:transparent;border:1px solid transparent}
  .btn.ghost:hover{background:var(--bg-card-2)}
  .btn-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}

  /* ---------- Code blocks ---------- */
  .code-block{
    background:var(--bg-elev);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;
  }
  .code-block-hd{
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 12px;border-bottom:1px solid var(--border);
    background:var(--bg-card-2);
    font-size:11.5px;color:var(--text-dim);
  }
  .code-block-hd .dots{display:inline-flex;gap:6px;margin-right:8px}
  .code-block-hd .dots i{width:10px;height:10px;border-radius:50%;display:inline-block}
  .code-block pre{padding:14px 16px;overflow-x:auto;line-height:1.6}
  .tk-key{color:#a78bfa}
  .tk-str{color:#a8d990}
  .tk-num{color:#f2c94c}
  .tk-com{color:var(--text-faint);font-style:italic}
  .tk-fn{color:#56b6c2}
  .tk-op{color:var(--text-dim)}

  /* ---------- Tooltips ---------- */
  [data-tip]{position:relative}
  [data-tip]::after{
    content:attr(data-tip);
    position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
    background:#1d1e22;color:#e6e6e7;
    padding:8px 11px;border-radius:6px;
    font-size:11.5px;line-height:1.45;font-weight:400;
    white-space:normal;width:max-content;max-width:280px;
    border:1px solid var(--border-strong);
    box-shadow:0 8px 24px rgba(0,0,0,0.5);
    opacity:0;pointer-events:none;
    transition:opacity 0.12s;z-index:1000;
    text-transform:none;letter-spacing:0;
  }
  [data-tip]:hover::after{opacity:1}

  /* ---------- Activity feed ---------- */
  .activity-item{
    display:flex;gap:10px;padding:10px 0;
    border-bottom:1px solid var(--border);
  }
  .activity-item:last-child{border-bottom:none}
  .activity-body{flex:1;font-size:12.5px;line-height:1.5}
  .activity-meta{font-size:11px;color:var(--text-faint);margin-top:2px}
  .activity-body strong{font-weight:600;color:var(--text)}
  .activity-body .obj{color:var(--accent);font-weight:500}

  /* ---------- Alerts list ---------- */
  .alert-row{
    display:flex;align-items:flex-start;gap:10px;
    padding:10px 0;border-bottom:1px solid var(--border);
  }
  .alert-row:last-child{border-bottom:none}
  .alert-icon{
    width:24px;height:24px;border-radius:6px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;font-size:12px;
  }
  .alert-icon.flag{background:rgba(242,201,76,0.12);color:var(--amber)}
  .alert-icon.alert{background:rgba(235,87,87,0.12);color:var(--red)}
  .alert-icon.info{background:rgba(86,182,194,0.12);color:var(--cyan)}
  .alert-text{flex:1;font-size:12.5px}
  .alert-meta{font-size:11px;color:var(--text-faint);margin-top:2px}

  /* ---------- Search & filter ---------- */
  .search-bar{
    display:flex;align-items:center;gap:8px;
    padding:7px 12px;background:var(--bg-elev);
    border:1px solid var(--border);border-radius:6px;
    font-size:13px;color:var(--text-dim);
    transition:border-color 0.1s;
  }
  .search-bar:focus-within{border-color:var(--accent)}
  .search-bar input{
    flex:1;background:none;border:none;outline:none;
    color:var(--text);font-family:inherit;font-size:13px;
  }
  .filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}

  /* ---------- Tear sheet specific ---------- */
  .ts-stat{padding:12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:6px}
  .ts-stat .label{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:0.04em;font-weight:500}
  .ts-stat .value{font-size:18px;font-weight:600;margin-top:4px;letter-spacing:-0.01em}
  .ts-stat .sub{font-size:10.5px;color:var(--text-dim);margin-top:2px}

  /* ---------- Heatmap ---------- */
  .heatmap{display:grid;gap:2px}
  .heatmap .hm-cell{
    aspect-ratio:1;display:flex;align-items:center;justify-content:center;
    font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:500;
    border-radius:3px;color:#0c0d0f;
  }
  .heatmap .hm-label{font-size:10.5px;color:var(--text-dim);display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace}

  /* ---------- Telegram-style cards in platform style ---------- */
  .signal-card{
    background:var(--bg-card);border:1px solid var(--border);
    border-radius:var(--radius);padding:16px;margin-bottom:12px;
    transition:border-color 0.1s;
  }
  .signal-card:hover{border-color:var(--border-strong)}
  .signal-hd{display:flex;align-items:center;gap:10px;margin-bottom:10px}
  .signal-icon{
    width:30px;height:30px;border-radius:8px;
    background:linear-gradient(135deg,#5e6ad2,#a78bfa);
    display:flex;align-items:center;justify-content:center;font-size:14px;
  }
  .signal-name{font-weight:600;font-size:13.5px}
  .signal-time{font-size:11px;color:var(--text-faint);margin-top:1px}
  .signal-body{font-size:12.5px;line-height:1.65;color:var(--text)}
  .signal-body .pos{color:var(--green)}
  .signal-body .neg{color:var(--red)}
  .signal-prov{
    margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);
    display:flex;flex-wrap:wrap;gap:6px;font-size:10.5px;
  }
  .prov-tag{
    display:inline-flex;align-items:center;gap:4px;
    background:var(--bg-elev);border:1px solid var(--border);
    padding:2px 7px;border-radius:4px;
    color:var(--text-dim);font-family:'JetBrains Mono',monospace;
  }
  .prov-tag b{color:var(--text-dim);font-weight:500;font-family:'Inter',sans-serif;margin-right:3px}
  .prov-tag span{color:var(--accent)}

  .pos-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
    gap:8px;margin-top:8px;
  }
  .pos-chip{
    background:var(--bg-elev);border:1px solid var(--border);
    border-radius:5px;padding:7px 9px;font-size:11.5px;
    display:flex;justify-content:space-between;align-items:center;
  }
  .pos-chip .ticker{font-weight:600;color:var(--text)}
  .pos-chip .pct{font-family:'JetBrains Mono',monospace;font-size:11px}

  /* ---------- Lineage tree ---------- */
  .tree{font-family:'JetBrains Mono',monospace;font-size:12px;line-height:1.9;color:var(--text-dim)}
  .tree .node{color:var(--text)}
  .tree .leaf{color:var(--accent)}
  .tree .restricted{color:var(--text-faint);font-style:italic}

  /* ---------- Tier matrix ---------- */
  .matrix th, .matrix td{padding:11px 14px;font-size:12.5px}
  .matrix .tier-h{font-weight:600;color:var(--text)}
  .matrix .check{color:var(--green);font-weight:600}
  .matrix .cross{color:var(--text-faint)}
  .matrix .partial{color:var(--amber)}

  /* ---------- Wiki list ---------- */
  .wiki-row{
    display:grid;grid-template-columns:1.3fr 0.8fr 0.6fr 1.2fr 0.8fr 0.6fr;
    gap:14px;padding:12px 14px;border-bottom:1px solid var(--border);
    align-items:center;font-size:12.5px;cursor:pointer;
    transition:background 0.08s;
  }
  .wiki-row:hover{background:var(--bg-card-2)}
  .wiki-name{font-weight:500;display:flex;align-items:center;gap:8px}
  .wiki-icon{color:var(--text-faint);width:14px}
  .progress-bar{
    height:4px;background:var(--bg-elev);border-radius:2px;overflow:hidden;
    border:1px solid var(--border);
  }
  .progress-fill{height:100%;background:var(--accent);border-radius:2px}
  .progress-fill.green{background:var(--green)}
  .progress-fill.amber{background:var(--amber)}

  /* ---------- Misc ---------- */
  .divider{height:1px;background:var(--border);margin:14px 0}
  .row{display:flex;align-items:center;gap:8px}
  .row.between{justify-content:space-between}
  .stack{display:flex;flex-direction:column;gap:8px}
  .mono{font-family:'JetBrains Mono',monospace}
  .text-dim{color:var(--text-dim)}
  .text-faint{color:var(--text-faint)}
  .text-green{color:var(--green)}
  .text-red{color:var(--red)}
  .text-amber{color:var(--amber)}

  /* SVG icon helper */
  svg.i{width:14px;height:14px;stroke-width:1.7;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}

  /* Scrollbar */
  ::-webkit-scrollbar{width:8px;height:8px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{background:#26272b;border-radius:4px}
  ::-webkit-scrollbar-thumb:hover{background:#3a3b3f}

  /* ---------- Custom Alpha Builder styles ---------- */
  .creator-grid { display: grid; grid-template-columns: 240px 1fr; gap: 20px; min-height: 520px; }
  .creator-aside { background: var(--bg-elev); border-right: 1px solid var(--border); padding: 14px 16px; border-radius: var(--radius); }
  .cond-row { display: grid; grid-template-columns: 1.2fr 80px 1fr 32px; gap: 8px; align-items: center; margin-bottom: 8px; }
  .cond-select, .cond-input {
    width: 100%; background: var(--bg-card-2); border: 1px solid var(--border);
    color: var(--text); font-family: 'JetBrains Mono', monospace; font-size: 12.5px;
    padding: 6px 10px; border-radius: 6px; outline: none; transition: border-color 0.1s;
  }
  .cond-select:focus, .cond-input:focus { border-color: var(--accent); }
  .btn-remove-cond { color: var(--text-faint); display: flex; align-items: center; justify-content: center; height: 32px; border-radius: 6px; transition: color 0.1s, background 0.1s; }
  .btn-remove-cond:hover { color: var(--red); background: rgba(235,87,87,0.1); }
  
  .alphas-table tr { cursor: pointer; }

  /* Returns Heatmap cell color definitions */
  .hm-cell-gain-high { background: var(--green); color: #fff; }
  .hm-cell-gain-med { background: rgba(76, 183, 130, 0.6); color: #fff; }
  .hm-cell-gain-low { background: rgba(76, 183, 130, 0.3); color: var(--green); }
  .hm-cell-gain-vlow { background: rgba(76, 183, 130, 0.1); color: var(--green); }
  .hm-cell-loss-vlow { background: rgba(235, 87, 87, 0.1); color: var(--red); }
  .hm-cell-loss-low { background: rgba(235, 87, 87, 0.2); color: var(--red); }
  .hm-cell-loss-med { background: rgba(235, 87, 87, 0.5); color: #fff; }
  .hm-cell-loss-high { background: var(--red); color: #fff; }

  /* Loading State Styles */
  .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60px 20px; text-align: center; }
  .loading-bar-wrapper { width: 100%; max-width: 480px; height: 6px; background: var(--bg-card-2); border: 1px solid var(--border); border-radius: 3px; overflow: hidden; margin: 24px 0; }
  .loading-bar-fill { height: 100%; width: 0%; background: var(--accent); border-radius: 3px; transition: width 0.1s linear; }
  .loading-steps { width: 100%; max-width: 420px; text-align: left; }
  .loading-step-item { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 13px; color: var(--text-dim); }
  .loading-step-item.active { color: var(--text); }
  .loading-step-item.done { color: var(--green); }
  .loading-step-item.done .step-bullet { background: var(--green); border-color: var(--green); }
  .loading-step-item.active .step-bullet { border-color: var(--accent); border-top-color: transparent; animation: spin 0.8s linear infinite; }
  .step-bullet { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--border-strong); flex-shrink: 0; }
  
  @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

  /* Notification Toast */
  .toast {
    position: fixed; bottom: 24px; right: 24px; background: var(--bg-card); border: 1px solid var(--border-strong);
    border-radius: var(--radius); padding: 12px 18px; box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    z-index: 1000; transform: translateY(100px); opacity: 0; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
    display: flex; align-items: center; gap: 10px;
  }
  .toast.show { transform: translateY(0); opacity: 1; }
  .toast-icon { color: var(--green); font-size: 16px; }
  .toast-body { font-size: 13px; font-weight: 500; }

  /* Premium Custom Checkbox */
  .checkbox-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    user-select: none;
    width: 18px;
    height: 18px;
  }
  .checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }
  .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 18px;
    width: 18px;
    background-color: var(--bg-card-2);
    border: 1.5px solid var(--border-strong);
    border-radius: 4px;
    transition: all 0.15s ease;
  }
  .checkbox-container:hover input ~ .checkmark {
    border-color: var(--text-dim);
    background-color: var(--bg-card);
  }
  .checkbox-container input:checked ~ .checkmark {
    background-color: var(--accent);
    border-color: var(--accent);
  }
  .checkmark:after {
    content: "";
    position: absolute;
    display: none;
  }
  .checkbox-container input:checked ~ .checkmark:after {
    display: block;
  }
  .checkbox-container .checkmark:after {
    left: 5px;
    top: 2px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }

  /* ---------- Command Palette (⌘K) styling ---------- */
  .cmdk-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(8, 9, 10, 0.75);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 100px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
  }
  .cmdk-modal-overlay.open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }
  .cmdk-dialog {
    background: var(--bg-elev);
    border: 1px solid var(--border-strong);
    border-radius: 12px;
    width: 100%;
    max-width: 580px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255,255,255,0.05);
    display: flex;
    flex-direction: column;
    transform: translateY(-20px) scale(0.98);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
  }
  .cmdk-modal-overlay.open .cmdk-dialog {
    transform: translateY(0) scale(1);
  }
  .cmdk-search-wrapper {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border);
    gap: 12px;
  }
  .cmdk-search-wrapper input {
    background: transparent;
    border: none;
    outline: none;
    color: var(--text);
    font-size: 13.5px;
    font-family: inherit;
    flex: 1;
  }
  .cmdk-search-wrapper input::placeholder {
    color: var(--text-faint);
  }
  .cmdk-esc-badge {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--border);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 10px;
    color: var(--text-faint);
    cursor: pointer;
    font-family: 'JetBrains Mono', monospace;
  }
  .cmdk-esc-badge:hover {
    color: var(--text);
    border-color: var(--text-dim);
  }
  .cmdk-list {
    max-height: 330px;
    overflow-y: auto;
    padding: 8px;
  }
  .cmdk-group-title {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--text-faint);
    padding: 8px 12px 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .cmdk-item {
    display: flex;
    align-items: center;
    padding: 9px 12px;
    border-radius: 8px;
    font-size: 12.5px;
    color: var(--text-dim);
    cursor: pointer;
    gap: 10px;
    transition: background 0.1s, color 0.1s;
  }
  .cmdk-item svg.i {
    width: 14px;
    height: 14px;
    color: var(--text-faint);
  }
  .cmdk-item.selected {
    background: var(--accent);
    color: #ffffff !important;
  }
  .cmdk-item.selected svg.i {
    color: #ffffff !important;
  }
  .cmdk-item.selected .cmdk-shortcut {
    color: rgba(255, 255, 255, 0.7);
    border-color: rgba(255, 255, 255, 0.3);
  }
  .cmdk-shortcut {
    margin-left: auto;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    color: var(--text-faint);
    border: 1px solid var(--border);
    padding: 1px 4px;
    border-radius: 3px;
  }
  .cmdk-footer {
    padding: 10px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-card-2);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  /* ---------- Premium Toast System ---------- */
  .quant-toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
  }
  .quant-toast {
    background: rgba(18, 19, 22, 0.9);
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
    border: 1px solid rgba(94, 106, 210, 0.4);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    padding: 14px 18px;
    border-radius: var(--radius);
    color: var(--text);
    min-width: 280px;
    max-width: 380px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    transform: translateY(20px) scale(0.95);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: auto;
  }
  .quant-toast.show {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  .quant-toast.hide {
    transform: translateY(-20px) scale(0.95);
    opacity: 0;
  }
  .quant-toast-icon {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    background: var(--accent-soft);
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
  }
  .quant-toast-body {
    flex: 1;
  }
  .quant-toast-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
  }
  .quant-toast-text {
    font-size: 11px;
    color: var(--text-dim);
    margin-top: 4px;
    line-height: 1.4;
  }

  /* ---------- New signal animation ---------- */
  @keyframes pulseHighlight {
    0% {
      border-color: rgba(94, 106, 210, 1);
      box-shadow: 0 0 16px rgba(94, 106, 210, 0.4);
      background: rgba(94, 106, 210, 0.08);
    }
    100% {
      border-color: var(--border);
      box-shadow: none;
      background: var(--bg-card);
    }
  }
  .signal-new-highlight {
    animation: pulseHighlight 3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
