/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-family:sans-serif}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{vertical-align:baseline;display:inline-block}audio:not([controls]){height:0;display:none}[hidden],template{display:none}a{background-color:#0000}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}:root{color-scheme:light dark;--bg:#f6f8f8;--bg-elevated:#fff;--surface:#ffffffd1;--text:#0c1a1a;--muted:#4b5b5d;--border:#0c1a1a17;--accent:var(--accent-light,#4f46e5);--glow:#1fb6cf;--on-accent:#fff;--shadow:0 1px 2px #0c1a1a0d, 0 12px 32px -12px #0c1a1a2e;--shadow-lg:0 2px 6px #0c1a1a0f, 0 40px 80px -24px #0c282859;--radius:18px;--ease:cubic-bezier(.2, .7, .2, 1);--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#070b0d;--bg-elevated:#10171a;--surface:#121b1ec7;--text:#e8eff0;--muted:#97a7aa;--border:#ffffff14;--accent:var(--accent-dark,#a5b4fc);--glow:#38d9f5;--on-accent:#06100f;--shadow:0 1px 2px #0006, 0 12px 32px -12px #0009;--shadow-lg:0 2px 6px #0006, 0 40px 80px -24px #000c}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}a{color:var(--accent);text-underline-offset:3px}img{max-width:100%;height:auto}h1,h2,h3{letter-spacing:-.025em;line-height:1.12}h2{margin:0 0 32px;font-size:clamp(1.7rem,3.6vw,2.5rem);font-weight:700}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:10;top:16px;left:16px}.site-header{z-index:5;border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s,box-shadow .3s;position:sticky;top:0}.site-header.is-scrolled,html:not(.js) .site-header{background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(1.6)blur(16px);border-bottom-color:var(--border)}.header-inner,.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.header-inner{min-height:64px}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand img{border-radius:7px}.site-header nav,.site-footer nav{flex-wrap:wrap;gap:4px 22px;display:flex}.site-header nav a,.site-footer nav a{color:var(--muted);font-size:.94rem;font-weight:500;text-decoration:none;transition:color .2s}.site-header nav a:hover,.site-footer nav a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:32px 0;font-size:.9rem}.actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px;display:flex}.btn{min-height:48px;transition:transform .2s var(--ease), box-shadow .2s ease, background-color .2s ease;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 24px -8px color-mix(in srgb, var(--accent) 70%, transparent)}.btn-primary:hover{box-shadow:0 14px 32px -10px color-mix(in srgb, var(--accent) 80%, transparent)}.btn-ghost{border:1px solid var(--border);color:var(--text);background:var(--surface);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.store-badge{border-radius:10px;line-height:0;display:inline-block}.store-badge img{height:var(--badge-h);width:auto}.hero{isolation:isolate;padding:56px 0 72px;position:relative}.hero-bg{z-index:-1;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:56px 56px;position:absolute;inset:-64px 0 0;overflow:hidden;-webkit-mask-image:radial-gradient(80% 70% at 60% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(80% 70% at 60% 30%,#000 20%,#0000 75%)}.glow{filter:blur(80px);opacity:.45;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.glow-a{background:var(--glow);width:520px;height:520px;top:-120px;right:4%}.glow-b{background:var(--accent);opacity:.3;width:440px;height:440px;animation-delay:-9s;top:160px;left:-80px}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-40px,50px)scale(1.12)}}.hero-grid{grid-template-columns:minmax(0,1fr);align-items:center;gap:56px;display:grid}@media (width>=960px){.hero{padding:88px 0 104px}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px}}.hero-copy>*{animation:rise .9s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.18s}.hero-copy>:nth-child(5){animation-delay:.24s}.hero-copy>:nth-child(6){animation-delay:.3s}.hero-visual{animation:rise 1.1s .25s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.hero-icon{box-shadow:0 18px 48px -12px color-mix(in srgb, var(--glow) 55%, transparent), var(--shadow);border-radius:22px;display:block}.eyebrow{color:var(--accent);letter-spacing:.01em;margin:24px 0 12px;font-size:.94rem;font-weight:600}.hero h1{letter-spacing:-.04em;margin:0 0 20px;font-size:clamp(2.6rem,5.4vw,4.4rem);font-weight:800;line-height:1.02}.text-gradient{background:linear-gradient(100deg, var(--accent) 10%, var(--glow) 55%, var(--accent) 100%);color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite shimmer}@keyframes shimmer{to{background-position:-200%}}.lead{max-width:54ch;color:var(--muted);margin:0;font-size:clamp(1.06rem,1.6vw,1.2rem)}.notes{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:28px 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.notes li{align-items:center;gap:8px;display:inline-flex}.notes .icon{color:var(--accent);flex:none}.demo{margin:0}.demo-window{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);border-radius:16px;position:relative;overflow:hidden}@media (width>=960px){.demo-window{transition:transform .8s var(--ease);transform:perspective(1600px)rotateY(-8deg)rotateX(3deg)}.demo-window:hover{transform:perspective(1600px)rotateY(-3deg)rotateX(1deg)}}.demo-titlebar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 60%, var(--bg-elevated));align-items:center;gap:8px;padding:14px 16px;display:flex}.demo-titlebar .dot{background:#ff5f57;border-radius:50%;width:12px;height:12px}.demo-titlebar .dot:nth-child(2){background:#febc2e}.demo-titlebar .dot:nth-child(3){background:#28c840}.demo-title{color:var(--muted);margin-left:10px;font-size:.82rem;font-weight:500}.demo-body{min-height:250px;padding:28px 28px 72px;position:relative}.demo-text{margin:0;font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.65;display:grid}.demo-before,.demo-after{grid-area:1/1;transition:opacity .45s,filter .45s}.demo-before{opacity:0}.demo-after mark{color:inherit;background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--accent) 70%, transparent);border-radius:5px;margin:0 -3px;padding:1px 3px}.sel{border-radius:3px;transition:background-color .35s}.caret{vertical-align:text-bottom;background:var(--accent);width:2px;height:1.2em;margin-left:2px;animation:1s step-end infinite blink;display:none}@keyframes blink{50%{opacity:0}}.demo-menu{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(20px);min-width:164px;box-shadow:var(--shadow);opacity:0;transform-origin:0 0;transition:opacity .2s ease, transform .25s var(--ease);pointer-events:none;border-radius:10px;padding:5px;font-size:.85rem;display:grid;position:absolute;top:120px;left:44%;transform:scale(.96)translateY(-4px)}.demo-menu span{border-radius:5px;justify-content:space-between;padding:4px 10px;display:flex}.demo-menu hr{border:0;border-top:1px solid var(--border);width:100%;margin:4px 0}.demo-menu i{color:var(--muted);font-style:normal}.demo-menu .is-open,.demo-submenu .is-active{background:var(--accent);color:var(--on-accent)}.demo-menu .is-open i{color:inherit}.demo-submenu{border:1px solid var(--border);background:var(--bg-elevated);min-width:128px;box-shadow:var(--shadow);border-radius:10px;padding:5px;position:absolute;top:74px;left:calc(100% - 4px)}.demo-status{font-size:.85rem;font-weight:600;display:grid;position:absolute;bottom:24px;left:28px}.demo-status>span{opacity:0;transition:opacity .3s ease, transform .3s var(--ease);border-radius:999px;grid-area:1/1;justify-self:start;align-items:center;gap:8px;padding:6px 12px;display:inline-flex;transform:translateY(6px)}.status-working{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.status-done{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}[data-state=idle] .demo-before,[data-state=selected] .demo-before,[data-state=menu] .demo-before,[data-state=working] .demo-before{opacity:1}[data-state=idle] .demo-after,[data-state=selected] .demo-after,[data-state=menu] .demo-after,[data-state=working] .demo-after{opacity:0;filter:blur(4px)}[data-state=idle] .caret{display:inline-block}[data-state=selected] .sel,[data-state=menu] .sel,[data-state=working] .sel{background:color-mix(in srgb, var(--glow) 28%, transparent)}[data-state=working] .demo-before{opacity:.45;filter:blur(1px)}[data-state=menu] .demo-menu,[data-state=working] .status-working,[data-state=done] .status-done{opacity:1;transform:none}.demo .caption{margin-top:18px}.caption{color:var(--muted);margin:12px 0 0;font-size:.86rem}.section{padding:64px 16px}@media (width>=960px){.section{padding:88px 16px}}.kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:700}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .35s var(--ease), border-color .35s ease, box-shadow .35s ease;padding:28px;position:relative;overflow:hidden}.card:before{content:"";background:radial-gradient(400px circle at 0% 0%, color-mix(in srgb, var(--glow) 12%, transparent), transparent 60%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}.card:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card:hover:before{opacity:1}.card h3{margin:0 0 8px;font-size:1.12rem;font-weight:650}.card p{color:var(--muted);margin:0;font-size:.98rem}.card-icon{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:12px;place-items:center;margin-bottom:18px;display:inline-grid}.features{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;display:grid}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid;position:relative}.steps li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);counter-increment:step;padding:76px 26px 26px;font-size:1.04rem;font-weight:500;position:relative}.steps li:before{content:counter(step);background:linear-gradient(135deg, var(--accent), var(--glow));width:36px;height:36px;color:var(--on-accent);box-shadow:0 8px 20px -8px color-mix(in srgb, var(--glow) 80%, transparent);border-radius:11px;place-items:center;font-size:.95rem;font-weight:800;display:grid;position:absolute;top:24px;left:26px}@media (width>=900px){.steps li:not(:last-child):after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 50%, transparent), transparent);height:2px;position:absolute;top:42px;left:74px;right:-18px}}.screenshots{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:22px;display:grid}.shot{border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .4s var(--ease), box-shadow .4s ease;border-radius:14px;display:block;overflow:hidden}.shot img{transition:transform .6s var(--ease);display:block}.shot:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.shot:hover img{transform:scale(1.025)}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:24px;padding:clamp(28px,5vw,48px)}.panel h2{margin-bottom:24px}.checklist{color:var(--muted);gap:14px;margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:flex-start;gap:12px;display:flex}.checklist .icon{color:var(--accent);flex:none;margin-top:4px}.cta{text-align:center;isolation:isolate;border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));background:radial-gradient(600px circle at 20% 0%, color-mix(in srgb, var(--glow) 22%, transparent), transparent 60%), radial-gradient(600px circle at 90% 100%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%), var(--bg-elevated);border-radius:28px;padding:clamp(48px,8vw,80px) 24px;position:relative;overflow:hidden}.cta img{box-shadow:0 16px 40px -12px color-mix(in srgb, var(--glow) 60%, transparent);border-radius:16px}.cta h2{margin:20px 0 12px;font-size:clamp(1.9rem,4.5vw,3rem);font-weight:800}.cta p{max-width:52ch;color:var(--muted);margin:0 auto}.cta .actions{justify-content:center;margin-top:28px}.hero-simple{text-align:center;padding:96px 16px}.hero-simple .lead{margin:0 auto}.hero-simple .actions{justify-content:center}.prose{max-width:720px;padding-top:56px;padding-bottom:96px}.prose h1{letter-spacing:-.035em;margin-bottom:8px;font-size:clamp(2.2rem,5vw,3rem);font-weight:800}.prose h2{margin:40px 0 12px;font-size:1.35rem}.prose p,.prose li{color:var(--muted)}.prose strong{color:var(--text)}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(28px)}.js [data-reveal].is-visible{opacity:1;transform:none}.js .card[data-reveal].is-visible,.js .shot[data-reveal].is-visible{transition:opacity .8s var(--ease), transform .35s var(--ease), border-color .35s ease, box-shadow .35s ease}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}}
