
  /* ============ THEME — Signal Desk (Option B) ============ */
  :root{
    --bg:#0d1018; --bg2:#0a0d14; --panel:#151a26; --panel2:#1a2030; --elev:#1c2233;
    --border:#262d3d; --border2:#313a4f;
    --text:#eef2f8; --muted:#9aa6bd; --faint:#6b7689;
    --blue:#6366f1; --indigo:#818cf8; --violet:#a78bfa; --cyan:#22d3ee;
    --green:#22c55e; --red:#f43f5e; --amber:#f59e0b; --purple:#a855f7;
    --grad:linear-gradient(135deg,#6366f1,#a78bfa);
    --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -12px rgba(0,0,0,.5);
    --shadow-lg:0 8px 40px -16px rgba(99,102,241,.35);
    --ring-track:#262d3d;
  }
  :root.light{
    --bg:#f4f6fb; --bg2:#eef1f8; --panel:#ffffff; --panel2:#f7f9fd; --elev:#ffffff;
    --border:#e3e8f2; --border2:#d4dbeb;
    --text:#1a2233; --muted:#5b6678; --faint:#8b94a6;
    --shadow:0 1px 2px rgba(16,24,40,.05),0 10px 30px -16px rgba(16,24,40,.18);
    --shadow-lg:0 10px 40px -14px rgba(99,102,241,.3);
    --ring-track:#e7ebf4;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{height:100%}
  body{font-family:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--text);
    font-size:13.5px;display:flex;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}
  .mono{font-family:"Cascadia Code",Consolas,ui-monospace,monospace}
  a{color:var(--indigo);text-decoration:none}
  a:hover{text-decoration:underline}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:var(--border2);border-radius:8px;border:2px solid transparent;background-clip:padding-box}
  ::-webkit-scrollbar-track{background:transparent}

  /* ---------- sidebar ---------- */
  .side{width:230px;flex:none;background:var(--bg2);border-right:1px solid var(--border);
    display:flex;flex-direction:column;padding:16px 0;transition:transform .25s ease;z-index:40}
  .brand{font-weight:800;font-size:20px;letter-spacing:-.3px;padding:6px 20px 16px;color:var(--text);display:flex;align-items:center;gap:9px}
  .brand .logo{width:30px;height:30px;border-radius:9px;background:var(--grad);box-shadow:var(--shadow-lg);flex:none;
    display:flex;align-items:center;justify-content:center;font-size:15px}
  .brand b{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
  .brand .tag{font-size:8px;font-weight:800;letter-spacing:1px;color:var(--indigo);
    border:1px solid var(--indigo);border-radius:5px;padding:2px 5px;margin-left:2px}
  .grp{font-size:10px;letter-spacing:1.3px;color:var(--faint);padding:16px 20px 6px;text-transform:uppercase;font-weight:700}
  .nav-item{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);font-weight:500;text-decoration:none;
    padding:10px 14px;margin:1px 12px;border-radius:10px;cursor:pointer;user-select:none;transition:.15s}
  .nav-item:hover{color:var(--text);background:var(--panel)}
  .nav-item.on{color:var(--text);background:var(--grad);font-weight:600;box-shadow:var(--shadow-lg)}
  :root.light .nav-item.on{color:var(--text)}
  .nav-item .ico{width:18px;text-align:center;flex:none;font-size:15px;opacity:.9}
  .nav-item .cnt{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;
    background:rgba(99,102,241,.16);color:var(--indigo)}
  .nav-item.on .cnt{background:rgba(255,255,255,.22);color:var(--text)}
  .nav-item .cnt.green{background:rgba(34,197,94,.16);color:var(--green)}
  .nav-item.on .cnt.green{background:rgba(255,255,255,.22);color:var(--text)}
  /* per-section "open in new tab" ↗ (hover-revealed) */
  .nav-item .nav-newtab{ opacity:0; color:var(--muted);font-size:11px;line-height:1;text-decoration:none;padding:3px 5px;border-radius:6px;flex:none;transition:opacity .12s,background .12s,color .12s }
  .nav-item .nav-newtab.solo{ margin-left:auto }
  .nav-item:hover .nav-newtab, .nav-item.on .nav-newtab{ opacity:.55 }
  .nav-item .nav-newtab:hover{ opacity:1;color:var(--text);background:rgba(255,255,255,.14);text-decoration:none }
  .nav-item.on .nav-newtab:hover{ background:rgba(0,0,0,.22) }
  /* the 4 canonical pillars — visually the spine of the product */
  .nav-item.pillar{font-weight:700;margin-top:1px;border:1px solid transparent;
    background:linear-gradient(90deg,rgba(99,102,241,.07),transparent)}
  .nav-item.pillar:not(.on){border-color:var(--border)}
  .nav-item.pillar:hover{border-color:var(--indigo)}
  .nav-item.pillar .ico{opacity:1}
  .grp.spine{color:var(--indigo)}
  .side .foot{margin-top:auto;padding:14px 20px 4px;font-size:10.5px;color:var(--faint);border-top:1px solid var(--border);line-height:1.7}

  /* ---------- main ---------- */
  .wrap{flex:1;display:flex;flex-direction:column;min-width:0}
  .topbar{display:flex;align-items:center;gap:14px;padding:13px 22px;background:var(--bg2);
    border-bottom:1px solid var(--border);flex:none}
  .menu-btn{display:none;background:var(--panel);border:1px solid var(--border);color:var(--text);
    width:36px;height:36px;border-radius:9px;cursor:pointer;font-size:16px;flex:none}
  .topbar h1{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-.2px;white-space:nowrap}
  .search{margin-left:6px;flex:1;max-width:460px;background:var(--panel);border:1px solid var(--border);
    border-radius:11px;padding:9px 14px;font-size:13px;color:var(--text);outline:none;transition:.15s}
  .search:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(99,102,241,.14)}
  .search::placeholder{color:var(--muted)}
  .live{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--green);font-weight:600}
  .live .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(34,197,94,.7);
    animation:pulse 1.8s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
  /* live price stream — flash a cell green/red when its price ticks */
  @keyframes pxup{0%{background:rgba(34,197,94,.30)}100%{background:transparent}}
  @keyframes pxdn{0%{background:rgba(244,63,94,.30)}100%{background:transparent}}
  td.px-up{animation:pxup .9s ease-out}
  td.px-down{animation:pxdn .9s ease-out}
  /* "how to use" numbered steps */
  .howto{display:flex;flex-direction:column;gap:10px;margin-top:4px}
  .hstep{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.55}
  .hstep b{color:var(--text)}
  .hstep .hn{flex:none;width:22px;height:22px;border-radius:50%;background:var(--grad);color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center;margin-top:1px}
  .iconbtn{background:var(--panel);border:1px solid var(--border);color:var(--muted);width:36px;height:36px;
    border-radius:10px;cursor:pointer;font-size:15px;flex:none;display:flex;align-items:center;justify-content:center;transition:.15s}
  .iconbtn:hover{color:var(--text);border-color:var(--border2)}
  .ava{width:34px;height:34px;border-radius:50%;background:var(--grad);flex:none;box-shadow:var(--shadow-lg)}
  .content{flex:1;overflow-y:auto;padding:24px;background:var(--bg)}
  @media(min-width:1100px){.content{padding:28px 36px}}

  /* ---------- views ---------- */
  .view{display:none;animation:fade .28s ease}
  .view.active{display:block}
  @keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .view-head{margin-bottom:20px}
  .pillar-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
    color:var(--indigo);background:rgba(99,102,241,.12);border:1px solid var(--border);
    border-radius:20px;padding:4px 12px;margin-bottom:10px}
  .view-head h2{font-size:24px;font-weight:800;letter-spacing:-.5px;color:var(--text)}
  .view-head p{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.6;max-width:760px}

  .kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
  .kpi .card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow)}
  .kpi .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:600}
  .kpi .val{font-size:26px;font-weight:800;color:var(--text);margin-top:6px;letter-spacing:-.5px}
  .kpi .val.g{color:var(--green)} .kpi .val.b{color:var(--indigo)} .kpi .val.r{color:var(--red)} .kpi .val.a{color:var(--amber)}
  .kpi .sub{font-size:11px;color:var(--muted);margin-top:4px}

  /* 4-pillar quick-launch grid (Home) */
  .pillargrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
  .pillarcard{background:var(--panel2);border:1px solid var(--border);border-radius:14px;padding:16px;cursor:pointer;
    transition:.16s;background-image:linear-gradient(135deg,rgba(99,102,241,.08),transparent)}
  .pillarcard:hover{border-color:var(--indigo);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
  .pillarcard .pi{font-size:22px;margin-bottom:8px}
  .pillarcard .pn{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.2px}
  .pillarcard .ps{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.5}

  .grid{display:grid;gap:18px}
  .panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px 20px;box-shadow:var(--shadow)}
  .panel h3{font-size:14.5px;color:var(--text);font-weight:700;display:flex;align-items:center;gap:9px;margin-bottom:14px}
  .panel h3 .mut{margin-left:auto;color:var(--muted);font-weight:500;font-size:11px}

  table{width:100%;border-collapse:collapse;font-size:12.5px}
  th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);
    font-size:10px;text-transform:uppercase;letter-spacing:.5px}
  td{padding:10px;border-bottom:1px solid var(--border)}
  tbody tr.clk{cursor:pointer}
  tbody tr.clk:hover td{background:var(--panel2)}
  tr:last-child td{border-bottom:none}
  .sym{font-weight:700;color:var(--text)}
  .pos{color:var(--green)} .neg{color:var(--red)}
  .sub{color:var(--muted);font-size:11.5px}
  .empty{color:var(--muted);font-size:13px;padding:18px 4px;text-align:center}

  .badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:7px;white-space:nowrap;display:inline-block;letter-spacing:.2px}
  .b-green{background:rgba(34,197,94,.15);color:#34d399}
  .b-lime{background:rgba(132,204,22,.16);color:#a3e635}
  .b-yellow{background:rgba(245,158,11,.16);color:#fbbf24}
  .b-orange{background:rgba(234,88,12,.18);color:#fb923c}
  .b-red{background:rgba(244,63,94,.16);color:#fb7185}
  .b-blue{background:rgba(99,102,241,.16);color:var(--indigo)}
  .b-purple{background:rgba(168,85,247,.16);color:#c084fc}
  .b-grey{background:var(--panel2);color:var(--muted);border:1px solid var(--border)}
  .b-cyan{background:rgba(34,211,238,.15);color:#22d3ee}

  .gauge{text-align:center;padding:8px 0}
  .gauge .num{font-size:42px;font-weight:800;line-height:1;letter-spacing:-1px}
  .gauge .cap{font-size:11px;letter-spacing:1.2px;margin-top:6px;color:var(--muted);font-weight:600}
  .bar{height:8px;border-radius:6px;background:var(--ring-track);overflow:hidden}
  .bar>i{display:block;height:100%;border-radius:6px}

  .toggle{display:inline-flex;background:var(--panel2);border:1px solid var(--border);border-radius:11px;overflow:hidden;padding:3px}
  .toggle button{background:none;border:none;color:var(--muted);font-size:12px;font-weight:600;
    padding:6px 15px;cursor:pointer;font-family:inherit;border-radius:8px;transition:.15s}
  .toggle button.on{background:var(--grad);color:var(--text);box-shadow:var(--shadow-lg)}
  .clHandle{position:absolute;top:0;bottom:0;width:14px;margin-left:-7px;cursor:ew-resize;z-index:3}
  .clHandle::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:4px;height:38px;border-radius:3px;background:var(--accent,#3df0ff);box-shadow:0 0 0 1px rgba(3,6,10,.6),0 0 8px rgba(61,240,255,.5)}
  #clBand:active{cursor:grabbing}

  .row2{grid-template-columns:1.2fr 1fr}
  .row-side{grid-template-columns:270px 1fr}
  @media(max-width:980px){.row2,.row-side{grid-template-columns:1fr}}
  .hint{font-size:11.5px;color:var(--muted);margin-top:12px;line-height:1.7}

  /* lookup / chips */
  .lookup{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
  .lookup input{flex:1;min-width:260px;background:var(--panel);border:1px solid var(--border);border-radius:12px;
    padding:13px 16px;font-size:13.5px;color:var(--text);outline:none;font-family:"Cascadia Code",Consolas,monospace;transition:.15s;box-shadow:var(--shadow)}
  .lookup input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(99,102,241,.14)}
  .lookup button{background:var(--grad);border:none;color:var(--text);font-weight:700;font-size:13.5px;
    padding:0 26px;border-radius:12px;cursor:pointer;font-family:inherit;box-shadow:var(--shadow-lg)}
  .lookup button:hover{filter:brightness(1.08)}
  .chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
  .chip{font-size:11.5px;background:var(--panel);border:1px solid var(--border);border-radius:20px;
    padding:6px 13px;cursor:pointer;color:var(--muted);transition:.15s;font-weight:500}
  .chip:hover{color:var(--text);border-color:var(--indigo)}
  .chip b{color:var(--text)}
  kbd{background:var(--panel2);border:1px solid var(--border);border-radius:5px;padding:2px 7px;font-size:10.5px;color:var(--muted)}
  .v8ov{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:9px 12px;font-size:11.5px;
    color:var(--text);outline:none;font-family:"Cascadia Code",Consolas,monospace;min-width:130px;flex:1}
  .v8ov:focus{border-color:var(--indigo)}

  /* ============ SIGNAL CARDS (the Signal Desk hero) ============ */
  .cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}
  .scard{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow);
    transition:.18s;position:relative;display:flex;flex-direction:column;gap:14px}
  .scard:hover{border-color:var(--border2);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
  .scard .top{display:flex;align-items:flex-start;gap:14px}
  .scard .tk{flex:1;min-width:0}
  .scard .tk .name{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .scard .tk .meta{font-size:11.5px;color:var(--muted);margin-top:5px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
  .pill{font-size:11px;font-weight:800;padding:5px 12px;border-radius:20px;letter-spacing:.3px;display:inline-block}
  .ring{width:72px;height:72px;flex:none;position:relative}
  .ring svg{transform:rotate(-90deg)}
  .ring .rv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .ring .rv b{font-size:18px;font-weight:800;letter-spacing:-.5px;line-height:1}
  .ring .rv span{font-size:8.5px;color:var(--muted);font-weight:600;margin-top:1px}
  .legs{display:flex;flex-direction:column;gap:9px}
  .leg{display:flex;align-items:center;gap:10px;font-size:11.5px}
  .leg .lname{width:54px;color:var(--muted);font-weight:600;flex:none}
  .leg .lbar{flex:1;height:7px;border-radius:5px;background:var(--ring-track);overflow:hidden;position:relative}
  .leg .lbar>i{display:block;height:100%;border-radius:5px}
  .leg .lval{width:46px;text-align:right;font-weight:700;flex:none}
  .scard .acts{display:flex;gap:9px;margin-top:2px}
  .btn{flex:1;border:none;border-radius:11px;padding:9px 0;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:.15s;text-align:center}
  .btn.primary{background:var(--grad);color:var(--text);box-shadow:var(--shadow-lg)}
  .btn.primary:hover{filter:brightness(1.08)}
  .btn.ghost{background:var(--panel2);color:var(--muted);border:1px solid var(--border);flex:none;width:46px;font-size:15px}
  .btn.ghost:hover{color:var(--amber);border-color:var(--amber)}
  .btn.ghost.saved{color:var(--amber);border-color:var(--amber);background:rgba(245,158,11,.1)}
  .star{cursor:pointer;font-size:15px;color:var(--faint);user-select:none;transition:.15s}
  .star:hover{color:var(--amber)} .star.on{color:var(--amber)}

  /* trending rail */
  .rail{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory}
  .rail::-webkit-scrollbar{height:8px}
  .tcard{flex:none;width:188px;background:var(--panel);border:1px solid var(--border);border-radius:15px;
    padding:14px;box-shadow:var(--shadow);scroll-snap-align:start;cursor:pointer;transition:.18s}
  .tcard:hover{border-color:var(--indigo);transform:translateY(-2px)}
  .tcard .h{display:flex;align-items:center;gap:8px}
  .tcard .h img{width:24px;height:24px;border-radius:50%}
  .tcard .h .s{font-weight:800;font-size:14px;color:var(--text)}
  .tcard .px{font-size:16px;font-weight:800;margin-top:10px;letter-spacing:-.3px}
  .tcard .r{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);margin-top:8px}

  /* tabs */
  .tabs{display:flex;gap:6px;background:var(--panel2);border:1px solid var(--border);border-radius:13px;padding:4px;
    margin-bottom:18px;overflow-x:auto;flex-wrap:wrap}
  .tabs button{background:none;border:none;color:var(--muted);font-size:13px;font-weight:600;padding:8px 16px;
    cursor:pointer;font-family:inherit;border-radius:9px;white-space:nowrap;transition:.15s}
  .tabs button:hover{color:var(--text)}
  .tabs button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
  .tabpane{display:none} .tabpane.on{display:block;animation:fade .22s ease}

  .empty-board{text-align:center;padding:48px 20px;color:var(--muted)}
  .empty-board .big{font-size:44px;margin-bottom:12px}

  /* mobile */
  .scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:30}
  @media(max-width:860px){
    .side{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);box-shadow:var(--shadow-lg)}
    .side.open{transform:none} .scrim.open{display:block}
    .menu-btn{display:flex;align-items:center;justify-content:center}
    .search{display:none} .topbar h1{font-size:15px}
    .content{padding:18px}
    .view-head h2{font-size:21px}
  }

  /* ---------- auth (Gmail / Web3 login) ---------- */
  .authbtn{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);
    color:var(--text);height:36px;padding:0 14px;border-radius:11px;cursor:pointer;font-size:12.5px;
    font-weight:600;font-family:inherit;flex:none;transition:.15s;max-width:200px}
  .authbtn:hover{border-color:var(--indigo);color:var(--text)}
  .authbtn.signedin{background:linear-gradient(90deg,rgba(99,102,241,.12),transparent);border-color:var(--indigo)}
  .authbtn .aidot{width:8px;height:8px;border-radius:50%;background:var(--green);flex:none}
  .authbtn .aid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}
  .authmodal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60;
    align-items:center;justify-content:center;padding:20px}
  .authmodal.open{display:flex;animation:fade .2s ease}
  /* ---- onboarding tour ---- */
  .tour{display:none;position:fixed;inset:0;background:rgba(6,8,14,.66);backdrop-filter:blur(4px);z-index:90;align-items:center;justify-content:center;padding:20px}
  .tour.open{display:flex;animation:fade .22s ease}
  .tourcard{position:relative;background:var(--panel);border:1px solid var(--border2);border-radius:20px;
    width:440px;max-width:100%;box-shadow:0 24px 70px -20px rgba(0,0,0,.7),var(--shadow-lg);overflow:hidden;animation:tslide .3s cubic-bezier(.2,1,.3,1)}
  @keyframes tslide{from{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}
  .tourcard::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
  .tourx{position:absolute;top:12px;right:13px;background:transparent;border:none;color:var(--faint);font-size:14px;cursor:pointer;width:28px;height:28px;border-radius:8px;transition:.15s;z-index:2}
  .tourx:hover{color:var(--text);background:var(--panel2)}
  .tourbody{padding:34px 30px 14px;text-align:center;min-height:212px}
  .tourico{font-size:42px;line-height:1;margin-bottom:14px;animation:tpop .42s cubic-bezier(.2,1.3,.4,1)}
  @keyframes tpop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
  .tourtag{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
    background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:7px}
  .tourtitle{font-size:19px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin-bottom:9px}
  .tourtext{font-size:13px;color:var(--muted);line-height:1.62;max-width:344px;margin:0 auto}
  .tourtext b{color:var(--text);font-weight:700}
  .tourtext .thi{display:block;margin-top:9px;font-size:12px;color:var(--indigo)}
  .tourfoot{display:flex;align-items:center;gap:12px;padding:13px 20px 17px;border-top:1px solid var(--border);flex-wrap:wrap}
  .tourdsa{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--faint);cursor:pointer;user-select:none;white-space:nowrap}
  .tourdsa input{accent-color:var(--blue);width:14px;height:14px;cursor:pointer}
  .tourdots{display:flex;gap:6px;margin:0 auto}
  .tdot{width:7px;height:7px;border-radius:50%;background:var(--border2);transition:.22s}
  .tdot.on{background:var(--grad);width:20px;border-radius:5px}
  .tournav{display:flex;gap:8px}
  .tbtn{font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:10px;cursor:pointer;border:1px solid var(--border2);transition:.15s;font-family:inherit}
  .tbtn.ghost{background:transparent;color:var(--muted)}
  .tbtn.ghost:hover{color:var(--text);border-color:var(--faint)}
  .tbtn.primary{background:var(--grad);color:#fff;border:none;box-shadow:0 6px 18px -8px rgba(99,102,241,.7)}
  .tbtn.primary:hover{filter:brightness(1.08)}
  @media(max-width:480px){.tourfoot{justify-content:center}.tourdots{order:-1;width:100%;justify-content:center;margin-bottom:2px}}
  /* anchored mode — the card points to the sidebar module it describes */
  .tourcard.anchored{position:fixed;margin:0;width:404px;animation:tslide .26s cubic-bezier(.2,1,.3,1)}
  .tourcard.anchored::after{content:"";position:absolute;left:-8px;top:var(--ay,40px);width:15px;height:15px;
    background:var(--panel);border-left:1px solid var(--border2);border-bottom:1px solid var(--border2);transform:translateY(-50%) rotate(45deg)}
  /* spotlight glow on the targeted nav module (the "hover effect") */
  .nav-item.tour-spot{position:relative;z-index:96;border-radius:11px;
    box-shadow:0 0 0 2px var(--indigo),0 0 22px -2px rgba(129,140,248,.78);animation:navspot 1.6s ease-in-out infinite}
  @keyframes navspot{0%,100%{box-shadow:0 0 0 2px var(--indigo),0 0 18px -3px rgba(129,140,248,.6)}
    50%{box-shadow:0 0 0 2px var(--violet),0 0 32px 0 rgba(167,139,250,.95)}}
  /* spotlight glow on the targeted TAB button inside a workspace (points the tour straight at the tab) */
  .tabs button.tab-spot{position:relative;z-index:96;box-shadow:0 0 0 2px var(--indigo),0 0 20px -2px rgba(129,140,248,.85);animation:navspot 1.6s ease-in-out infinite}
  :root:not(.light) .tabs button.tab-spot{box-shadow:0 0 0 1px var(--hcyan),0 0 22px -2px rgba(61,240,255,.85);animation:navspotH 1.6s ease-in-out infinite}
  /* when the card anchors UNDER a tab, the arrow points up instead of left */
  .tourcard.anchored.tabanchor::after{left:var(--ax,40px);top:-8px;border-left:1px solid var(--border2);border-top:1px solid var(--border2);border-bottom:none;transform:translateX(-50%) rotate(45deg)}
  /* when the card anchors to the LEFT of the right-rail (Suggested Tickers), the arrow points RIGHT */
  .tourcard.anchored.railanchor::after{left:auto;right:-8px;top:var(--ay,34px);border-left:none;border-bottom:none;border-right:1px solid var(--border2);border-top:1px solid var(--border2);transform:translateY(-50%) rotate(45deg)}
  /* spotlight glow on the targeted right-rail card (same pulse as the nav/tab spotlight) */
  .rl-card.tour-spot{position:relative;z-index:96;box-shadow:0 0 0 2px var(--indigo),0 0 22px -2px rgba(129,140,248,.78);animation:navspot 1.6s ease-in-out infinite}
  :root:not(.light) .rl-card.tour-spot{box-shadow:0 0 0 1px var(--hcyan),0 0 22px -2px rgba(61,240,255,.85);animation:navspotH 1.6s ease-in-out infinite}
  /* interactive-demo mode: overlay goes non-blocking so the live module shows behind the guide card */
  .tour.demo{background:transparent;backdrop-filter:none;pointer-events:none}
  .tour.demo .tourcard{pointer-events:auto;box-shadow:0 0 0 1px var(--border2),0 26px 80px -20px rgba(0,0,0,.9),0 0 60px -14px rgba(61,240,255,.35)}
  .authcard{background:var(--panel);border:1px solid var(--border2);border-radius:18px;padding:24px;
    width:360px;max-width:100%;box-shadow:var(--shadow-lg)}
  .authcard h3{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin-bottom:6px;
    display:flex;align-items:center;gap:9px}
  .authcard p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:18px}
  .authopt{display:flex;align-items:center;gap:11px;width:100%;background:var(--panel2);border:1px solid var(--border);
    color:var(--text);padding:13px 15px;border-radius:12px;cursor:pointer;font-size:13.5px;font-weight:600;
    font-family:inherit;margin-bottom:10px;transition:.15s;text-align:left}
  .authopt:hover{border-color:var(--indigo);transform:translateY(-1px);box-shadow:var(--shadow-lg)}
  .authopt .ai{font-size:18px;flex:none}
  .authopt .asub{margin-left:auto;font-size:10.5px;color:var(--muted);font-weight:500}
  .authclose{background:none;border:none;color:var(--muted);font-size:13px;cursor:pointer;font-family:inherit;
    width:100%;padding:8px;margin-top:4px}
  .authclose:hover{color:var(--text)}
  .authid-row{display:flex;align-items:center;gap:10px;background:var(--panel2);border:1px solid var(--border);
    border-radius:12px;padding:13px 15px;margin-bottom:14px}
  .authid-row .em{font-size:13px;font-weight:700;color:var(--text);word-break:break-all}
  .authid-row .ty{font-size:10.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
  /* ---- sign-in (centered logo + icon-button row) ---- */
  .authso{text-align:center;padding:8px 6px 2px}
  .authlogo{display:flex;justify-content:center;margin-bottom:14px;filter:drop-shadow(0 0 18px rgba(43,217,138,.55))}
  .authlogo svg{display:block}
  .authtitle{display:block;font-size:38px;font-weight:800;letter-spacing:-1px;color:#fff;margin:0 0 8px;line-height:1.05;text-align:center}
  .authsub{font-size:12.5px;color:var(--muted);margin:0 0 24px;line-height:1.5}
  .authrow{display:flex;gap:13px;justify-content:center;margin-bottom:16px}
  .authbtn2{flex:1;min-width:0;height:62px;display:flex;align-items:center;justify-content:center;
    background:var(--panel2);border:1px solid var(--border2);border-radius:14px;cursor:pointer;
    transition:border-color .16s,transform .16s,box-shadow .16s,background .16s}
  .authbtn2:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(34,197,94,.45);background:var(--elev)}
  .authbtn2:active{transform:translateY(0)}
  .authbtn2 svg{width:26px;height:26px;display:block}
  /* ---- web3 wallet chooser (EVM / Solana) ---- */
  .wgrid{display:flex;gap:13px;margin:0 0 14px}
  .wcard{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--border2);border-radius:14px;
    padding:15px 12px;cursor:pointer;text-align:center;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}
  .wcard:hover{border-color:var(--green);transform:translateY(-2px)}
  .wcard .wc-t{font-size:17px;font-weight:800;color:var(--text);letter-spacing:.5px}
  .wcard .wc-s{font-size:11px;color:var(--muted);margin-top:4px}
  .wcard.sel{background:var(--green);border-color:var(--green);box-shadow:0 12px 30px -12px rgba(34,197,94,.6)}
  .wcard.sel .wc-t,.wcard.sel .wc-s{color:#06210f}
  .wconnect{width:100%;height:54px;border:none;border-radius:14px;background:var(--green);color:#06210f;
    font-weight:800;font-size:16px;letter-spacing:.5px;cursor:pointer;transition:filter .16s,transform .16s}
  .wconnect:hover{filter:brightness(1.06);transform:translateY(-1px)}
  .wback{display:inline-block;margin-top:16px;background:transparent;border:1px solid var(--border2);color:var(--muted);
    border-radius:10px;padding:10px 26px;cursor:pointer;font-weight:700;font-family:inherit}
  .wback:hover{border-color:var(--green);color:var(--text)}
  /* toast */
  #toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);z-index:80;
    background:var(--elev);border:1px solid var(--border2);color:var(--text);padding:11px 20px;border-radius:12px;
    font-size:12.5px;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:.25s}
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
  /* scrollable list: show ~10 rows, scroll for the rest; header stays visible */
  .scroll10{max-height:430px;overflow-y:auto}
  .scroll10 table thead th{position:sticky;top:0;background:var(--panel);z-index:2}
  /* ========================================================================
     HUD SKIN — design language ported from vantage-hud.vercel.app
     (sci-fi cockpit: reference grid + scanlines + corner-bracketed panels,
     holographic cyan/amber, monospace telemetry). Dark-only (:root:not(.light));
     light theme keeps its look.
     ======================================================================== */
  :root{ --hcyan:#3df0ff; --hcyd:#0fa9bd; --hamber:#ffb43d;
         --hline:rgba(61,240,255,.18); --hline2:rgba(61,240,255,.34); --hgrid:rgba(61,240,255,.05);
         --hmono:"Cascadia Code",Consolas,ui-monospace,"SF Mono",Menlo,monospace; }
  ::selection{ background:rgba(61,240,255,.30); color:#03060a }
  /* deep base + radial glows + monospace identity */
  :root:not(.light) body{ background:
      radial-gradient(1200px 700px at 50% -10%,rgba(61,240,255,.07),transparent 60%),
      radial-gradient(900px 600px at 90% 120%,rgba(255,180,61,.05),transparent 55%),
      #03060a !important; font-family:var(--hmono) !important }
  /* faint reference grid (behind everything) */
  :root:not(.light) body::before{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:linear-gradient(var(--hgrid) 1px,transparent 1px),linear-gradient(90deg,var(--hgrid) 1px,transparent 1px);
    background-size:46px 46px }
  /* CRT scanlines (over everything, subtle) */
  :root:not(.light) body::after{ content:""; position:fixed; inset:0; z-index:60; pointer-events:none;
    background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 2px,rgba(0,0,0,.16) 3px); opacity:.5 }
  /* moving scanline sweep + targeting reticle (the .hud-fx element is injected in <body>) */
  .hud-fx{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden }
  :root.light .hud-fx{ display:none }
  .hud-fx .sweep{ position:absolute; left:0; right:0; height:150px;
    background:linear-gradient(180deg,transparent,rgba(61,240,255,.06) 50%,transparent); animation:hsweep 7.5s linear infinite }
  @keyframes hsweep{ 0%{transform:translateY(-170px)} 100%{transform:translateY(100vh)} }
  .hud-fx .reticle{ position:absolute; top:50%; left:50%; width:min(70vmin,560px); height:min(70vmin,560px);
    transform:translate(-50%,-50%); opacity:.45 }
  .hud-fx .reticle i{ position:absolute; inset:0; border:1px solid var(--hline); border-radius:50% }
  .hud-fx .reticle i.r2{ inset:14%; border-style:dashed; animation:hspin 60s linear infinite }
  .hud-fx .reticle i.r3{ inset:30%; border-color:rgba(255,180,61,.16) }
  .hud-fx .reticle b{ position:absolute; background:var(--hline) }
  .hud-fx .reticle b.cx{ top:50%; left:0; right:0; height:1px }
  .hud-fx .reticle b.cy{ left:50%; top:0; bottom:0; width:1px }
  @keyframes hspin{ to{transform:rotate(360deg)} }
  /* keep chrome above the fx layers */
  :root:not(.light) .side,:root:not(.light) .wrap{ position:relative; z-index:1 }
  :root:not(.light) .content{ background:transparent !important }
  /* cockpit surfaces */
  :root:not(.light) .side{ background:linear-gradient(180deg,rgba(6,12,18,.92),rgba(4,8,13,.95)) !important; border-right:1px solid var(--hline) !important }
  :root:not(.light) .topbar{ background:rgba(5,10,16,.86) !important; border-bottom:1px solid var(--hline) !important; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px) }
  :root:not(.light) .panel{ background:linear-gradient(180deg,rgba(7,14,20,.80),rgba(4,8,13,.84)) !important; border:1px solid var(--hline) !important; border-radius:4px !important; position:relative; overflow:visible; transition:border-color .3s,box-shadow .3s }
  /* corner brackets (two diagonal corners) */
  :root:not(.light) .panel::before,:root:not(.light) .panel::after{ content:""; position:absolute; width:13px; height:13px; border:2px solid var(--hline2); pointer-events:none }
  :root:not(.light) .panel::before{ top:-1px; left:-1px; border-right:0; border-bottom:0 }
  :root:not(.light) .panel::after{ bottom:-1px; right:-1px; border-left:0; border-top:0 }
  :root:not(.light) .panel:hover{ border-color:var(--hline2) !important; box-shadow:0 0 34px -14px rgba(61,240,255,.45) }
  :root:not(.light) .pillarcard,:root:not(.light) .kpi .card{ background:linear-gradient(180deg,rgba(7,14,20,.78),rgba(4,8,13,.82)) !important; border:1px solid var(--hline) !important; border-radius:4px !important }
  :root:not(.light) .pillarcard:hover{ border-color:var(--hcyan) !important; box-shadow:0 0 30px -14px rgba(61,240,255,.5) }
  /* typography → telemetry */
  .panel h3,.view-head h2{ font-family:var(--hmono) !important; text-transform:uppercase !important; letter-spacing:.16em !important; font-weight:800 !important }
  .panel h3{ font-size:11.5px !important; color:var(--muted) !important; border-bottom:1px solid var(--hline); padding-bottom:9px }
  .panel h3 .mut,.panel h3 .mono{ text-transform:none !important; letter-spacing:.04em !important; color:var(--hcyan) !important; opacity:.7 }
  .grp{ letter-spacing:.26em !important; text-transform:uppercase }
  /* accents → holographic cyan / amber */
  .brand{ align-items:center }
  .brand .vmark{ display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;filter:drop-shadow(0 0 10px rgba(61,240,255,.45)) }
  .brand .vmark svg{ width:27px;height:27px;display:block }
  .brand .bwrap{ display:flex;flex-direction:column;line-height:1 }
  .brand b{ background:none !important;-webkit-background-clip:border-box !important;-webkit-text-fill-color:currentColor !important;color:var(--text);font-weight:800;font-size:16px;letter-spacing:.30em }
  :root:not(.light) .brand b{ color:#eafdff }
  .brand .bsub{ font-size:8.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:5px }
  .nav-item.on{ background:rgba(61,240,255,.08) !important; box-shadow:0 0 22px -8px rgba(61,240,255,.6),inset 2px 0 0 var(--hcyan) !important; color:#eafdff !important }
  .nav-item.pillar:hover{ border-color:var(--hcyan) !important }
  .live .dot{ background:var(--hcyan) !important; box-shadow:0 0 10px var(--hcyan) !important }
  .search:focus{ border-color:var(--hcyan) !important; box-shadow:0 0 0 3px rgba(61,240,255,.16) !important }
  .chip:hover{ border-color:var(--hcyan) !important; color:var(--text) !important }
  :root:not(.light) .bar{ background:rgba(0,0,0,.30) !important; border:1px solid var(--hline) }
  :root:not(.light) .bar i{ box-shadow:0 0 8px currentColor }
  /* ---- HUD re-skin · onboarding tour (pop-up) ---- */
  :root:not(.light) .tour{ background:rgba(2,6,10,.74) !important; backdrop-filter:blur(5px) }
  /* interactive-demo mode: keep the page CLEAR (no dim/blur) in dark mode too, so the spotlighted
     tab/module stays fully visible behind the guide card. Overrides the dark .tour dim above. */
  :root:not(.light) .tour.demo{ background:transparent !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important }
  :root:not(.light) .tourcard{ background:linear-gradient(180deg,rgba(9,17,24,.97),rgba(4,8,13,.98)) !important; border:1px solid var(--hline2) !important; border-radius:5px !important; box-shadow:0 0 60px -16px rgba(61,240,255,.40),0 24px 70px -22px rgba(0,0,0,.8) !important; font-family:var(--hmono) }
  :root:not(.light) .tourcard::before{ background:linear-gradient(90deg,transparent,var(--hcyan),var(--hamber),transparent) !important; height:2px !important; opacity:.95 }
  .tourtag{ font-family:var(--hmono); letter-spacing:.28em !important }
  :root:not(.light) .tourtag{ background:linear-gradient(90deg,var(--hcyan),var(--hamber)) !important; -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent }
  .tourtitle{ font-family:var(--hmono); text-transform:uppercase; letter-spacing:.05em !important }
  :root:not(.light) .tourtitle{ color:#eafdff !important }
  :root:not(.light) .tourtext .thi{ color:var(--hcyan) !important }
  :root:not(.light) .tourfoot{ border-top:1px solid var(--hline) !important }
  :root:not(.light) .tdot{ background:rgba(61,240,255,.22) }
  :root:not(.light) .tdot.on{ background:linear-gradient(90deg,var(--hcyan),var(--hamber)) !important }
  .tbtn{ font-family:var(--hmono) !important }
  :root:not(.light) .tbtn{ text-transform:uppercase; letter-spacing:.07em; border-radius:4px !important; border-color:var(--hline2) }
  :root:not(.light) .tbtn.ghost{ color:var(--muted) }
  :root:not(.light) .tbtn.ghost:hover{ color:#eafdff; border-color:var(--hcyan) }
  :root:not(.light) .tbtn.primary{ background:linear-gradient(180deg,rgba(61,240,255,.24),rgba(61,240,255,.10)) !important; color:#eafdff !important; border:1px solid var(--hcyan) !important; box-shadow:0 0 22px -6px rgba(61,240,255,.7) !important }
  :root:not(.light) .tbtn.primary:hover{ background:rgba(61,240,255,.32) !important; filter:none }
  :root:not(.light) .tourx:hover{ background:rgba(61,240,255,.12); color:var(--hcyan) }
  :root:not(.light) .tourcard.anchored::after{ background:linear-gradient(135deg,rgba(9,17,24,.97),rgba(4,8,13,.98)) !important; border-color:var(--hline2) !important }
  :root:not(.light) .nav-item.tour-spot{ box-shadow:0 0 0 1px var(--hcyan),0 0 22px -2px rgba(61,240,255,.85) !important; animation:navspotH 1.6s ease-in-out infinite !important }
  @keyframes navspotH{ 0%,100%{box-shadow:0 0 0 1px var(--hcyan),0 0 16px -3px rgba(61,240,255,.6)} 50%{box-shadow:0 0 0 1px var(--hamber),0 0 30px 0 rgba(255,180,61,.75)} }
  /* ---- HUD re-skin · sign-in card ---- */
  :root:not(.light) .authmodal{ background:rgba(2,6,10,.72) !important; z-index:95 }
  :root:not(.light) .authcard{ background:linear-gradient(180deg,rgba(9,17,24,.98),rgba(4,8,13,.99)) !important; border:1px solid var(--hline2) !important; border-radius:5px !important; box-shadow:0 0 60px -16px rgba(61,240,255,.40),0 24px 70px -22px rgba(0,0,0,.85) !important; font-family:var(--hmono); position:relative }
  :root:not(.light) .authcard::before,:root:not(.light) .authcard::after{ content:""; position:absolute; width:14px; height:14px; border:2px solid var(--hline2); pointer-events:none }
  :root:not(.light) .authcard::before{ top:-1px; left:-1px; border-right:0; border-bottom:0 }
  :root:not(.light) .authcard::after{ bottom:-1px; right:-1px; border-left:0; border-top:0 }
  .authtitle{ font-family:var(--hmono); text-transform:uppercase; letter-spacing:.14em !important; font-size:30px !important }
  :root:not(.light) .authtitle{ color:#eafdff !important }
  :root:not(.light) .authsub{ color:var(--muted) }
  :root:not(.light) .authlogo{ filter:drop-shadow(0 0 16px rgba(61,240,255,.55)) !important }
  :root:not(.light) .authbtn2{ background:rgba(61,240,255,.05) !important; border:1px solid var(--hline) !important; border-radius:5px !important }
  :root:not(.light) .authbtn2:hover{ border-color:var(--hcyan) !important; box-shadow:0 0 26px -8px rgba(61,240,255,.7) !important; background:rgba(61,240,255,.11) !important }
  :root:not(.light) .authbtn2 svg[stroke]{ stroke:var(--hcyan) }
  .authcard h3{ font-family:var(--hmono) }
  :root:not(.light) .authcard h3{ text-transform:uppercase; letter-spacing:.08em }
  :root:not(.light) .authopt{ background:rgba(61,240,255,.05) !important; border:1px solid var(--hline) !important; border-radius:5px !important; font-family:var(--hmono) }
  :root:not(.light) .authopt:hover{ border-color:var(--hcyan) !important; transform:translateY(-1px); box-shadow:0 0 22px -10px rgba(61,240,255,.6) !important }
  :root:not(.light) .authid-row{ background:rgba(61,240,255,.05) !important; border:1px solid var(--hline) !important; border-radius:5px !important }
  :root:not(.light) .authid-row .ty{ color:var(--hcyan) !important }
  :root:not(.light) .authclose:hover{ color:var(--hcyan) }
  /* ---- HUD line-icons (emoji swept to inline SVG at runtime) ---- */
  .hic{display:inline-flex;align-items:center;justify-content:center;vertical-align:-0.15em;line-height:0}
  .hic svg{width:1.06em;height:1.06em;display:block}
  .hled{display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 8px currentColor}
  /* icons inherit local text colour by default (so badges/buttons keep their hue); chrome icons go cyan */
  :root:not(.light) .panel h3 .hic,:root:not(.light) .nav-item .ico .hic,:root:not(.light) .view-head h2 .hic,
  :root:not(.light) .tourico .hic,:root:not(.light) .tbtn .hic,:root:not(.light) .topbar .hic,
  :root:not(.light) .authtitle .hic,:root:not(.light) .authcard h3 .hic{color:var(--hcyan)}
  .brand .logo .hic{color:#04121a}
  .brand .logo .hic svg{width:21px;height:21px}
  /* ============ MOBILE / RESPONSIVE — placed last so it overrides HUD + base ============ */
  @media(max-width:860px){
    /* never allow horizontal scroll on phones (decorative fixed layers were widening the page) */
    html,body{ overflow-x:hidden !important; max-width:100% }
    .hud-fx{ display:none !important }                 /* decorative scanline/reticle — drop on mobile */
    /* off-canvas drawer: the HUD skin set .side{position:relative} globally, which broke the
       mobile sidebar — force it back to a fixed drawer that slides in over the content. */
    :root .side, :root:not(.light) .side{ position:fixed !important; left:0; top:0; bottom:0; z-index:120 !important;
      width:min(84vw,290px); transform:translateX(-100%); box-shadow:0 0 60px -10px rgba(0,0,0,.8); overflow-y:auto }
    :root .side.open, :root:not(.light) .side.open{ transform:none !important }
    :root:not(.light) .wrap{ position:relative; z-index:1 }
    .scrim{ z-index:110 }
    .menu-btn{ display:flex !important; align-items:center; justify-content:center }
    /* topbar: keep it to one tidy row */
    .live{ white-space:nowrap; font-size:11px }
    .liveclk{ display:none }                           /* keep just "LIVE", drop the running clock */
    .topbar .ava{ display:none }                       /* avatar dot is redundant next to the sign-in chip */
    /* tabs scroll horizontally in a single row instead of wrapping */
    .tabs, #tokTabs{ flex-wrap:nowrap !important; scrollbar-width:none }
    .tabs::-webkit-scrollbar, #tokTabs::-webkit-scrollbar{ display:none }
    /* tap targets + comfortable spacing */
    .content{ padding-bottom:40px }
    .lookup button{ flex:1 1 100%; padding:12px 0 }
    /* wide data tables scroll horizontally inside their panel instead of breaking the page */
    .panel table, .content table{ display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;
      white-space:nowrap; max-width:100% }
    .scroll10{ max-height:none; overflow:visible }
    .content{ padding:16px 13px; overflow-x:hidden }
    .panel{ padding:15px 14px }
    .grid{ gap:13px }
    .view-head h2{ font-size:19px }
    .view-head p{ font-size:12.5px; line-height:1.55 }
    .topbar{ padding:10px 13px; gap:9px }
    .authbtn .aid{ max-width:80px }
    .tabs, #tokTabs{ overflow-x:auto; -webkit-overflow-scrolling:touch }
    /* card-header secondary labels wrap to their own line instead of clipping at the edge */
    .panel h3{ flex-wrap:wrap; row-gap:3px; letter-spacing:.07em !important }
    .panel h3 .mut{ margin-left:0 !important; flex-basis:100%; font-size:10.5px }
  }
  @media(max-width:560px){
    .content{ padding:12px 10px; padding-bottom:40px }
    .panel{ padding:13px 12px; border-radius:12px }
    .kpi{ grid-template-columns:1fr 1fr; gap:10px }
    .kpi .val{ font-size:22px }
    /* charts: taller + legible on phones (SVG height attrs overridden) */
    #stEqWrap svg, #stEquity svg{ height:180px !important }
    #stEqWrap svg text{ display:none }          /* the in-chart $ labels overlapped the line — values are in the caption below */
    #clChartWrap{ height:210px !important }
    /* Trade Performance table has 10 cols — keep the essentials on phones (Asset · Side · Source · P&L% · Result),
       drop date / entry / price / P&L$ / duration so it fits without a horizontal-scroll mess */
    #stHistory td:nth-child(1), #stHistory th:nth-child(1),
    #stHistory td:nth-child(5), #stHistory th:nth-child(5),
    #stHistory td:nth-child(6), #stHistory th:nth-child(6),
    #stHistory td:nth-child(8), #stHistory th:nth-child(8),
    #stHistory td:nth-child(10), #stHistory th:nth-child(10){ display:none !important }
    #stHistory table{ white-space:normal }
    #stHistory td, #stHistory th{ padding:8px 7px }
    /* Decide funnel + Decision-Gate rows wrap instead of clipping the value / verify link
       (reset only the text spans' min-widths — never the fixed-size status dot) */
    .decrow, .gaterow{ flex-wrap:wrap !important; row-gap:3px; padding:10px 0 !important }
    .decrow > b, .decrow > .sub{ min-width:0 !important }
    .gaterow > b{ flex:1 1 100% !important; min-width:0 !important }
    .gaterow > .sub{ min-width:0 !important; flex:1 1 60% !important }
    .gaterow > span:last-child{ margin-left:auto }
    #engHealth{ display:none !important }     /* engine status: drop on small phones to keep topbar clean */
    .topbar{ gap:8px; padding:9px 11px }
    .authbtn{ padding:0 9px; max-width:none }
    .authbtn .aid{ display:none }            /* icon-only sign-in on phones */
    .view-head h2{ font-size:17px }
    .num{ font-size:30px }
    .panel h3{ font-size:11.5px !important; flex-wrap:wrap }
    table{ font-size:11.5px }
    .chips{ gap:6px } .chip{ padding:5px 11px; font-size:11px }
  }
  /* ===== racing leaderboard (live dummy population) ===== */
  .lb-scroll{ max-height:640px; overflow-y:auto; border-radius:10px }
  .lb-scroll table{ table-layout:fixed }
  #lbBody tr{ will-change:transform }
  #lbBody td{ padding:9px 10px; vertical-align:middle }
  #lbBody .lb-rk{ width:62px; font-variant-numeric:tabular-nums; white-space:nowrap }
  #lbBody .lb-rk .arr{ font-size:9px; margin-left:4px; opacity:0 }
  #lbBody .sym{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
  .lb-up{ animation:lbUp .9s ease-out }
  .lb-down{ animation:lbDown .9s ease-out }
  .lb-up .arr{ color:#34d399; opacity:1 !important }
  .lb-down .arr{ color:#fb7185; opacity:1 !important }
  @keyframes lbUp{ 0%{ background:rgba(34,197,94,.38); box-shadow:inset 3px 0 0 #34d399 } 100%{ background:transparent; box-shadow:none } }
  @keyframes lbDown{ 0%{ background:rgba(244,63,94,.32); box-shadow:inset 3px 0 0 #fb7185 } 100%{ background:transparent; box-shadow:none } }
  /* your own row — racing-style pulsing highlight so you can track your position live */
  #lbBody tr.lb-you{ animation:lbYou 1.7s ease-in-out infinite }
  #lbBody tr.lb-you .sym{ color:var(--hcyan,#3df0ff); font-weight:800 }
  #lbBody tr.lb-you .lb-rk{ color:var(--hcyan,#3df0ff) }
  @keyframes lbYou{
    0%,100%{ background:rgba(61,240,255,.10); box-shadow:inset 3px 0 0 #3df0ff, 0 0 0 0 rgba(61,240,255,0) }
    50%{ background:rgba(61,240,255,.22); box-shadow:inset 3px 0 0 #3df0ff, 0 0 18px -2px rgba(61,240,255,.6) } }
  .lb-youtag{ font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#04121a; background:var(--hcyan,#3df0ff); border-radius:5px; padding:1px 6px; margin-left:7px; vertical-align:middle; box-shadow:0 0 10px -1px rgba(61,240,255,.7) }
  /* ===== Live Trade ===== */
  .lt-wrap{ display:flex; flex-direction:column; gap:16px }   /* landscape: two full-width cards stacked */
  .lt-wrap>.panel{ min-width:0 }
  .lt-wallet{ display:flex; flex-wrap:wrap; gap:12px 34px; align-items:baseline }
  .lt-eq{ flex-basis:100%; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap }
  /* horizontal (landscape) order ticket */
  .lt-form2{ display:flex; flex-wrap:wrap; gap:11px 14px; align-items:flex-end; margin-top:14px }
  .lt-f{ display:flex; flex-direction:column; gap:4px }
  .lt-f>label{ font-size:10.5px; color:var(--muted); font-weight:600 }
  .lt-f input, .lt-f select{ background:var(--panel2); border:1px solid var(--border); border-radius:9px; padding:9px 11px; color:var(--text); font-size:13px; font-family:inherit; outline:none }
  .lt-f input:focus, .lt-f select:focus{ border-color:var(--cyan) }
  .lt-f.tk{ flex:1 1 190px } .lt-f.tk input{ width:100% }
  .lt-f.num input{ width:104px } .lt-f.px input{ width:122px } .lt-f.ord select{ width:118px }
  .lt-f.pw{ flex:1 1 170px } .lt-f.pw input{ width:100% }
  .lt-side2{ display:flex; gap:7px }
  .lt-side2 button{ border:1px solid var(--border); background:var(--panel2); color:var(--muted); border-radius:9px; padding:9px 15px; font-weight:800; font-size:12.5px; cursor:pointer; font-family:inherit; transition:.15s }
  .lt-side2 button.long.on{ background:rgba(34,197,94,.16); border-color:var(--green); color:var(--green) }
  .lt-side2 button.short.on{ background:rgba(244,63,94,.16); border-color:var(--red); color:var(--red) }
  .lt-go2{ border:none; border-radius:10px; padding:10px 22px; font-size:13.5px; font-weight:800; cursor:pointer; font-family:inherit; color:#04121a; background:linear-gradient(90deg,var(--cyan),var(--blue)) }
  .lt-share{ border:1px solid var(--border); background:var(--panel2); color:var(--text); border-radius:9px; padding:8px 14px; font-size:12.5px; font-weight:700; cursor:pointer; font-family:inherit; transition:.15s }
  .lt-share:hover{ border-color:var(--cyan); color:var(--cyan) }
  .lt-modal{ position:fixed; inset:0; z-index:9999; background:rgba(3,7,12,.74); backdrop-filter:blur(3px); display:flex; align-items:center; justify-content:center; padding:20px }
  .lt-modal-box{ background:var(--panel); border:1px solid var(--border); border-radius:16px; padding:18px; max-width:560px; width:100%; box-shadow:0 24px 70px rgba(0,0,0,.55) }
  .lt-modal-hd{ display:flex; justify-content:space-between; align-items:center; font-weight:800; font-size:15px; margin-bottom:12px }
  .lt-modal-x{ background:none; border:none; color:var(--muted); font-size:16px; cursor:pointer; line-height:1 }
  .lt-modal-img{ width:100%; border-radius:12px; display:block; border:1px solid var(--border) }
  .lt-modal-btns{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px }
  .lt-modal-btns .lt-share{ flex:1 1 120px; text-align:center }
  .lt-modal-note{ font-size:11.5px; color:var(--muted); margin-top:12px; text-align:center }
  .lt-unit{ border:1px solid var(--border); background:var(--panel2); color:var(--muted); border-radius:9px; padding:9px 12px; font-size:12.5px; font-weight:800; cursor:pointer; font-family:inherit; min-width:78px; transition:.15s }
  .lt-unit.on{ border-color:var(--cyan); color:var(--cyan); background:rgba(34,211,238,.12) }
  .lt-eq b{ font-size:30px; font-weight:800; letter-spacing:-.5px; font-variant-numeric:tabular-nums }
  .lt-k{ font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--faint) }
  .lt-v{ font-size:15px; font-weight:700; font-variant-numeric:tabular-nums; margin-top:2px }
  .lt-form label{ display:block; font-size:11px; color:var(--muted); margin:10px 0 4px; font-weight:600 }
  .lt-form input, .lt-form select{ width:100%; box-sizing:border-box; background:var(--panel2); border:1px solid var(--border);
    border-radius:10px; padding:9px 11px; color:var(--text); font-size:13px; font-family:inherit; outline:none }
  .lt-form input:focus{ border-color:var(--cyan) }
  .lt-row{ display:grid; grid-template-columns:1fr 1fr; gap:10px }
  .lt-side{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:6px }
  .lt-side button{ border:1px solid var(--border); background:var(--panel2); color:var(--muted); border-radius:10px;
    padding:10px 0; font-weight:800; font-size:13px; cursor:pointer; font-family:inherit; transition:.15s }
  .lt-side button.long.on{ background:rgba(34,197,94,.16); border-color:var(--green); color:var(--green) }
  .lt-side button.short.on{ background:rgba(244,63,94,.16); border-color:var(--red); color:var(--red) }
  .lt-go{ width:100%; margin-top:14px; border:none; border-radius:11px; padding:12px 0; font-size:14px; font-weight:800;
    cursor:pointer; font-family:inherit; color:#04121a; background:linear-gradient(90deg,var(--cyan),var(--blue)) }
  .lt-go:disabled{ opacity:.5; cursor:not-allowed }
  .lt-tbl{ width:100%; border-collapse:collapse; font-size:12px }
  .lt-tbl th{ text-align:right; color:var(--faint); font-weight:600; font-size:10px; text-transform:uppercase; letter-spacing:.05em; padding:6px 8px; border-bottom:1px solid var(--border) }
  .lt-tbl th:first-child, .lt-tbl td:first-child{ text-align:left }
  .lt-tbl td{ text-align:right; padding:8px; border-bottom:1px solid var(--border); font-variant-numeric:tabular-nums; white-space:nowrap }
  .lt-tbl tr:last-child td{ border-bottom:none }
  .lt-sym{ font-weight:800 }
  .lt-sym:hover{ color:var(--cyan); text-decoration:underline }
  .lt-badge{ font-size:9.5px; font-weight:800; padding:2px 6px; border-radius:6px; letter-spacing:.04em }
  .lt-badge.long{ background:rgba(34,197,94,.15); color:var(--green) } .lt-badge.short{ background:rgba(244,63,94,.15); color:var(--red) }
  .lt-x{ cursor:pointer; color:var(--red); font-weight:800; border:1px solid var(--border); border-radius:7px; padding:3px 8px; font-size:11px; background:transparent }
  .lt-x:hover{ background:rgba(244,63,94,.12) }
  .lt-pw{ display:flex; gap:8px; align-items:center; margin-top:6px }
  .lt-pw input{ flex:1 }
  .lt-lock{ font-size:11px; color:var(--faint) }
  .lt-sub{ font-size:11px; color:var(--muted); margin:2px 0 10px }
  .lt-hint{ font-size:10.5px; color:var(--faint); margin-top:3px }
  .lt-tabs{ display:flex; gap:6px; margin:16px 0 8px }
  .lt-tabs button{ border:1px solid var(--border); background:transparent; color:var(--muted); border-radius:9px; padding:6px 12px; font-size:11.5px; font-weight:700; cursor:pointer; font-family:inherit }
  .lt-tabs button.on{ background:var(--panel2); color:var(--text); border-color:var(--cyan) }


  /* ===== COMMAND DECK cockpit re-skin (v2) ===== */
  :root{ --rail-w:340px }
  .deckbadge{ font-family:var(--hmono); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
    color:#04121a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)); border-radius:6px; padding:5px 10px; white-space:nowrap }
  .deckcmd{ flex:1 1 auto; display:flex; align-items:center; gap:9px; max-width:560px; margin:0 auto;
    background:rgba(61,240,255,.05); border:1px solid var(--hline2); border-radius:11px; padding:9px 14px }
  .deckcmd .dico{ color:var(--hcyan); font-size:14px; line-height:1 }
  .deckcmd input{ flex:1; min-width:0; background:transparent; border:none; outline:none; color:var(--text);
    font-family:var(--hmono); font-size:13px; letter-spacing:.02em }
  .deckcmd input::placeholder{ color:var(--faint) }
  .deckrail{ position:fixed; top:var(--rail-top,57px); right:0; bottom:0; width:var(--rail-w);
    background:linear-gradient(180deg,rgba(6,12,20,.94),rgba(3,6,10,.97)); border-left:1px solid var(--hline);
    padding:16px 16px 24px; overflow-y:auto; z-index:40; display:none; flex-direction:column; gap:14px; backdrop-filter:blur(4px) }
  .deckrail .rl-eye{ font-family:var(--hmono); font-size:10.5px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--faint) }
  .deckrail .rl-eye b{ color:var(--hcyan); font-weight:700 }
  .rl-card{ background:var(--panel); border:1px solid var(--hline2); border-radius:13px; padding:14px }
  .rl-card.tg{ background:linear-gradient(160deg,rgba(255,180,61,.12),rgba(61,240,255,.05)); border-color:rgba(255,180,61,.36) }
  .rl-card h4{ font-size:13.5px; font-weight:800; color:var(--text); margin:0 0 5px }
  .rl-card p{ font-size:11.5px; color:var(--muted); line-height:1.55; margin:0 0 10px }
  .rl-chips{ display:flex; gap:6px; margin-bottom:11px }
  .rl-chips span{ font-family:var(--hmono); font-size:10px; letter-spacing:.03em; color:var(--text); border:1px solid var(--hline2); border-radius:999px; padding:3px 9px }
  .rl-btn{ display:block; width:100%; text-align:center; text-decoration:none; cursor:pointer; font-weight:800; font-size:12.5px; border-radius:9px; padding:10px; border:none; background:linear-gradient(180deg,#3df0ff,#0fa9bd); color:#04121a; font-family:inherit }
  .rl-btn.ghost{ background:transparent; border:1px solid var(--hline2); color:var(--hcyan) }
  .rl-btn.ghost:hover{ background:rgba(61,240,255,.08) }
  .sugg-list{ display:flex; flex-wrap:wrap; gap:6px; padding:2px 0 }
  /* Main Metric card */
  .mm-load{ color:var(--muted,#8a94a6); font-size:11px; padding:6px 0 }
  .mm-row{ display:flex; align-items:center; gap:9px; padding:9px 8px; margin:0 -8px; border-top:1px solid var(--border,rgba(255,255,255,.07)); border-radius:8px; cursor:pointer; transition:background .12s }
  .mm-row:first-child{ border-top:none }
  .mm-row:hover{ background:rgba(61,240,255,.06) }
  .mm-row:hover .mm-sym{ color:var(--hcyan,#3df0ff); text-decoration:underline; text-underline-offset:2px }
  .mm-sym{ font:800 14px var(--hmono,ui-monospace,monospace); color:var(--text,#dfe5ee); width:38px; flex:none; transition:color .12s }
  .mm-mid{ flex:1; min-width:0 }
  .mm-score{ font:700 12px var(--hmono,monospace); color:var(--text,#dfe5ee) }
  .mm-score b{ font-size:14px }
  .mm-d{ font-size:11px; font-family:var(--hmono,monospace); margin-left:5px }
  .mm-spark{ margin-top:3px; height:14px }
  .mm-verdict{ flex:none; font:800 12px var(--hmono,monospace); letter-spacing:.04em; padding:5px 11px; border-radius:9px; text-align:center; min-width:58px }
  /* Signal Score section */
  .ssec-summary{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:2px 0 14px }
  .ssec-pill{ font:800 12px var(--hmono,monospace); letter-spacing:.03em; border:1px solid var(--border,rgba(255,255,255,.15)); border-radius:999px; padding:4px 12px; background:transparent; cursor:pointer; transition:.14s }
  .ssec-pill:hover{ filter:brightness(1.15); box-shadow:0 0 0 1px currentColor inset }
  .ssec-pill.on{ box-shadow:0 0 0 1px currentColor inset; font-weight:900 }
  .ssec-table{ width:100%; border-collapse:collapse; font-family:var(--hmono,ui-monospace,monospace) }
  .ssec-table th{ text-align:left; font-size:10px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted,#8a94a6); padding:7px 12px; border-bottom:1px solid var(--hline,rgba(255,255,255,.12)) }
  .ssec-table td{ padding:9px 12px; border-bottom:1px solid var(--border,rgba(255,255,255,.06)); font-size:13px; white-space:nowrap }
  .ssec-table tr.clk{ cursor:pointer; transition:.12s }
  .ssec-table tr.clk:hover td{ background:rgba(61,240,255,.06) }
  .ssec-rank{ color:var(--muted,#6b7688); width:34px }
  .ssec-sym{ font-weight:800; color:var(--text,#dfe5ee) }
  .ssec-score b{ font-size:15px } .ssec-score .sub{ font-size:10px }
  .ssec-spark{ width:160px } .ssec-spark svg{ vertical-align:middle; display:inline-block }
  .ssec-d{ font-weight:700; text-align:right } .ssec-vc{ text-align:right }
  .ssec-age{ text-align:right; line-height:1.25 } .ssec-age b{ font-size:14px }
  .ssec-agesub{ font-size:10px; color:var(--muted,#8a94a6) }
  .ssec-verdict{ font:800 12px var(--hmono,monospace); letter-spacing:.04em; padding:4px 13px; border-radius:8px; display:inline-block }
  /* score-band vs 30-day-trend divergence */
  .ssec-flag{ display:inline-block; margin-top:5px; font:700 10px var(--hmono,monospace); letter-spacing:.02em; padding:2px 7px; border-radius:6px; border:1px solid transparent; white-space:nowrap }
  .ssec-flag.dist{ color:#ea3943; background:rgba(234,57,67,.12); border-color:rgba(234,57,67,.35) }
  .ssec-flag.accu{ color:#16c784; background:rgba(22,199,132,.12); border-color:rgba(22,199,132,.35) }
  .ssec-note{ background:var(--panel2,#0e1a26); border:1px solid var(--border,rgba(61,240,255,.14)); border-left:3px solid var(--hcyan,#3df0ff); border-radius:10px; padding:11px 14px; margin:2px 0 14px; font-size:12.5px; line-height:1.6; color:var(--muted,#9fb0c6) }
  .ssec-note b{ color:var(--text,#eaf2fb) }
  .ssec-note .k-dist{ color:#ea3943 } .ssec-note .k-accu{ color:#16c784 }
  .ssec-divlist{ margin-top:9px; padding-top:9px; border-top:1px solid var(--border,rgba(255,255,255,.07)); display:flex; flex-wrap:wrap; align-items:center; gap:6px }
  .ssec-divlab{ font:700 11px var(--hmono,monospace); letter-spacing:.02em; margin-right:2px }
  .ssec-divlab.dist{ color:#ea3943 } .ssec-divlab.accu{ color:#16c784 }
  .ssec-divchip{ display:inline-block; font:700 11px var(--hmono,monospace); background:var(--panel,#122231); border:1px solid var(--hline2,#22304a); border-radius:7px; padding:3px 8px; cursor:pointer; transition:.12s }
  .ssec-divchip:hover{ border-color:var(--hcyan,#3df0ff); color:var(--hcyan,#3df0ff) }
  /* ── Home — the "$1,000 today" landing ── */
  #home{ max-width:940px }
  .hm-hero{ margin:2px 0 16px }
  .hm-cap{ font-size:24px; font-weight:800; letter-spacing:-.3px; color:var(--text,#eaf2fb); line-height:1.15 }
  .hm-cap b{ color:var(--hcyan,#3df0ff) }
  .hm-sub{ color:var(--muted,#9fb0c6); font-size:13.5px; margin-top:7px; line-height:1.5; max-width:640px }
  .hm-tfrow{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 16px }
  .hm-tf{ display:flex; flex-direction:column; align-items:center; gap:1px; min-width:78px; padding:8px 12px; border-radius:11px; border:1px solid var(--border,rgba(61,240,255,.18)); background:var(--panel2,#0e1a26); color:var(--muted,#9fb0c6); cursor:pointer; transition:.14s; font-family:var(--hmono,monospace) }
  .hm-tf b{ font-size:15px; color:var(--text,#eaf2fb); letter-spacing:.02em }
  .hm-tf span{ font-size:9.5px; text-transform:uppercase; letter-spacing:.1em }
  .hm-tf:hover{ border-color:rgba(61,240,255,.5) }
  .hm-tf.on{ border-color:var(--hcyan,#3df0ff); background:rgba(61,240,255,.1) }
  .hm-tf.on b{ color:var(--hcyan,#3df0ff) }
  .hm-plan{ border:1px solid var(--border,rgba(61,240,255,.16)); border-radius:14px; overflow:hidden; background:var(--panel2,#0e1a26) }
  .hm-planhead,.hm-pick{ display:grid; grid-template-columns:34px 1fr 96px 112px 96px 60px; align-items:center; gap:10px; padding:11px 16px }
  .hm-planhead{ font:700 10px var(--hmono,monospace); letter-spacing:.09em; text-transform:uppercase; color:var(--faint,#5f7186); border-bottom:1px solid var(--border,rgba(255,255,255,.08)) }
  .hm-pick{ border-top:1px solid var(--border,rgba(255,255,255,.06)); cursor:pointer; transition:background .12s }
  .hm-pick:first-of-type{ border-top:none }
  .hm-pick:hover{ background:rgba(61,240,255,.05) }
  .hm-rank{ font:800 13px var(--hmono,monospace); color:var(--faint,#5f7186) }
  .hm-sym{ font:800 15px var(--hmono,monospace); color:var(--text,#eaf2fb) }
  .hm-score{ font-size:12px; margin-left:4px }
  .hm-alloc b,.hm-hold b{ display:block; font:800 15px var(--hmono,monospace); color:var(--text,#eaf2fb); line-height:1.2 }
  .hm-alloc span,.hm-hold span{ font-size:9.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--faint,#5f7186) }
  .hm-hold b{ color:var(--amber,#ffb43d) }
  .hm-conf{ display:flex; gap:5px }
  .hm-tfdot{ width:11px; height:11px; border-radius:50%; display:inline-block }
  .hm-tfdot.on{ box-shadow:0 0 0 2px rgba(61,240,255,.55) }
  .hm-go{ font:800 12px var(--hmono,monospace); color:#16c784; text-align:right }
  .hm-summary{ margin:13px 2px 0; font-size:14px; line-height:1.55; color:var(--text,#eaf2fb) }
  .hm-note{ margin:12px 0 0; padding:11px 14px; border-radius:10px; background:var(--panel2,#0e1a26); border:1px solid var(--border,rgba(61,240,255,.12)); font-size:11.5px; line-height:1.6; color:var(--muted,#9fb0c6) }
  .hm-more{ margin:10px 2px 0; font-size:12.5px; color:var(--muted,#9fb0c6) }
  .hm-more a{ color:var(--hcyan,#3df0ff); cursor:pointer; font-weight:700 }
  .hm-more a:hover{ text-decoration:underline }
  @media(max-width:620px){ .hm-planhead,.hm-pick{ grid-template-columns:26px 1fr 74px 88px } .hm-conf,.hm-go{ display:none } }
  /* Home simulation */
  .hm-sim{ margin-top:13px }
  .hm-simcta{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:14px 16px; border:1px dashed var(--border,rgba(61,240,255,.28)); border-radius:12px; background:rgba(61,240,255,.03); font-size:13px; color:var(--muted,#9fb0c6) }
  .hm-simcta b{ color:var(--text,#eaf2fb) }
  .hm-runbtn{ flex:none; font:800 13px var(--hmono,monospace); color:#04121a; background:linear-gradient(90deg,#3df0ff,#16c784); border:none; border-radius:10px; padding:10px 16px; cursor:pointer; transition:.14s }
  .hm-runbtn:hover{ filter:brightness(1.08) }
  .hm-runbtn.off{ background:rgba(255,255,255,.10); color:var(--muted,#9fb0c6); filter:grayscale(1) }
  .hm-gate{ margin-top:9px; font:600 11.5px var(--hmono,monospace); color:#f0b429; line-height:1.5 } .hm-gate b{ color:#f0b429 }
  .hm-simcard{ border:1px solid rgba(61,240,255,.35); border-radius:13px; overflow:hidden; background:var(--panel2,#0e1a26) }
  .hm-simcard.done{ border-color:rgba(22,199,132,.45) }
  .hm-simhead{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:13px 16px; border-bottom:1px solid var(--border,rgba(255,255,255,.07)); background:rgba(61,240,255,.04) }
  .hm-simkick{ font:700 10px var(--hmono,monospace); letter-spacing:.14em; text-transform:uppercase; color:var(--hcyan,#3df0ff) }
  .hm-simtot{ font:800 22px var(--hmono,monospace); margin-top:3px; line-height:1.1 }
  .hm-simtot span{ font-size:11px; font-weight:600; color:var(--muted,#9fb0c6); letter-spacing:.02em }
  .hm-simbtns{ display:flex; gap:7px; align-items:center }
  .hm-bell{ font:700 11.5px var(--hmono,monospace); color:#04121a; background:var(--amber,#ffb43d); border:none; border-radius:8px; padding:7px 12px; cursor:pointer; transition:.14s }
  .hm-bell:hover{ filter:brightness(1.07) }
  .hm-reset{ font:700 11.5px var(--hmono,monospace); color:var(--muted,#9fb0c6); background:transparent; border:1px solid var(--border,rgba(255,255,255,.16)); border-radius:8px; padding:7px 11px; cursor:pointer }
  .hm-reset:hover{ border-color:var(--hcyan,#3df0ff); color:var(--text,#eaf2fb) }
  .hm-legs{ padding:4px 0 }
  .hm-leg{ display:grid; grid-template-columns:1fr 96px 120px 76px; align-items:center; gap:12px; padding:9px 16px; border-top:1px solid var(--border,rgba(255,255,255,.05)) }
  .hm-leg:first-child{ border-top:none }
  .hm-legsym{ font:800 14px var(--hmono,monospace); color:var(--text,#eaf2fb) }
  .hm-legsym span{ font-size:11px; font-weight:600; color:var(--faint,#5f7186); margin-left:7px }
  .hm-legpnl{ text-align:right } .hm-legpnl b{ display:block; font:800 14px var(--hmono,monospace) }
  .hm-legpnl span{ font-size:10.5px; font-family:var(--hmono,monospace) }
  .hm-legbar{ height:6px; border-radius:4px; background:rgba(255,255,255,.07); overflow:hidden }
  .hm-legbar i{ display:block; height:100%; background:linear-gradient(90deg,#3df0ff,#16c784); transition:width .5s }
  .hm-legst{ text-align:right; font:700 10.5px var(--hmono,monospace) }
  .hm-legst .op{ color:var(--amber,#ffb43d) } .hm-legst .cl{ color:#16c784 }
  .hm-legwin{ font:600 9.5px var(--hmono,monospace); color:var(--faint,#5f7186); margin-top:3px; letter-spacing:.02em; white-space:nowrap }
  .hm-legstop{ display:inline-block; margin-top:5px; font:700 9px var(--hmono,monospace); color:var(--faint,#5f7186); background:transparent; border:1px solid var(--border,rgba(255,255,255,.16)); border-radius:6px; padding:3px 7px; cursor:pointer }
  .hm-legstop:hover{ border-color:#ea3943; color:#ff6b7a }
  .hm-simfoot{ padding:9px 16px; border-top:1px solid var(--border,rgba(255,255,255,.07)); font-size:10.5px; color:var(--faint,#5f7186) }
  @media(max-width:620px){ .hm-leg{ grid-template-columns:1fr 78px 60px } .hm-legbar{ display:none } }
  /* Active-Transfers chart modal (price + OI + on-chain flow) */
  .xfc-modal{ display:none; position:fixed; inset:0; z-index:1200; background:rgba(3,8,14,.80); backdrop-filter:blur(3px); align-items:center; justify-content:center; padding:22px }
  .xfc-modal.open{ display:flex }
  .xfc-box{ position:relative; width:100%; max-width:840px; max-height:92vh; overflow:auto; background:var(--panel,#0d1420); border:1px solid rgba(61,240,255,.32); border-radius:14px; padding:15px 16px 12px; box-shadow:0 30px 90px -20px rgba(0,0,0,.75) }
  .xfc-x{ position:absolute; top:9px; right:12px; background:transparent; border:0; color:var(--muted,#9fb0c6); font-size:16px; cursor:pointer; z-index:2 }
  .xfc-head{ font:800 13px var(--hmono,monospace); color:var(--text,#eaf2fb); letter-spacing:.03em; margin-bottom:10px } .xfc-head span{ font-weight:500; font-size:10px; color:var(--faint,#5f7186); margin-left:8px }
  .xfc-body{ min-height:220px; display:flex; align-items:center; justify-content:center }
  .xfc-img{ width:100%; height:auto; border-radius:8px; display:block }
  .xfc-load{ color:var(--muted,#9fb0c6); font-size:13px; text-align:center; line-height:1.65; padding:34px 16px }
  .xfc-prep{ color:var(--muted,#9fb0c6); font-size:13px; text-align:center; line-height:1.6; padding:40px 30px; width:100%; max-width:460px } .xfc-prep b{ color:var(--text,#eaf2fb) }
  .xfc-bar{ margin:16px 0 7px; height:9px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden }
  .xfc-bar i{ display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,#3df0ff,#16c784); transition:width .55s cubic-bezier(.3,.8,.3,1) }
  .xfc-pct{ font:700 11.5px var(--hmono,monospace); color:var(--hcyan,#3df0ff) } .xfc-pct span{ color:var(--text,#eaf2fb) }
  .xfc-upd{ font-size:10px; color:var(--faint,#5f7186); margin-top:6px; text-align:right }
  .xfc-foot{ margin-top:9px; text-align:right } .xfc-foot a{ font-size:12px; color:var(--hcyan,#3df0ff); text-decoration:none } .xfc-foot a:hover{ text-decoration:underline }
  /* Notify modal */
  .sim-modal{ position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; background:rgba(3,8,14,.72); backdrop-filter:blur(3px); padding:20px }
  .sim-mbox{ position:relative; width:100%; max-width:380px; background:var(--panel,#122231); border:1px solid rgba(61,240,255,.35); border-radius:16px; padding:22px 20px 20px; box-shadow:0 30px 80px -20px rgba(0,0,0,.7) }
  .sim-mx{ position:absolute; top:12px; right:13px; background:transparent; border:none; color:var(--muted,#9fb0c6); font-size:15px; cursor:pointer }
  .sim-mtitle{ font-size:16px; font-weight:800; color:var(--text,#eaf2fb) }
  .sim-msub{ font-size:12px; color:var(--muted,#9fb0c6); line-height:1.5; margin:7px 0 14px }
  .sim-mseg{ display:flex; gap:7px; margin-bottom:11px }
  .sim-mseg button{ flex:1; font:700 12px var(--hmono,monospace); color:var(--muted,#9fb0c6); background:var(--panel2,#0e1a26); border:1px solid var(--border,rgba(255,255,255,.14)); border-radius:9px; padding:8px; cursor:pointer; transition:.12s }
  .sim-mseg button.on{ border-color:var(--hcyan,#3df0ff); color:var(--hcyan,#3df0ff); background:rgba(61,240,255,.09) }
  .sim-minput{ width:100%; box-sizing:border-box; font:600 14px var(--hmono,monospace); color:var(--text,#eaf2fb); background:var(--panel2,#0e1a26); border:1px solid var(--border,rgba(255,255,255,.16)); border-radius:10px; padding:11px 13px; outline:none }
  .sim-minput:focus{ border-color:var(--hcyan,#3df0ff) }
  .sim-msend{ width:100%; margin-top:11px; font:800 13px var(--hmono,monospace); color:#04121a; background:linear-gradient(90deg,#3df0ff,#16c784); border:none; border-radius:10px; padding:11px; cursor:pointer; transition:.14s }
  .sim-msend:hover{ filter:brightness(1.08) }
  .sim-mmsg{ min-height:16px; margin-top:9px; font-size:11.5px; color:var(--muted,#9fb0c6); text-align:center }
  .sugg-chip{ display:inline-flex; align-items:center; gap:5px; background:var(--panel2,#141c2b); border:1px solid var(--hline2,#22304a); color:var(--text,#dfe5ee); border-radius:999px; padding:6px 11px; font:700 12px var(--hmono,inherit); cursor:pointer; transition:.14s }
  .sugg-chip:hover{ border-color:var(--hcyan,#3df0ff); background:rgba(61,240,255,.08) }
  .sugg-chip .sc-ch{ font-size:8.5px; font-weight:700; letter-spacing:.06em; color:var(--muted,#8a94a6) }
  /* Riemann section */
  .rm-search{ display:flex; gap:9px; align-items:center; margin:4px 0 10px; max-width:520px }
  .rm-search input{ flex:1; min-width:0; font:600 14px ui-monospace,Consolas,monospace; color:var(--text,#eaf2fb); background:var(--panel2,#0e1a26); border:1px solid var(--border,rgba(61,240,255,.2)); border-radius:11px; padding:10px 14px; outline:none }
  .rm-search input:focus{ border-color:var(--hcyan,#3df0ff) }
  .rm-warn{ font-size:12.5px; line-height:1.55; margin:0 0 12px; max-width:640px }
  .rm-warn.err{ color:#ffcf9e; background:rgba(234,57,67,.1); border:1px solid rgba(234,57,67,.4); border-radius:10px; padding:10px 13px }
  .rm-warn.err b{ color:#fff }
  .rm-picker{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px }
  .rm-chip{ display:inline-flex; align-items:center; gap:6px; background:var(--panel2,#141c2b); border:1px solid var(--border,#22304a); color:var(--text,#dfe5ee); border-radius:999px; padding:7px 13px; font:700 12.5px ui-monospace,Consolas,monospace; cursor:pointer; transition:.14s }
  .rm-chip:hover{ border-color:#b78cff }
  .rm-chip.on{ border-color:#b78cff; background:rgba(183,140,255,.14); color:#fff }
  .rm-dot{ width:8px; height:8px; border-radius:50%; flex:none }
  .rm-verdict{ margin-top:12px; padding:12px 14px; border-radius:11px; border:1px solid; font-size:14px; line-height:1.5; font-weight:600 }
  .rm-coil{ margin-top:16px; padding:12px 14px; border-radius:10px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09) }
  .rm-bar{ height:9px; border-radius:6px; background:rgba(255,255,255,.08); overflow:hidden }
  .rm-bar span{ display:block; height:100%; border-radius:6px; transition:width .4s ease }
  .rm-bt{ margin-top:14px; padding:11px 13px; border-radius:10px; background:rgba(183,140,255,.07); border:1px solid rgba(183,140,255,.28) }
  .rm-bt b{ color:var(--text) }
  /* Holder Behaviour card */
  .hb-verdict{ margin-top:12px; padding:12px 14px; border-radius:11px; border:1px solid; font-size:13.5px; line-height:1.55; display:flex; gap:10px; align-items:flex-start }
  .hb-verdict .hb-emo{ font-size:18px; flex:none; line-height:1.2 }
  .hb-verdict b{ color:#fff }
  .hb-axes{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:16px }
  @media(max-width:640px){ .hb-axes{ grid-template-columns:1fr } }
  .hb-axlab{ font-size:12px; color:var(--text); font-weight:600; margin-bottom:7px }
  .hb-axlab .sub{ font-weight:400; font-size:10.5px; margin-left:4px }
  .hb-bar{ height:12px; border-radius:7px; background:rgba(255,255,255,.07); overflow:hidden; position:relative }
  .hb-bar>span{ display:block; height:100%; border-radius:7px }
  .hb-bar.center{ overflow:visible }
  .hb-bar.center .hb-mid{ position:absolute; left:50%; top:-3px; bottom:-3px; width:2px; background:rgba(255,255,255,.3); transform:translateX(-1px) }
  .hb-bar.center .hb-fill{ position:absolute; top:0; bottom:0; border-radius:5px }
  .hb-ends{ display:flex; justify-content:space-between; font-size:9.5px; margin-top:5px; color:var(--muted) }
  .hb-bt{ font-family:ui-monospace,monospace; font-size:9px; font-weight:700; letter-spacing:.06em; color:#5ee0a8; background:rgba(94,224,168,.12); border:1px solid rgba(94,224,168,.4); border-radius:6px; padding:2px 7px }
  .feedrow{ display:flex; align-items:center; gap:9px; padding:9px 2px; border-top:1px solid var(--hline); cursor:pointer; font-size:12px }
  .feedrow:hover{ background:rgba(61,240,255,.05) }
  .feedrow .fsym{ font-weight:800; color:var(--text); min-width:56px }
  .feedrow .fside.long{ color:var(--green) } .feedrow .fside.short{ color:var(--red) }
  .feedrow .fnums{ margin-left:auto; font-family:var(--hmono); color:var(--muted); font-size:11px; text-align:right }
  @media(min-width:1180px){ .deckrail{ display:flex } .content{ padding-right:calc(var(--rail-w) + 24px) } }
  /* Home = full-width Watchlist Cockpit → hide the global right rail on this view only */
  @media(min-width:1180px){ body.cockpit-mode .deckrail{ display:none } body.cockpit-mode .content{ padding-right:24px } }

  /* Home = clean newcomer landing → hide the busy nav sidebar; the brand moves to the top bar; the ☰ reveals the
     full nav as an overlay drawer for anyone who wants it. */
  .tb-brand{ display:none; align-items:center; gap:9px; margin-left:2px }
  .tb-brand svg{ width:24px; height:24px; display:block }
  .tb-brand b{ font-weight:800; letter-spacing:.05em; font-size:15px; color:var(--text) }
  .tb-brand:hover{ opacity:.85; cursor:pointer }
  body.home-clean .side{ display:none }
  body.home-clean .tb-brand{ display:flex }
  body.home-clean .menu-btn{ display:inline-flex !important; align-items:center; justify-content:center }
  body.home-clean #side.open{ display:flex !important; position:fixed !important; left:0; top:0; bottom:0; width:230px; transform:none !important; z-index:130; box-shadow:0 0 44px rgba(0,0,0,.6) }
  body.home-clean #scrim.open{ display:block; z-index:120 }

  /* ===== HOME · WATCHLIST COCKPIT (institutional two-pane landing) ===== */
  .ck-sub{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
    padding:9px 14px; margin-bottom:12px; border:1px solid var(--hline); border-radius:6px;
    background:linear-gradient(180deg,rgba(9,17,24,.5),rgba(5,10,15,.4)); font-size:12px; color:var(--muted) }
  .ck-sub b{ color:var(--text); font-weight:600 }
  .ck-sub .ck-mm{ display:flex; align-items:center; gap:18px; font-family:var(--hmono); font-size:11px }
  .ck-sub .mm1{ display:flex; align-items:center; gap:7px } .ck-sub .mm1 .l{ color:var(--faint); letter-spacing:.1em }
  .ck-sub .mm1 .v{ color:var(--text) } .ck-sub .mm1 .p{ font-weight:700; font-size:9.5px; padding:1px 6px; border-radius:4px }
  .ckpt{ display:grid; grid-template-columns:288px 1fr; border:1px solid var(--hline); border-radius:6px; overflow:hidden;
    background:linear-gradient(180deg,rgba(7,14,20,.5),rgba(4,8,13,.55)) }
  @media(max-width:900px){ .ckpt{ grid-template-columns:1fr } .ck-rail{ border-right:0 !important; border-bottom:1px solid var(--hline) } }
  /* left rail */
  .ck-rail{ border-right:1px solid var(--hline); display:flex; flex-direction:column; min-width:0 }
  .ck-rhead{ display:flex; align-items:center; justify-content:space-between; padding:13px 14px 10px; border-bottom:1px solid var(--hline) }
  .ck-rhead .eye{ font-family:var(--hmono); font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--faint) }
  .ck-rhead .eye b{ color:var(--hcyan); font-weight:700 }
  .ck-rhead .cnt{ font-family:var(--hmono); font-size:10px; color:var(--faint); letter-spacing:.05em }
  .ck-tfrow{ display:flex; gap:5px; padding:9px 12px; border-bottom:1px solid var(--hline) }
  .ck-tf{ flex:1; font-family:var(--hmono); font-size:10.5px; font-weight:700; letter-spacing:.04em; color:var(--muted);
    background:transparent; border:1px solid var(--hline); border-radius:5px; padding:5px 0; cursor:pointer; transition:.12s }
  .ck-tf:hover{ color:var(--text); border-color:var(--hcyan) }
  .ck-tf.on{ color:#05141a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)); border-color:transparent }
  .ck-confrow{ display:flex; align-items:center; gap:5px; padding:0 12px 9px; border-bottom:1px solid var(--hline) }
  .ck-cflab{ font-family:var(--hmono); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); margin-right:3px }
  .ck-cf{ font-family:var(--hmono); font-size:10px; font-weight:700; color:var(--muted); background:transparent; border:1px solid var(--hline); border-radius:5px; padding:4px 10px; cursor:pointer; transition:.12s }
  .ck-cf:hover{ color:var(--text); border-color:var(--hcyan) }
  .ck-cf.on{ color:#05141a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)); border-color:transparent }
  /* Watchlist rail card (top-50 scored, moved from the removed Markets page) */
  .wl-ctrl{ display:flex; flex-direction:column; gap:5px; margin:2px 0 8px }
  .wl-tfrow,.wl-cfrow{ display:flex; gap:4px; align-items:center }
  .wl-tf{ flex:1; font-family:var(--hmono); font-size:9.5px; font-weight:700; color:var(--muted); background:transparent; border:1px solid var(--hline); border-radius:5px; padding:4px 0; cursor:pointer; text-align:center; transition:.12s }
  .wl-tf:hover,.wl-cf:hover{ color:var(--text); border-color:var(--hcyan) }
  .wl-tf.on,.wl-cf.on{ color:#05141a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)); border-color:transparent }
  .wl-cflab{ font-family:var(--hmono); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); flex:none; margin-right:2px }
  .wl-cf{ flex:none; font-family:var(--hmono); font-size:9.5px; font-weight:700; color:var(--muted); background:transparent; border:1px solid var(--hline); border-radius:5px; padding:4px 9px; cursor:pointer; transition:.12s }
  .wl-rows{ max-height:302px; overflow-y:auto; margin:0 -2px }   /* ~8 rows visible, scroll for the rest */
  .wl-row{ display:grid; grid-template-columns:42px 26px 1fr 40px; gap:5px; align-items:center; padding:6px 4px; border-top:1px solid rgba(61,240,255,.06); cursor:pointer }
  .wl-row:hover{ background:rgba(61,240,255,.05) }
  .wl-tk{ font-family:var(--hmono); font-weight:700; font-size:11.5px; color:var(--text) }
  .wl-sc{ font-family:var(--hmono); font-weight:600; font-size:11.5px }
  .wl-spk{ min-width:0; overflow:hidden; display:flex; align-items:center }
  .wl-vp{ font-family:var(--hmono); font-size:8px; font-weight:700; text-align:center; border-radius:4px; padding:2px 0; justify-self:end; width:38px }
  .ck-cols{ display:grid; grid-template-columns:48px 28px 1fr 44px; gap:6px; padding:7px 14px; border-bottom:1px solid var(--hline);
    font-family:var(--hmono); font-size:9px; font-weight:700; letter-spacing:.1em; color:var(--faint); text-transform:uppercase }
  .ck-cols .r{ text-align:right }
  .ck-rows{ overflow-y:auto; max-height:min(70vh,760px) }
  .ck-row{ display:grid; grid-template-columns:48px 28px 1fr 44px; gap:6px; align-items:center; padding:9px 14px;
    border-bottom:1px solid rgba(61,240,255,.06); cursor:pointer; position:relative; transition:background .12s }
  .ck-row:hover{ background:rgba(61,240,255,.05) }
  .ck-row.sel{ background:linear-gradient(90deg,rgba(61,240,255,.13),rgba(61,240,255,.01)) }
  .ck-row.sel::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--hcyan),var(--hamber)) }
  .ck-row .tk{ font-family:var(--hmono); font-weight:700; font-size:12.5px; letter-spacing:.02em; color:var(--text) }
  .ck-row.sel .tk{ color:var(--hcyan) }
  .ck-row .sc{ font-family:var(--hmono); font-weight:600; font-size:12.5px }
  .ck-row .spk{ min-width:0; overflow:hidden; display:flex; align-items:center }
  .ck-vp{ font-family:var(--hmono); font-size:8.5px; font-weight:700; letter-spacing:.03em; text-align:center; border-radius:4px; padding:3px 0; justify-self:end; width:42px }
  .ck-rfoot{ padding:11px 14px; border-top:1px solid var(--hline); font-size:10.5px; color:var(--faint); line-height:1.5 }
  /* right focus pane */
  .ck-focus{ padding:18px 20px; display:flex; flex-direction:column; gap:14px; min-width:0 }
  .ckf-tick{ position:relative }
  .ckf-tick::before,.ckf-tick::after{ content:""; position:absolute; width:10px; height:10px; pointer-events:none }
  .ckf-tick::before{ top:-1px; left:-1px; border-top:1.5px solid var(--hcyan); border-left:1.5px solid var(--hcyan) }
  .ckf-tick::after{ bottom:-1px; right:-1px; border-bottom:1.5px solid var(--hcyan); border-right:1.5px solid var(--hcyan) }
  .ckf-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap;
    padding:16px 18px; background:linear-gradient(180deg,rgba(9,17,24,.6),rgba(5,10,15,.5)); border:1px solid var(--hline); border-radius:6px }
  .ckf-hl{ display:flex; flex-direction:column; gap:9px; min-width:0 }
  .ckf-tkrow{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap }
  .ckf-big{ font-family:var(--hmono); font-size:30px; font-weight:700; letter-spacing:.03em; color:var(--text); line-height:1 }
  .ckf-band{ font-family:var(--hmono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase }
  .ckf-px{ font-family:var(--hmono); font-size:14px; color:var(--muted) } .ckf-px b{ color:var(--text); font-weight:600 }
  .ckf-vwrap{ display:flex; align-items:center; gap:9px; flex-wrap:wrap }
  .ckf-vbadge{ display:inline-flex; align-items:center; gap:7px; font-family:var(--hmono); font-size:11px; font-weight:700; letter-spacing:.04em;
    border:1px solid var(--hline); border-radius:6px; padding:6px 11px }
  .ckf-vbadge .vw{ font-size:12px } .ckf-vbadge .vs{ color:var(--muted); font-weight:500; font-size:10.5px }
  .ckf-hr{ display:flex; flex-direction:column; align-items:flex-end; gap:8px; text-align:right }
  .ckf-scorebox{ display:flex; align-items:baseline; gap:5px }
  .ckf-scorebox .n{ font-family:var(--hmono); font-size:42px; font-weight:700; line-height:1 }
  .ckf-scorebox .d{ font-family:var(--hmono); font-size:14px; color:var(--faint) }
  .ckf-30{ font-family:var(--hmono); font-size:11.5px; font-weight:700; letter-spacing:.04em }
  .ckf-open{ margin-top:2px; display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
    font-family:var(--hmono); font-size:12px; font-weight:700; letter-spacing:.03em; color:#05141a;
    background:linear-gradient(90deg,var(--hcyan),var(--hamber)); border:0; border-radius:7px; padding:9px 16px;
    box-shadow:0 0 20px -6px rgba(61,240,255,.5) }
  .ckf-open:hover{ filter:brightness(1.06) }
  .ckf-grid{ display:grid; grid-template-columns:1fr 1.35fr 1.1fr; gap:12px }
  @media(max-width:1080px){ .ckf-grid{ grid-template-columns:1fr } }
  .ckf-card{ background:linear-gradient(180deg,rgba(7,14,20,.6),rgba(4,8,13,.55)); border:1px solid var(--hline); border-radius:6px; padding:14px 15px; display:flex; flex-direction:column; gap:11px }
  .ckf-cttl{ display:flex; align-items:center; justify-content:space-between; font-family:var(--hmono); font-size:9.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--faint) }
  .ckf-cttl b{ color:var(--hcyan) }
  /* gauge */
  .ckf-gauge{ display:flex; flex-direction:column; gap:9px; margin-top:6px }
  .ckf-gtrack{ position:relative; height:9px; border-radius:5px; background:linear-gradient(90deg,#ea3943,#f0b429 52%,#16c784) }
  .ckf-gmk{ position:absolute; top:50%; width:15px; height:15px; border-radius:50%; background:#0a121a; border:2.5px solid; transform:translate(-50%,-50%); box-shadow:0 0 10px -1px currentColor }
  .ckf-gscale{ display:flex; justify-content:space-between; font-family:var(--hmono); font-size:9px; color:var(--faint); letter-spacing:.04em }
  .ckf-gword{ font-family:var(--hmono); font-size:22px; font-weight:700; text-align:center; letter-spacing:.06em }
  /* composite read */
  .ckf-cl{ display:flex; align-items:center; justify-content:space-between; gap:10px; font-family:var(--hmono); font-size:11.5px }
  .ckf-cl .k{ color:var(--muted) } .ckf-cl .v{ color:var(--text); font-weight:600; text-align:right }
  .ckf-flag{ font-family:var(--hmono); font-size:10.5px; line-height:1.45; color:var(--muted); border-left:2px solid var(--hamber); padding:2px 0 2px 9px }
  .ckf-conf{ display:flex; align-items:center; gap:7px } .ckf-cdot{ width:9px; height:9px; border-radius:50%; box-shadow:0 0 6px -1px currentColor }
  .ckf-conf .cl2{ font-family:var(--hmono); font-size:9px; color:var(--faint); letter-spacing:.06em }
  /* engine strip */
  .ckf-eng{ background:linear-gradient(180deg,rgba(7,14,20,.6),rgba(4,8,13,.55)); border:1px solid var(--hline); border-radius:6px; padding:13px 15px; display:flex; flex-direction:column; gap:11px }
  .ckf-eg{ display:grid; grid-template-columns:repeat(8,1fr); gap:8px }
  @media(max-width:1080px){ .ckf-eg{ grid-template-columns:repeat(4,1fr) } }
  .ckf-e{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:11px 4px; border:1px solid var(--hline); border-radius:7px;
    background:rgba(61,240,255,.02); cursor:pointer; transition:.12s }
  .ckf-e:hover{ border-color:var(--hcyan); background:rgba(61,240,255,.07); transform:translateY(-1px) }
  .ckf-e .ei{ font-size:15px; line-height:1 } .ckf-e .el{ font-family:var(--hmono); font-size:9px; font-weight:600; letter-spacing:.02em; color:var(--muted); text-align:center }
  .ckf-e:hover .el{ color:var(--text) }
  /* bottom: paper + tg */
  .ckf-bottom{ display:grid; grid-template-columns:1fr 340px; gap:12px }
  @media(max-width:1080px){ .ckf-bottom{ grid-template-columns:1fr } }
  .ckf-paper{ background:linear-gradient(180deg,rgba(9,17,24,.6),rgba(5,10,15,.5)); border:1px solid var(--hline); border-radius:6px; padding:14px 16px; display:flex; flex-direction:column; gap:10px }
  .ckf-ph{ display:flex; align-items:center; justify-content:space-between }
  .ckf-ptag{ font-family:var(--hmono); font-size:8.5px; font-weight:700; letter-spacing:.16em; color:var(--hamber); border:1px solid rgba(255,180,61,.4); border-radius:4px; padding:3px 8px }
  .ckf-psub{ font-size:12px; color:var(--muted); line-height:1.5 }
  .ckf-plink{ align-self:flex-start; font-family:var(--hmono); font-size:11.5px; font-weight:700; color:var(--hcyan); cursor:pointer }
  .ckf-tg{ background:linear-gradient(160deg,rgba(61,240,255,.1),rgba(255,180,61,.05)); border:1px solid var(--hline); border-radius:6px; padding:16px; display:flex; flex-direction:column; gap:11px; justify-content:center }
  .ckf-tgh{ display:flex; align-items:center; gap:9px; font-size:14px; font-weight:700; color:var(--text) }
  .ckf-tgsub{ font-size:11.5px; color:var(--muted); line-height:1.5 } .ckf-tgsub b{ color:var(--hcyan); font-weight:600 }
  .ckf-tgbtn{ display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; height:42px; border-radius:7px;
    background:linear-gradient(90deg,var(--hcyan),var(--hamber)); color:#05141a; font-weight:700; font-size:13px; box-shadow:0 0 20px -6px rgba(61,240,255,.4) }
  .ckf-disc{ text-align:center; font-family:var(--hmono); font-size:9.5px; color:var(--faint); letter-spacing:.06em; padding:2px 0 4px }

  /* ===== HOME · WELCOME — plain-language landing for a brand-new crypto visitor ===== */
  body.home-clean #home{ width:100%; max-width:none; align-self:stretch }  /* override the #home{max-width:940} cap → let the welcome span full-width (it self-centers) */
  #welcomeBody{ display:flex; flex-direction:column; align-items:center }   /* bulletproof centering on the full-width home */
  .wc{ width:100%; max-width:1080px; margin:0 auto; padding:0 4px 24px }
  .wc-hero{ text-align:center; padding:12px 12px 4px }
  .wc-eyebrow{ font-family:var(--hmono); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--hcyan); margin-bottom:9px }
  .wc-hero h1{ font-size:clamp(26px,4.4vw,39px); line-height:1.1; font-weight:800; letter-spacing:-.6px; margin:0 0 11px; color:var(--text) }
  .wc-hero h1 .hl{ background:linear-gradient(90deg,var(--hcyan),var(--hamber)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent }
  .wc-lead{ font-size:15.5px; line-height:1.55; color:var(--muted); max-width:600px; margin:0 auto 16px }
  .wc-lead b{ color:var(--text); font-weight:600 }
  @media(max-width:620px){ .wc-hero h1{ font-size:29px } .wc-lead{ font-size:15px } }
  .wc-search{ display:flex; gap:10px; max-width:560px; margin:0 auto 15px }
  .wc-search input{ flex:1; height:54px; border-radius:12px; border:1.5px solid var(--hline2); background:rgba(9,17,24,.72); color:var(--text); font-size:16px; padding:0 18px; outline:none; transition:.15s }
  .wc-search input::placeholder{ color:var(--faint) }
  .wc-search input:focus{ border-color:var(--hcyan); box-shadow:0 0 0 3px rgba(61,240,255,.13) }
  .wc-search button{ height:54px; padding:0 22px; border:0; border-radius:12px; cursor:pointer; font-size:15.5px; font-weight:700; color:#05141a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)); box-shadow:0 0 22px -6px rgba(61,240,255,.5); white-space:nowrap }
  .wc-search button:hover{ filter:brightness(1.06) }
  .wc-chips{ font-size:13.5px; color:var(--faint); display:flex; gap:8px; align-items:center; justify-content:center; flex-wrap:wrap }
  .wc-chip{ cursor:pointer; font-size:14px; font-weight:600; color:var(--text); background:rgba(61,240,255,.06); border:1px solid var(--hline); border-radius:999px; padding:7px 15px; transition:.14s }
  .wc-chip:hover{ border-color:var(--hcyan); background:rgba(61,240,255,.12) }
  /* answer card */
  .wc-ans{ margin:24px auto 8px; max-width:620px; border:1px solid var(--hline2); border-radius:16px; padding:22px 24px; background:linear-gradient(180deg,rgba(11,20,29,.9),rgba(6,11,16,.85)); position:relative }
  .wc-ans .demo{ position:absolute; top:-11px; left:20px; font-family:var(--hmono); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); background:#0a121a; padding:2px 9px; border:1px solid var(--hline); border-radius:6px }
  .wc-ans-top{ display:flex; align-items:center; gap:12px; margin-bottom:13px; flex-wrap:wrap }
  .wc-ans-coin{ font-size:21px; font-weight:800; color:var(--text) } .wc-ans-coin span{ color:var(--faint); font-weight:600; font-size:14px }
  .wc-verd{ margin-left:auto; display:inline-flex; align-items:center; gap:9px; padding:9px 17px; border-radius:12px; font-weight:800; font-size:17px; letter-spacing:.02em }
  .wc-verd .ic{ font-size:19px }
  .wc-ans-say{ font-size:16px; line-height:1.55; color:var(--text) }
  .wc-ans-sub{ font-size:13.5px; color:var(--muted); margin-top:9px; line-height:1.5 }
  .wc-ans-btns{ display:flex; gap:10px; flex-wrap:wrap; margin-top:19px }
  .wc-ans-btns button{ cursor:pointer; font-size:14px; font-weight:600; border-radius:10px; padding:11px 17px; border:1px solid var(--hline2); background:transparent; color:var(--text); transition:.14s }
  .wc-ans-btns .prime{ border:0; color:#05141a; background:linear-gradient(90deg,var(--hcyan),var(--hamber)) }
  .wc-ans-btns button:hover{ border-color:var(--hcyan); filter:brightness(1.03) }
  .wc-ans-load{ text-align:center; color:var(--muted); font-size:15px; padding:12px }
  /* recent searches — locally-tracked coins + how they've moved since you checked */
  .wc-recent{ max-width:640px; margin:20px auto 0 }
  .wc-rec-h{ text-align:center; font-size:12.5px; color:var(--muted); margin-bottom:11px } .wc-rec-h span{ color:var(--faint) }
  .wc-rec-list{ display:flex; flex-wrap:wrap; gap:9px; justify-content:center }
  .wc-rec{ display:inline-flex; align-items:center; gap:9px; padding:7px 8px 7px 14px; border:1px solid var(--hline); border-radius:999px; background:rgba(9,17,24,.62); cursor:pointer; transition:.14s }
  .wc-rec:hover{ border-color:var(--hcyan); background:rgba(61,240,255,.06) }
  .wc-rec-sym{ font-weight:700; color:var(--text); font-size:13.5px }
  .wc-rec-v{ font-family:var(--hmono); font-size:9.5px; font-weight:700; letter-spacing:.06em }
  .wc-rec-perf{ font-family:var(--hmono); font-size:12.5px; font-weight:700; min-width:52px; text-align:right }
  .wc-rec-ago{ font-size:10.5px; color:var(--faint) }
  .wc-recx{ display:inline-flex; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%; border:0; background:rgba(255,255,255,.06); color:var(--muted); cursor:pointer; font-size:15px; line-height:1; padding:0; transition:.14s }
  .wc-recx:hover{ background:rgba(234,57,67,.22); color:#ff6b7a }
  /* how it works */
  .wc-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:20px 0 8px }
  @media(max-width:720px){ .wc-steps{ grid-template-columns:1fr } }
  .wc-step{ background:linear-gradient(180deg,rgba(9,17,24,.6),rgba(5,10,15,.5)); border:1px solid var(--hline); border-radius:14px; padding:22px 18px; text-align:center }
  .wc-step .n{ font-family:var(--hmono); font-size:11px; font-weight:700; letter-spacing:.12em; color:var(--hcyan); margin-bottom:11px }
  .wc-step .em{ font-size:30px; line-height:1; margin-bottom:12px }
  .wc-step h3{ font-size:16px; margin:0 0 8px; color:var(--text) }
  .wc-step p{ font-size:13.5px; line-height:1.55; color:var(--muted); margin:0 } .wc-step p b{ color:var(--text); font-weight:600 }
  /* reassure + advanced */
  .wc-reassure{ text-align:center; font-size:13.5px; color:var(--faint); margin:28px auto 6px; max-width:640px; line-height:1.6 }
  .wc-reassure b{ color:var(--muted) }
  .wc-adv{ text-align:center; font-size:13.5px; color:var(--faint); margin-top:16px }
  .wc-adv a{ color:var(--hcyan); cursor:pointer; font-weight:600; text-decoration:none }
  .wc-adv a:hover{ text-decoration:underline }
  /* rail card heads + connect boxes */
  .rl-cardhead{ display:flex; align-items:baseline; justify-content:space-between; margin-bottom:8px }
  .rl-cardhead h4{ margin:0 }
  .rl-sub{ font-family:var(--hmono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint) }
  .alpha-fchip{ font-family:var(--hmono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); cursor:pointer; padding:2px 7px; border-radius:20px; border:1px solid transparent; transition:.12s; user-select:none; white-space:nowrap }
  .alpha-fchip:hover{ color:var(--text) }
  .alpha-fchip.on{ color:var(--text); background:var(--panel); border-color:var(--border) }
  .sec-gate{ display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 260px) }
  .sec-gate-box{ text-align:center; max-width:340px; width:100%; padding:32px 28px; border:1px solid var(--border); border-radius:16px; background:radial-gradient(circle at 50% 18%, #0d1622, #070b12 75%) }
  .sec-gate-lock{ font-size:34px; margin-bottom:6px }
  .sec-gate-box h3{ margin:0; color:var(--text); font-size:18px }
  .sec-gate-input{ width:100%; box-sizing:border-box; padding:11px 14px; background:var(--panel); border:1px solid var(--border); border-radius:10px; color:var(--text); font-size:14px; text-align:center; letter-spacing:.2em }
  .sec-gate-input:focus{ outline:none; border-color:var(--cyan) }
  .sec-gate-btn{ width:100%; margin-top:10px }
  .sec-gate-err{ color:#ff5c7a; font-size:12px; margin-top:10px }
  .rl-connect{ margin-top:11px; padding-top:11px; border-top:1px solid var(--hline); display:flex; flex-direction:column; gap:8px }
  .rl-clabel{ font-size:11px; color:var(--muted) } .rl-clabel b{ color:var(--hcyan) }
  .rl-clabel2{ font-size:10.5px; color:var(--faint); margin-right:6px }
  .rl-segrow{ display:flex; align-items:center }
  .rl-seg{ display:inline-flex; border:1px solid var(--hline2); border-radius:8px; overflow:hidden }
  .rl-seg button{ background:transparent; border:none; color:var(--muted); font-family:inherit; font-size:10.5px; font-weight:700; padding:4px 9px; cursor:pointer }
  .rl-seg button.on{ background:linear-gradient(180deg,#3df0ff,#0fa9bd); color:#04121a }
  .rl-btn.sm{ padding:8px 10px; font-size:11.5px }
  .rl-empty{ font-size:11.5px; color:var(--faint); padding:8px 2px }
  .xfer-list,.scalp-list{ display:flex; flex-direction:column }
  .scalp-list{ max-height:272px; overflow-y:auto; overscroll-behavior:contain }
  .xfer-list{ max-height:232px; overflow-y:auto; overscroll-behavior:contain }   /* show ~7 rows, scroll for the rest (top-15) */
  .scalp-list::-webkit-scrollbar,.xfer-list::-webkit-scrollbar{ width:6px }
  .scalp-list::-webkit-scrollbar-thumb,.xfer-list::-webkit-scrollbar-thumb{ background:rgba(61,240,255,.30); border-radius:3px }
  .scalp-list::-webkit-scrollbar-track,.xfer-list::-webkit-scrollbar-track{ background:transparent }
  /* Coil OI card — OI building while price consolidates */
  .coil-list{ display:flex; flex-direction:column }
  .coil-row{ display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:8px; padding:8px 2px; border-top:1px solid var(--border,rgba(255,255,255,.06)); cursor:pointer; transition:background .12s; border-radius:6px }
  .coil-row:first-child{ border-top:none }
  .coil-row:hover{ background:rgba(61,240,255,.06) }
  .coil-sym{ font:800 13px var(--hmono,ui-monospace,monospace); color:var(--text,#eaf2fb) }
  .coil-oi{ font:600 11.5px var(--hmono,monospace); color:var(--muted,#9fb0c6); white-space:nowrap }
  .coil-oi b{ color:#16c784; font-weight:800 }
  .coil-px{ font:600 10.5px var(--hmono,monospace); color:var(--amber,#ffb43d); white-space:nowrap; min-width:56px; text-align:right }
  .coil-empty{ font-size:11px; color:var(--muted,#8a94a6); line-height:1.5; padding:6px 0 }
  .np-card{ padding:14px 15px }
  .np-chips{ display:flex; flex-wrap:wrap; gap:6px }
  .np-chip{ font-size:10.5px; font-family:var(--hmono); background:rgba(61,240,255,.06); border:1px solid var(--hline); border-radius:6px; padding:3px 7px; color:var(--text); transition:border-color .2s }
  .np-chip:hover{ border-color:var(--hline2) }
  #narrPulse .np-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px }
  @media(max-width:900px){ #narrPulse .np-grid{ grid-template-columns:1fr } }
  .xfer-row{ display:flex; align-items:center; gap:9px; padding:8px 4px; border-top:1px solid var(--hline); cursor:pointer; font-size:12px; will-change:transform }
  .xfer-row:first-child{ border-top:none }
  .xfer-row:hover{ background:rgba(61,240,255,.05) }
  .xfer-row .xrank{ font-family:var(--hmono); font-size:11px; font-weight:800; color:var(--hamber); width:18px; text-align:center }
  .xfer-row .xsym{ font-weight:800; color:var(--text) }
  .xfer-row .xfreq{ margin-left:auto; font-family:var(--hmono); font-size:12px; font-weight:700; color:var(--hcyan) }
  .xfer-row .xfreqlab{ color:var(--faint); font-weight:400; font-size:9.5px; margin-left:2px }
  /* Active Transfers · unusual-activity (spike-vs-14d-norm) layout */
  .xfer-row .xspk{ font-size:11px; width:14px; text-align:center; flex:none; filter:saturate(1.2) }
  .xfer-row .xmul{ font-family:var(--hmono); font-weight:800; font-size:12px; color:var(--hamber); margin-left:2px }
  .xfer-row .xcnt{ font-family:var(--hmono); font-size:10.5px; font-weight:600; color:var(--hcyan) }
  .xfer-row .xwhale{ font-size:11px; margin-left:1px; flex:none }
  .xfer-row .xbase{ margin-left:auto; font-size:9px; color:var(--faint); white-space:nowrap; letter-spacing:.02em }
  .scalp-row{ display:flex; align-items:center; gap:9px; padding:8px 4px; border-top:1px solid var(--hline); cursor:pointer; font-size:12px; will-change:transform }
  .scalp-row:first-child{ border-top:none }
  .scalp-row:hover{ background:rgba(61,240,255,.05) }
  .scalp-row .ssym{ font-weight:800; color:var(--text); min-width:52px }
  .scalp-row .spx{ font-family:var(--hmono); color:var(--text); font-size:11.5px; padding:1px 3px; border-radius:4px }
  .scalp-row .sup{ margin-left:auto; font-family:var(--hmono); font-size:11.5px; font-weight:700 }
  .scalp-row .sup.pos{ color:var(--green) } .scalp-row .sup.neg{ color:var(--red) }
  #scalpLiveDot{ color:var(--green) }
  @keyframes rlblink{ 0%{ background:rgba(61,240,255,.34) } 100%{ background:transparent } }
  .blink{ animation:rlblink .9s ease-out }


/* mandatory sign-in gate — glossy blurred landing */
.authmodal{ backdrop-filter:blur(10px) saturate(120%) !important; -webkit-backdrop-filter:blur(10px) saturate(120%) !important }
:root:not(.light) .authmodal{ background:radial-gradient(120% 90% at 50% 22%, rgba(14,26,40,.50), rgba(2,6,10,.84)) !important; z-index:95 !important }
.authmodal::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(61,240,255,.06), transparent 38%) }
body.gated{ overflow:hidden }
.authcard{ box-shadow:0 0 90px -12px rgba(61,240,255,.40), 0 30px 90px -22px rgba(0,0,0,.92) !important }


        .decflow{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin:2px 0 10px}
        .decstep{font:inherit;font-size:12px;background:var(--panel2);color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:6px 11px;cursor:pointer;white-space:nowrap;transition:.12s}
        .decstep:hover{color:var(--text)}
        .decstep.on{color:var(--text);border-color:#3df0ff;box-shadow:0 0 0 1px rgba(61,240,255,.25)}
        .decstep.visited::before{content:"✓ ";color:#16c784}
        .decstep.decfinal{background:linear-gradient(90deg,rgba(61,240,255,.14),rgba(123,108,255,.14));border-color:rgba(123,108,255,.5);color:var(--text);font-weight:600}
        .decarrow{color:#4a5568;font-size:11px}
        /* ── Signal Score gauge (the big objective number) ── */
        .ss-card{position:relative;overflow:hidden;margin-bottom:16px;padding:18px 20px 16px}
        .ss-card.ss-buy{border-color:rgba(22,199,132,.4);box-shadow:0 0 0 1px rgba(22,199,132,.12),0 8px 30px -14px rgba(22,199,132,.4)}
        .ss-card.ss-sell{border-color:rgba(234,57,67,.4);box-shadow:0 0 0 1px rgba(234,57,67,.12),0 8px 30px -14px rgba(234,57,67,.4)}
        .ss-card.ss-neutral{border-color:rgba(240,180,11,.32)}
        .ss-load{color:var(--muted);font-size:13px;padding:8px 0}
        .ss-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
        .ss-kick{font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
        .ss-kick b{color:var(--text)}
        .ss-meta{font-size:11px;color:var(--muted)}.ss-bt{color:#16c784;font-weight:600}
        .ss-main{display:flex;align-items:center;gap:22px;margin:12px 0 14px}
        .ss-numwrap{display:flex;align-items:baseline;gap:4px;flex:none}
        .ss-num{font-size:66px;font-weight:800;line-height:.9;letter-spacing:-2px;font-family:ui-monospace,Consolas,monospace}
        .ss-numsub{font-size:15px;color:var(--muted);font-weight:600}
        .ss-side{flex:1;min-width:180px}
        .ss-label{font-size:23px;font-weight:800;letter-spacing:.5px;line-height:1.1}
        .ss-head{font-size:13.5px;color:var(--muted);line-height:1.5;margin-top:5px}
        .ss-gauge{position:relative;height:12px;border-radius:7px;background:linear-gradient(90deg,#ea3943 0%,#f0b429 50%,#16c784 100%);margin:26px 2px 0}
        .ss-marker{position:absolute;top:50%;width:3px;height:24px;background:var(--panel);border:2px solid #fff;border-radius:3px;transform:translate(-50%,-50%)}
        .ss-marker span{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-family:ui-monospace,monospace;font-size:12px;font-weight:800;color:#08121f;padding:1px 7px;border-radius:6px;white-space:nowrap}
        .ss-marker span::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:inherit}
        .ss-scale{display:flex;justify-content:space-between;font-size:10.5px;color:#6b7688;margin:9px 2px 0;font-family:ui-monospace,monospace}
        .trend-box{margin-top:14px;border-top:1px solid var(--border);padding-top:11px}
        .trend-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
        .trend-lab{font-family:ui-monospace,Consolas,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
        .trend-d{font-family:ui-monospace,monospace;font-size:12.5px;font-weight:800}
        .trend-spark{position:relative}
        .engtr-panel{margin-top:12px}
        .engtr-h{font-size:13px;font-weight:700;color:var(--text);margin-bottom:11px}.engtr-h .mut{font-weight:400;font-size:11px;color:var(--faint)}
        .engtr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:11px}
        .mtr{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:9px 11px 7px}
        .mtr-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
        .mtr-lab{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
        .mtr-d{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:800}
        .mtr-val{font-family:ui-monospace,Consolas,monospace;font-size:16px;font-weight:800;color:var(--text);margin:3px 0 5px}
        .mtr-sp{height:26px}
        .ss-drivers{margin-top:14px;border-top:1px solid var(--border);padding-top:2px}
        .ss-drivers summary{cursor:pointer;font-size:12px;color:var(--muted);padding:9px 0;list-style:none;user-select:none}
        .ss-drivers summary::-webkit-details-marker{display:none}
        .ss-drivers summary::before{content:"▸ ";color:#3df0ff}
        .ss-drivers[open] summary::before{content:"▾ "}
        .ss-drvs{display:flex;flex-direction:column;gap:2px;margin:4px 0 6px}
        @media(max-width:680px){.ss-num{font-size:52px}}
        .ss-drv{display:flex;align-items:center;gap:9px;font-size:12.5px;padding:5px 0;border-top:1px solid rgba(255,255,255,.05)}
        .ss-drv:first-child{border-top:none}
        .ss-dic{font-weight:800;flex:none;width:12px;text-align:center}
        .ss-dph{color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
        .ss-dwbar{flex:none;width:56px;height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
        .ss-dwbar span{display:block;height:100%}
        .ss-dw{flex:none;width:34px;text-align:right;font-family:ui-monospace,monospace;font-size:11px;color:var(--muted)}
        .ss-foot{font-size:11px;color:#6b7688;line-height:1.55;margin-top:6px;border-top:1px solid var(--border);padding-top:9px}.ss-foot b{color:#9fb4c8}
        /* ── Verdict banner — one plain read (BUY / SELL / DON'T TOUCH) above everything on Overview ── */
        .tv{ display:flex; align-items:stretch; gap:0; margin:0 0 14px; border-radius:14px; overflow:hidden; border:1px solid var(--border); background:var(--panel2,#0e1a26) }
        .tv-main{ flex:none; width:186px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:16px 12px; text-align:center; color:#fff }
        .tv-word{ font:800 24px var(--hmono,ui-monospace,monospace); letter-spacing:.02em; line-height:1.05 }
        .tv-ico{ font-size:20px; line-height:1 }
        .tv-sub{ font:700 9.5px var(--hmono,monospace); letter-spacing:.18em; text-transform:uppercase; opacity:.82 }
        .tv-body{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:11px; padding:13px 16px }
        .tv-reason{ font-size:13.5px; line-height:1.5; color:var(--text,#eaf2fb) } .tv-reason b{ font-weight:800 }
        .tv-chips{ display:flex; flex-wrap:wrap; gap:7px }
        .tv-chip{ display:inline-flex; align-items:center; gap:6px; font:700 11px var(--hmono,monospace); border:1px solid var(--border,rgba(255,255,255,.14)); border-radius:999px; padding:4px 11px; cursor:pointer; transition:.12s; color:var(--muted,#9fb0c6); background:var(--panel,#122231) }
        .tv-chip:hover{ border-color:var(--hcyan,#3df0ff) }
        .tv-chip .d{ width:8px; height:8px; border-radius:50%; flex:none }
        .tv-chip .lb{ color:var(--text,#eaf2fb) } .tv-chip .vv{ font-weight:800 }
        .tv-chip.done{ border-color:rgba(22,199,132,.5); background:rgba(22,199,132,.08) }   /* check finished */
        .tv-chip.done .ck{ color:#16c784; font-weight:900; font-size:12px; line-height:1; flex:none }
        .tv.buy .tv-main{ background:linear-gradient(135deg,#12a866,#16c784) } .tv.buy{ border-color:rgba(22,199,132,.5) }
        .tv.sell .tv-main{ background:linear-gradient(135deg,#c62f3a,#ea3943) } .tv.sell{ border-color:rgba(234,57,67,.5) }
        .tv.avoid .tv-main{ background:linear-gradient(135deg,#3a4658,#55627a) } .tv.avoid{ border-color:var(--border) }
        .tv.avoid.danger .tv-main{ background:linear-gradient(135deg,#7a2731,#a5333f) } .tv.avoid.danger{ border-color:rgba(234,57,67,.45) }
        @media(max-width:560px){ .tv{ flex-direction:column } .tv-main{ width:auto; flex-direction:row; gap:10px } }
        /* ── Suggested Summary (reconciles the Signal Score with the on-chain flow) ── */
        .ovsug{display:flex;gap:12px;align-items:flex-start;margin:-4px 0 16px;padding:12px 15px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.02);font-size:13px;line-height:1.5}
        .ovsug-ic{font-size:17px;flex:none;line-height:1.35}
        .ovsug-kick{display:block;font-family:ui-monospace,Consolas,monospace;font-size:9.5px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-bottom:3px}
        .ovsug-body{color:var(--muted)}.ovsug-body b{color:var(--text)}
        .ovsug-link{color:#3df0ff;cursor:pointer;white-space:nowrap;font-weight:600}
        .ovsug-link:hover{text-decoration:underline}
        .ovsug-go{border-color:rgba(22,199,132,.42);background:rgba(22,199,132,.06)}
        .ovsug-avoid{border-color:rgba(234,57,67,.42);background:rgba(234,57,67,.06)}
        .ovsug-warn{border-color:rgba(240,180,41,.44);background:rgba(240,180,41,.07)}
        .ovsug-watch{border-color:rgba(61,240,255,.36);background:rgba(61,240,255,.05)}
        .ovsug-neutral{border-color:var(--border)}
        /* ── Verify round-trip: jump-back pill shown on the tab you verified INTO ── */
        #verifyBack{margin:2px 0 12px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}
        .verify-back{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid rgba(61,240,255,.45);background:rgba(61,240,255,.1);color:#3df0ff;font-size:12.5px;font-weight:700;cursor:pointer;font-family:inherit;transition:.12s}
        .verify-back:hover{background:rgba(61,240,255,.2)}
        .verify-back.done{border-color:rgba(34,197,94,.6);background:rgba(34,197,94,.16);color:#34d399;animation:vbdone 1.4s ease-in-out 2}
        .verify-back.done:hover{background:rgba(34,197,94,.28)}
        @keyframes vbdone{0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}50%{box-shadow:0 0 16px -2px rgba(34,197,94,.7)}}
        .verify-hint{margin-left:10px;font-size:11px;color:var(--muted)}
        /* ── Objective CEX Flow score (accumulation ↔ distribution as a 0–100 value) ── */
        .ovflow{text-align:left}
        .ovflow-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
        .ovflow-kick{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
        .ovflow-num{font-family:ui-monospace,Consolas,monospace;font-size:31px;font-weight:800;line-height:1;letter-spacing:-1px}
        .ovflow-den{font-size:14px;color:var(--muted);font-weight:600;letter-spacing:0}
        .ovflow-lab{font-size:15px;font-weight:800;margin-top:3px}
        .ovflow-gauge{position:relative;height:9px;border-radius:6px;margin:20px 2px 0;background:linear-gradient(90deg,#fb7185 0%,#c9a227 50%,#22c55e 100%)}
        .ovflow-mark{position:absolute;top:50%;width:3px;height:19px;background:var(--panel);border:2px solid #fff;border-radius:3px;transform:translate(-50%,-50%)}
        .ovflow-mark span{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);font-family:ui-monospace,monospace;font-size:10.5px;font-weight:800;color:#08121f;padding:1px 6px;border-radius:5px}
        .ovflow-scale{display:flex;justify-content:space-between;font-size:10px;color:#6b7688;margin-top:8px;font-family:ui-monospace,monospace}
        .ovflow-ctx{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:12px}
        .hb-spin{display:inline-block;width:13px;height:13px;flex:none;border:2px solid rgba(61,240,255,.25);border-top-color:#3df0ff;border-radius:50%;animation:hbspin .8s linear infinite}
        @keyframes hbspin{to{transform:rotate(360deg)}}
        .ovnumwrap{display:flex;align-items:baseline;justify-content:center;gap:5px}
        .ovnum-max{font-size:17px;color:var(--muted);font-weight:600;font-family:ui-monospace,Consolas,monospace}
      