PageSourceSearch

https://10xtraders.ai/assets/_index-Bkg_v-q_.js

js 10xtraders.ai collected 2026-10-05 11:46:16 UTC 85,757 bytes, 487 lines download raw bytes

1import{j as e,r as i}from"./jsx-runtime-ByGpHSPZ.js";import{C as Pe}from"./client-only-Cf6J2YT2.js";import{s as ue}from"./client-Dv1EI32S.js";import{A as Oe}from"./AuthDialog-Bymy1FLP.js";import{l as oe,P as xe,p as Fe}from"./logProductFunnel-BbKq2Hp3.js";import{s as he,b as Ee,r as De,c as $e}from"./signalState-Bu0EzXPq.js";import{a as Ve}from"./index-C9o8k1Jh.js";import"./index-Duyb7JZ4.js";import"./ga4-DvLib3XA.js";import"./router-DS7E4Xvv.js";const He=[{id:"market-swarming",title:"Market Intelligence",body:"Six independent trading systems continuously evaluate a professionally curated universe of liquid crypto markets every five minutes."},{id:"intel-ranked",title:"Intelligence Ranked",body:"Every directional market receives a Bias, Confluence reading and freshness timestamp so emerging agreement can be identified quickly."},{id:"you-decide",title:"Evidence Reviewed",body:"Open a Market Intelligence Profile to inspect all six methodology readings, supporting evidence, non-confirming evidence and market-state history."},{id:"trade-your-exchange",title:"Defined Execution",body:"When qualifying conditions are reached, the live strategy converts the market intelligence into execution within the same five-minute evaluation cycle."},{id:"live-revalidation",title:"Vault Monitoring",body:"Save markets to your Vault. SwarmTrade continues monitoring Bias, Confluence and underlying evidence as conditions evolve."},{id:"provable-record",title:"Forward-Tracked Outcomes",body:"Market states are recorded before subsequent outcomes are known, while completed live-strategy trades are preserved from entry through exit."}],I={"market-swarming":e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"12",cy:"12",r:"1.6"}),e.jsx("path",{d:"M12 5.5a6.5 6.5 0 1 1-6.5 6.5"}),e.jsx("path",{d:"M12 8.8a3.2 3.2 0 1 1-3.2 3.2"}),e.jsx("circle",{cx:"16.7",cy:"7.3",r:"1.1"})]}),"trade-profile":e.jsxs(e.Fragment,{children:[e.jsx("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),e.jsx("path",{d:"M9 9h6M9 12.5h6M9 16h4"})]}),authorize:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M12 3.5l6.5 2.5v5c0 4-2.8 7.2-6.5 8.5C8.3 18.2 5.5 15 5.5 11V6z"}),e.jsx("path",{d:"M9.2 11.6l2 2 3.7-4"})]}),"smart-execution":e.jsx("path",{d:"M13 3L6 13h5l-1 8 7-11h-5z"}),"managed-trade":e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M4 17l5-5 3 3 6-7"}),e.jsx("path",{d:"M14 8h4v4"})]}),"track-learn":e.jsxs(e.Fragment,{children:[e.jsx("circle",{cx:"12",cy:"12",r:"8"}),e.jsx("path",{d:"M12 12V4M12 12l7 3"})]})};I["intel-ranked"]=I["managed-trade"];I["you-decide"]=I["trade-profile"];I["trade-your-exchange"]=I["smart-execution"];I["live-revalidation"]=I.authorize;I["provable-record"]=I["track-learn"];function Ue({id:t}){return e.jsx("span",{className:"st-step-card__icon","aria-hidden":"true",children:e.jsx("svg",{viewBox:"0 0 24 24",width:"26",height:"26",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",children:I[t]??I["market-swarming"]})})}const Be=[{name:"Raw Market Data",label:"Shows what happened",tone:"red",fill:100,effort:"High",risk:"Prices, volume and market activity describe what has already occurred. The challenge is determining what deserves attention now."},{name:"Charts & Screeners",label:"Tools for analysis",tone:"yellow",fill:74,effort:"High",risk:"Powerful tools help evaluate markets, but the trader still has to select, interpret and synthesize the evidence."},{name:"Signals / Single-System Tools",label:"One perspective",tone:"yellow",fill:52,effort:"Medium",risk:"A single methodology may identify an opportunity, but provides limited independent confirmation."},{name:"SwarmTrade™",label:"Six independent perspectives",tone:"green",fill:14,effort:"Low",advantage:!0,risk:"Six methodologies continuously evaluate the same market universe, identify emerging agreement and preserve the evidence behind each market state."}];function We(){return e.jsxs("section",{className:"st-how","aria-labelledby":"st-how-title",children:[e.jsxs("div",{className:"st-how__hero",children:[e.jsx("span",{className:"st-how__eyebrow",children:"The SwarmTrade™ Engine"}),e.jsxs("h2",{id:"st-how-title",children:["How ",e.jsx("span",{children:"SwarmTrade™"})," Works"]}),e.jsx("p",{children:"From market intelligence to defined execution and transparent outcomes. Every market state remains grounded in visible system evidence."})]}),e.jsx("div",{className:"st-how__section-eyebrow",children:"From Information to Action"}),e.jsx("div",{className:"st-how__latency-grid","aria-label":"Decision effort comparison (illustrative)",children:Be.map(t=>e.jsxs("article",{className:"st-lat-card","data-tone":t.tone,children:[e.jsxs("div",{className:"st-lat-card__head",children:[e.jsx("strong",{children:t.name}),t.advantage&&e.jsx("span",{className:"st-lat-adv",children:"Advantage"})]}),e.jsx("div",{className:"st-lat-card__label",children:t.label}),e.jsxs("div",{className:"st-lat-bar",children:[e.jsxs("div",{className:"st-lat-bar__scale",children:[e.jsx("span",{children:"LOW"}),e.jsx("span",{children:"HIGH"})]}),e.jsx("div",{className:"st-lat-bar__track",children:e.jsx("div",{className:"st-lat-bar__fill",style:{width:`${t.fill}%`}})})]}),e.jsx("p",{className:"st-lat-risk",children:t.risk}),e.jsxs("p",{className:"st-lat-risk",children:[e.jsx("b",{children:"Decision effort:"})," ",t.effort]})]},t.name))}),e.jsx("p",{className:"st-how__disclaimer",children:"Illustrative workflow comparison only. Relative positioning is not a measured benchmark. No specific trading outcome is implied or guaranteed."}),e.jsx("div",{className:"st-how__section-eyebrow",children:"How It Works"}),e.jsx("p",{className:"st-how__steps-sub",children:"From market intelligence to execution and continuous monitoring in one connected workflow."}),e.jsx("div",{className:"st-how__body",children:e.jsx("div",{className:"st-how__steps",children:He.map(t=>e.jsxs("article",{className:"st-step-card","data-step":t.id,children:[e.jsx(Ue,{id:t.id}),e.jsxs("div",{className:"st-step-card__text",children:[e.jsx("h4",{children:t.title}),e.jsx("p",{children:t.body})]})]},t.id))})}),e.jsxs("div",{className:"st-how__cta",children:[e.jsxs("div",{children:[e.jsx("h3",{children:"Built for traders who value evidence over noise."}),e.jsx("p",{children:"Live market intelligence, transparent six-system evidence and a complete record of live-strategy outcomes—in one connected platform."})]}),e.jsx("a",{href:"/swarmtrade",className:"srp-btn srp-btn-primary",onClick:()=>{oe({name:"swarm_cta_clicked",surface:"swarm_home",props:{cta:xe.LIVE_RADAR}})},children:"Open Live Radar →"})]})]})}function fe(t){switch(String(t||"")){case"TP1":return"TP1";case"TP2":return"TP2";case"TP3":return"TP3";case"TRAIL_STOP":return"Trail Stop";case"HARD_STOP":return"Hard Stop";case"EXIT_24H":return"24H Exit";case"EXIT_OPERATIONAL_EXCEPTION":return"Operational Exception";case"EXIT_SHORT_STATE":return"Short State";case"PROTECTION_NOT_CONFIRMED":return"Protection";default:return t?String(t).replace(/_/g," "):"—"}}function ne(t,a){try{const n=window;n.dataLayer?.push({event:t,...a}),typeof n.gtag=="function"&&n.gtag("event",t,a||{}),window.dispatchEvent(new CustomEvent("10xt-ledger",{detail:{event:t,...a}}))}catch{}}function pe(t){return t==null||!Number.isFinite(t)?"—":`${t>0?"+":""}${t.toFixed(2)}%`}function ie(t){if(t==null||!Number.isFinite(t))return"—";const a=Math.abs(t);return a>=100?t.toFixed(2):a>=1?t.toFixed(4):a>=.01?t.toFixed(5):t.toFixed(8)}function ge(t){if(!t)return"—";try{return new Date(t).toISOString().replace("T"," ").slice(0,16)+" UTC"}catch{return String(t)}}function qe(t){if(!t)return"—";const a=Date.now()-new Date(t).getTime();if(!(a>=0))return ge(t);const n=Math.floor(a/6e4);if(n<60)return`${n}m ago`;const l=Math.floor(n/60);return l<48?`${l}h ago`:`${Math.floor(l/24)}d ago`}function le(t){return t==null||!Number.isFinite(t)||t<1?null:`${Math.min(6,Math.round(t))}/6`}function Ge(t,a){if(a==="all")return!0;const n=String(t||"");return a==="tp"?n==="TP1"||n==="TP2"||n==="TP3":a==="trail"?n==="TRAIL_STOP":a==="hard"?n==="HARD_STOP":a==="24h"?n==="EXIT_24H":!0}function me(t){return t==null||!Number.isFinite(t)?"muted":t>0?"pos":t<0?"neg":"muted"}function be(t){if(!t||typeof t!="object")return[];const a=t;return Array.isArray(t)?t.map(n=>{if(!n||typeof n!="object")return null;const l=n,x=String(l.system_id||l.id||l.name||"");return x?{id:x,bias:l.bias!=null?String(l.bias):l.side!=null?String(l.side):void 0}:null}
1).filter(Boolean):Object.keys(a).map(n=>{const l=a[n];if(l&&typeof l=="object"){const x=l;return{id:n,bias:x.bias!=null?String(x.bias):x.vote!=null?String(x.vote):void 0}}return{id:n,bias:l!=null?String(l):void 0}})}const Ye=15,Xe=7,ke="(max-width: 760px)";function Ke(){const[t,a]=i.useState(()=>typeof window<"u"&&window.matchMedia(ke).matches);return i.useEffect(()=>{const n=window.matchMedia(ke),l=()=>a(n.matches);return l(),n.addEventListener("change",l),()=>n.removeEventListener("change",l)},[]),t}function Qe({onViewMarket:t,onSignup:a}){const n=Ke()?Xe:Ye,[l,x]=i.useState(null),[j,X]=i.useState([]),[T,ee]=i.useState(0),[v,R]=i.useState(0),[K,w]=i.useState(!0),[Q,P]=i.useState(null),[N,C]=i.useState("all"),[A,U]=i.useState("all"),[F,B]=i.useState("all"),[W,D]=i.useState(""),[c,q]=i.useState(null),[d,m]=i.useState(!1),[g,O]=i.useState(()=>typeof import.meta<"u"?"https://www.binance.com/copy-trading/lead-details/5231060179975785984?inviteCode=NoO0wiOO".trim():""),u=Math.max(1,Math.ceil(T/n)),h=v>0,_=v+1<u,S=i.useCallback(async(r,p=!1)=>{w(!0);try{const V=r*n,M=await fetch(`/api/live-execution/ledger?limit=${n}&offset=${V}`),J=await M.json();if(!M.ok||J.ok===!1){P(J.error||"Unavailable");return}P(null),x(J.summary);const ae=Number(J.pagination?.total||0);ee(ae);const L=Math.max(0,Math.ceil(ae/n)-1);if(r>L){R(L);return}X(J.trades||[]),p&&ne("ledger_view",{total:ae,page:r+1})}catch{P("Unavailable")}finally{w(!1)}},[n]),[f,z]=i.useState(n);f!==n&&(z(n),R(0)),i.useEffect(()=>{let r=!1;return(async()=>{try{const V=await(await fetch("/api/alpha-v2/public-book")).json();!r&&V?.copy_url&&O(String(V.copy_url).trim())}catch{}})(),()=>{r=!0}},[]),i.useEffect(()=>{S(v,v===0);const r=setInterval(()=>void S(v,!1),6e4);return()=>clearInterval(r)},[S,v]);const $=i.useMemo(()=>{const r=W.trim().toUpperCase();return j.filter(p=>!(N==="wins"&&!(p.return_pct!=null&&p.return_pct>0)||N==="losses"&&!(p.return_pct!=null&&p.return_pct<0)||A!=="all"&&p.entry_confluence!==A||!Ge(p.exit_reason,F)||r&&!String(p.symbol||"").toUpperCase().includes(r)))},[j,N,A,F,W]),te=(r,p)=>{ne("ledger_filter",{kind:r,value:p}),r==="outcome"&&C(p),r==="conf"&&U(p),r==="exit"&&B(p)},re=r=>{q(r),ne("ledger_trade_open",{trade_id:r.trade_id,symbol:r.symbol})},Z=r=>`ltl-chip${r?" active":""}`;return e.jsxs("section",{className:"section ltl-section",id:"live-trading-ledger",children:[e.jsxs("div",{className:"ltl-inner",children:[e.jsx("div",{className:"divider-title",children:e.jsx("span",{children:"Live Trading Ledger"})}),e.jsxs("div",{className:"ltl-lead-row",children:[e.jsx("p",{className:"ltl-lead",children:"Every completed trade from the live strategy. Wins and losses. Entry through exit."}),e.jsx("button",{type:"button",className:"srp-btn srp-btn-primary btn-mini",disabled:!g,title:g?"Open Binance Spot Lead invite":"Invite link pending",onClick:()=>{g&&(ne("ledger_copy_binance_click",{source:"ledger_header"}),Fe({name:"ledger_copy_binance_click",surface:"swarm_home",props:{source:"ledger_header"}}),window.open(g,"_blank","noopener,noreferrer"))},children:g?"Copy on Binance →":"Invite link pending"})]}),Q?e.jsx("p",{className:"ltl-err",children:Q}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ltl-kpis",children:[{k:"Closed trades",v:l?.closed_trades??"—"},{k:"Open trades",v:l?.open_count??"—"},{k:"Wins",v:l?.wins??"—"},{k:"Win rate",v:l?.win_rate!=null?`${l.win_rate}%`:"—"},{k:"Profit Factor",v:l?.profit_factor!=null&&Number.isFinite(l.profit_factor)?`${l.profit_factor.toFixed(2)}x`:"—",tip:"Sum of winning trade returns (%) ÷ absolute sum of losing trade returns (%)."},{k:"Days live",v:l?.days_live??"—"}].map(r=>e.jsxs("div",{className:"ltl-kpi",children:[e.jsx("span",{className:r.tip?"ltl-kpi-tip":void 0,title:r.tip,children:r.k}),e.jsx("strong",{children:r.v})]},r.k))}),e.jsxs("div",{className:"ltl-filters",children:[e.jsx("div",{className:"ltl-chip-row",children:["all","wins","losses"].map(r=>e.jsx("button",{type:"button",className:Z(N===r),onClick:()=>te("outcome",r),children:r==="all"?"All":r==="wins"?"Wins":"Losses"},r))}),e.jsx("div",{className:"ltl-chip-row",children:["all",3,4,5,6].map(r=>e.jsx("button",{type:"button",className:Z(A===r),onClick:()=>te("conf",r),children:r==="all"?"All Conf":`${r}/6`},String(r)))}),e.jsx("div",{className:"ltl-chip-row",children:[["all","All exits"],["tp","TP"],["trail","Trail"],["hard","Hard Stop"],["24h","24H"]].map(([r,p]
1)=>e.jsx("button",{type:"button",className:Z(F===r),onClick:()=>te("exit",r),children:p},r))}),e.jsx("input",{className:"ltl-search",placeholder:"Symbol search…",value:W,onChange:r=>D(r.target.value),"aria-label":"Symbol search"})]}),K&&!j.length?e.jsx("p",{className:"ltl-muted",children:"Loading ledger…"}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"ltl-table-wrap ltl-desktop",children:e.jsxs("table",{className:"ltl-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Market"}),e.jsx("th",{children:"Opened"}),e.jsx("th",{children:"State"}),e.jsx("th",{children:"Entry"}),e.jsx("th",{children:"Exit"}),e.jsx("th",{children:"Exit Path"}),e.jsx("th",{children:"Return"})]})}),e.jsx("tbody",{children:$.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:7,className:"ltl-empty",children:"No trades match filters"})}):$.map(r=>e.jsxs("tr",{onClick:()=>re(r),children:[e.jsx("td",{children:e.jsx("strong",{children:r.symbol})}),e.jsx("td",{children:ge(r.opened_at)}),e.jsxs("td",{children:[e.jsx("span",{className:"srp-chip ltl-long",children:"LONG"}),le(r.entry_confluence)?e.jsx("span",{className:"ltl-conf",children:le(r.entry_confluence)}):null]}),e.jsx("td",{className:"mono",children:ie(r.entry_price)}),e.jsx("td",{className:"mono",children:ie(r.exit_price)}),e.jsx("td",{children:fe(r.exit_reason)}),e.jsx("td",{className:`mono ${me(r.return_pct)}`,children:pe(r.return_pct)})]},r.trade_id))})]})}),e.jsx("div",{className:"ltl-mobile",children:$.length===0?e.jsx("p",{className:"ltl-empty",children:"No trades match filters"}):$.map(r=>e.jsxs("button",{type:"button",className:"ltl-card",onClick:()=>re(r),children:[e.jsxs("div",{className:"ltl-card-top",children:[e.jsx("strong",{children:r.symbol}),e.jsx("span",{className:me(r.return_pct),children:pe(r.return_pct)})]}),e.jsxs("div",{className:"ltl-card-meta",children:["LONG",le(r.entry_confluence)?` · ${le(r.entry_confluence)}`:""]}),e.jsxs("div",{className:"ltl-card-grid",children:[e.jsx("span",{children:"Entry"}),e.jsx("span",{className:"mono",children:ie(r.entry_price)}),e.jsx("span",{children:"Exit"}),e.jsx("span",{className:"mono",children:ie(r.exit_price)}),e.jsx("span",{children:"Exit"}),e.jsx("span",{children:fe(r.exit_reason)}),e.jsx("span",{children:"Closed"}),e.jsx("span",{children:qe(r.closed_at)})]}),e.jsx("span",{className:"ltl-card-cta",children:"View Trade →"})]},r.trade_id))}),T>0?e.jsxs("div",{className:"ltl-pager",children:[e.jsx("button",{type:"button",className:"srp-btn",disabled:!h||K,onClick:()=>R(r=>Math.max(0,r-1)),children:"← Prev"}),e.jsxs("span",{className:"ltl-pager-meta",children:["Page ",v+1," of ",u," · ",v*n+1,"–",Math.min((v+1)*n,T)," of ",T]}),e.jsx("button",{type:"button",className:"srp-btn",disabled:!_||K,onClick:()=>R(r=>r+1),children:"Next →"})]}):null]}),e.jsxs("div",{className:"ltl-disclosure",children:[e.jsx("p",{children:"Live strategy results reflect the defined 10XT execution policy. Market-intelligence states provide analytical context and are not outcome probabilities."}),e.jsxs("div",{className:"ltl-disclosure-actions",children:[e.jsx("button",{type:"button",className:"text-btn",onClick:()=>m(!0),children:"How results are calculated →"}),a?e.jsx("button",{type:"button",className:"text-btn",onClick:()=>{ne("ledger_signup_click",{source:"ledger_disclosure"}),a()},children:"Create free account →"}):null]})]})]})]}),c?e.jsx("div",{className:"ltl-drawer-bg",role:"presentation",onClick:()=>q(null),children:e.jsxs("div",{className:"ltl-drawer srp-panel",role:"dialog","aria-label":"Trade detail",onClick:r=>r.stopPropagation(),children:[e.jsxs("div",{className:"ltl-drawer-head",children:[e.jsx("h3",{children:c.symbol}),e.jsx("button",{type:"button",className:"text-btn",onClick:()=>q(null),children:"Close"})]}),e.jsx("h4",{className:"ltl-block-title",children:"Trade"}),e.jsxs("div",{className:"ltl-detail-grid",children:[e.jsx("span",{children:"Symbol"}),e.jsx("strong",{children:c.symbol}),e.jsx("span",{children:"Side"}),e.jsx("strong",{children:"LONG"}),e.jsx("span",{children:"Opened"}),e.jsx("strong",{children:ge(c.opened_at)}),e.jsx("span",{children:"Closed"}),e.jsx("strong",{children:ge(c.closed_at)}),e.jsx("span",{children:"Entry price"}),e.jsx("strong",{className:"mono",children:ie(c.entry_price)}),e.jsx("span",{children:"Exit price"}),e.jsx("strong",{className:"mono",children:ie(c.exit_price)}),e.jsx("span",{children:"Realized return"}),e.jsx("strong",{className:me(c.return_pct),children:pe(c.return_pct)}),e.jsx("span",{children:"Exit path"}),e.jsx("strong",{children:fe(c.exit_reason)})]}),(c.entry_confluence!=null||be(c.systems_at_entry).length>0)&&e.jsxs(e.Fragment,{children:[e.jsx("h4",{className:"ltl-block-title",children:"Intelligence at entry"}),e.jsxs("p",{className:"ltl-boundary",children:["Entry state:"," ",e.jsx("strong",{children:le(c.entry_confluence)||"—"}),c.peak_confluence!=null?` · Peak: ${le(c.peak_confluence)}`:"",e.jsx("br",{}),"Strategy result:"," ",e.jsx("strong",{className:me(c.return_pct),children:pe(c.return_pct)})]}),be(c.systems_at_entry).length>0?e.jsx("ul",{className:"ltl-systems",children:be(c.systems_at_entry).map(r=>e.jsxs("li",{children:[r.id,r.bias?` · ${r.bias}`:""]},r.id))}):null]}),e.jsx("button",{type:"button",className:"srp-btn srp-btn-primary full",style:{marginTop:16},onClick:()=>{ne("ledger_profile_click",{symbol:c.symbol}),t?.(c.symbol),q(null)}
1,children:"View Market Intelligence Profile →"})]})}):null,d?e.jsx("div",{className:"ltl-drawer-bg",role:"presentation",onClick:()=>m(!1),children:e.jsxs("div",{className:"ltl-drawer srp-panel",role:"dialog","aria-label":"How results are calculated",onClick:r=>r.stopPropagation(),children:[e.jsxs("div",{className:"ltl-drawer-head",children:[e.jsx("h3",{children:"How results are calculated"}),e.jsx("button",{type:"button",className:"text-btn",onClick:()=>m(!1),children:"Close"})]}),e.jsxs("ul",{className:"ltl-method",children:[e.jsxs("li",{children:[e.jsx("strong",{children:"Book:"})," Every trade from the live strategy."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Days live:"})," From the first entry to today."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Profit factor:"})," Sum of winning trade returns (%) ÷ absolute sum of losing trade returns (%)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Capital / sizing:"})," Fixed clip notional per entry (lead account). ROI on this card is the equal-weight average of per-trade net return % — not a portfolio mark-to-market of total equity."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Leverage:"})," Spot long-only (no futures leverage on this book)."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Fees:"})," Reflected in stored net PnL at close."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Open trades:"})," Not included in closed-trade ROI / win rate until they close."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Operational exceptions:"})," Included in the ledger when present; labeled Operational Exception."]}),e.jsxs("li",{children:[e.jsx("strong",{children:"Win rate:"})," Wins / (wins + losses) by net USD sign; flat trades excluded from the denominator."]})]})]})}):null]})}const Ze=450,Ne=5,Je=3e4,et=1e4,tt=1e3,_e=3e3,G=t=>`${t.ts}|${t.market}|${t.system}|${t.action}`,rt=t=>t.replace(/\/USDT$/i,"");function Ie(t){const a=new Date(t);return Number.isNaN(a.getTime())?"—":a.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const at={JOINED:"↑","TURNED LONG":"↑",LEFT:"↓","TURNED SHORT":"↓",ROTATED:"↔"};function st(t){return t.from!=null&&t.to!=null?`${t.from}/6 → ${t.to}/6`:t.action==="ROTATED"&&t.to!=null?`remains ${t.to}/6`:t.detail?t.to!=null?`${t.to}/6 · ${t.detail}`:t.detail:t.to!=null?`${t.to}/6`:""}function ve(t){return t.map((a,n)=>({e:a,i:n})).sort((a,n)=>a.e.ts.localeCompare(n.e.ts)||n.i-a.i).map(({e:a})=>a)}function Se({e:t,fresh:a}){const n=at[t.action];return e.jsxs("div",{className:`lst-row${a?" lst-row-new":""}`,title:`${t.system} ${t.state}`,children:[e.jsx("span",{className:"mono lst-time",children:Ie(t.ts)}),e.jsx("strong",{className:"lst-mkt",children:rt(t.market)}),e.jsx("span",{className:`lst-sys${t.kind==="trade"?" lst-trade":""}`,children:t.system}),e.jsxs("span",{className:`lst-act lst-${t.kind}`,children:[n?`${n} `:"",t.action]}),e.jsx("span",{className:`mono lst-count${a?" lst-flash":""}`,children:st(t)}),e.jsx("span",{className:"lst-tagcell",children:t.tag?e.jsx("b",{className:t.tag.endsWith("expired")?"lst-tag lst-tag-off":"lst-tag",children:t.tag}):null})]})}function nt(){const[t,a]=i.useState(null),[n,l]=i.useState([]),[x,j]=i.useState(0),[X,T]=i.useState(0),[ee,v]=i.useState(()=>Date.now()),[R,K]=i.useState(!1),w=i.useRef([]),Q=i.useRef(new Set),P=i.useRef(null),N=i.useRef(null),C=i.useRef(!0),A=i.useCallback(d=>{const m=d.events??[],g=Q.current,O=g.size===0,u=m.filter(h=>!g.has(G(h)));for(const h of u)g.add(G(h));if(O){const h=m.find(f=>f.kind!=="trade")?.ts,_=h?m.filter(f=>f.ts>=h):[],S=new Set(_.map(G));l(m.filter(f=>!S.has(G(f))).slice(0,Ne)),w.current=ve(_)}else if(u.length){const h=u.filter(z=>z.kind==="trade"),_=u.filter(z=>z.kind!=="trade"),S=_.reduce((z,$)=>$.ts>z?$.ts:z,""),f=_.filter(z=>z.ts===S);w.current=[...ve(h),...w.current,...ve(f)].slice(-300)}P.current=d,a(d),T(w.current.length)},[]),U=i.useCallback(()=>{if(N.current||!C.current||!w.current.length)return;const d=P.current?.last_cycle_at?Date.parse(P.current.last_cycle_at):NaN,m=(P.current?.cycleMinutes??5)*6e4,g=Number.isFinite(d)?d+m-Date.now():0,O=g>0?Math.min(_e,Math.max(tt,g/w.current.length)):_e;N.current=setTimeout(()=>{N.current=null;const u=w.current.shift();u&&(l(h=>[u,...h].slice(0,Ne+1)),j(h=>h+1)),T(w.current.length),U()},O)},[]);i.useEffect(()=>{let d=null,m=null,g=null;const O=async()=>{d?.abort(),d=new AbortController;try{const S=await fetch("/api/swarm/tape",{signal:d.signal});if(!S.ok)return;const f=await S.json();if(!f.ok)return;A(f),U()}catch{}},u=()=>{C.current=!0,!m&&(O(),m=setInterval(O,Je),g=setInterval(()=>v(Date.now()),et),v(Date.now()),U())},h=()=>{C.current=!1,m&&clearInterval(m),g&&clearInterval(g),m=null,g=null,d?.abort(),N.current&&clearTimeout(N.current),N.current=null},_=()=>document.hidden?h():u();return document.hidden||u(),document.addEventListener("visibilitychange",_),()=>{document.removeEventListener("visibilitychange",_),h()}},[A,U]);const F=t?.last_cycle_at?Date.parse(t.last_cycle_at):NaN,B=Number.isFinite(F)&&ee-F>Ze*1e3,W=t?.last_cycle_at?Ie(t.last_cycle_at):"—";let D;t?B?D=`STALE — last evaluation ${W}`:X>0?D=`LIVE — streaming the ${W} evaluation`:D="LIVE — waiting for next evaluation":D="Syncing live swarm…";const c=new Set(w.current.map(G)),q=R?(t?.events??[]).filter(d=>!c.has(G(d))):[];return e.jsx("section",{className:"section lst-section",id:"live-swarm","aria-label":"SwarmTape Live Swarm",children:e.jsxs("div",{className:"ltl-inner",children:[e.jsx("div",{className:"divider-title",children:e.jsx("span",{children:"SwarmTape™"})}),e.jsxs("div",{className:`srp-panel lst-panel${B?" lst-is-stale":""}`,children:[e.jsxs("div",{className:"lst-head",children:[e.jsxs("span",{className:"lst-head-live",children:[e.jsx("span",{className:"srp-live-dot",children:e.jsx("i",{})}),B?"STALE":"LIVE SWARM"]}),e.jsxs("span",{className:"lst-head-meta",children:[t?.markets??73," MARKETS · ",t?.systems??6," SYSTEMS · ",t?.cycleMinutes??5,"-MIN EVALUATION"]})]}),e.jsx("div",{className:"lst-rows","aria-live":"polite",children:n.length===0?e.jsx("div",{className:"lst-empty",children:D}):e.jsx("div",{className:x>0?"lst-rows-inner lst-shift":"lst-rows-inner",children:n.map((d,m)=>e.jsx(Se,{e:d,fresh:x>0&&m===0},G(d)))},x)}),e.jsxs("div",{className:"lst-foot",children:[e.jsxs("span",{className:"lst-status",children:[e.jsx("span",{className:B?"lst-status-dot lst-status-off":"lst-status-dot","aria-hidden":"true",children:"●"})," ",D]}),e.jsx("button",{type:"button",className:"lst-history-btn",onClick:()=>K(d=>
1!d),children:R?"Hide history":"View history →"})]}),R?e.jsx("div",{className:"lst-history",children:q.length===0?e.jsx("div",{className:"lst-empty",children:"No events yet."}):q.map(d=>e.jsx(Se,{e:d,fresh:!1},`h-${G(d)}`))}):null]})]})})}const it=[{market:"SOL/USDT",bias:"↑ Long",confluence:"6/6",event:"Confluence strengthened",eventIcon:"▲",swarmed:"2h ago"},{market:"HBAR/USDT",bias:"↑ Long",confluence:"5/6",event:"Methodology aligned",eventIcon:"★",swarmed:"1d ago"},{market:"AVAX/USDT",bias:"• Neutral",confluence:"4/6",event:"Confluence weakened",eventIcon:"▼",swarmed:"4h ago"}],lt=[{icon:"▼",headline:"Confluence weakened",body:"AVAX confluence moved from 6/6 to 4/6. Momentum moved Neutral.",when:"4 hours ago"},{icon:"▲",headline:"Confluence strengthened",body:"SOL confluence moved from 4/6 to 6/6 as Bias held Long.",when:"3 days ago"},{icon:"↔",headline:"Bias changed",body:"HBAR Bias shifted while Confluence held at 5/6.",when:"1 day ago"}],ot={signal_id:"",rank:0,market:"—",side:"neutral",system:"",status:"Watch",score:0,freshness_label:"",freshness_sec:0,entry_range:null,stop:null,tp:null,reward_risk:null,rationale:"",execution_preflight:null,estimated_friction_bps:0,estimated_net_edge_bps:null,confluence_count:0};function Y(t){return De({signal_state:t.signal_state,bias:t.side,confluence_count:t.confluence_count})}function ct(t){return t==="All"?"All":$e(t)}function dt(t,a){if(a==="All")return t.length;const n=a.toLowerCase();return t.filter(l=>Y(l)===n).length}function ze(t){return(t||"").replace(/\s*Agent$/i,"").trim()||"—"}function pt(t){return t.split("/")[0].slice(0,4)}function Te(t,a){const n=(a.confluence_count??0)-(t.confluence_count??0);if(n!==0)return n;const l=t.signal_created_at?Date.parse(t.signal_created_at):0,x=a.signal_created_at?Date.parse(a.signal_created_at):0;return x!==l?x-l:t.market.localeCompare(a.market)}const mt="https://cdn.jsdelivr.net/npm/[email protected]/svg/color";function we({market:t,size:a=28}){const n=t.split("/")[0].replace(":USDT","").toLowerCase(),[l,x]=i.useState(!1);return l?e.jsx("span",{className:"srp-coin","aria-hidden":"true",children:pt(t)}):e.jsx("img",{className:"srp-coin-img",src:`${mt}/${n}.svg`,alt:n.toUpperCase(),width:a,height:a,onError:()=>x(!0)})}const xt={volatility:e.jsx(e.Fragment,{children:e.jsx("path",{d:"M3 13h3l2.5-7 3 13 3-9 2 4h4.5"})}),meanrev:e.jsx(e.Fragment,{children:e.jsx("path",{d:"M3 12c2-6 4-6 6 0s4 6 6 0 4-6 6 0"})}),breakout:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M4 15h16"}),e.jsx("path",{d:"M12 20V6"}),e.jsx("path",{d:"M8 10l4-4 4 4"})]}),trend:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M3 18l7-7 4 4 7-9"}),e.jsx("path",{d:"M17 6h4v4"})]}),wyckoff:e.jsxs(e.Fragment,{children:[e.jsx("rect",{x:"4",y:"7",width:"16",height:"10",rx:"1.5"}),e.jsx("path",{d:"M7 12h3l1.5 3 2-6 1.5 3h2"})]}),momentum:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M4 7l6 5-6 5"}),e.jsx("path",{d:"M12 7l6 5-6 5"})]}),node:e.jsxs(e.Fragment,{children:[e.jsx("path",{d:"M12 3l7 4v8l-7 4-7-4V7z"}),e.jsx("circle",{cx:"12",cy:"12",r:"2.4"})]})};function ht(t){const a=(t||"").toLowerCase();return a.includes("volatil")?"volatility":a.includes("mean")||a.includes("revers")?"meanrev":a.includes("break")?"breakout":a.includes("wyckoff")?"wyckoff":a.includes("momentum")?"momentum":a.includes("trend")?"trend":"node"}function Ce({system:t,size:a=13}){return e.jsx("span",{className:"srp-sys","aria-hidden":"true",children:e.jsx("svg",{viewBox:"0 0 24 24",width:a,height:a,fill:"none",stroke:"currentColor",strokeWidth:1.8,strokeLinecap:"round",strokeLinejoin:"round",children:xt[ht(t)]})})}function Re(t){if(t.signal_created_at){const a=Math.floor((Date.now()-new Date(t.signal_created_at).getTime())/1e3);if(a<60)return"Just now";const n=Math.floor(a/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}return t.freshness_label??"—"}function Me({s:t}){const a=t.confluence_count,n=a==null?"—":`${a}/6`;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"detail-row",children:[e.jsx("span",{children:"Bias"}),e.jsx("span",{className:`srp-chip ${Ee(Y(t))}`,children:he(Y(t))})]}),e.jsxs("div",{className:"detail-row",children:[e.jsx("span",{children:"Confluence"}),e.jsx("strong",{children:n})]}),e.jsxs("div",{className:"detail-row",children:[e.jsx("span",{children:"Last Swarmed"}),e.jsx("strong",{children:Re(t)})]}
1),(t.agents||[]).map(l=>e.jsxs("div",{className:"detail-row",children:[e.jsx("span",{children:l.display}),e.jsx("strong",{style:{textTransform:"capitalize"},children:l.direction||"neutral"})]},l.display))]})}const gt=`
2:root {
3  --srp-bg:#020706; --srp-bg2:#04130f; --srp-panel:#061913; --srp-panel2:#08221a;
4  --srp-line:rgba(85,255,203,.15); --srp-line2:rgba(85,255,203,.34); --srp-line3:rgba(85,255,203,.55);
5  --srp-text:#ecfff8; --srp-muted:#9cb6ae; --srp-soft:#c4dbd4;
6  --srp-mint:#48ffd0; --srp-green:#4dfa8f; --srp-yellow:#ffd45f; --srp-red:#ff647d;
7  --srp-shadow:0 28px 92px rgba(0,255,185,.08);
8  --srp-max:1480px;
9}
10.srp-root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--srp-text);background:radial-gradient(circle at 16% 16%,rgba(72,255,208,.12),transparent 34rem),radial-gradient(circle at 83% 15%,rgba(44,227,122,.10),transparent 38rem),linear-gradient(180deg,#020403 0%,#05130f 50%,#020605 100%);min-height:100vh;overflow-x:clip}
11.srp-root *{box-sizing:border-box}
12/* Sticky-header fix: position:sticky is trapped by the nearest scroll container, and
13   overflow-x:hidden turns an element into one (its overflow-y computes to auto), so the
14   header scrolled off with the page. overflow-x:clip clips the same horizontal overflow
15   WITHOUT creating a scroll container. The remix-island nested html/body pair plus the
16   global body{overflow-x:hidden} were the remaining offenders; under 640px a script also
17   sets overflow-x:hidden inline on html/body, hence the !important. Horizontal clipping
18   is preserved by the outer html/viewport rule. Verified live at 390px and 1440px:
19   header rect.top stays 0 after scroll, page scroll and layout unchanged. */
20body body{overflow:clip}
21@media (max-width:640px){body{overflow:visible !important}body body{overflow:clip !important}}
22.srp-root a{color:inherit;text-decoration:none}
23.srp-root button,
24.srp-root input{font:inherit}
25.srp-bg-grid{position:fixed;inset:0;pointer-events:none;opacity:.36;background-image:linear-gradient(rgba(85,255,203,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(85,255,203,.05) 1px,transparent 1px),radial-gradient(rgba(85,255,203,.12) 1px,transparent 1px);background-size:72px 72px,72px 72px,8px 8px;mask-image:linear-gradient(180deg,#000 0,transparent 98%)}
26/* Header */
27.srp-header{position:sticky;top:0;z-index:20;height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 48px;background:rgba(1,6,5,.82);border-bottom:1px solid var(--srp-line);backdrop-filter:blur(18px)}
28.srp-brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.04em;cursor:pointer}
29.srp-brand-icon{width:22px;height:22px;border:2px solid var(--srp-mint);display:inline-block;transform:skew(-10deg);box-shadow:0 0 22px rgba(72,255,208,.22)}
30.srp-brand-10{font-size:28px;color:var(--srp-mint)}
31.srp-brand-prod{font-size:20px}
32.srp-pro-badge{font-size:11px;border:1px solid var(--srp-line2);border-radius:8px;padding:3px 7px;color:var(--srp-mint);background:rgba(72,255,208,.09);letter-spacing:0}
33.srp-desktop-nav{display:flex;gap:30px;color:#d3e4de;font-size:13px;font-weight:800}
34.srp-desktop-nav button{background:none;border:none;color:#d3e4de;font-weight:800;font-size:13px;cursor:pointer;padding:0}
35.srp-desktop-nav button:hover{color:var(--srp-mint)}
36.srp-header-actions{display:flex;gap:12px;align-items:center}
37/* Buttons */
38.srp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:14px;border:1px solid var(--srp-line2);background:rgba(5,18,15,.82);color:var(--srp-text);font-weight:900;letter-spacing:-.02em;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:.18s ease;cursor:pointer;font-family:inherit;font-size:inherit}
39.srp-btn:hover{transform:translateY(-1px);border-color:rgba(72,255,208,.75)}
40.srp-btn-primary{background:linear-gradient(135deg,#56ffd0,#39ee91);color:#03110d;border-color:rgba(190,255,232,.9);box-shadow:0 16px 35px rgba(60,255,170,.18)}
41.srp-btn.small{padding:10px 16px;font-size:13px}
42.srp-btn.full{width:100%}
43.srp-btn.disabled{opacity:.45;cursor:not-allowed;transform:none!important}
44.srp-live-dot{display:inline-flex;align-items:center;gap:8px}
45.srp-live-dot i{width:8px;height:8px;border-radius:50%;background:var(--srp-green);box-shadow:0 0 12px var(--srp-green);display:block;animation:srp-pulse 2s infinite}
46@keyframes srp-pulse{0%,100%{opacity:1}50%{opacity:.4}}
47/* Panel */
48.srp-panel{background:linear-gradient(180deg,rgba(7,27,22,.88),rgba(3,12,10,.94));border:1px solid var(--srp-line);border-radius:22px;box-shadow:var(--srp-shadow),inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(14px)}
49/* Section */
50.section{position:relative;z-index:1;padding:54px 48px;max-width:calc(var(--srp-max) + 96px);margin-inline:auto}
51/* Hero — equal columns: copy | radar */
52.hero{min-height:640px;
52display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:stretch}
53.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--srp-mint);font-weight:950;margin-bottom:16px}
54.hero h1{font-size:clamp(40px,4.2vw,56px);font-weight:900;line-height:.92;letter-spacing:-.08em;margin:0 0 18px}
55.hero h1 span{display:block;color:var(--srp-mint);text-shadow:0 0 30px rgba(72,255,208,.24)}
56/* Trademark mark: render as a compact superscript so "SwarmTrade™" no longer
57   overruns the left hero column and gets clipped by the terminal panel at >=1440. */
58.hero h1 .srp-tm{font-size:.42em;vertical-align:.62em;letter-spacing:0;line-height:0;margin-left:.02em}
59.hero h2{font-size:22px;font-weight:800;line-height:1.18;margin:0 0 18px;letter-spacing:-.04em}
60.hero p{font-size:19px;line-height:1.55;color:#c7ddd6;max-width:700px;margin:0 0 22px}
61/* Mini feature cards */
62.hero-cards{display:grid;grid-template-columns:1fr;gap:16px;margin:24px 0}
63.mini-feature{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
64.mini-feature .icon{width:38px;height:38px;border:1px solid var(--srp-line2);border-radius:12px;display:grid;place-items:center;color:var(--srp-mint);background:rgba(72,255,208,.08);font-style:normal}
65.mini-feature strong{display:block;margin-bottom:5px;font-size:13px}
66.mini-feature p{font-size:13px;line-height:1.45;margin:0;color:var(--srp-muted);max-width:none}
67.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
68/* Terminal wrap (right hero column): radar fills the column */
69.terminal-wrap{display:block;min-width:0;height:100%}
70.terminal-wrap>*{min-width:0;height:100%}
71.radar-panel{padding:16px;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0}
72.live-exec-panel{min-height:0;display:flex;flex-direction:column}
73.live-exec-panel .lec-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px;font-size:12px;color:var(--srp-muted)}
74.live-exec-panel .lec-sub-solo{margin-top:-6px}
75.live-exec-panel .lec-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--srp-muted);margin:0 0 4px}
76.live-exec-panel .lec-hero-pnl{font-size:28px;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin:0}
77.live-exec-panel .lec-hero-pnl.pos{color:var(--srp-mint)}
78.live-exec-panel .lec-hero-pnl.neg{color:#ff7b7b}
79.live-exec-panel .lec-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
80.live-exec-panel .lec-roi{font-size:13px;font-weight:750;margin-top:4px}
81.live-exec-panel .lec-roi.pos{color:var(--srp-mint)}
82.live-exec-panel .lec-roi.neg{color:#ff7b7b}
83.live-exec-panel .lec-spark{width:108px;height:40px;flex-shrink:0}
84.live-exec-panel .lec-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
85.live-exec-panel .lec-stat{display:flex;justify-content:space-between;gap:10px;font-size:13px}
86.live-exec-panel .lec-stat span{color:var(--srp-muted)}
87.live-exec-panel .lec-stat strong{color:var(--srp-text);font-weight:750}
88.live-exec-panel .lec-recent{margin:0 0 12px;max-height:88px;overflow:auto;font-size:12px;line-height:1.45;color:var(--srp-muted)}
89.live-exec-panel .lec-recent strong{display:block;margin-bottom:4px;color:var(--srp-text);font-size:12px}
90.live-exec-panel .lec-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}
91.live-exec-panel .lec-note{margin:0;color:var(--srp-muted);font-size:12px;line-height:1.45}
92/* SwarmTape™ live feed (between Radar hero and Live Trading Ledger) */
93.lst-section{padding-top:28px;padding-bottom:0}
94.lst-panel{padding:14px 18px 12px;border-radius:16px;overflow:hidden}
95.lst-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:12px;font-weight:950;letter-spacing:.14em;color:var(--srp-mint)}
96.lst-head-live{display:inline-flex;align-items:center;gap:10px}
97.lst-head .srp-live-dot i{animation:lst-breathe 2.4s ease-in-out infinite}
98.lst-head-meta{color:var(--srp-muted);font-size:11px;letter-spacing:.1em}
99.lst-is-stale .lst-head-live{color:var(--srp-muted)}
100.lst-is-stale .srp-live-dot i{background:var(--srp-muted);box-shadow:none;animation:none}
101.lst-rows{position:relative;height:170px;overflow:hidden}
102.lst-row{display:grid;grid-template-columns:76px 64px minmax(0,1fr) 150px 120px 104px;align-items:center;gap:12px;height:34px;padding:0 6px;border-bottom:1px solid rgba(85,255,203,.07);font-size:14px;white-space:nowrap}
103.lst-row > *{overflow:hidden;text-overflow:ellipsis}
104.lst-row .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
105.lst-time{color:var(--srp-muted)}
106.lst-mkt{color:var(--srp-text)}
107.lst-sys{color:var(--srp-soft)}
108.lst-act{font-size:12px;font-weight:900;letter-spacing:.08em}
109.lst-count{justify-self:start;padding:2px 6px;border-radius:6px;color:var(--srp-text)}
110.lst-join{color:var(--srp-mint)}
111.lst-leave{color:var(--srp-red)}
112.lst-hold,.lst-stale{color:var(--srp-muted)}
113.lst-trade{color:var(--srp-yellow);font-weight:800}
114.lst-tag{font-size:11px;font-weight:950;letter-spacing:.08em;color:var(--srp-mint)}
115.lst-tag-off{color:var(--srp-muted)}
116.lst-shift{animation:lst-shift .3s ease-out}
117.lst-row-new{animation:lst-enter .3s ease-out}
118.lst-flash{animation:lst-flash 1.2s ease-out}
119.lst-empty{color:var(--srp-muted);font-size:13px;line-height:34px;padding:0 6px}
120.lst-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:12px;color:var(--srp-muted)}
121.lst-status-dot{color:var(--srp-green)}
122.lst-status-off{color:var(--srp-muted)}
123.lst-history-btn{background:none;border:0;padding:0;color:var(--srp-mint);font-size:12px;font-weight:800;cursor:pointer;opacity:.8;white-space:nowrap}
124.lst-history-btn:hover{opacity:1}
125.lst-history{margin-top:10px;max-height:320px;overflow-y:auto;border-top:1px solid var(--srp-line)}
126@keyframes lst-shift{from{transform:translateY(-34px)}to{transform:none}}
127@keyframes lst-enter{from{opacity:0}to{opacity:1}}
128@keyframes lst-flash{from{background:rgba(72,255,208,.22)}to{background:transparent}}
129@keyframes lst-breathe{0%,100%{opacity:1}50%{opacity:.6}}
130@media(prefers-reduced-motion:reduce){
131  .lst-shift,.lst-row-new,.lst-flash,.lst-head .srp-live-dot i{animation:none}
132}
133@media(max-width:760px){
134  .section.lst-section{padding-top:24px;padding-bottom:0}
135  .lst-panel{padding:10px 12px}
136  .lst-head{flex-wrap:wrap;gap:4px 12px;font-size:10px;letter-spacing:.06em}
137  .lst-head-meta{font-size:9.5px;letter-spacing:.05em}
138  .lst-row{grid-template-columns:62px 62px minmax(0,1fr) auto auto auto;gap:8px;padding:0 2px;font-size:13px}
139  .lst-row .mono{font-size:11.5px}
140  .lst-act{font-size:11px;letter-spacing:.04em}
141}
142@media(max-width:420px){
143  .lst-row{grid-template-columns:56px 56px minmax(0,1fr) auto auto;gap:6px;font-size:12px}
144  .lst-tagcell{display:none}
145  .lst-count{padding:2px 3px}
146}
147/* Live Trading Ledger (full-width under hero) */
148.ltl-section{padding-top:28px}
149.ltl-inner{max-width:none;margin:0 auto}
150.ltl-lead{margin:0 0 12px;color:#c7ddd6;font-size:16px;line-height:1.5;max-width:720px}
151.ltl-lead-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
152.ltl-lead-row .ltl-lead{margin:0;flex:1;min-width:220px}
153.ltl-kpi-tip{cursor:help;border-bottom:1px dotted var(--srp-muted)}
154.ltl-err,.ltl-muted,.ltl-empty{color:var(--srp-muted);font-size:14px;padding:18px 0}
155.ltl-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px}
156.ltl-kpi{border:1px solid var(--srp-line);border-radius:14px;padding:12px 14px;background:rgba(0,0,0,.16)}
157.ltl-kpi span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--srp-muted);margin-bottom:6px}
158.ltl-kpi strong{font-size:20px;letter-spacing:-.03em}
159.ltl-kpi strong.pos{color:var(--srp-mint)}
160.ltl-kpi strong.neg{color:#ff7b7b}
161.ltl-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
162.ltl-chip-row{display:flex;flex-wrap:wrap;gap:6px}
163.ltl-chip{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--srp-line2);border-radius:999px;padding:6px 12px;background:rgba(72,255,208,.05);color:#d6ece5;font-size:12px;font-weight:850;cursor:pointer;font-family:inherit;transition:border-color .15s,color .15s,background .15s}
164.ltl-chip:hover{border-color:var(--srp-mint);color:var(--srp-text)}
165.ltl-chip:focus-visible{outline:2px solid var(--srp-mint);outline-offset:2px}
166.ltl-chip.active{background:var(--srp-mint);border-color:var(--srp-mint);color:#03110d}
167@media(min-width:761px){.ltl-chip-row + .ltl-chip-row{padding-left:10px;border-left:1px solid var(--srp-line)}}
168.ltl-search{min-width:160px;flex:1;max-width:220px;min-height:32px;padding:7px 12px;border:1px solid var(--srp-line2);border-radius:12px;color:var(--srp-text);background:rgba(0,0,0,.18);outline:none;font:inherit}
169.ltl-table-wrap{border:1px solid var(--srp-line);border-radius:16px;overflow:auto;background:rgba(0,0,0,.12)}
170.ltl-table{width:100%;border-collapse:collapse;min-width:760px}
171.ltl-table th{font-size:11px;color:var(--srp-muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:10px 12px;background:rgba(6,25,19,.97);position:sticky;top:0}
172.ltl-table td{border-top:1px solid rgba(85,255,203,.09);padding:12px;font-size:13px;vertical-align:middle}
173.ltl-table tbody tr{cursor:pointer}
174.ltl-table tbody tr:hover td{background:rgba(72,255,208,.07)}
175.ltl-table .mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
176.ltl-table .pos,.ltl-card .pos,.ltl-drawer .pos{color:var(--srp-mint)}
177.ltl-table .neg,.ltl-card .neg,.ltl-drawer .neg{color:#ff7b7b}
178.ltl-ver{margin-left:8px;font-size:10px;color:var(--srp-muted);font-weight:700}
179.ltl-long{margin-right:6px}
180.ltl-conf{font-size:12px;color:var(--srp-muted)}
181.ltl-desktop{display:block}
182.ltl-mobile{display:none}
183.ltl-card{display:block;width:100%;text-align:left;border:1px solid var(--srp-line);border-radius:16px;padding:14px;margin-bottom:10px;background:rgba(0,0,0,.16);color:inherit;font:inherit;cursor:pointer}
184.ltl-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
185.ltl-card-meta{font-size:12px;color:var(--srp-muted);margin-bottom:10px}
186.ltl-card-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px}
187.ltl-card-grid span:nth-child(odd){color:var(--srp-muted)}
188.ltl-card-cta{display:inline-block;margin-top:10px;color:var(--srp-mint);font-size:12px;font-weight:800}
189.ltl-more{display:flex;justify-content:center;margin:16px 0 8px}
190.ltl-pager{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 0 8px}
191.ltl-pager-meta{font-size:13px;color:var(--srp-muted)}
192.ltl-pager .srp-btn{padding:10px 16px;font-size:13px}
193.ltl-pager .srp-btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}
194.srp-radar-pager{margin:12px 0 4px;gap:10px;flex-shrink:0}
195.ltl-disclosure{margin-top:18px;padding-top:14px;border-top:1px solid var(--srp-line);color:var(--srp-muted);font-size:13px;line-height:1.55}
196.ltl-disclosure p{margin:0 0 8px;max-width:900px}
197.ltl-disclosure-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
198.ltl-drawer-bg{position:fixed;inset:0;z-index:80;background:rgba(0,8,6,.72);display:flex;justify-content:flex-end;padding:18px}
199.ltl-drawer{width:min(440px,100%);max-height:calc(100vh - 36px);overflow:auto;overscroll-behavior:contain;padding:18px 18px 24px}
200.ltl-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
201.ltl-drawer-head h3{margin:0;font-size:20px;letter-spacing:-.03em}
202.ltl-block-title{margin:16px 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--srp-mint)}
203.ltl-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:13px}
204.ltl-detail-grid span{color:var(--srp-muted)}
205.ltl-boundary{font-size:13px;line-height:1.5;color:#c7ddd6;margin:0 0 10px}
206.ltl-systems{margin:0;padding-left:18px;color:var(--srp-muted);font-size:13px}
207.ltl-method{margin:0;padding-left:18px;color:#c7ddd6;font-size:13px;line-height:1.55}
208.ltl-method li{margin-bottom:8px}
209@media(max-width:980px){
210  .ltl-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
211}
212@media(max-width:760px){
213  .ltl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
214  .ltl-desktop{display:none}
215  .ltl-mobile{display:block}
216  .ltl-drawer-bg{padding:10px;align-items:flex-end}
217  .ltl-drawer{width:100%;max-height:85vh;border-radius:18px}
218}
219/* Panel head */
220.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}
221.panel-head h3{margin:0;letter-spacing:-.04em;font-size:18px;line-height:1.3}
222/* Tabs */
223.srp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
224.srp-tab{display:inline-flex;align-items:center;min-height:32px;border:1px solid var(--srp-line2);border-radius:999px;padding:6px 12px;background:rgba(72,255,208,.05);color:#d6ece5;font-size:12px;font-weight:850;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
225.srp-tab:hover{border-color:var(--srp-mint);color:var(--srp-text)}
226.srp-tab:focus-visible{outline:2px solid var(--srp-mint);outline-offset:2px}
227.srp-tab.active{background:var(--srp-mint);border-color:var(--srp-mint);color:#03110d}
228/* Search */
229.search-row{margin-bottom:13px}
230.search-row input{width:100%;padding:12px 13px;border:1px solid var(--srp-line);border-radius:12px;color:var(--srp-text);background:rgba(0,0,0,.18);outline:none}
231.search-row input::placeholder{color:var(--srp-muted)}
232/* Scrollable table */
233.srp-table-scroll{flex:1 1 0;overflow-y:auto;overflow-x:hidden}
234.signal-table{width:100%;border-collapse:collapse}
235.signal-table th{font-size:11px;color:var(--srp-muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:8px;position:sticky;top:0;background:rgba(6,25,19,.97);z-index:1}
236.signal-table td{border-top:1px solid rgba(85,255,203,.09);padding:11px 8px;font-size:13px}
237.signal-table tr{cursor:pointer}
238.signal-table tr:hover td,.signal-table tr.selected td{background:rgba(72,255,208,.07)}
239.srp-coin{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,rgba(72,255,208,.28),rgba(88,223,255,.14));font-size:10px;font-weight:950;color:var(--srp-mint);margin-right:9px;vertical-align:middle}
240.srp-coin-img{border-radius:50%;margin-right:9px;vertical-align:middle;background:rgba(0,0,0,.2)}
241.srp-sys{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,rgba(72,255,208,.22),rgba(88,223,255,.12));color:var(--srp-mint);border:1px solid var(--srp-line2);margin-right:8px;vertical-align:middle}
242/* Status chips */
243.srp-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:950}
244.routed{background:rgba(72,255,208,.12);border:1px solid rgba(72,255,208,.32);color:var(--srp-mint)}
245.watch{background:rgba(255,212,97,.1);border:1px solid rgba(255,212,97,.28);color:var(--srp-yellow)}
246.filtered{background:rgba(154,174,168,.08);border:1px solid rgba(154,174,168,.24);color:#a9bdb6}
247/* Footer line */
248.footer-line{display:flex;justify-content:space-between;align-items:center;color:var(--srp-muted);font-size:12px;margin-top:10px;flex-shrink:0}
249.text-btn{border:0;background:none;color:var(--srp-mint);font-weight:900;cursor:pointer;font-family:inherit;font-size:13px}
250.text-btn:hover{opacity:.8}
251/* Detail panel */
252.detail{padding:16px;display:flex;flex-direction:column}
253.detail h4{font-size:25px;letter-spacing:-.04em;margin:7px 0 6px;line-height:1.2}
254.detail-title{display:flex;align-items:center;gap:11px;margin-top:4px}
255.detail-title h4{margin:0}
256.detail-system{display:flex;align-items:center;gap:8px;min-height:24px;margin-top:6px;color:var(--srp-muted);font-size:12px;font-weight:800}
257.detail-system .srp-sys{margin-right:0}
258.detail-title .srp-coin-img,.detail-title .srp-coin{margin-right:0;flex-shrink:0}
259.detail-grid{display:grid;gap:9px;margin:14px 0}
260.detail-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(85,255,203,.08);padding-bottom:8px;color:var(--srp-muted);font-size:13px}
261.detail-row strong{color:var(--srp-text)}
262/* Confidence bars */
263.confidence{display:flex;gap:4px}
264.confidence i{display:block;width:14px;
264height:8px;border-radius:2px;background:var(--srp-mint)}
265/* Rationale */
266.rationale{border:1px solid var(--srp-line);border-radius:14px;background:rgba(0,0,0,.16);padding:12px;color:#c6dad4;font-size:13px;line-height:1.55}
267.detail-actions{display:grid;gap:10px;margin-top:13px}
268.btn-mini{padding:11px 12px;border-radius:12px;font-size:13px}
269/* How It Works */
270.how-title{text-align:center;margin:8px 0 20px}
271.how-title h2{font-size:35px;font-weight:900;letter-spacing:-.06em;margin:0;line-height:1.12}
272.how-title p{color:var(--srp-muted);margin:6px 0 0}
273.steps{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:18px}
274.step{position:relative;display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:22px}
275.step:not(:last-child)::after{content:'→';position:absolute;right:-16px;top:50%;transform:translateY(-50%);color:var(--srp-mint);font-size:28px;z-index:2}
276.big-icon{width:76px;height:76px;border-radius:50%;border:1px solid var(--srp-line2);background:radial-gradient(circle,rgba(72,255,208,.17),rgba(72,255,208,.03));display:grid;place-items:center;color:var(--srp-mint);font-size:34px;flex-shrink:0}
277.step h3{margin:0 0 8px;font-size:19px;line-height:1.3}
278.step p{margin:0;color:#c6d9d3;line-height:1.55;font-size:14px}
279/* Powered by AI Layers */
280/* Top Swarm Signals (Last 24h) — /api/swarm-signals-24h, no FE re-sort */
281.tss-cards{display:none}
282.tss-card{padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.05)}
283.tss-card:last-child{border-bottom:0}
284.tss-card-top{display:flex;align-items:center;gap:9px}
285.tss-card-top .tss-market{flex:1 1 auto;font-size:14px}
286.tss-card-best{font-weight:700;color:var(--srp-mint);font-size:15px}
287.tss-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;
288  color:var(--srp-muted);font-size:12px}
289@media (max-width:640px){
290  .tss-cards{display:block}
291  .tss-scroll{display:none}
292}
293.tss-section{padding-top:20px;padding-bottom:30px;scroll-margin-top:120px}
294.tss-sub{margin:0 0 16px;color:var(--srp-muted);font-size:14px;max-width:760px}
295.tss-panel{padding:16px 18px 14px}
296.tss-scroll{overflow-x:auto}
297.tss-table{width:100%;border-collapse:collapse;font-size:13px}
298.tss-table th{text-align:left;padding:8px 10px;color:var(--srp-muted);font-size:11px;
299  text-transform:uppercase;letter-spacing:.06em;font-weight:700;white-space:nowrap;
300  border-bottom:1px solid var(--srp-line)}
301.tss-table td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap}
302.tss-table tbody tr:last-child td{border-bottom:0}
303.tss-rank{color:var(--srp-muted)}
304.tss-market{font-weight:700}
305.tss-muted{color:var(--srp-muted)}.tss-dur{font-weight:700}
306.tss-best{font-weight:700;color:var(--srp-mint)}
307.tss-neg{color:#ff8a8a}
308.tss-side{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700}
309.tss-side.long{background:rgba(84,246,202,.12);border:1px solid rgba(84,246,202,.4);color:var(--srp-mint)}
310.tss-side.short{background:rgba(255,138,138,.12);border:1px solid rgba(255,138,138,.4);color:#ff8a8a}
311.tss-empty{padding:26px 8px;color:var(--srp-muted);font-size:14px;text-align:center}
312.tss-stale{margin:0 0 10px;color:var(--srp-muted);font-size:12px}
313.tss-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
314  margin-top:12px;padding-top:12px;border-top:1px solid var(--srp-line)}
315.tss-disclosure{color:var(--srp-muted);font-size:11px;line-height:1.5;max-width:640px}
316.tss-cta{white-space:nowrap}
317@media (max-width:860px){
318  .tss-foot{flex-direction:column;align-items:stretch}
319  .tss-cta{width:100%}
320}
321/* Vault sample (homepage) — mirrors the product Vault table + timeline */
322.vault-sample-section{padding-top:20px;padding-bottom:30px;scroll-margin-top:120px}
323.vault-sample-lead{max-width:760px;margin:-6px 0 20px;color:var(--srp-muted);font-size:15px;line-height:1.55}
324.vault-sample-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:16px;align-items:stretch}
325.vault-sample-panel{padding:16px;overflow:hidden}
326.vault-sample-panel h3{margin:0 0 12px;font-size:15px;letter-spacing:-.02em;line-height:1.3}
327.vault-sample-table{width:100%;border-collapse:collapse;font-size:12.5px}
328.vault-sample-table th{text-align:left;padding:7px 8px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--srp-muted);border-bottom:1px solid var(--srp-line)}
329.vault-sample-table td{padding:10px 8px;border-bottom:1px solid var(--srp-line);vertical-align:middle;white-space:nowrap}
330.vault-sample-table tr:last-child td{border-bottom:none}
331.vault-sample-mkt{font-weight:850}
332.vs-delta{font-weight:900}
333.vs-delta.up{color:var(--srp-mint)}
334.vs-delta.down{color:#f0a98a}
335.vs-event{color:var(--srp-muted);white-space:normal}
336.vault-sample-tl{display:flex;flex-direction:column;gap:12px}
337.vs-tl-item{border:1px solid var(--srp-line);border-radius:14px;padding:12px 13px;background:rgba(0,0,0,.16)}
338.vs-tl-head{display:flex;align-items:center;gap:8px;font-weight:900;font-size:13px;margin-bottom:5px}
339.vs-tl-body{font-size:12.5px;line-height:1.5;color:var(--srp-muted)}
340.vs-tl-when{font-size:11.5px;color:var(--srp-muted);margin-top:6px}
341.vault-sample-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;font-size:12.5px;color:var(--srp-muted)}
342.vault-sample-flow b{color:var(--srp-text);font-weight:850}
343.vault-sample-cta{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
344@media(max-width:1024px){.vault-sample-grid{grid-template-columns:1fr}}
345@media(max-width:640px){
346  .vault-sample-panel{overflow-x:auto}
347  .vault-sample-table{min-width:520px}
348}
349.ai-layers-section{padding-top:20px;padding-bottom:26px}
350.divider-title{display:flex;align-items:center;gap:18px;margin:0 0 22px}
351.divider-title::before,.divider-title::after{content:'';flex:1;height:1px;background:var(--srp-line)}
352.divider-title span{font-size:20px;font-weight:900;letter-spacing:-.02em;white-space:nowrap}
353.ai-layers{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
354.ai-layer{padding:20px 18px;border-radius:18px}
355.ai-layer-icon{width:44px;height:44px;border-radius:50%;border:1px solid var(--srp-line2);background:radial-gradient(circle,rgba(72,255,208,.17),rgba(72,255,208,.03));display:grid;place-items:center;color:var(--srp-mint);font-size:20px;margin-bottom:13px}
356.ai-layer h3{margin:0 0 8px;font-size:15px;color:var(--srp-mint);letter-spacing:-.02em;line-height:1.3}
357.ai-layer p{margin:0;color:var(--srp-muted);font-size:13px;line-height:1.5}
358/* CTA band */
359.cta-band{margin:10px max(48px,calc((100% - var(--srp-max)) / 2)) 58px;padding:30px 34px;display:grid;grid-template-columns:1.6fr auto auto;gap:26px;align-items:center;border-radius:20px}
360.cta-copy h2{margin:0 0 8px;font-size:28px;font-weight:900;letter-spacing:-.04em;line-height:1.2}
361.cta-copy p{margin:0;color:#c9ddd6;font-size:15px;line-height:1.5}
362.cta-chips{list-style:none;display:grid;gap:9px;margin:0;padding:0;font-size:14px;color:#cfe2dc;font-weight:800}
363.cta-chips b{color:var(--srp-mint);margin-right:8px}
364/* Pricing (single plan) */
365.pricing-section{padding-top:20px;padding-bottom:34px}
366.pricing-head{text-align:center;margin:0 auto 26px;max-width:640px}
367.pricing-head h2{font-size:35px;font-weight:900;letter-spacing:-.06em;margin:0 0 8px;line-height:1.12}
368.pricing-head p{color:var(--srp-muted);margin:0;font-size:15px;line-height:1.5}
369.pricing-wrap{display:flex;justify-content:center}
370.pricing-card{width:min(420px,100%);padding:30px 28px;text-align:center;position:relative}
371.pricing-badge{display:inline-block;font-size:11px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:var(--srp-mint);border:1px solid var(--srp-line2);background:rgba(72,255,208,.09);border-radius:999px;padding:5px 12px;margin-bottom:16px}
372.pricing-plan-name{font-size:22px;font-weight:900;letter-spacing:-.03em;margin:0 0 6px}
373.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:6px 0 4px}
374.pricing-price .amount{font-size:52px;font-weight:950;letter-spacing:-.05em;line-height:1;color:var(--srp-text)}
375.pricing-price .period{color:var(--srp-muted);font-size:15px;font-weight:800}
376.pricing-trial{color:var(--srp-mint);font-weight:850;font-size:14px;margin:0 0 18px}
377.pricing-features{list-style:none;text-align:left;display:grid;gap:11px;margin:0 0 22px;padding:0;font-size:14px;color:#cfe2dc}
378.pricing-features li{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start}
379.pricing-features b{color:var(--srp-mint)}
380.pricing-note{margin:14px 0 0;font-size:12px;color:var(--srp-muted);line-height:1.5}
381/* Discover — one live profile at a time, card-deck presentation */
382.discover-section{padding-top:20px;padding-bottom:26px}
383.discover-head{text-align:center;margin:0 auto 24px;max-width:640px}
384.discover-head h2{font-size:35px;font-weight:900;letter-spacing:-.06em;margin:0 0 8px;line-height:1.12}
385.discover-head p{color:var(--srp-muted);margin:0;font-size:15px;line-height:1.5}
386.discover-wrap{display:flex;justify-content:center}
387.discover-stack{position:relative;width:min(480px,100%)}
388.discover-stack::before{content:'';position:absolute;left:16px;right:16px;top:14px;bottom:-10px;border:1px solid var(--srp-line);border-radius:22px;background:rgba(4,16,13,.6)}
389.discover-card{position:relative;padding:24px 24px 20px}
390.discover-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
391.discover-top h3{margin:0;font-size:22px;letter-spacing:-.03em;line-height:1.2}
392.discover-score{margin-left:auto;text-align:right}
393.discover-score small{display:block;color:var(--srp-muted);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}
394.discover-score strong{font-size:26px;letter-spacing:-.04em;color:var(--srp-mint)}
395.discover-facts{display:grid;gap:9px;margin:14px 0}
396.discover-verdict{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 8px}
397.discover-verdict-btn{border-radius:999px;padding:11px 8px;font-size:13px;font-weight:950;letter-spacing:-.01em;cursor:pointer;background:rgba(0,0,0,.16);border:1px solid var(--srp-line);color:var(--srp-muted);font-family:inherit;transition:.18s ease}
398.discover-verdict-btn:hover{transform:translateY(-1px);border-color:rgba(72,255,208,.55)}
399/* Active verdict button mirrors the status-chip palette so the radar's pick reads instantly */
400.discover-verdict-btn.routed{background:rgba(72,255,208,.14);border-color:rgba(72,255,208,.45);color:var(--srp-mint);box-shadow:0 0 18px rgba(72,255,208,.14)}
401.discover-verdict-btn.watch{background:rgba(255,212,97,.12);border-color:rgba(255,212,97,.42);color:var(--srp-yellow);box-shadow:0 0 18px rgba(255,212,97,.1)}
402.discover-verdict-btn.filtered{background:rgba(154,174,168,.14);border-color:rgba(154,174,168,.45);color:#cfe0da;box-shadow:0 0 18px rgba(154,174,168,.1)}
403.discover-verdict-note{margin:0;text-align:center;color:var(--srp-muted);font-size:12px;line-height:1.5}
404.discover-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
405.discover-count{color:var(--srp-muted);font-size:12px;font-weight:800}
406/* Site footer */
407.site-footer{position:relative;z-index:1;border-top:1px solid var(--srp-line);padding:26px 48px 34px;text-align:center;color:var(--srp-muted);font-size:13px}
408.site-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;margin-bottom:12px;font-weight:800}
409.site-footer-links a:hover{color:var(--srp-mint)}
410.site-footer-note{margin:0 0 6px}
411.site-footer-copy{margin:0;font-size:12px}
412
413/* Profile modal */
414.srp-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}
415.srp-modal-card{width:min(980px,96vw);max-height:92vh;overflow:auto;overscroll-behavior:contain;padding:22px}
416.srp-modal-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}
417.srp-modal-top h2{font-size:38px;font-weight:900;letter-spacing:-.06em;margin:0;line-height:1.12}
418.srp-modal-top p{margin:6px 0 0;color:var(--srp-muted)}
419.srp-close-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--srp-line);background:rgba(0,0,0,.2);color:var(--srp-text);cursor:pointer;font-size:22px;flex-shrink:0}
420.srp-profile-layout{display:grid;grid-template-columns:1fr 360px;gap:16px}
421.srp-profile-main,.srp-profile-side{border:1px solid var(--srp-line);border-radius:18px;padding:18px;background:rgba(0,0,0,.12)}
422.srp-levels{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
423.srp-level{border:1px solid var(--srp-line);border-radius:14px;padding:14px;background:rgba(0,0,0,.16)}
424.srp-level small{display:block;color:var(--srp-muted);font-size:11px;text-transform:uppercase;font-weight:900}
425.srp-level strong{display:block;margin-top:5px;color:var(--srp-mint);font-size:22px}
426.srp-modal-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:16px}
427.srp-preflight-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(85,255,203,.08);padding-bottom:8px;color:var(--srp-muted);font-size:13px}
428.srp-preflight-row strong{color:var(--srp-text)}
429.srp-pass{color:var(--srp-green)!important}
430.srp-fail{color:var(--srp-red)!important}
431/* Toast */
432.srp-toast{position:fixed;right:22px;bottom:22px;z-index:70;border:1px solid var(--srp-line2);background:rgba(8,22,18,.96);border-radius:14px;padding:13px 16px;color:var(--srp-text);box-shadow:var(--srp-shadow);transition:.2s;pointer-events:none}
433/* Responsive */
434@media(max-width:1350px){
435  .hero{grid-template-columns:1fr;min-height:auto}
436  .terminal-wrap{grid-template-columns:1fr}
437  .steps{grid-template-columns:1fr 1fr}
438  .step:not(:last-child)::after{display:none}
439  .ai-layers{grid-template-columns:repeat(2,1fr)}
440  .cta-band{grid-template-columns:1fr;margin:10px 18px 44px;text-align:left}
441  .hero-cards{grid-template-columns:1fr}
442  /* Single-column hero leaves the radar panel without a definite height, so the
443     flex:1 1 0 table wrapper collapsed to 0px between 761px and 1350px. */
444  .srp-table-scroll{flex:none;max-height:520px}
445}
446@media(max-width:760px){
447  .srp-header{padding:0 18px}
448  .srp-desktop-nav{display:none}
449  .section{padding:34px 18px}
450  .hero h1{font-size:42px;line-height:1.12}
451  .terminal-wrap{display:block}
452  .detail{margin-top:12px}
453  .steps,.ai-layers{grid-template-columns:1fr}
454  .cta-band{margin:10px 18px 40px;padding:24px 20px}
455  .srp-profile-layout,.srp-modal-actions,.srp-levels{grid-template-columns:1fr}
456  /* Radar widget: once .terminal-wrap becomes display:block the panel loses its
457     fixed height, so the flex:1 1 0 + overflow-y:auto table wrapper collapsed
458     to 0px and the top-8 list was invisible on phones. Give it its natural
459     height and let wide rows swipe horizontally instead. */
460  .srp-table-scroll{flex:none;max-height:none;overflow-y:hidden;overflow-x:auto}
461  .site-footer{padding:22px 18px 28px}
462}
463@media(max-width:640px){
464  /* Hero content (H1 / H2 / paragraph) was clipping past the right edge at 390px
465     ("SwarmTrade™ Pr…", "Terminal f…"). Root cause: the single-column grid item
466     kept its min-content width (~449px) and overflowed the viewport, hidden by
467     overflow-x. min-width:0 lets the column shrink so text wraps in-viewport. */
468  .hero{min-width:0}
469  .hero > div{min-width:0}
470  /* Also scale the long brand headline down so it reads well on narrow screens. */
471  .hero h1{font-size:clamp(30px,8vw,42px);overflow-wrap:break-word;word-break:normal}
472  /* Header: below ~600px the brand (10XT SwarmTrade™ + Pro badge) and the action
473     buttons no longer fit on one 76px row, so the Pro badge collided with the
474     Live Demo button. Let the bar wrap: brand on row 1, actions on row 2.
475     !important beats global mobile.scss header{height:56px;padding:…} hammer. */
476  .srp-header{flex-wrap:wrap!important;height:auto!important;min-height:76px;padding:10px 18px!important;row-gap:8px!important}
477  .srp-header-actions{margin-left:auto!important}
478}
479@media(max-width:480px){
480  .srp-header{padding:10px 14px!important}
481  .section{padding:28px 14px}
482  .cta-band{margin:10px 14px 36px}
483  .cta-copy h2{font-size:23px;line-height:1.2}
484  .discover-card{padding:20px 16px 16px}
485  .discover-verdict-btn{padding:10px 4px;font-size:12px}
486}
487`,Le="(max-width: 760px)",de=7;function ut(){const t=Ve();i.useEffect(()=>{try{const s=new URLSearchParams(window.location.search);if(s.get("checkout")!=="cancelled")return;oe({name:"checkout_cancelled",surface:"checkout",props:{source:"stripe_cancel_url",path:window.location.pathname}}),s.delete("checkout");const o=`${window.location.pathname}${s.toString()?`?${s}`:""}${window.location.hash||"#pricing"}`;window.history.replaceState({},"",o)}catch{}},[]);const[a,n]=i.useState([]),[l,x]=i.useState({total:0,routed:0,watch:0,deprioritized:0}),[j,X]=i.useState(ot),[T,ee]=i.useState("All"),[v,R]=i.useState(""),[K,w]=i.useState(0),[Q,P]=i.useState(()=>typeof window<"u"&&window.matchMedia(Le).matches),[N,C]=i.useState(!1);i.useEffect(()=>{const s=window.matchMedia(Le),o=()=>P(s.matches);return o(),s.addEventListener("change",o),()=>s.removeEventListener("change",o)},[]),i.useEffect(()=>{w(0)},[T,v]);const[A,U]=i.useState(null),[F,B]=i.useState(0),[W,D]=i.useState(""),[c,q]=i.useState(!1),[d,m]=i.useState(!1),[g,O]=i.useState("signin"),[u,h]=i.useState(null),[_,S]=i.useState(!1),f=(s,o)=>{const y=o?.next||(o?.vault?"/vault":"/swarmtrade");oe({name:"auth_prompt_shown",surface:"auth",props:{mode:s,source:o?.source||"swarm_home",from_surface:"swarm_home",vault:!!o?.vault,next:y}});try{sessionStorage.setItem("swarm_post_auth_redirect",y)}catch{}S(!!o?.vault),O(s),m(!0)},z=i.useRef(null),$=i.useRef(null),te=i.useRef(null);i.useEffect(()=>{ue.auth.getSession().then(({data:o})=>h(o.session?.user??null));const{data:{subscription:s}}=ue.auth.onAuthStateChange((o,y)=>h(y?.user??null));return()=>s.unsubscribe()},[]),i.useEffect(()=>{let s=!1;const o=b=>{const E=String(b.bias||"neutral").toLowerCase();return{signal_id:String(b.market),rank:b.rank==null?0:Number(b.rank),market:String(b.market),side:E,signal_state:b.signal_state,system:String(b.leading_agent||""),status:E==="neutral"?"Watch":"Routed",
487score:Number(b.swarm_score)||0,freshness_label:"",freshness_sec:0,signal_created_at:b.last_updated||b.last_evaluated_at||null,entry_range:null,stop:null,tp:null,reward_risk:null,rationale:String(b.rationale||""),execution_preflight:null,estimated_friction_bps:0,estimated_net_edge_bps:null,confluence_count:Number(b.confluence_count)||0}},y=async()=>{try{const b=await fetch("/api/mi/universe?view=all&limit=250");if(!b.ok)return;const E=await b.json();if(s||!E?.ok||!Array.isArray(E.markets)||!E.markets.length)return;const se=E.markets.map(o).sort(Te);n(se),x({total:se.length,routed:se.filter(ce=>ce.status==="Routed").length,watch:se.filter(ce=>ce.status==="Watch").length,deprioritized:0}),X(ce=>se.find(Ae=>Ae.market===ce.market)||se[0])}catch{}};y();const k=setInterval(y,3e4);return()=>{s=!0,clearInterval(k)}},[]),i.useEffect(()=>{const s=j?.market;if(!s||s==="—"||s.startsWith("demo"))return;let o=!1;return(async()=>{try{const y=await fetch(`/api/mi/profile?market=${encodeURIComponent(s)}`);if(!y.ok)return;const k=await y.json();if(o||!k?.ok)return;const b=Array.isArray(k.agents)?k.agents.map(E=>({display:String(E.agent_name||E.display||E.system_id||"").replace(/\s*Agent$/i,""),direction:String(E.direction||"neutral").toLowerCase()})):[];U({market:s,rationale:k.rationale||void 0,confluence_count:k.confluence_count??void 0,side:k.bias?String(k.bias).toLowerCase():void 0,signal_created_at:k.last_updated||k.last_swarmed||void 0,agents:b,system:k.leading_agent||void 0})}catch{}})(),()=>{o=!0}},[j?.market]);const re=()=>{oe({name:"swarm_cta_clicked",surface:"swarm_home",props:{cta:xe.LIVE_RADAR}}),t("/swarmtrade")},Z=s=>{const o=s&&s!=="—"?s:void 0;oe({name:"swarm_cta_clicked",surface:"swarm_home",props:{cta:xe.VIEW_FULL_PROFILE,market:o}}),t(o?`/swarmtrade?market=${encodeURIComponent(o)}`:"/swarmtrade")},r=()=>{if(oe({name:"swarm_cta_clicked",surface:"swarm_home",props:{cta:xe.ADD_TO_VAULT}}),u){t("/vault");return}f("signup",{vault:!0,next:"/vault",source:"homepage_vault"})},p=a.filter(s=>{const o=T==="All"||Y(s)===T.toLowerCase(),y=v.toLowerCase(),k=!y||s.market.toLowerCase().includes(y)||s.system.toLowerCase().includes(y);return o&&k}).sort(Te),V=Math.max(1,Math.ceil(p.length/de)),M=Math.min(K,V-1),J=Q?p.slice(M*de,(M+1)*de):p,ae=s=>{s.current?.scrollIntoView({behavior:"smooth",block:"start"})},L=a.length?a[F%a.length]:null,ye=()=>B(s=>(s+1)%Math.max(a.length,1)),H=A&&A.market===j.market?{...j,...Object.fromEntries(Object.entries(A).filter(([,s])=>s!==void 0))}:j,je=ze(H.system);return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:gt}),e.jsxs("div",{className:"srp-root",children:[e.jsx("div",{className:"srp-bg-grid"}),e.jsxs("header",{className:"srp-header",children:[e.jsxs("div",{className:"srp-brand",onClick:()=>t("/"),children:[e.jsx("span",{className:"srp-brand-icon"}),e.jsx("span",{className:"srp-brand-10",children:"10XT"}),e.jsx("span",{className:"srp-brand-prod",children:"SwarmTrade™"})]}),e.jsxs("nav",{className:"srp-desktop-nav",children:[e.jsx("button",{onClick:()=>ae(te),children:"How It Works"}),e.jsx("button",{onClick:()=>ae(z),children:"Radar"}),e.jsx("button",{onClick:()=>u?t("/vault"):f("signup",{vault:!0,next:"/vault"}),children:"Vault"}),e.jsx("button",{onClick:()=>t("/page/applications"),children:"Use Cases"}),e.jsx("button",{onClick:()=>t("/page/company"),children:"Company"})]}),e.jsx("div",{className:"srp-header-actions",children:u?e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"srp-btn srp-btn-primary small",onClick:re,children:"Open Radar →"}),e.jsx("button",{className:"srp-btn small",onClick:()=>{ue.auth.signOut()},children:"Sign Out"})]}):e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"srp-btn small",onClick:()=>f("signin"),children:"Sign In"}),e.jsx("button",{className:"srp-btn srp-btn-primary small",onClick:()=>f("signup"),children:"Sign Up"})]})})]}),e.jsxs("main",{children:[e.jsxs("section",{className:"section hero",id:"top",children:[e.jsxs("div",{children:[e.jsx("div",{className:"eyebrow",children:"Live Market Intelligence"}),e.jsxs("h1",{children:["Swarm the Market. ",e.jsx("span",{children:"Know What Matters."})]}),e.jsx("h2",{children:"Market Intelligence. From Opportunity to Execution."}),e.jsx("p",{children:"Six independent trading systems continuously evaluate the same liquid crypto markets every five minutes. SwarmTrade identifies emerging agreement, preserves the evidence behind each market state, and connects that intelligence to a defined live trading strategy."}),e.jsxs("div",{className:"hero-cards",children:[e.jsxs("div",{className:"mini-feature",children:[e.jsx("i",{className:"icon",children:"◈"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Independent Market Intelligence"}),e.jsx("p",{children:"Six independent methodologies evaluate every market on the same five-minute cycle, identifying where evidence begins to align."})]})]}),e.jsxs("div",{className:"mini-feature",children:[e.jsx("i",{className:"icon",children:"↗"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Defined Execution Policy"}),e.jsx("p",{children:"The live strategy converts qualifying market intelligence into execution within the same five-minute evaluation cycle."})]})]}),e.jsxs("div",{className:"mini-feature",children:[e.jsx("i",{className:"icon",children:"⌂"}),e.jsxs("div",{children:[e.jsx("strong",{children:"Transparent Outcomes"}),e.jsx("p",{children:"Every completed trade is published from entry through exit, with realized outcomes recorded in the Live Trading Ledger."})]})]})]})]}),e.jsx("div",{className:"terminal-wrap",id:"radar",ref:z,children:e.jsxs("section",{className:"radar-panel srp-panel",children:[e.jsx("div",{className:"panel-head",children:e.jsx("h3",{children:"Live Intelligence Radar"})}),e.jsx("div",{className:"srp-tabs",children:["All","Long","Watch","Hold"].map(s=>e.jsxs("button",{className:`srp-tab${T===s?" active":""}`,onClick:()=>ee(s),children:[ct(s)," ",dt(a,s)]},s))}),e.jsx("div",{className:"search-row",children:e.jsx("input",{placeholder:"Filter markets...",value:v,onCh
487ange:s=>R(s.target.value)})}),e.jsx("div",{className:"srp-table-scroll",children:e.jsxs("table",{className:"signal-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Market"}),e.jsx("th",{children:"Bias"}),e.jsx("th",{children:"Confluence"}),e.jsx("th",{children:"Last Swarmed"})]})}),e.jsx("tbody",{children:p.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:4,style:{textAlign:"center",padding:18,opacity:.7},children:"Syncing live swarm…"})}):J.map(s=>e.jsxs("tr",{className:j.signal_id===s.signal_id?"selected":"",onClick:()=>{X(s),C(!0)},children:[e.jsxs("td",{children:[e.jsx(we,{market:s.market}),e.jsx("strong",{children:s.market})]}),e.jsx("td",{children:e.jsx("span",{className:`srp-chip ${Ee(Y(s))}`,children:he(Y(s))})}),e.jsx("td",{children:e.jsx("strong",{children:s.confluence_count==null?"—":`${s.confluence_count}/6`})}),e.jsx("td",{children:Re(s)})]},s.signal_id))})]})}),Q&&V>1?e.jsxs("div",{className:"ltl-pager srp-radar-pager",children:[e.jsx("button",{type:"button",className:"srp-btn",disabled:M===0,onClick:()=>w(M-1),children:"← Prev"}),e.jsxs("span",{className:"ltl-pager-meta",children:["Page ",M+1," of ",V," · ",M*de+1,"–",Math.min((M+1)*de,p.length)," of ",p.length]}),e.jsx("button",{type:"button",className:"srp-btn",disabled:M+1>=V,onClick:()=>w(M+1),children:"Next →"})]}):null,e.jsxs("div",{className:"footer-line",children:[e.jsxs("span",{children:["Showing ",p.length," of ",a.length," markets"]}),e.jsx("button",{className:"text-btn",onClick:()=>{ee("All"),R("")},children:"Reset filters"})]})]})})]}),e.jsx(nt,{}),e.jsx("div",{ref:s=>{$.current=s},children:e.jsx(Qe,{onViewMarket:s=>{const o=a.find(y=>y.market.toUpperCase()===s.toUpperCase());if(o){X(o),C(!0);return}Z(s)},onSignup:()=>{f("signup",{source:"ledger"})}})}),e.jsxs("section",{className:"section vault-sample-section",id:"vault-sample",children:[e.jsx("div",{className:"divider-title",children:e.jsx("span",{children:"Swarm Your Universe"})}),e.jsx("p",{className:"vault-sample-lead",children:"Save the markets that matter to you. SwarmTrade continuously monitors their Bias, Confluence and underlying evidence as conditions evolve."}),e.jsxs("div",{className:"vault-sample-grid",children:[e.jsxs("div",{className:"vault-sample-panel srp-panel",children:[e.jsx("h3",{children:"My Vault · 3 Markets · Continuously Monitored"}),e.jsxs("table",{className:"vault-sample-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"Market"}),e.jsx("th",{children:"Bias"}),e.jsx("th",{children:"Confluence"}),e.jsx("th",{children:"Latest Change"}),e.jsx("th",{children:"Last Changed"})]})}),e.jsx("tbody",{children:it.map(s=>e.jsxs("tr",{children:[e.jsx("td",{className:"vault-sample-mkt",children:s.market}),e.jsx("td",{children:s.bias}),e.jsx("td",{children:s.confluence}),e.jsxs("td",{className:"vs-event",children:[s.eventIcon," ",s.event]}),e.jsx("td",{children:s.swarmed})]},s.market))})]}),e.jsxs("div",{className:"vault-sample-flow",children:[e.jsx("b",{children:"Save"})," → ",e.jsx("b",{children:"Monitor"})," → ",e.jsx("b",{children:"Get Updated"})," → ",e.jsx("b",{children:"Return"}),e.jsx("span",{children:"· The Swarm keeps watching after you close the tab."})]})]}),e.jsxs("aside",{className:"vault-sample-panel srp-panel",children:[e.jsx("h3",{children:"Vault Timeline"}),e.jsx("div",{className:"vault-sample-tl",children:lt.map(s=>e.jsxs("div",{className:"vs-tl-item",children:[e.jsxs("div",{className:"vs-tl-head",children:[e.jsx("span",{children:s.icon}),s.headline]}),e.jsx("div",{className:"vs-tl-body",children:s.body}),e.jsx("div",{className:"vs-tl-when",children:s.when})]},s.headline))}),e.jsx("div",{className:"vault-sample-cta",children:e.jsx("button",{className:"srp-btn srp-btn-primary btn-mini",onClick:r,children:"Build My Vault →"})})]})]})]}),e.jsx("div",{id:"how",ref:te,children:e.jsx(We,{})}),e.jsxs("section",{className:"section ai-layers-section",children:[e.jsx("div",{className:"divider-title",children:e.jsx("span",{children:"Built Around the Intelligence"})}),e.jsxs("div",{className:"ai-layers",children:[e.jsxs("div",{className:"ai-layer srp-panel",children:[e.jsx("div",{className:"ai-layer-icon",children:"◈"}),e.jsx("h3",{children:"Six Independent Trading Systems"}),e.jsx("p",{children:"Trend, Momentum, Breakout, Mean Reversion, Volatility and Structure evaluate the same markets every five minutes."})]}),e.jsxs("div",{className:"ai-layer srp-panel",children:[e.jsx("div",{className:"ai-layer-icon",children:"◎"}),e.jsx("h3",{children:"Market Intelligence Profiles"}),e.jsx("p",{children:"Review Bias, Confluence, methodology-level evidence, freshness and market-state history for every ranked market."})]}),e.jsxs("div",{className:"ai-layer srp-panel",children:[e.jsx("div",{className:"ai-layer-icon",children:"▣"}),e.jsx("h3",{children:"Transparent & Explainable"}),e.jsx("p",{children:"See the complete six-system breakdown, including confirming, non-confirming and opposing evidence behind the current market state."})]}),e.jsxs("div",{className:"ai-layer srp-panel",children:[e.jsx("div",{className:"ai-layer-icon",children:"⊙"}
487),e.jsx("h3",{children:"Defined Live Strategy"}),e.jsx("p",{children:"A separate execution policy converts qualifying intelligence into live trades while keeping the underlying analytical evidence intact."})]}),e.jsxs("div",{className:"ai-layer srp-panel",children:[e.jsx("div",{className:"ai-layer-icon",children:"★"}),e.jsx("h3",{children:"Forward-Tracked Intelligence"}),e.jsx("p",{children:"Market states and completed trades are recorded over time, preserving an inspectable path from intelligence through realized outcome."})]})]})]}),L&&e.jsxs("section",{className:"section discover-section",id:"discover",children:[e.jsxs("div",{className:"discover-head",children:[e.jsx("h2",{children:"Explore Market Intelligence"}),e.jsx("p",{children:"Review one live market at a time. See Bias, Confluence, Last Swarmed and rationale—then open the full Market Intelligence Profile."})]}),e.jsx("div",{className:"discover-wrap",children:e.jsx("div",{className:"discover-stack",children:e.jsxs("div",{className:"discover-card srp-panel",children:[e.jsxs("div",{className:"discover-top",children:[e.jsx(we,{market:L.market,size:34}),e.jsxs("div",{children:[e.jsx("h3",{children:L.market}),e.jsxs("span",{className:"detail-system",children:[e.jsx(Ce,{system:L.system}),he(Y(L))," · Leading System: ",ze(L.system)]})]})]}),e.jsx("div",{className:"discover-facts",children:e.jsx(Me,{s:L,showScore:!1})}),e.jsxs("div",{className:"rationale",children:[e.jsx("strong",{children:"Swarm Rationale"}),e.jsx("br",{}),L.rationale]}),e.jsxs("div",{className:"discover-verdict",children:[e.jsx("button",{className:"discover-verdict-btn",onClick:ye,children:"Next"}),e.jsx("button",{className:"discover-verdict-btn",onClick:r,children:"Add to Vault"}),e.jsx("button",{className:"discover-verdict-btn routed",onClick:()=>Z(L.market),children:"View Profile"})]}),e.jsx("p",{className:"discover-verdict-note",children:"This profile reflects the latest completed six-system evaluation cycle."}),e.jsxs("div",{className:"discover-nav",children:[e.jsxs("span",{className:"discover-count",children:[F%a.length+1," of ",a.length]}),e.jsx("button",{className:"text-btn",onClick:ye,children:"Next market →"})]})]})})})]}),e.jsxs("section",{className:"cta-band srp-panel",children:[e.jsxs("div",{className:"cta-copy",children:[e.jsx("h2",{children:"Stop Scanning. Start Swarming."}),e.jsx("p",{children:"Know where to start, understand why, and let the Swarm keep monitoring what matters."})]}),e.jsx("div",{className:"cta-action",children:u?e.jsx("button",{className:"srp-btn srp-btn-primary",onClick:re,children:"Open Radar →"}):e.jsx("button",{className:"srp-btn srp-btn-primary",onClick:re,children:"Explore Live Radar →"})}),e.jsxs("ul",{className:"cta-chips",children:[e.jsxs("li",{children:[e.jsx("b",{children:"✓"})," Live Intelligence Radar"]}),e.jsxs("li",{children:[e.jsx("b",{children:"✓"})," Six-System Market Intelligence"]}),e.jsxs("li",{children:[e.jsx("b",{children:"✓"})," Continuous Vault Monitoring"]})]})]})]}),e.jsxs("footer",{className:"site-footer",children:[e.jsxs("nav",{className:"site-footer-links",children:[e.jsx("a",{href:"/page/risk-disclaimer",children:"Risk Disclaimer"}),e.jsx("a",{href:"/page/terms-of-service",children:"Terms of Service"}),e.jsx("a",{href:"/page/privacy-policy",children:"Privacy Policy"}),e.jsx("a",{href:"/page/faq",children:"FAQ"})]}),e.jsx("p",{className:"site-footer-note",children:"Trading involves substantial risk. Rankings, Bias, Confluence, and Market Intelligence Profiles are informational and do not constitute individualized financial advice. Historical or forward-observed market performance does not guarantee future results. Trade execution and position management occur on the user's selected exchange."}),e.jsx("p",{className:"site-footer-copy",children:"© 2026 10XT. All rights reserved."})]}),N&&j.market&&j.market!=="—"&&e.jsx("div",{className:"ltl-drawer-bg",role:"presentation",onClick:()=>C(!1),children:e.jsxs("div",{className:"ltl-drawer srp-panel",role:"dialog","aria-label":"Market Intelligence Profile",onClick:s=>s.stopPropagation(),children:[e.jsxs("div",{className:"ltl-drawer-head",children:[e.jsxs("div",{className:"discover-top",children:[e.jsx(we,{market:H.market,size:34}),e.jsxs("div",{children:[e.jsx("h3",{children:H.market}),e.jsxs("span",{className:"detail-system",children:[e.jsx(Ce,{system:H.system}),he(Y(H)),je!=="—"?` · Leading System: ${je}`:""]})]})]}),e.jsx("button",{type:"button",className:"text-btn",onClick:()=>C(!1),children:"Close"})]}),e.jsx("h4",{className:"ltl-block-title",children:"Market Intelligence"}),e.jsx("div",{className:"discover-facts",children:e.jsx(Me,{s:H,showScore:!1})}),H.rationale?e.jsxs(e.Fragment,{children:[e.jsx("h4",{className:"ltl-block-title",children:"Swarm Rationale"}),e.jsx("div",{className:"rationale",children:H.rationale})]}):null,e.jsx("button",{type:"button",className:"srp-btn srp-btn-primary full",style:{marginTop:16},onClick:()=>{C(!1),Z(H.market)}
487,children:"View Market Intelligence Profile →"}),e.jsx("button",{type:"button",className:"srp-btn full",style:{marginTop:10},onClick:()=>{C(!1),r()},children:"Add to Vault"})]})}),e.jsx("div",{className:"srp-toast",style:{opacity:c?1:0,transform:c?"translateY(0)":"translateY(10px)"},children:W}),d&&e.jsx(Oe,{isOpen:d,mode:g,onClose:()=>{m(!1),S(!1)},contextHeading:_?"Save this market and let the Swarm keep watching it.":void 0,contextBody:_?"Create a free account to add markets to your Vault.":void 0})]})]})}const zt=()=>[];function Tt(){return e.jsx(Pe,{fallback:e.jsx("div",{style:{minHeight:"100vh",background:"linear-gradient(180deg,#020807 0%,#061413 44%,#030a09 100%)",display:"flex",alignItems:"center",justifyContent:"center",color:"#54f6ca",fontFamily:"Inter,sans-serif",fontSize:18},children:"Loading SwarmTrade…"}),children:()=>e.jsx(ut,{})})}export{Tt as default,zt as meta};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.