@font-face{font-family:Fredoka;src:url("fonts/Fredoka-Variable.ttf") format("truetype");font-weight:300 700;font-display:swap}
/* Sample speech and Momi's reply share the invitation's paper and violet ink. */
.sample-play{display:grid;place-items:center;flex:none;width:44px;min-height:44px;padding:8px;border:0;border-radius:12px;background:transparent;color:var(--violet-deep)}
.sample-play:hover{background:#e6d5f3}.sample-play[aria-pressed=true]{background:#dec5ef}
.sample-play[aria-pressed=true] .play-icon:after{border:0;width:7px;height:7px;background:var(--white);left:50%;top:50%;transform:translate(-50%,-50%)}
.dialogue-line>div{min-width:0;overflow-wrap:anywhere}.audio-status{color:var(--muted);font-size:15px;text-align:left;margin:12px 0}.audio-status:empty{display:none}
.momi-welcome{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px 28px 28px;border:0;border-radius:16px;background:var(--white);color:var(--ink);box-shadow:0 16px 50px #39204e26;text-align:center}
.momi-welcome::backdrop{background:#2e173c80}.momi-welcome>img{width:180px;height:160px;object-fit:contain;margin:0 auto 14px}.momi-welcome h2{font-size:32px;line-height:1.15;text-wrap:balance}.momi-welcome p{font-size:17px;line-height:1.5;color:var(--muted);margin-bottom:18px}.momi-welcome #welcome-note{font-size:15px}.momi-welcome .button{width:100%}
@font-face{font-family:Nunito;src:url("fonts/Nunito-Variable.ttf") format("truetype");font-weight:200 1000;font-display:swap}
:root{--paper:#f5f0ff;--hero:#efebff;--ink:#2e173c;--muted:#655077;--violet:#9052b1;--violet-deep:#783a98;--pink:#db7fb7;--line:#ded1ee;--white:#fffcff;--shadow:0 8px 25px #39204e0d;--radius:16px;--content:1320px;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:var(--paper);font:400 18px/1.5 Nunito,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}h1,h2,h3,.brand{font-family:Fredoka,Nunito,sans-serif;letter-spacing:-.025em}h1,h2,h3,p{margin-top:0}h2{font-size:clamp(29px,3cqw,43px);font-weight:600;line-height:1.15;margin-bottom:12px}h3{font-size:25px;font-weight:550;line-height:1.2;margin-bottom:8px}::selection{background:#e5c9f0;color:var(--ink)}:focus-visible{outline:3px solid var(--violet-deep);outline-offset:5px}input{caret-color:var(--violet-deep)}::-webkit-scrollbar{width:10px;height:8px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:#c5a4d7;border:2px solid var(--paper);border-radius:8px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-100px;z-index:20;padding:10px 20px;background:var(--white)}.skip-link:focus{top:10px}
.site-header{max-width:1480px;margin:auto;padding:12px 4.5%;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper)}.brand{font-weight:650;font-size:38px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;line-height:1}.brand-flower{display:inline-block;width:27px;height:29px;background:url("assets/flower.webp") center/contain no-repeat}.site-header nav{display:flex;gap:30px;align-items:center}.site-header nav a{display:flex;align-items:center;gap:5px;font-size:17px;text-decoration:none;white-space:nowrap}.site-header nav a:hover{color:var(--violet-deep)}.nav-icon{display:inline-block;width:34px;height:34px;flex:none;background-image:url("assets/menu-icons.webp");background-size:300% 100%;background-repeat:no-repeat;vertical-align:middle}.nav-icon.book{background-position:0 0}.nav-icon.paw{background-position:50% 0}.nav-icon.house{background-position:100% 0}
.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--violet);color:white;border:0;border-radius:16px;padding:15px 24px;font-weight:800;font-size:17px;line-height:1.2;text-decoration:none;min-height:54px;transition:background .18s ease,transform .18s ease}.button:hover{background:var(--violet-deep);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button:disabled{opacity:.65}.button.secondary{background:#fffafc;color:var(--ink);border:1px solid var(--line)}.button.secondary:hover{background:#f5e9ff}.header-cta{font-size:15px;padding:12px 22px;min-height:46px;border-radius:22px}.arrow{display:inline-block;width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);flex:none}.arrow.back{transform:rotate(-135deg)}.play-icon{display:inline-flex;position:relative;width:20px;height:20px;border-radius:50%;background:currentColor;flex:none}.play-icon:after{content:"";position:absolute;left:8px;top:6px;border-left:6px solid var(--white);border-top:4px solid transparent;border-bottom:4px solid transparent}.bookmark-icon{display:inline-block;width:15px;height:19px;border:2px solid currentColor;border-radius:2px;flex:none}.bookmark-icon:after{content:"";display:block;width:7px;height:7px;background:var(--paper);border-top:2px solid currentColor;border-left:2px solid currentColor;transform:translate(2px,11px) rotate(45deg)}
.hero{position:relative;background:var(--hero);overflow:hidden}.letter-scene{position:relative;max-width:1560px;margin:auto;aspect-ratio:2/1}.letter-art{width:100%;height:100%;object-fit:cover}.letter-copy{position:absolute;left:15.4%;top:23%;width:50%;z-index:1}.invitation{font-size:clamp(15px,1.2cqw,19px);font-weight:600;margin-bottom:16px}.letter-copy h1{font-size:clamp(34px,3.9cqw,61px);font-weight:650;line-height:1.06;margin-bottom:23px;white-space:nowrap}.letter-copy h1 span{color:#834499}.hero-description{max-width:535px;font-size:clamp(17px,1.5cqw,23px);line-height:1.38;margin-bottom:26px;width:86%}.hero-actions{display:flex;gap:14px;align-items:center}.hero-actions .button{font-size:clamp(14px,1.1cqw,18px);padding:16px 22px;gap:12px}.extension-note{font-size:clamp(12px,.95cqw,15px);margin:16px 0 0;color:var(--muted)}.postcard-note{position:absolute;top:44%;left:56%;font-size:clamp(16px,1.8cqw,27px);font-style:italic;color:#894573;transform:rotate(-7deg);line-height:1.4;pointer-events:none}.hero-wave{position:relative;display:block;width:100%;height:50px;background:var(--hero);margin-top:-18px}
.section-wrap{width:min(var(--content),calc(100% - 100px));margin:auto}.walkthrough{padding:32px 0 58px;text-align:center}.section-intro{color:var(--muted);margin-bottom:30px;font-size:19px}.step-tabs{display:flex;align-items:center;justify-content:center;margin:26px auto 25px;max-width:840px}.step-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:25px;background:#f8f4ff;color:var(--ink);min-height:54px;flex:1;font-size:19px;font-weight:750;padding:10px 22px;white-space:nowrap}.step-tabs button[aria-selected=true]{background:var(--violet);color:white;border-color:var(--violet)}.step-tabs button[aria-selected=true] .play-icon:after{border-left-color:var(--violet)}.step-tabs button .nav-icon{width:25px;height:25px}.step-connector{width:32px;height:0;border-top:2px dashed var(--line);flex:none}.demo-layout{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:28px;align-items:center;text-align:left}.browser-preview{overflow:hidden;border-radius:var(--radius);background:#fffbff;box-shadow:var(--shadow)}.browser-bar{height:38px;display:flex;align-items:center;gap:7px;padding:0 17px;background:#eee5f8}.browser-bar i{display:block;width:9px;height:9px;background:#c994b6;border-radius:50%}.browser-bar i:nth-child(2){background:#dfc28a}.browser-bar i:nth-child(3){background:#9fbdad}.browser-bar>span{font-size:12px;color:var(--muted);margin-left:10px}.demo-content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:16px;padding:16px;min-height:410px}.scene-preview{position:relative;overflow:hidden;border-radius:12px;background:#e7ddef;min-height:378px;aspect-ratio:16/10}.screenshot-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px 25% 80px 30px;text-align:center;background:#e8dfef}.screenshot-placeholder p{font-size:22px;font-weight:700;color:#5f4775;max-width:290px;line-height:1.25;margin-bottom:7px}.screenshot-placeholder>span{font-size:14px;color:var(--muted)}.screen-outline{position:relative;display:grid;place-items:center;width:70px;height:49px;border:2px solid #ab90bf;border-radius:8px;margin-bottom:25px;color:#9173a7}.screen-outline:before{content:"";position:absolute;width:29px;height:2px;background:#ab90bf;bottom:-10px}.tv-screenshot{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.sample-subtitle{position:absolute;bottom:23px;left:20px;right:155px;background:#3a2846d9;padding:12px 16px;border-radius:8px;text-align:center;color:white;line-height:1.35}.sample-subtitle span{display:block;font-size:16px}.sample-subtitle span:first-child{font-size:21px;font-weight:700;margin-bottom:3px}.momi-overlay{position:absolute;right:8px;bottom:0;width:135px}.momi-overlay>img{width:135px;height:auto}.speech-bubble{position:absolute;right:8px;bottom:126px;width:154px;background:var(--white);padding:12px 14px;border-radius:14px;box-shadow:0 3px 16px #3a224219;font-size:14px;line-height:1.3;margin:0}.speech-bubble:after{content:"";position:absolute;bottom:-7px;right:32px;width:14px;height:14px;background:var(--white);transform:rotate(45deg)}.speech-bubble strong{display:block;font-weight:800;margin-bottom:3px}.dialogue-panel{padding:4px 4px 2px}.panel-heading{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:8px 4px 12px;font-size:15px;font-weight:750}.sample-label{font-size:12px;color:var(--muted);font-weight:500}.demo-details{padding-top:15px}.dialogue-line{display:flex;gap:12px;align-items:flex-start;background:#f4edfc;border-radius:12px;padding:14px;margin-bottom:12px}.dialogue-line>.play-icon{color:var(--violet);margin-top:3px;width:18px;height:18px}.dialogue-line strong{display:block;font-size:18px;font-weight:650}.dialogue-line small{display:block;font-size:13px;color:var(--muted);margin-top:3px}.demo-action{width:100%;min-height:44px;margin-top:10px;border-radius:12px;font-size:14px}.demo-details p{color:var(--muted);font-size:15px;line-height:1.5;margin-bottom:14px}.demo-details .practice-prompt{font-size:19px;color:var(--ink);font-weight:700}.practice-choices{display:flex;flex-direction:column;gap:8px}.practice-choices button{padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:15px;text-align:left}.practice-choices button:hover{background:#efe1fa}.practice-choices button[aria-pressed=true]{background:#eee0f6;border-color:var(--violet)}.practice-result{min-height:24px;padding-top:12px}.language-picker>p{font-weight:750;margin-bottom:16px;font-size:17px}.language-picker>div{display:flex;flex-direction:column;gap:10px}.language-picker button{min-height:44px;border:0;background:#fdf9ff;color:var(--ink);border-radius:24px;padding:10px 16px;font-size:15px}.language-picker button[aria-pressed=true]{background:#dfc8f4;font-weight:800}.language-picker button:hover{background:#eadaf8}.demo-caption{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted);margin-top:18px;text-align:left}.demo-caption p{margin:0;max-width:780px}.demo-caption>span{white-space:nowrap;font-size:12px}
.companions-room{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:55px;align-items:start;padding:30px 0 75px}.companion-content h2{font-size:clamp(29px,2.8cqw,40px)}.companion-content .section-intro{margin-bottom:24px}.companion-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:15px;color:var(--muted)}.carousel-controls{display:flex;gap:8px}.carousel-controls button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:var(--white);border-radius:50%;color:var(--ink)}.carousel-controls button:disabled{opacity:.35}.companion-list{display:flex;gap:14px;list-style:none;margin:0;padding:4px 3px 16px;overflow-x:auto;scroll-snap-type:x mandatory}.companion-list li{flex:0 0 99px;text-align:center;scroll-snap-align:start}.companion-avatar{width:99px;height:106px;border-radius:14px;background:#ece8f0;overflow:hidden;margin-bottom:9px;padding:5px}.companion-sprite{display:block;width:100%;height:100%;background:url("assets/companions.webp");background-size:300% 200%;background-repeat:no-repeat}.fox{background-position:0 0}.rabbit{background-position:50% 0}.cat{background-position:100% 0}.dragon{background-position:0 100%}.robot{background-position:50% 100%}.owl{background-position:100% 100%}.available .companion-avatar{background:#f1e2fc;outline:2px solid #bd8cdc;outline-offset:1px}.coming-soon .companion-sprite{filter:grayscale(1);opacity:.58}.coming-soon strong{color:#66596e}.companion-list strong{display:block;font-size:15px}.companion-status{display:block;font-size:11px;color:#655a6d;margin-top:4px;white-space:nowrap}.available .companion-status{color:var(--violet-deep)}.companion-footnote{font-size:14px;color:var(--muted);margin-top:15px;margin-bottom:0}.room-preview{margin:0}.room-preview>img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:16px}.room-preview figcaption{padding:17px 0 0}.room-preview p{font-size:16px;color:var(--muted);margin:0;line-height:1.4}
.waitlist{overflow-x:clip;position:relative;display:flex;align-items:center;justify-content:center;gap:50px;background:#eee5fc;padding:58px max(30px,calc((100cqw - 1320px)/2));isolation:isolate}.waitlist:before{content:"";position:absolute;left:-5%;top:-22px;width:110%;height:45px;border-radius:50% 50% 0 0;background:#eee5fc;z-index:-1}.waitlist-art{flex:0 0 210px;align-self:flex-end;transform:rotate(-4deg)}.waitlist-art img{width:210px}.waitlist-content{max-width:780px;flex:1}.waitlist-content>p{color:var(--muted);margin-bottom:25px}.signup-fields{display:flex;gap:12px}.signup-fields input{flex:1;min-width:0;background:#fffbff;border:1px solid #c9b4df;border-radius:16px;padding:15px 18px;color:var(--ink);font-size:17px;min-height:54px}.signup-fields input::placeholder{color:#786483}.signup-fields input[aria-invalid=true]{border-color:#a93a69;outline-color:#a93a69}.signup-fields .button{flex:none;font-size:16px}.newsletter-choice{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px;margin-top:17px;cursor:pointer}.newsletter-choice input{width:17px;height:17px;accent-color:var(--violet-deep);margin:2px 0 0;flex:none}.optional{font-size:12px}.signup-note{font-size:13px;color:var(--muted);margin:13px 0 0}.form-status{font-size:15px;line-height:1.4;margin:12px 0 0;min-height:0}.form-status:empty{display:none}.form-status.error{color:#963057}.waitlist-content .from-momi{font-style:italic;font-size:16px;color:#7d4c70;margin:20px 0 0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(1320px,calc(100% - 100px));margin:auto;min-height:92px;padding:22px 0}.site-footer .brand{font-size:27px}.site-footer .brand-flower{width:20px;height:20px}.site-footer p{font-size:14px;color:var(--muted);margin:0}.site-footer>a:last-child:not(.brand){display:flex;align-items:center;gap:12px;font-size:14px;text-decoration:none}
@media(min-width:1600px){.letter-copy{top:24%}}
@media(max-width:1150px){.site-header{padding-inline:4%;gap:18px}.site-header nav{gap:18px}.site-header nav a{font-size:15px}.brand{font-size:32px}.hero-actions{gap:9px}.hero-actions .button{padding:12px 16px;min-height:46px}.letter-copy{top:22%}.letter-copy h1{font-size:3.9cqw;margin-bottom:18px}.invitation{margin-bottom:10px}.hero-description{font-size:1.65cqw;margin-bottom:17px}.extension-note{margin-top:12px}.section-wrap{width:calc(100% - 64px)}.demo-layout{grid-template-columns:minmax(0,1fr) 118px;gap:18px}.demo-content{grid-template-columns:minmax(0,1.45fr) minmax(220px,1fr);min-height:370px}.scene-preview{min-height:335px}.sample-subtitle{right:110px;left:10px;font-size:14px;padding:10px}.sample-subtitle span:first-child{font-size:18px}.momi-overlay,.momi-overlay>img{width:110px}.speech-bubble{bottom:101px;width:143px;font-size:13px}.screenshot-placeholder{padding-right:20%;padding-bottom:100px}.screenshot-placeholder p{font-size:19px}.companions-room{grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr);gap:30px}.companion-list li{flex-basis:88px}.companion-avatar{width:88px;height:94px}.waitlist{gap:30px}.waitlist-art{flex-basis:150px}.waitlist-art img{width:150px}.site-footer{width:calc(100% - 64px)}}
@media(max-width:800px){.site-header{min-height:72px;flex-wrap:wrap;padding:14px 24px;gap:14px}.site-header nav{order:3;width:100%;justify-content:center;gap:24px}.site-header nav a{font-size:14px}.nav-icon{width:28px;height:28px}.brand{font-size:31px}.header-cta{font-size:13px;min-height:42px;padding:11px 15px}.letter-scene{aspect-ratio:auto;padding-top:0;padding-bottom:20px}.letter-art{height:auto;aspect-ratio:2/1;object-fit:contain}.letter-copy{position:relative;inset:auto;margin:-2px auto 0;width:calc(100% - 48px);padding:22px 26px 28px;background:#fff6ee;border-radius:16px;box-shadow:0 5px 20px #48204d0d}.invitation{font-size:15px;margin-bottom:12px}.letter-copy h1{font-size:clamp(30px,5.7cqw,45px);white-space:normal;margin-bottom:19px;line-height:1.08}.hero-description{font-size:18px;width:100%;max-width:560px;margin-bottom:23px}.hero-actions .button{font-size:15px;padding:14px 18px;min-height:48px}.extension-note{font-size:13px;margin-top:16px}.postcard-note{display:none}.hero-wave{height:34px;margin-top:-1px}.walkthrough{padding-top:25px;padding-bottom:35px}.section-wrap{width:calc(100% - 48px)}.section-intro{font-size:17px;margin-bottom:22px}.step-tabs button{min-height:48px;font-size:16px;padding:10px 16px;gap:8px}.step-connector{width:16px}.demo-layout{display:flex;flex-direction:column-reverse;align-items:stretch;gap:16px}.language-picker{display:flex;align-items:center;gap:15px}.language-picker>p{font-size:15px;white-space:nowrap;margin:0}.language-picker>div{flex-direction:row;gap:8px;overflow-x:auto;padding:4px}.language-picker button{font-size:13px;padding:8px 13px;min-height:38px}.demo-content{grid-template-columns:minmax(0,1.3fr) minmax(205px,1fr);padding:12px;gap:12px}.demo-caption{flex-direction:column;gap:7px}.companions-room{grid-template-columns:1fr;padding:30px 0 60px;gap:34px}.room-preview{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}.room-preview figcaption{padding:0}.room-preview h3{font-size:23px}.companion-list li{flex-basis:104px}.companion-avatar{width:104px;height:110px}.waitlist{padding:40px 24px;gap:20px}.waitlist-art{display:none}.waitlist-content h2{font-size:33px}.site-footer{width:calc(100% - 48px);flex-wrap:wrap;gap:16px}.site-footer p{display:none}}
@media(max-width:560px){.site-header{padding:13px 18px}.site-header nav{gap:19px}.site-header nav a{font-size:12px;gap:3px}.site-header .nav-icon{width:25px;height:25px}.brand{font-size:29px}.header-cta{font-size:12px;padding-inline:13px;min-height:40px}.letter-art{aspect-ratio:1.65/1;object-fit:cover;object-position:70% center}.letter-copy{width:calc(100% - 32px);padding:23px 20px 24px;margin-top:0}.letter-copy h1{font-size:clamp(28px,7.7cqw,39px);letter-spacing:-.028em}.hero-description{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch;gap:10px}.hero-actions .button{font-size:15px;min-height:49px}.extension-note{text-align:center;font-size:12px}.section-wrap{width:calc(100% - 36px)}h2{font-size:29px}.walkthrough h2{max-width:330px;margin-inline:auto}.section-intro{font-size:16px}.step-tabs{margin-top:23px}.step-tabs button{font-size:14px;padding:10px 9px;gap:6px;min-height:46px}.step-tabs button .play-icon{width:17px;height:17px}.step-tabs button .play-icon:after{left:7px;top:5px}.step-tabs .nav-icon{width:22px;height:22px}.step-connector{width:10px}.language-picker{display:block;text-align:center}.language-picker>p{margin-bottom:5px}.language-picker>div{justify-content:center;gap:5px}.language-picker button{padding:9px 11px;min-height:40px;font-size:12px}.demo-content{display:block;padding:10px;min-height:0}.scene-preview{aspect-ratio:16/11;min-height:245px}.screenshot-placeholder{padding:30px 100px 83px 15px}.screenshot-placeholder p{font-size:17px;max-width:190px}.screenshot-placeholder>span{font-size:11px}.screen-outline{width:47px;height:33px;margin-bottom:17px}.sample-subtitle{bottom:14px;left:8px;right:113px;padding:9px 6px}.sample-subtitle span:first-child{font-size:17px}.sample-subtitle span{font-size:12px}.momi-overlay,.momi-overlay>img{width:101px}.speech-bubble{width:137px;bottom:98px;right:0;font-size:12px;padding:10px}.dialogue-panel{padding:13px 7px 7px}.demo-details{padding-top:13px}.dialogue-line{margin-bottom:9px;padding:13px}.dialogue-line strong{font-size:18px}.demo-details p{font-size:15px}.demo-caption{font-size:13px}.companions-room{padding-top:25px;gap:32px}.companion-content h2{font-size:29px}.companion-list{gap:12px}.companion-list li{flex-basis:96px}.companion-avatar{width:96px;height:104px}.room-preview{display:block}.room-preview>img{aspect-ratio:16/9}.room-preview figcaption{padding-top:17px}.room-preview h3{font-size:24px}.waitlist{padding:38px 22px 35px;text-align:center}.waitlist-content h2{font-size:32px}.waitlist-content>p{font-size:17px}.signup-fields{flex-direction:column;gap:10px}.signup-fields .button{min-height:52px}.signup-fields input{min-height:52px;font-size:16px}.newsletter-choice{text-align:left;font-size:13px;max-width:340px;margin-inline:auto;margin-top:17px}.signup-note{font-size:12px}.form-status{text-align:left}.site-footer{width:calc(100% - 36px);padding:23px 0}.site-footer .brand{font-size:26px}.site-footer>a:last-child:not(.brand){font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover{transform:none}}
.companion-content{min-width:0}
/* Keep reference proportions on wide displays; fluid units follow the page width. */
html{background:var(--paper)}
body{max-width:1440px;margin-inline:auto;container-type:inline-size}
.companion-list{padding-inline:6px;scroll-padding-inline:6px}
.site-footer .community-link{min-height:44px;padding:8px 0;color:var(--violet-deep);font-weight:750}
.community-link:hover{color:var(--ink);text-decoration:underline}
.discord-icon{display:inline-block;flex:none;width:24px;height:24px;background:currentColor;mask:url("assets/discord.svg") center/contain no-repeat;-webkit-mask:url("assets/discord.svg") center/contain no-repeat}
.video-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:5px;min-height:40px;padding:8px 9px 3px;color:#fff;background:linear-gradient(transparent,#271b35e8);border-radius:0 0 10px 10px}
.video-controls button{display:grid;place-items:center;width:30px;height:30px;flex:none;border:0;border-radius:4px;color:inherit;background:none;padding:5px}
.video-controls button:disabled{opacity:.72}
.video-controls button:not(:disabled):hover{background:#ffffff25}
.video-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.video-controls button[aria-pressed=true]{box-shadow:inset 0 -2px #e5bcff}
.video-timeline{position:absolute;left:12px;right:12px;top:3px;height:2px;background:#ffffff6b}
.video-timeline span{display:block;width:0;height:100%;background:#e5bcff}
.video-volume{width:52px;height:2px;background:#ffffff9e}
.video-time{margin-left:auto;white-space:nowrap;font:600 10px/1 Nunito,sans-serif;font-variant-numeric:tabular-nums}
.scene-preview .sample-subtitle{bottom:46px}
.scene-preview .momi-overlay{bottom:30px}
.scene-preview .world-placeholder{display:block;padding:0}
.world-placeholder img{width:100%;height:100%;object-fit:cover;object-position:center}
.scene-preview:fullscreen{width:100%;height:100%;aspect-ratio:auto;background:#271b35}
.scene-preview:fullscreen .tv-screenshot{object-fit:contain}
.scene-preview:fullscreen .video-controls{padding:12px 20px;min-height:60px}
@media(max-width:560px){.video-controls{gap:1px;padding-inline:5px}.video-volume{width:24px}.video-controls button{width:32px;height:36px}.video-time{font-size:9px}.screenshot-placeholder{padding-bottom:115px}.scene-preview .sample-subtitle{bottom:46px}.scene-preview .momi-overlay{bottom:32px}}
/* Preserve the natural proportions of raster art; HTML dimensions reserve space. */
img{height:auto}
.brand-flower{background:var(--pink);mask:url("assets/flower.webp") center/contain no-repeat;-webkit-mask:url("assets/flower.webp") center/contain no-repeat}
.companion-sprite.fox{background-size:289.81% 204.8%;background-position:2.98% 1.91%}
.companion-sprite.rabbit{background-size:388.86% 204.8%;background-position:53.29% 1.53%}
.companion-sprite.cat{background-size:333.91% 228.57%;background-position:98.51% 10.42%}
.companion-sprite.dragon{background-size:333.91% 222.61%;background-position:6.69% 95.21%}
.companion-sprite.robot{background-size:341.33% 220.22%;background-position:52.85% 96.06%}
.companion-sprite.owl{background-size:334.64% 222.61%;background-position:98.14% 95.74%}
.letter-scene{animation:letter-delivery .7s cubic-bezier(.16,1,.3,1) both}
@keyframes letter-delivery{from{transform:translateY(8px)}to{transform:translateY(0)}}
/* Approved 1024 × 1536 composition: preserve the reference's rhythm and details. */
.letter-copy h1 span{color:var(--ink)}
.letter-message{transform:rotate(-5deg);transform-origin:left center;margin-bottom:22px}
.letter-copy h1{margin-bottom:17px}
.hero-description{margin-bottom:0}
.hero-wave{display:none}
.inline-bookmark{margin-left:auto;padding:4px 3px;border:0;background:none;color:var(--violet);display:flex;align-items:center;justify-content:center;min-width:24px;min-height:26px}
.inline-bookmark[aria-pressed=true]{color:var(--violet-deep);background:#e9d6f6;border-radius:5px}
.companion-content{position:relative}
.companion-heading{position:absolute;left:-36px;right:-36px;top:133px;margin:0;pointer-events:none}
.carousel-controls{width:100%;justify-content:space-between}
.carousel-controls button{pointer-events:auto}
.room-preview>img{aspect-ratio:362/188}
.waitlist{display:block;text-align:center;padding:35px 0 31px;background:#f1eafb}
.waitlist:before{display:none}
.closing-art{position:absolute;top:0;height:100%;object-fit:contain;pointer-events:none;z-index:-1}
.closing-left{left:0;width:26.85%;object-position:left center}
.closing-right{right:0;width:24.51%;object-position:right center}
.waitlist-content{position:relative;max-width:none;width:51%;margin:auto}
.waitlist-content>p{margin-bottom:17px}
.waitlist-content h2{white-space:nowrap;margin-bottom:10px}
.signup-fields{gap:0;position:relative}
.signup-fields input{padding-right:24px;border-radius:16px 0 0 16px}
.signup-fields .button{border-radius:0 16px 16px 0}
.signup-meta{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:15px}
.newsletter-choice{margin:0;font-size:13px;text-align:left}
.signup-note{margin:0;padding-left:20px;border-left:1px solid #c5addb;white-space:nowrap;font-size:13px}
.site-footer{min-height:65px}
.site-footer p{display:block;margin:0;font-size:12px}
@media(min-width:801px){
 .site-header{min-height:4.88cqw;padding:8px 6.8%;max-width:none}
 .site-header .brand{font-size:clamp(33px,3.25cqw,49px)}
 .site-header nav a{font-size:clamp(14px,1.37cqw,21px)}
 .site-header .nav-icon{width:40px;height:40px}
 .header-cta{font-size:clamp(14px,1.25cqw,19px);min-height:clamp(39px,3.81cqw,58px);padding:10px 24px}
 .letter-scene{max-width:none;aspect-ratio:1024/465}
 .letter-art{height:100%;object-fit:cover}
 .letter-copy{left:16%;top:20%;width:48%}
 .invitation{font-size:clamp(14px,1.56cqw,23px);margin-bottom:12px}
 .letter-copy h1{font-size:clamp(28px,3.5cqw,54px);line-height:1.08;white-space:nowrap;font-weight:600}
 .hero-description{font-size:clamp(16px,1.66cqw,25px);width:88%;line-height:1.35;max-width:none}
 .hero-actions{gap:16px}
 .hero-actions .button{font-size:clamp(14px,1.37cqw,21px);min-height:clamp(48px,4.68cqw,71px);padding:13px 22px}
 .extension-note{font-size:clamp(11px,1.07cqw,16px);margin-top:14px}
 .walkthrough{padding-top:1.76cqw;padding-bottom:3cqw}
 .walkthrough h2{font-size:3.125cqw;line-height:1.15;margin-bottom:0}
 .step-tabs{margin:1.17cqw auto 1.56cqw;max-width:57cqw}
 .step-tabs button{min-height:4.1cqw;font-size:1.66cqw;padding:8px 19px}
 .demo-layout{grid-template-columns:minmax(0,1fr) 12%;gap:2cqw}
 .demo-content{padding:1.1cqw;gap:1.5cqw;min-height:0;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr)}
 .scene-preview{min-height:0;aspect-ratio:16/9}
 .dialogue-panel{padding:0}
 .panel-heading{padding:5px 4px 9px;font-size:1.36cqw}
 .demo-details{padding-top:10px}
 .dialogue-line{padding:8px 10px;margin-bottom:8px;gap:10px}
 .dialogue-line strong{font-size:1.36cqw;line-height:1.2}
 .dialogue-line small{font-size:1.075cqw;line-height:1.2;margin-top:3px}
 .demo-action{min-height:3.9cqw;margin-top:10px;font-size:1.37cqw}
 .demo-caption{margin-top:8px}
 .demo-caption>span{font-size:11px}
 .companions-room{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:4.8cqw;padding-top:1.3cqw;padding-bottom:3.8cqw}
 .companion-content h2{font-size:2.93cqw;white-space:nowrap}
 .companion-content .section-intro{font-size:1.56cqw;margin-bottom:25px}
 .companion-heading{top:9.9cqw}
 .companion-list{gap:1.1cqw}
 .companion-list li{flex-basis:7.95cqw}
 .companion-avatar{width:7.95cqw;height:8.4cqw}
 .companion-list strong{font-size:1.27cqw}
 .companion-status{font-size:1.05cqw}
 .room-preview h3{font-size:1.66cqw;margin-bottom:5px}
 .room-preview p{font-size:1.37cqw;line-height:1.3}
 .room-preview figcaption{padding-top:12px}
 .waitlist{padding-top:2.35cqw;padding-bottom:2.7cqw}
 .waitlist-content h2{font-size:2.73cqw}
 .waitlist-content>p{font-size:1.37cqw}
 .signup-fields input{min-height:4.4cqw;font-size:1.27cqw;padding:12px 18px}
 .signup-fields .button{min-height:4.4cqw;font-size:1.37cqw;padding:12px 22px}
 .newsletter-choice,.signup-note{font-size:1.07cqw}
 .site-footer{min-height:4.49cqw;width:86.4%;padding:12px 0}
 .site-footer .brand{font-size:2.34cqw}
}
@media(max-width:800px){
 .letter-message{transform:none;margin-bottom:23px}
 .letter-copy h1{font-weight:650}
 .hero-wave{display:block}
 .hero-description{margin-bottom:0}
 .step-tabs{margin-top:20px}
 .companion-heading{position:static;pointer-events:auto;margin-bottom:12px}
 .carousel-controls{justify-content:flex-end}
 .waitlist{padding:38px 24px}
 .waitlist-content{width:100%;max-width:650px}
 .waitlist-content h2{white-space:normal}
 .closing-art{opacity:.16;width:32%;object-fit:cover}
 .closing-left{object-position:20% bottom}
 .closing-right{object-position:80% top}
 .signup-fields{gap:10px}
 .signup-fields input,.signup-fields .button{border-radius:16px}
 .signup-meta{flex-wrap:wrap;gap:12px}
 .newsletter-choice{margin:0}
 .signup-note{border:0;padding:0}
 .site-footer{min-height:65px}
}
.extension-note{display:flex;align-items:center;gap:9px}
.extension-note img{width:24px;height:24px;flex:none}
@media(max-width:800px){.extension-note{justify-content:center}.extension-note img{width:21px;height:21px}}
@media(min-width:801px){.waitlist{background:#f1eafb url("assets/closing-background.webp") center/104% auto no-repeat}.closing-art{display:none}}
/* Blend the illustration plates into the surrounding paper on wide screens. */
.companion-carousel{position:relative}
.carousel-controls button{padding:0}
.carousel-controls .arrow{transform:translateX(-3px) rotate(45deg)}
.carousel-controls .arrow.back{transform:translateX(3px) rotate(-135deg)}
.dialogue-line>.play-icon::after{left:50%;top:50%;transform:translate(-40%,-50%)}
@media(min-width:801px){.companion-heading{top:calc(4px + 4.2cqw - 18px)}}
@media(min-width:1441px){
 .hero{background:var(--paper)}
 .letter-art{
  mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent),linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 12px),transparent);
  mask-composite:intersect;
 }
 .waitlist:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--paper),transparent 48px,transparent calc(100% - 48px),var(--paper)),linear-gradient(to bottom,var(--paper),transparent 24px,transparent calc(100% - 24px),var(--paper))}
}
.step-tabs .step-icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
