@font-face{font-family:'Nunito';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/nunito-latin.woff2') format('woff2')}
:root{--violet:#7c3aed;--ink:#24154f;--muted:#655a7c;--paper:#f8f7ff;--line:#e6dff1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Nunito',ui-rounded,'SF Pro Rounded',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--violet)}a:focus-visible,summary:focus-visible{outline:3px solid #db2777;outline-offset:6px}::selection{background:#d9c5ff;color:var(--ink)}.wrap{width:min(1120px,calc(100% - 64px));margin:auto}header{padding:26px 0;border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:18px;font-weight:750;line-height:1.2}.brand img{width:44px;height:44px;border-radius:12px}.nav-links{display:flex;gap:30px;align-items:center}.nav-links a{font-size:15px;text-decoration:none;font-weight:650}.nav-links a[aria-current]{color:var(--violet);text-decoration:underline}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding:80px 0 68px}h1,h2,h3{line-height:1.1;text-wrap:balance;letter-spacing:-.035em}h1{font-size:clamp(44px,5.5vw,72px);margin:0 0 28px;font-weight:800}h1 em{color:var(--violet);font-style:normal}.lead{font-size:20px;line-height:1.7;max-width:48ch;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border-radius:999px;background:var(--violet);color:white;font-weight:650;text-decoration:none;margin-top:16px}.button:hover{background:#5b21b6;color:white}.hero-art{background:#eae0ff;border-radius:48% 48% 24px 24px;padding:34px 28px 18px;align-self:stretch;display:flex;align-items:center;justify-content:center}.hero-art img{width:100%;max-height:430px;object-fit:contain}.platform{font-size:14px;color:var(--muted);margin-top:20px}.about{border-top:1px solid var(--line);padding:66px 0 76px;display:grid;grid-template-columns:1fr 1.8fr;gap:75px}h2{font-size:34px;margin:0 0 24px}h3{font-size:22px;margin:0 0 10px;letter-spacing:-.02em}.features{display:grid;grid-template-columns:1fr 1fr;gap:36px 42px}.features p{margin:0;color:var(--muted)}.support-banner{padding:36px 40px;background:#4c1d95;border-radius:24px;color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:70px}.support-banner h2{font-size:28px;margin:0 0 8px}.support-banner p{margin:0;color:#eee5ff}.support-banner a{white-space:nowrap;font-weight:700;color:white}footer{border-top:1px solid var(--line);padding:26px 0;font-size:14px;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:24px}.support-head{padding:65px 0 36px;max-width:720px}.support-head h1{font-size:56px}.support-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;padding-bottom:80px}.faq h2{font-size:28px;margin:20px 0 28px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{font-size:18px;font-weight:650;cursor:pointer;padding-right:15px}details p{color:var(--muted);margin:16px 0 4px}aside{align-self:start;background:#eee6fc;border-radius:24px;padding:30px}aside h2{font-size:28px}aside p,aside li{color:var(--muted)}aside ul{padding-left:22px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10;border-radius:8px}.skip:focus{top:10px} @media(max-width:720px){.wrap{width:calc(100% - 40px)}header{padding:20px 0}.brand{font-size:15px;max-width:none}.brand img{width:38px;height:38px}.nav-links{gap:18px}.nav-links a{font-size:14px}.hero{grid-template-columns:1fr;gap:32px;padding:44px 0}.hero h1{font-size:48px}.lead{font-size:18px}.hero-art{padding:25px 40px;border-radius:120px 120px 22px 22px}.hero-art img{max-height:280px}.about{grid-template-columns:1fr;gap:12px;padding:44px 0}.features{gap:30px;grid-template-columns:1fr}.support-banner{padding:28px;display:block;margin-bottom:44px}.support-banner a{display:inline-block;margin-top:18px}.support-head{padding:44px 0 20px}.support-head h1{font-size:44px}.support-layout{grid-template-columns:1fr;gap:36px;padding-bottom:44px}.footer-inner{flex-direction:column;gap:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.footer-links{display:flex;flex-wrap:wrap;gap:12px 24px}.policy{max-width:800px;padding-bottom:72px}.policy-heading{padding:60px 0 30px;border:0}.policy h1{font-size:clamp(40px,6vw,56px);margin-bottom:16px}.policy-date{font-size:14px;color:var(--muted)}.policy .lead{max-width:100%}.policy section{margin-top:38px}.policy h2{font-size:27px;line-height:1.25;margin-bottom:14px;letter-spacing:-.02em;text-wrap:initial}.policy section p{margin:12px 0;color:var(--muted)}.policy section a{color:#6d28d9}.policy section a:hover{color:#4c1d95}@media(max-width:720px){.policy-heading{padding-top:40px}.policy section{margin-top:30px}.policy h2{font-size:24px}}

.character-feature{display:flex;flex-direction:column;align-items:flex-start}.feature-character{display:block;width:112px;height:112px;object-fit:contain;margin-bottom:18px}.character-feature h3{margin-top:0}@media(max-width:720px){.character-feature{display:grid;grid-template-columns:82px minmax(0,1fr);gap:18px;align-items:start}.feature-character{width:82px;height:92px;margin:0}.character-feature h3{font-size:21px}}

.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px}.hero-actions .button{margin-top:0}.learn-link{font-size:16px;font-weight:650}.hero-actions .button{max-width:100%;text-align:center}

.app-screenshots{padding:60px 0 72px;border-top:1px solid var(--line)}.app-screenshots h2{text-align:center;margin-bottom:40px}.screenshot-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px;max-width:960px;margin:auto}.screenshot-gallery figure{margin:0;min-width:0}.iphone-frame{max-width:280px;margin:auto;padding:7px;background:#241f2c;border:2px solid #514a5a;border-radius:38px;box-shadow:0 16px 32px #24154f18}.iphone-frame img{display:block;width:100%;height:auto;border-radius:29px}.screenshot-gallery figcaption{text-align:center;font-size:18px;font-weight:750;margin-top:24px;line-height:1.35}@media(max-width:720px){.app-screenshots{padding:44px 0}.screenshot-gallery{grid-template-columns:1fr;gap:38px}.app-screenshots h2{font-size:30px}.iphone-frame{max-width:280px}.screenshot-gallery figcaption{margin-top:18px}}

.founder{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:center;gap:64px;padding:64px 0 72px;border-top:1px solid var(--line)}.founder-photo{display:block;width:100%;aspect-ratio:5/6;object-fit:cover;object-position:center bottom;border-radius:28px}.founder-story{max-width:620px}.founder-story h2{color:var(--violet);font-size:38px}.founder-story p{color:var(--muted);font-size:18px;line-height:1.8;margin:0 0 20px}.founder-story p:last-child{margin-bottom:0}@media(max-width:720px){.founder{grid-template-columns:1fr;gap:30px;padding:44px 0}.founder-photo{max-width:300px;margin:auto}.founder-story h2{font-size:32px}.founder-story p{font-size:17px}}

.brand{white-space:nowrap}.brand img{flex-shrink:0}@media(max-width:720px){header nav{flex-wrap:wrap;gap:14px}.nav-links{margin-left:auto}}

/* Shared interaction and reading refinements. */
.nav-links a,.footer-links a,.learn-link,.support-banner a{display:inline-flex;align-items:center;min-height:44px}
.nav-links a{padding:0 6px}.nav-links{gap:18px}.footer-inner{align-items:center}.footer-links{gap:4px 24px}
.policy{overflow-wrap:anywhere}.policy-heading{padding-bottom:8px}.policy h3{line-height:1.35;letter-spacing:-.02em}.policy li+li{margin-top:6px}
section[id]{scroll-margin-top:28px}
@media(min-width:721px) and (max-width:1000px){
.hero{gap:32px;padding:60px 0}.hero-art{align-self:center;aspect-ratio:1/1;padding:24px}.hero-art img{height:auto}
.about{grid-template-columns:1fr;gap:20px}.features{gap:36px}.founder{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:36px}.screenshot-gallery{gap:24px}
}
@media(max-width:720px){
body>header{padding:14px 0}header nav{gap:4px 14px}.brand{min-height:44px}.nav-links{gap:12px}.nav-links a{padding:0 8px}.footer-inner{align-items:flex-start}.policy-heading{padding-bottom:0}.hero h1{font-size:clamp(40px,12.3vw,48px)}
}

.faq-page .support-head{max-width:850px}.faq-page .support-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:56px}.faq-page summary{min-height:44px;line-height:1.4;display:list-item}.faq-page details{padding:16px 0}.faq-page aside a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}.faq-page .faq h2{margin-top:0}@media(max-width:900px){.faq-page .support-layout{grid-template-columns:1fr;gap:36px}.faq-page aside{max-width:100%}}

