1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[780],{62869:function(e,t,r){r.d(t,{Button:function(){return a}});var n=r(57437),o=r(2265),i=r(94508);let a=(0,o.forwardRef)((e,t)=>{let{className:r,variant:o="primary",size:a="md",children:s,...l}=e;return(0,n.jsx)("button",{className:(0,i.cn)("inline-flex items-center justify-center font-medium transition-all duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 rounded-md",{primary:"bg-primary text-foreground-inverse hover:bg-primary-hover active:opacity-90 shadow-soft",secondary:"border border-primary text-primary hover:bg-primary-muted active:bg-primary-muted",ghost:"text-foreground-muted hover:text-foreground hover:bg-surface-hover active:bg-surface"}[o],{sm:"h-8 px-3 text-sm gap-1.5",md:"h-10 px-5 text-sm gap-2",lg:"h-12 px-8 text-base gap-2.5"}[a],r),ref:t,...l,children:s})});a.displayName="Button"},66070:function(e,t,r){r.d(t,{Card:function(){return a},CardContent:function(){return c},CardDescription:function(){return d},CardHeader:function(){return s},CardTitle:function(){return l}});var n=r(57437),o=r(2265),i=r(94508);let a=(0,o.forwardRef)((e,t)=>{let{className:r,glowOnHover:o=!1,children:a,...s}=e;return(0,n.jsx)("div",{ref:t,className:(0,i.cn)("rounded-lg border border-border bg-surface p-6",o&&"transition-all duration-300 hover:border-primary hover:shadow-glow",r),...s,children:a})});a.displayName="Card";let s=(0,o.forwardRef)((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)("div",{ref:t,className:(0,i.cn)("flex flex-col space-y-1.5",r),...o})});s.displayName="CardHeader";let l=(0,o.forwardRef)((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)("h3",{ref:t,className:(0,i.cn)("text-lg font-semibold text-foreground leading-tight",r),...o})});l.displayName="CardTitle";let d=(0,o.forwardRef)((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)("p",{ref:t,className:(0,i.cn)("text-sm text-foreground-muted",r),...o})});d.displayName="CardDescription";let c=(0,o.forwardRef)((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)("div",{ref:t,className:(0,i.cn)("pt-4",r),...o})});c.displayName="CardContent"},79071:function(e,t,r){r.d(t,{ECGAnimation:function(){return i}});var n=r(57437),o=r(2265);function i(e){let{className:t,paper:r=!0}=e,i=(0,o.useRef)(null),a=(0,o.useRef)();return(0,o.useEffect)(()=>{let e=i.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let n=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>getComputedStyle(document.documentElement).getPropertyValue("--color-ecg-line").trim()||"#011451",s=0,l=0,d=6,c=0,u=0,m=0,f=!1,h=null,x=e=>e>=.1&&e<.18?.15*Math.sin((e-.1)/.08*Math.PI):e>=.235&&e<.255?-.1*Math.sin((e-.235)/.02*Math.PI):e>=.255&&e<.285?1.2*Math.sin((e-.255)/.03*Math.PI):e>=.285&&e<.315?-.28*Math.sin((e-.285)/.03*Math.PI):e>=.42&&e<.62?.32*Math.sin((e-.42)/.2*Math.PI):0,g=()=>{if(!r){h=null;return}let e=window.devicePixelRatio||1,t=document.createElement("canvas");t.width=Math.round(s*e),t.height=Math.round(l*e);let n=t.getContext("2d");if(!n)return;n.setTransform(e,0,0,e,0,0);let o=l/2;n.lineWidth=1,n.strokeStyle="rgba(1, 20, 81, 0.05)",n.beginPath();for(let e=0;e<=s;e+=d)n.moveTo(Math.round(e)+.5,0),n.lineTo(Math.round(e)+.5,l);for(let e=o%d;e<=l;e+=d)n.moveTo(0,Math.round(e)+.5),n.lineTo(s,Math.round(e)+.5);n.stroke();let i=5*d;n.strokeStyle="rgba(1, 20, 81, 0.11)",n.beginPath();for(let e=0;e<=s;e+=i)n.moveTo(Math.round(e)+.5,0),n.lineTo(Math.round(e)+.5,l);for(let e=o%i;e<=l;e+=i)n.moveTo(0,Math.round(e)+.5),n.lineTo(s,Math.round(e)+.5);n.stroke(),h=t},p=()=>{let n=e.getBoundingClientRect();if(0===n.width||0===n.height)return;let o=window.devicePixelRatio||1;s=n.width,l=n.height,e.width=Math.round(s*o),e.height=Math.round(l*o),t.setTransform(o,0,0,o,0,0),d=Math.max(3,l/24),c=r?9*d:0,g()},b=()=>{if(0===s||0===l)return;let e=l/2,n=o();if(t.clearRect(0,0,s,l),h&&t.drawImage(h,0,0,s,l),t.strokeStyle=n,t.lineWidth=2,t.lineJoin="round",t.lineCap="round",r){let r=10*d,n=1.5*d,o=n+1.5*d+3.5*d;t.beginPath(),t.moveTo(0,e),t.lineTo(n,e),t.lineTo(n,e-r),t.lineTo(o,e-r),t.lineTo(o,e),t.lineTo(c,e),t.stroke()}let i=21.425*d;t.save(),t.beginPath(),t.rect(c,0,s-c,l),t.clip(),t.beginPath();for(let r=c;r<=s;r++){let n=e-x(((r-c+u)%i+i)%i/i)*d*10;r===c?t.moveTo(r,n):t.lineTo(r,n)}
1t.stroke(),t.restore()},v=e=>{f&&(m&&(u+=25*d*((e-m)/1e3)),m=e,b(),a.current=requestAnimationFrame(v))},y=()=>{if(!f){if(n.matches){b();return}f=!0,m=0,a.current=requestAnimationFrame(v)}},N=()=>{f=!1,a.current&&cancelAnimationFrame(a.current)};p(),b();let w=new IntersectionObserver(e=>{let[t]=e;return t.isIntersecting?y():N()},{threshold:0});w.observe(e);let j=()=>{p(),b()};window.addEventListener("resize",j);let T=()=>{N(),b(),y()};return n.addEventListener("change",T),()=>{N(),w.disconnect(),window.removeEventListener("resize",j),n.removeEventListener("change",T)}},[r]),(0,n.jsx)("canvas",{ref:i,className:t,style:{width:"100%",height:"100%",display:"block"},"aria-hidden":"true"})}},3750:function(e,t,r){r.d(t,{LogoStrip:function(){return i}});var n=r(57437),o=r(94508);function i(e){let{partners:t,caption:r,className:i}=e;return(0,n.jsxs)("div",{className:(0,o.cn)("w-full",i),children:[r&&(0,n.jsx)("p",{className:"mb-6 text-center text-sm text-foreground-muted",children:r}),(0,n.jsx)("div",{className:"flex items-center justify-center gap-8 overflow-x-auto scrollbar-hide sm:gap-12 lg:gap-16",children:t.map(e=>(0,n.jsx)("div",{className:"flex h-8 flex-shrink-0 items-center justify-center opacity-50 grayscale transition-all hover:opacity-100 hover:grayscale-0 sm:h-10",children:(0,n.jsx)("div",{className:"flex h-full items-center justify-center px-4 text-sm font-medium text-foreground-muted",children:e.name})},e.name))})]})}},66816:function(e,t,r){r.d(t,{MetricCard:function(){return a}});var n=r(57437),o=r(94508),i=r(9971);function a(e){let{icon:t,title:r,description:a,className:s}=e,l=t?i[t]:null;return(0,n.jsxs)("div",{className:(0,o.cn)("group flex flex-col gap-3 rounded-lg border border-border bg-surface p-5 transition-all duration-300","hover:border-primary/30 hover:shadow-soft",s),children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[l&&(0,n.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-md bg-primary-muted text-primary transition-colors group-hover:bg-primary/20",children:(0,n.jsx)(l,{className:"h-5 w-5"})}),(0,n.jsx)("h3",{className:"font-semibold text-foreground",children:r})]}),(0,n.jsx)("p",{className:"text-sm text-foreground-muted leading-relaxed",children:a})]})}},35169:function(e,t,r){r.d(t,{OutputToggle:function(){return s}});var n=r(57437),o=r(2265),i=r(94508);let a={summary:{title:"Summary Output",content:"Normal sinus rhythm\nHeart rate: 72 bpm\nPR interval: 168 ms\nQRS duration: 92 ms\nQTc interval: 412 ms (Bazett)\n\nNo acute ischemic changes\nNo significant arrhythmia detected"},clinical:{title:"Clinical Interpretation",content:"RHYTHM: Normal sinus rhythm at 72 bpm\nINTERVALS: PR 168ms (normal), QRS 92ms (normal), QTc 412ms (normal)\nAXIS: Normal axis (45\xb0)\nMORPHOLOGY: Normal R-wave progression, no pathological Q waves\nST-T CHANGES: No significant ST elevation or depression\nCONDUCTION: No AV block, no bundle branch block\n\nIMPRESSION: Normal ECG\nCOMPARISON: No prior ECG available for comparison"},json:{title:"Structured JSON",content:'{\n "rhythm": {\n "type": "sinus",\n "rate": 72,\n "regularity": "regular"\n },\n "intervals": {\n "pr_ms": 168,\n "qrs_ms": 92,\n "qtc_ms": 412,\n "qtc_formula": "bazett"\n },\n "axis": {\n "frontal": 45,\n "classification": "normal"\n },\n "findings": [],\n "interpretation": "Normal ECG",\n "confidence": 0.96\n}'}};function s(e){let{className:t}=e,[r,s]=(0,o.useState)("summary");return(0,n.jsxs)("div",{className:(0,i.cn)("rounded-lg border border-border bg-surface overflow-hidden",t),children:[(0,n.jsx)("div",{className:"flex border-b border-border",children:["summary","clinical","json"].map(e=>(0,n.jsx)("button",{onClick:()=>s(e),className:(0,i.cn)("flex-1 px-4 py-3 text-sm font-medium transition-colors",r===e?"bg-primary-muted text-primary border-b-2 border-primary":"text-foreground-muted hover:text-foreground hover:bg-surface-hover"),children:e.charAt(0).toUpperCase()+e.slice(1)},e))}),(0,n.jsxs)("div",{className:"p-6",children:[(0,n.jsx)("h4",{className:"text-sm font-medium text-foreground-muted mb-3",children:a[r].title}),(0,n.jsx)("pre",{className:"font-mono text-sm text-foreground whitespace-pre-wrap leading-relaxed",children:a[r].content})]})]})}},66884:function(e,t,r){r.d(t,{PillarCard:function(){return a}});var n=r(57437),o=r(94508),i=r(9971);function a(e){let{icon:t,title:r,points:a,className:s}=e,l=i[t];return(0,n.jsxs)("div",{className:(0,o.cn)("flex flex-col rounded-lg border border-border bg-surface p-6 transition-all duration-300","hover:border-primary/20 hover:shadow-soft",s),children:[(0,n.jsx)("div",{className:"mb-4 flex h-12 w-12 items-center justify-center rounded-lg bg-primary-muted text-primary",children:l&&(0,n.jsx)(l,{className:"h-6 w-6"})}),(0,n.jsx)("h3",{className:"mb-4 text-xl font-semibold text-foreground",children:r}),(0,n.jsx)("ul",{className:"space-y-3",children:a.map((e,t)=>(0,n.jsxs)("li",{className:"flex items-start gap-3 text-sm text-foreground-muted",children:[(0,n.jsx)("span",{className:"mt-1.5 h-1.5 w-1.5 flex-shrink-0 rounded-full bg-primary/60"}),(0,n.jsx)("span",{children:e})]},t))})]})}},64018:function(e,t,r){r.d(t,{SectionHeading:function(){return i}});var n=r(57437),o=r(94508);function i(e){let{title:t,subtitle:r,headline:i,subheadline:a,badge:s,align:l="center",className:d}=e,c=null!=r?r:a;return(0,n.jsxs)("div",{className:(0,o.cn)("max-w-3xl","center"===l&&"mx-auto text-center",d),children:[s&&(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-primary/30 bg-primary-muted px-3 py-1 text-xs font-medium text-primary mb-4",children:s}),(0,n.jsx)("h2",{className:"text-3xl font-bold text-foreground sm:text-4xl lg:text-5xl tracking-tight",children:null!=t?t:i}
1),c&&(0,n.jsx)("p",{className:"mt-4 text-lg text-foreground-muted sm:text-xl",children:c})]})}},38815:function(e,t,r){r.d(t,{StatCounter:function(){return l}});var n=r(57437),o=r(2265),i=r(63433),a=r(48458),s=r(94508);function l(e){let{value:t,label:r,className:l}=e,d=(0,o.useRef)(null),c=(0,i.Y)(d,{once:!0,margin:"-100px"}),[u,m]=(0,o.useState)("0");return(0,o.useEffect)(()=>{if(!c)return;let e=t.match(/^([\d.]+)(.*)$/);if(!e){m(t);return}let r=parseFloat(e[1]),n=e[2],o=Date.now(),i=()=>{let e=Math.min((Date.now()-o)/2e3,1),t=0+(r-0)*(1-Math.pow(1-e,3));Number.isInteger(r)?m(Math.round(t)+n):m(t.toFixed(1)+n),e<1&&requestAnimationFrame(i)};requestAnimationFrame(i)},[c,t]),(0,n.jsxs)(a.E.div,{ref:d,initial:{opacity:0,y:20},animate:c?{opacity:1,y:0}:{},transition:{duration:.5},className:(0,s.cn)("text-center",l),children:[(0,n.jsx)("div",{className:"text-4xl font-bold text-primary sm:text-5xl lg:text-6xl",children:u}),(0,n.jsx)("div",{className:"mt-2 text-sm text-foreground-muted sm:text-base",children:r})]})}},25833:function(e,t,r){r.d(t,{Tabs:function(){return s},TabsContent:function(){return c},TabsList:function(){return l},TabsTrigger:function(){return d}});var n=r(57437),o=r(2265),i=r(93255),a=r(94508);let s=i.fC,l=o.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(i.aV,{ref:t,className:(0,a.cn)("inline-flex items-center gap-1 rounded-lg bg-surface p-1 border border-border",r),...o})});l.displayName=i.aV.displayName;let d=o.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(i.xz,{ref:t,className:(0,a.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-4 py-2 text-sm font-medium text-foreground-muted transition-all","hover:text-foreground hover:bg-surface-hover","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background","disabled:pointer-events-none disabled:opacity-50","data-[state=active]:bg-primary-muted data-[state=active]:text-primary data-[state=active]:border data-[state=active]:border-primary/30",r),...o})});d.displayName=i.xz.displayName;let c=o.forwardRef((e,t)=>{let{className:r,...o}=e;return(0,n.jsx)(i.VY,{ref:t,className:(0,a.cn)("mt-6 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-background",r),...o})});c.displayName=i.VY.displayName},5616:function(e,t,r){r.d(t,{TwelveLeadECG:function(){return d}});var n=r(57437),o=r(2265);let i=[["I","aVR","V1","V4"],["II","aVL","V2","V5"],["III","aVF","V3","V6"]],a={left:9,right:4,col:62.5,rowH:27,gap:3,top:6,bottom:8},s=a.left+4*a.col+a.right,l=a.top+4*a.rowH+3*a.gap+a.bottom;function d(e){let{src:t,className:r}=e,d=(0,o.useRef)(null),[c,u]=(0,o.useState)(null),[m,f]=(0,o.useState)(!1);return((0,o.useEffect)(()=>{let e=!0;return fetch(t).then(e=>e.ok?e.json():Promise.reject(e.status)).then(t=>e&&u(t)).catch(()=>e&&f(!0)),()=>{e=!1}},[t]),(0,o.useEffect)(()=>{if(!c)return;let e=d.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let r="#011451",n=()=>{var n,o;let d=null!==(o=null===(n=e.parentElement)||void 0===n?void 0:n.clientWidth)&&void 0!==o?o:e.clientWidth;if(!d)return;let u=d/s,m=l*u,f=window.devicePixelRatio||1;e.style.height="".concat(m,"px"),e.width=Math.round(d*f),e.height=Math.round(m*f),t.setTransform(f*u,0,0,f*u,0,0),t.clearRect(0,0,s,l),t.lineWidth=.15,t.strokeStyle="rgba(1, 20, 81, 0.07)",t.beginPath();for(let e=0;e<=s;e+=1)t.moveTo(e,0),t.lineTo(e,l);for(let e=0;e<=l;e+=1)t.moveTo(0,e),t.lineTo(s,e);t.stroke(),t.lineWidth=.25,t.strokeStyle="rgba(1, 20, 81, 0.16)",t.beginPath();for(let e=0;e<=s;e+=5)t.moveTo(e,0),t.lineTo(e,l);for(let e=0;e<=l;e+=5)t.moveTo(0,e),t.lineTo(s,e);t.stroke();let h=e=>a.top+e*(a.rowH+a.gap),x=e=>h(e)+a.rowH/2,g=c.fs,p=e=>-e/100;t.strokeStyle=r,t.lineWidth=.3,t.lineJoin="round",t.lineCap="round";let b=e=>{t.beginPath(),t.moveTo(1,e),t.lineTo(3,e),t.lineTo(3,e-10),t.lineTo(6,e-10),t.lineTo(6,e),t.lineTo(a.left-1,e),t.stroke()},v=(e,r,n,o,i)=>{let a=c.signals[e];if(!a)return;let s=Math.round(o*g),l=Math.min(Math.round(i*g),a.length);t.beginPath();for(let e=s;e<l;e++){let o=n+(e-s)/g*25,i=r+p(a[e]);e===s?t.moveTo(o,i):t.lineTo(o,i)}t.stroke()};for(let e=0;e<3;e++){let n=x(e);b(n);for(let o=0;o<4;o++){let s=i[e][o],l=a.left+o*a.col;t.save(),t.beginPath(),t.rect(l,h(e),a.col,a.rowH),t.clip(),v(s,n,l,2.5*o,2.5*o+2.5),t.restore(
1),t.save(),t.fillStyle=r,t.font="600 3.4px system-ui, sans-serif",t.fillText(s,l+1.2,h(e)+4),t.restore()}}let y=x(3);b(y),t.save(),t.beginPath(),t.rect(a.left,h(3),4*a.col,a.rowH),t.clip(),v("II",y,a.left,0,c.durationSec),t.restore(),t.save(),t.fillStyle=r,t.font="600 3.4px system-ui, sans-serif",t.fillText("II",a.left+1.2,h(3)+4),t.font="3px system-ui, sans-serif",t.fillStyle="rgba(1, 20, 81, 0.55)",t.fillText("25 mm/s 10 mm/mV",a.left,l-2.5),t.restore()};n();let o=new ResizeObserver(n);return e.parentElement&&o.observe(e.parentElement),window.addEventListener("resize",n),()=>{o.disconnect(),window.removeEventListener("resize",n)}},[c]),m)?null:(0,n.jsx)("canvas",{ref:d,className:r,style:{width:"100%",display:"block"},role:"img","aria-label":c?"Twelve-lead electrocardiogram showing ".concat(c.diagnosis.toLowerCase(),", from the open PTB-XL dataset."):"Twelve-lead electrocardiogram"})}},30626:function(e,t,r){r.d(t,{UseCaseCard:function(){return s}});var n=r(57437),o=r(27648),i=r(76858),a=r(94508);function s(e){let{category:t,headline:r,description:s,href:l,className:d}=e;return(0,n.jsxs)(o.default,{href:l,className:(0,a.cn)("group relative flex flex-col rounded-lg border border-border bg-surface p-6 transition-all duration-300","hover:border-primary/30 hover:shadow-soft","before:absolute before:inset-0 before:rounded-lg before:bg-gradient-to-r before:from-primary/0 before:via-primary/5 before:to-primary/0 before:opacity-0 before:transition-opacity before:duration-300","hover:before:opacity-100",d),children:[(0,n.jsx)("span",{className:"relative z-10 mb-2 text-xs font-medium uppercase tracking-wider text-primary",children:t}),(0,n.jsx)("h3",{className:"relative z-10 mb-2 text-lg font-semibold text-foreground group-hover:text-primary transition-colors",children:r}),(0,n.jsx)("p",{className:"relative z-10 mb-4 flex-grow text-sm text-foreground-muted",children:s}),(0,n.jsxs)("div",{className:"relative z-10 flex items-center text-sm font-medium text-primary",children:[(0,n.jsx)("span",{children:"Learn more"}),(0,n.jsx)(i.Z,{className:"ml-1 h-4 w-4 transition-transform group-hover:translate-x-1"})]})]})}},94508:function(e,t,r){r.d(t,{cn:function(){return i}});var n=r(61994),o=r(53335);function i(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,o.m6)((0,n.W)(t))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.