*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3,h4,.sf-display{text-wrap:balance;font-family:Lexend,"Source Sans 3",-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100dvh}::selection{background:#15803d38}.shell{isolation:isolate;background:var(--bg);min-height:100dvh;color:var(--ink);--bg:#f5f8f3;--bg-deep:#eaefe6;--surface:#fff;--surface-2:#eef3ec;--surface-3:#e4ebe1;--glass:#ffffffb8;--tint:#e7f4ec;--ink:#0e1a13;--muted:#4b6a57;--faint:#5b786a;--line:#0e1a1317;--line-strong:#0e1a1329;--green:#15803d;--green-ink:#0f6b33;--green-soft:#15803d1f;--grad-primary:linear-gradient(135deg, #17874a 0%, #0f6634 100%);--on-primary:#fff;--amber:#a35a0a;--amber-tint:#fdefdd;--danger:#b91c1c;--surface2:var(--surface-2);--navbg:#f5f8f3b8;--sh-1:0 1px 1px #0e1a130a, 0 2px 4px #0e1a130a;--sh-2:0 1px 2px #0e1a130d, 0 4px 10px -3px #0e1a1312, 0 12px 24px -12px #0e1a131a;--sh-3:0 1px 2px #0e1a130d, 0 8px 18px -6px #0e1a131a, 0 26px 48px -20px #0e1a132e;--sh-4:0 2px 4px #0e1a130f, 0 14px 30px -10px #0e1a1324, 0 44px 70px -28px #0e1a133d;--sh-brand:0 2px 6px #15803d33, 0 10px 24px -8px #15803d57;--r-xs:8px;--r-sm:11px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-2xl:30px;--r-full:999px;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.52s;--dur-5:.8s;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-bg:0;--z-base:1;--z-sticky:30;--z-pop:50;flex-direction:column;display:flex;position:relative}.shell.dark{--bg:#08110d;--bg-deep:#040907;--surface:#111c16;--surface-2:#17241d;--surface-3:#1e2d25;--glass:#111c16ad;--tint:#12271b;--ink:#e7f2ea;--muted:#9db4a5;--faint:#78907f;--line:#ffffff1a;--line-strong:#ffffff2e;--green:#178742;--green-ink:#7fe0a8;--green-soft:#3fcf7f24;--grad-primary:linear-gradient(135deg, #17874a 0%, #0f6634 100%);--amber:#f0b45f;--amber-tint:#2a2113;--danger:#f87171;--navbg:#08110da8;--sh-1:0 1px 1px #0000004d, 0 2px 4px #0000003d;--sh-2:0 1px 2px #00000057, 0 4px 12px -3px #0006, 0 12px 26px -12px #00000080;--sh-3:0 1px 2px #0000005c, 0 10px 22px -6px #00000075, 0 28px 54px -20px #0009;--sh-4:0 2px 5px #0006, 0 16px 34px -10px #00000085, 0 48px 80px -28px #000000b3;--sh-brand:0 2px 8px #22a45c42, 0 12px 30px -10px #22a45c6b}.sf-atmos{z-index:var(--z-bg);pointer-events:none;position:fixed;inset:0;overflow:hidden}.sf-blob{filter:blur(70px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.shell.dark .sf-blob{opacity:.4;filter:blur(90px)}.sf-blob--a{width:46vw;min-width:340px;height:46vw;min-height:340px;animation:blob-a 26s var(--ease) infinite alternate;background:radial-gradient(circle at 40% 40%,#2dbe6e8c,#0000 68%);top:-14vw;left:-8vw}.sf-blob--b{width:40vw;min-width:300px;height:40vw;min-height:300px;animation:blob-b 32s var(--ease) infinite alternate;background:radial-gradient(circle at 55% 45%,#38bdbe66,#0000 68%);top:6vw;right:-12vw}.sf-blob--c{width:38vw;min-width:280px;height:38vw;min-height:280px;animation:blob-c 38s var(--ease) infinite alternate;background:radial-gradient(circle,#f0a03c42,#0000 68%);top:62vh;left:28vw}@keyframes blob-a{0%{transform:translate(0,0)scale(1)}50%{transform:translate(6vw,5vh)scale(1.12)}to{transform:translate(-3vw,9vh)scale(.94)}}@keyframes blob-b{0%{transform:translate(0,0)scale(1)}50%{transform:translate(-7vw,7vh)scale(1.16)}to{transform:translate(2vw,-4vh)scale(.9)}}@keyframes blob-c{0%{transform:translate(0,0)scale(.95)}to{transform:translate(-10vw,-8vh)scale(1.2)}}.sf-grain{opacity:.32;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.5'/></svg>");animation:7s steps(6,end) infinite grain;position:absolute;inset:-200%}.shell.dark .sf-grain{opacity:.2}@keyframes grain{0%,to{transform:translate(0,0)}16%{transform:translate(-3%,-4%)}33%{transform:translate(2%,-2%)}50%{transform:translate(-1%,3%)}66%{transform:translate(3%,1%)}83%{transform:translate(-2%,2%)}}:where(button,a,[role=button],input,select,textarea):focus-visible{outline:2.5px solid var(--green);outline-offset:2px;border-radius:var(--r-xs)}.sf-page{z-index:var(--z-base);flex:1;position:relative}.sf-container{width:100%;max-width:1180px;margin-inline:auto;padding-inline:clamp(18px,5vw,56px)}@media (width<=720px){.sf-hide-sm{display:none!important}}.sf-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);font-size:11px;font-weight:700}.sf-btn{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;transition:transform var(--dur-2) var(--ease-spring), box-shadow var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);box-shadow:var(--sh-1);justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:13.5px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.sf-btn:hover{box-shadow:var(--sh-2);border-color:var(--line-strong);transform:translateY(-2px)}.sf-btn:active{transition-duration:var(--dur-1);transform:translateY(0)scale(.97)}.sf-btn--primary{background:var(--grad-primary);color:var(--on-primary);box-shadow:var(--sh-brand);border-color:#0000}.sf-btn--primary:hover{box-shadow:var(--sh-brand), var(--sh-3);border-color:#0000}.sf-btn--primary:after{content:"";transition:transform var(--dur-5) var(--ease-out);pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff57 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.sf-btn--primary:hover:after{transform:translate(120%)}.sf-btn--lg{border-radius:var(--r-md);min-height:54px;padding:16px 26px;font-size:15.5px}.sf-btn--icon{width:44px;height:44px;padding:0}.sf-btn--quiet{box-shadow:none;color:var(--green-ink);background:0 0;border-color:#0000}.sf-btn--quiet:hover{background:var(--green-soft);box-shadow:none;border-color:#0000}.sf-btn:disabled,.sf-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:var(--sh-1);transform:none}.sf-ripple{left:var(--rx,50%);top:var(--ry,50%);pointer-events:none;width:12px;height:12px;animation:ripple .62s var(--ease-out) forwards;background:#ffffff8c;border-radius:50%;margin:-6px 0 0 -6px;position:absolute}.sf-btn:not(.sf-btn--primary) .sf-ripple{background:var(--green-soft)}@keyframes ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(26)}}.sf-chip{border-radius:var(--r-full);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--muted);box-shadow:var(--sh-1);align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.sf-chip--brand{color:var(--green-ink);background:var(--tint);border-color:var(--green-soft)}.sf-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;position:relative}.sf-dot--live:after{content:"";background:inherit;animation:live-ping 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes live-ping{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(3.2)}}.sf-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--sh-2);position:relative}.sf-card--glass{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(140%)}.sf-card--lit:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(160deg,#ffffffe6,#fff0 40%);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.shell.dark .sf-card--lit:before{background:linear-gradient(160deg,#ffffff29,#fff0 40%)}.sf-nav{z-index:var(--z-sticky);background:var(--navbg);-webkit-backdrop-filter:blur(16px)saturate(150%);transition:border-color var(--dur-3) var(--ease), box-shadow var(--dur-3) var(--ease);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(18px,5vw,56px);display:flex;position:sticky;top:0}.sf-nav.is-stuck{border-bottom-color:var(--line);box-shadow:var(--sh-1)}.sf-brand{cursor:pointer;font:inherit;color:inherit;border-radius:var(--r-sm);background:0 0;border:none;align-items:center;gap:11px;margin:-4px;padding:4px;display:flex}.sf-logo{background:var(--grad-primary);width:38px;height:38px;box-shadow:var(--sh-brand);color:#fff;transition:transform var(--dur-3) var(--ease-spring);border-radius:11px;place-items:center;display:grid}.sf-brand:hover .sf-logo{transform:rotate(-8deg)scale(1.06)}.sf-theme-btn svg{transition:transform var(--dur-4) var(--ease-spring)}.sf-theme-btn:hover svg{transform:rotate(28deg)}.sf-hero{grid-template-columns:1fr;align-items:center;gap:clamp(30px,5vw,60px);padding-block:clamp(30px,5vw,66px) clamp(22px,4vw,46px);display:grid}@media (width>=900px){.sf-hero{grid-template-columns:1.05fr .95fr}}.sf-h1{letter-spacing:-.035em;margin-bottom:18px;font-size:clamp(36px,5.6vw,60px);font-weight:700;line-height:1.02}.sf-grad-word{background:linear-gradient(100deg,#17a35a 0%,#0d9e8a 55%,#17a35a 100%) 0 0/220% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:7s linear infinite grad-pan}@keyframes grad-pan{to{background-position:220% 0}}.sf-word{animation:word-rise var(--dur-5) var(--ease-out) both;animation-delay:var(--d,0s);display:inline-block}@keyframes word-rise{0%{opacity:0;transform:translateY(.5em)rotate(2deg)}to{opacity:1;transform:none}}.sf-lede{color:var(--muted);max-width:48ch;margin-bottom:26px;font-size:clamp(15px,1.6vw,18px);line-height:1.6}.sf-stats{flex-wrap:wrap;gap:22px;margin-top:34px;display:flex}.sf-stat-val{letter-spacing:-.02em;color:var(--green-ink);font-variant-numeric:tabular-nums;font-family:Lexend,sans-serif;font-size:24px;font-weight:700}.sf-stat-lbl{color:var(--muted);font-size:12.5px;font-weight:600}.sf-stat-rule{background:var(--line);align-self:stretch;width:1px}.upload-area{cursor:pointer;text-align:center;border-radius:var(--r-2xl);border:1.5px dashed var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(140%);width:100%;box-shadow:var(--sh-3);transform-style:preserve-3d;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateZ(0);transition:transform var(--dur-4) var(--ease-out), border-color var(--dur-3) var(--ease), box-shadow var(--dur-3) var(--ease-out);padding:clamp(30px,5vw,48px) 28px;position:relative;overflow:hidden}.upload-area:hover{border-color:var(--green);box-shadow:var(--sh-4)}.upload-area:active{transition-duration:var(--dur-1);transform:perspective(1100px)scale(.985)}.upload-area:before{content:"";background:radial-gradient(360px circle at var(--mx,50%) var(--my,0%), var(--green-soft), transparent 62%);opacity:0;transition:opacity var(--dur-3) var(--ease);pointer-events:none;position:absolute;inset:0}.upload-area:hover:before{opacity:1}.upload-area.is-dragging{border-color:var(--green);box-shadow:var(--sh-4), 0 0 0 5px var(--green-soft);border-style:solid;transform:perspective(1100px)scale(1.015)}.upload-area.is-dragging .sf-drop-icon{animation:drop-bounce .7s var(--ease-spring) infinite}.sf-drop-inner{position:relative;transform:translateZ(40px)}.sf-drop-icon{color:#fff;background:var(--grad-primary);width:74px;height:74px;box-shadow:var(--sh-brand);animation:floaty 4.6s var(--ease) infinite;border-radius:22px;place-items:center;margin:0 auto 18px;display:grid}@keyframes floaty{0%,to{transform:translate(0,0)rotate(0)}33%{transform:translate(3px,-9px)rotate(2.5deg)}66%{transform:translate(-3px,-4px)rotate(-2deg)}}@keyframes drop-bounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.06)}}.sf-drop-cta{border-radius:var(--r-sm);background:var(--tint);color:var(--green-ink);animation:pulsering 2.8s var(--ease-out) infinite;padding:12px 24px;font-size:13.5px;font-weight:700;display:inline-block}@keyframes pulsering{0%{box-shadow:0 0 0 0 var(--green-soft)}70%{box-shadow:0 0 0 14px #15803d00}to{box-shadow:0 0 #15803d00}}.sf-tag{color:var(--faint);background:var(--surface-2);transition:transform var(--dur-2) var(--ease-spring), color var(--dur-2) var(--ease);border-radius:7px;padding:5px 10px;font-size:11px;font-weight:600}.upload-area:hover .sf-tag{color:var(--muted);transform:translateY(-2px)}.preset-card{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-1);transition:transform var(--dur-3) var(--ease-spring), box-shadow var(--dur-3) var(--ease-out), border-color var(--dur-2) var(--ease);padding:18px;position:relative;overflow:hidden}.preset-card:before{content:"";background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), var(--card-glow,var(--green-soft)), transparent 60%);opacity:0;transition:opacity var(--dur-3) var(--ease);pointer-events:none;position:absolute;inset:0}.preset-card:hover{box-shadow:var(--sh-3);border-color:var(--line-strong);transform:translateY(-5px)}.preset-card:hover:before{opacity:1}.preset-card:active{transition-duration:var(--dur-1);transform:translateY(-1px)scale(.985)}.preset-badge{letter-spacing:-.01em;width:38px;height:38px;transition:transform var(--dur-3) var(--ease-spring);border-radius:11px;place-items:center;font-weight:800;display:inline-grid}.preset-card:hover .preset-badge{transform:scale(1.1)rotate(-5deg)}.preset-name{letter-spacing:-.01em;margin-bottom:4px;font-weight:700;line-height:1.3}.preset-spec{color:var(--muted);font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600}.preset-go{color:var(--green-ink);opacity:0;transition:opacity var(--dur-2) var(--ease), transform var(--dur-3) var(--ease-spring);position:absolute;bottom:16px;right:16px;transform:translate(-6px)}.preset-card:hover .preset-go{opacity:1;transform:translate(0)}.sf-seg{border-radius:var(--r-full);background:var(--surface-2);border:1px solid var(--line);padding:4px;display:inline-flex;position:relative}.sf-seg-thumb{border-radius:var(--r-full);background:var(--grad-primary);box-shadow:var(--sh-brand);transition:left var(--dur-3) var(--ease-spring), width var(--dur-3) var(--ease-spring);position:absolute;top:4px;bottom:4px}.sf-seg-btn{z-index:1;cursor:pointer;font:inherit;border-radius:var(--r-full);min-height:44px;color:var(--muted);transition:color var(--dur-2) var(--ease);background:0 0;border:none;align-items:center;gap:7px;padding:9px 17px;font-size:12.5px;font-weight:700;display:inline-flex;position:relative}.sf-seg-btn[aria-selected=true]{color:var(--on-primary)}.sf-steps{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;display:grid}.sf-step{text-align:center;border-radius:var(--r-xl);transition:background var(--dur-3) var(--ease);padding:24px 18px;position:relative}.sf-step:hover{background:var(--surface-2)}.sf-step-num{width:56px;height:56px;transition:transform var(--dur-3) var(--ease-spring);border-radius:18px;place-items:center;margin:0 auto 16px;font-family:Lexend,sans-serif;font-size:21px;font-weight:700;display:grid}.sf-step:hover .sf-step-num{transform:translateY(-4px)scale(1.06)}.sf-step-rail{background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 12px);transform-origin:0;height:2px;transition:transform var(--dur-5) var(--ease-out) .2s;display:none;position:absolute;top:28px;left:calc(50% + 40px);right:calc(40px - 50%);transform:scaleX(0)}@media (width>=780px){.sf-step-rail{display:block}}.is-in .sf-step-rail{transform:scaleX(1)}.sf-faq{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);overflow:hidden}.sf-faq:hover{border-color:var(--line-strong);box-shadow:var(--sh-1)}.sf-faq.is-open{border-color:var(--green-soft);box-shadow:var(--sh-2)}.sf-faq-q{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;font-size:14.5px;font-weight:700;display:flex}.sf-faq-icon{color:var(--green-ink);transition:transform var(--dur-3) var(--ease-spring);flex-shrink:0}.sf-faq.is-open .sf-faq-icon{transform:rotate(180deg)}.sf-faq-a{transition:grid-template-rows var(--dur-3) var(--ease-out);grid-template-rows:0fr;display:grid}.sf-faq.is-open .sf-faq-a{grid-template-rows:1fr}.sf-faq-a>div{overflow:hidden}.sf-faq-a p{color:var(--muted);opacity:0;transition:opacity var(--dur-2) var(--ease) 60ms;padding:0 20px 17px;font-size:13.5px;line-height:1.68}.sf-faq.is-open .sf-faq-a p{opacity:1}.sf-h2{letter-spacing:-.025em;font-size:clamp(23px,2.7vw,32px);font-weight:700;line-height:1.12}[data-reveal]{opacity:0;transition:opacity var(--dur-5) var(--ease-out) var(--d,0s), transform var(--dur-5) var(--ease-out) var(--d,0s);will-change:opacity, transform;transform:translateY(24px)scale(.985)}[data-reveal].is-in{opacity:1;transform:none}input[type=range]{appearance:none;background:var(--surface-3);border-radius:var(--r-full);cursor:pointer;width:100%;height:6px;accent-color:var(--green);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--grad-primary);border:2.5px solid var(--surface);width:20px;height:20px;box-shadow:var(--sh-brand);cursor:grab;transition:transform var(--dur-2) var(--ease-spring);border-radius:50%}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.18)}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.3)}input[type=range]::-moz-range-thumb{background:var(--green);border:2.5px solid var(--surface);width:20px;height:20px;box-shadow:var(--sh-brand);cursor:grab;border-radius:50%}.custom-input{border:1px solid var(--line);border-radius:var(--r-xs);background:var(--surface-2);width:100%;min-height:42px;color:var(--ink);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);outline:none;padding:9px 11px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.custom-input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.custom-input::-webkit-inner-spin-button{opacity:.5}.custom-input::-webkit-outer-spin-button{opacity:.5}@keyframes fadeup{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.sf-busy{border-radius:inherit;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;animation:fade-in var(--dur-2) var(--ease) both;background:#08110d6b;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sf-spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal],.sf-word{opacity:1!important;transform:none!important}.sf-step-rail{transform:scaleX(1)!important}.sf-grain,.sf-blob{animation:none!important}.upload-area{transform:none!important}}
