vendor: 14,208 bytes, line 1
1import{r as n,j as e,L as G}from"./main-Be8DfOzT.js";import{B as Q}from"./button-DpkImpRg.js";import{B as Se}from"./badge-CfMx51mn.js";import{S as _}from"./separator-CxsyDRQ9.js";import{f as X,u as $,a as he,c as ee}from"./utils-k_vAkSgt.js";import{C as Me}from"./chevron-down-Bklc_jEO.js";import{u as xe}from"./useControlled-Cgf2NVlB.js";import{a as z,d as te,v as pe,b as Z,f as Ae,u as W}from"./createBaseUIEventDetails-COS_z9-K.js";import{C as Ce,u as Pe}from"./CompositeList-DoJulvJK.js";import{d as Re,g as Ie,h as Oe,T as ae,t as Ee,u as Te,s as Fe,A as fe,j as ge,k as ye,l as be,H as He,E as We,e as Le,m as H,n as De,c as _e}from"./DirectionContext-DXG8P3ja.js";import{c as L}from"./createLucideIcon-DxhPd5GQ.js";import{L as Ye,S as J}from"./server-BK7SIOnY.js";import{D as ie}from"./download-D32myOMZ.js";import{C as le}from"./check-qaBXohaI.js";import{S as qe}from"./shield-check-CdyvPymc.js";import"./index-D7hq8_fD.js";import"./useRender-C0wMvlz-.js";import"./Separator-BaKtQFeQ.js";const Ve=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],de=L("bot",Ve);const Be=[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]],Ue=L("calendar-clock",Be);const ze=[["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25",key:"1jrsq6"}],["path",{d:"m22 22-1.875-1.875",key:"13zax7"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}]],$e=L("calendar-search",ze);const Ke=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],Qe=L("cloud",Ke);const Ge=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]],Je=L("history",Ge);const Ze=[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]],Xe=L("layers",Ze);const et=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],ce=L("terminal",et);const tt=[["path",{d:"M16 17h6v-6",key:"t6n2it"}],["path",{d:"m22 17-8.5-8.5-5 5L2 7",key:"x473p"}]],st=L("trending-down",tt);const rt=[["path",{d:"M12 10v2.2l1.6 1",key:"n3r21l"}],["path",{d:"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05",key:"18k57s"}],["path",{d:"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05",key:"16ny36"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}]],nt=L("watch",rt),ve=n.createContext(void 0);function se(){const r=n.useContext(ve);if(r===void 0)throw new Error(X(10));return r}const ot={value:()=>null},at=n.forwardRef(function(t,o){const{render:E,className:O,disabled:c=!1,hiddenUntilFound:g,keepMounted:I,loopFocus:N=!0,onValueChange:j,multiple:x=!1,orientation:u="vertical",value:w,defaultValue:p,...k}=t,S=Re(),C=n.useMemo(()=>{if(w===void 0)return p??[]},[w,p]),A=z(j),v=n.useRef([]),[y,b]=xe({controlled:w,default:C,name:"Accordion",state:"value"}),d=z((h,F)=>{const f=te(pe);if(x)if(F){const s=y.slice();if(s.push(h),A(s,f),f.isCanceled)return;b(s)}else{const s=y.filter(l=>l!==h);if(A(s,f),f.isCanceled)return;b(s)}else{const s=y[0]===h?[]:[h];if(A(s,f),f.isCanceled)return;b(s)}}),M=n.useMemo(()=>({value:y,disabled:c,orientation:u}),[y,c,u]),P=n.useMemo(()=>({accordionItemRefs:v,direction:S,disabled:c,handleValueChange:d,hiddenUntilFound:g??!1,keepMounted:I??!1,loopFocus:N,orientation:u,state:M,value:y}),[S,c,d,g,I,N,u,M,y]),R=$("div",t,{state:M,ref:o,props:[{dir:S,role:"region"},k],stateAttributesMapping:ot});return e.jsx(ve.Provider,{value:P,children:e.jsx(Ce,{elementsRef:v,children:R})})});function it(r){const{open:t,defaultOpen:o,onOpenChange:E,disabled:O}=r,c=t!==void 0,[g,I]=xe({controlled:t,default:o,name:"Collapsible",state:"open"}),{mounted:N,setMounted:j,transitionStatus:x}=Ie(g,!0,!0),[u,w]=n.useState(g),[{height:p,width:k},S]=n.useState({height:void 0,width:void 0}),C=Z(),[A,v]=n.useState(),y=A??C,[b,d]=n.useState(!1),[M,P]=n.useState(!1),R=n.useRef(null),h=n.useRef(null),F=n.useRef(null),f=n.useRef(null),s=Oe(f,!1),l=z(i=>{const a=!g,m=te(Ae,i.nativeEvent);if(E(a,m),m.isCanceled)return;const T=f.current;h.current==="css-animation"&&T!=null&&T.style.removeProperty("animation-name"),!b&&!M&&(h.current!=null&&h.current!=="css-animation"&&!N&&a&&j(!0),h.current==="css-animation"&&(!u&&a&&w(!0),!N&&a&&j(!0))),I(a),h.current==="none"&&N&&!a&&j(!1)});return W(()=>{c&&h.current==="none"&&!M&&!g&&j(!1)},[c,M,g,t,j]),n.useMemo(()=>({abortControllerRef:R,animationTypeRef:h,disabled:O,handleTrigger:l,height:p,mounted:N,open:g,panelId:y,panelRef:f,runOnceAnimationsFinish:s,setDimensions:S,setHiddenUntilFound:d,setKeepMounted:P,setMounted:j,setOpen:I,setPanelIdState:v,setVisible:w,transitionDimensionRef:F,transitionStatus:x,visible:u,width:k}),[R,h,O,l,p,N,g,y,f,s,S,d,P,j,I,w,F,x,u,k])}const je=n.createContext(void 0);function Ne(){const r=n.useContext(je);if(r===void 0)throw new Error(X(15));return r}const we=n.createContext(void 0);function re(){const r=n.useContext(we);if(r===void 0)throw new Error(X(9));return r}let U=(function(r){return r.open="data-open",r.closed="data-closed",r[r.startingStyle=ae.startingStyle]="startingStyle",r[r.endingStyle=ae.endingStyle]="endingStyle",r})({}),lt=(function(r){return r.panelOpen="data-panel-open",r})({});const dt={[U.open]:""},ct={[U.closed]:""},ut={open(r){return r?{[lt.panelOpen]:""}:null}},mt={open(r){return r?dt:ct}};let ht=(function(r){return r.index="data-index",r.disabled="data-disabled",r.open="data-open",r})({});const ne={...mt,index:r=>Number.isInteger(r)?{[ht.index]:String(r)}:null,...Ee,value:()=>null},xt=n.forwardRef(function(t,o){const{className:E,disabled:O=!1,onOpenChange:c,render:g,value:I,...N}=t,{ref:j,index:x}=Pe(),u=he(o,j),{disabled:w,handleValueChange:p,state:k,value:S}=se(),C=Z(),A=I??C,v=O||w,y=n.useMemo(()=>{if(!S)return!1;for(let l=0;l<S.length;l+=1)if(S[l]===A)return!0;return!1},[S,A]),b=z((l,i)=>{c?.(l,i),!i.isCanceled&&p(A,l)}),d=it({open:y,onOpenChange:b,disabled:v}),M=n.useMemo(()=>({open:d.open,disabled:d.disabled,hidden:!d.mounted,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.mounted,d.transitionStatus]),P=n.useMemo(()=>({...d,onOpenChange:b,state:M}),[d,M,b]),R=n.useMemo(()=>({...k,index:x,disabled:v,open:y}),[v,x,y,k]),[h,F]=n.useState(Z()),f=n.useMemo(()=>({open:y,state:R,setTriggerId:F,triggerId:h}),[y,R,F,h]),s=$("div",t,{state:R,ref:u,props:N,stateAttributesMapping:ne});return e.jsx(je.Provider,{value:P,children:e.jsx(we.Provider,{value:f,children:s})})}),pt=n.forwardRef(function(t,o){const{render:E,className:O,...c}=t,{state:g}=re();return $("h3",t,{state:g,ref:o,props:c,stateAttributesMapping:ne})});function ue(r){return r==null||r.hasAttribute("disabled")||r.getAttribute("aria-disabled")==="true"}const ft=new Set([fe,ge,ye,be,He,We]);function gt(r){const{current:t}=r,o=[];for(let E=0;E<t.length;E+=1){const O=t[E];if(!ue(O)){const c=O?.querySelector('[type="button"], [role="button"]');c&&!ue(c)&&o.push(c)}}return o}const yt=n.forwardRef(function(t,o){const{disabled:E,className:O,id:c,render:g,nativeButton:I=!0,...N}=t,{panelId:j,open:x,handleTrigger:u,disabled:w}=Ne(),p=E??w,{getButtonProps:k,buttonRef:S}=Te({disabled:p,focusableWhenDisabled:!0,native:I}),{accordionItemRefs:C,direction:A,loopFocus:v,orientation:y}=se(),b=A==="rtl",d=y==="horizontal",{state:M,setTriggerId:P,triggerId:R}=re();W(()=>(c&&P(c),()=>{P(void 0)}),[c,P]);const h=n.useMemo(()=>({"aria-controls":x?j:void 0,"aria-expanded":x,id:R,onClick:u,onKeyDown(f){if(!ft.has(f.key))return;Fe(f);const s=gt(C),i=s.length-1;let a=-1;const m=s.indexOf(f.target);function T(){v?a=m+1>i?0:m+1:a=Math.min(m+1,i)}function D(){v?a=m===0?i:m-1:a=m-1}switch(f.key){case fe:d||T();break;case ge:d||D();break;case ye:d&&(b?D():T());break;case be:d&&(b?T():D());break;case"Home":a=0;break;case"End":a=i;break}a>-1&&s[a].focus()}}),[C,u,R,d,b,v,x,j]);return $("button",t,{state:M,ref:[o,S],props:[h,N,k],stateAttributesMapping:ut})});let bt=(function(r){return r.disabled="data-disabled",r.orientation="data-orientation",r})({});function vt(r){const{abortControllerRef:t,animationTypeRef:o,externalRef:E,height:O,hiddenUntilFound:c,keepMounted:g,id:I,mounted:N,onOpenChange:j,open:x,panelRef:u,runOnceAnimationsFinish:w,setDimensions:p,setMounted:k,setOpen:S,setVisible:C,transitionDimensionRef:A,visible:v,width:y}=r,b=n.useRef(!1),d=n.useRef(null),M=n.useRef(x),P=n.useRef(x),R=Le(),h=n.useMemo(()=>o.current==="css-animation"?!v:!x&&!N,[x,N,v,o]),F=z(s=>{if(!s)return;if(o.current==null||A.current==null){const a=getComputedStyle(s),m=a.animationName!=="none"&&a.animationName!=="",T=a.transitionDuration!=="0s"&&a.transitionDuration!=="";m&&T||(a.animationName==="none"&&a.transitionDuration!=="0s"?o.current="css-transition":a.animationName!=="none"&&a.transitionDuration==="0s"?o.current="css-animation":o.current="none"),s.getAttribute(bt.orientation)==="horizontal"||a.transitionProperty.indexOf("width")>-1?A.current="width":A.current="height"}if(o.current!=="css-transition")return;(O===void 0||y===void 0)&&(p({height:s.scrollHeight,width:s.scrollWidth}),P.current&&s.style.setProperty("transition-duration","0s"));let l=-1,i=-1;return l=H.request(()=>{P.current=!1,i=H.request(()=>{setTimeout(()=>{s.style.removeProperty("transition-duration")})})}),()=>{H.cancel(l),H.cancel(i)}}),f=he(E,u,F);return W(()=>{if(o.current!=="css-transition")return;const s=u.current;if(!s)return;let l=-1;if(t.current!=null&&(t.current.abort(),t.current=null),x){const i={"justify-content":s.style.justifyContent,"align-items":s.style.alignItems,"align-content":s.style.alignContent,"justify-items":s.style.justifyItems};Object.keys(i).forEach(a=>{s.style.setProperty(a,"initial","important")}),!P.current&&!g&&s.setAttribute(U.startingStyle,""),p({height:s.scrollHeight,width:s.scrollWidth}),l=H.request(()=>{Object.entries(i).forEach(([a,m])=>{m===""?s.style.removeProperty(a):s.style.setProperty(a,m)})})}else{if(s.scrollHeight===0&&s.scrollWidth===0)return;p({height:s.scrollHeight,width:s.scrollWidth});const i=new AbortController;t.current=i;const a=i.signal;let m=null;const T=U.endingStyle;return m=new MutationObserver(D=>{D.some(K=>K.type==="attributes"&&K.attributeName===T)&&(m?.disconnect(),m=null,w(()=>{p({height:0,width:0}),s.style.removeProperty("content-visibility"),k(!1),t.current===i&&(t.current=null)},a))}),m.observe(s,{attributes:!0,attributeFilter:[T]}),()=>{m?.disconnect(),R.cancel(),t.current===i&&(i.abort(),t.current=null)}}return()=>{H.cancel(l)}},[t,o,R,c,g,N,x,u,w,p,k]),W(()=>{if(o.current!=="css-animation")return;const s=u.current;s&&(d.current=s.style.animationName||d.current,s.style.setProperty("animation-name","none"),p({height:s.scrollHeight,width:s.scrollWidth}),!M.current&&!b.current&&s.style.removeProperty("animation-name"),x?(t.current!=null&&(t.current.abort(),t.current=null),k(!0),C(!0)):(t.current=new AbortController,w(()=>{k(!1),C(!1),t.current=null},t.current.signal)))},[t,o,x,u,w,p,k,C,v]),De(()=>{const s=H.request(()=>{M.current=!1});return()=>H.cancel(s)}),W(()=>{if(!c)return;const s=u.current;if(!s)return;let l=-1,i=-1;return x&&b.current&&(s.style.transitionDuration="0s",p({height:s.scrollHeight,width:s.scrollWidth}),l=H.request(()=>{b.current=!1,i=H.request(()=>{setTimeout(()=>{s.style.removeProperty("transition-duration")})})})),()=>{H.cancel(l),H.cancel(i)}},[c,x,u,p]),W(()=>{const s=u.current;s&&c&&h&&(s.setAttribute("hidden","until-found"),o.current==="css-transition"&&s.setAttribute(U.startingStyle,""))},[c,h,o,u]),n.useEffect(function(){const l=u.current;if(!l)return;function i(a){b.current=!0,S(!0),j(!0,te(pe,a))}return l.addEventListener("beforematch",i),()=>{l.removeEventListener("beforematch",i)}},[j,u,S]),n.useMemo(()=>({props:{hidden:h,id:I,ref:f}}),[h,I,f])}let me=(function(r){return r.accordionPanelHeight="--accordion-panel-height",r.accordionPanelWidth="--accordion-panel-width",r})({});const jt=n.forwardRef(function(t,o){const{className:E,hiddenUntilFound:O,keepMounted:c,id:g,render:I,...N}=t,{hiddenUntilFound:j,keepMounted:x}=se(),{abortControllerRef:u,animationTypeRef:w,height:p,mounted:k,onOpenChange:S,open:C,panelId:A,panelRef:v,runOnceAnimationsFinish:y,setDimensions:b,setHiddenUntilFound:d,setKeepMounted:M,setMounted:P,setOpen:R,setVisible:h,transitionDimensionRef:F,visible:f,width:s,setPanelIdState:l,transitionStatus:i}=Ne(),a=O??j,m=c??x;W(()=>{if(g)return l(g),()=>{l(void 0)}},[g,l]),W(()=>{d(a)},[d,a]),W(()=>{M(m)},[M,m]),_e({open:C&&i==="idle",ref:v,onComplete(){C&&b({width:void 0,height:void 0})}});const{props:T}=vt({abortControllerRef:u,animationTypeRef:w,externalRef:o,height:p,hiddenUntilFound:a,id:g??A,keepMounted:m,mounted:k,onOpenChange:S,open:C,panelRef:v,runOnceAnimationsFinish:y,setDimensions:b,setMounted:P,setOpen:R,setVisible:h,transitionDimensionRef:F,visible:f,width:s}),{state:D,triggerId:oe}=re(),K=n.useMemo(()=>({...D,transitionStatus:i}),[D,i]),ke=$("div",t,{state:K,ref:[o,v],props:[T,{"aria-labelledby":oe,role:"region",style:{[me.accordionPanelHeight]:p===void 0?"auto":`${p}px`,[me.accordionPanelWidth]:s===void 0?"auto":`${s}px`}},N],stateAttributesMapping:ne});return m||a||!m&&k?ke:null});function Nt(r){return e.jsx(at,{"data-slot":"accordion",...r})}function q({className:r,...t}){return e.jsx(xt,{className:ee("border-b last:border-b-0",r),"data-slot":"accordion-item",...t})}function V({className:r,children:t,...o}){return e.jsx(pt,{className:"flex",children:e.jsxs(yt,{className:ee("flex flex-1 cursor-pointer items-start justify-between gap-4 roun
1ded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180",r),"data-slot":"accordion-trigger",...o,children:[t,e.jsx(Me,{className:"pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out","data-slot":"accordion-indicator"})]})})}function B({className:r,children:t,...o}){return e.jsx(jt,{className:"h-(--accordion-panel-height) overflow-hidden text-muted-foreground text-sm transition-[height] duration-200 ease-in-out data-ending-style:h-0 data-starting-style:h-0","data-slot":"accordion-panel",...o,children:e.jsx("div",{className:ee("pt-0 pb-4",r),children:t})})}function qt(){const r=t=>{document.getElementById(t)?.scrollIntoView({behavior:"smooth"})};return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(160deg, var(--sm-surface-raised) 0%, var(--sm-base) 100%)"}}),e.jsx("div",{className:"pointer-events-none absolute top-[-80px] left-1/2 -translate-x-1/2 w-[480px] h-[480px]",style:{background:"radial-gradient(circle, var(--sm-score-glow) 0%, transparent 65%)"}}),e.jsxs("div",{className:"relative max-w-[960px] mx-auto px-6 py-24 lg:py-40 text-center",children:[e.jsx("p",{className:"text-xs font-semibold tracking-[0.12em] uppercase text-primary mb-4",children:"Your sleep data, finally yours"}),e.jsxs("h1",{className:"font-display font-normal leading-tight tracking-[0.01em] text-foreground mb-6",style:{fontSize:"clamp(2.25rem, 6vw, 4rem)"},children:["Years of Sleep Data.",e.jsx("br",{}),e.jsx("em",{className:"italic text-primary",children:"All of It, Yours."})]}),e.jsx("p",{className:"text-lg text-muted-foreground max-w-[520px] mx-auto mb-8 leading-relaxed",children:"Apple Health shows six months and locks the rest away. Sleep Matter keeps your full record â every year you have worn the watch â yours to read, export, and hand to your own AI agents."}),e.jsxs("div",{className:"flex flex-wrap gap-3 justify-center",children:[e.jsx(Q,{size:"lg",disabled:!0,children:"Coming Soon"}),e.jsx(Q,{variant:"outline",size:"lg",onClick:()=>r("how-it-works"),children:"How It Works"})]})]})]}),e.jsx(_,{}),e.jsx("section",{className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"The Problem"}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:[{icon:e.jsx(Ue,{className:"w-6 h-6 text-destructive"}),title:"Six months, then nothing",body:"You have worn the watch for years. Health shows the last six. Everything older sits on the device, out of reach."},{icon:e.jsx(Ye,{className:"w-6 h-6 text-destructive"}),title:"Locked in the garden",body:"Your sleep lives inside Appleâs apps. There is no clean way to pull it out or send it somewhere useful."},{icon:e.jsx(Xe,{className:"w-6 h-6 text-destructive"}),title:"One card among dozens",body:"Sleep is buried under steps, calories, and noise. Nothing answers the question that matters: am I falling behind?"}].map(t=>e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6",children:[e.jsx("div",{className:"w-12 h-12 bg-[var(--sm-error-muted)] rounded-lg flex items-center justify-center mb-4",children:t.icon}),e.jsx("h3",{className:"font-semibold text-foreground mb-2",children:t.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-normal",children:t.body})]},t.title))})]})}),e.jsx(_,{}),e.jsx("section",{id:"features",className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"Own Your History"}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 mb-16 items-center",children:[e.jsxs("div",{className:"flex flex-col justify-center",children:[e.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-3",children:"Jump to Any Week â 2022 or Last Tuesday"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Pick any date in y
1our record and see when you actually slept â the naps, the shifts, the 3am wake-ups. The real sessions, not a tidy summary."})]}),e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4 text-foreground",children:[e.jsx($e,{className:"w-5 h-5 text-primary"}),e.jsx("span",{className:"font-semibold text-sm",children:"What you will find"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:["Naps","Shift sleep","Fragmented sessions","Every date, back to day one"].map(t=>e.jsx("span",{className:"text-sm px-3 py-1.5 rounded-lg text-foreground",style:{background:"var(--sm-primary-muted)"},children:t},t))})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 mb-16 items-center",children:[e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 order-2 md:order-1",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4 text-foreground",children:[e.jsx(st,{className:"w-5 h-5 text-[var(--sm-warning)]"}),e.jsx("span",{className:"font-semibold text-sm",children:"A slow slide, made visible"})]}),e.jsx("div",{className:"flex flex-col gap-3",children:[{label:"This week",tone:"var(--sm-warning)",word:"Falling behind"},{label:"Last week",tone:"var(--sm-success)",word:"On track"},{label:"This month",tone:"var(--sm-primary)",word:"Trending down"}].map(t=>e.jsxs("div",{className:"flex items-center justify-between p-3 rounded-lg",style:{background:"var(--sm-surface-overlay)"},children:[e.jsx("span",{className:"text-sm text-foreground",children:t.label}),e.jsx("span",{className:"text-sm font-medium",style:{color:t.tone},children:t.word})]},t.label))})]}),e.jsxs("div",{className:"flex flex-col justify-center order-1 md:order-2",children:[e.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-3",children:"Catch Sleep Debt Before It Floors You"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"A slow slide across weeks never shows up in a single session. Sleep Matter tracks the trend, so the crash stops ambushing you."})]})]}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 items-center",children:[e.jsxs("div",{className:"flex flex-col justify-center",children:[e.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-3",children:"Leave Anytime, Take Everything"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Export your whole record as a single file, or pull it over a clean API. Or self-host the open-source backend â so it was never ours to hold onto."})]}),e.jsx("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 flex flex-col gap-3",children:[{icon:e.jsx(ie,{className:"w-5 h-5 text-primary"}),label:"Export the whole record as CSV"},{icon:e.jsx(ce,{className:"w-5 h-5 text-primary"}),label:"Pull it over a clean API"},{icon:e.jsx(J,{className:"w-5 h-5 text-primary"}),label:"Or run the backend yourself"}].map(t=>e.jsxs("div",{className:"flex items-center gap-3 p-3 rounded-lg",style:{background:"var(--sm-primary-muted)"},children:[t.icon,e.jsx("span",{className:"text-sm text-foreground",children:t.label})]},t.label))})]})]})}),e.jsx(_,{}),e.jsx("section",{id:"pricing",className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"Pricing"}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:[{name:"Free",price:"Free",note:"Your most recent year, in the cloud",features:["One year of history","Twice what Apple Health shows","Trends, export, and API access"],highlight:!1},{name:"Full History",price:"Paid",note:"Everything you have ever tracked",features:["Every year, no cap","One-time backfill of your whole record","Everything in Free"],highlight:!0},{name:"Self-Host",price:"Free, open source",note:"Run the backend on your own server",features:["Your data never touches our cloud","Open-source SQLite backend","The same app, your infrastructure"],highlight:!1}].map(t=>e.jsxs("div",{className:`rounded-xl p-6 flex flex-col ${t.highlight?"bg-[var(--sm-surface-raised)] border-2 border-[var(--sm-primary)] shadow-[var(--sm-shadow-glow)]":"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)]"}`,children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("h3",{className:"font-semibold text-foreground",children:t.name}),t.highlight&&e.jsx(Se,{children:"Most history"})]}),e.jsx("div",{className:"font-display font-normal leading-tight text-3xl text-foreground mb-1",children:t.price}),e.jsx("p",{className:"text-sm text-muted-foreground mb-5",children:t.note}),e.jsx("ul",{className:"flex flex-col gap-3 flex-1",children:t.features.map(o=>e.jsxs("li",{className:"flex items-start gap-2 text-sm text-foreground",children:[e.jsx(le,{className:"w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0"}),e.jsx("span",{children:o})]},o))})]},t.name))}),e.jsx("p",{className:"text-xs text-muted-foreground text-center mt-6",children:"Final pricing lands at launch. Self-host is free and open source, always."})]})}),e.jsx(_,{}),e.jsx("section",{id:"developers",className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"For Developers & Agents"}),e.jsxs("div",{className:"grid md:grid-cols-2 gap-4 mb-16 items-center",children:[e.jsxs("div",{className:"flex flex-col justify-center",children:[e.jsx("h3",{className:"text-2xl font-semibold text-foreground mb-3",children:"Point Your Agent at Your Sleep"}),e.jsx("p",{className:"text-muted-foreground leading-relaxed",children:"Your sleep state and history sit behind a simple API. Let your own agent read it â so it knows when you are likely awake, when to hold your notifications, when to fire a workflow. We expose the signal. You decide what it does."})]}),e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4 text-foreground",children:[e.jsx(ce,{className:"w-5 h-5 text-primary"}),e.jsx("span",{className:"font-semibold text-sm",children:"What the API exposes"})]}),e.jsx("div",{className:"flex flex-col gap-3",children:["Whether you are likely awake or asleep, right now","How long it has been since you last slept","Your long-term history, queryable by date"].map(t=>e.jsxs("div",{className:"flex items-start gap-2 text-sm text-foreground",children:[e.jsx(le,{className:"w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0"}),e.jsx("span",{children:t})]},t))})]})]}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:[{icon:e.jsx(de,{className:"w-6 h-6 text-primary"}),title:"No advice baked in",body:"We hand over the raw signal, not a verdict. The judgment is your modelâs to make."},{icon:e.jsx(J,{className:"w-6 h-6 text-primary"}),title:"Open-source backend",body:"Donât want our cloud? Run the open-source backend yourself. Same API, your infrastru
1cture."},{icon:e.jsx(Qe,{className:"w-6 h-6 text-primary"}),title:"Cloud when you want it",body:"Or let us host it. Either way the contract is identical and your data stays portable."}].map(t=>e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg flex items-center justify-center mb-4",style:{background:"var(--sm-primary-muted)"},children:t.icon}),e.jsx("h3",{className:"font-semibold text-foreground mb-2",children:t.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-normal",children:t.body})]},t.title))})]})}),e.jsx(_,{}),e.jsx("section",{id:"how-it-works",className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"How It Works"}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4",children:[{icon:e.jsx(nt,{className:"w-8 h-8"}),title:"Wear Your Apple Watch",desc:"Nothing to log. Sleep Matter reads the data your watch already records while you sleep."},{icon:e.jsx(Je,{className:"w-8 h-8"}),title:"Pull In Your History",desc:"Sync your most recent year free, or your entire record. Our cloud, or your own server."},{icon:e.jsx(de,{className:"w-8 h-8"}),title:"Read It or Query It",desc:"Follow the trend yourself, export the raw data, or point an AI agent at the API."}].map((t,o)=>e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-14 h-14 rounded-full mb-4",style:{background:"var(--sm-primary-muted)"},children:e.jsx("span",{className:"text-primary",children:t.icon})}),e.jsxs("div",{className:"font-display font-normal leading-tight text-3xl text-[var(--sm-border)] mb-3",children:["0",o+1]}),e.jsx("h3",{className:"font-semibold text-foreground mb-2",children:t.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-normal",children:t.desc})]},o))})]})}),e.jsx(_,{}),e.jsx("section",{className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[960px] mx-auto",children:[e.jsx(Y,{children:"Your Data, Your Rules"}),e.jsx("div",{className:"grid md:grid-cols-3 gap-4 mb-8",children:[{icon:e.jsx(ie,{className:"w-6 h-6 text-primary"}),title:"Export or delete, anytime",body:"Pull your full record out as a file, or wipe it for good. No retention games, no friction."},{icon:e.jsx(J,{className:"w-6 h-6 text-primary"}),title:"Run it yourself",body:"The backend is open source. Self-host it and your health data never touches our servers."},{icon:e.jsx(qe,{className:"w-6 h-6 text-primary"}),title:"Yours, not Appleâs",body:"The whole point is ownership: your record, out of the six-month wall, free to go where you want."}].map(t=>e.jsxs("div",{className:"bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6",children:[e.jsx("div",{className:"w-12 h-12 rounded-lg flex items-center justify-center mb-4",style:{background:"var(--sm-primary-muted)"},children:t.icon}),e.jsx("h3",{className:"font-semibold text-foreground mb-2",children:t.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-normal",children:t.body})]},t.title))}),e.jsx("div",{className:"text-center",children:e.jsx(Q,{variant:"outline",render:e.jsx(G,{to:"/privacy"}),children:"Read Our Full Privacy Policy"})})]})}),e.jsx(_,{}),e.jsx("section",{id:"faq",className:"py-24 px-6",children:e.jsxs("div",{className:"max-w-[700px] mx-auto",children:[e.jsx(Y,{children:"FAQ"}),e.jsxs(Nt,{className:"w-full",children:[e.jsxs(q,{value:"item-1",children:[e.jsx(V,{children:"Do I need an Apple Watch?"}),e.jsx(B,{children:"Yes. Sleep Matter reads the sleep, heart rate, and movement data your Apple Watch already records. Without it, there is no history to pull in."})]}),e.jsxs(q,{value:"item-2",children:[e.jsx(V,{children:"How is this different from another sleep-score app?"}),e.jsx(B,{children:"It does not grade your sleep or tell you what to do. It gives you back your full record â to read, export, or query from your own AI agents. You, or your agent, decide what it means."})]}),e.jsxs(q,{value:"item-3",children:[e.jsx(V,{children:"Where does my data live?"}),e.jsx(B,{children:"In our cloud if you use the hosted service, or entirely on your own server if you run the open-source backend. Either way you can export everything or delete it at any time, and the open-source code lets you verify exactly what happens to it."})]}),e.jsxs(q,{value:"item-4",children:[e.jsx(V,{children:"What is free and what is paid?"}),e.jsx(B,{children:"Syncing your most recent year is free â already twice what Apple Health shows. Backfilling your entire history is a paid upgrade. Self-hosting the open-source backend is free, always."})]}),e.jsxs(q,{value:"item-5",children:[e.jsx(V,{children:"When can I get Sleep Matter?"}),e.jsx(B,{children:"Coming soon. We are finishing the app and the history backfill, and will share availability here shortly."})]})]})]})}),e.jsx(_,{}),e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0",style:{background:"linear-gradient(160deg, var(--sm-surface-raised) 0%, var(--sm-base) 100%)"}}),e.jsx("div",{className:"pointer-events-none absolute top-[-40px] left-1/2 -translate-x-1/2 w-[320px] h-[320px]",style:{background:"radial-gradient(circle, var(--sm-score-glow) 0%, transparent 65%)"}}),e.jsxs("div",{className:"relative max-w-[960px] mx-auto px-6 py-24 text-center",children:[e.jsx("h2",{className:"text-3xl font-semibold text-foreground mb-4",children:"Take Back Your Sleep Data"}),e.jsx("p",{className:"text-lg text-muted-foreground mb-8 max-w-[460px] mx-auto",children:"Years of it, out of the walled garden and into your hands. Launching soon."}),e.jsx(Q,{size:"lg",disabled:!0,children:"Coming Soon"})]})]}),e.jsx("footer",{className:"border-t border-[var(--sm-border-subtle)] py-12 px-6",
1style:{background:"var(--sm-surface)"},children:e.jsx("div",{className:"max-w-[960px] mx-auto",children:e.jsxs("div",{className:"grid md:grid-cols-4 gap-8 mb-8",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("img",{src:"/logo192.png",alt:"Sleep Matter",className:"w-8 h-8 rounded-lg"}),e.jsxs("span",{className:"font-display text-xl tracking-[0.01em] text-foreground",children:["Sleep",e.jsx("span",{className:"text-primary",children:"Matter"})]})]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["© 2026 Sleep Matter Inc.",e.jsx("br",{}),"All rights reserved."]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground text-sm mb-4",children:"Product"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsx("li",{children:e.jsx("a",{href:"#features",className:"hover:text-foreground transition-colors duration-150",children:"Features"})}),e.jsx("li",{children:e.jsx("a",{href:"#pricing",className:"hover:text-foreground transition-colors duration-150",children:"Pricing"})}),e.jsx("li",{children:e.jsx("a",{href:"#developers",className:"hover:text-foreground transition-colors duration-150",children:"Developers"})}),e.jsx("li",{children:e.jsx("a",{href:"#faq",className:"hover:text-foreground transition-colors duration-150",children:"FAQ"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground text-sm mb-4",children:"Company"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsx("li",{children:e.jsx("a",{href:"#",className:"hover:text-foreground transition-colors duration-150",children:"About Us"})}),e.jsx("li",{children:e.jsx("a",{href:"#",className:"hover:text-foreground transition-colors duration-150",children:"Blog"})}),e.jsx("li",{children:e.jsx("a",{href:"mailto:[email protected]",className:"hover:text-foreground transition-colors duration-150",children:"Contact"})})]})]}),e.jsxs("div",{children:[e.jsx("h4",{className:"font-semibold text-foreground text-sm mb-4",children:"Legal"}),e.jsxs("ul",{className:"space-y-2 text-sm text-muted-foreground",children:[e.jsx("li",{children:e.jsx(G,{to:"/privacy",className:"hover:text-foreground transition-colors duration-150",children:"Privacy Policy"})}),e.jsx("li",{children:e.jsx(G,{to:"/terms",className:"hover:text-foreground transition-colors duration-150",children:"Terms of Service"})})]})]})]})})})]})}function Y({children:r}){return e.jsx("div",{className:"text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]",children:r})}export{qt as component};
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.