:root{--bg: #0b0e11;--bg-elev: #14181d;--bg-elev-2: #1b2027;--bg-coach: #14181d;--border: #232a32;--border-soft: #1b212a;--text: #f4f6f8;--text-dim: #9aa6b4;--text-faint: #616d7c;--up: #00d26a;--up-soft: rgba(0,210,106,.14);--down: #ff5a5f;--down-soft: rgba(255,90,95,.14);--accent: var(--up);--accent-bright: #1ae07d;--accent-deep: #00a655;--accent-dim: rgba(0,210,106,.12);--accent-ring: rgba(0,210,106,.22);--buy: #00d26a;--buy-deep: #00a655;--sell: #ff5a5f;--sell-deep: #c9434a;--hold: #f5b53d;--hold-deep: #b98316;--avoid:#ff8a3d;--avoid-deep:#c2611f;--link: #4ea1ff;--shadow: 0 8px 30px rgba(0,0,0,.55);--radius: 14px;--radius-lg: 18px;--radius-pill: 999px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;font-synthesis:none}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100%;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px 20px;padding-top:calc(12px + env(safe-area-inset-top));background:#0b0e11db;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;flex:0 0 auto}.brand-mark{width:26px;height:26px;border-radius:7px;flex:0 0 26px;background:linear-gradient(150deg,var(--up),#06b27f);display:grid;place-items:center;color:#04130c;font-weight:900;font-size:14px;box-shadow:0 0 0 1px #00d26a59,0 4px 14px #00d26a40}.wordmark{font-weight:800;letter-spacing:-.4px;font-size:18px;white-space:nowrap;line-height:1.1}.wordmark .x{color:var(--up)}.tagline{font-size:10px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}@media (max-width: 560px){.tagline{display:none}}.header .spacer{flex:1}.header .pill{font-size:11px;color:var(--text-dim);white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 11px}.header .pill .beacon{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--up);margin-right:6px;vertical-align:middle}.header .pill .beacon.on{animation:beacon 1.8s ease-out infinite}.header .pill .beacon.off{background:var(--text-faint);animation:none}@keyframes beacon{0%{box-shadow:0 0 #00d26a80}70%{box-shadow:0 0 0 6px #00d26a00}to{box-shadow:0 0 #00d26a00}}.tabs{display:flex;gap:2px;overflow-x:auto;padding:4px 14px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20}.tab{flex:0 0 auto;padding:12px 14px;color:var(--text-dim);font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;background:none;border:none;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--up)}.tab .ico{display:none}.content{flex:1;padding:20px;max-width:1140px;width:100%;margin:0 auto}.grid{display:grid;gap:14px}@media (min-width: 760px){.grid.cols-2{grid-template-columns:1fr 1fr}}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card h3{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-dim);font-weight:700}.section-title{font-size:17px;font-weight:700;margin:6px 0 12px;letter-spacing:-.2px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint);font-size:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-elev-2);color:var(--text);border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--text-dim)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--up);color:#04130c;border-color:var(--up)}.btn.primary:hover{background:var(--accent-bright)}.btn.approve{background:var(--accent-dim);color:var(--buy);border-color:#00d26a66}.btn.reject{background:var(--down-soft);color:var(--sell);border-color:#ff5a5f66}.qbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;font:700 14px/1 inherit;color:#04130c;background:var(--up);border-radius:var(--radius-pill);padding:12px 22px;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,opacity .15s ease}.qbtn:hover{background:var(--accent-bright)}.qbtn:disabled{opacity:.5;cursor:not-allowed}.qbtn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 13px;font-size:15px;width:130px;text-transform:uppercase}.input:focus{outline:none;border-color:var(--up)}.search{position:relative;flex:1 1 260px;max-width:460px}.search-input{width:100%;background:var(--bg-elev-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-pill);padding:9px 14px 9px 36px;font-size:14px}.search-input:focus{outline:none;border-color:var(--up);background:var(--bg)}.search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:14px;pointer-events:none}.search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;max-height:60vh;overflow-y:auto}.search-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-soft)}.search-row:last-child{border-bottom:none}.search-row:hover,.search-row.active{background:var(--bg-elev-2)}.search-row .sym{font-weight:700;font-size:14px;min-width:64px}.search-row .nm{color:var(--text-dim);font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:6px}.tag.crypto{background:#f5b53d29;color:var(--hold)}.tag.stock{background:var(--bg-elev-2);color:var(--text-dim)}.mkt-list{display:flex;flex-direction:column}.mkt-row{display:grid;grid-template-columns:1fr 76px auto auto;align-items:center;gap:14px;padding:12px 6px;border-bottom:1px solid var(--border-soft);cursor:pointer;transition:background .12s ease}.mkt-row:last-child{border-bottom:none}.mkt-row:hover{background:var(--bg-elev-2)}.mkt-id{min-width:0}.mkt-id .sym{font-weight:700;font-size:15px;letter-spacing:-.2px}.mkt-id .nm{color:var(--text-dim);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.mkt-spark{width:76px;height:30px}.mkt-quote{text-align:right;min-width:92px}.mkt-price{font-weight:700;font-variant-numeric:tabular-nums;font-size:14.5px}.mkt-chg{font-size:12px;font-variant-numeric:tabular-nums;font-weight:600}.chg-up{color:var(--up)}.chg-down{color:var(--down)}.chg-flat{color:var(--text-dim)}.wl-x{border:none;background:none;color:var(--text-faint);cursor:pointer;font-size:16px;padding:2px 6px;border-radius:6px}.wl-x:hover{color:var(--down);background:var(--down-soft)}.badge{font-size:11px;font-weight:700;border-radius:6px;padding:3px 8px;letter-spacing:.4px}.badge.BUY{background:var(--accent-dim);color:var(--buy)}.badge.SELL{background:var(--down-soft);color:var(--sell)}.badge.HOLD,.badge.AVOID{background:#f5b53d24;color:var(--hold)}.badge.gray{background:var(--bg-elev-2);color:var(--text-dim)}.provval{display:inline-flex;align-items:baseline;gap:4px}.provval .num{font-variant-numeric:tabular-nums;font-weight:650}.provval .src{font-size:10px;color:var(--text-faint);border:1px solid var(--border);border-radius:999px;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;align-self:center}.provval .src:hover{color:var(--up);border-color:var(--up)}.provval.unavailable .num{color:var(--text-faint);font-style:italic;font-weight:500}.delayed-tag{font-size:9px;color:var(--hold);margin-left:3px}.kv{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-soft);gap:12px}.kv:last-child{border-bottom:none}.kv .k{color:var(--text-dim);font-size:13px}.big-num{font-size:34px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-1px}.feed{font-family:var(--mono);font-size:12px;max-height:240px;overflow-y:auto}.feed .line{padding:3px 0;color:var(--text-dim);border-bottom:1px solid var(--border-soft)}.feed .agent{color:var(--up)}.feed .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--up);margin-right:6px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a8;z-index:100;display:flex;align-items:flex-end;justify-content:center}@media (min-width: 600px){.modal-backdrop{align-items:center}}.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:16px 16px 0 0;width:100%;max-width:620px;max-height:85vh;overflow-y:auto;padding:18px;box-shadow:var(--shadow)}@media (min-width: 600px){.modal{border-radius:16px}}.modal h3{margin-top:0}.prov-grid{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;font-size:13px}.prov-grid .lbl{color:var(--text-dim)}.prov-grid .val{word-break:break-word}pre.raw{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;font-size:11px;color:var(--text-dim);max-height:280px}.disclaimer{font-size:11px;color:var(--text-faint);text-align:center;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg-elev)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--up);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.evidence-grid{display:grid;gap:8px}.chip{display:inline-flex;gap:6px;align-items:center;font-size:12px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:4px 8px}.prob-bar{height:8px;background:var(--bg-elev-2);border-radius:999px;overflow:hidden;margin-top:6px}.prob-bar>span{display:block;height:100%}.mini-table{width:100%;border-collapse:collapse;font-size:13px}.mini-table th{text-align:left;color:var(--text-faint);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:4px 8px;border-bottom:1px solid var(--border)}.mini-table td{padding:6px 8px;border-bottom:1px solid var(--border-soft)}.mini-table tr:last-child td{border-bottom:none}.badge.python{background:#16202e;color:var(--link)}.badge.omitted{background:#241a1a;color:var(--text-faint)}.badge.sonnet,.badge.haiku,.badge.opus{background:var(--bg-elev-2);color:var(--text-dim)}.squad-label{font-size:12px;font-weight:700;color:var(--up);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.5px}.agent-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--border-soft);align-items:flex-start}.agent-row:last-child{border-bottom:none}.agent-row .id{color:var(--text-faint);font-variant-numeric:tabular-nums;width:24px;flex:0 0 24px;font-size:12px;padding-top:1px}.agent-row .nm{font-weight:600;font-size:13px}.agent-row .cap{color:var(--text-faint);font-size:11px;font-family:var(--mono)}.pipe{display:flex;flex-direction:column;gap:2px}.pipe-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pipe-head .ttl{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim)}.pstep{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.pstep:last-child{border-bottom:none}.pdot{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--border);color:var(--text-faint);font-size:12px;font-weight:800;background:var(--bg-elev-2)}.pstep.working .pdot{border-color:var(--up);color:var(--up);animation:pulse 1.6s ease-out infinite}.pstep.done .pdot{border-color:var(--up);background:var(--up);color:#04130c}.pstep.failed .pdot{border-color:var(--hold);color:var(--hold)}.pstep.locked{opacity:.55}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-ring)}70%{box-shadow:0 0 0 8px #00d26a00}to{box-shadow:0 0 #00d26a00}}.pbody{flex:1;min-width:0}.pbody b{font-weight:700;font-size:14px}.pbody small{display:block;color:var(--text-dim);font-size:12px}.pbody .tool{font-family:var(--mono);font-size:11px;color:var(--text-faint)}.pcost{font-size:12px;color:var(--up);font-variant-numeric:tabular-nums}.qtreasure{display:flex;align-items:center;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.cring{width:120px;height:120px;flex:0 0 120px}.cring .track{stroke:var(--bg-elev-2)}.cring .fill{animation:ring-fill 1s cubic-bezier(.34,1.56,.64,1) forwards}.cring-num{font:900 28px/1 system-ui;fill:var(--text);font-variant-numeric:tabular-nums}.cring-cap{font:600 11px/1 system-ui;fill:var(--text-dim);letter-spacing:.5px}.cring-act{font:900 13px/1 system-ui;letter-spacing:.6px}@keyframes ring-fill{0%{stroke-dashoffset:326.7}}.summary-pop{font-size:13px;color:var(--text-dim)}.summary-pop b{color:var(--text)}@media (prefers-reduced-motion: reduce){.pstep.working .pdot,.cring .fill,.header .pill .beacon.on,.spinner{animation:none}}.news-hero{display:flex;align-items:center;gap:16px}.news-hero.unavailable{opacity:.95}.lean-badge{font-weight:900;font-size:22px;letter-spacing:.5px;padding:14px 18px;border-radius:14px;min-width:96px;text-align:center;line-height:1}.lean-badge.BUY{background:var(--accent-dim);color:var(--buy);box-shadow:inset 0 0 0 1px #00d26a66}.lean-badge.AVOID{background:var(--down-soft);color:var(--sell);box-shadow:inset 0 0 0 1px #ff5a5f66}.lean-badge.HOLD{background:#f5b53d24;color:var(--hold);box-shadow:inset 0 0 0 1px #f5b53d66}.lean-badge.gray{background:var(--bg-elev-2);color:var(--text-dim);font-size:15px}.lean-badge.stance{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;min-width:110px}.lean-badge.stance .stance-cap{font-size:12px;font-weight:800;letter-spacing:.6px;opacity:.9}.lean-badge.stance .stance-pct{font-size:26px;font-weight:900;line-height:1}.bs-bar{display:flex;height:22px;border-radius:8px;overflow:hidden;margin:8px 0;background:var(--bg-elev-2);font-size:11px;font-weight:800}.bs-bar .bs-buy{background:var(--accent-dim);color:var(--up);display:flex;align-items:center;padding-left:8px;min-width:0;white-space:nowrap;overflow:hidden}.bs-bar .bs-sell{background:var(--down-soft);color:var(--down);display:flex;align-items:center;justify-content:flex-end;padding-right:8px;min-width:0;white-space:nowrap;overflow:hidden}.news-hero-body{flex:1;min-width:0}.news-reason{font-weight:700;font-size:15px}.news-substats{color:var(--text-dim);font-size:13px;margin-top:3px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}.ai-badge{color:var(--up);font-weight:700;font-size:11px;border:1px solid rgba(0,210,106,.4);border-radius:999px;padding:1px 8px}.news-rationale{margin-top:12px;padding:12px 14px;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:10px;font-size:13.5px;line-height:1.5;color:var(--text)}.news-rationale .rk{font-weight:800;color:var(--up);text-transform:uppercase;font-size:11px;letter-spacing:.5px;margin-right:6px}.news-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--border-soft)}.news-row:last-child{border-bottom:none}.news-score{font-variant-numeric:tabular-nums;font-weight:700;font-size:12px;min-width:42px;padding-top:2px}.news-h{flex:1;min-width:0}.news-h a{font-size:13.5px;color:var(--text)}.news-h a:hover{color:var(--up)}.news-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:3px}.news-pub{font-size:11px;font-weight:600;color:var(--text-dim)}.news-via{font-size:11px;color:var(--text-faint)}.reltag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:5px}.reltag.direct{background:var(--accent-dim);color:var(--up)}.reltag.feed-listed{background:var(--bg-elev-2);color:var(--text-dim)}.reltag.mention{background:#f5b53d24;color:var(--hold)}.news-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.src-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border-soft)}.src-row:last-child{border-bottom:none}.src-main{min-width:0}.src-name{font-weight:600;font-size:14px;display:flex;align-items:center;gap:4px}.src-name .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-left:4px}.dot.ready,.dot.connected{background:var(--up)}.dot.needs-key{background:var(--hold)}.dot.needs-connecting{background:var(--text-faint)}.switch{position:relative;display:inline-block;width:42px;height:24px;flex:0 0 42px}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:999px;transition:background .15s}.switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:2px;top:2px;background:var(--text-dim);border-radius:50%;transition:transform .15s,background .15s}.switch input:checked+.slider{background:var(--accent-dim);border-color:var(--up)}.switch input:checked+.slider:before{transform:translate(18px);background:var(--up)}.onb-shell{min-height:100vh;background:radial-gradient(900px 500px at 50% -10%,rgba(0,210,106,.1),transparent 70%),var(--bg);display:flex;align-items:flex-start;justify-content:center;padding:5vh 18px calc(5vh + env(safe-area-inset-bottom))}.onb-wrap{width:100%;max-width:680px}.onb-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.onb-dots{display:flex;gap:7px}.onb-dot{width:22px;height:5px;border-radius:999px;background:var(--bg-elev-2);border:1px solid var(--border)}.onb-dot.on{background:var(--up);border-color:var(--up)}.onb-dot.done{background:var(--accent-deep);border-color:var(--accent-deep)}.onb-card{padding:24px}.onb-card h2{font-size:20px;letter-spacing:-.3px}.onb-list{color:var(--text-dim);line-height:1.9;margin:12px 0 0;padding-left:18px}.onb-q{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:18px 0 8px}.onb-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}
