@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(./fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(./fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(./fredoka-latin-500-normal-B0JifZgm.woff2)format("woff2"),url(./fredoka-latin-500-normal-BL692wg7.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@property --h{syntax:"<number>";inherits:true;initial-value:265}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-top:#0a0f24;--bg-mid:#131136;--bg-bottom:#1f1748;--text:#ece8ff;--text-dim:#aaa3d6;--text-faint:#6e6899;--lavender:#c4b5fd;--pink:#f5c2e7;--moon:#fde9a6;--surface:#ffffff0f;--surface-strong:#ffffff1c;--border:#ffffff1f;--primary-from:#a996f5;--primary-to:#eaa8e0;--primary-text:#1a1240;--font:"Fredoka", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--ease-spring:cubic-bezier(.3, 1.5, .5, 1);--ease-soft:cubic-bezier(.2, .8, .2, 1);--gutter:16px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{overscroll-behavior:none;margin:0}body{font-family:var(--font);color:var(--text);background-color:var(--bg-top);background-image:radial-gradient(120% 60% at 50% 115%, #7e57c259, transparent 70%), radial-gradient(80% 50% at 85% -10%, #384ea040, transparent 70%), linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 55%, var(--bg-bottom) 100%);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--lavender);outline-offset:3px}svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}.btn{letter-spacing:.01em;min-height:52px;transition:transform .25s var(--ease-spring), background-color .3s, box-shadow .3s, opacity .3s;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:0 1.5em;font-size:1.1rem;font-weight:500;display:inline-flex}.btn:active:not(:disabled){transform:scale(.93)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background:linear-gradient(135deg, var(--primary-from), var(--primary-to));color:var(--primary-text);font-weight:600;box-shadow:0 10px 30px -10px #c9a0f0a6,inset 0 1px #ffffff73}.btn-primary:disabled{box-shadow:none}.btn-ghost{background:var(--surface);border:1px solid var(--border)}.btn-round{border-radius:50%;width:56px;height:56px;padding:0}.btn-round svg{width:24px;height:24px}.icon-btn{width:48px;height:48px;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);transition:transform .25s var(--ease-spring), color .3s, background-color .3s;border-radius:50%;place-items:center;display:grid}.icon-btn:active{transform:scale(.9)}.icon-btn svg{width:20px;height:20px}@media (hover:hover){.btn-ghost:hover:not(:disabled),.icon-btn:hover{background:var(--surface-strong)}.btn-primary:hover:not(:disabled){box-shadow:0 12px 36px -8px #c9a0f0cc,inset 0 1px #ffffff73}}#sky{pointer-events:none;position:fixed;inset:0;overflow:hidden}.star{width:var(--s);height:var(--s);opacity:var(--o);box-shadow:0 0 calc(var(--s) * 2) #ffffff80;animation:twinkle var(--d) ease-in-out var(--delay) infinite;background:#fff;border-radius:50%;position:absolute}.sparkle{color:hsl(var(--h) 90% 85%);text-shadow:0 0 8px hsl(var(--h) 90% 70% / .8);animation:sparkle var(--d) ease-in-out var(--delay) infinite;line-height:1;position:absolute}.shooting-star{filter:drop-shadow(0 0 6px #ffffffb3);transform-origin:0;opacity:0;background:linear-gradient(90deg,#fffffff2,#fff0);border-radius:2px;width:140px;height:2px;position:absolute}.moon-wrap{position:relative}.moon{--moon-size:64px;width:var(--moon-size);height:var(--moon-size);box-shadow:inset calc(var(--moon-size) * -.28) calc(var(--moon-size) * -.1) 0 0 var(--moon);filter:drop-shadow(0 0 14px #fde9a673);border-radius:50%;animation:6s ease-in-out infinite bob}.zzz{color:var(--lavender);font-size:1.1rem;font-weight:600;position:absolute;top:-6px;right:-10px}.zzz span{opacity:0;animation:3.6s ease-in infinite zfloat;position:absolute}.zzz span:nth-child(2){font-size:1.3em;animation-delay:1.2s}.zzz span:nth-child(3){font-size:1.6em;animation-delay:2.4s}@keyframes twinkle{0%,to{opacity:var(--o);transform:scale(1)}50%{opacity:calc(var(--o) * .2);transform:scale(.6)}}@keyframes sparkle{0%,to{opacity:.15;transform:scale(.6)rotate(0)}50%{opacity:.85;transform:scale(1)rotate(45deg)}}@keyframes float{0%,to{transform:translateY(-6px)}50%{transform:translateY(8px)}}@keyframes breathe{0%,to{opacity:.75;transform:scale(.88)}50%{opacity:1;transform:scale(1.06)}}@keyframes bob{0%,to{transform:translateY(0)rotate(-22deg)}50%{transform:translateY(-8px)rotate(-10deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes dice-spin{to{transform:rotate(360deg)}}@keyframes zfloat{0%{opacity:0;transform:translate(0)scale(.6)rotate(-10deg)}20%{opacity:.9}to{opacity:0;transform:translate(28px,-64px)scale(1.2)rotate(12deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.2s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.zzz span{opacity:.7}.zzz span:nth-child(2){transform:translate(14px,-22px)}.zzz span:nth-child(3){transform:translate(30px,-48px)}}html{scroll-behavior:smooth}body{line-height:1.5;overflow-x:clip}h1,h2,h3,.hero-tagline{text-wrap:balance}p{text-wrap:pretty}#sky{z-index:-1}a{color:var(--lavender);text-underline-offset:.2em}a.btn{color:inherit;text-decoration:none}a.btn-primary{color:var(--primary-text)}.btn-large{min-height:58px;padding-inline:1.7em;font-size:1.2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:26px 24px}.card h3{margin:18px 0 6px;font-size:1.3rem;font-weight:600;line-height:1.25}.card p{color:var(--text-dim);margin:0;line-height:1.55}.card strong{color:var(--text);font-weight:500}.enter{animation:fade-up .8s var(--ease-soft) both;animation-delay:calc(var(--i) * 90ms + .1s)}.js .reveal{opacity:0;transition:opacity .9s ease, transform .9s var(--ease-soft);transition-delay:calc(var(--r,0) * 90ms);transform:translateY(28px)}.js .reveal.is-visible{opacity:1;transform:none}.hero{max-width:1080px;min-height:100svh;padding:calc(max(var(--gutter), env(safe-area-inset-top)) + 40px) max(var(--gutter), env(safe-area-inset-right)) 56px max(var(--gutter), env(safe-area-inset-left));text-align:center;align-content:center;place-items:center;gap:56px;margin-inline:auto;display:grid}.hero-text{flex-direction:column;align-items:center;max-width:520px;display:flex}.hero .moon{--moon-size:72px}.hero-title{letter-spacing:-.015em;margin:20px 0 0;font-size:clamp(3.2rem,15vw,5rem);font-weight:600;line-height:1}.hero-title span,.finale .section-title span{background:linear-gradient(135deg, var(--lavender), var(--pink));color:#0000;-webkit-background-clip:text;background-clip:text}.hero-tagline{margin:16px 0 0;font-size:clamp(1.2rem,4.8vw,1.45rem);font-weight:500;line-height:1.35}.hero-lead{color:var(--text-dim);margin:12px 0 0;font-size:1.08rem;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.hero-note{color:var(--text-faint);margin:16px 0 0;font-size:.95rem}@media (width>=880px){.hero{text-align:left;grid-template-columns:minmax(0,1fr) 360px;justify-items:start;gap:72px}.hero-text{align-items:flex-start}.hero-actions{justify-content:flex-start}}.demo{width:min(100%,360px);margin:0;position:relative}.demo-screen{--h:250;aspect-ratio:9/14;border:1px solid var(--border);-webkit-user-select:none;user-select:none;background:radial-gradient(120% 55% at 50% 115%,#7e57c259,#0000 70%),linear-gradient(#0a0f24e6,#1f1748e6);border-radius:40px;flex-direction:column;align-items:center;padding:22px 18px 24px;transition:--h .9s;display:flex;position:relative;overflow:hidden;box-shadow:0 40px 80px -30px #000c,0 0 0 8px #ffffff08,inset 0 1px #ffffff14}.demo-pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 18px;font-size:1rem;font-weight:500}.demo-stage{flex:1;place-content:center;justify-items:center;width:100%;display:grid;position:relative}.demo-stage:before{content:"";aspect-ratio:1;background:radial-gradient(circle, hsl(var(--h) 85% 70% / .3) 0%, hsl(var(--h) 85% 60% / .1) 40%, transparent 68%);pointer-events:none;border-radius:50%;width:92%;animation:6s ease-in-out infinite breathe;position:absolute;top:50%;left:50%;translate:-50% -50%}.demo-float{transition:opacity .5s;animation:6s ease-in-out infinite float}.demo-letters{place-items:center;display:grid}.demo-letter{color:hsl(var(--h) 95% 86%);text-shadow:0 0 .06em hsl(var(--h) 95% 80% / .8), 0 0 .3em hsl(var(--h) 90% 65% / .45);grid-area:1/1;font-size:clamp(6rem,32vw,8.5rem);font-weight:600;line-height:1}.demo-word{min-height:1.4em;color:hsl(var(--h) 80% 88%);margin:10px 0 0;font-size:1.35rem;font-weight:500;transition:opacity .5s;position:relative}.demo-word.is-skipped{color:var(--text-faint);font-size:1.1rem}.demo-end{opacity:0;pointer-events:none;place-content:center;justify-items:center;gap:22px;transition:opacity .8s;display:grid;position:absolute;inset:0}.demo-end .moon{--moon-size:84px}.demo-end-text{margin:0;font-size:1.9rem;font-weight:600}.demo-stage.is-end .demo-float,.demo-stage.is-end .demo-word{opacity:0}.demo-stage.is-end .demo-end{opacity:1}.demo-progress{flex-wrap:wrap;justify-content:center;gap:5px 4px;width:100%;max-width:300px;display:flex}.demo-dot{aspect-ratio:1;width:calc(7.69231% - 3.69231px);color:var(--text-faint);transition:color .4s, background-color .4s, box-shadow .4s, opacity .4s, transform .35s var(--ease-spring);border-radius:50%;place-items:center;font-size:.68rem;font-weight:500;display:grid}.demo-dot.is-done{color:hsl(var(--h) 95% 85%);background:hsl(var(--h) 80% 70% / .14)}.demo-dot.is-skipped{opacity:.5;text-decoration:line-through}.demo-dot.is-current{opacity:1;color:var(--primary-text);background:hsl(var(--h) 95% 84%);box-shadow:0 0 10px hsl(var(--h) 90% 70% / .7);text-decoration:none;transform:scale(1.15)}.demo-pause{width:40px;height:40px;position:absolute;top:16px;right:16px}.demo-pause svg{width:18px;height:18px}.demo-pause .icon-play{fill:currentColor;stroke-width:1px}.demo.is-paused .icon-pause,.demo:not(.is-paused) .icon-play{display:none}.demo.is-paused *,.demo.is-paused :before{animation-play-state:paused}.section{max-width:1080px;padding:80px max(var(--gutter), env(safe-area-inset-right)) 0 max(var(--gutter), env(safe-area-inset-left));margin-inline:auto;scroll-margin-top:24px}.section-head{text-align:center;max-width:560px;margin:0 auto 36px}.section-title{letter-spacing:-.01em;margin:0;font-size:clamp(1.9rem,7.5vw,2.6rem);font-weight:600;line-height:1.15}.section-lead{color:var(--text-dim);margin:12px 0 0;font-size:1.08rem;line-height:1.6}.steps{gap:16px;margin:0;padding:0;list-style:none;display:grid}.step-num{width:44px;height:44px;color:var(--primary-text);background:hsl(var(--h) 95% 84%);box-shadow:0 0 18px hsl(var(--h) 90% 70% / .55);border-radius:50%;place-items:center;font-size:1.2rem;font-weight:600;display:grid}.features{gap:16px;margin:0;padding:0;list-style:none;display:grid}.feature-icon{width:48px;height:48px;color:hsl(var(--h) 95% 85%);background:hsl(var(--h) 80% 70% / .14);box-shadow:inset 0 0 0 1px hsl(var(--h) 80% 80% / .2);border-radius:16px;place-items:center;display:grid}.feature-icon svg{width:22px;height:22px}@media (width<=599px){.step,.feature{grid-template-columns:auto minmax(0,1fr);column-gap:16px;padding:20px 20px 22px;display:grid}.step>:not(:first-child),.feature>:not(:first-child){grid-column:2}.step>:first-child,.feature>:first-child{grid-row:span 2}.step h3,.feature h3{margin:8px 0 4px;font-size:1.2rem}.steps,.features{gap:12px}}@media (width>=600px){.features{grid-template-columns:repeat(2,1fr)}}@media (width>=760px){.steps{grid-template-columns:repeat(3,1fr);gap:20px}}@media (width>=940px){.features{grid-template-columns:repeat(3,1fr);gap:20px}}.cloud{flex-wrap:wrap;justify-content:center;gap:10px;max-width:760px;margin:0 auto;padding:0;list-style:none;display:flex}.cloud li{background:hsl(var(--h) 70% 70% / .08);border:1px solid hsl(var(--h) 80% 80% / .2);color:hsl(var(--h) 90% 88%);border-radius:999px;padding:9px 16px;font-weight:500}.cloud.is-shuffled li{animation:pop-in .55s var(--ease-spring) both;animation-delay:calc(var(--i) * 30ms)}.cloud-actions{justify-content:center;margin-top:28px;display:flex}.dice{display:inline-block}.install{gap:16px;max-width:760px;margin-inline:auto;display:grid}.install-card h3{margin-top:0}.install-card ol{color:var(--text-dim);margin:12px 0 0;padding-left:1.3em;line-height:1.75}.inline-icon{vertical-align:-.15em;width:1.1em;height:1.1em;color:var(--text);margin-left:.15em}@media (width>=700px){.install{grid-template-columns:repeat(2,1fr);gap:20px}}.install-now{justify-content:center;margin-bottom:28px;display:flex}.install-now svg,.finale-actions svg{width:20px;height:20px}.install-done{max-width:760px;color:var(--text);text-align:center;background:#a996f524;border:1px solid #c4b5fd4d;border-radius:20px;margin:0 auto 28px;padding:16px 20px}.faq{gap:12px;max-width:760px;margin-inline:auto;display:grid}.faq-item h3{margin-top:0}.finale{padding:120px var(--gutter) 96px;text-align:center;flex-direction:column;align-items:center;display:flex}.finale .moon{--moon-size:110px}.finale .section-title{margin:40px 0 28px}.finale-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.footer{padding:28px var(--gutter) max(28px, env(safe-area-inset-bottom));color:var(--text-faint);text-align:center;border-top:1px solid #ffffff0f;font-size:.95rem}.footer p{margin:0}.footer .footer-maker{margin-top:4px;font-size:.85rem}.footer .footer-lang{margin-top:12px}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.7)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{transform:none}}
