:root{--bg: #ffffff;--bg-alt: #f6f8fa;--surface: #ffffff;--border: #e3e8ef;--border-strong: #cbd5e1;--text: #0f1720;--text-muted: #5b6879;--text-faint: #8b97a8;--accent: #0e7490;--accent-bright: #06b6d4;--accent-contrast: #ffffff;--accent-wash: #ecfeff;--ok: #059669;--warn: #b45309;--shadow: 0 1px 2px rgb(15 23 32 / .06), 0 8px 24px -12px rgb(15 23 32 / .18);--radius: 14px;--radius-sm: 9px;--maxw: 1120px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #080b11;--bg-alt: #0d121b;--surface: #111823;--border: #1f2937;--border-strong: #334155;--text: #e6edf3;--text-muted: #9aa8ba;--text-faint: #6b7a8d;--accent: #22d3ee;--accent-bright: #67e8f9;--accent-contrast: #04141a;--accent-wash: #0b2b33;--ok: #34d399;--warn: #fbbf24;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -14px rgb(0 0 0 / .7);color-scheme:dark}}:root[data-theme=dark]{--bg: #080b11;--bg-alt: #0d121b;--surface: #111823;--border: #1f2937;--border-strong: #334155;--text: #e6edf3;--text-muted: #9aa8ba;--text-faint: #6b7a8d;--accent: #22d3ee;--accent-bright: #67e8f9;--accent-contrast: #04141a;--accent-wash: #0b2b33;--ok: #34d399;--warn: #fbbf24;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -14px rgb(0 0 0 / .7);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{line-height:1.2;margin:0 0 .5em;font-weight:650;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.25rem);letter-spacing:-.035em}h2{font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.15rem}p{margin:0 0 1rem}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--accent-bright)}img{max-width:100%;height:auto;display:block}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}code{font-family:var(--mono);font-size:.9em;background:var(--bg-alt);padding:.12em .38em;border-radius:5px}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--accent-contrast);padding:.6rem 1rem;border-radius:0 0 8px;font-weight:600}.skip-link:focus{left:0}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.narrow{max-width:760px}main{display:block;min-height:60vh}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--alt{background:var(--bg-alt);border-block:1px solid var(--border)}.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.lede{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--text-muted);max-width:62ch}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover{background:var(--accent-bright);color:var(--accent-contrast)}.btn--ghost{border-color:var(--border-strong);color:var(--text);background:transparent}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.grid{display:grid;gap:1.25rem}.grid>.reveal{display:flex}.grid>.reveal>*{flex:1 1 auto}.grid--apps{grid-template-columns:repeat(auto-fit,minmax(290px,min(100%,420px)))}.grid--feat{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0,var(--ty, 0),0);transition:border-color .18s ease,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease;will-change:transform}.card.is-tilting{transition:border-color .18s ease,box-shadow .3s ease}.card--link:hover{border-color:var(--app-accent, var(--accent));box-shadow:var(--shadow);--ty: -4px}.card h3{margin-bottom:.3rem}.card p{color:var(--text-muted);font-size:.95rem;margin-bottom:0}.card__top{display:flex;align-items:center;gap:.85rem;margin-bottom:.9rem}.card__foot{margin-top:auto;padding-top:1.1rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.stretch:after{content:"";position:absolute;inset:0;border-radius:inherit}.appicon{width:46px;height:46px;flex:0 0 46px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:1.15rem;background:var(--app-accent, var(--accent));color:#04141a;overflow:hidden}.appicon img{width:100%;height:100%;object-fit:cover}.pill{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-muted);white-space:nowrap}.pill--live{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.pill--beta{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 10%,transparent)}.pill--development{color:var(--text-muted)}.pill--planned{color:var(--text-faint)}.pill--archived{color:var(--text-faint);border-style:dashed}.pill-row{display:flex;gap:.4rem;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.site-header .wrap{display:flex;align-items:center;gap:1rem;height:62px}.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.05rem;color:var(--text);text-decoration:none;letter-spacing:-.02em}.brand:hover{color:var(--text)}.nav{margin-left:auto;display:flex;align-items:center;gap:.35rem}.nav a{color:var(--text-muted);text-decoration:none;font-size:.92rem;font-weight:550;padding:.45rem .7rem;border-radius:8px}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:var(--bg-alt)}.theme-toggle{background:transparent;border:1px solid var(--border);color:var(--text-muted);width:34px;height:34px;border-radius:9px;cursor:pointer;display:grid;place-items:center;margin-left:.35rem}.theme-toggle:hover{color:var(--text);border-color:var(--border-strong)}@media(max-width:640px){.nav a{padding:.4rem .5rem;font-size:.85rem}.brand .brand-name{display:none}}.hero{position:relative;padding-block:clamp(3.5rem,9vw,7rem);overflow:hidden}.hero__inner{position:relative;z-index:2;max-width:760px}.hero .grad{background:linear-gradient(100deg,var(--accent-bright),#a78bfa 65%,#f472b6);-webkit-background-clip:text;background-clip:text;color:transparent}.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.75rem}.hero .lede{max-width:46ch}.hero__wave{position:absolute;top:50%;right:-3%;transform:translateY(-50%);width:min(54%,720px);height:auto;z-index:1;pointer-events:none}@media(max-width:980px){.hero__wave{display:none}}.hero:before{content:"";position:absolute;z-index:0;pointer-events:none;top:-30%;right:-10%;width:70vw;height:70vw;max-width:880px;max-height:880px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%);filter:blur(30px)}.apphero{padding-block:clamp(2.5rem,6vw,4.5rem);border-bottom:1px solid var(--border);background:var(--bg-alt)}.apphero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:start}@media(min-width:860px){.apphero__grid{grid-template-columns:1fr 300px;gap:3rem}}.apphero .appicon{width:72px;height:72px;flex-basis:72px;border-radius:18px;font-size:1.7rem}.sidecard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.sidecard dl{margin:0;display:grid;gap:.8rem}.sidecard dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:700}.sidecard dd{margin:.15rem 0 0;font-size:.92rem}.storebtn{display:inline-flex;align-items:center;gap:.55rem;width:100%;justify-content:center;padding:.7rem 1rem;border-radius:10px;background:var(--text);color:var(--bg);text-decoration:none;font-weight:600;font-size:.92rem}.storebtn:hover{color:var(--bg);opacity:.88}.storebtn+.storebtn{margin-top:.6rem}.shots{display:flex;gap:1.6rem;overflow-x:auto;overflow-y:hidden;padding:3rem 1.25rem 3.5rem;scroll-snap-type:x proximity;perspective:1600px;perspective-origin:50% 45%;scrollbar-width:none}.shots::-webkit-scrollbar{display:none}.phone{position:relative;flex:0 0 auto;width:216px;padding:7px;border-radius:30px;background:linear-gradient(155deg,#38424f,#10161d 60%);box-shadow:0 0 0 1px #ffffff12 inset,0 34px 55px -28px #000000e6,0 8px 20px -12px #0009;scroll-snap-align:center;transform-style:preserve-3d;transform:rotateY(var(--shelf-y, -15deg)) rotateX(2deg) translateZ(0);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}.phone img{display:block;width:100%;border-radius:24px}.phone:after{content:"";position:absolute;inset:7px;border-radius:24px;background:linear-gradient(118deg,rgb(255 255 255 / .09) 0%,rgb(255 255 255 / .02) 22%,transparent 46%);box-shadow:0 0 0 1px #ffffff14 inset;pointer-events:none;transform:translateZ(1px);transition:opacity .6s ease}.phone:hover,.phone:focus-visible{--shelf-y: 0deg;transform:rotateY(0) rotateX(0) translateZ(60px);box-shadow:0 0 0 1px #ffffff1f inset,0 45px 70px -30px #000000f2}.phone:hover:after{opacity:.35}.shots.is-drift{scroll-snap-type:none;cursor:grab}.shots.is-dragging{cursor:grabbing;user-select:none}.shots.is-dragging .phone{transition:none}.shots-ctl{display:flex;justify-content:center;margin-top:-1.5rem}.shots-toggle{font:inherit;font-size:.82rem;letter-spacing:.02em;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;padding:.35rem 1rem;cursor:pointer}.shots-toggle:hover{color:var(--text);border-color:var(--accent)}.shots-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translate3d(0,20px,0);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d, 0ms)}.js .reveal.is-visible{opacity:1;transform:none}.wave-trace{stroke-dasharray:1;stroke-dashoffset:1;animation:wave-draw 2.2s cubic-bezier(.35,.85,.35,1) .25s forwards}.wave-pulse{stroke-dasharray:.05 .95;stroke-dashoffset:1;animation:wave-pulse 5.5s linear 2.4s infinite}.wave-ghost{animation:wave-breathe 7s ease-in-out infinite}}@keyframes wave-draw{to{stroke-dashoffset:0}}@keyframes wave-pulse{to{stroke-dashoffset:0}}@keyframes wave-breathe{0%,to{opacity:.18}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.phone{transform:none;transition:none}.card{transform:none}}.prose{max-width:74ch}.prose h2{margin-top:2.5rem;font-size:1.4rem}.prose h3{margin-top:1.8rem;font-size:1.08rem}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1rem}.prose li{margin-bottom:.45rem}.prose li::marker{color:var(--accent)}.prose table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}.prose th,.prose td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--border);vertical-align:top}.prose th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.table-scroll{overflow-x:auto}.prose blockquote{margin:1.25rem 0;padding:.85rem 1.1rem;border-left:3px solid var(--accent);background:var(--bg-alt);border-radius:0 8px 8px 0;color:var(--text-muted)}.prose blockquote p:last-child{margin-bottom:0}.meta-line{color:var(--text-faint);font-size:.88rem;margin-bottom:2rem}.callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--accent-wash);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.15rem;margin:1.5rem 0;font-size:.93rem}.callout p:last-child{margin-bottom:0}.crumbs{font-size:.85rem;color:var(--text-faint);margin-bottom:1.25rem}.crumbs a{color:var(--text-muted);text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumbs .sep{margin-inline:.4rem}.subnav{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:2rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.subnav a{font-size:.9rem;text-decoration:none;color:var(--text-muted);padding:.35rem .75rem;border-radius:7px;font-weight:550}.subnav a:hover{background:var(--bg-alt);color:var(--text)}.subnav a[aria-current=page]{background:var(--accent);color:var(--accent-contrast)}.site-footer{border-top:1px solid var(--border);background:var(--bg-alt);padding-block:3rem 2rem;margin-top:4rem;font-size:.9rem}.footer__grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.footer__grid h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:.75rem}.footer__grid ul{list-style:none;margin:0;padding:0}.footer__grid li{margin-bottom:.4rem}.footer__grid a{color:var(--text-muted);text-decoration:none}.footer__grid a:hover{color:var(--accent)}.footer__bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-faint);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.center{text-align:center}.muted{color:var(--text-muted)}.small{font-size:.88rem}.mt-2{margin-top:2rem}.pill--paid{color:var(--app-accent, var(--accent));border-color:color-mix(in srgb,var(--app-accent, var(--accent)) 50%,transparent);background:color-mix(in srgb,var(--app-accent, var(--accent)) 12%,transparent)}table.compare{width:100%;max-width:640px;border-collapse:collapse;font-size:.95rem}table.compare th,table.compare td{padding:.7rem .9rem;border-bottom:1px solid var(--border);text-align:center}table.compare th:first-child,table.compare td:first-child{text-align:left;color:var(--text)}table.compare thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}table.compare .compare__paid{color:var(--app-accent, var(--accent));font-weight:600}
