PageSourceSearch

https://www.unifiedcrm.ai/assets/Landing-D-Sugw7D.js

js unifiedcrm.ai collected 2026-10-05 13:10:30 UTC 96,940 bytes, 1 lines download raw bytes

1import{u as ie,r as n,j as e,ct as oa,d3 as la,cA as ca,dl as ia,b as da}from"./index-BokBcvef.js";import{l as qs,a as _a,f as pa}from"./plan-features-CsHW5Oov.js";import{M as ha}from"./mcp-catalog-D_NBkQuo.js";import{u as ma,C as ua,c as l,a as ga,M as Fe}from"./MarketingShell-BmxY2GO8.js";import{E as xe}from"./Eyebrow-Bdv11X5l.js";import{T as De,u as he,P as Re,C as Fs,a as fa,H as Ds,R as ce}from"./ClosingCta-D8_35UsG.js";import{F as wa}from"./FeatureWall-54mT89dO.js";import{T as xa,C as ba,a as ka,s as ya}from"./CoinStack-fCy63bu8.js";import{u as Bs}from"./useTween-DQfAWz8r.js";import{s as ja,n as va}from"./UserPlus.es-CXECocng.js";import{C as Na}from"./credit-addons-BackbiXZ.js";import{P as Sa}from"./site-meta-BMinDe9p.js";import{u as Aa}from"./usePageMeta-DayhpDkI.js";import"./quota-plans-BI2dQx_Z.js";import"./analytics-C4bPpHpE.js";import"./referrals-DcnDmGru.js";const Hs=40,Ra=69,Ca="_wrap_1hu7g_5",Ma="_glow_1hu7g_12",Ea="_shell_1hu7g_22",Ta="_entered_1hu7g_31",$a="_panel_1hu7g_36",Pa="_mono_1hu7g_43",La="_badge_1hu7g_54",Oa="_title_1hu7g_93",Ia="_accent_1hu7g_102",qa="_sub_1hu7g_106",Fa="_cta_1hu7g_116",Da="_fine_1hu7g_140",Ba="_still_1hu7g_146",Q={wrap:Ca,glow:Ma,shell:Ea,entered:Ta,panel:$a,mono:Pa,"badge-row":"_badge-row_1hu7g_54",badge:La,"badge-star":"_badge-star_1hu7g_78",title:Oa,accent:Ia,sub:qa,cta:Fa,"cta-away":"_cta-away_1hu7g_123","cta-home":"_cta-home_1hu7g_127",fine:Da,still:Ba},Ha=150;function Ua({onStartTrial:s}){const t=ie("(prefers-reduced-motion: reduce)"),[r,o]=n.useState(!1),h=t||r,c=n.useRef(null),g=ma(c,s);return n.useEffect(()=>{if(t)return;const C=window.setTimeout(()=>o(!0),Ha);return()=>window.clearTimeout(C)},[t]),e.jsxs("div",{className:l(Q.wrap,h&&Q.entered,t&&Q.still),children:[e.jsx("div",{className:Q.glow,"aria-hidden":"true"}),e.jsx(xa,{radius:30,ringSize:900,seconds:8,still:t,className:Q.shell,children:e.jsxs("div",{className:Q.panel,children:[e.jsx("div",{className:Q["badge-row"],children:e.jsxs("span",{className:Q.badge,children:[e.jsx("span",{className:Q["badge-star"],"aria-hidden":"true",children:"✦"}),"Free for ",De," days"]})}),e.jsxs("h2",{className:Q.title,children:[De," days of ",e.jsx("span",{className:Q.accent,children:"Pro."})]}),e.jsx("p",{className:Q.sub,children:"Every feature, on every plan. Cancel before it ends and pay nothing."}),e.jsx("div",{ref:c,className:l(Q.cta,g==="away"&&Q["cta-away"],g==="returned"&&Q["cta-home"]),children:e.jsx(ua,{size:"lg",block:!0,nudge:!t,shimmer:!t,onClick:s,children:"Start my trial"})}),e.jsx("div",{className:l(Q.mono,Q.fine),children:"Setup in 60 seconds"})]})})]})}function $e(s,t){const[r,o]=n.useState(1);return n.useEffect(()=>{const h=s.current;if(!h||typeof ResizeObserver>"u")return;const c=()=>o(h.clientWidth/t||1);c();const g=new ResizeObserver(c);return g.observe(h),()=>g.disconnect()},[s,t]),r}const Ga="_wrap_cwlwb_11",Wa="_stage_cwlwb_56",Ya="_topbar_cwlwb_72",za="_metric_cwlwb_113",Ka="_board_cwlwb_176",Va="_column_cwlwb_183",Xa="_dot_cwlwb_211",Qa="_card_cwlwb_242",Za="_ring_cwlwb_304",Ja="_avatar_cwlwb_367",et="_badge_cwlwb_380",m={wrap:Ga,stage:Wa,topbar:Ya,"topbar-title":"_topbar-title_cwlwb_86","topbar-name":"_topbar-name_cwlwb_92","topbar-scope":"_topbar-scope_cwlwb_98","topbar-spacer":"_topbar-spacer_cwlwb_103","topbar-divider":"_topbar-divider_cwlwb_107",metric:za,"metric-label":"_metric-label_cwlwb_119","metric-value":"_metric-value_cwlwb_127","metric-delta":"_metric-delta_cwlwb_134","metric-delta-on":"_metric-delta-on_cwlwb_143","milo-chip":"_milo-chip_cwlwb_147","milo-mark-sm":"_milo-mark-sm_cwlwb_160",board:Ka,column:Va,"column-won":"_column-won_cwlwb_193","column-head":"_column-head_cwlwb_197","column-name":"_column-name_cwlwb_205",dot:Xa,"dot-disc":"_dot-disc_cwlwb_217","dot-prop":"_dot-prop_cwlwb_218","dot-neg":"_dot-neg_cwlwb_219","dot-won":"_dot-won_cwlwb_220","column-label":"_column-label_cwlwb_222","column-count":"_column-count_cwlwb_227","column-total":"_column-total_cwlwb_233",card:Qa,"card-moving":"_card-moving_cwlwb_264","card-flagged":"_card-flagged_cwlwb_269","card-milo":"_card-milo_cwlwb_274","card-row":"_card-row_cwlwb_278","card-name":"_card-name_cwlwb_285","card-amount":"_card-amount_cwlwb_291","card-mid":"_card-mid_cwlwb_298",ring:Za,"ring-svg":"_ring-svg_cwlwb_311","ring-track":"_ring-track_cwlwb_316","ring-arc":"_ring-arc_cwl
1wb_322","ring-score":"_ring-score_cwlwb_332","card-health":"_card-health_cwlwb_343","health-word":"_health-word_cwlwb_351","health-sub":"_health-sub_cwlwb_357","health-good":"_health-good_cwlwb_363","health-watch":"_health-watch_cwlwb_364","health-risk":"_health-risk_cwlwb_365",avatar:Ja,"badge-slot":"_badge-slot_cwlwb_380",badge:et,"badge-on":"_badge-on_cwlwb_403","badge-dot":"_badge-dot_cwlwb_408","badge-good":"_badge-good_cwlwb_415","badge-bad":"_badge-bad_cwlwb_416","badge-milo":"_badge-milo_cwlwb_417","milo-card":"_milo-card_cwlwb_421","milo-card-on":"_milo-card-on_cwlwb_441","milo-mark":"_milo-mark_cwlwb_160","milo-text":"_milo-text_cwlwb_460","milo-name":"_milo-name_cwlwb_467","milo-message":"_milo-message_cwlwb_472","milo-meta":"_milo-meta_cwlwb_478",static:"_static_cwlwb_488"},st=1148,at=268,tt=12,nt=20,rt=112,ot=112,lt=10,hs=s=>nt+s*(at+tt),ns=[{id:"disc",name:"Discovery",w:.1,dotClass:m["dot-disc"]},{id:"prop",name:"Proposal",w:.3,dotClass:m["dot-prop"]},{id:"neg",name:"Negotiation",w:.6,dotClass:m["dot-neg"]},{id:"won",name:"Closed won",w:1,dotClass:m["dot-won"]}],Me=[{id:"umbrella",name:"Umbrella",amount:48,owner:"JF",avatar:"#6b5f78"},{id:"hooli",name:"Hooli",amount:32,owner:"SK",avatar:"#3f7fd8"},{id:"cyberdyne",name:"Cyberdyne",amount:64,owner:"TM",avatar:"#c26a3a"},{id:"soylent",name:"Soylent",amount:28,owner:"JF",avatar:"#6b5f78"},{id:"globex",name:"Globex",amount:120,owner:"TM",avatar:"#c26a3a"},{id:"stark",name:"Stark",amount:86,owner:"JF",avatar:"#6b5f78"},{id:"tyrell",name:"Tyrell",amount:72,owner:"SK",avatar:"#3f7fd8"},{id:"wonka",name:"Wonka",amount:54,owner:"TM",avatar:"#c26a3a"},{id:"acme",name:"Acme",amount:210,owner:"SK",avatar:"#3f7fd8"},{id:"initech",name:"Initech",amount:95,owner:"TM",avatar:"#c26a3a"},{id:"wayne",name:"Wayne",amount:140,owner:"JF",avatar:"#6b5f78"},{id:"piedpiper",name:"Pied Piper",amount:60,owner:"SK",avatar:"#3f7fd8"}],ms={umbrella:["disc",0,66],hooli:["disc",1,58],cyberdyne:["disc",2,72],soylent:["disc",3,55],globex:["prop",0,62],stark:["prop",1,70],tyrell:["prop",2,64],wonka:["prop",3,81],acme:["neg",0,71],initech:["neg",1,82],wayne:["won",0,94],piedpiper:["won",1,90]},Ee=[{},{globex:["prop",0,74,"good","Email logged · +12"]},{globex:["neg",1,74],initech:["neg",2,82],stark:["prop",0,70],tyrell:["prop",1,64],wonka:["prop",2,81]},{acme:["neg",0,48,"bad","Champion quiet 9 days"]},{acme:["neg",0,58,"milo","Follow-up sent by Milo"]},{initech:["won",0,96,"good","Closed won"],wayne:["won",1,94],piedpiper:["won",2,90],acme:["neg",0,58],globex:["neg",1,74]}],Ye=Ee.length-1,ct=[0,1800,4200,6800,9200,12e3],ze=15800,it=320,dt=80,_t=1500,Ke=600,pt=1e3,ht=680,Us={3:["Acme's champion has gone quiet for 9 days. Want me to send a follow-up?","Signal · Acme"],4:["Sent a follow-up to Acme's champion and booked a check-in for Thursday.","Done · receipts attached"]},us=Us[4],mt="A pipeline board updating itself: an email is logged and a deal's health rises, the deal moves to Negotiation, Milo flags a quiet champion and sends a follow-up, and a deal closes.";function Be(s){const t={};for(const r of Object.keys(ms)){const[o,h,c]=ms[r];t[r]={stage:o,slot:h,health:c}}for(let r=1;r<=s;r+=1)for(const o of Object.keys(Ee[r])){const[h,c,g,C,k]=Ee[r][o];t[o]={stage:h,slot:c,health:g},r===s&&C&&(t[o].badgeKind=C,t[o].badgeText=k)}return t}function ut(s){const t={};for(let r=1;r<=s;r+=1)for(const o of Object.keys(Ee[r])){const[,,,h,c]=Ee[r][o];h&&c&&(t[o]=[h,c])}return t}const gt=s=>ns.find(t=>t.id===s)?.w??0;function Ve(s){const t=Be(s);return Me.reduce((r,o)=>r+o.amount*gt(t[o.id].stage),0)}function ft(s){const t=Be(s);return Me.filter(r=>t[r.id].stage==="won").reduce((r,o)=>r+o.amount,0)}function Ce(s){return s>=1e3?`$${(s/1e3).toFixed(2)}M`:`$${Math.round(s)}k`}const gs=s=>s>=70?m["health-good"]:s>=50?m["health-watch"]:m["health-risk"],wt=s=>s>=85?"Strong":s>=70?"Healthy":s>=50?"Watch":"At risk";function xt({forecast:s,delta:t,won:r,instant:o}){const h=Bs(s,o,ht);return e.jsxs("div",{className:m.topbar,"aria-hidden":"true",children:[e.jsxs("div",{className:m["topbar-title"],children:[e.jsx("span",{className:m["topbar-name"],children:"Pipeline"}),e.jsx("span",{className:m["topbar-scope"],children:"Q4 · All reps"})]}),e.jsx("div",{className:m["topbar-spacer"]}),e.jsxs("div",{className:m.metric,children:[e.jsx("span",{className:m["metric-label"],children:"Forecast"}
1),e.jsx("span",{className:m["metric-value"],"data-testid":"pipeline-forecast",children:Ce(h)}),e.jsx("span",{className:l(m["metric-delta"],t>0&&m["metric-delta-on"]),children:t>0?`+${Ce(t)}`:""})]}),e.jsx("div",{className:m["topbar-divider"]}),e.jsxs("div",{className:m.metric,children:[e.jsx("span",{className:m["metric-label"],children:"Won"}),e.jsx("span",{className:m["metric-value"],"data-testid":"pipeline-won",children:Ce(r)})]}),e.jsxs("div",{className:m["milo-chip"],children:[e.jsx("span",{className:m["milo-mark-sm"],children:"✦"}),e.jsxs("span",{children:["Milo is watching ",Me.length," deals"]})]})]})}function bt(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),r=$e(t,st),[o,h]=n.useState(()=>s?Ye:0),[c,g]=n.useState(()=>!s),[C,k]=n.useState(0),S=n.useRef([]),x=n.useRef(!1),b=n.useRef({phase:o,hidden:c});b.current={phase:o,hidden:c};const y=n.useCallback(()=>{for(const A of S.current)window.clearTimeout(A);S.current=[],x.current=!1},[]),P=n.useCallback(()=>{if(x.current)return;x.current=!0;const A=(K,O)=>{S.current.push(window.setTimeout(O,K))},F=b.current.hidden&&b.current.phase===0,U=F?dt:_t;F||(g(!0),A(Ke,()=>{h(0),k(0)})),A(U,()=>g(!1)),ct.forEach((K,O)=>{O!==0&&A(U+K+it,()=>{k(Ve(O)-Ve(O-1)),h(O)})}),A(U+ze,()=>g(!0)),A(U+ze+Ke,()=>{h(0),k(0)}),A(U+ze+Ke+pt,()=>{x.current=!1,P()})},[]);n.useEffect(()=>{s&&(y(),h(Ye),g(!1),k(0))},[s,y]),he(t,{enabled:!s,play:P,stop:y});const $=Be(o),B=ut(o),L=o>0?Be(o-1):null,E=Us[o],H=!!E&&!c,J=ft(o);return e.jsx("div",{ref:t,className:l(m.wrap,s&&m.static),role:"img","aria-label":mt,"data-testid":"hero-pipeline","data-phase":o,style:{"--s":r},children:e.jsxs("div",{className:m.stage,"aria-hidden":"true",children:[e.jsx(xt,{forecast:Ve(o),delta:c?0:C,won:J,instant:s}),e.jsxs("div",{className:m.board,children:[ns.map((A,F)=>{const U=Me.filter(O=>$[O.id].stage===A.id),K=U.reduce((O,G)=>O+G.amount,0);return e.jsx("div",{className:l(m.column,A.id==="won"&&o===Ye&&m["column-won"]),style:{left:hs(F)},"data-testid":"pipeline-column","data-stage":A.id,children:e.jsxs("div",{className:m["column-head"],children:[e.jsxs("div",{className:m["column-name"],children:[e.jsx("span",{className:l(m.dot,A.dotClass)}),e.jsx("span",{className:m["column-label"],children:A.name}),e.jsx("span",{className:m["column-count"],children:U.length})]}),e.jsx("span",{className:m["column-total"],children:Ce(K)})]})},A.id)}),Me.map((A,F)=>{const{stage:U,slot:K,health:O,badgeKind:G,badgeText:de}=$[A.id],be=ns.findIndex(le=>le.id===U),R=hs(be)+8,Y=rt+K*(ot+lt)+(c?10:0),D=!!L&&L[A.id].stage!==U,M=B[A.id],X=G??M?.[0]??"good",ee=de??M?.[1]??"";return e.jsxs("div",{className:l(m.card,D&&m["card-moving"],G==="bad"&&m["card-flagged"],G==="milo"&&m["card-milo"]),style:{transform:`translate(${R}px, ${Y}px)`,opacity:c?0:1,transitionDelay:c||o!==0?"0ms":`${F*60}ms`},"data-testid":"pipeline-card","data-deal":A.id,"data-stage":U,children:[e.jsxs("div",{className:m["card-row"],children:[e.jsx("span",{className:m["card-name"],children:A.name}),e.jsx("span",{className:m["card-amount"],children:Ce(A.amount)})]}),e.jsxs("div",{className:m["card-mid"],children:[e.jsxs("div",{className:m.ring,children:[e.jsxs("svg",{width:"34",height:"34",viewBox:"0 0 34 34",className:m["ring-svg"],children:[e.jsx("circle",{cx:"17",cy:"17",r:"14",className:m["ring-track"]}),e.jsx("circle",{cx:"17",cy:"17",r:"14",className:l(m["ring-arc"],gs(O)),style:{strokeDashoffset:88-88*O/100}})]}),e.jsx("span",{className:m["ring-score"],children:O})]}),e.jsxs("div",{className:m["card-health"],children:[e.jsx("span",{className:l(m["health-word"],gs(O)),children:wt(O)}),e.jsx("span",{className:m["health-sub"],children:"Deal health"})]}),e.jsx("span",{className:m.avatar,style:{background:A.avatar},children:A.owner})]}),e.jsx("div",{className:m["badge-slot"],children:e.jsxs("span",{className:l(m.badge,m[`badge-${X}`],G&&m["badge-on"]),children:[e.jsx("span",{className:m["badge-dot"]}),ee]})})]},A.id)})]}),e.jsxs("div",{className:l(m["milo-card"],H&&m["milo-card-on"]),children:[e.jsx("span",{className:m["milo-mark"],children:"✦"}),e.jsxs("div",{className:m["milo-text"],children:[e.jsx("span",{className:m["milo-name"],children:"Milo"}),e.jsx("span",{className:m["milo-message"],children:(E??us)[0]}
1),e.jsx("span",{className:m["milo-meta"],children:(E??us)[1]})]})]})]})})}const kt="_wrap_qj5n4_8",yt="_stage_qj5n4_51",jt="_header_qj5n4_65",vt="_title_qj5n4_81",Nt="_waiting_qj5n4_86",St="_card_qj5n4_108",At="_mark_qj5n4_172",Rt="_kind_qj5n4_185",Ct="_spacer_qj5n4_204",Mt="_meta_qj5n4_217",Et="_stamp_qj5n4_232",Tt="_chips_qj5n4_288",$t="_chip_qj5n4_288",Pt="_caret_qj5n4_361",Lt="_nodes_qj5n4_387",Ot="_node_qj5n4_387",It="_cursor_qj5n4_497",qt="_ripple_qj5n4_527",Ft="_log_qj5n4_545",Dt="_photo_qj5n4_624",_={wrap:kt,stage:yt,header:jt,"header-left":"_header-left_qj5n4_75",title:vt,waiting:Nt,"header-right":"_header-right_qj5n4_98",card:St,"card-depth-0":"_card-depth-0_qj5n4_129","card-depth-1":"_card-depth-1_qj5n4_137","card-depth-2":"_card-depth-2_qj5n4_143","card-stamped":"_card-stamped_qj5n4_149","card-exiting":"_card-exiting_qj5n4_153","card-recycling":"_card-recycling_qj5n4_162","card-head":"_card-head_qj5n4_166",mark:At,kind:Rt,"never-pill":"_never-pill_qj5n4_193",spacer:Ct,"head-slot":"_head-slot_qj5n4_208",meta:Mt,"meta-off":"_meta-off_qj5n4_228",stamp:Et,"stamp-on":"_stamp-on_qj5n4_253","stamp-tick":"_stamp-tick_qj5n4_258","play-title":"_play-title_qj5n4_272","why-label":"_why-label_qj5n4_279",chips:Tt,chip:$t,"chip-on":"_chip-on_qj5n4_313","chip-dot":"_chip-dot_qj5n4_318","chip-dot-good":"_chip-dot-good_qj5n4_324","chip-dot-accent":"_chip-dot-accent_qj5n4_325","email-meta":"_email-meta_qj5n4_329","email-label":"_email-label_qj5n4_336","email-label-gap":"_email-label-gap_qj5n4_340","email-value":"_email-value_qj5n4_344","email-body":"_email-body_qj5n4_348",caret:Pt,"approve-blink":"_approve-blink_qj5n4_1","flow-prompt":"_flow-prompt_qj5n4_378",nodes:Lt,"node-pair":"_node-pair_qj5n4_393","node-line":"_node-line_qj5n4_398","node-line-on":"_node-line-on_qj5n4_410",node:Ot,"node-on":"_node-on_qj5n4_430","node-key":"_node-key_qj5n4_435","node-value":"_node-value_qj5n4_443","card-foot":"_card-foot_qj5n4_451","btn-secondary":"_btn-secondary_qj5n4_458","btn-primary":"_btn-primary_qj5n4_470","btn-primary-pressed":"_btn-primary-pressed_qj5n4_486","btn-primary-done":"_btn-primary-done_qj5n4_491",cursor:It,"cursor-on":"_cursor-on_qj5n4_511","cursor-svg":"_cursor-svg_qj5n4_515","cursor-path":"_cursor-path_qj5n4_520",ripple:qt,"approve-ripple":"_approve-ripple_qj5n4_1",log:Ft,"log-head":"_log-head_qj5n4_555","log-title":"_log-title_qj5n4_561","log-sub":"_log-sub_qj5n4_569","log-rows":"_log-rows_qj5n4_577","log-row":"_log-row_qj5n4_577","log-row-in":"_log-row-in_qj5n4_591","approve-row-in":"_approve-row-in_qj5n4_1","log-time":"_log-time_qj5n4_600","log-avatar":"_log-avatar_qj5n4_608",photo:Dt,"log-text":"_log-text_qj5n4_633","log-you":"_log-you_qj5n4_642","log-tag":"_log-tag_qj5n4_646",static:"_static_qj5n4_659"},Bt=560,Xe=[{id:"play",kind:"Play",meta:"Milo · 11:05",secondary:"Dismiss",primary:"Accept",stamp:"Accepted",log:"accepted Play · Move Acme to Negotiation",tag:"Play"},{id:"email",kind:"Review and Send",meta:"Draft · 11:12",secondary:"Edit",primary:"Send",stamp:"Sent by you",log:"sent the draft · Next steps on the pilot",tag:"Email"},{id:"flow",kind:"Workflow · draft",meta:"Built from a sentence",secondary:"Keep editing",primary:"Publish",stamp:"Published",log:"published Workflow · Quiet deal check-in",tag:"Workflow"}],Gs="Hi Sam, thanks for today. The order form for the 40-seat pilot is attached, and I have held Thursday at 10:00 for kick-off.",_s="When a deal goes quiet for 7 days, draft a check-in and remind the owner.",Ht=[{k:"Trigger",v:"Quiet 7 days"},{k:"Action",v:"Draft check-in"},{k:"Task",v:"Remind owner"}],Ut=[{t:"Champion replied in 2h",dot:"good"},{t:"Pricing agreed on the call",dot:"good"},{t:"Health 64 → 78",dot:"accent"}],Gt=[{key:"seed-1",time:"10:41",text:"dismissed Play · Re-score Hooli",tag:"Play"},{key:"seed-2",time:"10:20",text:"published Workflow · Inbound lead routing",tag:"Workflow"}],He=22,Wt={play:1500,email:Gs.length*He+300,flow:_s.length*He+1500},Yt=300,zt=1150,Kt=1350,Vt=2400,Xt=3e3,Qt=60,Zt=120,fs=30,Jt=[200,580,960],en=[150,550,950],sn=_s.length*He,an=4,tn=674,nn={play:[472,321],email:[478,321],flow:[466,321]},rn=[520,560],on=Re.priya;function ln(){const[s,t]=n.useState(!1);return s?null:e.jsx("img",{className:_.photo,src:on,alt:"",loading:"lazy",decoding:"async",onError:()=>t(!0),"data-testid":"approve-photo"})}const cn="Milo proposes and you approve. A Play to move Acme to Negotiation is accepted, a drafted follow-up to Sam waits for you to press send, and a workflow Milo built from a sentence is published by you. Each approval is written to the timeline.",dn=s=>`${Math.floor(s/60)}:${String(s%60).padStart(2,"0")}`;function _n(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),r=$e(t,Bt),[o,h]=n.useState(0),[c,g]=n.useState(()=>s?"stamp":"build"),[C,k]=n.useState(()=>s?Number.MAX_SAFE_INTEGER:0),[S,x]=n.useState(Gt),[b,y]=n.useState(0),[P,$]=n.useState(null),B=n.useRef([]),L=n.useRef(null),E=n.useRef(!1),H=n.useRef(0),J=n.useRef(tn),A=n.useCallback(()=>{E.current=!1;for(const R of B.current)window.clearTimeout(R);B.current=[],L.current!==null&&window.clearInterval(L.current),L.current=null},[]),F=n.useCallback((R,Y)=>{B.current.push(window.setTimeout(()=>
1{E.current&&Y()},R))},[]),U=n.useCallback(()=>{const R=H.current,Y=Xe[R%3],D=Wt[Y.id];g("build"),k(0);let M=0;L.current!==null&&window.clearInterval(L.current),L.current=window.setInterval(()=>{M+=fs,k(M),M>D&&L.current!==null&&(window.clearInterval(L.current),L.current=null)},fs),F(D+Yt,()=>g("aim")),F(D+zt,()=>{g("click"),y(X=>X+1)}),F(D+Kt,()=>{J.current+=3;const X={key:`row-${R}`,time:dn(J.current),text:Y.log,tag:Y.tag,fresh:!0};x(ee=>[X,...ee.map(le=>({...le,fresh:!1}))].slice(0,an)),g("stamp")}),F(D+Vt,()=>g("exit")),F(D+Xt,()=>{const X=R%3;H.current=R+1,h(R+1),$(X),k(0),g("build"),F(Qt,()=>$(null)),F(Zt,()=>U())})},[F]),K=n.useCallback(()=>{E.current||(E.current=!0,U())},[U]);n.useEffect(()=>{s&&(A(),H.current=0,h(0),g("stamp"),k(Number.MAX_SAFE_INTEGER))},[s,A]),he(t,{enabled:!s,play:K,stop:A});const O=Xe[o%3],G=!s&&(c==="aim"||c==="click"||c==="stamp"),[de,be]=G?nn[O.id]:rn;return e.jsx("div",{ref:t,className:l(_.wrap,s&&_.static),role:"img","aria-label":cn,"data-testid":"approve-flow","data-phase":c,"data-cursor":G?"shown":"hidden",style:{"--s":r},children:e.jsxs("div",{className:_.stage,"aria-hidden":"true",children:[e.jsxs("div",{className:_.header,children:[e.jsxs("div",{className:_["header-left"],children:[e.jsx("span",{className:_.title,children:"Proposals"}),e.jsx("span",{className:_.waiting,children:"3 waiting"})]}),e.jsx("span",{className:_["header-right"],children:"Milo proposes · you approve"})]}),Xe.map((R,Y)=>{const D=(Y-o%3+3)%3,M=D===0,X=M&&c==="exit",ee=M&&(c==="stamp"||c==="exit"),le=M&&c==="click",me=M?C:0,ue=R.id==="email"?Gs:R.id==="flow"?_s:"",_e=M?Math.min(ue.length,Math.floor(me/He)):0,ke=M&&c==="build"&&_e<ue.length;return e.jsxs("div",{className:l(_.card,_[`card-depth-${D}`],X&&_["card-exiting"],ee&&_["card-stamped"],P===Y&&_["card-recycling"]),"data-testid":"approve-card","data-kind":R.id,"data-depth":D,"data-stamped":ee?"true":"false",children:[e.jsxs("div",{className:_["card-head"],children:[e.jsx("span",{className:_.mark,children:"✦"}),e.jsx("span",{className:_.kind,children:R.kind}),R.id==="email"&&e.jsx("span",{className:_["never-pill"],children:"Never sends itself"}),e.jsx("span",{className:_.spacer}),e.jsxs("span",{className:_["head-slot"],children:[e.jsx("span",{className:l(_.meta,ee&&_["meta-off"]),children:R.meta}),e.jsxs("span",{className:l(_.stamp,ee&&_["stamp-on"]),"data-testid":"approve-stamp",children:[e.jsx("span",{className:_["stamp-tick"],children:"✓"}),R.stamp]})]})]}),R.id==="play"&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:_["play-title"],children:"Move Acme to Negotiation"}),e.jsx("div",{className:_["why-label"],children:"Why"}),e.jsx("div",{className:_.chips,children:Ut.map((te,i)=>{const w=M&&me>Jt[i];return e.jsxs("span",{className:l(_.chip,w&&_["chip-on"]),"data-testid":"approve-chip","data-on":w?"true":"false",children:[e.jsx("span",{className:l(_["chip-dot"],_[`chip-dot-${te.dot}`])}),te.t]},te.t)})})]}),R.id==="email"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:_["email-meta"],children:[e.jsx("span",{className:_["email-label"],children:"To"}),e.jsx("span",{className:_["email-value"],children:"Sam Okafor"}),e.jsx("span",{className:l(_["email-label"],_["email-label-gap"]),children:"Subject"}),e.jsx("span",{className:_["email-value"],children:"Next steps on the pilot"})]}),e.jsxs("div",{className:_["email-body"],"data-testid":"approve-typed",children:[ue.slice(0,_e),ke&&e.jsx("span",{className:_.caret})]})]}),R.id==="flow"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:_["flow-prompt"],"data-testid":"approve-typed",children:["“",ue.slice(0,_e),ke&&e.jsx("span",{className:_.caret}),"”"]}),e.jsx("div",{className:_.nodes,children:Ht.map((te,i)=>{const w=M&&me>sn+en[i];return e.jsxs("span",{className:_["node-pair"],children:[i>0&&e.jsx("span",{className:l(_["node-line"],w&&_["node-line-on"])}),e.jsxs("span",{className:l(_.node,w&&_["node-on"]),"data-testid":"approve-node","data-on":w?"true":"false",children:[e.jsx("span",{className:_["node-key"],children:te.k}),e.jsx("span",{className:_["node-value"],children:te.v})]})]},te.k)})})]}),e.jsxs("div",{className:_["card-foot"],children:[e.jsx("span",{className:_["btn-secondary"],children:R.secondary}),e.jsx("span",{className:l(_["btn-primary"],le&&_["btn-primary-pressed"],ee&&_["btn-primary-done"]),children:R.primary})]})]},R.id)}),e.jsxs("div",{className:l(_.cursor,G&&_["cursor-on"]),style:{transform:`translate(${de}px, ${be}px)`},children:[(c==="click"||c==="stamp")&&!s&&e.jsx("span",{className:_.ripple},`ripple-${b}`),e.jsx("svg",{width:"20",height:"22",viewBox:"0 0 20 22",className:_["cursor-svg"],children:e.jsx("path",{d:"M2 2 L2 17 L6 13 L9 20 L12 19 L9 12 L15 12 Z",className:_["cursor-path"]})})]}),e.jsxs("div",{className:_.log,children:[e.jsxs("div",{className:_["log-head"],children:[e.jsx("span",{className:_["log-title"],children:"Timeline"}),e.jsx("span",{className:_["log-sub"],children:"Every change, who and when"})]}),e.jsx("div",{className:_["log-rows"],children:S.map((R,Y)=>e.jsxs("div",{className:l(_["log-row"],R.fresh&&!s&&_["log-row-in"]),style:{opacity:1-Y*.18},"data-testid":"approve-log-row",children:[e.jsx("span",{className:_["log-time"],children:R.time}),e.jsxs("span",{className:_["log-avatar"],children:["PS",e.jsx(ln,{})]}),e.jsxs("span",{className:_["log-text"],children:[e.jsx("b",{className:_["log-you"],children:"You "}),R.text]}),e.jsx("span",{className:_["log-tag"],children:R.tag})]},R.key))})]})]})})}function pn(s,t,r){const[o,h]=n.useState(r?s.length:0);return n.useLayoutEffect(()=>{if(r){h(s.length);return}if(h(0),!s)return;let c=0;const g=window.setInterval(()=>{c+=1,h(c),c>=s.length&&window.clearInterval(g)},t);return()=>window.clearInterval(g)},[s,t,r]),Math.min(o,s.length)}const ws=3.2,hn=9,mn=7;function un(s,t,r,o){return{x:Math.sin(s*.55+t*1.7)*ws*r+o.x*hn*r,y:Math.cos(s*.47+t*2.3)*ws*r+o.y*mn*r}}function gn(s,t,r=.06){return{x:s.x+(t.x-s.x)*r,y:s.y+(t.y-s.y)*r}}function fn(s,t,r){return r.width<=0||r.height<=0?{x:0,y:0}:{x:((s-r.left)/r.width-.5)*2,y:((t-r.top)/r.height-.5)*2}}function wn(s){return s<.5?2*s*s:1-Math.pow(-2*s+2,2)/2}function Ws(s,t){return`M${s.x.toFixed(1)} ${s.y.toFixed(1)} L ${t.x.toFixed(1)} ${t.y.toFixed(1)}`}function xn(s,t){const r=s/t*Math.PI*2+.2,o=46+s%3*14;return{x:Math.cos(r)*o,y:Math.sin(r)*o}}function bn(s,t){return t==null?1:Math.max(0,Math.min(1,1-(s-t-120)/260))}function kn(s,t,r){return s[s.length-1-(t+1)*2]??r}
1const yn="_wrap_1b4gt_11",jn="_stage_1b4gt_49",vn="_glow_1b4gt_63",Nn="_links_1b4gt_87",Sn="_link_1b4gt_87",An="_spark_1b4gt_168",Rn="_trail_1b4gt_184",Cn="_ripple_1b4gt_196",Mn="_radar_1b4gt_208",En="_node_1b4gt_223",Tn="_circle_1b4gt_242",$n="_glyph_1b4gt_361",Pn="_orbit_1b4gt_366",Ln="_photo_1b4gt_413",On="_label_1b4gt_430",In="_name_1b4gt_444",qn="_sub_1b4gt_449",Fn="_buttons_1b4gt_465",Dn="_chip_1b4gt_517",Bn="_burst_1b4gt_554",Hn="_pill_1b4gt_578",Un="_question_1b4gt_646",Gn="_status_1b4gt_653",Wn="_caret_1b4gt_671",p={wrap:yn,stage:jn,glow:vn,"graph-breathe":"_graph-breathe_1b4gt_1",links:Nn,"link-glow":"_link-glow_1b4gt_93","link-glow-on":"_link-glow-on_1b4gt_105","link-glow-lit":"_link-glow-lit_1b4gt_109",link:Sn,"link-walked":"_link-walked_1b4gt_125","link-quiet":"_link-quiet_1b4gt_130","link-ghost":"_link-ghost_1b4gt_135","link-lit":"_link-lit_1b4gt_140","link-flow":"_link-flow_1b4gt_146","graph-flow":"_graph-flow_1b4gt_1","link-flow-on":"_link-flow-on_1b4gt_157",spark:An,trail:Rn,ripple:Cn,radar:Mn,node:En,"node-deal":"_node-deal_1b4gt_234","node-hidden":"_node-hidden_1b4gt_238",circle:Tn,"circle-hidden":"_circle-hidden_1b4gt_261","circle-scaled":"_circle-scaled_1b4gt_265","circle-deal":"_circle-deal_1b4gt_271","circle-company":"_circle-company_1b4gt_281","circle-person":"_circle-person_1b4gt_288","circle-object":"_circle-object_1b4gt_299","circle-proposed":"_circle-proposed_1b4gt_304","circle-accepted":"_circle-accepted_1b4gt_311","circle-quiet":"_circle-quiet_1b4gt_321","circle-here":"_circle-here_1b4gt_329",glyph:$n,orbit:Pn,"graph-spin":"_graph-spin_1b4gt_1","orbit-on":"_orbit-on_1b4gt_377","quiet-pulse":"_quiet-pulse_1b4gt_386","quiet-pulse-on":"_quiet-pulse-on_1b4gt_394","quiet-pulse-ring":"_quiet-pulse-ring_1b4gt_398","graph-quiet-pulse":"_graph-quiet-pulse_1b4gt_1",photo:Ln,"photo-ghost":"_photo-ghost_1b4gt_425",label:On,"label-halo":"_label-halo_1b4gt_440",name:In,sub:qn,"sub-accent":"_sub-accent_1b4gt_455","sub-quiet":"_sub-quiet_1b4gt_459",buttons:Fn,"buttons-on":"_buttons-on_1b4gt_473","btn-dismiss":"_btn-dismiss_1b4gt_477","btn-accept":"_btn-accept_1b4gt_490","btn-accept-pressed":"_btn-accept-pressed_1b4gt_505","btn-accept-done":"_btn-accept-done_1b4gt_510",chip:Dn,"chip-label":"_chip-label_1b4gt_525","chip-on":"_chip-on_1b4gt_548",burst:Bn,"burst-good":"_burst-good_1b4gt_564","burst-light":"_burst-light_1b4gt_568","burst-deep":"_burst-deep_1b4gt_572",pill:Hn,"pill-on":"_pill-on_1b4gt_603","pill-mark":"_pill-mark_1b4gt_608","pill-mark-done":"_pill-mark-done_1b4gt_622","pill-mark-glyph":"_pill-mark-glyph_1b4gt_626","pill-mark-working":"_pill-mark-working_1b4gt_630","graph-twinkle":"_graph-twinkle_1b4gt_1","pill-text":"_pill-text_1b4gt_639",question:Un,status:Gn,"status-quiet":"_status-quiet_1b4gt_663","status-done":"_status-done_1b4gt_667",caret:Wn,"caret-on":"_caret-on_1b4gt_681","graph-caret":"_graph-caret_1b4gt_1",static:"_static_1b4gt_693"},Qe=620,xs=470,Ue=[{id:"deal",x:310,y:205,size:92,kind:"deal",glyph:"$120k",name:"Acme pilot",sub:"Deal",depth:.25},{id:"acme",x:310,y:70,size:58,kind:"company",glyph:"A",name:"Acme",sub:"Company",depth:.7},{id:"sam",x:118,y:150,size:56,kind:"person",glyph:"SO",name:"Sam Okafor",sub:"Champion",depth:1},{id:"tom",x:118,y:300,size:56,kind:"person",glyph:"TR",name:"Tom Reyes",sub:"User",depth:.85},{id:"email",x:506,y:140,size:44,kind:"object",glyph:"✉",name:"Re: pricing",sub:"Email",depth:1.1},{id:"meet",x:506,y:296,size:44,kind:"object",glyph:"◷",name:"QBR Thursday",sub:"Meeting",depth:.9},{id:"lena",x:310,y:363,size:56,kind:"person",glyph:"LP",name:"Lena Park",sub:"CFO · proposed",ghost:!0,depth:.6}],Te=Object.fromEntries(Ue.map(s=>[s.id,s])),Yn={sam:Re.sam,tom:Re.tom,lena:Re.lena},pe=(s,t,r,o=!1)=>{const h=Te[t],c=Te[r];return{id:s,a:t,b:r,ghost:o,d:Ws(h,c),dash:Math.hypot(c.x-h.x,c.y-h.y)+30}},rs=[pe("ad","acme","deal"),pe("sa","sam","acme"),pe("ta","tom","sam"),pe("sd","sam","deal"),pe("td","tom","deal"),pe("ed","email","deal"),pe("es","email","acme"),pe("md","meet","deal"),pe("ld","lena","deal",!0)],zn=Object.fromEntries(rs.map(s=>[s.id,s])),Ze={3:["deal",null],4:["acme","ad"],5:["sam","sa"],6:["sam",null],7:["deal","sd"],8:["tom","td"],9:["lena","ld"],10:["lena",null],11:["lena",null],12:["lena",null]},Kn={2:"Thinking…",3:"Starting at the deal…",4:"Who at Acme is on it?",5:"Sam Okafor, champion",6:"Sam has gone quiet for 9 days",7:"Checking every role on the deal",8:"Tom Reyes, user. No one signs off.",9:"Lena Park, CFO, looks right. Accept?",10:"Lena Park, CFO, looks right. Accept?",11:"Lena Park signs off. Linked as decision maker.",12:"Lena Park signs off. Linked as decision maker."},Vn=[[1,200],[2,1600],[3,2400],[4,3300],[5,4300],[6,5300],[7,6500],[8,7600],[9,8800],[10,10400],[11,10700],[12,11600]],Xn=15200,Qn=16200,Oe=12,Zn=20,Jn=850,bs=8,ks=14,er=2,ys={x:14,y:30},sr="Records and the people around them connect like a constellation around the Acme pilot. Milo travels the links to answer who signs off, notices Sam has gone quiet, proposes Lena Park the CFO, and once accepted links her in as decision maker.",ar=()=>Object.fromEntries(Ue.map(s=>[s.id,{x:s.x,y:s.y}])),Ys=(s,t)=>`translate(${(s.x+t.x)/2+ys.x}px, ${(s.y+t.y)/2+ys.y}px) translate(-50%, -50%)`,tr=Ys(Te.lena,Te.deal),js="cubic-bezier(.2,.7,.2,1)";function Je(s,t,r){s&&typeof s.animate=="function"&&s.animate(t,r)}function es(s,t,r){s.style.left=`${t.x}px`,s.style.top=`${t.y}px`,r!=null&&(s.style.width=`${r}px`,s.style.height=`${r}px`,s.style.margin=`${-r/2}px 0 0 ${-r/2}px`)}function nr({src:s,ghost:t}){const[r,o]=n.useState(!1);return r?null:e.jsx("img",{className:l(p.photo,t&&p["photo-ghost"]),src:s,alt:"",loading:"lazy",decoding:"async",onError:()=>o(!0),"data-testid":"graph-photo"})}function rr(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),r=$e(t,Qe),[o,h]=n.useState(()=>s?Oe:0),c=n.useRef([]),g=n.useRef(!1),C=n.useRef(ar()),k=n.useRef({x:0,y:0}),S=n.useRef({x:0,y:0}),x=n.useRef(null),b=n.useRef([]),y=n.useRef(null),P=n.useRef({}),$=n.useRef({}),B=n.useRef(null),L=n.useRef([]),E=n.useRef(null),H=n.useRef([]),J=n.useRef([]),A=n.useRef(null),F=n.useCallback(i=>{const w=E.current;w&&(es(w,C.current[i],Te[i].size),Je(w,[{transform:"scale(1)",opacity:.6},{transform:"scale(1.9)",opacity:0}
1],{duration:650,easing:js}))},[]),U=n.useCallback(i=>{const w=i/1e3,N=C.current;k.current=gn(k.current,S.current),Ue.forEach((T,z)=>{const W=un(w,z,T.depth,k.current);N[T.id]={x:T.x+W.x,y:T.y+W.y};const ne=P.current[T.id];ne&&(ne.style.translate=`${W.x.toFixed(2)}px ${W.y.toFixed(2)}px`)});for(const T of rs){const z=Ws(N[T.a],N[T.b]);for(const W of $.current[T.id]??[])W?.setAttribute("d",z)}const I=B.current,V=x.current;if(I&&V){const T=Math.min(1,(i-V.t0)/Jn),z=wn(T),W=N[V.from],ne=N[V.to],re={x:W.x+(ne.x-W.x)*z,y:W.y+(ne.y-W.y)*z},oe=b.current;oe.push(re),oe.length>40&&oe.shift(),T>=1&&V.arrivedAt==null&&(V.arrivedAt=i,F(V.to));const Pe=bn(i,V.arrivedAt);I.style.transform=`translate(${re.x}px, ${re.y}px)`,I.style.opacity=String(Pe),L.current.forEach((ye,j)=>{if(!ye)return;const v=kn(oe,j,re);ye.style.transform=`translate(${v.x}px, ${v.y}px)`,ye.style.opacity=(.55*(1-j/bs)*Pe).toFixed(3)})}else if(I){I.style.opacity="0";for(const T of L.current)T&&(T.style.opacity="0")}A.current&&(A.current.style.transform=Ys(N.lena,N.deal))},[F]),K=n.useCallback(()=>{y.current!=null&&cancelAnimationFrame(y.current),y.current=null},[]),O=n.useCallback(()=>{if(y.current!=null||typeof requestAnimationFrame>"u")return;const i=w=>{y.current=requestAnimationFrame(i),U(w)};y.current=requestAnimationFrame(i)},[U]),G=n.useCallback(()=>{for(const i of c.current)window.clearTimeout(i);c.current=[],g.current=!1,K()},[K]),de=n.useCallback(()=>{if(O(),g.current)return;g.current=!0;const i=(w,N)=>{c.current.push(window.setTimeout(N,w))};h(0);for(const[w,N]of Vn)i(N,()=>h(w));i(Xn,()=>h(0)),i(Qn,()=>{g.current=!1,de()})},[O]);n.useEffect(()=>{s&&(G(),h(Oe))},[s,G]),he(t,{enabled:!s,play:de,stop:G}),n.useEffect(()=>{if(s)return;if(o===0){x.current=null,b.current=[];return}const i=Ze[o];if(i?.[1]){const w=zn[i[1]];x.current={from:w.a===i[0]?w.b:w.a,to:i[0],t0:performance.now(),arrivedAt:null},b.current=[]}o===7&&H.current.forEach((w,N)=>{w&&(es(w,C.current.deal),Je(w,[{transform:"scale(1)",opacity:.5},{transform:"scale(3.4)",opacity:0}
1],{duration:1400,delay:N*380,easing:js}))}),o===11&&(J.current.forEach((w,N)=>{if(!w)return;const I=xn(N,ks);es(w,C.current.lena),Je(w,[{transform:"translate(0, 0) scale(1)",opacity:1},{transform:`translate(${I.x}px, ${I.y}px) scale(0)`,opacity:0}],{duration:750+N%4*90,easing:"cubic-bezier(.15,.8,.3,1)"})}),F("lena"))},[o,s,F]);const be=n.useCallback(i=>{S.current=fn(i.clientX,i.clientY,i.currentTarget.getBoundingClientRect())},[]),R=n.useCallback(()=>{S.current={x:0,y:0}},[]),Y=o>=1,D=o>=9,M=o>=11,X=o>=6,ee=o>=2&&o<=10,le=o===1,me=new Set;for(const[i,[,w]]of Object.entries(Ze))w&&o>=Number(i)&&me.add(w);const ue=Ze[o]?.[0]??null,_e=Kn[o]??"",ke=pn(_e,Zn,s),te=ke<_e.length;return e.jsx("div",{ref:t,className:l(p.wrap,s&&p.static),role:"img","aria-label":sr,"data-testid":"graph-agent","data-step":o,style:{"--s":r},onMouseMove:s?void 0:be,onMouseLeave:s?void 0:R,children:e.jsxs("div",{className:p.stage,"aria-hidden":"true",children:[e.jsx("div",{className:p.glow}),Array.from({length:er},(i,w)=>e.jsx("span",{ref:N=>{H.current[w]=N},className:p.radar},w)),e.jsx("svg",{width:Qe,height:xs,viewBox:`0 0 ${Qe} ${xs}`,className:p.links,children:rs.map((i,w)=>{const N=i.ghost?!D:!Y,I=!!i.ghost&&!M,V=me.has(i.id),T=i.id==="sd"&&X,z=i.id==="ld"&&M,W=z||V&&o<Oe,ne=re=>oe=>{($.current[i.id]??=[])[re]=oe};return e.jsxs("g",{"data-testid":"graph-link","data-id":i.id,children:[e.jsx("path",{ref:ne(0),d:i.d,className:l(p["link-glow"],W&&p["link-glow-on"],z&&p["link-glow-lit"])}),e.jsx("path",{ref:ne(1),d:i.d,className:l(p.link,V&&p["link-walked"],T&&p["link-quiet"],I&&p["link-ghost"],z&&p["link-lit"]),style:{strokeDasharray:I?"2 7":`${i.dash}`,strokeDashoffset:N&&!i.ghost?i.dash:0,opacity:N?0:1,transitionDelay:le?`${w*70}ms`:"0ms"}}),i.id==="ld"&&e.jsx("path",{ref:ne(2),d:i.d,className:l(p["link-flow"],z&&p["link-flow-on"]),"data-testid":"graph-flow"})]},i.id)})}),!s&&e.jsxs(e.Fragment,{children:[Array.from({length:bs},(i,w)=>{const N=9-w;return e.jsx("span",{ref:I=>{L.current[w]=I},className:p.trail,style:{width:N,height:N,margin:`${-N/2}px 0 0 ${-N/2}px`}},w)}),e.jsx("span",{ref:B,className:p.spark,"data-testid":"graph-spark"})]}),e.jsx("span",{ref:E,className:p.ripple}),Ue.map((i,w)=>{const N=i.ghost?!D:!Y,I=!!i.ghost&&!M,V=ue===i.id,T=i.id==="sam"&&X&&!M,z=i.id==="deal"&&ee&&o<9||i.id==="lena"&&(o===9||o===10),W=T?"Champion · quiet 9 days":i.id==="lena"&&M?"CFO · decision maker":i.sub,ne=Yn[i.id],re=le&&i.id!=="deal"?`${120+w*90}ms`:"0ms";return e.jsxs("div",{ref:oe=>{P.current[i.id]=oe},className:l(p.node,i.id==="deal"&&p["node-deal"],N&&p["node-hidden"]),style:{left:i.x,top:i.y,transform:`translate(-50%, ${-i.size/2}px)`,transitionDelay:re},"data-testid":"graph-node","data-id":i.id,"data-hidden":N?"true":"false",children:[e.jsxs("div",{className:l(p.circle,p[`circle-${i.kind}`],i.id==="lena"&&(I?p["circle-proposed"]:p["circle-accepted"]),T&&p["circle-quiet"],V&&i.kind!=="deal"&&p["circle-here"],V&&p["circle-scaled"],N&&p["circle-hidden"]),style:{width:i.size,height:i.size,transitionDelay:re},children:[(i.id==="deal"||i.id==="lena")&&e.jsx("span",{className:l(p.orbit,z&&p["orbit-on"]),"data-testid":"graph-orbit"}),i.id==="sam"&&e.jsx("span",{className:l(p["quiet-pulse"],T&&o<9&&p["quiet-pulse-on"]),"data-testid":"graph-quiet-pulse",children:e.jsx("span",{className:p["quiet-pulse-ring"]})}),e.jsx("span",{className:p.glyph,children:i.glyph}),ne&&e.jsx(nr,{src:ne,ghost:I})]}),e.jsxs("div",{className:l(p.label,i.id==="lena"&&p["label-halo"]),children:[e.jsx("span",{className:p.name,children:i.name}),e.jsx("span",{className:l(p.sub,T&&p["sub-quiet"],i.id==="lena"&&p["sub-accent"]),"data-testid":"graph-sub",children:W})]}),i.id==="lena"&&e.jsxs("div",{className:l(p.buttons,D&&p["buttons-on"]),children:[e.jsx("span",{className:p["btn-dismiss"],children:"Dismiss"}),e.jsx("span",{className:l(p["btn-accept"],o===10&&p["btn-accept-pressed"],M&&p["btn-accept-done"]),"data-testid":"graph-accept",children:M?"✓ Accepted":"Accept"})]})]},i.id)}),e.jsx("span",{ref:A,className:p.chip,style:{transform:tr},children:e.jsx("span",{className:l(p["chip-label"],o>=Oe&&p["chip-on"]),"data-testid":"graph-chip",children:"Decision maker"})}),Array.from({length:ks},(i,w)=>{const N=w%3===0?7:5,I=w%4===0?"burst-good":w%2?"burst-light":"burst-deep";return e.jsx("span",{ref:V=>{J.current[w]=V},className:l(p.burst,p[I]),style:{width:N,height:N,margin:`${-N/2}px 0 0 ${-N/2}px`}},w)}),e.jsxs("div",{className:l(p.pill,o>=2&&p["pill-on"]),children:[e.jsx("span",{className:l(p["pill-mark"],M&&p["pill-mark-done"]),"data-testid":"graph-mark",children:e.jsx("span",{className:l(p["pill-mark-glyph"],ee&&p["pill-mark-working"]),children:M?"✓":"✦"})}),e.jsxs("div",{className:p["pill-text"],children:[e.jsx("span",{className:p.question,children:"Who signs off on Acme?"}),e.jsxs("span",{className:l(p.status,M&&p["status-done"],o===6&&p["status-quiet"]),"data-testid":"graph-status",children:[_e.slice(0,ke),e.jsx("span",{className:l(p.caret,te&&p["caret-on"])})]})]})]})]})})}const or="_root_1twsk_7",lr="_steps_1twsk_47",cr="_step_1twsk_47",ir="_email_1twsk_97",dr="_at0_1twsk_3",_r="_photo_1twsk_129",pr="_spacer_1twsk_167",hr="_hl_1twsk_191",mr="_at3_1twsk_204",ur="_connector_1twsk_212",gr="_at05_1twsk_245",fr="_at1_1twsk_249",wr="_record_1twsk_124",xr="_identity_1twsk_273",br="_placeholder_1twsk_314",kr="_company_1twsk_347",yr="_logo_1twsk_369",jr="_ring_1twsk_399",vr="_icp_1twsk_404",Nr="_health_1twsk_412",Sr="_cell_1twsk_460",Ar="_at2_1twsk_506",Rr="_signals_1twsk_537",Cr="_signal_1twsk_537",Mr="_forecast_1twsk_582",Er="_spark_1twsk_626",Tr="_at4_1twsk_660",$r="_play_1twsk_671",Pr="_at5_1twsk_3",d={root:or,steps:lr,step:cr,"step-dot":"_step-dot_1twsk_70","step-done":"_step-done_1twsk_78","step-active":"_step-active_1twsk_86",email:ir,at0:dr,"email-head":"_email-head_1twsk_116","email-avatar":"_email-avatar_1twsk_123","record-avatar":"_record-avatar_1twsk_124",photo:_r,"email-name":"_email-name_1twsk_152","email-addr":"_email-addr_1twsk_158",spacer:pr,"email-time":"_email-time_1twsk_171","email-subject":"_email-subject_1twsk_177","email-body":"_email-body_1twsk_183",hl:hr,at3:mr,connector:ur,"connector-line":"_c
1onnector-line_1twsk_218","connector-dot":"_connector-dot_1twsk_226",at05:gr,at1:fr,record:wr,identity:xr,"name-col":"_name-col_1twsk_296","record-name":"_record-name_1twsk_304","enrich-line":"_enrich-line_1twsk_309",placeholder:br,"enrich-title":"_enrich-title_1twsk_330",company:kr,logo:yr,"company-text":"_company-text_1twsk_382","company-name":"_company-name_1twsk_387","company-sub":"_company-sub_1twsk_392",ring:jr,icp:vr,"icp-track":"_icp-track_1twsk_411","health-track":"_health-track_1twsk_412","icp-arc":"_icp-arc_1twsk_421","ring-value":"_ring-value_1twsk_435",health:Nr,cell:Sr,"tone-good":"_tone-good_1twsk_467","tone-watch":"_tone-watch_1twsk_471","tone-risk":"_tone-risk_1twsk_475","health-ring":"_health-ring_1twsk_479","health-arc":"_health-arc_1twsk_494",at2:Ar,"cell-text":"_cell-text_1twsk_511","cell-label":"_cell-label_1twsk_518","cell-word":"_cell-word_1twsk_525",signals:Rr,signal:Cr,"signal-key":"_signal-key_1twsk_567","signal-value":"_signal-value_1twsk_574",forecast:Mr,"fc-left":"_fc-left_1twsk_592","fc-label":"_fc-label_1twsk_598","fc-line":"_fc-line_1twsk_605","fc-value":"_fc-value_1twsk_611","fc-delta":"_fc-delta_1twsk_618",spark:Er,"spark-history":"_spark-history_1twsk_634","spark-new":"_spark-new_1twsk_635","spark-dot":"_spark-dot_1twsk_654",at4:Tr,play:$r,at5:Pr,"play-mark":"_play-mark_1twsk_694","play-text":"_play-text_1twsk_708","play-kicker":"_play-kicker_1twsk_716","play-title":"_play-title_1twsk_723","play-dismiss":"_play-dismiss_1twsk_728","play-accept":"_play-accept_1twsk_729",static:"_static_1twsk_783"},Lr=["CAPTURES","ENRICHES","SCORES","SIGNALS","FORECASTS","PROPOSES"],Or=[{t:"Thanks for Tuesday. We'd like to roll this out to "},{t:"40 seats",hl:0},{t:" and "},{t:"start in March",hl:1},{t:". I'll "},{t:"take it to our CFO on Friday",hl:2},{t:"."}],Ir=[{k:"BUYING INTENT",v:"40 seats"},{k:"URGENCY",v:"Start in March"},{k:"COMMITMENT",v:"CFO review Friday"}],qr=[{label:"Deal",val:78},{label:"Company",val:84},{label:"Relationship",val:71}],vs=92,zs=412,Ks=460,Fr=1e3,Dr=[[100,0],[1100,.5],[2100,1],[3900,2],[5700,3],[8e3,4],[9800,5]],Br=14200,Hr=15e3,Ns=5,Ur=[[0,d.at0],[.5,d.at05],[1,d.at1],[2,d.at2],[3,d.at3],[4,d.at4],[5,d.at5]],Ss=88,As=104;function Vs(s){return s>=70?"good":s>=50?"watch":"risk"}function Gr(s){return s>=80?"Strong":s>=70?"Healthy":s>=50?"Watch":"At risk"}const Wr="An email arrives and Milo builds the record by itself: it captures the contact, enriches the person and company, scores deal, company and relationship health, highlights buying signals in the email, updates the forecast and proposes a Play.",Xs=Re.priya;function Rs(){const[s,t]=n.useState(!1);return s?null:e.jsx("img",{className:d.photo,src:Xs,alt:"",loading:"lazy",decoding:"async",onError:()=>t(!0),"data-testid":"milo-photo"})}function Yr({on:s,instant:t}){const r=Bs(s?Ks:zs,t||!s,Fr);return e.jsxs("span",{className:d["fc-value"],"data-testid":"milo-forecast",children:["$",Math.round(r),"k"]})}function zr(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),[r,o]=n.useState(()=>s?Ns:-1),h=n.useRef([]),c=n.useRef(!1),g=n.useCallback(()=>{for(const x of h.current)window.clearTimeout(x);h.current=[],c.current=!1},[]),C=n.useCallback(()=>{if(c.current)return;c.current=!0;const x=(b,y)=>{h.current.push(window.setTimeout(y,b))};o(-1);for(const[b,y]of Dr)x(b,()=>o(y));x(Br,()=>o(-1)),x(Hr,()=>{h.current=[],c.current=!1,C()})},[]);n.useEffect(()=>{s&&(g(),o(Ns))},[s,g]),he(t,{enabled:!s,play:C,stop:g});const k=x=>r>=x,S=r<0?-1:r<1?0:Math.floor(r);return e.jsxs("div",{ref:t,className:l(d.root,s&&d.static,...Ur.map(([x,b])=>k(x)&&b)),role:"img","aria-label":Wr,"data-testid":"milo-works","data-stage":r,children:[e.jsx("div",{className:d.steps,"aria-hidden":"true",children:Lr.map((x,b)=>e.jsxs("span",{className:l(d.step,b===S&&d["step-active"],b<S&&d["step-done"]),"data-testid":"milo-step",children:[e.jsx("span",{className:d["step-dot"]}),x]},x))}),e.jsxs("div",{className:d.email,"aria-hidden":"true",children:[e.jsxs("div",{className:d["email-head"],children:[e.jsxs("span",{className:d["email-avatar"],children:["PS",e.jsx(Rs,{})]}),e.jsx("span",{className:d["email-name"],children:"Priya Shah"}),e.jsx("span",{className:d["email-addr"],children:"[email protected]"}),e.jsx("span",{className:d.spacer}),e.jsx("span",{className:d["email-time"],children:"09:14"})]}),e.jsx("div",{className:d["email-subject"],children:"Re: Pilot after Tuesday's demo"}),e.jsx("p",{className:d["email-body"],children:Or.map((x,b)=>x.hl===void 0?e.jsx("span",{children:x.t},b):e.jsx("span",{className:d.hl,style:{"--d":`${x.hl*300}ms`},"data-testid":"milo-highlight",children:x.t},b))})]}),e.jsxs("div",{className:d.connector,"aria-hidden":"true",children:[e.jsx("span",{className:d["connector-line"]}),e.jsx("span",{className:d["connector-dot"]})]}),e.jsxs("div",{className:d.record,"aria-hidden":"true","data-testid":"milo-record",children:[e.jsxs("div",{className:d.identity,children:[e.jsxs("span",{className:d["record-avatar"],children:["PS",e.jsx(Rs,{})]}),e.jsxs("div",{className:d["name-col"],children:[e.jsx("span",{className:d["record-name"],children:"Priya Shah"}),e.jsxs("div",{className:d["enrich-line"],children:[e.jsx("span",{className:d.placeholder}),e.jsx("span",{className:d["enrich-title"],"data-testid":"milo-title",children:"Head of RevOps · Northwind"})]})]}),e.jsxs("div",{className:d.company,children:[e.jsx("span",{className:d.logo,children:"N"}),e.jsxs("div",{className:d["company-text"],children:[e.jsx("span",{className:d["company-name"],children:"Northwind"}),e.jsx("span",{className:d["company-sub"],children:"420 people · London"})]}),e.jsxs("div",{className:d.icp,children:[e.jsxs("svg",{width:"34",height:"34",viewBox:"0 0 34 34",className:d.ring,children:[e.jsx("circle",{cx:"17",cy:"17",r:"14",className:d["icp-track"]}),e.jsx("circle",{cx:"17",cy:"17",r:"14",className:d["icp-arc"],style:{"--off":Ss-Ss*(vs/100)}})]}),e.jsx("span",{className:d["ring-value"],children:k(1)?vs:"–"})]})]})]}),e.jsx("div",{className:d.health,children:qr.map((x,b)=>{const y=k(2),P=Vs(x.val);return e.jsxs("div",{className:l(d.cell,d[`tone-${P}`]),"data-testid":"milo-ring",children:[e.jsxs("div",{className:d["health-ring"],children:[e.jsxs("svg",{width:"40",height:"40",viewBox:"0 0 40 40",className:d.ring,children:[e.jsx("circle",{cx:"20",cy:"20",r:"16.5",className:d["health-track"]}),e.jsx("circle",{cx:"20",cy:"20",r:"16.5",className:d["health-arc"],style:{"--off":As-As*x.val/100,transitionDelay:`${b*160}ms`}})]}),e.jsx("span",{className:d["ring-value"],"data-testid":"milo-ring-value",children:y?x.val:"–"})]}),e.jsxs("div",{className:d["cell-text"],children:[e.jsx("span",{className:d["cell-label"],children:x.label}),e.jsx("span",{className:d["cell-word"],children:y?Gr(x.val):"Scoring…"})]})]},x.label)})}),e.jsx("div",{className:d.signals,children:Ir.map((x,b)=>e.jsxs("span",{className:d.signal,style:{"--d":`${250+b*300}ms`},"data-testid":"milo-signal",children:[e.jsx("span",{className:d["signal-key"],children:x.k}),e.jsx("span",{className:d["signal-value"],children:x.v})]},x.k))}),e.jsxs("div",{className:d.forecast,children:[e.jsxs("div",{className:d["fc-left"],children:[e.jsx("span",{className:d["fc-label"],children:"Q1 FORECAST"}),e.jsxs("div",{className:d["fc-line"],children:[e.jsx(Yr,{on:k(4),instant:s}),e.jsxs("span",{className:d["fc-delta"],children:["+$",Ks-zs,"k"]})]})]}),e.jsxs("svg",{width:"190",height:"44",viewBox:"0 0 190 44",className:d.spark,children:[e.jsx("path",{d:"M2 38 L30 34 L58 36 L86 28 L114 30 L142 24",className:d["spark-history"]}),e.jsx("path",{d:"M142 24 L166 14 L188 6",className:d["spark-new"]}),e.jsx("circle",{cx:"188",cy:"6",r:"4",className:d["spark-dot"]})]})]})]}),e.jsxs("div",{className:d.play,"aria-hidden":"true","data-testid":"milo-play",children:[e.jsx("span",{className:d["play-mark"],children:"✦"}),e.jsxs("div",{className:d["play-text"],children:[e.jsx("span",{className:d["play-kicker"],children:"PLAY · PROPOSED BY MILO"}),e.jsx("span",{className:d["play-title"],children:"Send Priya the pilot order form for 40 seats"})]}),e.jsx("span",{className:d["play-dismiss"],children:"Dismiss"}),e.jsx("span",{className:d["play-accept"],children:"Accept"})]})]})}const Kr="_wrap_11nsa_12",Vr="_stage_11nsa_57",Xr="_paths_11nsa_67",Qr="_path_11nsa_67",Zr="_arrow_11nsa_85",Jr="_packet_11nsa_91",eo="_sources_11nsa_147",so="_source_11nsa_147",ao="_ticker_11nsa_207",to="_glow_11nsa_231",no="_engine_11nsa_223",ro="_kicker_11nsa_274",oo="_live_11nsa_281",lo="_mark_11nsa_310",co="_sparkle_11nsa_350",io="_status_11nsa_381",_o="_verbs_11nsa_391",po="_verb_11nsa_391",ho="_outputs_11nsa_421",mo="_output_11nsa_421",uo="_rings_11nsa_472",go="_ring_11nsa_472",fo="_fc_11nsa_547",wo="_bars_11nsa_553",xo="_bar_11nsa_553",bo="_still_11nsa_712",u={wrap:Kr,stage:Vr,paths:Xr,path:Qr,"path-lit":"_path-lit_11nsa_81",arrow:Zr,packet:Jr,"sf-travel":"_sf-travel_11nsa_1","packet-out":"_packet-out_11nsa_105","tick-in":"_tick-in_11nsa_130","sf-tick-in":"_sf-tick-in_11nsa_1",sources:eo,source:so,"source-icon":"_source-icon_11nsa_169","source-text":"_source-text_11nsa_181","source-top":"_source-top_11nsa_189","source-name":"_source-name_11nsa_196","source-sub":"_source-sub_11nsa_201",ticker:ao,"ticker-dot":"_ticker-dot_11nsa_217","engine-box":"_engine-box_11nsa_223",glow:to,"sf-breathe":"_sf-breathe_11nsa_1",engine:no,"engine-head":"_engine-head_11nsa_267",kicker:ro,live:oo,"live-dot":"_live-dot_11nsa_290","sf-live-dot":"_sf-live-dot_11nsa_1",mark:lo,"mark-ring":"_mark-ring_11nsa_318","sf-spin":"_sf-spin_11nsa_1","mark-disc":"_mark-disc_11nsa_339",sparkle:co,"spark-from":"_spark-from_11nsa_354","spark-to":"_spark-to_11nsa_358","spark-tiny":"_spark-tiny_11nsa_362","engine-status":"_engine-status_11nsa_366","engine-name":"_engine-name_11nsa_373",status:io,verbs:_o,verb:po,"verb-active":"_verb-active_11nsa_413",outputs:ho,output:mo,"output-lit":"_output-lit_11nsa_446","output-dot":"_output-dot_11nsa_451","output-label":"_output-label_11nsa_464",rings:uo,ring:go,"tone-good":"_tone-good_11nsa_482","tone-watch":"_tone-watch_11nsa_486","tone-risk":"_tone-risk_11nsa_490","ring-track":"_ring-track_11nsa_494","ring-arc":"_ring-arc_11nsa_500","signal-chip":"_signal-chip_11nsa_511","play-chip":"_play-chip_11nsa_512","play-mark":"_play-mark_11nsa_536",fc:fo,bars:wo,bar:xo,"bar-last":"_bar-last_11nsa_569","fc-value":"_fc-value_11nsa_573","sf-march":"_sf-march_11nsa_1","sf-comet":"_sf-comet_11nsa_1","sf-land":"_sf-land_11nsa_1",still:bo},ko=1168,Cs=[76,170,264],Ms=[56,132,208,284],Es=s=>`M340 ${s} C 395 ${s}, 395 170, 444 170`,Ts=s=>`M724 170 C 771 170, 771 ${s}, 818 ${s}`,yo=[{name:"Inbox",sub:"Gmail · Outlook",Icon:oa,feed:["Re: Pilot after Tuesday's demo","Intro: Northwind × Unified","Contract redlines v3","Pricing question from Hooli"]},{name:"Calendar",sub:"Google · Microsoft",Icon:la,feed:["Discovery call · Acme","QBR · Globex","Pricing review · Initech","Kick-off · Umbrella"]},{name:"Records",sub:"CSV · forms · API",Icon:ca,feed:["42 contacts imported","Web form: new lead","API: deal stage updated","CSV: 18 companies"]}],qe=["Capture","Enrich","Score","Propose"],jo=["Capturing 3 emails…","Enriching Northwind…","Scoring 42 deals…","Proposing a Play for Acme…"],vo=["Deal, company and relationship health","Signals","Forecast with snapshots","Plays"],Qs=["Buying intent","Urgency","Champion","Objection","Commitment"],Zs=[[78,84,71],[81,84,66],[74,88,72],[83,86,75]],No=[[30,42,38,50,46,58,64],[42,38,50,46,58,64,72],[38,50,46,58,64,72,80],[50,46,58,64,72,80,88]],Js=["$412k","$428k","$445k","$460k"],So=3,Ao=6,$s=60,Ro=26,Co=1300;function Ie(s,t){return Math.floor(Math.max(0,s-t)/qe.length)}const Mo="Inbox, calendar and records stream into Milo, which captures, enriches, scores and proposes, and keeps deal, company and relationship health, signals, the forecast and Plays up to date.";function Eo(){return typeof CSS<"u"&&typeof CSS.supports=="function"&&CSS.supports("offset-path","path('M0 0')")}const To=n.memo(function({cycle:t,still:r}){return e.jsx("div",{className:u.sources,children:yo.map((o,h)=>{const c=(t+h)%o.feed.length;return e.jsxs("div",{className:u.source,"data-testid":"flow-source",children:[e.jsx("span",{className:u["source-icon"],children:e.jsx(o.Icon,{size:21})}),e.jsxs("div",{className:u["source-text"],children:[e.jsxs("div",{className:u["source-top"],children:[e.jsx("span",{className:u["source-name"],children:o.name}),e.jsx("span",{className:u["source-sub"],children:o.sub})]}),e.jsx("div",{className:u.ticker,children:e.jsxs("div",{className:l(!r&&u["tick-in"]),"data-testid":"flow-ticker",children:[e.jsx("span",{className:u["ticker-dot"],children:"● "}),o.feed[c]]},c)})]})]},o.name)})})});function $o(){const s=`sf-spark-${n.useId()}`;return e.jsxs("svg",{width:"44",height:"44",viewBox:"0 0 44 44",fill:"none",className:u.sparkle,children:[e.jsx("defs",{children:e.jsxs("linearGradient",{id:s,x1:"6",y1:"4",x2:"38",y2:"40",gradientUnits:"userSpaceOnUse",children:[e.jsx("stop",{offset:"0",className:u["spark-from"]}),e.jsx("stop",{offset:"1",className:u["spark-to"]})]})}),e.jsx("path",{d:"M19 6 C20 14.5 24.5 19 33 20 C24.5 21 20 25.5 19 34 C18 25.5 13.5 21 5 20 C13.5 19 18 14.5 19 6 Z",fill:`url(#${s})`}),e.jsx("path",{d:"M34 4 C34.4 7.4 35.6 8.6 39 9 C35.6 9.4 34.4 10.6 34 14 C33.6 10.6 32.4 9.4 29 9 C32.4 8.6 33.6 7.4 34 4 Z",fill:`url(#${s})`}),e.jsx("path",{d:"M33 30 C33.3 32.2 34 32.9 36 33 C34 33.3 33.3 34 33 36 C32.7 34 32 33.3 30 33 C32 32.9 32.7 32.2 33 30 Z",className:u["spark-tiny"]})]})}const Po=n.memo(function({ringIdx:t,sigIdx:r,fcIdx:o,plays:h,lit:c,still:g}){const C=Zs[t],k=Qs[r],S=l(!g&&u["tick-in"]),x=[e.jsx("div",{className:u.rings,children:C.map((b,y)=>e.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",className:l(u.ring,u[`tone-${Vs(b)}`]),children:[e.jsx("circle",{cx:"12",cy:"12",r:"9.5",className:u["ring-track"]}),e.jsx("circle",{cx:"12",cy:"12",r:"9.5",className:u["ring-arc"],style:{strokeDashoffset:$s-$s*b/100},"data-testid":"flow-ring","data-value":b})]},y))},"rings"),e.jsx("span",{className:l(u["signal-chip"],S),"data-testid":"flow-signal",children:k},`sig-${k}`),e.jsxs("div",{className:u.fc,children:[e.jsx("div",{className:u.bars,children:No[o].map((b,y,P)=>e.jsx("span",{className:l(u.bar,y===P.length-1&&u["bar-last"]),style:{height:`${b/100*Ro}px`}}
1,y))}),e.jsx("span",{className:u["fc-value"],"data-testid":"flow-forecast",children:Js[o]})]},"fc"),e.jsxs("span",{className:l(u["play-chip"],S),"data-testid":"flow-plays",children:[e.jsx("span",{className:u["play-mark"],children:"✦"}),h," ready"]},`play-${h}`)];return e.jsx("div",{className:u.outputs,children:vo.map((b,y)=>e.jsxs("div",{className:l(u.output,y===c&&u["output-lit"]),"data-testid":"flow-output","data-lit":y===c?"":void 0,children:[e.jsx("span",{className:u["output-dot"]}),e.jsx("span",{className:u["output-label"],children:b}),x[y]]},b))})});function Lo(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),r=$e(t,ko),[o,h]=n.useState(0),c=s?0:o,[g,C]=n.useState(!1),[k]=n.useState(Eo),S=n.useRef(null),x=n.useCallback(()=>{S.current===null&&(C(!0),S.current=window.setInterval(()=>h(E=>E+1),Co))},[]),b=n.useCallback(()=>{S.current!==null&&window.clearInterval(S.current),S.current=null,C(!1)},[]);he(t,{enabled:!s,play:x,stop:b});const y=c%qe.length,P=Math.floor(c/qe.length),$=g||s,B=$?y:-1,L=g&&!s;return e.jsx("div",{ref:t,className:l(u.wrap,s&&u.still),style:{"--s":r},role:"img","aria-label":Mo,"data-testid":"signal-flow","data-step":y,children:e.jsxs("div",{className:u.stage,"aria-hidden":"true",children:[e.jsxs("svg",{width:"1168",height:"340",viewBox:"0 0 1168 340",className:u.paths,children:[Cs.map(E=>e.jsx("path",{d:Es(E),className:u.path,"data-testid":"flow-path"},`in-${E}`)),Ms.map((E,H)=>e.jsx("path",{d:Ts(E),className:l(u.path,H===B&&u["path-lit"]),"data-testid":"flow-path"},`out-${E}`))]}),L&&k&&e.jsxs(e.Fragment,{children:[Cs.flatMap((E,H)=>[0,1].map(J=>e.jsx("span",{className:u.packet,style:{offsetPath:`path('${Es(E)}')`,animationDelay:`${H*.45+J*.95}s`},"data-testid":"flow-packet"},`in-${H}-${J}`))),e.jsx("span",{className:l(u.packet,u["packet-out"]),style:{offsetPath:`path('${Ts(Ms[y])}')`},"data-testid":"flow-packet"},`out-${c}`)]}),e.jsx(To,{cycle:P,still:s}),e.jsx("span",{className:u.arrow}),e.jsxs("div",{className:u["engine-box"],children:[e.jsx("div",{className:u.glow}),e.jsxs("div",{className:u.engine,children:[e.jsxs("div",{className:u["engine-head"],children:[e.jsx("span",{className:u.kicker,children:"MILO"}),e.jsxs("span",{className:u.live,children:[e.jsx("span",{className:u["live-dot"]}),"Always on"]})]}),e.jsxs("div",{className:u.mark,"data-testid":"flow-mark",children:[e.jsx("span",{className:u["mark-ring"]}),e.jsx("span",{className:u["mark-disc"],children:e.jsx($o,{})})]}),e.jsxs("div",{className:u["engine-status"],children:[e.jsx("span",{className:u["engine-name"],children:"Does the work"}),e.jsx("div",{className:u.status,children:e.jsx("div",{className:l(!s&&u["tick-in"]),"data-testid":"flow-status",children:jo[y]},c)})]}),e.jsx("div",{className:u.verbs,children:qe.map((E,H)=>e.jsx("span",{className:l(u.verb,$&&H===y&&u["verb-active"]),"data-testid":"flow-verb","data-active":$&&H===y?"":void 0,children:E},E))})]})]}),e.jsx("span",{className:u.arrow}),e.jsx(Po,{ringIdx:Ie(c,0)%Zs.length,sigIdx:Ie(c,1)%Qs.length,fcIdx:Ie(c,2)%Js.length,plays:So+Ie(c,3)%Ao,lit:B,still:s})]})})}const os=[{src:"/marketing/voice/turn-1.wav",durationMs:3241,starts:[60,340,880,1194,1350,1507,1664,1925,2291,2448,2710,2971]},{src:"/marketing/voice/turn-2.wav",durationMs:7571,starts:[60,471,1070,1358,1718,2006,2840,3159,3531,3956,4222,4806,4965,5740,5919,6098,6456,6904,7038,7306]},{src:"/marketing/voice/turn-3.wav",durationMs:3491,starts:[60,453,584,977,1304,1763,2025,2483,2811]},{src:"/marketing/voice/turn-4.wav",durationMs:7701,starts:[60,960,1217,1603,2053,2567,3081,3339,3531,3981,4303,4560,5139,5267,5589,5781,6470,6911,7036,7351]},{src:"/marketing/voice/turn-5.wav",durationMs:1431,starts:[60,680,1093]},{src:"/marketing/voice/turn-6.wav",durationMs:3821,starts:[60,460,784,1108,1432,1837,2080,2485,2728,3052]}],we=[{who:"you",text:"Hey Milo, catch me up on Acme before my call with Sam."},{who:"milo",text:"Since Friday, Sam sent two emails, Acme's health dropped from 71 to 48, and the pricing objection is still open.",pace:"brisk",task:{pending:"Reading emails from Sam",label:"Read 2 emails from Sam",tag:"INBOX"}},{who:"you",text:"Draft a reply that offers the annual plan discount."},{who:"milo",text:"Done. The draft offers fifteen percent off an annual plan and suggests a call on Thursday. Should I send it?",task:{pending:"Drafting reply to Sam",label:"Drafted reply to Sam",tag:"DRAFTS"}},{who:"you",text:"Yes, send it."},{who:"milo",text:"Sent. I'll let you know as soon as Sam replies.",task:{pending:"Sending reply",label:"Sent reply to Sam",tag:"SENT"}}],Oo=we.map(s=>s.text.split(" ")),Io="_frame_1klye_9",qo="_wrap_1klye_38",Fo="_card_1klye_46",Do="_top_1klye_68",Bo="_status_1klye_75",Ho="_dot_1klye_84",Uo="_clock_1klye_104",Go="_controls_1klye_117",Wo="_listen_1klye_131",Yo="_mute_1klye_138",zo="_pulse_1klye_212",Ko="_people_1klye_253",Vo="_person_1klye_260",Xo="_dim_1klye_269",Qo="_avatar_1klye_273",Zo="_photo_1klye_288",Jo="_glow_1klye_303",el="_orb_1klye_297",sl="_sparkle_1klye_340",al="_name_1klye_346",tl="_sub_1klye_358",nl="_wave_1klye_374",rl="_bar_1klye_383",ol="_transcript_1klye_393",ll="_speaker_1klye_402",cl="_words_1klye_413",il="_word_1klye_413",dl="_spacer_1klye_435",_l="_task_1klye_441",pl="_still_1klye_547",f={frame:Io,wrap:qo,card:Fo,top:Do,status:Bo,dot:Ho,"dot-on":"_dot-on_1klye_92","status-label":"_status-label_1klye_96",clock:Uo,controls:Go,"listen-wrap":"_listen-wrap_1klye_131",listen:Wo,mute:Yo,"icon-fill":"_icon-fill_1klye_165","icon-stroke":"_icon-stroke_1klye_169",pulse:zo,"pulse-late":"_pulse-late_1klye_222",people:Ko,person:Vo,dim:Xo,avatar:Qo,"avatar-on":"_avatar-on_1klye_284",photo:Zo,"orb-box":"_orb-box_1klye_297",glow:Jo,"glow-on":"_glow-on_1klye_317",orb:el,sparkle:sl,name:al,"name-on":"_name-on_1klye_354",sub:tl,"sub-ink":"_sub-ink_1klye_364","sub-accent":"_sub-accent_1klye_368",wave:nl,bar:rl,transcript:ol,speaker:ll,"speaker-milo":"_speaker-milo_1klye_409",words:cl,word:il,"word-now":"_word-now_1klye_427","word-said":"_word-said_1klye_431",spacer:dl,task:_l,"task-on":"_task-on_1klye_456","task-icon":"_task-icon_1klye_461","task-icon-done":"_task-icon-done_1klye_473","task-check":"_task-check_1klye_477","task-dots":"_task-dots_1klye_492","task-label":"_task-label_1klye_525","task-tag":"_task-tag_1klye_535",still:pl},hl=540,ls=1.15,cs=s=>s/ls,ea=700,sa=1100,ml=3e3,Ge=41,is=we.length-1,aa=Number.MAX_SAFE_INTEGER;function ul(s){return`${String(Math.floor(s/60)).padStart(2,"0")}
1:${String(s%60).padStart(2,"0")}`}const Ps=Math.floor(we.reduce((s,t,r)=>s+(t.task?sa:0)+cs(os[r].durationMs)+ea,0)/1e3),gl="A live voice call between Priya and Milo. Priya asks to be caught up on Acme before her call with Sam, and Milo reads two emails from Sam and reports the dropped health score and the open pricing objection. She asks for a reply offering the annual plan discount; Milo drafts it, and when she says send it, Milo sends it.",Ls={phase:"idle",turn:0,word:-1,status:"listening",task:null},Os={phase:"done",turn:is,word:aa,status:"listening",task:{task:we[is].task,done:!0}},fl=we.find(s=>s.task).task;function wl(){const[s,t]=n.useState(!1);return s?null:e.jsx("img",{className:f.photo,src:Xs,alt:"",loading:"lazy",decoding:"async",onError:()=>t(!0)})}const ss=s=>Math.abs(s-(Ge-1)/2)/((Ge-1)/2),as=s=>.3+.4*(1-s);function xl(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),r=$e(t,hl),[o,h]=n.useState(()=>s?Os:Ls),[c,g]=n.useState(()=>s?Ps:0),[C,k]=n.useState(!1),S=n.useRef([]),x=n.useRef(Array.from({length:Ge},()=>6)),b=n.useRef(null),y=n.useRef(0),P=n.useRef(o);P.current=o;const $=n.useRef(!1),B=n.useRef([]),L=n.useRef(null),E=n.useRef(null),H=n.useRef(!1),J=n.useRef(null),A=n.useRef(null),F=n.useRef(null),U=n.useRef(null),K=(j,v)=>{B.current.push(window.setTimeout(v,j))},O=()=>{for(const j of J.current??[])j.pause()},G=n.useCallback(j=>{H.current=!j,k(!j),j&&O()},[]),de=n.useCallback(j=>{const v=J.current;if(!H.current||!v)return;O();const q=v[j];q&&(q.playbackRate=ls,q.currentTime=0,q.play().catch(()=>{}))},[]),be=()=>{const j=F.current,v=U.current;if(!H.current||!j||!v)return null;j.getByteTimeDomainData(v);let q=0;for(const ge of v)q+=((ge-128)/128)**2;return Math.min(1,Math.sqrt(q/v.length)*6)},R=()=>{S.current.forEach((j,v)=>{x.current[v]=6,j&&(j.style.height="6px",j.style.background="",j.style.opacity=`${as(ss(v))}`)}),b.current&&(b.current.style.transform="")},Y=n.useCallback(j=>{const{phase:v,turn:q,status:ge}=P.current,se=v==="running"&&ge==="speaking"?we[q].who:null;y.current*=.93;const Se=se?be():null;Se!==null&&(y.current=Math.max(y.current,Se));const We=Se??.45+.55*y.current;S.current.forEach((fe,je)=>{if(!fe)return;const Le=ss(je),ta=1-Le**1.5,na=(Math.sin(j*.013+je*1.7)+Math.sin(j*.021+je*.6)+Math.sin(j*.008*(1+je%5)))/6+.5,ra=se?6+34*ta*(.25+.75*na)*We:6,ps=x.current[je]+(ra-x.current[je])*.22;x.current[je]=ps,fe.style.height=`${ps.toFixed(1)}px`,se==="you"?(fe.style.background="var(--vc-bar-you)",fe.style.opacity=(.25+.65*(1-Le)).toFixed(2)):se==="milo"?(fe.style.background="var(--m-accent)",fe.style.opacity=(.35+.65*(1-Le)).toFixed(2)):(fe.style.background="",fe.style.opacity=as(Le).toFixed(2))}),b.current&&(b.current.style.transform=`scale(${(1+(se==="milo"?.08*y.current:0)).toFixed(3)})`),$.current&&(E.current=requestAnimationFrame(Y))},[]),D=n.useCallback(()=>{L.current!==null&&window.clearInterval(L.current),L.current=null},[]),M=n.useCallback(()=>{D(),L.current=window.setInterval(()=>g(j=>j+1),1e3)},[D]),X=n.useCallback(j=>{if(!$.current)return;if(j>is){D(),h(se=>({...se,phase:"done",status:"listening"})),H.current&&G(!0),K(ml,()=>{g(0),M(),X(0)});return}const v=we[j],q=os[j],ge=()=>{h(se=>({...se,phase:"running",turn:j,status:"speaking",task:v.task?{task:v.task,done:!0}:se.task})),de(j),q.starts.forEach((se,Se)=>K(cs(se),()=>{y.current=1,h(We=>({...We,word:Se}))})),K(cs(q.durationMs),()=>{h(se=>({...se,word:aa,status:"listening"})),K(ea,()=>X(j+1))})};h(se=>({phase:"running",turn:j,word:-1,status:v.task?"thinking":"listening",task:v.task?{task:v.task,done:!1}:j===0?null:se.task})),v.task?K(sa,ge):ge()},[de,G,M,D]),ee=n.useCallback(()=>{$.current=!1;for(const j of B.current)window.clearTimeout(j);B.current=[],D(),E.current!==null&&cancelAnimationFrame(E.current),E.current=null,O(),R(),h(Ls),g(0)},[D]),le=n.useCallback(()=>{$.current||($.current=!0,M(),E.current=requestAnimationFrame(Y),X(0))},[Y,X,M]),me=n.useCallback(()=>{H.current&&G(!0),$.current&&ee()},[G,ee]),ue=()=>{if(!J.current){J.current=os.map(v=>{const q=new Audio(v.src);return q.preload="auto",q.preservesPitch=!0,q.playbackRate=ls,q});const j=typeof window<"u"?window.AudioContext??window.webkitAudioContext:void 0;if(j)try{const v=new j,q=v.createAnalyser();q.fftSize=1024;for(const ge of J.current)v.createMediaElementSource(ge).connect(q);
1q.connect(v.destination),A.current=v,F.current=q,U.current=new Uint8Array(q.fftSize)}catch{F.current=null}}A.current?.resume().catch(()=>{})},_e=()=>{ue(),ee(),G(!1),le()},ke=()=>G(!0);n.useEffect(()=>{s&&(h(Os),g(Ps))},[s]),he(t,{enabled:!s,play:le,stop:me});const{phase:te,turn:i,word:w,status:N,task:I}=o,V=we[i],T=te==="running",z=V.who==="milo",W=T&&!z&&N==="speaking",ne=T&&z&&N==="speaking",re=T&&z&&N==="thinking",oe=ne||re,Pe=ne?"Speaking":re?"Thinking":T?"Listening":"Ready",ye=I?.task??fl;return e.jsxs("div",{className:f.frame,style:{"--s":r},children:[e.jsx("div",{ref:t,className:l(f.wrap,s&&f.still),role:"img","aria-label":gl,"data-testid":"voice-call","data-phase":te,"data-turn":i,"data-status":N,children:e.jsxs("div",{className:f.card,"aria-hidden":"true",children:[e.jsxs("div",{className:f.top,children:[e.jsxs("span",{className:f.status,children:[e.jsx("span",{className:l(f.dot,T&&f["dot-on"])}),e.jsx("span",{className:f["status-label"],"data-testid":"voice-phase",children:T?"LIVE CALL":te==="done"?"CALL ENDED":"READY"})]}),e.jsx("span",{className:f.clock,"data-testid":"voice-clock",children:ul(c)})]}),e.jsxs("div",{className:f.people,children:[e.jsxs("div",{className:l(f.person,te!=="idle"&&!W&&f.dim),"data-testid":"voice-participant",children:[e.jsx("div",{className:l(f.avatar,W&&f["avatar-on"]),children:e.jsx(wl,{})}),e.jsx("span",{className:l(f.name,W&&f["name-on"]),children:"Priya"}),e.jsx("span",{className:l(f.sub,W&&f["sub-ink"]),"data-testid":"voice-priya-state",children:W?"Speaking":"You"})]}),e.jsxs("div",{className:f.person,"data-testid":"voice-participant",children:[e.jsxs("div",{className:f["orb-box"],children:[e.jsx("div",{ref:b,className:l(f.glow,oe&&f["glow-on"])}),e.jsx("div",{className:f.orb,children:e.jsx("svg",{className:f.sparkle,viewBox:"0 0 24 24",children:e.jsx("path",{d:"M12 0C13 8 16 11 24 12C16 13 13 16 12 24C11 16 8 13 0 12C8 11 11 8 12 0Z"})})})]}),e.jsx("span",{className:l(f.name,(oe||te==="idle")&&f["name-on"]),children:"Milo"}),e.jsx("span",{className:l(f.sub,oe&&f["sub-accent"]),"data-testid":"voice-milo-state",children:Pe})]})]}),e.jsx("div",{className:f.wave,children:Array.from({length:Ge},(j,v)=>e.jsx("span",{ref:q=>{S.current[v]=q},className:f.bar,style:{opacity:as(ss(v))},"data-testid":"voice-bar"},v))}),e.jsxs("div",{className:f.transcript,children:[e.jsx("span",{className:l(f.speaker,z&&f["speaker-milo"]),"data-testid":"voice-speaker",children:z?"MILO":"PRIYA"}),e.jsx("p",{className:f.words,"data-testid":"voice-caption",children:Oo[i].map((j,v)=>e.jsxs("span",{className:l(f.word,v<w&&f["word-said"],v===w&&f["word-now"]),"data-said":v<w?"":void 0,"data-now":v===w?"":void 0,children:[j," "]},`${i}-${v}`))})]}),e.jsx("div",{className:f.spacer}),e.jsxs("div",{className:l(f.task,I&&f["task-on"]),"data-testid":"voice-task","data-done":I?.done?"":void 0,children:[e.jsxs("span",{className:l(f["task-icon"],I?.done&&f["task-icon-done"]),children:[e.jsx("svg",{className:f["task-check"],viewBox:"0 0 24 24",children:e.jsx("path",{d:"M5 12.5l4.5 4.5L19 7.5"})}),e.jsxs("span",{className:f["task-dots"],children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]})]}),e.jsx("span",{className:f["task-label"],"data-testid":"voice-task-label",children:I&&!I.done?`${ye.pending}…`:ye.label}),e.jsx("span",{className:f["task-tag"],children:ye.tag})]})]})}),!s&&e.jsx("div",{className:f.controls,children:C?e.jsxs("button",{type:"button",className:f.mute,"aria-label":"Mute",onClick:ke,"data-testid":"voice-sound",children:[e.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[e.jsx("path",{d:"M4 9.5h3.5L12 5.5v13l-4.5-4H4z",className:f["icon-fill"]}),e.jsx("path",{d:"M16 9.5l5 5M21 9.5l-5 5",className:f["icon-stroke"]})]}),"Mute"]}):e.jsxs("span",{className:f["listen-wrap"],children:[e.jsx("span",{className:f.pulse}),e.jsx("span",{className:l(f.pulse,f["pulse-late"])}),e.jsxs("button",{type:"button",className:f.listen,"aria-label":"Listen with sound",onClick:_e,"data-testid":"voice-sound",children:[e.jsxs("svg",{viewBox:"0 0 24 24","aria-hidden":"true",children:[e.jsx("path",{d:"M4 9.5h3.5L12 5.5v13l-4.5-4H4z",className:f["icon-fill"]}
1),e.jsx("path",{d:"M15.5 9a4 4 0 0 1 0 6M18 6.5a7.5 7.5 0 0 1 0 11",className:f["icon-stroke"]})]}),"Listen"]})]})})]})}const bl="_card_6w3bd_5",kl="_head_6w3bd_19",yl="_avatar_6w3bd_26",jl="_name_6w3bd_37",vl="_status_6w3bd_42",Nl="_bubble_6w3bd_51",Sl="_caret_6w3bd_64",Al="_dots_6w3bd_74",Rl="_reply_6w3bd_96",Cl="_proposal_6w3bd_110",Ml="_done_6w3bd_143",ae={card:bl,head:kl,avatar:yl,name:jl,status:vl,bubble:Nl,caret:Sl,dots:Al,reply:Rl,"reply-text":"_reply-text_6w3bd_103",proposal:Cl,"proposal-icon":"_proposal-icon_6w3bd_121","proposal-label":"_proposal-label_6w3bd_126","bubble-confirm":"_bubble-confirm_6w3bd_138",done:Ml},ts="Who signs off on the Acme pilot?",El="Sam has gone quiet. Lena Park, the CFO, approved the last renewal.",Tl="Yes, add her.",$l=4,Pl={0:"Listening",1:"Checking records",2:"Waiting for your OK",3:"Saving",4:"Updated"},ve={firstKey:600,think:350,reply:1100,confirm:1800,done:700,hold:3200};function Ll(s){return 45+s*37%41}const Ol="Milo is asked who signs off on the Acme pilot, notices Sam has gone quiet, asks whether to add Lena Park, the CFO, as decision maker, and once you say yes saves it to the deal's timeline.";function Il({className:s}){const t=ie("(prefers-reduced-motion: reduce)"),r=n.useRef(null),o=n.useRef([]),[h,c]=n.useState(0),[g,C]=n.useState(0),k=n.useCallback(()=>{o.current.forEach(P=>window.clearTimeout(P)),o.current=[]},[]),S=n.useCallback(()=>{k(),c(0),C(0);const P=(B,L)=>o.current.push(window.setTimeout(L,B));let $=ve.firstKey;for(let B=1;B<=ts.length;B++)$+=Ll(B),P($,()=>C(B));P($+=ve.think,()=>c(1)),P($+=ve.reply,()=>c(2)),P($+=ve.confirm,()=>c(3)),P($+=ve.done,()=>c(4)),P($+=ve.hold,S)},[k]),x=n.useCallback(()=>{o.current.length===0&&S()},[S]);he(r,{enabled:!t,threshold:.3,play:x,stop:k}),n.useEffect(()=>k,[k]);const b=t?$l:h,y=t?ts:ts.slice(0,g);return e.jsxs("div",{ref:r,className:l(ae.card,s),role:"img","aria-label":Ol,"data-testid":"compare-milo","data-step":b,children:[e.jsxs("div",{className:ae.head,"aria-hidden":"true",children:[e.jsx("span",{className:ae.avatar,children:e.jsx(ja,{weight:"fill",size:12})}),e.jsx("span",{className:ae.name,children:"Milo"}),e.jsx("span",{className:ae.status,"data-testid":"compare-milo-status",children:Pl[b]})]}),e.jsxs("div",{className:ae.bubble,"aria-hidden":"true","data-testid":"compare-milo-question",children:[y,b===0&&e.jsx("span",{className:ae.caret,"data-testid":"compare-milo-caret"})]}),b===1&&e.jsxs("div",{className:ae.dots,"aria-hidden":"true","data-testid":"compare-milo-thinking",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),b>=2&&e.jsxs("div",{className:ae.reply,"aria-hidden":"true","data-testid":"compare-milo-reply",children:[e.jsx("div",{className:ae["reply-text"],children:El}),e.jsxs("div",{className:ae.proposal,children:[e.jsx(va,{size:16,className:ae["proposal-icon"]}),e.jsxs("span",{className:ae["proposal-label"],children:["Add ",e.jsx("strong",{children:"Lena Park"})," as decision maker?"]})]})]}),b>=3&&e.jsx("div",{className:l(ae.bubble,ae["bubble-confirm"]),"aria-hidden":"true","data-testid":"compare-milo-confirm",children:Tl}),b===4&&e.jsxs("span",{className:ae.done,"aria-hidden":"true","data-testid":"compare-milo-done",children:[e.jsx(ia,{weight:"bold",size:13}),"Added to the timeline"]})]})}const ql="_card_3iq7r_8",Fl="_tiles_3iq7r_22",Dl="_tile_3iq7r_22",Bl="_stack_3iq7r_53",Hl="_amount_3iq7r_57",Ul="_caption_3iq7r_66",Ne={card:ql,tiles:Fl,tile:Dl,stack:Bl,amount:Hl,caption:Ul},Gl=s=>s.toLocaleString("en-US"),Wl=()=>{};function Yl(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),[r,o]=n.useState(!1),h=n.useCallback(()=>o(!0),[]);he(t,{enabled:!s&&!r,threshold:.5,play:h,stop:Wl});const c=s?"rest":r?"play":"wait";return e.jsx("div",{ref:t,className:Ne.card,"data-testid":"credit-blocks","data-state":c,children:e.jsx("ul",{className:Ne.tiles,"aria-label":"Credit blocks",children:Na.map(g=>{const C=ba[g.id];return e.jsxs("li",{className:Ne.tile,"data-testid":"credit-block",children:[e.jsx(ka,{coins:C,state:c,className:Ne.stack}),e.jsx(Fs,{value:g.credits,format:Gl,play:r,durationMs:ya(C),className:Ne.amount}),e.jsx("span",{className:Ne.caption,children:"one-off"})]},g.id)})})})}const zl="_card_1ykdt_9",Kl="_half_1ykdt_19",Vl="_metered_1ykdt_26",Xl="_head_1ykdt_31",Ql="_title_1ykdt_38",Zl="_pill_1ykdt_46",Jl="_rows_1ykdt_63",ec="_row_1ykdt_63",sc="_check_1ykdt_83",ac="_dot_1ykdt_90",Z={card:zl,half:Kl,metered:Vl,head:Xl,title:Ql,pill:Zl,"pill-metered":"_pill-metered_1ykdt_58",rows:Jl,row:ec,check:sc,dot:ac},tc=["Email and calendar imports","Claude and ChatGPT access over MCP","Workflow steps: filter, branch, find, create, update, tasks","Workflow Slack posts and list updates","Seats, records and storage are limits, never credits"],nc=["Ask Milo, in text or voice","Enrichment, AI summaries and attributes","Web research","Workflow email, HTTP and code steps","Heavy jobs, by the item"];function rc(){return e.jsxs("div",{className:Z.card,"data-testid":"free-vs-credits",children:[e.jsxs("div",{className:Z.half,children:[e.jsxs("div",{className:Z.head,children:[e.jsx("h3",{className:Z.title,children:"Free, always"}),e.jsx("span",{className:Z.pill,children:"0 credits"})]}),e.jsx("ul",{className:Z.rows,"aria-label":"Free, always",children:tc.map(s=>e.jsxs("li",{className:Z.row,children:[e.jsx("span",{className:Z.check,"aria-hidden":"true",children:"✓"}),e.jsx("span",{children:s})]},s))})]}),e.jsxs("div",{className:`${Z.half} ${Z.metered}`,children:[e.jsxs("div",{className:Z.head,children:[e.jsx("h3",{className:Z.title,children:"Uses credits"}),e.jsx("span",{className:`${Z.pill} ${Z["pill-metered"]}`,children:"Metered"})]}),e.jsx("ul",{className:Z.rows,"aria-label":"Uses credits",children:nc.map(s=>e.jsxs("li",{className:Z.row,children:[e.jsx("span",{className:Z.dot,"aria-hidden":"true"}),e.jsx("span",{children:s})]},s))})]})]})}const oc="_root_lwttn_13",lc="_inner_lwttn_17",cc="_section_lwttn_23",ic="_h2_lwttn_39",dc="_accent_lwttn_61",_c="_strong_lwttn_65",pc="_lede_lwttn_70",hc="_rows_lwttn_127",mc="_row_lwttn_127",uc="_hero_lwttn_232",gc="_flow_lwttn_472",fc="_panel_lwttn_478",wc="_exchange_lwttn_505",xc="_card_lwttn_823",a={root:oc,inner:lc,section:cc,"section-snug":"_section-snug_lwttn_29",h2:ic,"h2-tight":"_h2-tight_lwttn_48","h2-flush":"_h2-flush_lwttn_53","h2-solo":"_h2-solo_lwttn_57",accent:dc,strong:_c,lede:pc,"lede-gap":"_lede-gap_lwttn_78","head-grid":"_head-grid_lwttn_83","head-side":"_head-side_lwttn_95","head-grid-figure":"_head-grid-figure_lwttn_106","head-figure":"_head-figure_lwttn_121",rows:hc,"rows-gap":"_rows-gap_lwttn_132",row:mc,"row-wide":"_row-wide_lwttn_146","row-key":"_row-key_lwttn_151","row-val":"_row-val_lwttn_156","head-grid-even":"_head-grid-even_lwttn_166","head-side-roomy":"_head-side-roomy_lwttn_171","lede-lg":"_lede-lg_lwttn_175","lede-claim":"_lede-claim_lwttn_182","def-rows":"_def-rows_lwttn_187","def-row":"_def-row_lwttn_187","def-rows-gap":"_def-rows-gap_lwttn_206","def-rows-wide":"_def-rows-wide_lwttn_211","def-term":"_def-term_lwttn_215","def-desc":"_def-desc_lwttn_221",hero:uc,"hero-brand":"_hero-brand_lwttn_238","hero-brand-mark":"_hero-brand-mark_lwttn_244","hero-brand-word":"_hero-brand-word_lwttn_266","hero-tagline":"_hero-tagline_lwttn_275","hero-tagline-lead":"_hero-tagline-lead_lwttn_286","hero-headline-stage":"_hero-headline-stage_lwttn_293","hero-h1":"_hero-h1_lwttn_299","hero-h1-connector":"_hero-h1-connector_lwttn_315","hero-h1-highlight":"_hero-h1-highlight_lwttn_320","hero-h1-entering":"_hero-h1-entering_lwttn_325","hero-h1-in":"_hero-h1-in_lwttn_1","hero-h1-leaving":"_hero-h1-leaving_lwttn_329","hero-h1-out":"_hero-h1-out_lwttn_1","hero-progress":"_hero-progress_lwttn_354","hero-progress-seg":"_hero-progress-seg_lwttn_360","hero-progress-seg-past":"_hero-progress-seg-past_lwttn_378","hero-progress-fill":"_hero-progress-fill_lwttn_382","hero-top":"_hero-top_lwttn_400","hero-copy":"_hero-copy_lwttn_410","hero-lede":"_hero-lede_lwttn_415","hero-cta-stack":"_hero-cta-stack_lwttn_398","product-frame":"_product-frame_lwttn_432","plan-metrics":"_plan-metrics_lwttn_442","plan-metric":"_plan-metric_lwttn_442","plan-metric-num":"_plan-metric-num_lwttn_456","plan-metric-label":"_plan-metric-label_lwttn_465",flow:gc,panel:fc,"panel-text":"_panel-text_lwttn_489","panel-subhead":"_panel-subhead_lwttn_499",exchange:wc,"tag-row":"_tag-row_lwttn_510","tag-row-text":"_tag-row-text_lwttn_518","panel-figure":"_panel-figure_lwttn_524","agents-grid":"_agents-grid_lwttn_533","approve-slot":"_approve-slot_lwttn_547","open-grid":"_open-grid_lwttn_557","open-cell":"_open-cell_lwttn_564","open-card":"_open-card_lwttn_569","open-visual":"_open-visual_lwttn_589","open-text":"_open-text_lwttn_598","open-title":"_open-title_lwttn_605","open-body":"_open-body_lwttn_612","compare-grid":"_compare-grid_lwttn_619","compare-stage":"_compare-stage_lwttn_632","compare-hero":"_compare-hero_lwttn_636","compare-hero-side":"_compare-hero-side_lwttn_673","compare-hero-head":"_compare-hero-head_lwttn_683","compare-hero-title":"_compare-hero-title_lwttn_691","compare-hero-lede":"_c
1ompare-hero-lede_lwttn_701","compare-hero-brand":"_compare-hero-brand_lwttn_710","compare-brand":"_compare-brand_lwttn_720","compare-brand-tile":"_compare-brand-tile_lwttn_726","compare-brand-glow":"_compare-brand-glow_lwttn_734","compare-brand-mark":"_compare-brand-mark_lwttn_744","compare-brand-word":"_compare-brand-word_lwttn_763","compare-diffs":"_compare-diffs_lwttn_782","compare-diff":"_compare-diff_lwttn_782","compare-diff-title":"_compare-diff-title_lwttn_804","compare-diff-body":"_compare-diff-body_lwttn_811","compare-diff-versus":"_compare-diff-versus_lwttn_819",card:xc,"card-title":"_card-title_lwttn_834","card-body":"_card-body_lwttn_839","price-split":"_price-split_lwttn_847"},ds=_a(),Is=pa().length,bc=ha.length,Ae=[{line1:"Sell smarter.",connector:"Close",highlight:"faster."},{line1:"Every feature. Every seat.",connector:"Milo does",highlight:"the rest."},{line1:"Nothing held back.",connector:"Every plan,",highlight:"every feature."},{line1:"Skip the typing.",connector:"Start",highlight:"talking."},{line1:"It proposes.",connector:"You",highlight:"approve."},{line1:"A system of record",connector:"built for",highlight:"an agent."},{line1:"Seats for people.",connector:"Credits for",highlight:"your agents."}],kc=6e3,yc=300;function jc(){const[s,t]=n.useState(0),[r,o]=n.useState(null),h=n.useCallback(k=>{k!==s&&(o(s),t(k))},[s]);n.useEffect(()=>{const k=window.setTimeout(()=>{o(s),t(S=>(S+1)%Ae.length)},kc);return()=>window.clearTimeout(k)},[s]),n.useEffect(()=>{if(r===null)return;const k=window.setTimeout(()=>o(null),yc);return()=>window.clearTimeout(k)},[r]);const c=Ae[s],g=r!==null?Ae[r]:null,C=k=>e.jsxs(e.Fragment,{children:[k.line1,e.jsx("br",{}),e.jsx("span",{className:a["hero-h1-connector"],children:k.connector})," ",e.jsx("span",{className:a["hero-h1-highlight"],children:k.highlight})]});return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:a["hero-headline-stage"],children:[g&&e.jsx("p",{"data-testid":"hero-statement",className:l(a["hero-h1"],a["hero-h1-leaving"]),"aria-hidden":"true",children:C(g)},`out-${r}`),e.jsx("p",{"data-testid":"hero-statement",className:l(a["hero-h1"],g!==null&&a["hero-h1-entering"]),children:C(c)},`in-${s}`)]}),e.jsx("div",{className:a["hero-progress"],role:"tablist","aria-label":"Hero statement",children:Ae.map((k,S)=>{const x=S<s?"past":S===s?"active":"future";return e.jsx("button",{type:"button",role:"tab","aria-selected":x==="active"?"true":"false","aria-label":`Show statement ${S+1} of ${Ae.length}`,className:l(a["hero-progress-seg"],a[`hero-progress-seg-${x}`]),onClick:()=>h(S),children:x==="active"&&e.jsx("span",{className:a["hero-progress-fill"]},`fill-${s}`)},S)})})]})}function vc({goSignup:s}){return e.jsx("section",{className:a.hero,id:"hero",children:e.jsxs("div",{className:a.inner,children:[e.jsxs("div",{className:a["hero-top"],children:[e.jsxs("div",{className:a["hero-copy"],children:[e.jsxs("div",{className:a["hero-brand"],"aria-label":"UnifiedCRM",role:"img",children:[e.jsx("span",{className:a["hero-brand-mark"],"aria-hidden":"true",children:"U"}),e.jsx("span",{className:a["hero-brand-word"],"aria-hidden":"true",children:"UnifiedCRM"})]}),e.jsxs("h1",{className:a["hero-tagline"],children:[e.jsx("b",{className:a["hero-tagline-lead"],children:"The agentic AI CRM"})," with"," ",e.jsx(Ds,{children:"nothing held back"})]}),e.jsx(jc,{}),e.jsx("p",{className:a["hero-lede"],children:"AI agents that run your CRM. Milo reads the signals, updates the records, scores deals, forecasts, suggests the next move and keeps follow-ups moving. Ask what changed. Tell it what to do. Approve what matters."})]}),e.jsx("div",{className:a["hero-cta-stack"],children:e.jsx(Ua,{onStartTrial:s})})]}),e.jsx("div",{className:a["product-frame"],children:e.jsx(bt,{})})]})})}function Nc(){const s=[["Every plan",`every one of the ${ds} features, across ${Is} categories.`],["Plans differ","only in seats, records, storage and credits."],["Guaranteed","by the product, not the small print."]],t=[{num:ds,label:"Features on every plan"},{num:qs(),label:"Features gated by plan"},{num:Is,label:"Categories, all included"},{num:De,label:"Days of Pro to try, free"}];return e.jsx("section",{className:a.section,id:"nothing-held-back",children:e.jsxs("div",{className:a.inner,children:[e.jsx(xe,{children:"Every plan"}),e.jsxs("div",{className:l(a["head-grid"],a["head-grid-figure"],a["head-grid-even"]),children:[e.jsxs("h2",{className:a.h2,children:["Nothing ",e.jsx("span",{className:a.accent,children:"held back."})]}),e.jsx("div",{className:a["head-figure"],children:e.jsx(wa,{})}),e.jsxs("div",{className:l(a["head-side"],a["head-side-roomy"]),children:[e.jsxs("p",{className:l(a.lede,a["lede-lg"]),children:["Other agentic CRMs put call capture, reporting, formulas or single sign-on on the top tier."," ",e.jsx("b",{className:a["lede-claim"],children:"We don't. Every plan includes every feature."})]}),e.jsx("dl",{className:a["def-rows"],children:s.map(([r,o])=>e.jsxs("div",{className:a["def-row"],children:[e.jsx("dt",{className:a["def-term"],children:r}),e.jsx("dd",{className:a["def-desc"],children:o})]},r))})]})]}),e.jsx("div",{className:a["plan-metrics"],children:t.map(r=>e.jsxs("div",{className:a["plan-metric"],children:[e.jsx(Fs,{value:r.num,className:a["plan-metric-num"]}),e.jsx("span",{className:a["plan-metric-label"],children:r.label})]},r.label))})]})})}function Sc(){const s=[["Captures","every email, meeting, attachment, person and company. The import itself is free."],["Enriches","people and companies on create, and scores every company against your ideal customer profile."],["Scores","deal, company and relationship health."],["Signals","buying intent, objection, urgency, champion and commitment, from real conversations."],["Forecasts","the quarter with weekly snapshots, stories and gap movers."],["Proposes","Plays, for you to accept or dismiss."]];return e.jsx("section",{className:a.section,id:"milo-works",children:e.jsxs("div",{className:a.inner,children:[e.jsx(xe,{children:"Before you ask"}),e.jsxs("div",{className:l(a["head-grid"],a["head-grid-figure"],a["head-grid-even"]),children:[e.jsxs("h2",{className:a.h2,children:["Milo does the work",e.jsx("br",{}),e.jsx("span",{className:a.accent,children:"before you ask."})]}),e.jsx("div",{className:a["head-figure"],children:e.jsx(zr,{})}),e.jsxs("div",{className:l(a["head-side"],a["head-side-roomy"]),children:[e.jsxs("p",{className:l(a.lede,a["lede-lg"]),children:["Connect your inbox and calendar and the records fill themselves in."," ",e.jsx("b",{className:a["lede-claim"],children:"From then on Milo keeps them scored, enriched and current."})]}),e.jsx("dl",{className:a["def-rows"],children:s.map(([t,r])=>e.jsxs("div",{className:a["def-row"],children:[e.jsx("dt",{className:a["def-term"],children:t}),e.jsx("dd",{className:a["def-desc"],children:r})]},t))})]})]}),e.jsx("div",{className:a.flow,children:e.jsx(Lo,{})})]})})}const Ac=[{said:"What changed on Acme since Friday?",done:"Milo reads back two emails, a dropped health score and the open objection."},{said:"Move it to proposal, remind me Thursday, and draft a follow-up to Sam.",done:"Stage changed, task created, draft waiting in Review and Send."}];function Rc(){return e.jsx("section",{className:l(a.section,a["section-snug"]),id:"talk-to-it",children:e.jsx("div",{className:a.inner,children:e.jsxs("div",{className:a.panel,children:[e.jsxs("div",{className:a["panel-text"],children:[e.jsx(xe,{children:"Voice · same agent, same tools"}),e.jsxs("h2",{className:l(a.h2,a["h2-tight"]),children:["Skip the typing.",e.jsx("br",{}),e.jsx("span",{className:a.accent,children:"Start talking."})]}),e.jsx("p",{className:a.lede,children:"Milo takes a call. Ask what moved since Friday and hear it. Tell it to push the deal, log the call and set the reminder, and it does it while you drive. Ask for the follow-up and it lands in your Review and Send card. It picks up where your last conversation left off."}),e.jsx("div",{className:a["panel-subhead"],children:"Said, then done"}),e.jsx("div",{className:a.rows,children:Ac.map(s=>e.jsxs("div",{className:a.exchange,children:[e.jsxs("div",{className:a["tag-row"],children:[e.jsx(Fe,{tone:"faint",size:10,
1children:"You said"}),e.jsxs("span",{className:a["tag-row-text"],children:["“",s.said,"”"]})]}),e.jsxs("div",{className:a["tag-row"],children:[e.jsx(Fe,{size:10,children:"Milo did"}),e.jsx("span",{className:a["tag-row-text"],children:s.done})]})]},s.said))})]}),e.jsx("div",{className:a["panel-figure"],children:e.jsx(xl,{})})]})})})}const Cc=[{title:"Plays",body:"Milo proposes updates to your records for you to accept or dismiss."},{title:"Review and Send",body:"A drafted email lands in a card that never sends itself."},{title:"Workflows",body:"Milo assembles the automation from a sentence. You publish it when it is ready."},{title:"Timeline",body:"What you approve lands on the record's timeline. Forecasts carry their stories and factors."}];function Mc(){return e.jsx("section",{className:a.section,id:"you-approve",children:e.jsxs("div",{className:a.inner,children:[e.jsx(xe,{children:"Guardrails"}),e.jsxs("div",{className:a["agents-grid"],children:[e.jsxs("div",{children:[e.jsxs("h2",{className:a.h2,children:["It proposes.",e.jsx("br",{}),e.jsx("span",{className:a.accent,children:"You approve."})]}),e.jsxs("p",{className:l(a.lede,a["lede-lg"],a["lede-gap"]),children:["A Play is accept or dismiss. A drafted email is a Review and Send card that never sends itself. A workflow Milo builds is published by you."," ",e.jsx("b",{className:a["lede-claim"],children:"You can see why. What you approve is in the timeline."})]}),e.jsx("dl",{className:l(a["def-rows"],a["def-rows-wide"],a["def-rows-gap"]),children:Cc.map(s=>e.jsxs("div",{className:a["def-row"],children:[e.jsx("dt",{className:a["def-term"],children:s.title}),e.jsx("dd",{className:a["def-desc"],children:s.body})]},s.title))})]}),e.jsx("div",{className:a["approve-slot"],children:e.jsx(_n,{})})]})]})})}function Ec(){const s=[["Model it","custom types, twenty-plus field types, conditional fields, validation, formulas that roll up across relationships and children."],["Relationships","every one typed, with a role on each end and limits that hold. Emails and meetings sit on the same graph."],["Meaning","every record embedded, every relationship carrying how people actually engage, so Milo sees the champion go quiet before you do."],["Milo works it","walks the graph to answer, proposes the missing stakeholder for you to accept, and writes back through the same typed links you would."]];return e.jsx("section",{className:a.section,id:"system-of-record",children:e.jsxs("div",{className:a.inner,children:[e.jsx(xe,{children:"System of record"}),e.jsxs("div",{className:l(a["head-grid"],a["head-grid-figure"],a["head-grid-even"]),children:[e.jsxs("h2",{className:a.h2,children:["A system of record built for"," ",e.jsx("span",{className:a.accent,children:"an agent to work in."})]}),e.jsx("div",{className:a["head-figure"],children:e.jsx(rr,{})}),e.jsxs("div",{className:l(a["head-side"],a["head-side-roomy"]),children:[e.jsxs("p",{className:l(a.lede,a["lede-lg"]),children:["Sales, recruiting, partners, services."," ",e.jsx("b",{className:a["lede-claim"],children:"If it has records and relationships, it fits."})]}),e.jsx("dl",{className:a["def-rows"],children:s.map(([t,r])=>e.jsxs("div",{className:a["def-row"],children:[e.jsx("dt",{className:a["def-term"],children:t}),e.jsx("dd",{className:a["def-desc"],children:r})]},t))})]})]})]})})}const Tc=[{title:"REST API",body:"Documented, with keys. Every operation the product runs is callable.",visual:"/marketing/open/api.svg"},{title:"MCP in",body:`Open your CRM from Claude or ChatGPT: ${Hs} tools, ${Ra} once you allow writes.`,visual:"/marketing/open/mcpin.svg"},{title:"MCP out",body:`${bc} apps in the catalogue, from Notion and Slack to HubSpot.`,visual:"/marketing/open/mcpout.svg"},{title:"Webhooks and Slack",body:"Start a workflow from a webhook. Post the result to a channel.",visual:"/marketing/open/slack.svg"},{title:"Desktop app",body:"Briefs, alerts and capture in the background.",visual:"/marketing/open/desktop.svg"},{title:"Mobile Today",body:"Install it on your phone. Meeting prep and voice notes on the move.",visual:"/marketing/open/mobile.svg"}];function $c(){return e.jsx("section",{className:a.section,id:"open",children:e.jsxs("div",{className:a.inner,children:[e.jsxs(ce,{children:[e.jsx(xe,{children:"Open on every side"}),e.jsxs("div",{className:a["head-grid"],children:[e.jsxs("h2",{className:a.h2,children:["Open on ",e.jsx("span",{className:a.accent,children:"every side."})]}),e.jsx("p",{className:l(a.lede,a["head-side"]),children:"Milo is not the only agent that can work here. Bring your own, or send Milo out to the tools you already use."})]})]}),e.jsx("div",{className:a["open-grid"],children:Tc.map((s,t)=>e.jsx(ce,{index:t+1,className:a["open-cell"],children:e.jsxs("div",{className:a["open-card"],"data-testid":"open-card",children:[e.jsx("img",{className:a["open-visual"],src:s.visual,alt:"",loading:"lazy"}),e.jsxs("div",{className:a["open-text"],children:[e.jsx("div",{className:a["open-title"],children:s.title}),e.jsx("div",{className:a["open-body"],children:s.body})]})]})},s.title))})]})})}const Pc="Pay per seat, monthly or annually. Milo's work spends credits, every charge is itemised on your Usage page, and you can add a credit block whenever you need one.";function Lc(){return e.jsx("section",{className:a.section,id:"pricing",children:e.jsxs("div",{className:a.inner,children:[e.jsx(ce,{children:e.jsx(xe,{children:"A price you can read"})}),e.jsxs("div",{className:a["head-grid"],children:[e.jsxs(ce,{children:[e.jsxs("h2",{className:l(a.h2,a["h2-flush"]),children:["Seats for people.",e.jsx("br",{}),e.jsx("span",{className:a.accent,children:"Credits for your agents."})]}),e.jsx("p",{className:l(a.lede,a["lede-gap"]),children:Pc})]}),e.jsx(ce,{index:2,className:a["head-side"],children:e.jsx(Yl,{})})]}),e.jsx(ce,{className:a["price-split"],children:e.jsx(rc,{})})]})})}const Oc=[{name:"Attio",body:"The best-known agentic CRM and a strong data model. Call Intelligence, sequences and advanced reporting are on Pro, and AI runs on two credit pools. UnifiedCRM includes every feature on every plan, itemises every credit it charges, and you can talk to its agent."},{name:"Lightfield",body:"Updates itself from calls and email and sells a Skills catalogue to foun
1der-led startups. Pro starts at $999 a month per workspace and credits expire yearly. UnifiedCRM is priced per seat with every feature included and no expiring allowance."},{name:"Monaco",body:"Pairs agents with a forward deployed sales executive for seed-stage founders. There is no public price and no self-serve. UnifiedCRM is self-serve in minutes, with a price you can read."},{name:"Zero",body:"Replaces the CRM and the tools around it with a prospect database, sequencer and agents. Every agent step costs credits from a 500-a-seat pool. UnifiedCRM keeps the data model deep and workflow logic free, and in chat Milo checks with you before it saves a change."}],Ic=[{title:"Every feature, every plan",body:`All ${ds} features on every plan, ${qs()} gated. Plans differ in seats, records, storage and credits.`,versus:"Attio"},{title:"Credits you can trace",body:"Every credit charge comes from one rate card and is itemised on your Usage page. Imports, MCP calls and workflow logic are free; AI on top uses credits.",versus:"Attio, Lightfield"},{title:"Per seat, self-serve",body:`Pay per seat, monthly or annually, not per workspace. Sign up yourself and try every Pro feature for ${De} days.`,versus:"Lightfield, Monaco"},{title:"Talk to it",body:"Ask Milo in text or voice. It answers from your records and updates them while you talk.",versus:"Attio"},{title:"It proposes. You approve.",body:"Milo reads the change back and waits for your OK. Plays wait for you to accept or dismiss, and what you approve lands in the timeline.",versus:"Zero"},{title:"A deep data model",body:`Custom types, and formulas that roll up totals and counts from linked records. Open to Claude and ChatGPT over MCP with ${Hs} tools.`,versus:"Zero"}];function qc(s,t){n.useEffect(()=>{const r=s.current,o=r?.querySelector("[data-compare-hero]"),h=r?.querySelector("[data-compare-grid]");if(!t||!r||!o||!h||typeof ResizeObserver>"u")return;const c=()=>{r.style.setProperty("--hero-h",`${o.offsetHeight}px`),r.style.setProperty("--grid-h",`${h.offsetHeight}px`)};c();const g=new ResizeObserver(c);return g.observe(o),g.observe(h),()=>g.disconnect()},[s,t])}const Fc=()=>{};function Dc(){const s=ie("(prefers-reduced-motion: reduce)"),t=n.useRef(null),[r,o]=n.useState(!1),h=n.useCallback(()=>o(!0),[]);return he(t,{enabled:!s&&!r,threshold:.25,play:h,stop:Fc}),qc(t,!s),e.jsx("section",{className:a.section,id:"compare",children:e.jsxs("div",{className:a.inner,children:[e.jsxs(ce,{children:[e.jsx(xe,{children:"How it stacks up"}),e.jsxs("h2",{className:l(a.h2,a["h2-solo"]),children:["Five good products. ",e.jsx("span",{className:a.accent,children:"One that holds nothing back."})]})]}),e.jsxs("div",{className:a["compare-stage"],ref:t,"data-testid":"compare-stage","data-rise":s?void 0:r?"risen":"waiting",children:[e.jsxs("div",{className:a["compare-hero"],"aria-labelledby":"compare-hero-title","data-compare-hero":!0,children:[e.jsxs("div",{className:a["compare-hero-side"],children:[e.jsxs(ce,{className:a["compare-hero-head"],children:[e.jsx(Fe,{size:12,children:"UnifiedCRM"}),e.jsxs("h3",{className:a["compare-hero-title"],id:"compare-hero-title",children:["The agentic CRM with ",e.jsx(Ds,{children:"nothing held back"})]}),e.jsx("p",{className:a["compare-hero-lede"],children:"Everything the others gate, price per workspace or keep behind a sales call, in one self-serve product with a price you can read."})]}),e.jsxs(ce,{index:1,className:a["compare-hero-brand"],children:[e.jsxs("div",{className:a["compare-brand"],"aria-label":"UnifiedCRM",role:"img",children:[e.jsxs("span",{className:a["compare-brand-tile"],"aria-hidden":"true",children:[e.jsx("span",{className:a["compare-brand-glow"]}),e.jsx("span",{className:a["compare-brand-mark"],children:"U"})]}),e.jsx("span",{className:a["compare-brand-word"],"aria-hidden":"true",children:"UnifiedCRM"})]}),e.jsx(Il,{})]})]}),e.jsx("ul",{className:a["compare-diffs"],children:Ic.map((c,g)=>e.jsxs(ce,{as:"li",index:g+1,className:a["compare-diff"],children:[e.jsx("div",{className:a["compare-diff-title"],children:c.title}),e.jsx("div",{className:a["compare-diff-body"],children:c.body}),e.jsxs(Fe,{tone:"faint",size:11,className:a["compare-diff-versus"],children:["vs ",c.versus]})]},c.title))})]}),e.jsx("div",{className:a["compare-grid"],"data-compare-grid":!0,children:Oc.map((c,g)=>e.jsxs(ce,{index:g,className:a.card,children:[e.jsx("div",{className:a["card-title"],children:c.name}),e.jsx("div",{className:a["card-body"],children:c.body})]},c.name))})]})]})})}function ti(){Aa(Sa.home);const s=ga(),t=da(),r=()=>s("/login"),o=()=>t("/login?mode=signup");return e.jsxs("div",{className:a.root,children:[e.jsx(vc,{goSignup:o}),e.jsx(Rc,{}),e.jsx(Nc,{}),e.jsx(Sc,{}),e.jsx(Mc,{}),e.jsx(Ec,{}),e.jsx($c,{}),e.jsx(Lc,{}),e.jsx(Dc,{}),e.jsx(fa,{onStartTrial:o,onLogin:r})]})}
1export{Cc as AGENT_ROWS,Oc as COMPARE_CARDS,Ic as COMPARE_DIFFERENTIATORS,kc as HEADLINE_INTERVAL_MS,Ae as HERO_HEADLINES,Tc as OPEN_CARDS,Pc as PRICING_LEDE,Ac as VOICE_EXCHANGES,ti as default};

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.