:root{--bg:#0c0c0c;--surface:#111;--surface-hover:#161616;--border:#222;--border-muted:#1a1a1a;--text:#f0f0f0;--muted:#888;--subtle:#555;--accent:#4fd1c5;--accent-soft:#4fd1c51a;--fresh:#f87171;--fresh-soft:#f871711a;--phantom:#a78bfa;--phantom-soft:#a78bfa1a;--positive:#4ade80;--negative:#f87171;--warning:#fbbf24;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--header-h:3.7rem;color:var(--text);background:var(--bg);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}img{max-width:100%;display:block}.app-shell{min-height:100vh}.layout{max-width:1400px;margin:0 auto}.app-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,auto) minmax(240px,380px) minmax(0,auto);align-items:center;gap:1rem;padding:.7rem 1.25rem;display:grid;position:sticky;top:0}.brand-cluster,.brand-lockup,.header-stats,.filter-group,.summary-group,.token-main,.token-primary-line{align-items:center;display:flex}.brand-cluster{gap:1.25rem;min-width:0}.brand-lockup{gap:.55rem}.brand-mark{color:#0c0c0c;background:var(--accent);border-radius:5px;flex-shrink:0;place-items:center;width:1.6rem;height:1.6rem;font-size:.6rem;font-weight:700;display:grid}.brand-name{color:var(--text);margin:0;font-size:.9rem;font-weight:600}.header-nav{gap:.1rem;display:inline-flex}.nav-button,.filter-pill,.seen-button,.search-clear,.sort-button{color:inherit;cursor:pointer;background:0 0;border:0}.nav-button{color:var(--muted);border-radius:5px;align-items:center;gap:.45rem;padding:.4rem .7rem;font-size:.85rem;transition:background 80ms,color 80ms;display:inline-flex}.nav-button:hover,.nav-button.is-active{color:var(--text);background:var(--surface)}.nav-count{font-family:var(--font-mono);color:var(--subtle);font-size:.7rem}.header-search{border:1px solid var(--border);background:var(--surface);border-radius:5px;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;height:2.25rem;padding:0 .8rem;display:grid}.search-prefix,.search-hint{color:var(--subtle);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.72rem}.header-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:.85rem}.header-search input::placeholder{color:var(--subtle)}.search-clear{color:var(--muted);background:var(--border);border-radius:4px;padding:.2rem .45rem;font-size:.72rem}.header-stats{flex-wrap:wrap;gap:.35rem}.status-pill,.summary-pill{border:1px solid var(--border);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:4px;align-items:center;gap:.3rem;margin:0;padding:.28rem .55rem;font-size:.75rem;display:inline-flex}.status-pill.is-live{color:var(--positive);background:#4ade800f;border-color:#4ade8033}.status-pill.is-cached{color:var(--warning);background:#fbbf240f;border-color:#fbbf2433}.status-pill.is-down{color:var(--negative);background:#f871710f;border-color:#f8717133}.control-bar{top:var(--header-h);z-index:9;border-bottom:1px solid var(--border);background:var(--bg);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem 1.5rem;padding:.8rem 1.25rem;display:grid;position:sticky}.control-bar-filters{flex-direction:column;gap:0;min-width:0;display:flex}.filter-lane{flex-wrap:wrap;align-items:flex-start;gap:.65rem 1.5rem;padding:.6rem 0;display:flex}.filter-lane+.filter-lane{border-top:1px solid var(--border-muted)}.filter-lane-title{letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);-webkit-user-select:none;user-select:none;flex-shrink:0;width:4.5rem;padding-top:.32rem;font-size:.65rem;font-weight:600}.control-bar-meta{top:var(--header-h);border-left:1px solid var(--border-muted);flex-direction:column;align-self:start;align-items:flex-end;gap:.75rem;min-width:18rem;padding-left:1rem;display:flex;position:sticky}.filter-group{flex-wrap:wrap;align-items:center;gap:.28rem;min-width:0;display:flex}.control-actions{justify-content:flex-end;gap:.45rem}.summary-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;margin-left:0;display:flex}.filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);margin-right:.3rem;font-size:.7rem}.filter-pill{color:var(--muted);border:1px solid #0000;border-radius:4px;align-items:center;padding:.28rem .6rem;font-size:.8rem;transition:background 80ms,color 80ms,border-color 80ms;display:inline-flex}.filter-pill:hover,.filter-pill.is-active{color:var(--text);background:var(--surface);border-color:var(--border)}.filter-pill-toggle.is-active{color:var(--accent);background:var(--accent-soft);border-color:#4fd1c52e}.summary-pill-marked{color:var(--accent)}.summary-pill-fresh{color:var(--positive)}.strategy-shell{flex-direction:column;display:flex}.farm-bar{top:var(--header-h);z-index:8;border-bottom:1px solid var(--border);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;display:flex;position:sticky}.farm-bar-left{flex-wrap:wrap;align-items:center;gap:.85rem;min-width:0;display:flex}.farm-bar-label{letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);flex-shrink:0;font-size:.68rem;font-weight:600}.farm-stats{justify-content:flex-start}.farm-tabs{flex-shrink:0;gap:.2rem;display:flex}.farm-tab{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.8rem;transition:background 80ms,color 80ms,border-color 80ms;display:inline-flex}.farm-tab:hover{color:var(--text);background:var(--surface);border-color:var(--border)}.farm-tab.is-active{color:var(--accent);background:#4fd1c512;border-color:#4fd1c538}.farm-tab-count{color:var(--subtle);background:#ffffff0d;border-radius:999px;padding:.08rem .35rem;font-size:.7rem}.farm-tab.is-active .farm-tab-count{background:var(--accent-soft);color:var(--accent)}.farm-table-wrap{overflow-x:auto}.farm-table{border-collapse:collapse;width:100%;font-size:.84rem}.farm-table thead th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);border-bottom:1px solid var(--border);white-space:nowrap;padding:.6rem 1rem;font-size:.68rem;font-weight:600}.farm-table thead th.num-col,.farm-table tbody td.num-col{text-align:right}.farm-table tbody tr{border-bottom:1px solid var(--border-muted);transition:background 80ms}.farm-table tbody tr:hover{background:var(--surface)}.farm-table tbody td{color:var(--text);vertical-align:middle;white-space:nowrap;padding:.65rem 1rem}.farm-token-cell{align-items:center;gap:.45rem;min-width:0;display:flex}.farm-token-cell strong{white-space:nowrap}.farm-token-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:14rem;font-size:.82rem;overflow:hidden}.farm-muted{color:var(--muted)}.farm-stale-badge{color:var(--warning);background:#fbbf241a;border:1px solid #fbbf2433;border-radius:999px;padding:.1rem .35rem;font-size:.68rem}.farm-multiple{font-variant-numeric:tabular-nums}.farm-multiple.is-positive{color:var(--positive)}.farm-multiple.is-negative{color:var(--negative)}.strategy-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:.85rem;padding:1rem 1.25rem;display:grid}.strategy-card{background:var(--surface);border:1px solid #ffffff12;border-radius:8px;flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.strategy-card-header,.strategy-card-section-header,.strategy-intent-row,.strategy-intent-token-row,.strategy-intent-stats{align-items:center;display:flex}.strategy-card-header,.strategy-card-section-header,.strategy-intent-row{justify-content:space-between;gap:.75rem}.strategy-card-header{padding:.85rem 1rem}.strategy-card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin:0 0 .2rem;font-size:.67rem}.strategy-card-title{color:var(--text);margin:0;font-size:.875rem;font-weight:600}.strategy-card-score{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.08rem;display:flex}.strategy-card-score strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.strategy-card-score span,.strategy-card-section-meta,.strategy-empty-copy,.strategy-intent-name,.strategy-mini-metric{color:var(--muted)}.strategy-card-score span,.strategy-card-section-meta,.strategy-mini-metric{font-size:.7rem}.strategy-rule-label{letter-spacing:.09em;text-transform:uppercase;color:var(--subtle);font-size:.67rem;font-weight:600}.strategy-stat-row{border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:1.5rem;padding:.6rem 1rem;display:flex}.strategy-stat{font-variant-numeric:tabular-nums;color:var(--text);flex-direction:column;gap:.18rem;font-size:.83rem;display:flex}.strategy-stat-label{letter-spacing:.09em;text-transform:uppercase;color:var(--subtle);font-size:.63rem}.strategy-entry-filters{border-top:1px solid #ffffff0d;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.55rem 1rem;display:flex}.strategy-entry-chip{border:1px solid var(--border-muted);color:var(--subtle);background:0 0;border-radius:4px;align-items:center;padding:.12rem .4rem;font-size:.68rem;display:inline-flex}.strategy-entry-chip.is-signal{color:var(--accent);background:#4fd1c514;border-color:#4fd1c540}.strategy-card-section{border-top:1px solid #ffffff0d;flex-direction:column;gap:.4rem;padding:.6rem 1rem;display:flex}.strategy-target-list{flex-wrap:wrap;gap:.3rem;display:flex}.strategy-target-pill,.confidence-pill{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:4px;align-items:center;padding:.16rem .42rem;font-size:.69rem;display:inline-flex}.strategy-target-pill.is-enabled,.confidence-pill{color:var(--accent);background:#4fd1c512;border-color:#4fd1c538}.strategy-empty-copy{margin:0;font-size:.82rem;line-height:1.5}.strategy-intent-list{flex-direction:column;display:flex}.strategy-intent-row{padding:.45rem 0}.strategy-intent-list>.strategy-intent-row+.strategy-intent-row{border-top:1px solid #ffffff0a}.strategy-intent-copy{min-width:0}.strategy-intent-token-row{gap:.4rem}.strategy-intent-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.81rem;overflow:hidden}.strategy-intent-metrics{color:var(--subtle);margin:.2rem 0 0;font-size:.7rem;line-height:1}.strategy-intent-stats{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.28rem}.strategy-close-pill{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:4px;align-items:center;padding:.12rem .38rem;font-size:.67rem;display:inline-flex}.strategy-close-pill.is-stop_loss,.strategy-close-pill.is-stale,.strategy-close-pill.is-signal_deterioration{color:var(--warning);background:#fbbf2412;border-color:#fbbf2433}.strategy-close-pill.is-fully_exited{color:var(--positive);background:#4ade8012;border-color:#4ade8033}.strategy-empty-state{margin:0}.table-shell{overflow:hidden}.table-scroller{overflow-x:auto}.market-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1480px}.market-table thead th{z-index:1;background:var(--bg);border-bottom:1px solid var(--border);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:.6rem 1rem;font-size:.72rem;font-weight:600;position:sticky;top:0}.rank-column{text-align:center;width:52px}.token-column{width:300px}.numeric-column,.numeric-cell,.delta-cell{text-align:right}.seen-column,.seen-cell{text-align:right;background:var(--bg);box-shadow:-1px 0 0 var(--border-muted);position:sticky;right:0}.sort-button{width:100%;color:inherit;appearance:none;justify-content:flex-end;align-items:center;gap:.4rem;padding:0;display:inline-flex}.sort-button:hover,.sort-button:focus-visible,.sort-button.is-active{color:var(--text)}.sort-indicator{text-align:center;min-width:.8rem;font-family:var(--font-mono);color:var(--subtle)}.growth-cell,.prospect-cell,.ratio-cell{font-family:var(--font-mono);color:var(--muted)}.signal-dot{background:var(--border);border-radius:2px;flex-shrink:0;width:7px;height:7px;display:inline-block}.growth-cell.is-active{color:var(--accent)}.growth-cell.is-major{color:var(--positive)}.prospect-cell.is-constructive,.ratio-cell.is-active{color:var(--accent)}.prospect-cell.is-strong,.ratio-cell.is-strong{color:var(--positive)}.prospect-cell.is-overheated,.ratio-cell.is-overheated{color:var(--warning)}.signal-dot.is-prime{background:var(--positive)}.signal-dot.is-ready{background:var(--accent)}.signal-dot.is-watch{background:var(--subtle)}.signal-dot.is-cool{background:var(--warning)}.signal-dot.is-pass{background:var(--negative)}.market-table tbody td{border-bottom:1px solid var(--border-muted);font-variant-numeric:tabular-nums;padding:.8rem 1rem;font-size:.875rem}.market-table tbody tr:last-child td{border-bottom:0}.market-row{transition:background 80ms}.market-row.is-seen{background:linear-gradient(90deg,#4fd1c51a,#4fd1c509 22%,#0000 58%)}.market-row:hover,.market-row:hover .seen-cell{background:var(--surface)}.market-row.is-seen:hover{background:linear-gradient(90deg,#4fd1c524,#4fd1c50f 24%,#ffffff05)}.market-row.is-seen:hover .seen-cell{background:color-mix(in srgb, var(--accent) 5%, var(--bg))}.market-row.is-seen td:first-child{box-shadow:inset 2px 0 #4fd1c58c}.market-row.is-seen .rank-cell{color:var(--accent)}.market-row.is-new td:first-child{box-shadow:inset 2px 0 #4ade808c}.new-badge{letter-spacing:.07em;text-transform:uppercase;color:var(--positive);background:#4ade8026;border:1px solid #4ade804d;border-radius:3px;flex-shrink:0;align-items:center;padding:.1rem .38rem;font-size:.58rem;font-weight:700;display:inline-flex}.rank-cell{text-align:center;color:var(--muted);font-size:.8rem}.token-main{gap:.65rem;min-width:0}.token-icon{color:#0c0c0c;background:linear-gradient(135deg, var(--accent), var(--phantom));border-radius:50%;flex-shrink:0;place-items:center;width:1.9rem;height:1.9rem;font-size:.6rem;font-weight:700;display:grid;overflow:hidden}.token-icon img{object-fit:cover;width:100%;height:100%}.token-icon-popover{background:var(--surface);border:1px solid var(--border);pointer-events:none;z-index:9999;border-radius:18px;width:144px;height:144px;animation:.11s forwards token-popover-in;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 18px 48px #000000c7,0 0 0 1px #ffffff0f}.token-icon-popover img{object-fit:cover;width:100%;height:100%;image-rendering:high-quality}@keyframes token-popover-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 5px))scale(.85)}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))scale(1)}}.token-copy-block{min-width:0}.token-primary-line{flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0}.token-primary-line strong{color:var(--text);font-size:.875rem;font-weight:600}.token-secondary-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:9rem;margin:0;font-size:.8rem;overflow:hidden}.copy-button,.token-flag,.seen-button{white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.copy-button,.token-flag{background:0 0;flex-shrink:0;width:1.45rem;height:1.45rem;padding:0}.copy-button{border-color:var(--border);color:var(--subtle);transition:color 80ms,border-color 80ms,background 80ms}.copy-button:hover,.copy-button:focus-visible{color:var(--muted);background:var(--surface)}.copy-button.is-copied{color:var(--positive);background:#4ade800f;border-color:#4ade8033}.copy-button svg{width:.72rem;height:.72rem}.token-flag{font-family:var(--font-mono);border-color:var(--border);color:var(--subtle);font-size:.62rem;font-weight:700}.token-flag.is-jupiter{background:0 0;border-color:#0000;border-radius:4px;padding:0;overflow:hidden}.token-flag.is-phantom{background:0 0;border-color:#0000;border-radius:6px;padding:0;overflow:hidden}.token-flag img{object-fit:contain;width:100%;height:100%;display:block}.token-flag.is-fresh{color:var(--fresh);background:var(--fresh-soft);border-color:#f8717133}.token-flag.is-seen{color:var(--positive);background:#4ade800f;border-color:#4ade8033}.numeric-cell{color:var(--text)}.delta-cell.is-positive{color:var(--positive)}.delta-cell.is-negative{color:var(--negative)}.delta-cell.is-neutral{color:var(--subtle)}.seen-button{border-color:var(--border);min-width:4.8rem;color:var(--muted);background:0 0;border-radius:4px;justify-content:center;padding:.28rem .65rem;font-size:.75rem;transition:background 80ms,color 80ms,border-color 80ms}.seen-button:hover{background:var(--surface);color:var(--text)}.seen-button.is-seen{color:var(--accent);background:var(--accent-soft);border-color:#4fd1c533}.seen-check{font-family:var(--font-mono)}.state-panel{text-align:center;padding:4rem 1.25rem}.state-title{color:var(--text);margin:0;font-size:.9rem;font-weight:500}.state-copy{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.empty-cell{text-align:center;padding:3rem 1rem!important}.error-state{color:var(--negative)}@media (width<=1160px){.app-header{grid-template-columns:1fr}.header-stats{justify-content:flex-start}.control-bar{grid-template-columns:1fr}.control-bar-meta{border-left:0;border-top:1px solid var(--border-muted);align-items:flex-start;min-width:0;padding-top:.85rem;padding-left:0;position:static}.control-actions,.summary-group{justify-content:flex-start}.farm-bar{flex-direction:column;align-items:flex-start}.farm-tabs{width:100%;overflow-x:auto}}@media (width<=720px){.app-header{padding:.65rem 1rem}.control-bar{padding:.7rem 1rem}.brand-cluster{flex-direction:column;align-items:flex-start}.header-nav{width:100%}.strategy-stat-row{gap:.85rem}.strategy-grid{grid-template-columns:1fr;padding:.75rem 1rem}.control-bar-meta,.summary-group,.header-stats{width:100%}}