.app-download{gap:12px}.download-apple-logo{width:24px;height:28px;flex:0 0 24px;object-fit:contain}

/* Quiet, individual character motion; the original transparent artwork stays intact. */
.character-motion{position:relative;display:block;aspect-ratio:1;transform-origin:50% 85%;animation-play-state:paused}
.character-motion>img{display:block;width:100%;height:100%;object-fit:contain}
.hero-art>.character-motion{width:min(100%,430px);flex:none}
.character-eyelid{position:absolute;pointer-events:none;overflow:hidden;border-radius:50%;left:var(--eye-x);top:var(--eye-y);width:var(--eye-w);height:var(--eye-h);transform:rotate(var(--eye-angle,0deg));opacity:0}
.character-eyelid>span{position:absolute;left:0;width:100%;height:50.5%;background:var(--lid-color);transform:scaleY(0)}
.lid-upper{top:0;transform-origin:top;border-bottom:2px solid var(--lid-line)}
.lid-lower{bottom:0;transform-origin:bottom}
.character-robot{--eye-x:33.9%;--eye-y:29.5%;--eye-w:32.2%;--eye-h:31.7%;--lid-color:linear-gradient(115deg,#25d8d3,#1bc1d8);--lid-line:#057b96;animation:robot-hop 5s ease-in-out infinite}
.character-motion{animation-play-state:paused}
.character-motion.is-moving{animation-play-state:running}
.character-motion.is-blinking .character-eyelid{opacity:1}
.character-motion.is-blinking .character-eyelid>span{animation:character-blink 220ms ease-in-out both}
@keyframes character-blink{0%,100%{transform:scaleY(0)}40%,55%{transform:scaleY(1)}}
@keyframes robot-hop{0%,68%,88%,100%{transform:translateY(0) scale(1)}72%{transform:translateY(2px) scale(1.025,.975)}78%{transform:translateY(-14px) scale(.99,1.01)}84%{transform:translateY(1px) scale(1.025,.975)}}
.motion-toggle{font:inherit;font-size:14px;color:var(--violet);border:0;background:none;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.motion-toggle[hidden]{display:none}
.motion-toggle:focus-visible{outline:2px solid var(--violet);outline-offset:4px;border-radius:3px}
@media(max-width:720px){.hero-art>.character-motion{width:min(100%,280px)}.character-motion.feature-character{height:82px;margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.character-motion,.character-motion.is-moving{animation:none!important}.character-eyelid{display:none}.motion-toggle{display:none}}
.character-eyelid::after{content:"";position:absolute;left:12%;top:36%;width:76%;height:15%;border-bottom:2px solid var(--lid-line);border-radius:0 0 50% 50%;opacity:0;transform:scaleX(.5)}
.character-motion.is-blinking .character-eyelid::after{animation:blink-crease 220ms ease-in-out both}
@keyframes blink-crease{0%,20%,80%,100%{opacity:0;transform:scaleX(.5)}40%,55%{opacity:1;transform:scaleX(1)}}

/* Interaction motion stays brief; reading content never waits for an entrance. */
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:8px;right:8px;bottom:7px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 180ms cubic-bezier(.16,1,.3,1)}
.nav-links a[aria-current]{text-decoration:none}
.nav-links a[aria-current]::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.learn-link,.support-banner a{transition:text-underline-offset 180ms ease}
.learn-link:focus-visible,.support-banner a:focus-visible{text-underline-offset:.4em}
details[open]>:not(summary){animation:answer-open 160ms ease-out}
@keyframes answer-open{from{opacity:.5}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
 .nav-links a:hover::after{transform:scaleX(1)}
 .learn-link:hover,.support-banner a:hover{text-underline-offset:.4em}
}
html[data-motion-paused="true"] .button,html[data-motion-paused="true"] .download-apple-logo,html[data-motion-paused="true"] .nav-links a::after,html[data-motion-paused="true"] .learn-link,html[data-motion-paused="true"] .support-banner a{transition:none}
html[data-motion-paused="true"] .button:active,html[data-motion-paused="true"] .button:hover .download-apple-logo{transform:none}
@media(prefers-reduced-motion:reduce){
 .button,.download-apple-logo,.nav-links a::after,.learn-link,.support-banner a{transition:none}
 .button:active,.button:hover .download-apple-logo{transform:none}
 details[open]>:not(summary){animation:none}
}
