{"version":3,"file":"StackMapR2.BiFRJPey.mjs","names":["useRef","useState","c","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","_e","p","c","init_jsx_runtime","ce","de","window","useInView","useReducedMotion","init_framer_motion_DhsWWWsN","RenderTarget","init_framer_DymZktPS","useIsStaticRenderer","addPropertyControls","ControlType","Mark","src","Tile","call","liveLabel","live","hit","logo","name","StackMapR2","props","pick","v","k","D","ink","colour","accent","paper","str","fallback","apps","LOGO","crms","calendar","files","moments","parseMoments","brandName","showLogo","brandLogo","RICAVI_LOGO","isRicaviLogo","draftSource","DRAFT_SOURCE","draftImage","boxA","parseBox","boxB","aw","DRAFT_W","ah","DRAFT_H","bw","bh","sw","DRAFT_GAP","sh","slice","dx","w","h","b","pointerAt","phoneBelow","PHONE_BELOW","isDefaultRow","sameBox","phoneBox","PHONE_BOX","phoneSource","DRAFT_PHONE_SOURCE","splitPct","DEFAULT_SPLIT","pieces","btnAt","ax","ay","bx","by","px","PHONE_W","py","PHONE_H","pw","ph","PHONE_TEXT_X","sx","indent","DESK_TEXT_X","top2","phoneOn","pieceW","pieceH","cw","ch","cut","x","y","l","t","cssW","cssH","W","H","phoneCss","isStatic","reduced","onCanvas","still","ref","inView","SEEN","playing","setPlaying","rest","SETTLED","scene","setScene","appRef","cycleRef","autoplay","s","timers","at","fn","ms","patch","start","delay","BRIEF","BRIEF_LANDS","LIVE","BRIEF_OFF","RUN","i","LAND","CALL_ENDS","FILES","FILES_LANDS","FILES_OFF","DRAFT_AT","POINTER_IN","PRESS","RELEASE","APPROVE","TOKEN","POINTER_OFF","ARRIVE","SYNCED","HIT_OFF","CYCLE","app","FIRST","c$1","parseColor","dark","luminance","mix","share","mixA","weight","mono","monoFamily","pickFamily","MONO","monoWeight","rootStyle","style","font","SANS","DRAFT_BG","draft","DRAFTS","statusIcon","done","Tick","CSS","a","m","PHONE_CAP","RICAVI_LOGO_RATIO","GENERIC","FRAMER_DEFAULT","EASE","GLIDE","text","image","fontControl","init_StackMapR2","n","f","house","value","rgb","hex","r","g","lin","area"],"sources":["https:/framerusercontent.com/modules/7ysiE80xg908Gr1DIAs2/S7oRRhIkEJegKqNvzqGB/StackMapR2.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useInView,useReducedMotion}from\"framer-motion\";import{useEffect,useRef,useState}from\"react\";// ---- the project's own logo assets (the page's old Works with tiles and the home deal line use the same files) ----\nconst LOGO={teams:\"https://framerusercontent.com/images/BhKRUzWkOiZt94hHXZGRyizN8PE.webp\",zoom:\"https://framerusercontent.com/images/fRItvsChKcmTs7n5ks0Z54govM.webp\",hubspot:\"https://framerusercontent.com/images/Z5JjprfIdcpAvaOrv4NY8c5bg8.webp\",salesforce:\"https://framerusercontent.com/images/ldH1V9Sx9Hc6VivhdgZmQQfJM.png\",dynamics:\"https://framerusercontent.com/images/BsYMoMUvYvSjGSuucnRlABA36c8.png\",gcal:\"https://framerusercontent.com/images/DhSGKogdDNnWg4yBUGPX2Xfmdy4.webp\",outlook:\"https://framerusercontent.com/images/KrzPKTAe9iKDw7niRs9WyC08OQ.webp\",gdrive:\"https://framerusercontent.com/images/HfFGneJYM8YoN7x9e36R7Xc4EFs.webp\",onedrive:\"https://framerusercontent.com/images/VeMZBG7tnX3l2VUS5hkJ41DoW0.png\"};// R5-1: the site nav's Ricavi logo (Navigation GyGWFeHEW, layer \"logo\"; also the landing header and the site footer's\n// dark card): the mark and the wordmark, burnt peach (#ff584a), viewBox 2587.94 x 493.92. The mark is the square at the\n// left, x 8 to 492 of the file's units: as wide as the logo is tall.\nconst RICAVI_LOGO=\"https://framerusercontent.com/images/e1vlzFtabwMMX4nkmQvqafV82Sc.svg\";const RICAVI_LOGO_RATIO=2587.94/493.92;/** Narrower than this (the brand row's own width), the logo shows its mark alone. */const MARK_ONLY_BELOW=220;// ---- the drafted CRM update: the Brightwell Actions render (product-shots/v3/actions.png, 2880x1800), the \"Up next\"\n// row \"Move Pathloom to Discovery in the pipeline\" with its \"Update CRM\" button. Two pieces of the one row, in percent\n// of the render: the icon and the title, then the button; the grey deal meta between them is left out so the row\n// fits a card. Measured 15 Oct 2026 (row y 1296 to 1375; icon x 968; title to x 1647; button x 2154 to 2359). ----\nconst DRAFT_SOURCE=\"https://framerusercontent.com/images/9ng29iCMWajDIZ0dfh9NxBBXk.png\";const DRAFT_W=2880;const DRAFT_H=1800;const DRAFT_BG=\"#F8F8F7\";/** Render px between the two pieces. */const DRAFT_GAP=24;// ---- the phone re-set of the draft row (C7, M5). The phone-native Actions render (product-shots/phone/actions-phone.png,\n// 1140x2160 at 3x; product-shots/phone/urls.json \"actions-phone\", the file CrmApprovalSteps uses): its \"Up next\" row, the\n// icon (x 77 to 166, y 1901 to 1991) and the title over two lines (ink y 1916 to 2022, to x 706), measured 15 Oct 2026.\n// The deal meta under it (y 2052 to 2090, with an em dash) stays out. ----\nconst DRAFT_PHONE_SOURCE=\"https://framerusercontent.com/images/FIkal2BLveH1WzvAKACceX9YHAg.png\";const PHONE_W=1140;const PHONE_H=2160;const PHONE_BOX=\"5.614,87.5,57.719,6.667\"// x 64, y 1890, w 658, h 144\n;const PHONE_TEXT_X=206// where the phone row's words start (render px)\n;const DESK_TEXT_X=1058// where a desktop row's words start, after the icon (render px)\n;const DEFAULT_SPLIT=45.625// x 1314: where \"Discovery\" starts in the default row (the ink gap after \"to\" is 1306 to 1314)\n;const PHONE_CAP=1.15;const PHONE_BELOW=900;const D={callsLabel:\"On the call\",meetName:\"Google Meet\",teamsName:\"Microsoft Teams\",zoomName:\"Zoom\",liveLabel:\"Live\",moments:\"18m 22s|Price objection\\n22m 10s|Decision process still open\\n40m 10s|Scorecard, 62/100\",brandName:\"Ricavi\",brandLine:\"Ricavi sits above your CRM and guides the work at every stage.\",trayLabel:\"From the call\",draftLabel:\"Drafted for the rep\",draftTitleBox:\"33.194,72,24.514,4.444\",draftButtonBox:\"74.375,72,7.951,4.444\",draftAlt:\"A drafted action in Ricavi: Move Pathloom to Discovery in the pipeline, with an Update CRM button for the rep.\",statusWaiting:\"Waiting for the rep\",statusApproved:\"Approved by the rep\",statusSynced:\"Synced to CRM\",upLabel:\"Account, deal, and contacts\",downLabel:\"Drafted updates\",gateLabel:\"The rep approves\",crmLabel:\"Your CRM\",crm1Name:\"HubSpot\",crm2Name:\"Salesforce\",crm3Name:\"Microsoft Dynamics\",asideLabel:\"Alongside\",calendarLabel:\"Calendar\",calendarLine:\"So the pre-call brief lands 30 minutes before each call.\",calendar1Name:\"Google Calendar\",calendar2Name:\"Outlook\",filesLabel:\"Files\",filesLine:\"Connected at onboarding, with your calendar.\",files1Name:\"Google Drive\",files2Name:\"OneDrive\",caption:\"Nothing is written to your CRM until the rep approves it.\",signinLine:\"Sign in with Google SSO, Microsoft SSO, or SAML (Okta, Azure AD).\",summary:\"The stack: calls on Google Meet, Microsoft Teams, and Zoom feed Ricavi. Ricavi sits above your CRM (HubSpot, Salesforce, Microsoft Dynamics): account, deal, and contacts come up, drafted updates go down once the rep approves them. Google Calendar, Outlook, Google Drive, and OneDrive sit alongside.\",pauseLabel:\"Pause\",playLabel:\"Play\"};// ---- the cycle, in ms from its start. Three moments travel down the live app's line and land in the tray; the call\n// ends while the scorecard is in flight; the draft arrives; the pointer presses Update CRM (the rep approving); the\n// gate opens; the token drops into the CRM; the status reads synced; hold; the next app takes its turn. ----\nconst CYCLE=12e3;/** The calendar's pulse opens each cycle: the pre-call brief lands in Ricavi, then the call goes live. */const BRIEF=0;const BRIEF_LANDS=950;const BRIEF_OFF=1900;const LIVE=1e3;const RUN=[1400,2600,3800];const LAND=[2300,3500,4700];const CALL_ENDS=4200;/** The quieter files pulse feeds the draft: it leaves as the call ends and lands as the draft arrives. */const FILES=4300;const FILES_LANDS=5250;const FILES_OFF=6100;const DRAFT_AT=5300;const POINTER_IN=6600;const PRESS=7400;const RELEASE=7600;const APPROVE=7750;const TOKEN=8100;const POINTER_OFF=8200;const ARRIVE=9100;const SYNCED=9250;const HIT_OFF=9900;/** How much of the figure has to be on screen for the cycle to run. */const SEEN=.3;/** The pause before the first cycle starts, so the settled picture is seen before it winds back (a fade, not a cut). */const FIRST=700;const SETTLED={app:0,live:false,landed:3,runner:-1,runKey:0,draft:\"synced\",draftKey:0,pointer:\"off\",gate:true,token:false,tokenKey:0,hit:-1,cal:\"off\",calKey:0,files:\"off\",filesKey:0};const DRAFTS=[\"waiting\",\"approved\",\"synced\"];const sameBox=(a,b)=>Math.abs(a.x-b.x)<.01&&Math.abs(a.y-b.y)<.01&&Math.abs(a.w-b.w)<.01&&Math.abs(a.h-b.h)<.01;const str=v=>typeof v===\"string\"?v.trim():\"\";const parseBox=s=>{const n=s.split(\",\").map(t=>Number(t.trim()));if(n.length!==4||n.some(v=>!Number.isFinite(v))||n[2]<=0||n[3]<=0)return null;return{x:n[0],y:n[1],w:n[2],h:n[3]};};/** \"18m 22s|Price objection\" per line; a line without the bar is all text. */const parseMoments=s=>s.split(/\\r?\\n/).map(l=>l.trim()).filter(Boolean).slice(0,3).map(l=>{const i=l.indexOf(\"|\");return i<0?{time:\"\",text:l}:{time:l.slice(0,i).trim(),text:l.slice(i+1).trim()};});// House type with real fallbacks: an untouched Framer Font control resolves to Framer's own family, which is not a\n// pick, so it falls back to the house face too.\nconst SANS='\"Instrument Sans\", \"Instrument Sans Placeholder\", ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Helvetica, Arial, sans-serif';const MONO='\"Geist Mono\", \"Geist Mono Placeholder\", ui-monospace, \"SF Mono\", Menlo, monospace';const GENERIC=/^(sans-serif|serif|monospace|system-ui|ui-[a-z-]+|inherit|initial|unset)$/i;const FRAMER_DEFAULT=/^\\s*[\"']?(Inter|Fragment Mono)( Placeholder| Variable| Display)?[\"']?\\s*(,|$)/i;const pickFamily=(f,house)=>{const v=typeof f?.fontFamily===\"string\"?f.fontFamily.trim():\"\";if(!v||GENERIC.test(v)||FRAMER_DEFAULT.test(v))return house;if(v.replace(/[\"']/g,\"\").trim().toLowerCase()===house.split(\",\")[0].replace(/[\"']/g,\"\").trim().toLowerCase())return house;return v.includes(\",\")?v:`${/^[\"']/.test(v)?v:`\"${v}\"`}, ${house}`;};// Framer hands colour controls over as \"rgb(r, g, b)\" / \"rgba(...)\" strings (a typed hex is normalised) and as\n// { value } when bound to a token. Everything here goes through color-mix(), which takes any CSS colour.\nconst colour=(value,fallback)=>{const v=value&&typeof value===\"object\"&&\"value\"in value?value.value:value;const s=typeof v===\"string\"?v.trim():\"\";return s||fallback;};const parseColor=value=>{const v=String(value??\"\").trim();const rgb=/^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?)[\\s,]+(\\d{1,3}(?:\\.\\d+)?)[\\s,]+(\\d{1,3}(?:\\.\\d+)?)/i.exec(v);if(rgb)return[Number(rgb[1]),Number(rgb[2]),Number(rgb[3])];const hex=/^#?([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(v);if(!hex)return null;const h=hex[1].length===3?hex[1].replace(/./g,\"$&$&\"):hex[1];const n=parseInt(h,16);return[n>>16&255,n>>8&255,n&255];};const luminance=([r,g,b])=>{const lin=c=>{const s=c/255;return s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4);};return .2126*lin(r)+.7152*lin(g)+.0722*lin(b);};const EASE=\"cubic-bezier(.2,.75,.2,1)\";const GLIDE=\"cubic-bezier(.5,0,.2,1)\";const CSS=`\n.sm{position:relative;width:100%;margin:0;container:sm / inline-size;color:var(--sm-ink);font-family:var(--sm-sans);-webkit-font-smoothing:antialiased}\n.sm-in{--sm-gap1:72px;--sm-gap2:116px;--sm-inset:28px;--sm-split:84px;--sm-tile:40px;--sm-mark:24px;--sm-name:17px;--sm-brand:34px;--sm-logo:24px;--sm-line:17px}\n.sm *{box-sizing:border-box}\n.sm :where(p,h3,ul,li){margin:0;padding:0}\n.sm :where(ul){list-style:none}\n.sm-vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}\n.sm-mono{font-family:var(--sm-mono);font-size:12px;font-weight:var(--sm-mono-weight);line-height:1.4;letter-spacing:.08em;text-transform:uppercase}\n.sm-map{position:relative;display:grid;grid-template-columns:minmax(200px,1.15fr) minmax(0,3.5fr) minmax(200px,1.15fr);grid-template-rows:auto var(--sm-gap1) auto var(--sm-gap2) auto auto}\n\n/* tiles: a white well for the mark (the marks are drawn for light backgrounds), the name beside it */\n.sm-tile{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 14px;border-radius:12px;background:var(--sm-card);box-shadow:inset 0 0 0 1px var(--sm-edge);transition:box-shadow .35s ${EASE},background-color .35s ${EASE}}\n.sm-well{flex:none;display:grid;place-items:center;width:var(--sm-tile);height:var(--sm-tile);border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}\n.sm-well img{display:block;width:var(--sm-mark);height:var(--sm-mark);object-fit:contain}\n.sm-well.is-text{display:none}\n.sm-name{min-width:0;font-size:var(--sm-name);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--sm-strong)}\n/* the live state has its own slot: a tab on the call tile's top edge, half above the tile and half inside a band the\n   tile reserves for it (padding-top 18px against the tab's 9px), so it never meets the mark or the name however the\n   name wraps; the call label above keeps 20px clear for its upper half */\n.sm-tile.is-call{padding-top:18px;padding-bottom:12px}\n.sm-live{position:absolute;right:10px;top:0;z-index:1;display:inline-flex;align-items:center;gap:6px;height:18px;padding:0 8px 0 7px;border-radius:999px;background:var(--sm-paper);box-shadow:inset 0 0 0 1px var(--sm-accent-edge);font-size:10px;line-height:18px;white-space:nowrap;color:var(--sm-accent);opacity:0;transform:translateY(-50%);transition:opacity .3s ease;pointer-events:none}\n.sm-live i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--sm-accent)}\n.sm-tile.is-live{box-shadow:inset 0 0 0 1px var(--sm-accent-edge)}\n.sm-tile.is-live .sm-live{opacity:1}\n.sm-tile.is-live .sm-live i{animation:sm-pulse 1.4s ease-out infinite}\n.sm-tile.is-hit{box-shadow:inset 0 0 0 1.5px var(--sm-accent);background:var(--sm-card-hit)}\n\n/* row 1: the call apps, over the slab */\n.sm-calls{grid-column:2;grid-row:1;margin:0 calc(var(--sm-inset) * 2)}\n.sm-tier{display:block;margin:0 0 12px;color:var(--sm-mute)}\n.sm-calls .sm-tier{margin-bottom:20px}\n.sm-apps,.sm-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}\n\n/* row 2: three lines down into Ricavi; the live app's line carries the moments */\n.sm-lines{grid-column:2;grid-row:2;position:relative;z-index:2;margin:0 calc(var(--sm-inset) * 2)}\n.sm-line{position:relative;--sm-rx:-50%}\n.sm-line::before{content:\"\";position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--sm-rule)}\n.sm-line::after{content:\"\";position:absolute;left:50%;bottom:7px;width:6px;height:6px;margin-left:-3.5px;border-right:1px solid var(--sm-rule);border-bottom:1px solid var(--sm-rule);transform:rotate(45deg)}\n.sm-line.is-live::before,.sm-line.is-live::after{border-color:var(--sm-accent-line);background:var(--sm-accent-line)}\n.sm-line.is-live::after{background:none}\n.sm-runner{position:absolute;left:50%;top:0;display:inline-flex;align-items:center;gap:8px;height:26px;padding:0 10px;border-radius:999px;background:var(--sm-runfill);box-shadow:inset 0 0 0 1px var(--sm-runedge),0 10px 24px -12px rgba(0,0,0,.8);font-size:12px;font-weight:500;white-space:nowrap;color:var(--sm-strong);transform:translate(var(--sm-rx),-4px);animation:sm-run .9s ${GLIDE} both;pointer-events:none}\n.sm-runner time,.sm-chip time{font-family:var(--sm-mono);font-size:12px;font-weight:var(--sm-mono-weight);letter-spacing:.08em;color:var(--sm-mute);white-space:nowrap;flex-shrink:0}\n\n/* row 3: calendar beside, Ricavi, files beside */\n.sm-side{grid-row:3;display:grid;align-items:center}\n.sm-side.is-left{grid-column:1;grid-template-columns:minmax(0,1fr) calc(36px + var(--sm-inset))}\n.sm-side.is-right{grid-column:3;grid-template-columns:calc(36px + var(--sm-inset)) minmax(0,1fr)}\n/* the ties run into the slab's edge (across the slab's inset), at the slab's centre line: one layer */\n.sm-tie{position:relative;height:0;border-top:1px dashed var(--sm-rule)}\n.sm-side.is-left .sm-tie{margin-right:calc(-1 * var(--sm-inset))}\n.sm-side.is-right .sm-tie{margin-left:calc(-1 * var(--sm-inset))}\n/* a pulse: a full-width carrier slid by its own width, so the dot crosses the tie whatever its length */\n.sm-feed{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none;animation:sm-feed-in 1s ${GLIDE} both}\n.sm-feed::before{content:\"\";position:absolute;left:0;top:-3px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--sm-accent);box-shadow:0 0 0 3px var(--sm-halo)}\n.sm-side.is-right .sm-feed{animation-name:sm-feed-out}\n.sm-side.is-right .sm-feed::before{top:-2.5px;width:5px;height:5px;margin-left:-2.5px;background:var(--sm-strong);box-shadow:none;opacity:.7}\n.sm-aside{position:relative;padding:14px 16px 15px;border-radius:12px;background:var(--sm-card);box-shadow:inset 0 0 0 1px var(--sm-edge)}\n.sm-aside::after{content:\"\";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--sm-accent-edge);opacity:0;transition:opacity .45s ease;pointer-events:none}\n.sm-side.is-right .sm-aside::after{box-shadow:inset 0 0 0 1px var(--sm-runedge)}\n.sm-side[data-feed=\"run\"] .sm-aside::after{opacity:1}\n/* where a pulse lands: a short mark on the slab's edge, at the centre line */\n.sm-port{position:absolute;top:50%;width:2px;height:28px;margin-top:-14px;border-radius:2px;background:var(--sm-accent);opacity:0;transition:opacity .5s ease;pointer-events:none}\n.sm-port.is-left{left:-1px}\n.sm-port.is-right{right:-1px;background:var(--sm-strong)}\n.sm-port.is-on{opacity:1}\n.sm-port.is-right.is-on{opacity:.55}\n.sm-aside-label{display:block;color:var(--sm-mute)}\n.sm-aside-list{display:grid;gap:8px;margin-top:10px}\n.sm-aside-list li{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--sm-strong)}\n.sm-aside-list .sm-well{--sm-tile:30px;--sm-mark:18px;border-radius:8px}\n.sm-aside-line{margin-top:10px;font-size:14px;line-height:1.5;color:var(--sm-mute);text-wrap:pretty}\n\n.sm-slab{grid-column:2;grid-row:3;position:relative;margin:0 var(--sm-inset);padding:24px 24px 24px;border-radius:14px;background:var(--sm-slab);box-shadow:inset 0 0 0 1px var(--sm-slab-edge),0 34px 60px -40px rgba(0,0,0,.85)}\n.sm-slab::before{content:\"\";position:absolute;left:16px;right:16px;top:0;height:2px;border-radius:0 0 2px 2px;background:var(--sm-accent)}\n.sm-brand{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px}\n.sm-brand-name{display:inline-flex;align-items:center;gap:11px;font-size:var(--sm-brand);font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--sm-strong)}\n.sm-brand-mark{flex:none;width:.4em;height:.4em;border-radius:.1em;background:var(--sm-accent)}\n/* R5-1: the logo. The row is its own container, so the mark-alone switch follows the row's width, not the figure's */\n.sm-brand.is-logo{align-items:center;container:smb / inline-size}\n/* R5-QA-20 (Ary, 19 Oct): the logo a little smaller, 24 / 22 / 20px tall (was 30 / 26 / 24; proportions kept), centred\n   on the first line of the text beside it (not on the whole paragraph when it wraps): whichever is shorter, the logo or\n   the line box, is pushed down by half the difference */\n.sm-brand.is-logo{align-items:flex-start}\n.sm-brand.is-logo .sm-logo{margin-top:max(0px,calc((var(--sm-line) * 1.45 - var(--sm-logo)) / 2))}\n.sm-brand.is-logo .sm-brand-line{margin-top:max(0px,calc((var(--sm-logo) - var(--sm-line) * 1.45) / 2))}\n.sm-logo{flex:none;display:block;height:var(--sm-logo);overflow:hidden}\n.sm-logo img{display:block;height:100%;width:auto;max-width:none}\n.sm-logo.is-ricavi{width:calc(var(--sm-logo) * ${RICAVI_LOGO_RATIO.toFixed(4)})}\n.sm-logo.is-ricavi img{width:100%}\n@container smb (max-width:${MARK_ONLY_BELOW-.02}px){.sm-logo.is-ricavi{width:var(--sm-logo)}.sm-logo.is-ricavi img{width:calc(var(--sm-logo) * ${RICAVI_LOGO_RATIO.toFixed(4)})}}\n.sm-brand-line{flex:1 1 320px;min-width:0;font-size:var(--sm-line);line-height:1.45;color:var(--sm-body);text-wrap:pretty}\n.sm-work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;margin-top:20px}\n.sm-box{position:relative;min-width:0;padding:14px 16px 16px;border-radius:10px;background:var(--sm-inner);box-shadow:inset 0 0 0 1px var(--sm-edge)}\n.sm-box-label{display:block;color:var(--sm-mute)}\n.sm-chips{display:grid;gap:8px;margin-top:10px;justify-items:start}\n.sm-chip{display:inline-flex;align-items:center;gap:9px;max-width:100%;min-height:28px;padding:4px 11px;border-radius:999px;background:var(--sm-chipfill);box-shadow:inset 0 0 0 1px var(--sm-chipedge);font-size:14px;font-weight:500;line-height:1.2;color:var(--sm-strong);opacity:.3;transition:opacity .4s ${EASE}}\n/* a new call dims the tray's moments to ghosts (never an empty box); each lights as its moment lands */\n.sm-chip.is-on{opacity:1}\n/* the draft row has no hidden state: it always holds a drafted update; a new one arrives with a short settle (it\n   never starts from nothing, so a paused or interrupted cycle can't leave the box empty) */\n.sm-row{position:relative;margin-top:10px;padding:10px;border-radius:8px;background:var(--sm-draft-bg);box-shadow:0 0 0 1px rgba(0,0,0,.05)}\n.sm-row.is-new{animation:sm-arrive .6s ${EASE} both}\n.sm-scene{position:relative;display:block;width:100%;aspect-ratio:var(--sm-ar);overflow:hidden;border-radius:4px}\n.sm-slice{position:absolute;display:block;background-repeat:no-repeat}\n.sm-whole{display:block;width:100%;height:auto;border-radius:4px}\n/* the phone re-set of the draft row (shown by the container rule the component writes for draftPhoneBelow) */\n.sm-pscene{position:relative;display:none;width:100%;overflow:visible}\n.sm-pscene > .sm-slice{border-radius:3px}\n.sm-pbtn{position:absolute;display:block;background-repeat:no-repeat}\n.sm-pointer{position:absolute;left:var(--sm-px);top:var(--sm-py);width:18px;height:20px;margin:-3px 0 0 -3px;opacity:0;transform:translate(64px,72px);transition:transform .7s ${GLIDE},opacity .25s ease;pointer-events:none}\n.sm-pointer svg{display:block;width:100%;height:auto;filter:drop-shadow(0 2px 3px rgba(10,10,12,.3))}\n.sm-box[data-pointer=\"in\"] .sm-pointer{opacity:1;transform:translate(0,0)}\n.sm-box[data-pointer=\"press\"] .sm-pointer{opacity:1;transform:translate(0,0) scale(.82);transition:transform .14s ease,opacity .25s ease}\n.sm-status{position:relative;height:18px;margin-top:10px}\n.sm-status span{position:absolute;left:0;top:0;display:inline-flex;align-items:center;gap:7px;font-family:var(--sm-mono);font-size:12px;font-weight:var(--sm-mono-weight);line-height:18px;letter-spacing:.02em;white-space:nowrap;color:var(--sm-mute);opacity:0;transition:opacity .35s ease}\n.sm-status span i{display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--sm-ringline)}\n.sm-status span i svg{display:block;width:9px;height:9px}\n.sm-status span.is-done{color:var(--sm-strong)}\n.sm-status span.is-done i{background:var(--sm-accent);box-shadow:none}\n.sm-box[data-status=\"waiting\"] .sm-status .is-waiting,.sm-box[data-status=\"approved\"] .sm-status .is-approved,.sm-box[data-status=\"synced\"] .sm-status .is-synced{opacity:1}\n.sm-along{display:none;align-items:center;flex-wrap:wrap;gap:8px 18px;margin-top:16px;padding-top:14px;border-top:1px solid var(--sm-rule)}\n.sm-along-label{color:var(--sm-mute)}\n.sm-along-group{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--sm-strong)}\n.sm-along-group::after{content:\"\";position:absolute;inset:-4px -8px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--sm-accent-edge);opacity:0;transition:opacity .45s ease;pointer-events:none}\n.sm-along-group.is-files::after{box-shadow:inset 0 0 0 1px var(--sm-runedge)}\n.sm-along-group[data-feed=\"run\"]::after,.sm-along-group[data-feed=\"land\"]::after{opacity:1}\n.sm-along-group .sm-well{--sm-tile:26px;--sm-mark:16px;border-radius:7px}\n\n/* row 4: the two lines between Ricavi and the CRM, the gate on the way down */\n.sm-link{grid-column:2;grid-row:4;position:relative;margin:0 var(--sm-inset)}\n.sm-up,.sm-down{position:absolute;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--sm-rule)}\n.sm-up{left:calc(50% - var(--sm-split))}\n.sm-down{left:calc(50% + var(--sm-split))}\n.sm-up::before{content:\"\";position:absolute;left:50%;top:7px;width:6px;height:6px;margin-left:-3.5px;border-left:1px solid var(--sm-rule);border-top:1px solid var(--sm-rule);transform:rotate(45deg)}\n.sm-down::after{content:\"\";position:absolute;left:50%;bottom:7px;width:6px;height:6px;margin-left:-3.5px;border-right:1px solid var(--sm-rule);border-bottom:1px solid var(--sm-rule);transform:rotate(45deg)}\n.sm-up-label{position:absolute;right:calc(50% + var(--sm-split) + 14px);top:50%;max-width:46%;transform:translateY(-50%);text-align:right;color:var(--sm-mute)}\n.sm-down-label{position:absolute;left:calc(50% + var(--sm-split) + 14px);top:14px;max-width:46%;color:var(--sm-mute)}\n.sm-gate-label{position:absolute;left:calc(50% + var(--sm-split) + 20px);top:50%;max-width:46%;transform:translateY(-50%);color:var(--sm-strong);transition:color .3s ease}\n.sm-gate{position:absolute;left:calc(50% + var(--sm-split));top:50%;z-index:2;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--sm-paper);box-shadow:inset 0 0 0 1.5px var(--sm-ringline);transform:translate(-50%,-50%);transition:background-color .3s ease,box-shadow .3s ease}\n.sm-gate svg{display:block;width:12px;height:12px;opacity:0;transition:opacity .25s ease}\n.sm-gate.is-open{background:var(--sm-accent);box-shadow:none}\n.sm-gate.is-open svg{opacity:1}\n.sm-token{position:absolute;left:calc(50% + var(--sm-split));top:0;z-index:1;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--sm-accent);box-shadow:0 0 0 4px var(--sm-halo);animation:sm-drop 1s ${GLIDE} both;pointer-events:none}\n\n/* row 5: the CRM plate under everything */\n.sm-plate{grid-column:2;grid-row:5;padding:18px 24px 22px;border-radius:14px;background:var(--sm-plate);box-shadow:inset 0 0 0 1px var(--sm-edge)}\n.sm-crms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:12px}\n\n/* row 6: the rule, the sign-in line, the control */\n.sm-foot{grid-column:1/-1;grid-row:6;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 24px;margin-top:24px}\n.sm-foot-text{display:grid;gap:4px}\n.sm-cap{font-size:14px;line-height:1.5;color:var(--sm-body)}\n.sm-signin{color:var(--sm-mute)}\n.sm-toggle{appearance:none;-webkit-appearance:none;flex:none;display:inline-flex;align-items:center;gap:8px;height:30px;margin:0;padding:0 12px 0 10px;border:0;border-radius:999px;background:var(--sm-card);box-shadow:inset 0 0 0 1px var(--sm-edge);color:var(--sm-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease}\n.sm-toggle:focus{outline:none}\n/* the 30px pause pill keeps its look and gets a 44px tap area at every width and pointer (R5-QA-12: was touch only,\n   so a phone-width window with a mouse or trackpad, or a touch laptop, measured 30px) */\n.sm-toggle{position:relative}.sm-toggle::after{content:\"\";position:absolute;inset:-7px -4px}\n.sm-toggle:focus-visible{outline:2px solid var(--sm-strong);outline-offset:2px}\n.sm-ico{position:relative;width:10px;height:10px}\n.sm-ico[data-icon=\"pause\"]::before,.sm-ico[data-icon=\"pause\"]::after{content:\"\";position:absolute;top:0;bottom:0;width:3px;border-radius:1px;background:currentColor}\n.sm-ico[data-icon=\"pause\"]::before{left:1px}\n.sm-ico[data-icon=\"pause\"]::after{right:1px}\n.sm-ico[data-icon=\"play\"]{left:1px;background:currentColor;clip-path:polygon(10% 0,100% 50%,10% 100%)}\n.sm.is-still .sm-toggle{display:none}\n@media (hover:hover){.sm-toggle:hover{background:var(--sm-card-hit)}}\n\n@keyframes sm-pulse{from{box-shadow:0 0 0 0 var(--sm-halo)}to{box-shadow:0 0 0 9px transparent}}\n@keyframes sm-run{0%{opacity:0;transform:translate(var(--sm-rx),-4px)}10%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate(var(--sm-rx),calc(var(--sm-gap1) - 8px))}}\n@keyframes sm-drop{0%{opacity:0}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(calc(var(--sm-gap2) + 10px))}}\n@keyframes sm-feed-in{0%{opacity:0;transform:translateX(0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(100%)}}\n@keyframes sm-feed-out{0%{opacity:0;transform:translateX(100%)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(0)}}\n@keyframes sm-arrive{0%{opacity:.25;transform:translateY(6px)}100%{opacity:1;transform:none}}\n.sm.is-still *,.sm.is-still *::before,.sm.is-still *::after{animation:none!important;transition:none!important}\n@media (prefers-reduced-motion:reduce){.sm *,.sm *::before,.sm *::after{animation:none!important;transition:none!important}}\n\n/* R5-2 (19 Oct): the diagram's text in the site's scale. The app names (Body size, 600) and the Ricavi line (Body)\n   are 17px from a 1200px window and 16px below it, as the site's text styles; labels and times are Label (12px mono\n   500), chips, side lines and captions Small (14px). Phones keep 14px names in their narrow tiles. */\n@media (max-width:1199.98px){\n.sm-in{--sm-name:16px;--sm-line:16px}\n}\n@container sm (max-width:1099px){\n.sm-in{--sm-split:64px;--sm-inset:20px;--sm-brand:30px;--sm-logo:22px;--sm-tile:36px;--sm-mark:22px}\n.sm-map{grid-template-columns:minmax(180px,1.15fr) minmax(0,3.5fr) minmax(180px,1.15fr)}\n.sm-work{grid-template-columns:minmax(0,1fr);gap:14px}\n.sm-chips{display:flex;flex-wrap:wrap}\n}\n@container sm (max-width:899px){\n.sm-in{--sm-gap1:56px;--sm-gap2:104px;--sm-inset:16px;--sm-split:60px}\n.sm-map{grid-template-columns:minmax(0,1fr)}\n.sm-calls,.sm-lines,.sm-slab,.sm-link,.sm-plate,.sm-foot{grid-column:1}\n.sm-side,.sm-port{display:none}\n.sm-along{display:flex}\n.sm-slab{padding:20px 18px 18px}\n.sm-work{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}\n.sm-chips{display:grid}\n}\n@container sm (max-width:639px){\n.sm-in{--sm-gap1:48px;--sm-gap2:112px;--sm-inset:0px;--sm-split:0px;--sm-tile:34px;--sm-mark:22px;--sm-name:14px;--sm-brand:28px;--sm-logo:20px}\n.sm-apps,.sm-lines,.sm-crms{gap:10px}\n.sm-tile{flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:0;padding:12px 6px 10px;text-align:center}\n.sm-tile.is-call{padding-top:18px;padding-bottom:10px}\n.sm-name{font-weight:500}\n.sm-live{right:50%;margin-right:-30px;width:60px;justify-content:center;padding:0 6px}\n.sm-line[data-pos=\"left\"]{--sm-rx:-12px}\n.sm-line[data-pos=\"right\"]{--sm-rx:calc(-100% + 12px)}\n.sm-work{grid-template-columns:minmax(0,1fr)}\n.sm-box{padding:12px 14px 14px}\n.sm-row{padding:8px}\n.sm-brand-line{flex-basis:100%}\n.sm-slab{padding:18px 14px 16px}\n.sm-along{gap:8px 14px}\n.sm-up{left:auto;right:calc(50% + 22px)}\n.sm-down{left:calc(50% + 22px)}\n.sm-up-label{right:calc(50% + 36px);max-width:calc(50% - 44px);top:50%}\n.sm-down-label{left:calc(50% + 36px);max-width:calc(50% - 44px);top:12px}\n.sm-gate{left:calc(50% + 22px)}\n.sm-gate-label{left:calc(50% + 42px);max-width:calc(50% - 50px);top:58%;transform:none}\n.sm-token{left:calc(50% + 22px)}\n.sm-plate{padding:14px 12px 14px}\n.sm-foot{margin-top:20px}\n}\n`;function Mark({src,alt}){return src?/*#__PURE__*/_jsx(\"span\",{className:\"sm-well\",children:/*#__PURE__*/_jsx(\"img\",{src:src,alt:alt,loading:\"lazy\",decoding:\"async\",draggable:false})}):/*#__PURE__*/_jsx(\"span\",{className:\"sm-well is-text\",\"aria-hidden\":\"true\"});}function Tile({name,logo,live,hit,liveLabel}){const call=liveLabel!==undefined;return /*#__PURE__*/_jsxs(\"li\",{className:`sm-tile${call?\" is-call\":\"\"}${live?\" is-live\":\"\"}${hit?\" is-hit\":\"\"}`,children:[/*#__PURE__*/_jsx(Mark,{src:logo,alt:\"\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-name\",children:name}),call?/*#__PURE__*/_jsxs(\"span\",{className:\"sm-live sm-mono\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{}),liveLabel]}):null]});}const Tick=()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 12 12\",fill:\"none\",stroke:\"#0A0A0C\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M2.5 6.3 5 8.8l4.6-5.3\"})});export default function StackMapR2(props){const{font,mono,style,autoplay=true}=props;const pick=k=>{const v=props[k];return typeof v===\"string\"?v.trim():D[k]// trimmed: a single space (the DSL can't store \"\") hides a line\n;};const ink=colour(props.ink,\"#F8F8F7\");const accent=colour(props.accent,\"#FF584A\");const paper=colour(props.paper,\"#0A0A0C\");const logo=(v,fallback)=>str(v)||fallback;const apps=[{name:pick(\"meetName\"),logo:str(props.meetLogo)},{name:pick(\"teamsName\"),logo:logo(props.teamsLogo,LOGO.teams)},{name:pick(\"zoomName\"),logo:logo(props.zoomLogo,LOGO.zoom)}];const crms=[{name:pick(\"crm1Name\"),logo:logo(props.crm1Logo,LOGO.hubspot)},{name:pick(\"crm2Name\"),logo:logo(props.crm2Logo,LOGO.salesforce)},{name:pick(\"crm3Name\"),logo:logo(props.crm3Logo,LOGO.dynamics)}];const calendar=[{name:pick(\"calendar1Name\"),logo:logo(props.calendar1Logo,LOGO.gcal)},{name:pick(\"calendar2Name\"),logo:logo(props.calendar2Logo,LOGO.outlook)}];const files=[{name:pick(\"files1Name\"),logo:logo(props.files1Logo,LOGO.gdrive)},{name:pick(\"files2Name\"),logo:logo(props.files2Logo,LOGO.onedrive)}];const moments=parseMoments(pick(\"moments\"));// R5-1: the logo (the nav's file unless the instance sets its own); \"text\" is the round 4 name with its square\nconst brandName=pick(\"brandName\");const showLogo=props.brandStyle!==\"text\";const brandLogo=str(props.brandLogo)||RICAVI_LOGO;const isRicaviLogo=brandLogo===RICAVI_LOGO;const draftSource=str(props.draftSource)||DRAFT_SOURCE;const draftImage=str(props.draftImage);const boxA=parseBox(pick(\"draftTitleBox\"))??parseBox(D.draftTitleBox);const boxB=parseBox(pick(\"draftButtonBox\"))??parseBox(D.draftButtonBox);// the composition, in render px: piece A, a gap, piece B; the pointer aims at the middle of the button\nconst aw=boxA.w/100*DRAFT_W;const ah=boxA.h/100*DRAFT_H;const bw=boxB.w/100*DRAFT_W;const bh=boxB.h/100*DRAFT_H;const sw=aw+DRAFT_GAP+bw;const sh=Math.max(ah,bh);const slice=(b,dx,w,h)=>({left:`${dx/sw*100}%`,top:0,width:`${w/sw*100}%`,height:`${h/sh*100}%`,backgroundImage:`url(\"${draftSource}\")`,backgroundSize:`${100/b.w*100}% ${100/b.h*100}%`,backgroundPosition:`${b.w>=100?0:b.x/(100-b.w)*100}% ${b.h>=100?0:b.y/(100-b.h)*100}%`});const pointerAt={\"--sm-px\":`${(aw+DRAFT_GAP+bw/2)/sw*100}%`,\"--sm-py\":\"50%\"};// the phone re-set of the row (C7, M5): pieces in CSS px at the renders' own size (desktop 2x, phone 3x), placed in\n// percent of the composition, which is drawn at most PHONE_CAP times that size\nconst phoneBelow=Math.max(0,Math.round(Number(props.draftPhoneBelow??PHONE_BELOW)||0));const isDefaultRow=sameBox(boxA,parseBox(D.draftTitleBox));const phoneBox=parseBox(str(props.draftPhoneBox))??(isDefaultRow?parseBox(PHONE_BOX):null);const phoneSource=str(props.draftPhoneSource)||DRAFT_PHONE_SOURCE;const splitPct=Number(str(props.draftSplit)||(isDefaultRow?DEFAULT_SPLIT:NaN));let pieces=[];let btnAt=[0,0];const ax=boxA.x/100*DRAFT_W;const ay=boxA.y/100*DRAFT_H;const bx=boxB.x/100*DRAFT_W;const by=boxB.y/100*DRAFT_H;if(phoneBox){const px=phoneBox.x/100*PHONE_W;const py=phoneBox.y/100*PHONE_H;const pw=phoneBox.w/100*PHONE_W;const ph=phoneBox.h/100*PHONE_H;pieces=[{src:phoneSource,W:PHONE_W,H:PHONE_H,r:[px,py,pw,ph],at:[0,0]}];btnAt=[Math.max(0,(PHONE_TEXT_X-px)/3),ph/3+4];}else if(Number.isFinite(splitPct)&&splitPct>boxA.x&&splitPct<boxA.x+boxA.w){const sx=splitPct/100*DRAFT_W;const indent=Math.max(0,(DESK_TEXT_X-ax)/2);// line 1 stops 3 render px short of the split (inside the space, clear of the next word's anti-aliased edge);\n// line 2 is the text band of the row (30% to 80% of its height) from 1px before the split, set under line 1's words\nconst top2=ah/2*.85;pieces=[{src:draftSource,W:DRAFT_W,H:DRAFT_H,r:[ax,ay,sx-3-ax,ah],at:[0,0]},{src:draftSource,W:DRAFT_W,H:DRAFT_H,r:[sx-1,ay+ah*.3,ax+aw-sx+1,ah*.5],at:[Math.max(0,indent-.5),top2]}];btnAt=[indent,top2+ah*.5/2+6];}const phoneOn=!draftImage&&phoneBelow>0&&pieces.length>0;const pieceW=p=>p.r[2]/(p.W===PHONE_W?3:2);const pieceH=p=>p.r[3]/(p.W===PHONE_W?3:2);const cw=Math.max(bw/2+btnAt[0],...pieces.map(p=>p.at[0]+pieceW(p)));const ch=Math.max(bh/2+btnAt[1],...pieces.map(p=>p.at[1]+pieceH(p)));const cut=(src,W,H,[x,y,w,h],[l,t],cssW,cssH)=>({left:`${l/cw*100}%`,top:`${t/ch*100}%`,width:`${cssW/cw*100}%`,height:`${cssH/ch*100}%`,backgroundImage:`url(\"${src}\")`,backgroundSize:`${W/w*100}% ${H/h*100}%`,backgroundPosition:`${w>=W?0:x/(W-w)*100}% ${h>=H?0:y/(H-h)*100}%`});const phoneCss=phoneOn?`@container sm (max-width:${phoneBelow-.02}px){.sm[data-dpb=\"${phoneBelow}\"] .sm-row > .sm-scene,.sm[data-dpb=\"${phoneBelow}\"] .sm-row > .sm-pointer{display:none}.sm[data-dpb=\"${phoneBelow}\"] .sm-pscene{display:block}}`:\"\";const isStatic=useIsStaticRenderer();const reduced=useReducedMotion()===true;// the canvas never runs the cycle, even where the static-renderer hook does not report it\nconst onCanvas=RenderTarget.current()===RenderTarget.canvas;const still=isStatic||reduced||onCanvas;const ref=useRef(null);const inView=useInView(ref,{amount:SEEN});const[playing,setPlaying]=useState(true);const rest=props.restApproved===true?{...SETTLED,draft:\"approved\"}:SETTLED;const[scene,setScene]=useState(rest);const appRef=useRef(0);const cycleRef=useRef(0);appRef.current=scene.app;// The cycle runs only while the figure is on screen, playing, and allowed to move. Otherwise the picture settles:\n// every moment landed, the draft synced, the gate ticked, which is also what the server and the canvas draw.\nuseEffect(()=>{if(still||!playing||!autoplay||!inView){setScene(s=>({...rest,app:s.app,runKey:s.runKey,tokenKey:s.tokenKey,draftKey:s.draftKey,calKey:s.calKey,filesKey:s.filesKey}));return;}const timers=[];const at=(ms,fn)=>timers.push(window.setTimeout(fn,ms));const patch=p=>setScene(s=>({...s,...p}));const start=(app,delay)=>{const hit=cycleRef.current%3;cycleRef.current+=1;// a new call: the tray clears for its moments, the gate closes for its draft; the last draft stays in the\n// box (synced) until the new one replaces it, so the box is never empty\nat(delay+BRIEF,()=>setScene(s=>({...s,app,live:false,landed:0,runner:-1,pointer:\"off\",gate:false,token:false,hit:-1,cal:\"run\",calKey:s.calKey+1,files:\"off\"})));at(delay+BRIEF_LANDS,()=>patch({cal:\"land\"}));at(delay+LIVE,()=>patch({live:true}));at(delay+BRIEF_OFF,()=>patch({cal:\"off\"}));RUN.forEach((t,i)=>at(delay+t,()=>setScene(s=>({...s,runner:i,runKey:s.runKey+1}))));LAND.forEach((t,i)=>at(delay+t,()=>patch({runner:-1,landed:i+1})));at(delay+CALL_ENDS,()=>patch({live:false}));at(delay+FILES,()=>setScene(s=>({...s,files:\"run\",filesKey:s.filesKey+1})));at(delay+FILES_LANDS,()=>patch({files:\"land\"}));at(delay+FILES_OFF,()=>patch({files:\"off\"}));at(delay+DRAFT_AT,()=>setScene(s=>({...s,draft:\"waiting\",draftKey:s.draftKey+1})));at(delay+POINTER_IN,()=>patch({pointer:\"in\"}));at(delay+PRESS,()=>patch({pointer:\"press\"}));at(delay+RELEASE,()=>patch({pointer:\"in\"}));at(delay+APPROVE,()=>patch({draft:\"approved\",gate:true}));at(delay+TOKEN,()=>setScene(s=>({...s,token:true,tokenKey:s.tokenKey+1})));at(delay+POINTER_OFF,()=>patch({pointer:\"off\"}));at(delay+ARRIVE,()=>patch({token:false,hit}));at(delay+SYNCED,()=>patch({draft:\"synced\"}));at(delay+HIT_OFF,()=>patch({hit:-1}));at(delay+CYCLE,()=>start((app+1)%3,0));};start(appRef.current,FIRST);return()=>timers.forEach(t=>window.clearTimeout(t));},[still,playing,autoplay,inView,props.restApproved===true]);const c=parseColor(paper);const dark=c?luminance(c)<.3:true;const mix=share=>`color-mix(in srgb, ${ink} ${share}%, transparent)`;const mixA=share=>`color-mix(in srgb, ${accent} ${share}%, transparent)`;const weight=Number(mono?.fontWeight);const monoFamily=pickFamily(mono,MONO);const monoWeight=monoFamily!==MONO&&weight>=100&&weight<=900?weight:500;const rootStyle={...style,\"--sm-ink\":ink,\"--sm-accent\":accent,\"--sm-paper\":paper,\"--sm-sans\":pickFamily(font,SANS),\"--sm-mono\":monoFamily,\"--sm-mono-weight\":String(monoWeight),\"--sm-strong\":ink,\"--sm-body\":dark?mix(76):mix(80),\"--sm-mute\":dark?mix(56):mix(60),\"--sm-rule\":dark?mix(22):mix(16),\"--sm-edge\":dark?mix(13):mix(11),\"--sm-card\":dark?mix(6):\"#FFFFFF\",\"--sm-card-hit\":dark?mix(11):mixA(6),\"--sm-slab\":dark?mix(9):\"#FFFFFF\",\"--sm-slab-edge\":dark?mix(20):mix(12),\"--sm-inner\":dark?`color-mix(in srgb, ${paper} 55%, transparent)`:mix(4),\"--sm-plate\":dark?mix(4):mix(3),\"--sm-chipfill\":dark?mix(8):\"#FFFFFF\",\"--sm-chipedge\":dark?mix(16):mix(14),\"--sm-runfill\":dark?`color-mix(in srgb, ${ink} 14%, ${paper})`:\"#FFFFFF\",\"--sm-runedge\":dark?mix(24):mix(18),\"--sm-ringline\":dark?mix(45):mix(35),\"--sm-accent-edge\":mixA(60),\"--sm-accent-line\":mixA(70),\"--sm-halo\":mixA(28),\"--sm-draft-bg\":DRAFT_BG,\"--sm-ar\":`${sw/sh}`};const liveLabel=pick(\"liveLabel\");// the box always shows one of the three honest states; anything else falls back to the settled one\nconst draft=DRAFTS.includes(scene.draft)?scene.draft:\"synced\";const statusIcon=done=>/*#__PURE__*/_jsx(\"i\",{\"aria-hidden\":\"true\",children:done?/*#__PURE__*/_jsx(Tick,{}):null});return /*#__PURE__*/_jsxs(\"figure\",{ref:ref,className:`sm${still?\" is-still\":\"\"}`,style:rootStyle,\"data-app\":scene.app,\"data-draft\":draft,\"data-dpb\":phoneOn?phoneBelow:undefined,children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),phoneCss?/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:phoneCss}}):null,/*#__PURE__*/_jsx(\"p\",{className:\"sm-vh\",children:pick(\"summary\")}),/*#__PURE__*/_jsx(\"div\",{className:\"sm-in\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"sm-map\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"sm-calls\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-tier sm-mono\",children:pick(\"callsLabel\")}),/*#__PURE__*/_jsx(\"ul\",{className:\"sm-apps\",children:apps.map((a,i)=>/*#__PURE__*/_jsx(Tile,{name:a.name,logo:a.logo,live:scene.live&&scene.app===i,liveLabel:liveLabel},i))})]}),/*#__PURE__*/_jsx(\"div\",{className:\"sm-lines\",\"aria-hidden\":\"true\",children:apps.map((_,i)=>/*#__PURE__*/_jsx(\"div\",{className:`sm-line${scene.live&&scene.app===i?\" is-live\":\"\"}`,\"data-pos\":i===0?\"left\":i===2?\"right\":\"mid\",children:scene.runner>=0&&scene.app===i&&moments[scene.runner]?/*#__PURE__*/_jsxs(\"span\",{className:\"sm-runner\",children:[moments[scene.runner].time?/*#__PURE__*/_jsx(\"time\",{children:moments[scene.runner].time}):null,moments[scene.runner].text]},scene.runKey):null},i))}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-side is-left\",\"data-feed\":scene.cal,children:[/*#__PURE__*/_jsxs(\"div\",{className:\"sm-aside\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-aside-label sm-mono\",children:pick(\"calendarLabel\")}),/*#__PURE__*/_jsx(\"ul\",{className:\"sm-aside-list\",children:calendar.map((t,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(Mark,{src:t.logo,alt:\"\"}),t.name]},i))}),pick(\"calendarLine\")?/*#__PURE__*/_jsx(\"p\",{className:\"sm-aside-line\",children:pick(\"calendarLine\")}):null]}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-tie\",\"aria-hidden\":\"true\",children:scene.cal===\"run\"?/*#__PURE__*/_jsx(\"span\",{className:\"sm-feed\"},scene.calKey):null})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-slab\",children:[/*#__PURE__*/_jsx(\"span\",{className:`sm-port is-left${scene.cal===\"land\"?\" is-on\":\"\"}`,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:`sm-port is-right${scene.files===\"land\"?\" is-on\":\"\"}`,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"div\",{className:`sm-brand${showLogo?\" is-logo\":\"\"}`,children:[showLogo?/*#__PURE__*/_jsx(\"span\",{className:`sm-logo${isRicaviLogo?\" is-ricavi\":\"\"}`,children:/*#__PURE__*/_jsx(\"img\",{src:brandLogo,alt:brandName,decoding:\"async\",draggable:false})}):/*#__PURE__*/_jsxs(\"span\",{className:\"sm-brand-name\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-brand-mark\"}),brandName]}),/*#__PURE__*/_jsx(\"p\",{className:\"sm-brand-line\",children:pick(\"brandLine\")})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-work\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"sm-box\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-box-label sm-mono\",children:pick(\"trayLabel\")}),/*#__PURE__*/_jsx(\"ul\",{className:\"sm-chips\",children:moments.map((m,i)=>/*#__PURE__*/_jsxs(\"li\",{className:`sm-chip${scene.landed>i?\" is-on\":\"\"}`,children:[m.time?/*#__PURE__*/_jsx(\"time\",{children:m.time}):null,m.text]},i))})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-box is-on\",\"data-status\":draft,\"data-pointer\":scene.pointer,children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-box-label sm-mono\",children:pick(\"draftLabel\")}),/*#__PURE__*/_jsxs(\"div\",{className:`sm-row${scene.draftKey>0?\" is-new\":\"\"}`,style:pointerAt,children:[draftImage?/*#__PURE__*/_jsx(\"img\",{className:\"sm-whole\",src:draftImage,alt:\"\",draggable:false}):/*#__PURE__*/_jsxs(\"span\",{className:\"sm-scene\",style:{background:DRAFT_BG},children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-slice\",style:slice(boxA,0,aw,ah)}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-slice\",style:slice(boxB,aw+DRAFT_GAP,bw,bh)})]}),phoneOn?/*#__PURE__*/_jsxs(\"span\",{className:\"sm-pscene\",style:{aspectRatio:`${cw} / ${ch}`,maxWidth:Math.round(cw*PHONE_CAP*10)/10,background:DRAFT_BG},children:[pieces.map((p,k)=>/*#__PURE__*/_jsx(\"span\",{className:\"sm-slice\",style:cut(p.src,p.W,p.H,p.r,p.at,pieceW(p),pieceH(p))},k)),/*#__PURE__*/_jsx(\"span\",{className:\"sm-pbtn\",style:{...cut(draftSource,DRAFT_W,DRAFT_H,[bx,by,bw,bh],btnAt,bw/2,bh/2),[\"--sm-px\"]:\"50%\",[\"--sm-py\"]:\"50%\"},children:/*#__PURE__*/_jsx(\"span\",{className:\"sm-pointer\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 20 22\",fill:\"#121212\",stroke:\"#fff\",strokeWidth:\"1.3\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 1.8v15.6l4.1-3.7 2.9 6.5 2.5-1.1-2.9-6.4 5.6-.4L3 1.8Z\"})})})})]}):null,/*#__PURE__*/_jsx(\"span\",{className:\"sm-pointer\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 20 22\",fill:\"#121212\",stroke:\"#fff\",strokeWidth:\"1.3\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M3 1.8v15.6l4.1-3.7 2.9 6.5 2.5-1.1-2.9-6.4 5.6-.4L3 1.8Z\"})})})]},scene.draftKey),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-status\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"is-waiting\",children:[statusIcon(false),pick(\"statusWaiting\")]}),/*#__PURE__*/_jsxs(\"span\",{className:\"is-approved is-done\",children:[statusIcon(true),pick(\"statusApproved\")]}),/*#__PURE__*/_jsxs(\"span\",{className:\"is-synced is-done\",children:[statusIcon(true),pick(\"statusSynced\")]})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-along\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-along-label sm-mono\",children:pick(\"asideLabel\")}),/*#__PURE__*/_jsxs(\"span\",{className:\"sm-along-group is-calendar\",\"data-feed\":scene.cal,children:[calendar.map((t,i)=>/*#__PURE__*/_jsx(Mark,{src:t.logo,alt:\"\"},i)),pick(\"calendarLabel\")]}),/*#__PURE__*/_jsxs(\"span\",{className:\"sm-along-group is-files\",\"data-feed\":scene.files,children:[files.map((t,i)=>/*#__PURE__*/_jsx(Mark,{src:t.logo,alt:\"\"},i)),pick(\"filesLabel\")]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-side is-right\",\"data-feed\":scene.files,children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-tie\",\"aria-hidden\":\"true\",children:scene.files===\"run\"?/*#__PURE__*/_jsx(\"span\",{className:\"sm-feed\"},scene.filesKey):null}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-aside\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-aside-label sm-mono\",children:pick(\"filesLabel\")}),/*#__PURE__*/_jsx(\"ul\",{className:\"sm-aside-list\",children:files.map((t,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(Mark,{src:t.logo,alt:\"\"}),t.name]},i))}),pick(\"filesLine\")?/*#__PURE__*/_jsx(\"p\",{className:\"sm-aside-line\",children:pick(\"filesLine\")}):null]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-link\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-up\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-down\"}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-up-label sm-mono\",children:pick(\"upLabel\")}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-down-label sm-mono\",children:pick(\"downLabel\")}),/*#__PURE__*/_jsx(\"span\",{className:`sm-gate${scene.gate?\" is-open\":\"\"}`,children:/*#__PURE__*/_jsx(Tick,{})}),/*#__PURE__*/_jsx(\"span\",{className:\"sm-gate-label sm-mono\",children:pick(\"gateLabel\")}),scene.token?/*#__PURE__*/_jsx(\"span\",{className:\"sm-token\"},scene.tokenKey):null]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-plate\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-tier sm-mono\",style:{margin:0},children:pick(\"crmLabel\")}),/*#__PURE__*/_jsx(\"ul\",{className:\"sm-crms\",children:crms.map((t,i)=>/*#__PURE__*/_jsx(Tile,{name:t.name,logo:t.logo,hit:scene.hit===i},i))})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"sm-foot\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"sm-foot-text\",children:[pick(\"caption\")?/*#__PURE__*/_jsx(\"p\",{className:\"sm-cap\",children:pick(\"caption\")}):null,pick(\"signinLine\")?/*#__PURE__*/_jsx(\"p\",{className:\"sm-signin sm-mono\",children:pick(\"signinLine\")}):null]}),autoplay?/*#__PURE__*/_jsxs(\"button\",{type:\"button\",className:\"sm-toggle sm-mono\",onClick:()=>setPlaying(p=>!p),children:[/*#__PURE__*/_jsx(\"span\",{className:\"sm-ico\",\"data-icon\":playing?\"pause\":\"play\",\"aria-hidden\":\"true\"}),playing?pick(\"pauseLabel\"):pick(\"playLabel\")]}):null]})]})}),/*#__PURE__*/_jsx(\"figcaption\",{className:\"sm-vh\",children:pick(\"draftAlt\")})]});}const text=(title,defaultValue,area=false)=>({type:ControlType.String,title,defaultValue,...area?{displayTextArea:true}:{}});const image=(title,description)=>({type:ControlType.Image,title,description});const fontControl=(title,defaultFontType,description)=>({type:ControlType.Font,title,description,controls:\"basic\",defaultFontType,displayFontSize:false,displayTextAlignment:false});addPropertyControls(StackMapR2,{callsLabel:text(\"Calls label\",D.callsLabel),meetName:text(\"App 1\",D.meetName),meetLogo:image(\"App 1 logo\",\"Google Meet has no logo in the project: a text tile until this is set.\"),teamsName:text(\"App 2\",D.teamsName),teamsLogo:image(\"App 2 logo\",\"Microsoft Teams, the page's own asset when unset.\"),zoomName:text(\"App 3\",D.zoomName),zoomLogo:image(\"App 3 logo\",\"Zoom, the page's own asset when unset.\"),liveLabel:text(\"Live label\",D.liveLabel),moments:text(\"Moments\",D.moments,true),brandStyle:{type:ControlType.Enum,title:\"Layer shows\",options:[\"logo\",\"text\"],optionTitles:[\"Logo\",\"Name (before 19 Oct)\"],defaultValue:\"logo\",displaySegmentedControl:true,description:\"Logo: the site nav's Ricavi logo (its mark alone where the row is under 220px). Name: the layer name in type.\"},brandLogo:{...image(\"Layer logo\",\"The site nav's Ricavi logo when unset.\"),hidden:p=>p.brandStyle===\"text\"},brandName:{...text(\"Layer name\",D.brandName),description:\"Shown with Name; with Logo it is the logo's alt text.\"},brandLine:text(\"Layer line\",D.brandLine,true),trayLabel:text(\"Tray label\",D.trayLabel),draftLabel:text(\"Draft label\",D.draftLabel),draftSource:{...text(\"Draft render URL\",DRAFT_SOURCE),placeholder:\"https://\",description:\"The Actions render (2880x1800) the two draft pieces are cut from.\"},draftImage:image(\"Draft image\",\"An uploaded crop shown whole instead of the two pieces.\"),draftTitleBox:{...text(\"Draft title box\",D.draftTitleBox),placeholder:\"x, y, w, h (percent of the render)\"},draftButtonBox:{...text(\"Draft button box\",D.draftButtonBox),placeholder:\"x, y, w, h (percent of the render)\"},draftAlt:text(\"Draft alt\",D.draftAlt,true),draftPhoneBelow:{type:ControlType.Number,title:\"Draft phone below\",defaultValue:PHONE_BELOW,min:0,max:1400,step:10,unit:\"px\",description:\"Container width under which the drafted row is re-set for a narrow box (title over two lines, button under it, at most 1.15x). 0 turns it off.\"},draftSplit:{...text(\"Draft split\",\"\"),placeholder:\"x (percent of the render)\",description:\"Where the title wraps on narrow boxes: the x where the second line's first word starts, in percent of the desktop render. Empty: the default row wraps after “to”; any other row keeps the desktop pair.\"},draftPhoneSource:{...text(\"Draft phone render\",\"\"),placeholder:\"https://\",description:\"The phone-native Actions render (1140x2160). Empty: the project's actions-phone render.\"},draftPhoneBox:{...text(\"Draft phone box\",\"\"),placeholder:\"x, y, w, h (percent of the phone render)\",description:\"The title in the phone render. Empty: the Up next row, used only with the default title box.\"},statusWaiting:text(\"Status: waiting\",D.statusWaiting),statusApproved:text(\"Status: approved\",D.statusApproved),statusSynced:text(\"Status: synced\",D.statusSynced),restApproved:{type:ControlType.Boolean,title:\"Rest status\",defaultValue:false,enabledTitle:\"Approved\",disabledTitle:\"Synced\",description:\"What the still picture says under the draft (canvas, reduced motion, paused, not yet in view). Approved: “Approved by the rep”, so “Synced” never shows before an approval. Synced: as built.\"},upLabel:text(\"Up line\",D.upLabel),downLabel:text(\"Down line\",D.downLabel),gateLabel:text(\"Gate\",D.gateLabel),crmLabel:text(\"CRM label\",D.crmLabel),crm1Name:text(\"CRM 1\",D.crm1Name),crm1Logo:image(\"CRM 1 logo\",\"HubSpot when unset.\"),crm2Name:text(\"CRM 2\",D.crm2Name),crm2Logo:image(\"CRM 2 logo\",\"Salesforce when unset.\"),crm3Name:text(\"CRM 3\",D.crm3Name),crm3Logo:image(\"CRM 3 logo\",\"Microsoft Dynamics when unset.\"),asideLabel:text(\"Alongside label\",D.asideLabel),calendarLabel:text(\"Calendar label\",D.calendarLabel),calendarLine:text(\"Calendar line\",D.calendarLine,true),calendar1Name:text(\"Calendar 1\",D.calendar1Name),calendar1Logo:image(\"Calendar 1 logo\",\"Google Calendar when unset.\"),calendar2Name:text(\"Calendar 2\",D.calendar2Name),calendar2Logo:image(\"Calendar 2 logo\",\"Outlook when unset.\"),filesLabel:text(\"Files label\",D.filesLabel),filesLine:text(\"Files line\",D.filesLine,true),files1Name:text(\"Files 1\",D.files1Name),files1Logo:image(\"Files 1 logo\",\"Google Drive when unset.\"),files2Name:text(\"Files 2\",D.files2Name),files2Logo:image(\"Files 2 logo\",\"OneDrive when unset.\"),caption:text(\"Caption\",D.caption,true),signinLine:text(\"Sign-in line\",D.signinLine,true),summary:text(\"Summary (screen readers)\",D.summary,true),pauseLabel:text(\"Pause label\",D.pauseLabel),playLabel:text(\"Play label\",D.playLabel),autoplay:{type:ControlType.Boolean,title:\"Motion\",defaultValue:true,enabledTitle:\"Runs\",disabledTitle:\"Settled\",description:\"Off shows the settled picture everywhere.\"},font:fontControl(\"Font\",\"sans-serif\",\"Instrument Sans when unset.\"),mono:fontControl(\"Mono\",\"monospace\",\"Geist Mono, Medium (500) when unset.\"),ink:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#F8F8F7\",description:\"The text colour on the band (Inverse on the near-black band).\"},accent:{type:ControlType.Color,title:\"Burnt peach\",defaultValue:\"#FF584A\"},paper:{type:ControlType.Color,title:\"Band\",defaultValue:\"#0A0A0C\",description:\"The band behind the figure: fills the gate and the hollow markers; a dark band gives translucent cards.\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"StackMapR2Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"StackMapR2\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StackMapR2.map"],"mappings":"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"}