@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--color-slate-50:#f8fafc;--color-slate-900:#0f172b;--spacing:.25rem;--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-slate-50:lab(98.1434% -.369519 -1.05966);--color-slate-900:lab(7.78673% 1.82345 -15.0537)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-9{height:calc(var(--spacing) * 9)}.h-24{height:calc(var(--spacing) * 24)}.h-36{height:calc(var(--spacing) * 36)}.h-60{height:calc(var(--spacing) * 60)}.h-full{height:100%}.min-h-full{min-height:100%}.w-9{width:calc(var(--spacing) * 9)}.w-24{width:calc(var(--spacing) * 24)}.w-36{width:calc(var(--spacing) * 36)}.w-60{width:calc(var(--spacing) * 60)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.rounded{border-radius:.25rem}.bg-slate-50{background-color:var(--color-slate-50)}.text-slate-900{color:var(--color-slate-900)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body{background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}@keyframes talk-mouth{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}@keyframes idle-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3%)}}@keyframes idle-blink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.12)}}.friend-avatar{animation:2.8s ease-in-out infinite idle-bob}.friend-avatar__mouth{transform-box:fill-box;transform-origin:top}.friend-avatar__mouth--talking{animation:.22s ease-in-out infinite talk-mouth}.friend-avatar__eyes{transform-box:fill-box;transform-origin:50%;animation:4.5s ease-in-out infinite idle-blink}@media (prefers-reduced-motion:reduce){.friend-avatar,.friend-avatar__mouth--talking,.friend-avatar__eyes{animation:none}}:root{--background:#fcfaf6;--foreground:#343348}body{color:#343348;background:#fcfaf6!important}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}:focus-visible{outline-offset:4px;outline:3px solid #8874ca}.hub{width:min(1120px,100%);margin:0 auto;padding:0 32px 24px}.hub-header{border-bottom:1px solid #e9e4dd;align-items:center;gap:32px;padding:26px 0;display:flex}.pwa-install{color:#6b5787;white-space:nowrap;background:#f1ebf8;border:1px solid #d6cbe3;border-radius:18px;margin-left:auto;padding:9px 13px;font-size:11px;font-weight:800}.pwa-install+.profile-select{margin-left:0}.brand{letter-spacing:-1.5px;color:#44405c;font-size:29px;font-weight:900}.brand span{margin-left:4px;font-size:23px}.eyebrow{color:#858193;letter-spacing:1.4px;font-size:11px;font-weight:700}.profile-select{align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}select,input{color:#464155;background:#fff;border:1px solid #ded9e5;border-radius:10px;min-width:0;padding:9px 11px}.welcome{justify-content:space-between;align-items:center;gap:24px;padding:44px 12px 34px 0;display:flex}.welcome h1{letter-spacing:-1.7px;margin:10px 0;font-size:clamp(26px,3.7vw,40px);font-weight:800;line-height:1.4}.welcome p:not(.eyebrow){color:#817b87;font-size:14px}.welcome-art{justify-content:center;width:230px;display:flex;position:relative}.welcome-art span{background:#fff;border:1px solid #eee7df;border-radius:12px 12px 12px 0;padding:10px;font-size:11px;position:absolute;bottom:0;right:-6px;box-shadow:0 5px 15px #51463708}.path-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.path-card{border:1px solid #ffffff90;border-radius:22px;padding:24px;transition:transform .2s;position:relative}.path-card:hover{transform:translateY(-3px)}.peach{background:#fbe8da}.lavender{background:#eae5f6}.mint{background:#e2eee4}.sunny{background:#fff0bf}.path-icon{margin-bottom:20px;font-size:31px;display:block}.path-card small{color:#70677b;font-size:11px;font-weight:600}.path-card h2{letter-spacing:-.7px;margin:8px 0;font-size:21px;font-weight:800}.path-card p{color:#79717d;font-size:12px}.path-card b{margin-top:24px;font-size:12px;display:block}.section-heading{justify-content:space-between;align-items:flex-end;gap:12px;margin:36px 0 18px;display:flex}.section-heading h2,.settings-panel h2{letter-spacing:-.7px;margin-top:6px;font-size:22px;font-weight:800}.section-heading>span{color:#8b8491;font-size:11px}.friend-grid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.friend-card{background:#fff;border:2px solid #0000;border-radius:20px;padding:15px 8px;transition:border-color .2s}.friend-card.selected{background:#f5f1fc;border-color:#a997d6}.friend-card strong{margin-top:8px;font-size:14px;display:block}.friend-card span{color:#8b7ba7;margin-top:3px;font-size:11px;display:block}.friend-card small{color:#8a8390;margin-top:7px;font-size:10px;line-height:1.6;display:block}.settings-panel{background:#ffffff70;border:1px solid #e9e2da;border-radius:22px;grid-template-columns:1fr 2.3fr;gap:25px;margin-top:28px;padding:26px;display:grid}.settings-panel p:not(.eyebrow){color:#8a8290;margin-top:8px;font-size:12px;line-height:1.8}.settings-fields{min-width:0}.field-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.field-row label{flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.field-row input,.field-row select{width:100%;font-size:12px}.field-label{font-weight:700;color:#625a70!important;margin:16px 0 7px!important}.level-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.level-option{text-align:left;background:#fff;border:1px solid #e6e0eb;border-radius:12px;padding:11px}.level-option.selected{background:#f0eafa;border-color:#ad9ad7}.level-option b{font-size:12px}.level-option span{color:#8a8098;margin-top:3px;font-size:10px;display:block}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips button{background:#fff;border:1px solid #e6dfea;border-radius:20px;padding:7px 13px;font-size:11px}.chips button.active{background:#e8f1e9;border-color:#a7c6af}.fine-print{font-size:10px!important}.journey-strip{background:#f0ede6;border-radius:15px;align-items:center;gap:22px;margin-top:24px;padding:17px 22px;font-size:12px;display:flex}.journey-strip strong{color:#7b65a5;margin-left:6px}.journey-strip p{color:#8b8290;margin-left:auto;font-size:11px}.hub-footer{text-align:center;color:#99919a;padding:24px 0 5px;font-size:10px}.offline-page{background:radial-gradient(circle at 35% 25%,#f0e7fc,#0000 34%),#fcfaf6;place-items:center;min-height:100svh;padding:24px;display:grid}.offline-card{text-align:center;background:#fffdf9;border:1px solid #e6ddeb;border-radius:30px;width:min(100%,520px);padding:48px 34px;box-shadow:0 24px 70px #59476d18}.offline-card>span{font-size:64px;display:block}.offline-card h1{margin:12px 0;font-size:28px}.offline-card p:not(.eyebrow){color:#82778b;margin-bottom:24px}.save-error{color:#a44742;padding:15px;font-size:13px}.learn-shell{width:100%;max-width:820px;margin:0 auto;padding:24px}.learn-header{justify-content:space-between;align-items:center;margin-bottom:30px;font-size:13px;display:flex}.learn-title{letter-spacing:-1px;margin:9px 0;font-size:30px;font-weight:800}.muted{color:#8c8294;font-size:13px;line-height:1.8}.learn-tabs{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.learn-tabs button{background:#eee9e1;border-radius:20px;padding:10px 17px;font-size:13px}.learn-tabs button.active{color:#fff;background:#766391}.lesson-card{background:#fff;border:1px solid #e8e1d9;border-radius:20px;margin-bottom:15px;padding:24px}.lesson-card h2{margin:12px 0 6px;font-size:23px;font-weight:750}.lesson-card h3{font-size:16px;font-weight:700}.card-tag{color:#8d78ad;letter-spacing:1px;font-size:10px;font-weight:700}.card-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.soft-button,.primary-button{border-radius:12px;padding:11px 16px;font-size:13px;font-weight:650;display:inline-block}.soft-button{color:#76628f;background:#f1edf6}.primary-button{color:#fff;background:#766391}.game-options{gap:10px;margin:22px 0;display:grid}.game-options button{text-align:left;background:#fcfaff;border:1px solid #ded5e9;border-radius:13px;padding:16px}.feedback{background:#eaf3e9;border-radius:12px;margin:15px 0;padding:15px;font-size:14px}.word-bank{flex-wrap:wrap;gap:9px;margin:18px 0;display:flex}.word-bank button{background:#fff;border:1px solid #d9cce6;border-radius:10px;padding:10px 14px}.sentence-slot{background:#f5f0fa;border-radius:13px;min-height:72px;padding:12px}.progress-track{background:#eae3f1;border-radius:9px;height:7px;margin:20px 0;overflow:hidden}.progress-track>div{background:#a48ac4;height:100%}@media (max-width:700px){.hub{padding:0 18px 20px}.hub-header{gap:10px;padding:18px 0}.hub-header>.eyebrow{display:none}.welcome{padding:30px 0}.welcome-art{flex-shrink:0;width:110px}.welcome-art svg{width:105px;height:105px}.welcome-art span{padding:6px;font-size:9px}.welcome p:not(.eyebrow){font-size:12px}.path-grid{grid-template-columns:repeat(2,1fr);gap:9px}.path-card{border-radius:17px;padding:16px 12px}.path-card h2{font-size:17px}.path-card p{font-size:11px}.path-card small{font-size:9px}.path-card b{font-size:10px}.path-icon{margin-bottom:12px;font-size:27px}.friend-grid{grid-template-columns:repeat(3,1fr)}.settings-panel{grid-template-columns:1fr;gap:17px;padding:20px}.section-heading{flex-direction:column;align-items:start}.journey-strip{flex-wrap:wrap;gap:12px}.journey-strip p{margin-left:0}.field-row{grid-template-columns:1fr 1fr}.field-row label:last-child{grid-column:1/-1}}@media (max-width:390px){.path-grid{grid-template-columns:1fr}.path-icon{float:right}.path-card b{margin-top:10px}.welcome-art{display:none}}.talk-friend{align-items:center;gap:18px;margin-bottom:22px;display:flex}.mission-strip{background:#ece6f7;border-radius:16px;flex-direction:column;gap:6px;margin-bottom:16px;padding:14px 18px;font-size:13px;display:flex}.mission-strip span{color:#817192;font-size:11px}.talk-messages{flex-direction:column;gap:18px;min-height:180px;max-height:48vh;padding:8px 5px 18px;display:flex;overflow-y:auto}.talk-message{background:#fff;border:1px solid #e7e0da;border-radius:18px 18px 18px 3px;align-self:flex-start;max-width:90%;padding:17px 20px;font-size:17px;line-height:1.6}.talk-message.mine{background:#eae3f5;border-color:#eae3f5;border-radius:18px 18px 3px;align-self:flex-end}.talk-message .translation{color:#928799;margin-top:6px;font-size:12px}.replay{color:#9a8aa9;margin-top:9px;font-size:11px}.talk-message details{color:#887891;margin-top:10px;font-size:11px}.talk-message details summary{cursor:pointer}.talk-message details div{padding-top:8px}.example-panel{margin:18px 0}.example-panel .chips{margin-top:9px}.talk-controls{text-align:center;border-top:1px solid #e9e0d9;margin-top:14px;padding-top:18px}.talk-input{gap:8px;margin:16px 0;display:flex}.talk-input input{flex:1;width:0;font-size:13px}.talk-controls .card-actions{margin-top:10px}.friend-card{min-width:0}.friend-card svg{max-width:100%;height:auto}.memory-setting{color:#7c7188;align-items:center;gap:8px;margin-top:16px;font-size:11px;display:flex}.memory-setting input{accent-color:#8971a5}.person-avatar{aspect-ratio:1;background-repeat:no-repeat;background-size:200% 200%;border:3px solid #ffffffc0;border-radius:50%;flex-shrink:0;display:block}.person-avatar--talking{box-shadow:0 0 0 5px #b6cbbc80}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px}.people-grid .person-avatar{width:112px;max-width:100%;height:112px}.friend-categories{margin:0 0 16px}.voice-preview{color:#766a86;flex-wrap:wrap;align-items:center;gap:12px;padding:17px 0 0;font-size:12px;display:flex}.voice-preview small{color:#978b9f;flex-basis:100%;font-size:10px}.custom-interest-input{gap:8px;margin-bottom:10px;display:flex}.custom-interest-input input{flex:1;width:0;font-size:12px}.reading-now{outline:2px solid #7da281;background:#e2eddd!important}.adult-space .welcome h1{font-weight:700}.adult-space .path-card{border-radius:15px}.adult-space .path-icon{font-size:24px}.adult-space .friend-card{border-radius:15px}@media (prefers-reduced-motion:no-preference){.person-avatar--talking{animation:1.4s ease-in-out infinite voice-glow}@keyframes voice-glow{50%{box-shadow:0 0 0 8px #b6cbbc40}}}.audience-switch{margin-top:22px}.audience-switch+.welcome{padding-top:24px}.ella-portrait{aspect-ratio:2/3;isolation:isolate;background:#fff6de;border-radius:28px;width:100%;overflow:hidden}.ella-portrait-plane{width:100%;height:100%;transform:rotate(var(--ella-tilt,0deg)) scale(1.02);transform-origin:50% 80%;transition:transform .18s ease-out;position:relative}.ella-sprite{background-image:url(/characters/ella-expression-atlas-v1.png);background-position:0 0;background-size:300% 200%;position:absolute;inset:0}.ella-mouth-layer{-webkit-mask-image:radial-gradient(22% 9% at 51% 58%,#000 60%,#0000 100%);mask-image:radial-gradient(22% 9% at 51% 58%,#000 60%,#0000 100%)}.ella-eye-layer{-webkit-mask-image:radial-gradient(16% 8% at 38% 42%,#000 78%,#0000 100%),radial-gradient(16% 8% at 68% 44%,#000 78%,#0000 100%);mask-image:radial-gradient(16% 8% at 38% 42%,#000 78%,#0000 100%),radial-gradient(16% 8% at 68% 44%,#000 78%,#0000 100%)}.ella-preview{grid-template-columns:1.2fr 1fr;align-items:center;gap:28px;margin-top:28px;display:grid}.ella-preview .ella-portrait{justify-self:center;max-width:330px}.ella-preview .chips{margin-top:20px}.original-call-face{justify-content:center;align-items:center;display:flex}.original-call-face>.person-avatar{width:240px;height:240px}.original-call-face .ella-portrait{max-width:260px}.noah-portrait{background:#dcefff}.noah-sprite{background-image:url(/characters/noah-expression-atlas-v1.png)}.zoe-portrait{background:#ffe0d6}.zoe-sprite{background-image:url(/characters/zoe-expression-atlas-v2.png)}.oliver-portrait{background:#e4f0d8}.oliver-sprite{background-image:url(/characters/oliver-expression-atlas-v1.png)}.mia-portrait{background:#f4efe7}.mia-sprite{background-image:url(/characters/mia-expression-atlas-v1.png)}.leo-portrait{background:#eeebf7}.leo-sprite{background-image:url(/characters/leo-expression-atlas-v1.png)}.nora-portrait{background:#dfe9db}.nora-sprite{background-image:url(/characters/nora-expression-atlas-v1.png)}.eli-portrait{background:#dceaf5}.eli-sprite{background-image:url(/characters/eli-expression-atlas-v1.png)}@media (max-width:600px){.ella-preview{grid-template-columns:1fr}.ella-preview .ella-portrait{grid-row:1;max-width:270px}}.call-face{z-index:1;width:240px;max-width:100%;position:relative}.call-face .lipsync-face{width:100%;margin:0}.conversation-stage:has(.call-face){grid-template-columns:minmax(180px,280px) 1fr}.controlled-face{animation:none!important}.face-caption{color:#8c8097;margin-top:8px;font-size:10px}.face-control-layout{grid-template-columns:1fr 1.2fr;align-items:center;gap:20px;display:grid}.face-slider{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;font-size:12px;display:flex}.face-slider input{accent-color:#8872a8;width:65%}@media (max-width:600px){.conversation-stage:has(.call-face){text-align:center;grid-template-columns:1fr}.call-face{width:240px}.conversation-stage .call-face svg{width:100%;height:auto}.face-control-layout{grid-template-columns:1fr}.face-control-layout .lipsync-face{max-width:220px;margin:auto;display:block}}.avatar-lab{max-width:1050px}.lab-layout{grid-template-columns:1fr 1fr;gap:24px;margin:28px 0;display:grid}.lab-stage{background:#eaf0e8;border-radius:28px;flex-direction:column;align-items:center;padding:24px;display:flex}.lipsync-face{width:min(100%,340px);margin:18px 0}.avatar-lab textarea{border:1px solid #dcd3e6;border-radius:12px;width:100%;min-height:130px;margin-top:10px;padding:12px;font-size:15px;display:block}.avatar-lab audio{width:100%;margin:16px 0}.lab-note{background:#fff3d9;border-radius:12px;margin-top:16px;padding:12px;font-size:12px}.avatar-lab .lesson-card h2{font-size:21px}@media (prefers-reduced-motion:no-preference){.rig-eyes{transform-box:fill-box;transform-origin:50%;animation:4.8s infinite idle-blink}.lipsync-face-active{transform-origin:50% 85%;animation:3s ease-in-out infinite speaking-nod}}@media (max-width:700px){.lab-layout{grid-template-columns:1fr;gap:16px}.lipsync-face{max-width:280px}}.living-portrait{transform-origin:50% 85%;position:relative;overflow:hidden}.portrait-mouth{clip-path:ellipse(10% 5% at var(--mouth-x) var(--mouth-y));transform-origin:var(--mouth-x) var(--mouth-y);opacity:0;background-repeat:no-repeat;background-size:200% 200%;position:absolute;inset:0}.portrait-speaking .portrait-mouth{opacity:1}@media (prefers-reduced-motion:no-preference){.living-portrait{animation:5.2s ease-in-out infinite portrait-breathe}.portrait-speaking{animation:1.9s ease-in-out infinite speaking-nod}.portrait-speaking .portrait-mouth{animation:.73s linear infinite portrait-articulate}.animal-speaking{transform-origin:50% 85%;animation:1.7s ease-in-out infinite speaking-nod}.friend-avatar__mouth--talking{transform-origin:60px 77px;transform-box:view-box;animation:.73s linear infinite syllable-mouth}.avatar-listening{animation:4.6s ease-in-out infinite attentive-tilt}}@keyframes portrait-breathe{50%{transform:translateY(-1.5%)rotate(.5deg)}}@keyframes speaking-nod{0%,to{transform:rotate(-1deg)}35%{transform:translateY(1%)rotate(1.2deg)}70%{transform:translateY(-1%)rotate(-.5deg)}}@keyframes attentive-tilt{0%,to{transform:rotate(0)}35%,65%{transform:rotate(3deg)translateY(1%)}}@keyframes portrait-articulate{0%,to{transform:scale(1)}16%{transform:scale(.96,1.65)}30%{transform:scale(1.02,1.12)}46%{transform:scale(.92,1.8)}62%{transform:scale(1)}80%{transform:scale(.98,1.45)}}@keyframes syllable-mouth{0%,to{transform:scaleY(.18)}16%{transform:scale(.8,.95)}30%{transform:scaleY(.35)}46%{transform:scale(.72,1.1)}62%{transform:scaleY(.16)}80%{transform:scale(.95,.7)}}.conversation-stage{z-index:20;background:radial-gradient(circle at 18% 35%,#fff 0 14%,#0000 15%),linear-gradient(135deg,#f1ecfa,#e7f1e9);border:1px solid #e4ddeb;border-radius:28px;grid-template-columns:180px 1fr;align-items:center;gap:28px;min-height:220px;margin-bottom:18px;padding:25px 30px;display:grid;position:sticky;top:10px;overflow:hidden;box-shadow:0 14px 36px #584b6817}.stage-avatar{justify-items:center;display:grid;position:relative}.stage-avatar:before{content:"";background:#fffa;border-radius:50%;position:absolute;inset:12px;transform:scale(1.18)}.stage-avatar>svg,.stage-avatar>.person-avatar{z-index:1;position:relative}.stage-status{z-index:2;color:#716581;background:#fff;border-radius:14px;margin-top:-6px;padding:6px 11px;font-size:11px;font-weight:700;position:relative;box-shadow:0 5px 18px #62527e15}.conversation-stage h1{margin:7px 0;font-size:28px;font-weight:850}.conversation-stage h1 span{font-weight:500}.call-start,.call-pause{color:#fff;border-radius:24px;margin-top:18px;padding:12px 21px;font-size:13px;font-weight:750;box-shadow:0 8px 20px #69528e22}.call-start{background:#78629b}.call-pause{background:#887f8e}.conversation-stage.is-listening{border-color:#89af93;box-shadow:0 0 0 4px #bcd6c333}.conversation-stage.is-speaking{border-color:#a590cf;box-shadow:0 0 0 4px #bba8da33}.conversation-stage.is-thinking .stage-avatar{opacity:.78}.topic-picker{background:#f1eee8;border-radius:17px;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 18px;padding:14px 16px;display:flex}.topic-picker>span{color:#6e6575;margin-right:4px;font-size:11px;font-weight:800}.topic-picker button{color:#756b7c;background:#fff;border:1px solid #ddd5e2;border-radius:16px;padding:7px 11px;font-size:10px}.topic-picker button.active{color:#fff;background:#786391;border-color:#8973ad}.topic-picker small{color:#83798a;flex-basis:100%;margin-top:4px;font-size:10px}.hint-tip{color:#706347;background:#fff8dc;border-radius:12px;margin:9px 0;padding:11px 13px;font-size:12px}.example-panel .chips button span{color:#908699;margin-top:4px;font-size:9px;display:block}.hint-reveal{color:#715e91;background:#f7f3fb;border:1px dashed #a798bd;border-radius:14px;width:100%;margin:12px 0 18px;padding:13px;font-size:12px;font-weight:700}.hint-close{color:#81738e;margin-top:9px;font-size:10px;text-decoration:underline}.live-transcript{color:#546b5a;background:#e8f1ea;border-radius:13px;max-width:560px;margin:10px auto;padding:10px 15px;font-size:14px}@media (prefers-reduced-motion:no-preference){.conversation-stage.is-listening .stage-avatar:before{animation:1.5s ease-in-out infinite listening-pulse}@keyframes listening-pulse{50%{opacity:.6;transform:scale(1.3)}}}@media (max-width:600px){.conversation-stage{border-radius:22px;grid-template-columns:120px 1fr;gap:16px;min-height:175px;padding:18px}.conversation-stage .stage-avatar svg{width:112px;height:112px}.conversation-stage h1{font-size:21px}.conversation-stage .muted{font-size:10px}.call-start,.call-pause{margin-top:11px;padding:10px 15px}.topic-picker>span{flex-basis:100%}}.conversation-stage.video-call-stage{isolation:isolate;background:radial-gradient(circle at 50% 44%,#fff 0 24%,#0000 54%),linear-gradient(145deg,#e9e2f6,#dfeee4);grid-template-columns:1fr;min-height:min(70vh,680px);padding:18px;display:grid;position:sticky}.video-call-stage .stage-avatar{align-content:center;width:100%;min-height:min(64vh,620px)}.video-call-stage .stage-avatar:before{background:#ffffff9c;border-radius:42%;inset:10% 19%;transform:none}.video-call-stage .call-face{width:min(76vw,480px);max-width:none}.video-call-stage .original-call-face{width:min(70vw,420px,40vh)}.video-call-stage .original-call-face .ella-portrait{width:100%;max-width:none;box-shadow:0 28px 60px #55426929}.video-call-stage .call-face>svg{filter:drop-shadow(0 24px 28px #4e405125);width:min(68vw,470px,55vh);height:auto}.video-call-stage .stage-status{white-space:nowrap;padding:9px 15px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.video-call-stage .call-info{z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf1db;border:1px solid #ffffff9c;border-radius:18px;max-width:230px;padding:12px 15px;position:absolute;top:18px;left:20px;box-shadow:0 10px 30px #53445f18}.video-call-stage .call-info h1{margin:2px 0;font-size:19px}.video-call-stage .call-info .face-caption,.video-call-stage .call-info>.muted{display:none}.video-call-stage .call-info .eyebrow{font-size:8px}.video-call-stage .call-pause{margin-top:7px;padding:8px 12px;font-size:11px}.self-view{z-index:5;aspect-ratio:3/4;background:#5d5365;border:4px solid #fff;border-radius:22px;width:clamp(118px,20%,170px);position:absolute;bottom:18px;right:18px;overflow:hidden;box-shadow:0 18px 42px #3f344b3d}.self-view video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.self-view-placeholder{color:#fff;text-align:center;background:linear-gradient(145deg,#7d6c91,#5b6675);flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;padding:16px 9px 42px;display:flex}.self-view-placeholder span{font-size:32px}.self-view-placeholder b{font-size:12px}.self-view-placeholder small{color:#eee9f2;font-size:9px;line-height:1.4}.camera-toggle{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#211b27b8;border-radius:11px;padding:7px 5px;font-size:9px;font-weight:700;position:absolute;bottom:8px;left:8px;right:8px}.sing-shell{max-width:940px}.song-picker{grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0;display:grid}.song-picker button{text-align:left;background:#fff;border:1px solid #e4dce9;border-radius:18px;flex-direction:column;gap:5px;padding:17px;display:flex}.song-picker button.active{background:#f0e9f8;border-color:#8c74af;box-shadow:0 0 0 3px #8c74af18}.song-picker span{color:#8d78ad;font-size:9px;font-weight:800}.song-picker b{font-size:15px}.song-picker small{color:#8d8491;font-size:10px}.song-stage{background:linear-gradient(145deg,#e9e2f7,#e3f1e7);border-radius:28px;padding:28px;box-shadow:0 20px 50px #57466716}.song-stage-head{justify-content:space-between;align-items:start;gap:20px;display:flex}.song-stage-head h2{margin:5px 0;font-size:28px}.song-stage-head>div>p:not(.card-tag){color:#776d7f;font-size:12px}.song-speed label{color:#756984;font-size:11px}.song-speed select{background:#fff;border:1px solid #d5c9df;border-radius:10px;margin-left:7px;padding:7px}.karaoke-focus{text-align:center;background:#fffdf9e8;border-radius:24px;place-content:center;min-height:210px;margin:24px 0;padding:30px;display:grid}.karaoke-focus>span{color:#917dab;font-size:10px;font-weight:800}.karaoke-focus strong{margin:13px 0 9px;font-size:clamp(24px,4vw,38px);line-height:1.25;display:block}.karaoke-focus p{color:#7c7183;font-size:15px}.song-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.lyrics-panel{gap:8px;margin:18px 0;display:grid}.lyrics-panel>button{text-align:left;background:#fff;border:1px solid #e7e0e8;border-radius:15px;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:13px 16px;display:grid}.lyrics-panel>button.active{background:#f3edf9;border-color:#9a82b9}.lyrics-panel>button>span{color:#735f8d;background:#eee6f6;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.lyrics-panel b,.lyrics-panel small{display:block}.lyrics-panel b{font-size:14px}.lyrics-panel small{color:#8b8190;margin-top:4px;font-size:11px}.song-expression{border-bottom:1px solid #eee8e1;gap:12px;padding:12px 0;display:flex}.song-expression span{color:#82778a;font-size:13px}.youtube-setup label{color:#766b7f;gap:6px;margin:14px 0;font-size:11px;font-weight:700;display:grid}.youtube-setup input,.youtube-setup textarea{color:#3c3745;background:#fff;border:1px solid #ded5e4;border-radius:12px;width:100%;padding:12px;font-size:13px;font-weight:400}.youtube-setup textarea{resize:vertical;min-height:150px;line-height:1.7}.youtube-practice{grid-template-columns:1.1fr 1fr;align-items:stretch;gap:16px;display:grid}.youtube-frame{background:#211d25;border-radius:22px;min-height:320px;overflow:hidden}.youtube-frame iframe{border:0;width:100%;height:100%}.karaoke-focus.custom{min-height:320px;margin:0}.karaoke-focus.custom .song-actions{margin-top:18px}.song-instruments{color:#705f83;background:#ffffff91;border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:10px 13px;display:flex}.song-instruments>div{gap:3px;display:grid}.song-instruments span{font-size:11px;font-weight:800}.song-instruments small{color:#8a7f91;font-size:10px}.song-instruments label{white-space:nowrap;align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.song-instruments input{accent-color:#79619d}.suno-helper{background:linear-gradient(145deg,#fff8dc,#f4ecfa);margin-top:18px}.suno-helper h2{margin:7px 0;font-size:20px}.suno-helper>.song-actions{justify-content:flex-start;margin-top:16px}.audio-upload{color:#756584;cursor:pointer;background:#fff;border:1px solid #dcd2e5;border-radius:18px;padding:10px 14px;font-size:11px;font-weight:800}.audio-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.suno-brief{border-top:1px solid #e3d9dd;margin-top:18px;padding-top:18px}.suno-brief label{color:#766a7c;gap:7px;font-size:11px;font-weight:800;display:grid}.suno-brief textarea{color:#484050;resize:vertical;background:#fff;border:1px solid #ded4e4;border-radius:13px;width:100%;min-height:230px;padding:13px;font:11px/1.6 Arial,sans-serif}.suno-brief .song-actions{justify-content:flex-start;margin-top:10px}.suno-brief a.soft-button{align-items:center;text-decoration:none;display:inline-flex}.loaded-song{background:#fff;border-radius:14px;gap:8px;margin-top:16px;padding:14px;display:grid}.loaded-song audio{width:100%}.loaded-song small{color:#8b8190;font-size:9px}@media (max-width:700px){.song-picker{grid-template-columns:1fr}.song-picker button{padding:13px 15px}.song-stage{padding:18px 14px}.song-stage-head{align-items:center}.song-stage-head h2{font-size:22px}.song-instruments{flex-direction:column;align-items:flex-start}.karaoke-focus{min-height:190px;padding:22px 15px}.youtube-practice{grid-template-columns:1fr}.youtube-frame{aspect-ratio:16/9;min-height:0}.karaoke-focus.custom{min-height:240px}}@media (max-width:600px){.conversation-stage{top:6px}.conversation-stage.video-call-stage{min-height:62svh;padding:10px}.video-call-stage .stage-avatar{min-height:calc(62svh - 20px)}.video-call-stage .stage-avatar:before{inset:13% 8%}.video-call-stage .call-face{width:min(80vw,390px)}.video-call-stage .original-call-face{width:min(66vw,330px,35vh)}.video-call-stage .call-face>svg{width:min(76vw,360px,47vh);height:auto}.video-call-stage .call-info{text-align:left;border-radius:14px;max-width:170px;padding:9px 11px;top:10px;left:10px}.video-call-stage .call-info h1{font-size:16px}.video-call-stage .call-info h1 .muted{display:none}.video-call-stage .call-pause{margin-top:5px;padding:7px 10px}.video-call-stage .stage-status{font-size:9px;bottom:12px}.self-view{border-width:3px;border-radius:17px;width:108px;bottom:48px;right:10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
