{"version":3,"file":"RevitCrashScanner_1.DigytiNi.mjs","names":["Icon","useState","useRef","mask","SVG","getProps","Icon","React.forwardRef","mask","SVG","getProps","Icon","React.forwardRef","mask","SVG","getProps","Icon","React.forwardRef","mask","SVG","getProps","Icon","React.forwardRef","getProps","React.forwardRef","useState","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","RichText","useRef"],"sources":["https:/framerusercontent.com/modules/DjhItT7GCrJbB15MW5C3/1DPiy1Rti3eSy19d6E98/Addinsdashboard.js","https:/framerusercontent.com/modules/26iGI3tKdmtT4E7oU01z/CRGSwLKfP8JAuhJljMEm/fnXRWN5kY.js","https:/framerusercontent.com/modules/KWW2tnmHHMv9OX6lXYts/tUqwCsrECgwNTGKl6iag/u1JS15tKc.js","https:/framerusercontent.com/modules/M1gzpWhfMch02nqAje8J/7nTd3SwS17Qtn22iNhOn/FNRucZgHM.js","https:/framerusercontent.com/modules/sO1tSnmMWaaekSoWIKaN/Zvh8blOincQQXZESDDaA/MXh1hBA2_.js","https:/framerusercontent.com/modules/uNpG3JFvN79kWtBSD53E/qyLVS0Ez257mZsD3P36h/yrVnUUQyK.js","https:/framerusercontent.com/modules/NjER57qGFYkuwaxZMmD0/zhsSqnx7EEbZlyA7IRoa/FloatingTestimonials.js","https:/framerusercontent.com/modules/bjUTEQt5uFu8cIOVtWXD/r674MsvdtSSHCQGPTaai/FramerIcon.js","https:/framerusercontent.com/modules/7V9ABhN97TU81cAYHv5J/BEDyi5o5OcZrtv0cmBV0/JrZVt14tG.js","https:/framerusercontent.com/modules/EXtUqAfIejs5aITx2qgc/TaI8hawgIiU3RrLJkfux/RevitCrashScanner_1.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect,useLayoutEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Add-ins Dashboard — Framer Code Component\n * ------------------------------------------------------------------\n * Paste this whole file into a Framer Code Component (Insert -> Code\n * Component -> New File, or drag this .tsx into the Assets panel).\n * Drop the component on the canvas, then use the right-hand Properties\n * panel to edit colors, links, width, and the top stat cards WITHOUT\n * touching any code.\n *\n * Anything not exposed as a property control (Session Info, Crash\n * Overview values, Add-ins lists, Workflow, KB Articles, etc.) lives in\n * the \"EDIT CONTENT HERE\" block below — open this file in Framer's code\n * editor and edit the plain arrays/strings directly. No JSX/HTML to\n * fight with, just data.\n * ------------------------------------------------------------------\n *//* ============================================================\n   EDIT CONTENT HERE — plain data, no markup to break\n   ============================================================ */const TABS=[\"Session Info\",\"Revit Crash Report\",\"Issues & Errors\",\"Timeline\",\"Add-ins\",\"Workflow\",\"KB Articles\"];const FAILED_ADDINS=[\"Failed to load add-in manifest file: The AddIn root tag …\",\"TaskDialog Failed to initialize the add-in because …\",\"TaskDialog Failed to initialize the add-in ViewCreator b…\"];const THIRD_PARTY={root:\"pyRevit_2024_f31ebe05ceb05919_pyRevitCore\",children:[\"pyRevit\",\"CustomCtrl_\",\"Analysis\",\"Drawing set\",\"ExcelTools\",\"Analysis\",\"MBOX\",\"Test1\"]};const PANEL_INFO={failed:\"Add-ins that failed to load during this Revit session, usually due to a broken manifest, a missing dependency, or an initialization error.\",thirdParty:\"Non-Autodesk add-ins detected in this session, grouped by their root plugin. Expand the tree to see individual modules loaded under each one.\",autodesk:\"Official Autodesk add-ins and DB applications that loaded successfully, along with the version currently running.\"};const AUTODESK_ADDINS=[{name:\"ATF Translation Server\",ver:\"v24.0.4.427\"},{name:\"Bending Details DB\",ver:\"v24.0.4.427\"},{name:\"Coordination Model\",ver:\"v24.0.4.427\"},{name:\"Lightbox DB extension\",ver:\"v24.0.4.427\"},{name:\"Link Topography Parser DBApplication\",ver:\"v24.0.4.427\"},{name:\"Unified Parameters\",ver:\"v24.0.4.427\"},{name:\"Reinforcement Common Utilities\",ver:\"v24.0.4.427\"},{name:\"Results Builder Application\",ver:\"v2024.0.0.5138\"},{name:\"Route Analysis\",ver:\"v24.0.4.427\"}];const SESSION_INFO=[{label:\"Revit Version\",value:\"Revit 2024\"},{label:\"Build Number\",value:\"20230308_1635(x64)\"},{label:\"Username\",value:\"Madhan\"},{label:\"OS\",value:\"Microsoft Windows 11 Pro\"},{label:\"Available Memory\",value:\"35.8 GB (36669 MB)\"},{label:\"Graphics Card\",value:\"NVIDIA RTX A400\"},{label:\"Processor\",value:\"AMD Ryzen 7 7700 8-Core Processor\"},{label:\"Journal Name\",value:\"journal.0135.txt\"},{label:\"Session Start\",value:\"24-Jun-2026 12:14:33\"},{label:\"Session End\",value:\"24-Jun-2026 18:37:46\"},{label:\"Session Duration\",value:\"6h 23m 13s\"},{label:\"Session Status\",value:\"Active\",badge:true}];/* Left sidebar shows all 6 titles; only the first two have content on the\n   right (matches the current live dashboard). Add markup for the rest\n   inside CrashReportTab() below if/when you want their content back. */const CRASH_SECTIONS=[\"Crash Overview\",\"Root Cause\",\"Fatal Errors\",\"Explanation\",\"Immediate Action\",\"Forensic Evidence\"];const CRASH_OVERVIEW=[{label:\"Journal File\",value:\"journal.0135.txt\"},{label:\"Crash Time\",value:\"24-Jun-2026 18:37:46\"},{label:\"Category\",value:\"Graphics Error\"},{label:\"Severity\",value:\"High\",badge:true},{label:\"Confidence\",value:\"82%\"},{label:\"Analysis By\",value:\"Rule-Based Engine\"},{label:\"Session Length\",value:\"6h 23m 13s\"}];const ROOT_CAUSE=\"Windows GDI handle exhaustion — 1,650 GDI handles in use at crash time, approaching the 10,000 system limit.\";const TAB_INFO={sessionInfo:\"Snapshot of the machine and Revit environment for this session — version, hardware, timing, and current status.\",crashOverview:\"Key facts about the crash at a glance: which journal it came from, when it happened, how it's categorized, and how confident the analysis engine is.\",crashRootCause:\"The single most likely underlying cause of the crash, inferred from journal and system signals.\",issuesSegments:\"Switch between issue categories — Fatal, Errors, Warnings, Exceptions — to see how many of each were logged this session.\",issuesCard:\"Count and detail for the currently selected issue category. Click a category above to change what's shown here.\",timeline:\"A chronological record of key events during the session. Populates once journal events are detected.\",workflowDelays:\"Gaps of more than 5 seconds between consecutive journal events — often idle time, dialogs, or heavy background operations.\",workflowSync:\"Sync-to-central operations performed during this session, in order.\",workflowFile:\"File-level operations — opens, saves, save-as-cloud — captured from the journal.\",workflowLink:\"Revit link operations (load, reload, unload) captured from the journal.\",kbArticles:\"Known issues automatically matched against your journal, each linking to the official Autodesk KB solution.\"};const ISSUE_TABS=[{label:\"Fatal\",count:0,key:\"fatal\"},{label:\"Errors\",count:0,key:\"errors\"},{label:\"Warnings\",count:3,key:\"warnings\"},{label:\"Exceptions\",count:1,key:\"exceptions\"}];const ISSUE_ACTIVE_KEY_DEFAULT=\"fatal\";const LONGEST_DELAYS=[{rank:1,duration:\"2h 39m\",lines:\"Lines 2464–2475\",why:\"No journal activity for over a minute — likely user idle, dialog wait, or background task with no journal output.\",from:\"License Idle: Enter\",to:\"License Idle: Exit\"},{rank:2,duration:\"1h 18m\",lines:\"Lines 2526–2529\",why:\"View regeneration — graphics recompute.\",from:\"View Regenerate: Enter\",to:\"View Regenerate: Exit\"}];const WORKFLOW_COLS=[{title:\"Sync Operations\",entries:[]},{title:\"File Operations\",entries:[{line:\"Line 605\",title:\"Save As Cloud Model\",desc:\"— '0:< API_SUCCESS {Replacing command id 'ID_REVIT_FILE_SAVE_AS_CLOUD_MODEL' Executed implementation with implementation from application 'Revit Application Home' dll 'C:\\\\Program Files\\\\Autodesk\\\\Revit\"},{line:\"Line 607\",title:\"Save As Cloud Model\",desc:\"— '0:< API_SUCCESS {Replacing command id 'ID_REVIT_FILE_SAVE_AS_CLOUD_MODEL' CanExecute implementation with implementation from\"}]},{title:\"Link Operations\",entries:[]}];const KB_ARTICLES=[];function Icon({name}){const common={viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.8};if(name===\"triangle\"){return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 3l10 18H2z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 10v4\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"17\",r:\"0.5\",fill:\"currentColor\"})]});}if(name===\"hexagon\"){return /*#__PURE__*/_jsx(\"svg\",{...common,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 2l8.66 5v10L12 22l-8.66-5V7z\"})});}if(name===\"target\"){return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 12l2 2 4-5\"})]});}return /*#__PURE__*/_jsxs(\"svg\",{...common,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 7v5l3.5 2\"})]});}function hexToRgb(hex){const m=hex.replace(\"#\",\"\").match(/.{1,2}/g);if(!m||m.length<3)return\"255,85,0\";const[r,g,b]=m.map(h=>parseInt(h,16));return`${r},${g},${b}`;}function rowDelay(i){return`${(.05*i).toFixed(2)}s`;}export default function AddinsDashboard(props){const{accentOrange=\"#ff5500\",navy=\"#0d2848\",blueAccent=\"#3868e0\",dashboardWidth=1080,startingTab=\"Revit Crash Report\",newAnalysisUrl=\"https://zediag.zestinetech.com\",formBackendUrl=\"https://formspree.io/f/REPLACE_WITH_YOUR_FORM_ID\",pdfFile=\"\",pdfDownloadUrl=\"https://your-domain.com/reports/sample-report.pdf\",pdfDownloadFilename=\"Revit-Diagnostics-Sample-Report.pdf\",stats=[{label:\"Status\",value:\"Active\",status:true,icon:\"triangle\",info:\"Whether Revit was running normally or had crashed at the time this session was captured.\"},{label:\"Revit Version\",value:\"Revit 2024\",icon:\"hexagon\",info:\"The version and build of Revit that was running during this session.\"},{label:\"Total Errors\",value:\"0\",icon:\"target\",info:\"The number of errors and issues logged by Revit and its add-ins during this session.\"},{label:\"Unsaved Work\",value:\"N/A\",icon:\"triangle\",info:\"Indicates whether there was unsaved work in the model at the time of this report.\"},{label:\"Session Duration\",value:\"6h 23m 13s\",icon:\"clock\",info:\"Total elapsed time from when this Revit session started to when it ended.\"}]}=props;const startIndex=Math.max(0,TABS.indexOf(startingTab));const[activeTabIndex,setActiveTabIndex]=useState(startIndex);const crashTabIndex=TABS.indexOf(\"Revit Crash Report\");const tabRefs=useRef([]);const[indicator,setIndicator]=useState({left:0,width:0});useLayoutEffect(()=>{const el=tabRefs.current[activeTabIndex];if(el)setIndicator({left:el.offsetLeft,width:el.offsetWidth});},[activeTabIndex]);useEffect(()=>{function onResize(){const el=tabRefs.current[activeTabIndex];if(el)setIndicator({left:el.offsetLeft,width:el.offsetWidth});}window.addEventListener(\"resize\",onResize);return()=>window.removeEventListener(\"resize\",onResize);},[activeTabIndex]);/* ---- crash report sidebar scroll-spy ---- */const[crashActiveNav,setCrashActiveNav]=useState(0);const crashBlockRefs=useRef([]);const crashSpyEnabled=useRef(true);const crashResumeTimer=useRef(undefined);function handleCrashNavClick(i){setCrashActiveNav(i);crashSpyEnabled.current=false;const target=crashBlockRefs.current[i];if(target)target.scrollIntoView({behavior:\"smooth\",block:\"start\"});clearTimeout(crashResumeTimer.current);crashResumeTimer.current=setTimeout(()=>crashSpyEnabled.current=true,700);}useEffect(()=>{function onScroll(){if(activeTabIndex!==crashTabIndex||!crashSpyEnabled.current)return;let current=0;const triggerLine=window.innerHeight*.3;crashBlockRefs.current.forEach((block,i)=>{if(!block)return;const rect=block.getBoundingClientRect();if(rect.top<=triggerLine)current=i;});setCrashActiveNav(current);}window.addEventListener(\"scroll\",onScroll,{passive:true});return()=>window.removeEventListener(\"scroll\",onScroll);// eslint-disable-next-line react-hooks/exhaustive-deps\n},[activeTabIndex]);/* ---- issues & errors segment control ---- */const[issueActiveKey,setIssueActiveKey]=useState(ISSUE_ACTIVE_KEY_DEFAULT);const activeIssue=ISSUE_TABS.find(t=>t.key===issueActiveKey)||ISSUE_TABS[0];/* ---- \"Download Free Sample Report\" morphing lead form ---- */const[formOpen,setFormOpen]=useState(false);const[name,setName]=useState(\"\");const[email,setEmail]=useState(\"\");const[nameInvalid,setNameInvalid]=useState(false);const[emailInvalid,setEmailInvalid]=useState(false);const[errorMsg,setErrorMsg]=useState(\"\");const[errorShow,setErrorShow]=useState(false);const[shake,setShake]=useState(false);const[submitLabel,setSubmitLabel]=useState(\"Get My Report\");const[submitting,setSubmitting]=useState(false);const nameInputRef=useRef(null);const errorTimer=useRef(undefined);function isValidEmail(v){return/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v);}function showFormError(msg){setErrorMsg(msg);setErrorShow(true);setShake(false);requestAnimationFrame(()=>setShake(true));clearTimeout(errorTimer.current);errorTimer.current=setTimeout(()=>setErrorShow(false),2600);}function openForm(){setFormOpen(true);setTimeout(()=>nameInputRef.current?.focus(),200);}function closeForm(){setFormOpen(false);setName(\"\");setEmail(\"\");setNameInvalid(false);setEmailInvalid(false);}async function handleSubmit(e){e.preventDefault();const n=name.trim();const em=email.trim();setNameInvalid(!n);setEmailInvalid(!em||!isValidEmail(em));if(!n&&!em)return showFormError(\"Please fill in your name and email to continue.\");if(!n)return showFormError(\"Please enter your name.\");if(!em||!isValidEmail(em))return showFormError(\"Please enter a valid email address.\");setSubmitting(true);setSubmitLabel(\"Sending…\");try{await fetch(formBackendUrl,{method:\"POST\",headers:{\"Content-Type\":\"text/plain;charset=utf-8\"},body:JSON.stringify({name:n,email:em,source:\"Add-ins Dashboard — Free Sample Report\"})});}catch(err){// Even if the backend call fails, still let the user download the PDF.\nconsole.error(\"Lead capture request failed:\",err);}// Prefer a PDF uploaded directly in Framer (pdfFile) — it's hosted by\n// Framer automatically and works even before publishing. Falls back to\n// the manual URL field only if no file was uploaded.\nconst resolvedPdfHref=pdfFile||pdfDownloadUrl;if(resolvedPdfHref){const a=document.createElement(\"a\");a.href=resolvedPdfHref;a.download=pdfDownloadFilename;a.target=\"_blank\";a.rel=\"noopener noreferrer\";document.body.appendChild(a);a.click();a.remove();}else{console.warn(\"No PDF configured — upload one in the 'Sample PDF (upload)' field in the Properties panel.\");}setSubmitLabel(\"Sent — check your downloads ✓\");setTimeout(()=>{setFormOpen(false);setName(\"\");setEmail(\"\");setNameInvalid(false);setEmailInvalid(false);setSubmitting(false);setSubmitLabel(\"Get My Report\");},1800);}const rootStyle={[\"--dashboard-width\"]:`${dashboardWidth}px`,[\"--navy\"]:navy,[\"--blue\"]:blueAccent,[\"--accent\"]:accentOrange,[\"--accent-rgb\"]:hexToRgb(accentOrange)};const DASHBOARD_CSS=`\n  /* ================= EDIT THESE TO RESTYLE ================= */\n  .rd-root {\n    /* Colors below are overridden live from Framer property controls via\n       inline CSS vars on the root element — these are just fallbacks. */\n    --dashboard-width: 1080px;\n    --bg: #F6F6F8;\n    --card-bg: #ffffff;\n    --border: #e7eaf0;\n    --navy: #0d2848;\n    --text-dim: #8a93a3;\n    --text-body: #47536b;\n    --blue: #3868e0;\n    --blue-tint: rgba(56,104,224,0.08);\n    --amber: #f2994a;\n    --red: #ef4757;\n    --green: #22c55e;\n    --badge-navy: #12233f;\n    --font-title: 'Red Hat Display', 'Segoe UI', sans-serif;\n    --font-body: 'Geist', 'Segoe UI', sans-serif;\n\n    margin: 0;\n    padding: 0;\n    background: var(--bg);\n    font-family: var(--font-body);\n    color: var(--navy);\n    font-size: 15px;\n  }\n  /* =========================================================== */\n\n  .rd-root, .rd-root * { box-sizing: border-box; }\n\n  .dashboard {\n    width: var(--dashboard-width);\n    max-width: var(--dashboard-width);\n    min-width: var(--dashboard-width);\n    margin: 0 auto;\n    padding: 28px 20px 60px;\n  }\n  @media (max-width: 1120px) {\n    /* below this, let it shrink to fit the viewport instead of overflowing/scrolling */\n    .dashboard { width: 100%; min-width: 0; }\n  }\n\n  .fade-up {\n    opacity: 0;\n    transform: translateY(14px);\n    animation: fadeUp 0.6s cubic-bezier(.2,.8,.2,1) forwards;\n  }\n  @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }\n\n  /* ---------- top bar ---------- */\n  .topbar {\n    display: flex;\n    gap: 14px;\n    margin-bottom: 18px;\n  }\n  .new-analysis-btn {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    background: var(--accent);\n    border: 1px solid var(--accent);\n    border-radius: 14px;\n    padding: 14px 20px;\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 14.5px;\n    color: #fff;\n    text-decoration: none;\n    cursor: pointer;\n    white-space: nowrap;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    transition: box-shadow 0.25s ease, transform 0.15s ease;\n  }\n  .new-analysis-btn:hover { box-shadow: 0 4px 14px rgba(var(--accent-rgb),0.28); transform: translateY(-1px); }\n  .new-analysis-btn .plus {\n    width: 22px; height: 22px;\n    border-radius: 50%;\n    border: 1.5px solid #fff;\n    display: flex; align-items: center; justify-content: center;\n    font-size: 14px; line-height: 1;\n  }\n\n  /* ---- morphing \"Download Free Sample Report\" button -> lead form ---- */\n  .export-morph {\n    flex: 1;\n    position: relative;\n    min-height: 52px;\n    background: var(--accent);\n    border: 1px solid var(--accent);\n    border-radius: 14px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    overflow: hidden;\n    transition: border-radius 0.35s cubic-bezier(.2,.8,.2,1),\n                background 0.35s ease, border-color 0.35s ease, box-shadow 0.25s ease;\n  }\n  .export-morph.open {\n    background: #fff;\n    border-color: var(--border);\n    border-radius: 14px;\n  }\n  .export-bar {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    background: transparent;\n    border: none;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 14.5px;\n    color: #fff;\n    cursor: pointer;\n    transition: opacity 0.22s ease, transform 0.3s cubic-bezier(.2,.8,.2,1), box-shadow 0.25s ease;\n  }\n  .export-morph:not(.open):hover .export-bar { transform: scale(1.01); }\n  .export-morph.open .export-bar {\n    opacity: 0;\n    transform: scale(0.92);\n    pointer-events: none;\n  }\n  .export-form {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 0 10px;\n    margin: 0;\n    opacity: 0;\n    transform: scale(1.04);\n    pointer-events: none;\n    transition: opacity 0.22s ease 0.08s, transform 0.3s cubic-bezier(.2,.8,.2,1) 0.08s;\n  }\n  .export-morph.open .export-form {\n    opacity: 1;\n    transform: scale(1);\n    pointer-events: auto;\n  }\n  .export-input {\n    flex: 1;\n    min-width: 0;\n    height: 38px;\n    background: #f4f6fa;\n    border: 1px solid var(--border);\n    border-radius: 10px;\n    padding: 0 12px;\n    font-family: var(--font-body);\n    font-size: 13.5px;\n    color: var(--navy);\n    outline: none;\n    transition: border-color 0.2s ease, background 0.2s ease;\n  }\n  .export-input:focus { border-color: var(--blue); background: #fff; }\n  .export-submit {\n    flex-shrink: 0;\n    height: 38px;\n    background: var(--navy);\n    color: #fff;\n    border: none;\n    border-radius: 10px;\n    padding: 0 16px;\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 13px;\n    white-space: nowrap;\n    cursor: pointer;\n    transition: background 0.2s ease, transform 0.15s ease;\n  }\n  .export-submit:hover { transform: translateY(-1px); }\n  .export-submit:disabled { opacity: 0.7; cursor: default; transform: none; }\n  .export-close {\n    flex-shrink: 0;\n    width: 30px; height: 30px;\n    background: none;\n    border: none;\n    color: var(--text-dim);\n    font-size: 14px;\n    cursor: pointer;\n    border-radius: 8px;\n    transition: background 0.2s ease, color 0.2s ease;\n  }\n  .export-close:hover { background: #f4f6fa; color: var(--navy); }\n  .export-input.invalid { border-color: var(--red); background: #fff5f5; }\n  .export-error {\n    position: absolute;\n    top: calc(100% + 8px);\n    right: 0;\n    background: var(--navy);\n    color: #fff;\n    font-family: var(--font-body);\n    font-size: 12px;\n    font-weight: 500;\n    line-height: 1.5;\n    padding: 9px 13px;\n    border-radius: 10px;\n    box-shadow: 0 10px 24px rgba(16,24,40,0.22);\n    opacity: 0;\n    visibility: hidden;\n    transform: translateY(-4px);\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    z-index: 40;\n    white-space: nowrap;\n  }\n  .export-error::before {\n    content: \"\";\n    position: absolute;\n    top: -5px;\n    right: 22px;\n    width: 9px; height: 9px;\n    background: var(--navy);\n    transform: rotate(45deg);\n    border-radius: 2px;\n  }\n  .export-error.show { opacity: 1; visibility: visible; transform: translateY(0); }\n  @keyframes shakeError {\n    0%, 100% { transform: translateX(0); }\n    20% { transform: translateX(-4px); }\n    40% { transform: translateX(4px); }\n    60% { transform: translateX(-3px); }\n    80% { transform: translateX(3px); }\n  }\n  .export-form.shake { animation: shakeError 0.4s ease; }\n\n  /* ---------- stat row ---------- */\n  .stat-row {\n    display: grid;\n    grid-template-columns: repeat(5, 1fr);\n    gap: 14px;\n    margin-bottom: 18px;\n  }\n  .stat-card {\n    position: relative;\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 14px;\n    padding: 16px 14px;\n    text-align: center;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n  }\n  .stat-tooltip {\n    position: absolute;\n    bottom: calc(100% + 10px);\n    left: 50%;\n    transform: translate(-50%, 4px);\n    width: 190px;\n    background: var(--navy);\n    color: #fff;\n    font-family: var(--font-body);\n    font-size: 11.5px;\n    font-weight: 500;\n    line-height: 1.5;\n    padding: 10px 12px;\n    border-radius: 10px;\n    box-shadow: 0 10px 24px rgba(16,24,40,0.22);\n    opacity: 0;\n    visibility: hidden;\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    z-index: 20;\n    pointer-events: none;\n  }\n  .stat-tooltip::before {\n    content: \"\";\n    position: absolute;\n    bottom: -5px;\n    left: 50%;\n    transform: translateX(-50%) rotate(45deg);\n    width: 9px; height: 9px;\n    background: var(--navy);\n    border-radius: 2px;\n  }\n  .stat-card:hover .stat-tooltip {\n    opacity: 1;\n    visibility: visible;\n    transform: translate(-50%, 0);\n  }\n  .stat-icon {\n    width: 30px; height: 30px;\n    margin: 0 auto 8px;\n    border-radius: 8px;\n    display: flex; align-items: center; justify-content: center;\n    background: var(--blue-tint);\n    color: var(--blue);\n  }\n  .stat-icon svg { width: 16px; height: 16px; }\n  .stat-card.status .stat-icon { background: rgba(242,153,74,0.12); color: var(--amber); }\n  .stat-label {\n    font-size: 11px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: var(--text-dim);\n    font-weight: 600;\n    margin-bottom: 5px;\n  }\n  .stat-value {\n    font-family: var(--font-title);\n    font-weight: 900;\n    font-size: 16.5px;\n    color: var(--navy);\n  }\n  .stat-value.amber { color: var(--amber); }\n  .status-dot {\n    display: inline-block;\n    width: 7px; height: 7px;\n    border-radius: 50%;\n    background: var(--amber);\n    margin-right: 5px;\n    animation: pulseDot 1.6s ease-in-out infinite;\n  }\n  @keyframes pulseDot {\n    0%, 100% { box-shadow: 0 0 0 0 rgba(242,153,74,0.5); }\n    50% { box-shadow: 0 0 0 5px rgba(242,153,74,0); }\n  }\n\n  /* ---------- tabs ---------- */\n  .tabs-wrap {\n    position: relative;\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 14px;\n    padding: 4px 10px;\n    margin-bottom: 22px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    overflow-x: auto;\n  }\n  .tabs {\n    position: relative;\n    display: flex;\n    gap: 4px;\n  }\n  .tab {\n    background: none;\n    border: none;\n    font-family: var(--font-body);\n    font-size: 14.5px;\n    font-weight: 500;\n    color: var(--text-dim);\n    padding: 14px 16px 12px;\n    cursor: pointer;\n    white-space: nowrap;\n    position: relative;\n    z-index: 2;\n    transition: color 0.2s ease;\n  }\n  .tab.active { color: var(--blue); font-weight: 700; }\n  .tab-indicator {\n    position: absolute;\n    bottom: 0;\n    height: 2.5px;\n    background: var(--blue);\n    border-radius: 2px;\n    transition: left 0.35s cubic-bezier(.2,.8,.2,1), width 0.35s cubic-bezier(.2,.8,.2,1);\n  }\n\n  /* ---------- section title ---------- */\n  .section-title {\n    font-family: var(--font-title);\n    font-weight: 900;\n    font-size: 21px;\n    color: var(--navy);\n    margin: 0 0 14px 2px;\n  }\n\n  /* ---------- panels ---------- */\n  .panels-row {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 16px;\n  }\n  .panel {\n    position: relative;\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 16px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    overflow: hidden;\n    display: flex;\n    flex-direction: column;\n    height: 380px;\n    cursor: pointer;\n    transition: transform 0.32s cubic-bezier(.2,.8,.2,1),\n                box-shadow 0.32s cubic-bezier(.2,.8,.2,1),\n                border-color 0.32s ease;\n  }\n  .panel:hover {\n    transform: translateY(-8px);\n    box-shadow: 0 18px 34px rgba(16,24,40,0.14);\n    border-color: var(--accent, var(--blue));\n  }\n  .panel:hover .panel-dot {\n    animation: dotPop 0.5s ease;\n  }\n  .panel:hover .panel-header {\n    background: var(--accent-tint, transparent);\n  }\n  @keyframes dotPop {\n    0%   { transform: scale(1); }\n    40%  { transform: scale(1.6); }\n    100% { transform: scale(1); }\n  }\n  .panel-header {\n    transition: background 0.32s ease;\n  }\n  .panel-header {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 14px 16px;\n    border-bottom: 1px solid var(--border);\n    flex-shrink: 0;\n  }\n  .panel-dot {\n    width: 8px; height: 8px;\n    border-radius: 50%;\n    flex-shrink: 0;\n  }\n  .panel-dot.red { background: var(--red); }\n  .panel-dot.amber { background: var(--amber); }\n  .panel-dot.green { background: var(--green); }\n  .panel-title {\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--navy);\n    flex: 1;\n  }\n  .panel-tooltip {\n    position: absolute;\n    top: 54px;\n    right: 14px;\n    left: 14px;\n    background: var(--navy);\n    color: #fff;\n    font-family: var(--font-body);\n    font-size: 11.5px;\n    font-weight: 500;\n    line-height: 1.5;\n    padding: 10px 12px;\n    border-radius: 10px;\n    box-shadow: 0 10px 24px rgba(16,24,40,0.22);\n    opacity: 0;\n    visibility: hidden;\n    transform: translateY(-4px);\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    z-index: 10;\n    pointer-events: none;\n  }\n  .panel-tooltip::before {\n    content: \"\";\n    position: absolute;\n    top: -5px;\n    right: 22px;\n    width: 9px; height: 9px;\n    background: var(--navy);\n    transform: rotate(45deg);\n    border-radius: 2px;\n  }\n  .panel:hover .panel-tooltip {\n    opacity: 1;\n    visibility: visible;\n    transform: translateY(0);\n  }\n  .panel-badge {\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 11px;\n    color: #fff;\n    background: var(--badge-navy);\n    border-radius: 20px;\n    padding: 3px 10px;\n    min-width: 22px;\n    text-align: center;\n  }\n  .panel-badge.red { background: var(--red); }\n\n  .panel-body {\n    flex: 1;\n    overflow-y: auto;\n    padding: 6px 0;\n  }\n  .panel-body::-webkit-scrollbar { width: 6px; }\n  .panel-body::-webkit-scrollbar-thumb { background: #d7dce4; border-radius: 10px; }\n  .panel-body::-webkit-scrollbar-track { background: transparent; }\n\n  .row-item {\n    padding: 10px 16px;\n    border-bottom: 1px solid #f1f3f7;\n    font-size: 13.5px;\n    line-height: 1.5;\n    color: var(--text-body);\n    opacity: 0;\n    transform: translateX(-6px);\n    animation: rowIn 0.45s ease forwards;\n    transition: background 0.2s ease, padding-left 0.2s ease;\n  }\n  .row-item:hover {\n    background: #f7f9fc;\n    padding-left: 20px;\n  }\n  @keyframes rowIn { to { opacity: 1; transform: translateX(0); } }\n\n  .row-item.failed { color: var(--navy); font-weight: 500; }\n  .row-item.failed .prefix { color: var(--red); font-weight: 700; margin-right: 4px; }\n\n  .tree-root {\n    padding: 10px 14px;\n    font-weight: 700;\n    font-size: 13.5px;\n    color: var(--navy);\n    border-left: 3px solid var(--blue);\n    background: var(--blue-tint);\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n  .tree-child {\n    padding: 8px 16px 8px 30px;\n    font-size: 13px;\n    color: var(--text-body);\n    position: relative;\n  }\n  .tree-child::before {\n    content: \"L\";\n    position: absolute;\n    left: 16px;\n    color: #c3c9d4;\n    font-size: 11px;\n    font-weight: 700;\n  }\n\n  .autodesk-item {\n    display: flex;\n    justify-content: space-between;\n    align-items: baseline;\n    gap: 8px;\n    padding: 10px 16px;\n    font-size: 13.5px;\n    color: var(--navy);\n    font-weight: 500;\n  }\n  .autodesk-item .ver {\n    font-size: 12px;\n    color: var(--text-dim);\n    font-weight: 400;\n    white-space: nowrap;\n  }\n\n  /* ---------- generic tab-content wrapper ---------- */\n  /* All panels are stacked in the same grid cell so the wrapper's height\n     is always the tallest panel — switching tabs no longer changes the\n     overall dashboard height/width or causes the page to jump. */\n  .tab-content-stack {\n    display: grid;\n  }\n  .tab-content {\n    grid-area: 1 / 1;\n    visibility: hidden;\n    opacity: 0;\n    pointer-events: none;\n    min-width: 0;\n  }\n  .tab-content.active {\n    visibility: visible;\n    opacity: 1;\n    pointer-events: auto;\n    position: relative;\n    z-index: 1;\n  }\n\n  /* ---------- generic hover callout (used across Session Info, Crash Report, Issues, Timeline, Workflow, KB) ---------- */\n  .info-card { position: relative; }\n  .info-tooltip {\n    position: absolute;\n    bottom: calc(100% + 10px);\n    left: 0;\n    width: 260px;\n    max-width: 80vw;\n    background: var(--navy);\n    color: #fff;\n    font-family: var(--font-body);\n    font-size: 12px;\n    font-weight: 500;\n    line-height: 1.55;\n    padding: 10px 13px;\n    border-radius: 10px;\n    box-shadow: 0 10px 24px rgba(16,24,40,0.22);\n    opacity: 0;\n    visibility: hidden;\n    transform: translateY(4px);\n    transition: opacity 0.2s ease, transform 0.2s ease;\n    z-index: 30;\n    pointer-events: none;\n  }\n  .info-tooltip::before {\n    content: \"\";\n    position: absolute;\n    bottom: -5px;\n    left: 22px;\n    width: 9px; height: 9px;\n    background: var(--navy);\n    transform: rotate(45deg);\n    border-radius: 2px;\n  }\n  .info-tooltip.center { left: 50%; transform: translate(-50%, 4px); }\n  .info-card:hover .info-tooltip.center { transform: translate(-50%, 0); }\n  .info-tooltip.right { left: auto; right: 0; }\n  .info-tooltip.right::before { left: auto; right: 22px; }\n  .info-tooltip.below {\n    bottom: auto;\n    top: calc(100% + 10px);\n    transform: translateY(-4px);\n  }\n  .info-tooltip.below::before {\n    bottom: auto;\n    top: -5px;\n  }\n  .info-card:hover .info-tooltip.below { transform: translateY(0); }\n  .info-card:hover .info-tooltip {\n    opacity: 1;\n    visibility: visible;\n    transform: translateY(0);\n  }\n\n  /* ---------- field grid (Session Info + Crash Overview) ---------- */\n  .field-grid {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 12px;\n  }\n  .field-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n    background: #f4f6fa;\n    border-radius: 12px;\n    padding: 14px 14px;\n    min-width: 0;\n  }\n  .field-item .f-label {\n    font-size: 13px;\n    color: var(--text-dim);\n    font-weight: 500;\n    white-space: nowrap;\n  }\n  .field-item .f-value {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 8px;\n    padding: 5px 12px;\n    font-size: 12.5px;\n    font-weight: 700;\n    color: var(--navy);\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    max-width: 200px;\n    min-width: 0;\n  }\n  .field-item .f-value.badge-amber { background: #fdf1e4; border-color: #fbe0c0; color: var(--amber); }\n  .field-item .f-value.badge-active { background: #fdf1e4; border-color: #fbe0c0; color: var(--amber); }\n\n  /* ---------- generic white content card ---------- */\n  .content-card {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 16px;\n    padding: 20px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n  }\n  .content-card + .content-card { margin-top: 14px; }\n  .content-card-header {\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--navy);\n    background: #f4f6fa;\n    margin: -20px -20px 16px;\n    padding: 14px 20px;\n    border-radius: 16px 16px 0 0;\n    border-bottom: 1px solid var(--border);\n  }\n\n  /* ---------- empty state box ---------- */\n  .empty-box {\n    background: #f7f9fc;\n    border: 1.5px dashed var(--border);\n    border-radius: 14px;\n    padding: 48px 20px;\n    text-align: center;\n    color: #9aa3b5;\n    font-size: 13.5px;\n    font-style: italic;\n  }\n\n  /* ---------- info banner ---------- */\n  .info-banner {\n    background: #eef2f9;\n    border-left: 4px solid var(--navy);\n    border-radius: 10px;\n    padding: 14px 18px;\n    font-size: 13.5px;\n    color: var(--text-body);\n    margin-bottom: 16px;\n  }\n  .info-banner a { color: var(--blue); font-weight: 600; }\n\n  /* ---------- Revit Crash Report layout ---------- */\n  .crash-layout {\n    display: grid;\n    grid-template-columns: 200px 1fr;\n    gap: 16px;\n    align-items: start;\n  }\n  .crash-sidebar {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 16px;\n    padding: 14px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    position: sticky;\n    top: 16px;\n    align-self: start;\n  }\n  .crash-scroll-spacer {\n    height: 8vh;\n  }\n  .crash-sidebar .sc-label {\n    font-size: 10.5px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: var(--text-dim);\n    font-weight: 700;\n    margin: 4px 6px 10px;\n  }\n  .crash-nav-item {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    padding: 10px 10px;\n    border-radius: 10px;\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--text-body);\n    cursor: pointer;\n    margin-bottom: 3px;\n    transition: background 0.2s ease;\n  }\n  .crash-nav-item:hover { background: #f4f6fa; }\n  .crash-nav-item.active { background: var(--navy); color: #fff; }\n  .crash-nav-item .num {\n    width: 20px; height: 20px;\n    border-radius: 50%;\n    background: #e7eaf0;\n    color: var(--text-dim);\n    display: flex; align-items: center; justify-content: center;\n    font-size: 11px; font-weight: 700;\n    flex-shrink: 0;\n  }\n  .crash-nav-item.active .num { background: rgba(255,255,255,0.22); color: #fff; }\n\n  .crash-content { display: flex; flex-direction: column; gap: 14px; min-width: 0; }\n  .crash-section-title {\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 14.5px;\n    color: var(--navy);\n    background: #eef2f9;\n    padding: 13px 18px;\n    border-radius: 12px;\n  }\n  .root-cause-text {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 14px;\n    padding: 18px 20px;\n    font-size: 13.5px;\n    line-height: 1.6;\n    color: var(--text-body);\n  }\n  .fatal-error-card {\n    display: flex;\n    gap: 14px;\n    background: #fff5f5;\n    border: 1px solid #fbd7db;\n    border-left: 4px solid var(--red);\n    border-radius: 12px;\n    padding: 16px 18px;\n  }\n  .fatal-error-card .fe-num {\n    width: 26px; height: 26px;\n    border-radius: 50%;\n    background: var(--red);\n    color: #fff;\n    display: flex; align-items: center; justify-content: center;\n    font-size: 12px; font-weight: 700;\n    flex-shrink: 0;\n  }\n  .fatal-error-card .fe-title {\n    font-weight: 700;\n    font-size: 13.5px;\n    color: var(--red);\n    margin-bottom: 4px;\n  }\n  .fatal-error-card .fe-desc {\n    font-size: 13px;\n    color: var(--text-body);\n    line-height: 1.5;\n  }\n\n  .explanation-text {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 14px;\n    padding: 18px 20px;\n    font-size: 13.5px;\n    line-height: 1.65;\n    color: var(--text-body);\n  }\n  .explanation-text .hl { color: var(--blue); font-weight: 600; }\n\n  .action-row {\n    display: flex;\n    align-items: flex-start;\n    gap: 10px;\n    margin-bottom: 8px;\n  }\n  .action-row:last-child { margin-bottom: 0; }\n  .action-row .ar-num {\n    font-size: 12.5px;\n    color: var(--text-dim);\n    font-weight: 600;\n    width: 18px;\n    flex-shrink: 0;\n    text-align: right;\n    padding-top: 10px;\n  }\n  .action-row .ar-box {\n    flex: 1;\n    background: #eef2f9;\n    border-radius: 10px;\n    padding: 10px 14px;\n    font-family: 'Courier New', monospace;\n    font-size: 12.5px;\n    color: var(--navy);\n    line-height: 1.5;\n    word-break: break-word;\n  }\n\n  .forensic-row {\n    display: flex;\n    gap: 16px;\n    align-items: flex-start;\n    background: #eef2f9;\n    border-left: 3px solid var(--blue);\n    border-radius: 8px;\n    padding: 11px 14px;\n    margin-bottom: 8px;\n  }\n  .forensic-row:last-child { margin-bottom: 0; }\n  .forensic-row .fr-label {\n    font-weight: 700;\n    font-size: 11.5px;\n    letter-spacing: 0.3px;\n    color: var(--navy);\n    width: 130px;\n    flex-shrink: 0;\n    padding-top: 1px;\n  }\n  .forensic-row .fr-value {\n    font-size: 12.5px;\n    color: var(--text-body);\n    line-height: 1.55;\n  }\n\n  /* ---------- Issues & Errors ---------- */\n  .seg-control {\n    display: flex;\n    gap: 8px;\n    margin-bottom: 20px;\n    flex-wrap: wrap;\n  }\n  .seg-btn {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 12px;\n    padding: 10px 16px;\n    font-size: 13px;\n    font-weight: 600;\n    color: var(--text-body);\n    cursor: pointer;\n    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;\n  }\n  .seg-btn .seg-count {\n    background: #eef1f6;\n    color: var(--text-dim);\n    border-radius: 20px;\n    padding: 1px 8px;\n    font-size: 11.5px;\n    font-weight: 700;\n  }\n  .seg-btn.active { background: var(--navy); border-color: var(--navy); color: #fff; }\n  .seg-btn.active .seg-count { background: rgba(255,255,255,0.22); color: #fff; }\n  .seg-btn:not(.active):hover { border-color: var(--navy); }\n\n  .issue-empty-card {\n    max-width: 260px;\n    margin: 10px auto 0;\n    background: #fff;\n    border: 1.5px solid var(--red);\n    border-top: 3px solid var(--red);\n    border-radius: 16px;\n    padding: 32px 20px;\n    text-align: center;\n  }\n  .issue-empty-card .ie-icon {\n    width: 44px; height: 44px;\n    margin: 0 auto 14px;\n    border-radius: 50%;\n    background: #fde3e5;\n    color: var(--red);\n    display: flex; align-items: center; justify-content: center;\n    font-size: 20px;\n  }\n  .issue-empty-card .ie-num {\n    font-family: var(--font-title);\n    font-weight: 900;\n    font-size: 30px;\n    color: var(--red);\n    margin-bottom: 6px;\n  }\n  .issue-empty-card .ie-label {\n    font-size: 11px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: var(--text-dim);\n    font-weight: 700;\n  }\n\n  /* ---------- Workflow ---------- */\n  .delay-card-header {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 4px;\n  }\n  .delay-card-header .dc-icon { font-size: 16px; }\n  .delay-card-header .dc-title {\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--navy);\n  }\n  .delay-card-sub {\n    font-size: 12.5px;\n    color: var(--text-dim);\n    margin: 0 0 14px 26px;\n  }\n  .delay-item {\n    background: #fff5f5;\n    border: 1px solid #fbd7db;\n    border-radius: 12px;\n    padding: 14px 16px;\n    margin-bottom: 12px;\n  }\n  .delay-item-top {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    margin-bottom: 8px;\n    flex-wrap: wrap;\n  }\n  .delay-item-top .di-dot {\n    width: 9px; height: 9px;\n    border-radius: 50%;\n    background: var(--red);\n    flex-shrink: 0;\n  }\n  .delay-item-top .di-title {\n    font-weight: 700;\n    font-size: 13.5px;\n    color: var(--navy);\n  }\n  .delay-item-top .di-badge {\n    background: #eef1f6;\n    color: var(--text-dim);\n    font-size: 10.5px;\n    font-weight: 700;\n    letter-spacing: 0.3px;\n    padding: 3px 9px;\n    border-radius: 20px;\n  }\n  .delay-item-top .di-lines {\n    margin-left: auto;\n    font-size: 11.5px;\n    color: var(--text-dim);\n  }\n  .delay-why {\n    background: #eef2f9;\n    border-left: 3px solid var(--blue);\n    border-radius: 8px;\n    padding: 9px 12px;\n    font-size: 12.5px;\n    color: var(--text-body);\n    margin-bottom: 10px;\n  }\n  .delay-why b { color: var(--blue); }\n  .delay-meta {\n    font-size: 12.5px;\n    color: var(--text-body);\n    line-height: 1.7;\n  }\n  .delay-meta b { color: var(--navy); font-weight: 600; }\n\n  .workflow-events-title {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    font-family: var(--font-body);\n    font-weight: 700;\n    font-size: 15px;\n    color: var(--navy);\n    margin: 20px 0 14px;\n  }\n  .workflow-events-title .we-sq {\n    width: 10px; height: 10px;\n    background: var(--navy);\n    border-radius: 2px;\n    flex-shrink: 0;\n  }\n  .workflow-cols {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 14px;\n  }\n  .workflow-col {\n    background: #fff;\n    border: 1px solid var(--border);\n    border-radius: 16px;\n    padding: 16px;\n    box-shadow: 0 1px 4px rgba(16,24,40,0.04);\n    min-height: 140px;\n  }\n  .workflow-col .wc-title {\n    font-weight: 700;\n    font-size: 13.5px;\n    color: var(--navy);\n    margin-bottom: 12px;\n  }\n  .wc-entry {\n    border-bottom: 1px solid #f1f3f7;\n    padding: 10px 0;\n  }\n  .wc-entry:last-child { border-bottom: none; }\n  .wc-entry .wc-line-badge {\n    display: inline-block;\n    background: #eef1f6;\n    color: var(--text-dim);\n    font-size: 10.5px;\n    font-weight: 700;\n    padding: 2px 8px;\n    border-radius: 6px;\n    margin-bottom: 6px;\n  }\n  .wc-entry .wc-entry-title {\n    font-weight: 700;\n    font-size: 13px;\n    color: var(--navy);\n    margin-bottom: 4px;\n  }\n  .wc-entry .wc-entry-desc {\n    font-size: 12px;\n    color: var(--text-dim);\n    line-height: 1.55;\n  }\n  .wc-empty {\n    text-align: center;\n    color: #9aa3b5;\n    font-size: 12.5px;\n    font-style: italic;\n    padding: 24px 0;\n  }\n\n  @media (max-width: 900px) {\n    .field-grid { grid-template-columns: repeat(2,1fr); }\n    .crash-layout { grid-template-columns: 1fr; }\n    .workflow-cols { grid-template-columns: 1fr; }\n  }\n\n  @media (max-width: 900px) {\n    .stat-row { grid-template-columns: repeat(2,1fr); }\n    .panels-row { grid-template-columns: 1fr; }\n  }\n`;return /*#__PURE__*/_jsxs(\"div\",{className:\"rd-root\",style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:DASHBOARD_CSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"dashboard\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"topbar fade-up\",style:{animationDelay:\"0.05s\"},children:[/*#__PURE__*/_jsxs(\"a\",{className:\"new-analysis-btn\",href:newAnalysisUrl,target:\"_blank\",rel:\"noopener noreferrer\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"plus\",children:\"+\"}),\" New Analysis\"]}),/*#__PURE__*/_jsxs(\"div\",{className:\"export-morph\"+(formOpen?\" open\":\"\"),children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"export-bar\",onClick:openForm,children:\"Download Free Sample Report\"}),/*#__PURE__*/_jsxs(\"form\",{className:\"export-form\"+(shake?\" shake\":\"\"),onSubmit:handleSubmit,onAnimationEnd:()=>setShake(false),children:[/*#__PURE__*/_jsx(\"input\",{ref:nameInputRef,type:\"text\",className:\"export-input\"+(nameInvalid?\" invalid\":\"\"),placeholder:\"Your name\",autoComplete:\"name\",value:name,onChange:e=>setName(e.target.value)}),/*#__PURE__*/_jsx(\"input\",{type:\"email\",className:\"export-input\"+(emailInvalid?\" invalid\":\"\"),placeholder:\"Your email\",autoComplete:\"email\",value:email,onChange:e=>setEmail(e.target.value)}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",className:\"export-submit\",disabled:submitting,children:submitLabel}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",className:\"export-close\",\"aria-label\":\"Close\",onClick:closeForm,children:\"✕\"}),/*#__PURE__*/_jsx(\"div\",{className:\"export-error\"+(errorShow?\" show\":\"\"),children:errorMsg})]})]})]}),/*#__PURE__*/_jsx(\"div\",{className:\"stat-row\",children:stats.map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"stat-card fade-up\"+(s.status?\" status\":\"\"),style:{animationDelay:`${.1+i*.06}s`},children:[/*#__PURE__*/_jsx(\"div\",{className:\"stat-icon\",children:/*#__PURE__*/_jsx(Icon,{name:s.icon})}),/*#__PURE__*/_jsx(\"div\",{className:\"stat-label\",children:s.label}),/*#__PURE__*/_jsxs(\"div\",{className:\"stat-value\"+(s.status?\" amber\":\"\"),children:[s.status&&/*#__PURE__*/_jsx(\"span\",{className:\"status-dot\"}),s.value]}),/*#__PURE__*/_jsx(\"div\",{className:\"stat-tooltip\",children:s.info})]},i))}),/*#__PURE__*/_jsx(\"div\",{className:\"tabs-wrap fade-up\",style:{animationDelay:\"0.25s\"},children:/*#__PURE__*/_jsxs(\"div\",{className:\"tabs\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"tab-indicator\",style:{left:indicator.left,width:indicator.width}}),TABS.map((label,i)=>/*#__PURE__*/_jsx(\"button\",{ref:el=>{tabRefs.current[i]=el;},className:\"tab\"+(i===activeTabIndex?\" active\":\"\"),onClick:()=>setActiveTabIndex(i),children:label},label))]})}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content-stack\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===0?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title\",children:\"Session Information\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"field-grid\",children:SESSION_INFO.map((f,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"field-item\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"f-label\",children:f.label}),/*#__PURE__*/_jsx(\"span\",{className:\"f-value\"+(f.badge?\" badge-amber\":\"\"),children:f.value})]},i))}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.sessionInfo})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===1?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title\",children:\"Revit Crash Report\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"crash-layout\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"crash-sidebar\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"sc-label\",children:\"Sections\"}),CRASH_SECTIONS.map((s,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"crash-nav-item\"+(i===crashActiveNav?\" active\":\"\"),onClick:()=>handleCrashNavClick(i),children:[/*#__PURE__*/_jsx(\"span\",{className:\"num\",children:i+1}),s]},s))]}),/*#__PURE__*/_jsxs(\"div\",{className:\"crash-content\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"info-card crash-block\",ref:el=>{crashBlockRefs.current[0]=el;},children:[/*#__PURE__*/_jsx(\"div\",{className:\"crash-section-title\",children:\"1. Crash Overview\"}),/*#__PURE__*/_jsx(\"div\",{className:\"field-grid\",children:CRASH_OVERVIEW.map((f,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"field-item\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"f-label\",children:f.label}),/*#__PURE__*/_jsx(\"span\",{className:\"f-value\"+(f.badge?\" badge-amber\":\"\"),children:f.value})]},i))}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.crashOverview})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card crash-block\",ref:el=>{crashBlockRefs.current[1]=el;},children:[/*#__PURE__*/_jsx(\"div\",{className:\"crash-section-title\",children:\"2. Root Cause\"}),/*#__PURE__*/_jsx(\"div\",{className:\"root-cause-text\",children:ROOT_CAUSE}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip\",children:TAB_INFO.crashRootCause})]}),/*#__PURE__*/_jsx(\"div\",{className:\"crash-scroll-spacer\"})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===2?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title\",children:\"Issues and Errors\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"seg-control\",children:ISSUE_TABS.map(t=>/*#__PURE__*/_jsxs(\"button\",{className:\"seg-btn\"+(t.key===issueActiveKey?\" active\":\"\"),onClick:()=>setIssueActiveKey(t.key),children:[t.label,\" \",/*#__PURE__*/_jsx(\"span\",{className:\"seg-count\",children:t.count})]},t.key))}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.issuesSegments})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"issue-empty-card\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"ie-icon\",children:\"⊖\"}),/*#__PURE__*/_jsx(\"div\",{className:\"ie-num\",children:activeIssue.count}),/*#__PURE__*/_jsx(\"div\",{className:\"ie-label\",children:activeIssue.label===\"Fatal\"?\"Fatal Errors\":activeIssue.label})]}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip center\",children:TAB_INFO.issuesCard})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===3?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title\",children:\"Session Timeline\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"empty-box\",children:\"No timeline events recorded\"}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.timeline})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===4?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title fade-up\",style:{animationDelay:\"0.3s\"},children:\"Add-ins\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"panels-row\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"panel fade-up\",style:{animationDelay:\"0.35s\",[\"--accent\"]:\"var(--red)\",[\"--accent-tint\"]:\"rgba(239,71,87,0.06)\"},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"panel-header\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"panel-dot red\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-title\",children:\"Failed Add-ins\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-badge red\",children:FAILED_ADDINS.length})]}),/*#__PURE__*/_jsx(\"div\",{className:\"panel-body\",children:FAILED_ADDINS.map((txt,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"row-item failed\",style:{animationDelay:rowDelay(i)},children:[/*#__PURE__*/_jsx(\"span\",{className:\"prefix\",children:\"0: <\"}),txt]},i))}),/*#__PURE__*/_jsx(\"div\",{className:\"panel-tooltip\",children:PANEL_INFO.failed})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"panel fade-up\",style:{animationDelay:\"0.45s\",[\"--accent\"]:\"var(--amber)\",[\"--accent-tint\"]:\"rgba(242,153,74,0.06)\"},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"panel-header\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"panel-dot amber\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-title\",children:\"Third-Party Add-ins\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-badge\",children:THIRD_PARTY.children.length+1})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"panel-body\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"tree-root row-item\",style:{animationDelay:\"0s\"},children:THIRD_PARTY.root}),THIRD_PARTY.children.map((c,i)=>/*#__PURE__*/_jsx(\"div\",{className:\"tree-child row-item\",style:{animationDelay:rowDelay(i+1)},children:c},i))]}),/*#__PURE__*/_jsx(\"div\",{className:\"panel-tooltip\",children:PANEL_INFO.thirdParty})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"panel fade-up\",style:{animationDelay:\"0.55s\",[\"--accent\"]:\"var(--green)\",[\"--accent-tint\"]:\"rgba(34,197,94,0.06)\"},children:[/*#__PURE__*/_jsxs(\"div\",{className:\"panel-header\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"panel-dot green\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-title\",children:\"Autodesk Add-ins\"}),/*#__PURE__*/_jsx(\"span\",{className:\"panel-badge\",children:AUTODESK_ADDINS.length})]}),/*#__PURE__*/_jsx(\"div\",{className:\"panel-body\",children:AUTODESK_ADDINS.map((a,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"autodesk-item row-item\",style:{animationDelay:rowDelay(i)},children:[/*#__PURE__*/_jsx(\"span\",{children:a.name}),/*#__PURE__*/_jsx(\"span\",{className:\"ver\",children:a.ver})]},i))}),/*#__PURE__*/_jsx(\"div\",{className:\"panel-tooltip\",children:PANEL_INFO.autodesk})]})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===5?\" active\":\"\"),children:[/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"content-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"delay-card-header\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"dc-icon\",children:\"🛡️\"}),/*#__PURE__*/_jsx(\"span\",{className:\"dc-title\",children:\"Longest Delays\"})]}),/*#__PURE__*/_jsx(\"div\",{className:\"delay-card-sub\",children:\"Significant delays (>5 seconds) between consecutive events\"}),LONGEST_DELAYS.map((d,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"delay-item\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"delay-item-top\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"di-dot\"}),/*#__PURE__*/_jsxs(\"span\",{className:\"di-title\",children:[\"#\",d.rank,\": \",d.duration]}),/*#__PURE__*/_jsx(\"span\",{className:\"di-badge\",children:\"CRITICAL DELAY\"}),/*#__PURE__*/_jsx(\"span\",{className:\"di-lines\",children:d.lines})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"delay-why\",children:[/*#__PURE__*/_jsx(\"b\",{children:\"Why:\"}),\" \",d.why]}),/*#__PURE__*/_jsxs(\"div\",{className:\"delay-meta\",children:[\"From: \",/*#__PURE__*/_jsx(\"b\",{children:d.from}),/*#__PURE__*/_jsx(\"br\",{}),\"To: \",/*#__PURE__*/_jsx(\"b\",{children:d.to})]})]},i))]}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.workflowDelays})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"workflow-events-title\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"we-sq\"}),\"Workflow Events\"]}),/*#__PURE__*/_jsx(\"div\",{className:\"workflow-cols\",children:WORKFLOW_COLS.map((col,ci)=>{const tooltipKeys=[\"workflowSync\",\"workflowFile\",\"workflowLink\"];return /*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"workflow-col\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"wc-title\",children:col.title}),col.entries.length===0?/*#__PURE__*/_jsx(\"div\",{className:\"wc-empty\",children:\"None recorded\"}):col.entries.map((e,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"wc-entry\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"wc-line-badge\",children:e.line}),/*#__PURE__*/_jsx(\"div\",{className:\"wc-entry-title\",children:e.title}),/*#__PURE__*/_jsx(\"div\",{className:\"wc-entry-desc\",children:e.desc})]},i))]}),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip\",children:TAB_INFO[tooltipKeys[ci]]})]},ci);})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"tab-content\"+(activeTabIndex===6?\" active\":\"\"),children:[/*#__PURE__*/_jsx(\"h2\",{className:\"section-title\",children:\"Known Issues & KB Articles\"}),/*#__PURE__*/_jsx(\"div\",{className:\"info-banner\",children:\"These known issues were detected in your journal file. Click the links for official Autodesk solutions.\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"info-card\",children:[KB_ARTICLES.length===0?/*#__PURE__*/_jsx(\"div\",{className:\"empty-box\",children:\"No known issues detected\"}):KB_ARTICLES.map((a,i)=>/*#__PURE__*/_jsx(\"div\",{className:\"content-card\",children:a.title},i)),/*#__PURE__*/_jsx(\"div\",{className:\"info-tooltip below\",children:TAB_INFO.kbArticles})]})]})]})]})]});}addPropertyControls(AddinsDashboard,{accentOrange:{type:ControlType.Color,title:\"Accent Color\",defaultValue:\"#ff5500\"},navy:{type:ControlType.Color,title:\"Navy / Headings\",defaultValue:\"#0d2848\"},blueAccent:{type:ControlType.Color,title:\"Blue Accent\",defaultValue:\"#3868e0\"},dashboardWidth:{type:ControlType.Number,title:\"Width\",defaultValue:1080,min:640,max:1600,step:10},startingTab:{type:ControlType.Enum,title:\"Starting Tab\",options:TABS,optionTitles:TABS,defaultValue:\"Revit Crash Report\"},newAnalysisUrl:{type:ControlType.Link,title:\"New Analysis Link\",defaultValue:\"https://zediag.zestinetech.com\"},formBackendUrl:{type:ControlType.Link,title:\"Form Backend URL\",defaultValue:\"https://formspree.io/f/REPLACE_WITH_YOUR_FORM_ID\"},pdfFile:{type:ControlType.File,title:\"Sample PDF (upload)\",allowedFileTypes:[\"pdf\"],description:\"Drop your PDF here — this is the recommended way to attach the sample report. It works immediately, even before publishing. Leave empty to use the URL field below instead.\"},pdfDownloadUrl:{type:ControlType.Link,title:\"Sample PDF URL (fallback)\",defaultValue:\"https://your-domain.com/reports/sample-report.pdf\",description:\"Only used if no file is uploaded above. Must be a real, publicly reachable PDF URL.\"},pdfDownloadFilename:{type:ControlType.String,title:\"PDF File Name\",defaultValue:\"Revit-Diagnostics-Sample-Report.pdf\"},stats:{type:ControlType.Array,title:\"Stat Cards\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},value:{type:ControlType.String,title:\"Value\",defaultValue:\"Value\"},status:{type:ControlType.Boolean,title:\"Amber / Status Style\",defaultValue:false},icon:{type:ControlType.Enum,title:\"Icon\",options:[\"triangle\",\"hexagon\",\"target\",\"clock\"],optionTitles:[\"Triangle\",\"Hexagon\",\"Target\",\"Clock\"],defaultValue:\"triangle\"},info:{type:ControlType.String,title:\"Tooltip\",defaultValue:\"\"}}},defaultValue:[{label:\"Status\",value:\"Active\",status:true,icon:\"triangle\",info:\"Whether Revit was running normally or had crashed at the time this session was captured.\"},{label:\"Revit Version\",value:\"Revit 2024\",status:false,icon:\"hexagon\",info:\"The version and build of Revit that was running during this session.\"},{label:\"Total Errors\",value:\"0\",status:false,icon:\"target\",info:\"The number of errors and issues logged by Revit and its add-ins during this session.\"},{label:\"Unsaved Work\",value:\"N/A\",status:false,icon:\"triangle\",info:\"Indicates whether there was unsaved work in the model at the time of this report.\"},{label:\"Session Duration\",value:\"6h 23m 13s\",status:false,icon:\"clock\",info:\"Total elapsed time from when this Revit session started to when it ended.\"}]}});\nexport const __FramerMetadata__ = {\"exports\":{\"AddinsDashboardProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"AddinsDashboard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Addinsdashboard.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 19.5 6.878 C 18.151 2.774 14.32 0 10 0 C 5.68 0 1.849 2.774 0.5 6.878 M 0 2.878 L 0 6.878 L 4 6.878 M 16 12.878 L 20 12.878 L 20 16.878 M 0.5 12.878 C 1.849 16.981 5.68 19.755 10 19.755 C 14.32 19.755 18.151 16.981 19.5 12.878\" fill=\"transparent\" height=\"19.755001534858415px\" id=\"j6i70DJYy\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(2 2.122)\" width=\"20px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,n2nHSaXfp:stroke??props.n2nHSaXfp??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,n2nHSaXfp,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-sNldv\",className),layoutId:layoutId,ref:ref,style:{\"--1df8v9o\":n2nHSaXfp,...style}});});const css=[`.framer-sNldv { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1df8v9o); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"n2nHSaXfp\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrows Rotate\",\"color\":{\"type\":\"variable\",\"value\":\"1df8v9o\"},\"set\":{\"localId\":\"vectorSet/yXo17f3GZ\",\"id\":\"yXo17f3GZ\",\"moduleId\":\"eO37kitVCMcNEgHMGd3K\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-sNldv\");Icon.displayName=\"Arrows Rotate\";export default Icon;addPropertyControls(Icon,{n2nHSaXfp:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Arrows Rotate\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1df8v9o\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/yXo17f3GZ\\\",\\\"id\\\":\\\"yXo17f3GZ\\\",\\\"moduleId\\\":\\\"eO37kitVCMcNEgHMGd3K\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"n2nHSaXfp\\\":\\\"stroke\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 5 10 L 0 5 M 5 5 L 10 10 L 20 0 M 10 5 L 15 0\" fill=\"transparent\" height=\"10px\" id=\"VIjJ1zO8o\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(2 7)\" width=\"20px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,n2nHSaXfp:stroke??props.n2nHSaXfp??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,n2nHSaXfp,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-EJu66\",className),layoutId:layoutId,ref:ref,style:{\"--1df8v9o\":n2nHSaXfp,...style}});});const css=[`.framer-EJu66 { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1df8v9o); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"n2nHSaXfp\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Check Double\",\"color\":{\"type\":\"variable\",\"value\":\"1df8v9o\"},\"set\":{\"localId\":\"vectorSet/yXo17f3GZ\",\"id\":\"yXo17f3GZ\",\"moduleId\":\"eO37kitVCMcNEgHMGd3K\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-EJu66\");Icon.displayName=\"Check Double\";export default Icon;addPropertyControls(Icon,{n2nHSaXfp:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Check Double\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1df8v9o\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/yXo17f3GZ\\\",\\\"id\\\":\\\"yXo17f3GZ\\\",\\\"moduleId\\\":\\\"eO37kitVCMcNEgHMGd3K\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"n2nHSaXfp\\\":\\\"stroke\\\"}\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerIntrinsicWidth\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 22 11 L 19 11 M 3 11 L 0 11 M 11 3 L 11 0 M 11 22 L 11 19\" fill=\"transparent\" height=\"22px\" id=\"zNqhVnB_Z\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(1 1)\" width=\"22px\"/><path d=\"M 0 8 C 0 3.582 3.582 0 8 0 C 12.418 0 16 3.582 16 8 C 16 12.418 12.418 16 8 16 C 3.582 16 0 12.418 0 8 Z\" fill=\"transparent\" height=\"16px\" id=\"wlQTGBNxS\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(4 4)\" width=\"16px\"/><path d=\"M 0 3 C 0 1.343 1.343 0 3 0 C 4.657 0 6 1.343 6 3 C 6 4.657 4.657 6 3 6 C 1.343 6 0 4.657 0 3 Z\" fill=\"transparent\" height=\"6px\" id=\"AwOdMipzF\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(9 9)\" width=\"6px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,n2nHSaXfp:stroke??props.n2nHSaXfp??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,n2nHSaXfp,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-pLvDS\",className),layoutId:layoutId,ref:ref,style:{\"--1df8v9o\":n2nHSaXfp,...style}});});const css=[`.framer-pLvDS { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1df8v9o); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"n2nHSaXfp\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Location Crosshairs\",\"color\":{\"type\":\"variable\",\"value\":\"1df8v9o\"},\"set\":{\"localId\":\"vectorSet/yXo17f3GZ\",\"id\":\"yXo17f3GZ\",\"moduleId\":\"eO37kitVCMcNEgHMGd3K\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-pLvDS\");Icon.displayName=\"Location Crosshairs\";export default Icon;addPropertyControls(Icon,{n2nHSaXfp:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerVariables\":\"{\\\"n2nHSaXfp\\\":\\\"stroke\\\"}\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"Location Crosshairs\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1df8v9o\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/yXo17f3GZ\\\",\\\"id\\\":\\\"yXo17f3GZ\\\",\\\"moduleId\\\":\\\"eO37kitVCMcNEgHMGd3K\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 2 15.983 C 4.697 19.596 9.479 20.957 13.675 19.306 C 17.871 17.655 20.442 13.4 19.954 8.918 C 19.466 4.436 16.039 0.834 11.586 0.125 C 7.133 -0.584 2.756 1.774 0.9 5.883 M 0 1.983 L 0 5.983 L 4 5.983 M 10 4.983 L 10 9.983 L 13 12.983\" fill=\"transparent\" height=\"20.00135365124008px\" id=\"H1WbZSEo8\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(2 2.017)\" width=\"20.013391939885715px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,n2nHSaXfp:stroke??props.n2nHSaXfp??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,n2nHSaXfp,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-d1RrL\",className),layoutId:layoutId,ref:ref,style:{\"--1df8v9o\":n2nHSaXfp,...style}});});const css=[`.framer-d1RrL { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1df8v9o); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"n2nHSaXfp\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Clock Rotate\",\"color\":{\"type\":\"variable\",\"value\":\"1df8v9o\"},\"set\":{\"localId\":\"vectorSet/yXo17f3GZ\",\"id\":\"yXo17f3GZ\",\"moduleId\":\"eO37kitVCMcNEgHMGd3K\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-d1RrL\");Icon.displayName=\"Clock Rotate\";export default Icon;addPropertyControls(Icon,{n2nHSaXfp:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Clock Rotate\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1df8v9o\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/yXo17f3GZ\\\",\\\"id\\\":\\\"yXo17f3GZ\\\",\\\"moduleId\\\":\\\"eO37kitVCMcNEgHMGd3K\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"n2nHSaXfp\\\":\\\"stroke\\\"}\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 3 L 0 16 C 0 17.105 0.895 18 2 18 C 3.105 18 4 17.105 4 16 L 4 2 C 4 0.895 4.895 0 6 0 L 18 0 C 19.105 0 20 0.895 20 2 L 20 15 C 20 16.657 18.657 18 17 18 L 2 18 M 9 5 L 15 5 M 9 9 L 15 9 M 9 13 L 15 13\" fill=\"transparent\" height=\"18px\" id=\"Me_oLEhkT\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--1df8v9o, rgb(0,0,0))\" transform=\"translate(2 3)\" width=\"20px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,n2nHSaXfp:stroke??props.n2nHSaXfp??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,n2nHSaXfp,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-zJEKL\",className),layoutId:layoutId,ref:ref,style:{\"--1df8v9o\":n2nHSaXfp,...style}});});const css=[`.framer-zJEKL { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--1df8v9o); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"n2nHSaXfp\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Newspaper\",\"color\":{\"type\":\"variable\",\"value\":\"1df8v9o\"},\"set\":{\"localId\":\"vectorSet/yXo17f3GZ\",\"id\":\"yXo17f3GZ\",\"moduleId\":\"eO37kitVCMcNEgHMGd3K\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-zJEKL\");Icon.displayName=\"Newspaper\";export default Icon;addPropertyControls(Icon,{n2nHSaXfp:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Newspaper\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1df8v9o\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/yXo17f3GZ\\\",\\\"id\\\":\\\"yXo17f3GZ\\\",\\\"moduleId\\\":\\\"eO37kitVCMcNEgHMGd3K\\\"}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"n2nHSaXfp\\\":\\\"stroke\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getImageSrc(image){if(!image)return undefined;if(typeof image===\"string\")return image;if(typeof image===\"object\"&&typeof image.src===\"string\")return image.src;return undefined;}export default function FloatingTestimonials(props){const{background,cornerRadius,accentColor,showCenterText,eyebrow,eyebrowColor,heading,headingAccentWord,headingColor,headingAccentColor,headingFontSize,bodyFontFamily,people,autoLayout,layoutRadiusX,layoutRadiusY,layoutRotation,avatarSize,bubbleMaxWidth,bubbleBg,bubbleBorder,nameColor,nameFontSize,roleColor,roleFontSize,cardWidth,cardBg,quoteColor,quoteFontSize,floatEnabled,floatIntensity,radius}=props;const[hovered,setHovered]=useState(null);const[pinned,setPinned]=useState(null);const active=pinned??hovered;// When autoLayout is on, ignore the manual x/y on each person and\n// instead spread everyone evenly around the center as a fresh\n// ellipse each render — so removing/adding people re-balances the\n// whole layout instead of leaving gaps or clustering.\nconst positions=people.map((person,i)=>{if(!autoLayout)return{x:person.x,y:person.y};const n=people.length;if(n===1)return{x:50,y:50};const angle=360/n*i-90+layoutRotation;const rad=angle*Math.PI/180;const x=50+layoutRadiusX*Math.cos(rad);const y=50+layoutRadiusY*Math.sin(rad);return{x:Math.min(92,Math.max(8,x)),y:Math.min(90,Math.max(8,y))};});return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:160,background,overflow:\"hidden\",fontFamily:bodyFontFamily,borderRadius:cornerRadius,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes ftw-bob-a {\n                    0%, 100% { transform: translate(-50%, -50%) translateY(0px); }\n                    50% { transform: translate(-50%, -50%) translateY(var(--float-dist)); }\n                }\n                .ftw-bubble {\n                    animation: ftw-bob-a var(--float-dur) ease-in-out infinite;\n                    animation-delay: var(--float-delay);\n                }\n                .ftw-bubble:hover {\n                    animation-play-state: paused;\n                }\n                .ftw-card {\n                    animation: ftw-fade-up 0.15s ease;\n                }\n                @keyframes ftw-fade-up {\n                    from { opacity: 0; transform: translateY(4px); }\n                    to { opacity: 1; transform: translateY(0); }\n                }\n            `}),showCenterText&&/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 100 100\",preserveAspectRatio:\"xMidYMid meet\",style:{position:\"absolute\",inset:0,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"50\",cy:\"50\",r:radius*.42,fill:\"none\",stroke:accentColor,strokeOpacity:.25,strokeWidth:\"0.15\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"50\",cy:\"50\",r:radius*.28,fill:\"none\",stroke:accentColor,strokeOpacity:.25,strokeWidth:\"0.15\"})]}),showCenterText&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",textAlign:\"center\",width:\"46%\",pointerEvents:\"none\",zIndex:1},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,fontWeight:600,letterSpacing:1.5,textTransform:\"uppercase\",color:eyebrowColor,marginBottom:8},children:eyebrow}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:headingFontSize,fontWeight:800,lineHeight:1.05,color:headingColor,letterSpacing:-.5},children:[heading,\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:headingAccentColor},children:headingAccentWord})]})]}),people.map((person,i)=>{const isActive=active===i;const dur=4.5+i%4*.6;const dist=floatEnabled?-(6+i%3*3)*(floatIntensity/100):0;const pos=positions[i];const anchorRight=pos.x>62;const flipCardAbove=pos.y>58;const imgSrc=getImageSrc(person.image);return /*#__PURE__*/_jsxs(\"div\",{className:floatEnabled?\"ftw-bubble\":undefined,style:{position:\"absolute\",left:`${pos.x}%`,top:`${pos.y}%`,transform:floatEnabled?undefined:\"translate(-50%, -50%)\",zIndex:isActive?20:5,\"--float-dur\":`${dur}s`,\"--float-delay\":`${i*.35}s`,\"--float-dist\":`${dist}px`},onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(null),onClick:()=>setPinned(pinned===i?null:i),children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:anchorRight?\"row-reverse\":\"row\",alignItems:\"center\",gap:7,padding:anchorRight?\"5px 6px 5px 11px\":\"5px 11px 5px 5px\",borderRadius:999,background:bubbleBg,border:`1px solid ${isActive?accentColor:bubbleBorder}`,boxShadow:isActive?`0 8px 20px -8px ${accentColor}55, 0 2px 8px rgba(20,20,30,0.08)`:\"0 2px 8px rgba(20,20,30,0.07)\",cursor:\"pointer\",transition:\"box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease\",transform:isActive?\"scale(1.05)\":\"scale(1)\",maxWidth:bubbleMaxWidth},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:avatarSize,height:avatarSize,borderRadius:\"50%\",overflow:\"hidden\",flexShrink:0,background:accentColor,border:`2px solid ${bubbleBg}`,boxShadow:`0 0 0 1.5px ${accentColor}`},children:imgSrc&&/*#__PURE__*/_jsx(\"img\",{src:imgSrc,alt:person.name,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{lineHeight:1.15,textAlign:anchorRight?\"right\":\"left\",minWidth:0,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:nameFontSize,fontWeight:700,color:nameColor,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:person.name}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:roleFontSize,color:roleColor,fontWeight:500,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:person.role})]})]}),isActive&&person.quote&&/*#__PURE__*/_jsxs(\"div\",{className:\"ftw-card\",style:{position:\"absolute\",top:flipCardAbove?\"auto\":\"calc(100% + 8px)\",bottom:flipCardAbove?\"calc(100% + 8px)\":\"auto\",left:anchorRight?\"auto\":0,right:anchorRight?0:\"auto\",width:cardWidth,padding:\"10px 12px\",borderRadius:12,background:cardBg,border:`1px solid ${accentColor}`,boxShadow:\"0 12px 28px -10px rgba(20,20,30,0.2)\",zIndex:30},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:9.5,fontWeight:700,letterSpacing:.6,textTransform:\"uppercase\",color:accentColor,marginBottom:4},children:person.name}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:quoteFontSize,color:quoteColor,lineHeight:1.4,fontStyle:\"italic\"},children:['\"',person.quote,'\"']})]})]},i);})]});}FloatingTestimonials.defaultProps={background:\"transparent\",cornerRadius:\"24px\",accentColor:\"#FE5500\",showCenterText:false,eyebrow:\"Voices from the\",eyebrowColor:\"#FE5500\",heading:\"Ze'Diag\",headingAccentWord:\"Ecosystem\",headingColor:\"#15151A\",headingAccentColor:\"#FE5500\",headingFontSize:26,bodyFontFamily:\"Inter, -apple-system, BlinkMacSystemFont, sans-serif\",avatarSize:28,bubbleMaxWidth:148,bubbleBg:\"#FFFFFF\",bubbleBorder:\"#E7E7EC\",nameColor:\"#15151A\",nameFontSize:11,roleColor:\"#8A8A97\",roleFontSize:9,cardWidth:176,cardBg:\"#FFFFFF\",quoteColor:\"#3A3A44\",quoteFontSize:11,floatEnabled:true,floatIntensity:100,radius:90,autoLayout:true,layoutRadiusX:38,layoutRadiusY:34,layoutRotation:0,people:[{name:\"Priya Sharma\",role:\"Talent Acquisition, Mumbai\",quote:\"Ze'Diag cut our review time from hours to minutes.\",x:18,y:20},{name:\"Dr. K. Ganesan\",role:\"Dean of Engineering, TN\",quote:\"The root-cause reports are now part of our curriculum.\",x:60,y:14},{name:\"Suresh Kumar\",role:\"Placement Director, Chennai\",quote:\"Students walk in already fluent in real diagnostics.\",x:87,y:36},{name:\"Liam O'Brien\",role:\"BIM Engineer, USA\",quote:\"Under three minutes, upload to done, every time.\",x:14,y:60},{name:\"James Wilson\",role:\"Engineering Director, Canada\",quote:\"Our whole team references the same evidence trail.\",x:52,y:86},{name:\"Sophie Dubois\",role:\"BIM Coordinator, France\",quote:\"Finally, diagnostics we can hand straight to Autodesk.\",x:85,y:70}]};addPropertyControls(FloatingTestimonials,{background:{type:ControlType.Color,title:\"Background\",defaultValue:\"transparent\"},cornerRadius:{type:ControlType.BorderRadius,title:\"Corner Radius\",defaultValue:\"24px\"},accentColor:{type:ControlType.Color,title:\"Accent (all borders)\",defaultValue:\"#FE5500\"},showCenterText:{type:ControlType.Boolean,title:\"Show Center Text\",defaultValue:false},eyebrow:{type:ControlType.String,title:\"Eyebrow\",defaultValue:\"Voices from the\",hidden:props=>!props.showCenterText},eyebrowColor:{type:ControlType.Color,title:\"Eyebrow Color\",defaultValue:\"#FE5500\",hidden:props=>!props.showCenterText},heading:{type:ControlType.String,title:\"Heading\",defaultValue:\"Ze'Diag\",hidden:props=>!props.showCenterText},headingAccentWord:{type:ControlType.String,title:\"Heading Accent\",defaultValue:\"Ecosystem\",hidden:props=>!props.showCenterText},headingColor:{type:ControlType.Color,title:\"Heading Color\",defaultValue:\"#15151A\",hidden:props=>!props.showCenterText},headingAccentColor:{type:ControlType.Color,title:\"Heading Accent Color\",defaultValue:\"#FE5500\",hidden:props=>!props.showCenterText},headingFontSize:{type:ControlType.Number,title:\"Heading Size\",defaultValue:26,min:14,max:64,step:1,hidden:props=>!props.showCenterText},bodyFontFamily:{type:ControlType.String,title:\"Font Family\",defaultValue:\"Inter, -apple-system, BlinkMacSystemFont, sans-serif\"},radius:{type:ControlType.Number,title:\"Ring Radius\",defaultValue:90,min:20,max:140,step:1,hidden:props=>!props.showCenterText},autoLayout:{type:ControlType.Boolean,title:\"Auto Layout\",defaultValue:true,description:\"Spaces people evenly automatically. Turn off to position each one manually.\"},layoutRadiusX:{type:ControlType.Number,title:\"Spread (X)\",defaultValue:38,min:10,max:45,step:1,hidden:props=>!props.autoLayout},layoutRadiusY:{type:ControlType.Number,title:\"Spread (Y)\",defaultValue:34,min:10,max:42,step:1,hidden:props=>!props.autoLayout},layoutRotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:0,min:0,max:360,step:5,hidden:props=>!props.autoLayout},floatEnabled:{type:ControlType.Boolean,title:\"Floating Motion\",defaultValue:true},floatIntensity:{type:ControlType.Number,title:\"Float Intensity\",defaultValue:100,min:0,max:200,step:5,hidden:props=>!props.floatEnabled},avatarSize:{type:ControlType.Number,title:\"Avatar Size\",defaultValue:28,min:18,max:56,step:1},bubbleMaxWidth:{type:ControlType.Number,title:\"Bubble Max Width\",defaultValue:148,min:90,max:260,step:2},bubbleBg:{type:ControlType.Color,title:\"Bubble Background\",defaultValue:\"#FFFFFF\"},bubbleBorder:{type:ControlType.Color,title:\"Bubble Border (idle)\",defaultValue:\"#E7E7EC\"},nameColor:{type:ControlType.Color,title:\"Name Color\",defaultValue:\"#15151A\"},nameFontSize:{type:ControlType.Number,title:\"Name Size\",defaultValue:11,min:7,max:20,step:.5},roleColor:{type:ControlType.Color,title:\"Role Color\",defaultValue:\"#8A8A97\"},roleFontSize:{type:ControlType.Number,title:\"Role Size\",defaultValue:9,min:6,max:16,step:.5},cardWidth:{type:ControlType.Number,title:\"Quote Card Width\",defaultValue:176,min:120,max:320,step:4},cardBg:{type:ControlType.Color,title:\"Quote Card Background\",defaultValue:\"#FFFFFF\"},quoteColor:{type:ControlType.Color,title:\"Quote Text Color\",defaultValue:\"#3A3A44\"},quoteFontSize:{type:ControlType.Number,title:\"Quote Size\",defaultValue:11,min:8,max:20,step:.5},people:{type:ControlType.Array,title:\"People\",control:{type:ControlType.Object,controls:{image:{type:ControlType.Image,title:\"Photo\"},name:{type:ControlType.String,title:\"Name\",defaultValue:\"Name\"},role:{type:ControlType.String,title:\"Role\",defaultValue:\"Role, City\"},quote:{type:ControlType.String,title:\"Quote\",defaultValue:\"This is a testimonial quote.\",displayTextArea:true},x:{type:ControlType.Number,title:\"X Position % (used only if Auto Layout is off)\",defaultValue:50,min:8,max:92,step:1},y:{type:ControlType.Number,title:\"Y Position % (used only if Auto Layout is off)\",defaultValue:50,min:8,max:90,step:1}}},defaultValue:[{name:\"Priya Sharma\",role:\"Talent Acquisition, Mumbai\",quote:\"Ze'Diag cut our review time from hours to minutes.\",x:18,y:20},{name:\"Dr. K. Ganesan\",role:\"Dean of Engineering, TN\",quote:\"The root-cause reports are now part of our curriculum.\",x:60,y:14},{name:\"Suresh Kumar\",role:\"Placement Director, Chennai\",quote:\"Students walk in already fluent in real diagnostics.\",x:87,y:36},{name:\"Liam O'Brien\",role:\"BIM Engineer, USA\",quote:\"Under three minutes, upload to done, every time.\",x:14,y:60},{name:\"James Wilson\",role:\"Engineering Director, Canada\",quote:\"Our whole team references the same evidence trail.\",x:52,y:86},{name:\"Sophie Dubois\",role:\"BIM Coordinator, France\",quote:\"Finally, diagnostics we can hand straight to Autodesk.\",x:85,y:70}]}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FloatingTestimonials\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FloatingTestimonials.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";const DEFAULT_COLOR=\"#1570EF\";const DEFAULT_SVG=`<svg viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"m13.076 12.21 3.098 3.098a1.25 1.25 0 0 0 1.768 0l3.424-3.424a1.25 1.25 0 0 0 0-1.768l-3.424-3.424a1.25 1.25 0 0 0-1.768 0L13.076 9.79l4.902.903c.341.063.341.552 0 .614l-4.902.903Zm-3.206.786-3.178 3.178a1.25 1.25 0 0 0 0 1.768l3.424 3.424a1.25 1.25 0 0 0 1.768 0l3.424-3.424a1.25 1.25 0 0 0 0-1.768l-3.043-3.043-.878 4.768c-.063.34-.552.34-.615 0l-.902-4.903ZM6.692 4.058a1.25 1.25 0 0 0 0 1.768l3.177 3.178.903-4.903c.063-.34.552-.34.615 0l.878 4.768 3.043-3.043a1.25 1.25 0 0 0 0-1.768L11.884.634a1.25 1.25 0 0 0-1.768 0L6.692 4.058ZM.634 10.116a1.25 1.25 0 0 0 0 1.768l3.424 3.424a1.25 1.25 0 0 0 1.768 0l3.123-3.122-4.768-.879c-.341-.063-.341-.552 0-.614l4.768-.879-3.123-3.122a1.25 1.25 0 0 0-1.768 0L.634 10.116Z\" fill=\"#1570EF\"/></svg>`;const DEFAULT_STROKE_WIDTH=1.5;/*\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 24\n */export default function FramerIcons(props){const customizedSvg=getCustomizedSVG(props.svg,props.color,props.strokeWidth);return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":\"true\",style:{display:\"flex\",maxWidth:\"100%\",maxHeight:\"100%\",alignItems:\"center\",justifyContent:\"center\",...props.style},dangerouslySetInnerHTML:{__html:customizedSvg}});}addPropertyControls(FramerIcons,{svg:{title:\"SVG\",type:ControlType.String,defaultValue:DEFAULT_SVG},strokeWidth:{type:ControlType.Number,step:.25,min:.25,max:3,defaultValue:DEFAULT_STROKE_WIDTH,hidden:props=>hideStrokeWidth(props.svg)},color:{type:ControlType.Color,defaultValue:DEFAULT_COLOR,description:\"By [FramerIcons](https://www.framericons.com?utm=FramerIconComponent)\"}});// hide if no stroke-width or all stroke-widths are 0\nfunction hideStrokeWidth(svg){const strokeWidthMatch=svg.match(/stroke-width=\"([^\"]+)\"/g);return!strokeWidthMatch||strokeWidthMatch.every(match=>match===\"0\");}function getCustomizedSVG(svg,color=DEFAULT_COLOR,strokeWidth=DEFAULT_STROKE_WIDTH){let svgAttributes=svg.match(/<svg[^>]*>/)?.[0];if(!svgAttributes){svg=DEFAULT_SVG;svgAttributes=svg.match(/<svg[^>]*>/)?.[0];}const width=svgAttributes.match(/width=\"([^\"]*)\"/)?.[1];const height=svgAttributes.match(/height=\"([^\"]*)\"/)?.[1];const viewBox=svgAttributes.match(/viewBox=\"([^\"]*)\"/)?.[1]?.split(\" \");const viewBoxWidth=viewBox?.[2];const viewBoxHeight=viewBox?.[3];if(width&&height){svg=svg.replace(/width=\"([^\"]*)\"/,`width=\"100%\"`);svg=svg.replace(/height=\"([^\"]*)\"/,`height=\"100%\"`);}else{svg=svg.replace(/<svg/,`<svg width=\"100%\" height=\"100%\"`);}let hasElementsWithValidColors=false;if(svg.includes('fill=\"')||svg.includes('stroke=\"')){svg=svg.replace(/(fill|stroke)=\"([^\"]+)\"/g,(match,attr,value)=>{if(value===\"none\"||value===\"transparent\"){return match;}// For iconsax -> Crypto -> Bulk\nif(value===\"white\"){return\"\";}hasElementsWithValidColors=true;return`${attr}=\"${color}\"`;});}if(!hasElementsWithValidColors){svg=svg.replace(/<(path|circle|rect|line|polygon|polyline) /g,match=>`<${match.slice(1)} fill=\"${color}\" `);}svg=svg.replace(/stroke-width=\"([^\"]+)\"/g,(match,value)=>{if(value===\"0\"){return match;}return`stroke-width=\"${strokeWidth}\"`;});return svg;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerIcons\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FramerIcon.map","// Generated by Framer (1a21bd5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,Link,patchBorderRadiusScaleCorrector,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FramerIcons from\"https://framerusercontent.com/modules/bjUTEQt5uFu8cIOVtWXD/r674MsvdtSSHCQGPTaai/FramerIcon.js\";const FramerIconsFonts=getFonts(FramerIcons);const enabledGestures={DYTsQ8K7Q:{hover:true},U4sMfsqnq:{hover:true}};const cycleOrder=[\"U4sMfsqnq\",\"DYTsQ8K7Q\"];const serializationHash=\"framer-v6ltn\";const variantClassNames={DYTsQ8K7Q:\"framer-v-tv2i0x\",U4sMfsqnq:\"framer-v-8xubp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const fjGtXQMV6=undefined;const bTObTIRMg=undefined;const l9jvjAcpc=undefined;const govJcBjcZ=undefined;const XO3SXoooQ=undefined;const O9VdYIURJ=undefined;const Nr7Mz8u4I=undefined;const fysRxYBZ3=undefined;const yYFeoPTer=undefined;const patchBorderRadiusScaleCorrector1=patchBorderRadiusScaleCorrector();const transition1={bounce:.2,delay:0,duration:.6,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"Button Medium\":\"DYTsQ8K7Q\",\"Button Small\":\"U4sMfsqnq\"};const Variants=motion.create(React.Fragment);const getProps=({buttonFill,buttonHoverFill,height,iconColor,iconHoverColor,id,labelColor,labelHoverColor,link,newTab,title,width,...props})=>{return{...props,bTObTIRMg:link??props.bTObTIRMg,fjGtXQMV6:buttonFill??props.fjGtXQMV6??\"var(--token-71046100-4185-42d7-9390-54ee645f5fde, rgb(54, 75, 254))\",fysRxYBZ3:iconColor??props.fysRxYBZ3??\"var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255))\",govJcBjcZ:buttonHoverFill??props.govJcBjcZ??\"var(--token-242edd6b-a1d9-48b9-a926-f5b8bc457ecb, rgb(0, 0, 0))\",l9jvjAcpc:newTab??props.l9jvjAcpc,Nr7Mz8u4I:labelHoverColor??props.Nr7Mz8u4I??\"var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255))\",O9VdYIURJ:title??props.O9VdYIURJ??\"Signup\",variant:humanReadableVariantMap[props.variant]??props.variant??\"U4sMfsqnq\",XO3SXoooQ:labelColor??props.XO3SXoooQ??\"var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255))\",yYFeoPTer:iconHoverColor??props.yYFeoPTer??\"var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255))\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,O9VdYIURJ,bTObTIRMg,l9jvjAcpc,fjGtXQMV6,govJcBjcZ,XO3SXoooQ,Nr7Mz8u4I,fysRxYBZ3,yYFeoPTer,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"U4sMfsqnq\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:bTObTIRMg,motionChild:true,nodeId:\"U4sMfsqnq\",openInNewTab:l9jvjAcpc,scopeId:\"JrZVt14tG\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-8xubp\",className,classNames)} framer-wqwogh`,\"data-framer-name\":\"Button Small\",layoutDependency:layoutDependency,layoutId:\"U4sMfsqnq\",ref:refBinding,style:{\"--corner-shape-fallback\":.752,backgroundColor:fjGtXQMV6,borderBottomLeftRadius:\"calc(6px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderBottomRightRadius:\"calc(6px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopLeftRadius:\"calc(6px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopRightRadius:\"calc(6px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",cornerShape:\"superellipse(1.5)\",...style},variants:{\"DYTsQ8K7Q-hover\":{backgroundColor:govJcBjcZ},\"U4sMfsqnq-hover\":{backgroundColor:govJcBjcZ}},...addPropertyOverrides({\"DYTsQ8K7Q-hover\":{\"data-framer-name\":undefined},\"U4sMfsqnq-hover\":{\"data-framer-name\":undefined},DYTsQ8K7Q:{\"data-framer-name\":\"Button Medium\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LVNlbWlCb2xk\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.2px\",\"--framer-line-height\":\"26px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-XO3SXoooQ-JrZVt14tG))\",\"--framer-text-transform\":\"capitalize\"},children:\"Signup\"})}),className:\"framer-ki9f30\",fonts:[\"FR;InterDisplay-SemiBold\"],layoutDependency:layoutDependency,layoutId:\"aGui9lABU\",style:{\"--extracted-r6o4lv\":\"var(--variable-reference-XO3SXoooQ-JrZVt14tG)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--variable-reference-Nr7Mz8u4I-JrZVt14tG\":Nr7Mz8u4I,\"--variable-reference-XO3SXoooQ-JrZVt14tG\":XO3SXoooQ},text:O9VdYIURJ,variants:{\"DYTsQ8K7Q-hover\":{\"--extracted-r6o4lv\":\"var(--variable-reference-Nr7Mz8u4I-JrZVt14tG)\",\"--variable-reference-Nr7Mz8u4I-JrZVt14tG\":Nr7Mz8u4I},\"U4sMfsqnq-hover\":{\"--extracted-r6o4lv\":\"var(--variable-reference-Nr7Mz8u4I-JrZVt14tG)\",\"--variable-reference-Nr7Mz8u4I-JrZVt14tG\":Nr7Mz8u4I}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"DYTsQ8K7Q-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LVNlbWlCb2xk\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.2px\",\"--framer-line-height\":\"26px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-Nr7Mz8u4I-JrZVt14tG))\",\"--framer-text-transform\":\"capitalize\"},children:\"Signup\"})})},\"U4sMfsqnq-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlI7SW50ZXJEaXNwbGF5LVNlbWlCb2xk\",\"--framer-font-family\":'\"Inter Display\", \"Inter Display Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-letter-spacing\":\"-0.2px\",\"--framer-line-height\":\"26px\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-Nr7Mz8u4I-JrZVt14tG))\",\"--framer-text-transform\":\"capitalize\"},children:\"Signup\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-erq0xk\",layoutDependency:layoutDependency,layoutId:\"AXsF4GK46\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zd2f1-container\",\"data-framer-name\":\"arrow-right\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"eu8fF0GTY-container\",name:\"arrow-right\",nodeId:\"eu8fF0GTY\",rendersWithMotion:true,scopeId:\"JrZVt14tG\",children:/*#__PURE__*/_jsx(FramerIcons,{color:fysRxYBZ3,height:\"100%\",id:\"eu8fF0GTY\",layoutId:\"eu8fF0GTY\",name:\"arrow-right\",strokeWidth:1.5,style:{height:\"100%\",width:\"100%\"},svg:'<svg width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" data-name=\"Layer 1\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"#ffffff\" stroke-miterlimit=\"10\" stroke-width=\"1.5\" d=\"M21.5 12H.5m13.36-7.64L21.5 12l-7.64 7.64\"/></svg>',width:\"100%\",...addPropertyOverrides({\"DYTsQ8K7Q-hover\":{color:yYFeoPTer},\"U4sMfsqnq-hover\":{color:yYFeoPTer}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-136x3ob-container\",\"data-framer-name\":\"arrow-right\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"oOeB11qjs-container\",name:\"arrow-right\",nodeId:\"oOeB11qjs\",rendersWithMotion:true,scopeId:\"JrZVt14tG\",children:/*#__PURE__*/_jsx(FramerIcons,{color:fysRxYBZ3,height:\"100%\",id:\"oOeB11qjs\",layoutId:\"oOeB11qjs\",name:\"arrow-right\",strokeWidth:1.5,style:{height:\"100%\",width:\"100%\"},svg:'<svg width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" data-name=\"Layer 1\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"#ffffff\" stroke-miterlimit=\"10\" stroke-width=\"1.5\" d=\"M21.5 12H.5m13.36-7.64L21.5 12l-7.64 7.64\"/></svg>',width:\"100%\",...addPropertyOverrides({\"DYTsQ8K7Q-hover\":{color:yYFeoPTer},\"U4sMfsqnq-hover\":{color:yYFeoPTer}},baseVariant,gestureVariant)})})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-v6ltn.framer-wqwogh, .framer-v6ltn .framer-wqwogh { display: block; }\",\".framer-v6ltn.framer-8xubp { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; overflow: visible; padding: 12px 32px 12px 32px; position: relative; text-decoration: none; width: min-content; }\",\".framer-v6ltn .framer-ki9f30 { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-v6ltn .framer-erq0xk { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-end; overflow: hidden; padding: 0px; position: relative; width: 20px; }\",\".framer-v6ltn .framer-zd2f1-container, .framer-v6ltn .framer-136x3ob-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 20px); position: relative; width: 20px; }\",\".framer-v6ltn.framer-v-8xubp.hover .framer-erq0xk, .framer-v6ltn.framer-v-tv2i0x.hover .framer-erq0xk { justify-content: flex-start; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 50\n * @framerIntrinsicWidth 142\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"DYTsQ8K7Q\":{\"layout\":[\"auto\",\"auto\"]},\"wRcUrlPS9\":{\"layout\":[\"auto\",\"auto\"]},\"HAGI1eYXi\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"O9VdYIURJ\":\"title\",\"bTObTIRMg\":\"link\",\"l9jvjAcpc\":\"newTab\",\"fjGtXQMV6\":\"buttonFill\",\"govJcBjcZ\":\"buttonHoverFill\",\"XO3SXoooQ\":\"labelColor\",\"Nr7Mz8u4I\":\"labelHoverColor\",\"fysRxYBZ3\":\"iconColor\",\"yYFeoPTer\":\"iconHoverColor\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJrZVt14tG=withCSS(Component,css,\"framer-v6ltn\");export default FramerJrZVt14tG;FramerJrZVt14tG.displayName=\"Button 3\";FramerJrZVt14tG.defaultProps={height:50,width:142};addPropertyControls(FramerJrZVt14tG,{variant:{options:[\"U4sMfsqnq\",\"DYTsQ8K7Q\"],optionTitles:[\"Button Small\",\"Button Medium\"],title:\"Variant\",type:ControlType.Enum},O9VdYIURJ:{defaultValue:\"Signup\",displayTextArea:false,title:\"Title\",type:ControlType.String},onO9VdYIURJChange:{changes:\"O9VdYIURJ\",type:ControlType.ChangeHandler},bTObTIRMg:{title:\"Link\",type:ControlType.Link},l9jvjAcpc:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},onl9jvjAcpcChange:{changes:\"l9jvjAcpc\",type:ControlType.ChangeHandler},fjGtXQMV6:{defaultValue:\"var(--token-71046100-4185-42d7-9390-54ee645f5fde, rgb(54, 75, 254))\",title:\"Button Fill\",type:ControlType.Color},govJcBjcZ:{defaultValue:\"var(--token-242edd6b-a1d9-48b9-a926-f5b8bc457ecb, rgb(0, 0, 0))\",title:\"Button Hover Fill\",type:ControlType.Color},XO3SXoooQ:{defaultValue:\"var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255))\",title:\"Label Color\",type:ControlType.Color},Nr7Mz8u4I:{defaultValue:'var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255)) /* {\"name\":\"White\"} */',title:\"Label Hover Color\",type:ControlType.Color},fysRxYBZ3:{defaultValue:'var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255)) /* {\"name\":\"Secondry Bg\"} */',title:\"Icon Color\",type:ControlType.Color},yYFeoPTer:{defaultValue:'var(--token-630fc3c8-b115-4393-8532-82d9a6d807d7, rgb(255, 255, 255)) /* {\"name\":\"Secondry Bg\"} */',title:\"Icon Hover Color\",type:ControlType.Color}});addFonts(FramerJrZVt14tG,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/gazZKZuUEtvr9ULhdA4SprP0AZ0.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/pe8RoujoPxuTZhqoNzYqHX2MXA.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/teGhWnhH3bCqefKGsIsqFy3hK8.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/qQHxgTnEk6Czu1yW4xS82HQWFOk.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/MJ3N6lfN4iP5Um8rJGqLYl03tE.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/PfdOpgzFf7N2Uye9JX7xRKYTgSc.woff2\",weight:\"600\"},{cssFamilyName:\"Inter Display\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter Display\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/0SEEmmWc3vovhaai4RlRQSWRrz0.woff2\",weight:\"600\"}]},...FramerIconsFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJrZVt14tG\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"142\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"50\",\"framerVariables\":\"{\\\"O9VdYIURJ\\\":\\\"title\\\",\\\"bTObTIRMg\\\":\\\"link\\\",\\\"l9jvjAcpc\\\":\\\"newTab\\\",\\\"fjGtXQMV6\\\":\\\"buttonFill\\\",\\\"govJcBjcZ\\\":\\\"buttonHoverFill\\\",\\\"XO3SXoooQ\\\":\\\"labelColor\\\",\\\"Nr7Mz8u4I\\\":\\\"labelHoverColor\\\",\\\"fysRxYBZ3\\\":\\\"iconColor\\\",\\\"yYFeoPTer\\\":\\\"iconHoverColor\\\"}\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"DYTsQ8K7Q\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"wRcUrlPS9\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"HAGI1eYXi\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JrZVt14tG.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Revit Crash File Scanner — Framer Code Component\n * All the visual knobs (title, subtitle, colors, sizes, labels, speed,\n * card size, and the file list) are exposed in the Framer right panel\n * via addPropertyControls below. No code editing needed after install.\n */const CSS=`\n.rcs-app {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  min-height: 420px;\n  background:\n    radial-gradient(ellipse 80% 60% at 50% 45%, rgba(255,85,0,0.05), transparent 60%),\n    var(--rcs-bg, #ffffff);\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  font-family: 'Segoe UI', sans-serif;\n  color: #000;\n}\n.rcs-app *, .rcs-app *::before, .rcs-app *::after { box-sizing: border-box; }\n\n.rcs-grid-bg {\n  position: absolute;\n  inset: 0;\n  background-image:\n    linear-gradient(rgba(0,0,0,0.045) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(0,0,0,0.045) 1px, transparent 1px);\n  background-size: 44px 44px;\n  mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 40%, transparent 85%);\n  pointer-events: none;\n}\n\n.rcs-header { position: relative; text-align: center; z-index: 5; padding: 18px 20px 6px; letter-spacing: 0.5px; }\n.rcs-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: 3px; font-weight: 600; margin-bottom: 6px; }\n.rcs-title { margin: 0; font-weight: 700; line-height: 1.15; }\n.rcs-subtitle { margin: 6px 0 0; font-weight: 400; line-height: 1.4; }\n\n.rcs-track-viewport { position: relative; width: 100%; height: 260px; margin-top: 18px; overflow: hidden; }\n\n.rcs-track {\n  position: absolute; top: 0; left: 0; display: flex; align-items: center; height: 100%;\n  will-change: transform; animation: rcs-scroll-right linear infinite;\n}\n@keyframes rcs-scroll-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }\n\n.rcs-card {\n  position: relative;\n  width: var(--rcs-card-w, 200px);\n  height: var(--rcs-card-h, 190px);\n  margin: 0 16px;\n  flex-shrink: 0;\n  border-radius: 14px;\n  background: #ffffff;\n  border: 1px solid #e6e6e9;\n  padding: 16px;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n  transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;\n  overflow: hidden;\n  box-shadow: 0 2px 10px rgba(0,0,0,0.04);\n  font-family: 'Segoe UI', sans-serif;\n}\n\n.rcs-card.rcs-state-crashed   { border-color: var(--rcs-crash, #e0333f); box-shadow: 0 4px 16px -4px rgba(224,51,63,0.22); }\n.rcs-card.rcs-state-scanning  { border-color: var(--rcs-accent, #ff5500); box-shadow: 0 6px 22px -4px rgba(255,85,0,0.35); transform: scale(1.045); }\n.rcs-card.rcs-state-diagnosed { border-color: var(--rcs-ok, #12a150); box-shadow: 0 4px 16px -4px rgba(18,161,80,0.22); }\n\n.rcs-card-top { display: flex; align-items: center; justify-content: space-between; }\n\n.rcs-file-icon {\n  width: 34px; height: 34px; border-radius: 8px; display: flex; align-items: center; justify-content: center;\n  font-size: 15px; font-weight: 700; background: rgba(0,0,0,0.04); color: #6b7280;\n  transition: color 0.4s ease, background 0.4s ease;\n}\n.rcs-state-crashed .rcs-file-icon   { color: var(--rcs-crash, #e0333f); background: rgba(224,51,63,0.08); }\n.rcs-state-scanning .rcs-file-icon  { color: var(--rcs-accent, #ff5500); background: rgba(255,85,0,0.1); }\n.rcs-state-diagnosed .rcs-file-icon { color: var(--rcs-ok, #12a150); background: rgba(18,161,80,0.08); }\n\n.rcs-status-tag {\n  font-size: 9.5px; font-weight: 700; letter-spacing: 1px; padding: 4px 8px; border-radius: 20px;\n  text-transform: uppercase; white-space: nowrap; transition: all 0.4s ease;\n}\n.rcs-state-crashed .rcs-status-tag   { color: var(--rcs-crash, #e0333f); background: rgba(224,51,63,0.10); }\n.rcs-state-scanning .rcs-status-tag  { color: var(--rcs-accent, #ff5500); background: rgba(255,85,0,0.12); }\n.rcs-state-diagnosed .rcs-status-tag { color: var(--rcs-ok, #12a150); background: rgba(18,161,80,0.10); }\n\n.rcs-file-name {\n  font-size: 13.5px; font-weight: 500; color: #000; margin-top: 10px;\n  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n}\n\n.rcs-detail-line {\n  font-size: 10.5px; line-height: 1.5; color: #6b7280;\n  font-family: 'Consolas', 'SF Mono', monospace; min-height: 32px;\n}\n.rcs-state-crashed .rcs-detail-line   { color: var(--rcs-crash, #e0333f); }\n.rcs-state-scanning .rcs-detail-line  { color: var(--rcs-accent, #ff5500); }\n.rcs-state-diagnosed .rcs-detail-line { color: var(--rcs-ok, #12a150); }\n\n.rcs-card.rcs-state-scanning::after {\n  content: \"\"; position: absolute; inset: 0;\n  background: repeating-linear-gradient(0deg, rgba(255,85,0,0.05) 0px, rgba(255,85,0,0.05) 1px, transparent 1px, transparent 3px);\n  animation: rcs-flicker 0.6s steps(2) infinite; pointer-events: none;\n}\n@keyframes rcs-flicker { 0%, 100% { opacity: 0.6; } 50% { opacity: 1; } }\n\n.rcs-scanner-beam {\n  position: absolute; top: 0; left: 50%; width: 3px; height: 100%;\n  box-shadow: 0 0 18px 3px rgba(255,85,0,0.35), 0 0 40px 8px rgba(255,85,0,0.15);\n  transform: translateX(-50%); z-index: 6; pointer-events: none;\n}\n.rcs-scanner-label {\n  position: absolute; top: 8px; left: 50%; transform: translateX(-50%);\n  font-size: 10px; letter-spacing: 2px; text-transform: uppercase; background: var(--rcs-bg, #fff);\n  padding: 3px 10px; border: 1px solid rgba(255,85,0,0.35); border-radius: 20px;\n  z-index: 7; white-space: nowrap; box-shadow: 0 2px 8px rgba(0,0,0,0.06);\n  display: flex; align-items: center;\n}\n.rcs-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 6px; animation: rcs-pulse 1s ease-in-out infinite; }\n@keyframes rcs-pulse { 0%, 100% { opacity: 0.3; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.1); } }\n\n.rcs-fade-left, .rcs-fade-right { position: absolute; top: 0; width: 140px; height: 100%; z-index: 8; pointer-events: none; }\n.rcs-fade-left  { left: 0; background: linear-gradient(90deg, var(--rcs-bg, #fff) 10%, transparent); }\n.rcs-fade-right { right: 0; background: linear-gradient(270deg, var(--rcs-bg, #fff) 10%, transparent); }\n\n.rcs-side-label { position: absolute; top: 50%; transform: translateY(-50%); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; z-index: 9; writing-mode: vertical-rl; }\n.rcs-side-left  { left: 12px; }\n.rcs-side-right { right: 12px; }\n\n.rcs-footer-stats { position: relative; z-index: 5; display: flex; justify-content: center; gap: 36px; padding: 4px 20px 18px; }\n.rcs-stat { text-align: center; }\n.rcs-num { font-weight: 700; font-variant-numeric: tabular-nums; font-size: var(--rcs-stat-num-size, 28px); }\n.rcs-lbl { letter-spacing: 1.5px; text-transform: uppercase; color: #6b7280; margin-top: 2px; font-size: var(--rcs-stat-lbl-size, 14px); }\n`;export default function RevitCrashScanner(props){const{eyebrow,title,titleFont,titleColor,titleSize,subtitle,bodyFont,subtitleColor,subtitleSize,backgroundColor,accentColor,crashColor,okColor,crashedLabel,scanningLabel,diagnosedLabel,statNumberSize,statLabelSize,scanSpeed,cardWidth,cardHeight,files}=props;const rootRef=useRef(null);const trackRef=useRef(null);const viewportRef=useRef(null);const rafRef=useRef(null);useEffect(()=>{const track=trackRef.current;const viewport=viewportRef.current;if(!track||!viewport)return;track.innerHTML=\"\";const list=files&&files.length?files:[];const sequence=[...list,...list];sequence.forEach(f=>{const card=document.createElement(\"div\");card.className=\"rcs-card rcs-state-crashed\";card.innerHTML=`\n        <div class=\"rcs-card-top\">\n          <div class=\"rcs-file-icon\">.txt</div>\n          <div class=\"rcs-status-tag\">${crashedLabel}</div>\n        </div>\n        <div>\n          <div class=\"rcs-file-name\">${f.name}</div>\n        </div>\n        <div class=\"rcs-detail-line\">${f.crashError}</div>\n      `;card.dataset.crashError=f.crashError;card.dataset.fix=f.fix;track.appendChild(card);});const raf1=requestAnimationFrame(()=>{const singleSetWidth=track.scrollWidth/2;const duration=singleSetWidth/Math.max(scanSpeed,1);track.style.animationDuration=duration+\"s\";});function updateStates(){const viewportRect=viewport.getBoundingClientRect();const centerX=viewportRect.left+viewportRect.width/2;const beamHalfWidth=55;const cards=track.querySelectorAll(\".rcs-card\");let crashedN=0,scanningN=0,diagnosedN=0;cards.forEach(card=>{const rect=card.getBoundingClientRect();const cardCenter=rect.left+rect.width/2;const dist=cardCenter-centerX;if(dist<-beamHalfWidth){if(!card.classList.contains(\"rcs-state-crashed\")){card.classList.remove(\"rcs-state-scanning\",\"rcs-state-diagnosed\");card.classList.add(\"rcs-state-crashed\");card.querySelector(\".rcs-status-tag\").textContent=crashedLabel;card.querySelector(\".rcs-file-icon\").textContent=\".txt\";card.querySelector(\".rcs-detail-line\").textContent=card.dataset.crashError;}crashedN++;}else if(dist<=beamHalfWidth){if(!card.classList.contains(\"rcs-state-scanning\")){card.classList.remove(\"rcs-state-crashed\",\"rcs-state-diagnosed\");card.classList.add(\"rcs-state-scanning\");card.querySelector(\".rcs-status-tag\").textContent=scanningLabel;card.querySelector(\".rcs-file-icon\").textContent=\"◎\";card.querySelector(\".rcs-detail-line\").textContent=\"analyzing model integrity…\";}scanningN++;}else{if(!card.classList.contains(\"rcs-state-diagnosed\")){card.classList.remove(\"rcs-state-crashed\",\"rcs-state-scanning\");card.classList.add(\"rcs-state-diagnosed\");card.querySelector(\".rcs-status-tag\").textContent=diagnosedLabel;card.querySelector(\".rcs-file-icon\").textContent=\"✓\";card.querySelector(\".rcs-detail-line\").textContent=card.dataset.fix;}diagnosedN++;}});const root=rootRef.current;if(root){const crashEl=root.querySelector('[data-rcs=\"crash-count\"]');const scanEl=root.querySelector('[data-rcs=\"scan-count\"]');const fixEl=root.querySelector('[data-rcs=\"fix-count\"]');if(crashEl)crashEl.textContent=String(crashedN);if(scanEl)scanEl.textContent=String(scanningN);if(fixEl)fixEl.textContent=String(diagnosedN);}rafRef.current=requestAnimationFrame(updateStates);}rafRef.current=requestAnimationFrame(updateStates);return()=>{cancelAnimationFrame(raf1);if(rafRef.current)cancelAnimationFrame(rafRef.current);};},[files,scanSpeed,crashedLabel,scanningLabel,diagnosedLabel]);const rootStyle={\"--rcs-bg\":backgroundColor,\"--rcs-crash\":crashColor,\"--rcs-accent\":accentColor,\"--rcs-ok\":okColor,\"--rcs-card-w\":cardWidth+\"px\",\"--rcs-card-h\":cardHeight+\"px\",\"--rcs-stat-num-size\":statNumberSize+\"px\",\"--rcs-stat-lbl-size\":statLabelSize+\"px\"};return /*#__PURE__*/_jsxs(\"div\",{className:\"rcs-app\",ref:rootRef,style:rootStyle,children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-grid-bg\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-header\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rcs-eyebrow\",style:{color:accentColor},children:eyebrow}),/*#__PURE__*/_jsx(\"h1\",{className:\"rcs-title\",style:{...titleFont,color:titleColor,fontSize:titleSize},children:title}),/*#__PURE__*/_jsx(\"p\",{className:\"rcs-subtitle\",style:{...bodyFont,color:subtitleColor,fontSize:subtitleSize},children:subtitle})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-track-viewport\",ref:viewportRef,children:[/*#__PURE__*/_jsx(\"div\",{className:\"rcs-side-label rcs-side-left\",style:{color:crashColor},children:crashedLabel}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-side-label rcs-side-right\",style:{color:okColor},children:diagnosedLabel}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-scanner-label\",style:{color:accentColor,borderColor:accentColor},children:[/*#__PURE__*/_jsx(\"span\",{className:\"rcs-dot\",style:{background:accentColor}}),scanningLabel]}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-scanner-beam\",style:{background:`linear-gradient(180deg, transparent 0%, ${accentColor} 20%, ${accentColor} 80%, transparent 100%)`}}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-fade-left\"}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-fade-right\"}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-track\",ref:trackRef})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-footer-stats\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-stat\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rcs-num\",style:{color:crashColor},\"data-rcs\":\"crash-count\",children:\"0\"}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-lbl\",children:crashedLabel})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-stat\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rcs-num\",\"data-rcs\":\"scan-count\",children:\"0\"}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-lbl\",children:scanningLabel})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"rcs-stat\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rcs-num\",style:{color:okColor},\"data-rcs\":\"fix-count\",children:\"0\"}),/*#__PURE__*/_jsx(\"div\",{className:\"rcs-lbl\",children:diagnosedLabel})]})]})]});}RevitCrashScanner.defaultProps={eyebrow:\"Auto-Diagnostics\",title:\"Revit Crash File Scanner\",titleFont:{fontFamily:\"Red Hat Display\",fontWeight:700},titleColor:\"#fe5500\",titleSize:37,subtitle:\"Corrupted files stream in \\xb7 get scanned in real time \\xb7 exit fully diagnosed\",bodyFont:{fontFamily:\"Inter\",fontWeight:400},subtitleColor:\"rgba(0,0,0,0.68)\",subtitleSize:22,backgroundColor:\"#ffffff\",accentColor:\"#ff5500\",crashColor:\"#e0333f\",okColor:\"#12a150\",crashedLabel:\"Crashed\",scanningLabel:\"Scanning\",diagnosedLabel:\"Diagnosed\",statNumberSize:28,statLabelSize:14,scanSpeed:55,cardWidth:200,cardHeight:190,files:[{name:\"journal.0135.txt\",crashError:\"err: worksharing sync fail\",fix:\"sync repaired \\xb7 0 conflicts\"},{name:\"journal.0136.txt\",crashError:\"err: memory overflow\",fix:\"cache cleared \\xb7 stable\"},{name:\"journal.0137.txt\",crashError:\"err: corrupt central model\",fix:\"model rebuilt \\xb7 linked ok\"},{name:\"journal.0138.txt\",crashError:\"err: family load fail\",fix:\"families reloaded \\xb7 0 errors\"},{name:\"journal.0139.txt\",crashError:\"err: unresolved warnings x212\",fix:\"warnings 212 → 0\"},{name:\"journal.0140.txt\",crashError:\"err: view template conflict\",fix:\"templates merged \\xb7 clean\"},{name:\"journal.0141.txt\",crashError:\"err: purge required\",fix:\"purged 4,120 elements\"},{name:\"journal.0142.txt\",crashError:\"err: link path broken\",fix:\"links relinked \\xb7 verified\"}]};addPropertyControls(RevitCrashScanner,{eyebrow:{type:ControlType.String,title:\"Eyebrow\"},title:{type:ControlType.String,title:\"Title\"},titleFont:{type:ControlType.Font,title:\"Title Font\",controls:\"extended\",defaultValue:{fontFamily:\"Red Hat Display\",fontWeight:700}},titleColor:{type:ControlType.Color,title:\"Title Color\"},titleSize:{type:ControlType.Number,title:\"Title Size\",min:14,max:80,step:1,unit:\"px\"},subtitle:{type:ControlType.String,title:\"Subtitle\",displayTextArea:true},bodyFont:{type:ControlType.Font,title:\"Body Font\",controls:\"extended\",defaultValue:{fontFamily:\"Inter\"}},subtitleColor:{type:ControlType.Color,title:\"Subtitle Color\"},subtitleSize:{type:ControlType.Number,title:\"Subtitle Size\",min:10,max:40,step:1,unit:\"px\"},backgroundColor:{type:ControlType.Color,title:\"Background Color\"},accentColor:{type:ControlType.Color,title:\"Accent / Scan Color\"},crashColor:{type:ControlType.Color,title:\"Crashed Color\"},okColor:{type:ControlType.Color,title:\"Diagnosed Color\"},crashedLabel:{type:ControlType.String,title:\"Crashed Label\"},scanningLabel:{type:ControlType.String,title:\"Scanning Label\"},diagnosedLabel:{type:ControlType.String,title:\"Diagnosed Label\"},statNumberSize:{type:ControlType.Number,title:\"Stat Number Size\",min:10,max:60,step:1,unit:\"px\"},statLabelSize:{type:ControlType.Number,title:\"Stat Label Size\",min:8,max:30,step:1,unit:\"px\"},scanSpeed:{type:ControlType.Number,title:\"Scroll Speed\",min:10,max:200,step:5,unit:\"px/s\"},cardWidth:{type:ControlType.Number,title:\"Card Width\",min:140,max:320,step:2,unit:\"px\"},cardHeight:{type:ControlType.Number,title:\"Card Height\",min:140,max:320,step:2,unit:\"px\"},files:{type:ControlType.Array,title:\"Files\",control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"File Name\"},crashError:{type:ControlType.String,title:\"Crash Error\"},fix:{type:ControlType.String,title:\"Fix Message\"}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RevitCrashScanner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RevitCrashScanner_1.map"],"mappings":"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"}