:root{--moko-pink: #ff6fae;--moko-pink-dim: #d6568c;--moko-pink-deep: #b8407a;--moko-pink-soft: #ffd6e8;--moko-pink-mist: #fff0f6;--lavender: #c9b8e8;--lavender-soft: #ece6f9;--sky: #cfe8f5;--sun: #ffe39e;--leaf: #bfe0bd;--cream: #fffaf6;--ink: #4a3b44;--ink-soft: #8a7a82;--card: #ffffff;--radius: 28px;--radius-sm: 18px;--radius-pill: 999px;--shadow-soft: 0 18px 50px -22px rgba(216, 86, 140, .45);--shadow-card: 0 10px 36px -18px rgba(74, 59, 68, .28);--shadow-glow: 0 0 90px 10px rgba(255, 111, 174, .35);--maxw: 1080px;--font-body: "Nunito", ui-rounded, "Segoe UI", system-ui, -apple-system, sans-serif;--font-head: "Baloo 2", var(--font-body)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);line-height:1.65;font-size:18px;background:radial-gradient(1200px 600px at 50% -10%,var(--sky) 0%,transparent 60%),radial-gradient(900px 500px at 85% 10%,var(--lavender-soft) 0%,transparent 55%),radial-gradient(900px 600px at 10% 30%,var(--moko-pink-mist) 0%,transparent 55%),linear-gradient(180deg,#fbfdff 0%,var(--cream) 40%,var(--moko-pink-mist) 100%);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.15;color:var(--ink);margin:0 0 .4em}a{color:var(--moko-pink-deep)}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.topnav{position:sticky;top:0;z-index:20;background:#fffaf6b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.topnav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand{font-family:var(--font-head);font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}.nav-links{display:flex;gap:22px;align-items:center}.nav-links a{font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--moko-pink-deep);text-decoration:none}.nav-links a:hover{text-decoration:underline}.hero{text-align:center;padding:72px 0 40px}.mascot-frame{position:relative;display:inline-block;margin-bottom:32px}.mascot-frame:after{content:"";position:absolute;inset:8%;border-radius:50%;background:var(--moko-pink);filter:blur(70px);opacity:.4;z-index:-1}.mascot{width:min(560px,86vw);height:auto;border-radius:var(--radius);box-shadow:var(--shadow-soft);display:block}.eyebrow{display:inline-block;font-family:var(--font-head);font-weight:600;color:var(--moko-pink-deep);background:var(--moko-pink-soft);padding:6px 16px;border-radius:var(--radius-pill);font-size:.85rem;letter-spacing:.02em;margin-bottom:18px}.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);margin-bottom:.2em}.hero h1 .blush{color:var(--moko-pink)}.tagline{font-style:italic;color:var(--ink-soft);font-size:1.05rem;margin:0 0 20px}.lede{max-width:620px;margin:0 auto 8px;font-size:clamp(1.05rem,2.4vw,1.3rem);color:var(--ink)}.install{max-width:680px;margin:40px auto 0;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:28px 28px 32px;text-align:left}.install h2{font-size:1.15rem;text-align:center;margin-bottom:4px}.install .sub{text-align:center;color:var(--ink-soft);font-size:.95rem;margin:0 0 22px}.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:18px;flex-wrap:wrap}.tab{font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--ink-soft);background:var(--moko-pink-mist);border:2px solid transparent;border-radius:var(--radius-pill);padding:8px 20px;cursor:pointer;transition:all .18s ease}.tab:hover{color:var(--moko-pink-deep)}.tab[aria-selected=true]{color:#fff;background:var(--moko-pink);box-shadow:0 8px 20px -8px var(--moko-pink-dim)}.cmd{display:flex;align-items:center;gap:12px;background:#2c2230;border-radius:var(--radius-sm);padding:16px 16px 16px 20px}.cmd code{flex:1;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.98rem;color:#ffe9f3;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.cmd code .prompt{color:var(--moko-pink);user-select:none}.copy{flex-shrink:0;font-family:var(--font-head);font-weight:600;font-size:.85rem;color:#fff;background:var(--moko-pink);border:none;border-radius:var(--radius-pill);padding:9px 18px;cursor:pointer;transition:transform .12s ease,background .18s ease}.copy:hover{transform:translateY(-1px)}.copy:active{transform:translateY(0)}.copy.copied{background:var(--leaf);color:#2c4a2a}.panel[hidden]{display:none}.install .note{text-align:center;color:var(--ink-soft);font-size:.85rem;margin:16px 0 0}.features{padding:80px 0 40px}.features h2{text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:8px}.features .section-sub{text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 44px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.feature{background:var(--card);border-radius:var(--radius);padding:30px 28px;box-shadow:var(--shadow-card);transition:transform .2s ease,box-shadow .2s ease}.feature:hover{transform:translateY(-4px);box-shadow:0 22px 50px -22px #d8568c80}.feature .ico{font-size:2rem;display:grid;place-items:center;width:60px;height:60px;border-radius:var(--radius-sm);background:var(--moko-pink-mist);margin-bottom:16px}.feature:nth-child(2) .ico{background:var(--lavender-soft)}.feature:nth-child(3) .ico{background:#fff4d6}.feature:nth-child(4) .ico{background:#e3f3ff}.feature:nth-child(5) .ico{background:#e6f6e4}.feature h3{font-size:1.2rem;margin-bottom:6px}.feature p{margin:0;color:var(--ink-soft);font-size:.98rem}.demo{padding:70px 0 20px}.demo h2{text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:8px}.demo .section-sub{text-align:center;color:var(--ink-soft);max-width:580px;margin:0 auto 36px}.reach{padding:60px 0 30px}.reach h2{text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:8px}.reach .section-sub{text-align:center;color:var(--ink-soft);max-width:600px;margin:0 auto 40px}.reach-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;max-width:1000px;margin:0 auto}@media(max-width:760px){.reach-grid{grid-template-columns:1fr}}.footer{text-align:center;padding:60px 0 50px;color:var(--ink-soft);font-size:.92rem}.footer a{font-weight:600;text-decoration:none}.footer a:hover{text-decoration:underline}.footer .heart{color:var(--moko-pink)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}.feat:where(.astro-vnivfuh2){padding:64px 0 24px}.feat:where(.astro-vnivfuh2) h2:where(.astro-vnivfuh2){text-align:center;font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:8px}.feat-sub:where(.astro-vnivfuh2){text-align:center;color:var(--ink-soft);max-width:560px;margin:0 auto 40px}.fgrid:where(.astro-vnivfuh2){display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:20px}.fcard:where(.astro-vnivfuh2){background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px 22px;transition:transform .2s ease,box-shadow .2s ease}.fcard:where(.astro-vnivfuh2):hover{transform:translateY(-4px);box-shadow:0 22px 50px -22px #d8568c80}.fcard:where(.astro-vnivfuh2) h3:where(.astro-vnivfuh2){font-size:1.1rem;margin:0 0 4px}.fcard:where(.astro-vnivfuh2)>p:where(.astro-vnivfuh2){margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.45}.fx:where(.astro-vnivfuh2){min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;background:var(--moko-pink-mist);border-radius:var(--radius-sm);padding:14px;margin-bottom:16px}.mini-graph:where(.astro-vnivfuh2){width:100%;height:84px}.mini-graph:where(.astro-vnivfuh2) line:where(.astro-vnivfuh2){stroke:var(--moko-pink);stroke-width:2}.mini-graph:where(.astro-vnivfuh2) .n:where(.astro-vnivfuh2) rect:where(.astro-vnivfuh2){fill:#fff;stroke:var(--moko-pink-soft);stroke-width:1.5}.mini-graph:where(.astro-vnivfuh2) .n:where(.astro-vnivfuh2) text:where(.astro-vnivfuh2){fill:var(--moko-pink-deep);font-family:var(--font-head);font-weight:700;font-size:12px;text-anchor:middle}.mbubble:where(.astro-vnivfuh2){background:var(--lavender-soft);color:var(--ink);font-size:.88rem;line-height:1.4;padding:10px 14px;border-radius:16px 16px 16px 5px;max-width:95%;text-align:left}.mtag:where(.astro-vnivfuh2){font-family:var(--font-head);font-weight:600;font-size:.7rem;color:var(--moko-pink-deep);background:#fff;border-radius:var(--radius-pill);padding:3px 10px}.note:where(.astro-vnivfuh2){font-style:italic;color:var(--ink);font-size:.88rem;line-height:1.45;background:var(--lavender-soft);border-left:3px solid var(--moko-pink);border-radius:6px 12px 12px 6px;padding:10px 14px;text-align:left}.fx-dream:where(.astro-vnivfuh2) .moon:where(.astro-vnivfuh2){font-size:1.5rem}.dreamline:where(.astro-vnivfuh2){margin:0;font-size:.85rem;color:var(--ink);line-height:1.4}.fx-senses:where(.astro-vnivfuh2){flex-direction:row;flex-wrap:wrap;gap:8px}.chip:where(.astro-vnivfuh2){font-family:var(--font-head);font-weight:600;font-size:.82rem;color:var(--moko-pink-deep);background:#fff;border-radius:var(--radius-pill);padding:6px 12px}.fx-selfie:where(.astro-vnivfuh2){padding:0;overflow:hidden;position:relative}.fx-selfie:where(.astro-vnivfuh2) img:where(.astro-vnivfuh2){width:100%;height:190px;object-fit:cover;object-position:center;display:block}.fx-selfie:where(.astro-vnivfuh2) .cap:where(.astro-vnivfuh2){position:absolute;left:10px;bottom:10px;background:#ffffffd9;color:var(--moko-pink-deep);font-weight:600;font-size:.8rem;padding:4px 11px;border-radius:var(--radius-pill);backdrop-filter:blur(2px)}.wchip:where(.astro-vnivfuh2){font-family:var(--font-head);font-weight:600;font-size:.92rem;color:var(--ink);background:#fff;border-radius:var(--radius-pill);padding:9px 16px;box-shadow:var(--shadow-card)}.fx-consent:where(.astro-vnivfuh2) .ask:where(.astro-vnivfuh2){margin:0;font-size:.88rem;color:var(--ink)}.cbtns:where(.astro-vnivfuh2){display:flex;gap:8px}.cbtns:where(.astro-vnivfuh2) span:where(.astro-vnivfuh2){font-family:var(--font-head);font-weight:700;font-size:.8rem;border-radius:var(--radius-pill);padding:6px 14px}.cbtns:where(.astro-vnivfuh2) .yes:where(.astro-vnivfuh2){background:var(--leaf);color:#2c4a2a}.cbtns:where(.astro-vnivfuh2) .no:where(.astro-vnivfuh2){background:#fff;color:var(--ink-soft)}.fx-private:where(.astro-vnivfuh2){gap:8px}.fx-private:where(.astro-vnivfuh2) .lock:where(.astro-vnivfuh2){font-size:1.5rem}.fx-private:where(.astro-vnivfuh2) code:where(.astro-vnivfuh2){font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9rem;color:var(--ink);background:#fff;border-radius:8px;padding:4px 10px}.fx-private:where(.astro-vnivfuh2) .byo:where(.astro-vnivfuh2){font-size:.78rem;color:var(--ink-soft)}.mg-card:where(.astro-xzvyigke){max-width:760px;margin:0 auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:26px 26px 18px}.mg-chat:where(.astro-xzvyigke){display:flex;justify-content:flex-end;margin-bottom:6px}.mg-bubble:where(.astro-xzvyigke){max-width:80%;background:var(--moko-pink);color:#fff;padding:12px 18px;border-radius:20px 20px 6px;font-size:1rem;line-height:1.5;box-shadow:0 8px 20px -10px var(--moko-pink-dim)}.mg-bubble:where(.astro-xzvyigke) b:where(.astro-xzvyigke){font-weight:700}.mg-stage:where(.astro-xzvyigke) svg:where(.astro-xzvyigke){width:100%;height:auto;display:block;overflow:visible}.node:where(.astro-xzvyigke) rect:where(.astro-xzvyigke){fill:var(--moko-pink-mist);stroke:var(--moko-pink-soft);stroke-width:2}.node:where(.astro-xzvyigke) .t:where(.astro-xzvyigke){fill:var(--moko-pink-deep);font-family:var(--font-head);font-weight:700;font-size:17px;text-anchor:middle}.node:where(.astro-xzvyigke) .s:where(.astro-xzvyigke){fill:var(--ink-soft);font-family:var(--font-body);font-size:12px;text-anchor:middle}.node:where(.astro-xzvyigke).you .t:where(.astro-xzvyigke){font-size:18px}.node:where(.astro-xzvyigke).you rect:where(.astro-xzvyigke){fill:#fff;stroke:var(--moko-pink)}.elabel:where(.astro-xzvyigke){fill:var(--moko-pink-deep);font-family:var(--font-head);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-anchor:middle;paint-order:stroke;stroke:var(--card);stroke-width:4px}.mg-caption:where(.astro-xzvyigke){text-align:center;color:var(--ink-soft);font-size:.9rem;margin:14px 0 2px}.mg-stamp:where(.astro-xzvyigke){display:inline-block;background:var(--moko-pink-mist);color:var(--moko-pink-deep);font-weight:600;font-size:.78rem;padding:3px 12px;border-radius:var(--radius-pill);margin-right:8px}.mg-replay:where(.astro-xzvyigke){margin-left:8px;font-family:var(--font-head);font-weight:600;font-size:.8rem;color:var(--moko-pink-deep);background:transparent;border:1.5px solid var(--moko-pink-soft);border-radius:var(--radius-pill);padding:3px 12px;cursor:pointer}.mg-replay:where(.astro-xzvyigke):hover{background:var(--moko-pink-mist)}.mg-bubble:where(.astro-xzvyigke),.node:where(.astro-xzvyigke),.elabel:where(.astro-xzvyigke){opacity:0}.edge:where(.astro-xzvyigke){stroke-dasharray:1;stroke-dashoffset:1}.mg-card:where(.astro-xzvyigke).play .mg-bubble:where(.astro-xzvyigke){animation:mg-pop .5s ease forwards}.mg-card:where(.astro-xzvyigke).play .node:where(.astro-xzvyigke){animation:mg-pop .5s ease forwards;transform-box:fill-box;transform-origin:center}.mg-card:where(.astro-xzvyigke).play .elabel:where(.astro-xzvyigke){animation:mg-fade .4s ease forwards}.mg-card:where(.astro-xzvyigke).play .edge:where(.astro-xzvyigke){animation:mg-draw .6s ease forwards}.mg-card:where(.astro-xzvyigke).play .you:where(.astro-xzvyigke){animation-delay:0s}.mg-card:where(.astro-xzvyigke).play .e1:where(.astro-xzvyigke){animation-delay:.4s}.mg-card:where(.astro-xzvyigke).play .l1:where(.astro-xzvyigke){animation-delay:.7s}.mg-card:where(.astro-xzvyigke).play .maya:where(.astro-xzvyigke){animation-delay:.7s}.mg-card:where(.astro-xzvyigke).play .e2:where(.astro-xzvyigke){animation-delay:1.2s}.mg-card:where(.astro-xzvyigke).play .l2:where(.astro-xzvyigke){animation-delay:1.5s}.mg-card:where(.astro-xzvyigke).play .tom:where(.astro-xzvyigke){animation-delay:1.5s}.mg-card:where(.astro-xzvyigke).play .e3:where(.astro-xzvyigke){animation-delay:2s}.mg-card:where(.astro-xzvyigke).play .l3:where(.astro-xzvyigke){animation-delay:2.3s}.mg-card:where(.astro-xzvyigke).play .welly:where(.astro-xzvyigke){animation-delay:2.3s}.mg-card:where(.astro-xzvyigke).play .mg-stamp:where(.astro-xzvyigke){animation:mg-fade .5s ease 2.9s forwards}.mg-stamp:where(.astro-xzvyigke){opacity:0}@keyframes mg-pop{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes mg-fade{0%{opacity:0}to{opacity:1}}@keyframes mg-draw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.mg-bubble:where(.astro-xzvyigke),.node:where(.astro-xzvyigke),.elabel:where(.astro-xzvyigke),.mg-stamp:where(.astro-xzvyigke){opacity:1!important;animation:none!important}.edge:where(.astro-xzvyigke){stroke-dashoffset:0!important;animation:none!important}}
