*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--ink: #05070c;--ink-2: #0a0d15;--ink-3: #0f131d;--text: #f2f4fa;--dim: #949cb1;--dim-2: #5f6679;--line: rgba(163,183,220,.13);--line-2: rgba(163,183,220,.3);--white: #ffffff;--moon: #a9c7ff;--moon-dim: rgba(169,199,255,.55);--moon-faint: rgba(169,199,255,.08);--maxw: 1180px;--radius: 20px;--radius-s: 12px;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, monospace;--ease: cubic-bezier(.22,.61,.36,1)}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);font-family:var(--font-body);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:#a9c7ff40}:focus-visible{outline:2px solid var(--moon);outline-offset:3px;border-radius:3px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:28px}h1,h2,h3,h4{font-family:var(--font-display)}.eyebrow,.section-head .tag,.page-head .kicker,.card .kind,.page-head .kind,.src .region,.linkblock .lbl{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;height:72px;transition:background .4s var(--ease),border-color .4s var(--ease),height .3s var(--ease);border-bottom:1px solid transparent}.nav.scrolled{background:#05070ca8;backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid var(--line)}.nav .wrap{display:flex;align-items:center;justify-content:space-between}.brand img{height:25px;width:auto;display:block}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{position:relative;font-size:13.5px;font-weight:500;color:var(--dim);letter-spacing:.02em;transition:color .2s var(--ease)}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--moon);transition:right .25s var(--ease)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{right:0}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden}#wave{position:absolute;inset:0;z-index:-2;width:100%;height:100%;display:block;touch-action:none}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 80% at 50% -8%,#05070c00 40%,#05070c8c),linear-gradient(180deg,rgba(5,7,12,.8) 0%,rgba(5,7,12,.12) 30%,rgba(5,7,12,0) 52%,rgba(5,7,12,.6) 86%,var(--ink) 100%)}.hero-inner{padding-bottom:clamp(56px,11vh,120px);padding-top:120px}.hero-inner .wrap{max-width:960px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--moon);margin-bottom:28px}.eyebrow .moon{width:13px;height:13px;display:inline-block}h1{font-weight:700;font-size:clamp(46px,9vw,108px);line-height:.98;letter-spacing:-.04em;margin-bottom:26px}h1 .soft{color:var(--dim)}.lede{font-size:clamp(17px,2.1vw,20px);font-weight:400;color:#ccd2df;max-width:560px;line-height:1.6;margin-bottom:40px}.lede b{color:var(--text);font-weight:600}.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:0;padding:14px 28px;border-radius:999px;white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:transform .18s var(--ease),background .2s var(--ease),box-shadow .25s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.btn-primary{background:var(--white);color:#0a0b10;border-color:var(--white)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 34px #a9c7ff59}.btn-ghost{background:#ffffff05;color:var(--text);border-color:var(--line-2)}.btn-ghost:hover{border-color:var(--moon-dim);transform:translateY(-2px);background:#a9c7ff0f}.btn .arr{transition:transform .2s var(--ease)}.btn:hover .arr{transform:translate(3px)}.apps{padding:clamp(88px,13vh,150px) 0 clamp(70px,10vh,120px);position:relative;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 45%,var(--ink) 100%)}.apps:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(169,199,255,.13) 1.2px,transparent 1.8px);background-size:30px 30px;mask-image:radial-gradient(90% 90% at 50% 40%,#000 30%,transparent 100%);-webkit-mask-image:radial-gradient(90% 90% at 50% 40%,#000 30%,transparent 100%)}.apps .wrap{position:relative}.section-head{max-width:720px;margin-bottom:60px}.section-head .tag{color:var(--moon);margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}.section-head .tag:before{content:"";width:22px;height:1px;background:var(--moon-dim);flex:none}.section-head h2{font-weight:700;font-size:clamp(30px,4.4vw,48px);letter-spacing:-.03em;line-height:1.05}.section-head p{color:var(--dim);font-size:17px;margin-top:16px;max-width:560px}.grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.card{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 34%);border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px 28px;min-height:300px;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease);overflow:hidden}.card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 100% 0%,rgba(169,199,255,.1),transparent 55%);opacity:0;transition:opacity .28s var(--ease)}.card:after{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(169,199,255,.35),transparent);opacity:0;transition:opacity .28s var(--ease)}.card:hover{transform:translateY(-5px);border-color:var(--line-2);box-shadow:0 28px 60px -24px #000000e6}.card:hover:before,.card:hover:after{opacity:1}.card .ic{width:46px;height:46px;margin-bottom:24px;color:var(--text);transition:color .28s var(--ease)}.card:hover .ic{color:var(--moon)}.card .ic svg{width:100%;height:100%;display:block}.card .ic-img{width:60px;height:60px;border-radius:15px;overflow:hidden;box-shadow:0 8px 20px -8px #000000b3}.card .ic-img img{width:100%;height:100%;display:block;object-fit:cover}.card h3{font-size:23px;font-weight:600;letter-spacing:-.02em;margin-bottom:10px}.card .kind{color:var(--dim-2);margin-bottom:16px}.card .desc{color:var(--dim);font-size:14.5px;line-height:1.6;flex:1}.card .open{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text);margin-top:24px}.card .open .arr{transition:transform .2s var(--ease)}.card:hover .open{color:var(--moon)}.card:hover .open .arr{transform:translate(4px)}.foot{position:relative;border-top:1px solid var(--line);padding:52px 0 58px;background:linear-gradient(180deg,rgba(10,13,21,.5),transparent 60%)}.foot .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:26px}.foot-left{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.foot-left img{height:22px;width:auto;opacity:.92}.foot-left .meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--dim-2)}.foot-links{display:flex;gap:32px}.foot-links a{font-size:13.5px;font-weight:500;color:var(--dim);letter-spacing:.02em;transition:color .2s var(--ease)}.foot-links a:hover{color:var(--text)}.page{padding-top:72px}.page-head{position:relative;padding:clamp(64px,12vh,120px) 0 clamp(40px,7vh,72px);border-bottom:1px solid var(--line);overflow:hidden}.page-head:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:repeating-radial-gradient(circle at 88% -35%,transparent 0 54px,rgba(169,199,255,.045) 54px 55px),radial-gradient(80% 120% at 85% -20%,rgba(169,199,255,.09),transparent 60%),linear-gradient(180deg,#0a0d1599,#05070c00 70%)}.page-head .wrap{position:relative;z-index:1}.page-head .kicker{color:var(--moon);margin-bottom:18px;display:inline-flex;align-items:center;gap:10px}.page-head .kicker:before{content:"";width:22px;height:1px;background:var(--moon-dim);flex:none}.page-head h1{font-weight:700;font-size:clamp(38px,7vw,74px);line-height:1;letter-spacing:-.04em;margin-bottom:18px}.page-head .kind{color:var(--dim-2);margin-bottom:18px}.page-head .lede{font-size:clamp(16px,2vw,19px);color:#ccd2df;max-width:600px;margin-bottom:32px}.head-ic{display:inline-block;width:58px;height:58px;color:var(--moon);margin-bottom:26px}.head-ic svg{width:100%;height:100%;display:block}.head-ic-img{display:block;width:84px;height:84px;border-radius:20px;overflow:hidden;box-shadow:0 12px 28px -10px #000000b3}.head-ic-img img{width:100%;height:100%;display:block;object-fit:cover}.section{padding:clamp(56px,9vh,100px) 0}.section+.section{border-top:1px solid var(--line)}.section-head.small{margin-bottom:44px}.shots{display:grid;gap:20px;grid-template-columns:repeat(3,1fr);align-items:start}.shot-wrap{margin:0}.shot-caption{margin-top:14px;font-size:13px;color:var(--dim);text-align:center;line-height:1.5}.shot{aspect-ratio:9 / 19.5;border:1px solid var(--line);border-radius:26px;overflow:hidden;margin:0;display:flex;align-items:center;justify-content:center;color:var(--dim-2);font-size:13px;font-weight:600;text-align:center;box-shadow:0 24px 60px -30px #000c}.shot img{width:100%;height:100%;object-fit:cover;display:block}.shot:not(:has(img)){background:repeating-linear-gradient(135deg,rgba(255,255,255,.02) 0 12px,transparent 12px 24px),var(--ink-2);padding:20px;font-family:var(--mono);font-weight:500;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.features{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.feature{position:relative;background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 40%);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;transition:border-color .28s var(--ease)}.feature:hover{border-color:var(--line-2)}.feature .feat-ic{display:block;width:30px;height:30px;margin-bottom:18px;color:var(--moon)}.feature .feat-ic svg{width:100%;height:100%;display:block}.feature h3{font-size:18px;font-weight:600;letter-spacing:-.015em;margin-bottom:10px}.feature p{color:var(--dim);font-size:15px;line-height:1.6}.own{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:repeating-radial-gradient(circle at 50% 160%,transparent 0 64px,rgba(169,199,255,.035) 64px 65px),radial-gradient(70% 140% at 50% 0%,rgba(169,199,255,.06),transparent 65%),var(--ink-2);padding:clamp(56px,9vh,96px) 0;text-align:center}.own h2{font-weight:700;font-size:clamp(26px,4vw,42px);letter-spacing:-.03em;margin-bottom:16px}.own p{color:var(--dim);font-size:17px;max-width:560px;margin:0 auto 14px}.own .points{list-style:none;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:center;margin-top:30px}.own .points li{font-family:var(--font-display);font-size:14px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:9px}.own .points li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--moon);box-shadow:0 0 10px var(--moon-dim)}.prose{max-width:760px}.prose h2{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:42px 0 14px}.prose h2:first-child{margin-top:0}.prose h3{font-size:17px;font-weight:600;margin:26px 0 10px}.prose p{color:var(--dim);margin-bottom:14px}.prose ul{color:var(--dim);margin:0 0 16px 20px}.prose li{margin-bottom:8px}.prose a{color:var(--moon);text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--text)}.updated{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim-2);margin-bottom:32px}.updated strong{font-weight:600;color:var(--dim)}.faq{max-width:760px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-family:var(--font-display);font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;transition:color .2s var(--ease)}.faq summary:hover{color:var(--moon)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--moon);font-weight:400;font-size:22px;transition:transform .2s var(--ease)}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{color:var(--dim);margin-top:12px;max-width:640px}.contact-card{background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 40%);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(28px,5vw,44px);max-width:620px}.field{margin-bottom:18px}.field label{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:9px}.field input,.field textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-s);padding:13px 15px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--moon-dim);box-shadow:0 0 0 3px var(--moon-faint)}.field textarea{resize:vertical;min-height:130px}.contact-alt{color:var(--dim);margin-top:22px;font-size:15px}.contact-alt a{color:var(--moon);text-decoration:underline;text-underline-offset:3px}.guide-cta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:22px;background:radial-gradient(80% 160% at 100% 0%,rgba(169,199,255,.08),transparent 60%),linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 40%);border:1px solid var(--line);border-radius:var(--radius);padding:32px 34px}.guide-cta-text{max-width:620px}.guide-cta-text h2{font-weight:600;font-size:clamp(22px,3vw,28px);letter-spacing:-.02em;margin-bottom:8px}.guide-cta-text p{color:var(--dim);font-size:16px}.guide .callout{background:radial-gradient(120% 160% at 0% 0%,rgba(169,199,255,.07),transparent 60%),var(--ink-2);border:1px solid var(--line);border-left:2px solid var(--moon-dim);border-radius:var(--radius-s);padding:20px 24px;margin:28px 0;color:var(--dim);font-size:15.5px}.guide .callout strong{color:var(--text);font-weight:600}.guide .callout a{color:var(--moon);text-decoration:underline;text-underline-offset:3px}.guide-h2{font-weight:600;font-size:23px;letter-spacing:-.015em;margin:56px 0 6px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:14px}.guide-h2 .num{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--moon);flex:none;min-width:20px}.guide-note{color:var(--dim);margin-bottom:22px;font-size:15.5px}.scaleguide{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:6px 0 8px}.scaleguide .row{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:14px 16px}.scaleguide .s{font-family:var(--font-display);font-weight:600;color:var(--moon);font-size:15px;letter-spacing:-.01em}.scaleguide .u{display:block;color:var(--dim);font-size:14px;margin-top:3px}.src{background:linear-gradient(180deg,var(--ink-3) 0%,var(--ink-2) 40%);border:1px solid var(--line);border-radius:var(--radius);padding:26px 26px 24px;margin:18px 0}.src .region{color:var(--dim-2);margin-bottom:8px}.src h3{font-weight:600;font-size:20px;letter-spacing:-.015em;margin-bottom:10px}.src p{color:var(--dim);font-size:15.5px;margin-bottom:14px}.src p strong{color:var(--text);font-weight:600}.src p em{color:var(--text);font-style:italic}.badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.badge{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;padding:4px 11px;border-radius:999px;border:1px solid var(--line);background:var(--ink-3);color:var(--dim);white-space:nowrap}.badge.scale{color:var(--text);border-color:var(--line-2)}.badge.free{color:var(--moon);border-color:var(--moon-dim)}.badge.paid{color:var(--dim-2);border-style:dashed}.linkblock{margin:12px 0 2px}.linkblock .lbl{font-size:10.5px;color:var(--dim-2);margin-bottom:7px}.url{position:relative;background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-s);padding:11px 46px 11px 14px;margin-bottom:10px;overflow-x:auto}.url a{color:var(--moon);font-family:var(--mono);font-size:12.5px;word-break:break-all;text-decoration:none}.url a:hover{text-decoration:underline;text-underline-offset:3px}.copy-btn{position:absolute;top:7px;right:7px;width:30px;height:30px;border:none;border-radius:8px;background:#ffffff0f;color:var(--dim);cursor:pointer;display:grid;place-items:center;font-size:13px;transition:opacity .15s var(--ease),background .15s var(--ease),color .15s var(--ease)}.url:hover .copy-btn,.copy-btn:focus-visible{background:#ffffff1f;color:var(--text)}.copy-btn.done{background:var(--moon);color:var(--ink)}@media(hover:none){.copy-btn{background:#ffffff1a}}ol.steps{list-style:none;counter-reset:step;margin:8px 0 0;padding:0}ol.steps li{counter-increment:step;position:relative;padding:4px 0 20px 46px;margin-left:15px;border-left:1px solid var(--line);color:var(--dim);font-size:15.5px}ol.steps li:last-child{border-left-color:transparent;padding-bottom:0}ol.steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:-15px;top:0;width:30px;height:30px;border-radius:50%;background:var(--ink-3);border:1px solid var(--moon-dim);color:var(--moon);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:600}ol.steps li b{color:var(--text);font-weight:600}.tips{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:8px 0}.tip{background:var(--ink-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:20px 22px;transition:border-color .28s var(--ease)}.tip:hover{border-color:var(--line-2)}.tip h4{font-size:15px;font-weight:600;margin-bottom:7px}.tip p{color:var(--dim);font-size:14.5px}.tip code{font-family:var(--mono);font-size:12.5px;background:var(--ink-3);padding:1px 6px;border-radius:5px;color:var(--moon)}.guide-foot{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);color:var(--dim-2);font-size:12px;letter-spacing:.03em}@media(max-width:860px){.grid{grid-template-columns:1fr}.nav-links{gap:22px}.card{min-height:0}.shots{grid-template-columns:repeat(3,1fr);gap:12px}.features{grid-template-columns:1fr}.guide-cta{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.wrap{padding-inline:20px}.nav{height:64px}.page{padding-top:64px}.brand img{height:22px}.nav-links a:not(.nav-apps){display:none}.cta-row{width:100%;flex-direction:column;align-items:stretch}.btn{width:100%;justify-content:center}.foot .wrap{flex-direction:column;align-items:flex-start}.shots{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
