:root{font-family:var(--lf-font);color:var(--lf-ink);background:var(--lf-bg);font-synthesis:none;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;border:1px solid var(--lf-line);border-radius:14px;background:var(--lf-paper);padding:10px 18px;cursor:pointer}button:hover{background:var(--lf-soft)}button:disabled{opacity:.55;cursor:default}:focus-visible{outline:3px solid var(--lf-accent-ink);outline-offset:3px}input,select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--lf-line);border-radius:10px;background:var(--lf-paper);font-size:1rem}label{display:grid;gap:6px;margin-bottom:16px;font-size:.95rem}.check{display:flex;align-items:center;gap:12px}input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--lf-accent-ink)}p{margin:8px 0 18px}h1,h2,h3,h4{line-height:1.25;font-weight:600;letter-spacing:-.025em}h1{font-size:1.55rem}h2{font-size:1.4rem}h3{font-size:1.1rem}.app{min-height:100svh;padding:max(20px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.topbar{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:20px}.wordmark{font-size:1rem;font-weight:650;letter-spacing:-.025em}.wordmark .tagline{font-weight:400;letter-spacing:0;color:var(--lf-muted)}.more-button{display:flex;align-items:center;gap:16px;background:transparent;border-color:transparent;font-size:.9rem}.more-button span{font-size:1.5rem}.stage-wrap{max-width:760px;margin:0 auto;text-align:center}.pet-window{position:relative;width:min(100%,520px);height:min(66svh,600px);min-height:320px;margin:auto}.pet-window canvas,.egg-stage,.egg-stage canvas{width:100%;height:100%;display:block;touch-action:pan-y}.signed-out .pet-window{height:min(37svh,330px);min-height:200px;max-width:340px}.conversation-dock{position:relative;margin-top:-20px}.voice-buttons,.pet-toolbar{display:flex;justify-content:center;align-items:center;gap:10px}.voice-buttons button,.pet-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px}.talk-button,.primary{background:var(--lf-primary);border-color:var(--lf-primary);color:var(--lf-on-primary)}.talk-button:hover,.primary:hover{background:var(--lf-primary-hover)}.talk-button{min-width:155px}.mic-button.is-muted{background:var(--lf-warning-bg);color:var(--lf-warning)}.end-button{background:var(--lf-paper)}.voice-spinner{width:16px;height:16px;border:2px solid var(--lf-paper);border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.session-note{margin:15px auto;font-size:.875rem;color:var(--lf-muted)}.hatch-note{max-width:420px;margin:18px auto;font-size:.875rem;color:var(--lf-muted)}.signin{max-width:390px;margin:0 auto}.signin h1,.signin p{text-align:center}.signin p{color:var(--lf-muted);font-size:.95rem}.signin .primary{width:100%}.challenge{display:flex;justify-content:center;min-height:65px}.invite-note{align-self:center;border-radius:999px;padding:4px 12px;background:var(--lf-soft);color:var(--lf-accent-ink);font-size:.8rem;font-weight:600}.text-button{background:transparent;border:0;width:100%;font-size:.875rem}.messages{max-width:500px;margin:16px auto 0;text-align:center;font-size:.9rem}.error{color:var(--lf-error)}.asset-error{position:absolute;inset:35% 12% auto;background:var(--lf-paper);padding:15px;border-radius:12px}.speech-bubble{position:absolute;bottom:var(--speech-bottom, 75%);left:50%;transform:translate(-50%);width:min(340px,calc(100% - 16px));margin:0;padding:14px 18px;border-radius:20px;background:var(--lf-paper);box-shadow:0 4px 20px #35423710;pointer-events:none;text-align:center;line-height:1.45;font-size:1rem}.speech-text{display:block;max-height:4.4em;overflow:hidden;overflow-wrap:anywhere}.speech-word{animation:appear .18s both}@keyframes appear{0%{opacity:0}to{opacity:1}}.sheet{width:min(560px,100%);max-height:100dvh;height:100dvh;margin:0 0 0 auto;padding:max(24px,env(safe-area-inset-top)) 28px max(30px,env(safe-area-inset-bottom));border:0;background:var(--lf-bg);color:var(--lf-ink);overflow-y:auto;overscroll-behavior:contain}.sheet::backdrop{background:#273b3440;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.sheet-header h2{margin:0}.sheet section{padding:14px 0 25px;border-bottom:1px solid var(--lf-line);margin-bottom:20px}.sheet p{font-size:1rem}.sheet .secondary,.sheet .companion-note,.companion-date,small{font-size:.875rem;color:var(--lf-muted)}details{padding:14px 0}summary{cursor:pointer;font-size:.95rem;font-weight:600;min-height:36px}.companion-eyebrow{display:none}.companion-card,.companion-memory{padding:16px 0;border-top:1px solid var(--lf-line)}.companion-card h4,.companion-memory h4{margin:8px 0}.companion-panel header{display:block}.companion-toggle{display:flex;align-items:center}.actions{display:flex;gap:8px;flex-wrap:wrap}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.sheet ol{padding-left:22px}.sheet li{margin-bottom:14px;overflow-wrap:anywhere}blockquote{margin:10px 0;padding-left:14px;border-left:3px solid var(--lf-line)}.companion-panel button{margin:4px 4px 4px 0}.sheet textarea{min-height:100px}@media(max-width:600px){.app{padding-left:18px;padding-right:18px}.topbar{gap:10px}.more-button{padding:8px 0 8px 10px;font-size:.875rem;gap:8px}.signed-in .pet-window{height:min(63svh,550px);min-height:290px}.sheet{height:90dvh;max-height:90dvh;margin:auto 0 0;border-radius:24px 24px 0 0;padding:22px 22px max(30px,env(safe-area-inset-bottom))}.signed-out .pet-window{height:29svh;min-height:170px}}@media(prefers-reduced-motion:reduce){.speech-word{animation:none}}select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--lf-muted) 50%),linear-gradient(135deg,var(--lf-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.check{min-height:44px}.growth-panel{margin:1.5rem 0;padding:1rem;border:1px solid var(--lf-line);border-radius:16px}.growth-panel progress{width:100%;accent-color:var(--lf-accent-ink);height:6px}.growth-panel details{margin-top:.8rem}.temperament-scale{margin:1rem 0}.temperament-scale>div{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem}.temperament-track{position:relative;height:4px;margin-top:12px;background:var(--lf-line);border-radius:2px}.temperament-track i{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--lf-accent-ink);transform:translate(-50%)}.growth-entry{padding:1rem 0;border-bottom:1px solid var(--lf-line)}.growth-entry blockquote{margin:.7rem 0;padding-left:.8rem;border-left:2px solid var(--lf-line)}.growth-notice{position:absolute;bottom:0;left:10%;width:80%;padding:.6rem;border-radius:12px;background:var(--lf-paper);color:var(--lf-ink);text-align:center;font-size:12px;pointer-events:auto}.growth-test-stage{display:grid;gap:6px;margin:12px 0;color:var(--lf-ink);font-size:13px}.growth-test-stage select{width:160px;min-height:36px;margin:0;padding:6px 10px;border:1px solid var(--lf-line);border-radius:8px;background:var(--lf-paper);color:var(--lf-ink);font:inherit}.growth-testing{text-align:left;margin:14px 0;padding:12px;border:1px dashed var(--lf-line);border-radius:12px}@font-face{font-family:DM Sans;src:url(/assets/dm-sans-OkNhvBry.ttf) format("truetype");font-style:normal;font-weight:100 1000;font-display:swap}:root{color-scheme:light dark;--lf-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--lf-bg: light-dark(#f7f3eb, #242120);--lf-paper: light-dark(#fffdf7, #2d2927);--lf-ink: light-dark(#342b30, #f3eee5);--lf-muted: light-dark(#74676c, #c1b5b9);--lf-line: light-dark(#ded6d0, #50454a);--lf-primary: #e9a887;--lf-primary-hover: light-dark(#e29a76, #f0b99c);--lf-on-primary: #342b30;--lf-accent: #b9cc91;--lf-on-accent: #342b30;--lf-accent-ink: light-dark(#526638, #b9cc91);--lf-soft: light-dark(#e5edda, #343e2b);--lf-error: light-dark(#994333, #f1a996);--lf-error-bg: light-dark(#f5e5df, #482f29);--lf-warning: light-dark(#76521c, #f0ca83);--lf-warning-bg: light-dark(#f6e8c9, #493b23);font-family:var(--lf-font);color:var(--lf-ink);font-synthesis:none}[hidden]{display:none!important}body{background:var(--lf-bg)}button,input,select,textarea{font-family:inherit}button{color:var(--lf-ink)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--lf-accent-ink);outline-offset:3px}input[type=range],input[type=checkbox],progress{accent-color:var(--lf-accent-ink)}button.primary,button.talk-button{background:var(--lf-primary);border-color:var(--lf-primary);color:var(--lf-on-primary)}button.primary:hover,button.talk-button:hover{background:var(--lf-primary-hover)}button.mic-button,button.mic-button:hover{color:var(--lf-on-accent);background:var(--lf-accent)}button.mic-button.is-muted{color:var(--lf-warning);background:var(--lf-warning-bg)}button.end-button{color:var(--lf-error);background:var(--lf-error-bg)}.error,.conversation .error,.pet-error{color:var(--lf-error)}.speech-bubble,.pet-message,.growth-notice{color:var(--lf-ink);background:var(--lf-paper)}.speech-bubble:after{border-top-color:var(--lf-paper)}.pet-toolbar{background:var(--lf-paper);border-color:var(--lf-line)}.brand-name,.wordmark{font-size:15px;font-weight:600;letter-spacing:-.4px;color:var(--lf-ink)}.settings-panel{max-width:780px;padding:28px 40px}.settings-header{display:block;margin:0;padding-bottom:0}.settings-header .brand-name{margin-bottom:22px}.app-nav{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--lf-line);padding:0 0 12px}.app-nav button{padding:9px 13px;font-size:14px;border:0;border-radius:12px;background:transparent;color:var(--lf-muted);min-height:38px}.app-nav button:hover{color:var(--lf-ink);background:var(--lf-soft)}.app-nav button[aria-current=page]{color:var(--lf-on-accent);background:var(--lf-accent)}.page-heading{margin:30px 0}.page-heading .page-kicker{margin:0 0 8px;color:var(--lf-muted);font-size:13px}.page-heading h1{font-size:34px;line-height:1.15;letter-spacing:-1.1px;font-weight:500;margin:0}:is(.settings-panel,.sheet)>:is(.conversation,.appearance-settings,.voice-effects,.account-settings,.companion-panel){padding:25px 0;border:0;border-top:1px solid var(--lf-line);background:transparent;border-radius:0;margin:0}:is(.settings-panel,.sheet) h2{font-size:19px;font-weight:500;letter-spacing:-.4px;margin:0 0 18px}:is(.settings-panel,.sheet) h3{font-size:16px;font-weight:500;letter-spacing:-.2px}:is(.settings-panel,.sheet) h4{font-size:17px;font-weight:500;margin:10px 0}:is(.settings-panel,.sheet) p{font-size:14px;line-height:1.6}:is(.settings-panel,.sheet) small,:is(.settings-panel,.sheet) .companion-note{color:var(--lf-muted);font-size:13px}:is(.settings-panel,.sheet) button{font-size:13px}:is(.settings-panel,.sheet) select,:is(.settings-panel,.sheet) textarea,:is(.settings-panel,.sheet) input:not([type=range]):not([type=checkbox]){background-color:var(--lf-paper);color:var(--lf-ink);border:1px solid var(--lf-line);border-radius:10px;padding:10px 12px;font:inherit}:is(.settings-panel,.sheet) summary{font-size:14px;font-weight:500;line-height:1.5;cursor:pointer}:is(.settings-panel,.sheet) details p{font-size:13px}:is(.settings-panel,.sheet) .actions{flex-wrap:wrap}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 0;font-size:14px}.setting-row select{min-width:160px;max-width:65%}.settings-panel .appearance{justify-content:flex-start}.settings-panel .appearance h2{font-size:14px;margin:0 0 12px}.settings-panel .effect-volume{display:flex;align-items:center;gap:20px;font-size:14px;margin:15px 0}.settings-panel .effect-volume input{flex:1;max-width:210px}.settings-panel .source-voice{border:0;margin-bottom:0;padding-bottom:0}.settings-panel .source-voice>label{font-size:14px}.settings-panel .voice-preview{background:var(--lf-paper);border:0;padding:16px;margin-top:18px;border-radius:14px}.settings-panel .source-voice-status{color:var(--lf-muted);font-size:13px}.settings-panel .conversation .actions{justify-content:flex-start;margin:18px 0}.settings-panel .voice-status{display:none}.settings-panel .captions{font-size:14px}.settings-panel footer{border-top:1px solid var(--lf-line);margin-top:18px;padding-top:18px;font-size:12px;color:var(--lf-muted)}:is(.settings-panel,.sheet) .companion-panel header{display:block}:is(.settings-panel,.sheet) .companion-panel header h2{margin-bottom:8px}.journal-tabs{display:flex;gap:22px;border-bottom:1px solid var(--lf-line);margin:24px 0}.journal-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;border-radius:0;padding:10px 0;margin:0;color:var(--lf-muted)}.journal-tabs button[aria-pressed=true]{color:var(--lf-ink);border-bottom-color:var(--lf-accent-ink)}:is(.settings-panel,.sheet) .growth-panel{border:0;border-radius:0;padding:0;margin:24px 0;background:transparent}.growth-panel .companion-eyebrow{display:none}:is(.settings-panel,.sheet) .growth-panel>h3{font-size:22px}:is(.settings-panel,.sheet) .growth-panel progress{height:5px}:is(.settings-panel,.sheet) .journal-logbook{margin-top:28px;border:0;padding:0}:is(.settings-panel,.sheet) .growth-entry,:is(.settings-panel,.sheet) .companion-card{padding:24px;margin:16px 0;border:0;border-radius:16px;background:var(--lf-paper)}:is(.settings-panel,.sheet) .growth-entry>p{font-size:17px;line-height:1.6;color:var(--lf-ink)}:is(.settings-panel,.sheet) .companion-empty{padding:30px 24px;border-radius:16px;background:var(--lf-paper);color:var(--lf-muted)}.companion-panel{overflow-wrap:anywhere}.companion-panel blockquote{border-color:var(--lf-line);color:var(--lf-muted)}.companion-panel button{border-color:var(--lf-line)}.companion-panel button:hover{background:var(--lf-soft)}.temperament-track{background:var(--lf-line)}.temperament-track i{background:var(--lf-accent-ink)}.sheet{background:var(--lf-bg);color:var(--lf-ink);width:min(600px,100%)}.sheet .page-heading{margin:30px 0}.sheet>section{border-color:var(--lf-line)}.sheet .sheet-header{margin-bottom:18px}.sheet .sheet-header button{border:0;background:transparent;color:var(--lf-muted)}.welcome{font-family:var(--lf-font)}.welcome .eyebrow{color:var(--lf-ink);font-size:14px;letter-spacing:-.3px;text-transform:none}.welcome-copy h1,.introduction .welcome-copy h1{font-size:32px;font-weight:500;letter-spacing:-1px}.welcome-copy>p:last-child,.introduction .welcome-copy>p:last-child{color:var(--lf-muted);font-size:15px;line-height:1.6}.welcome input{background:var(--lf-paper);color:var(--lf-ink);border-color:var(--lf-line)}.introduction{background:transparent}@media(max-width:540px){.settings-panel{padding:24px 20px}.page-heading h1{font-size:30px}.settings-header .app-nav{gap:4px}.app-nav button{padding-inline:10px}.sheet{padding-inline:22px}.source-voice-picker{flex-wrap:wrap}}@media(pointer:coarse){.app-nav button,.journal-tabs button,.sheet button,.sheet summary{min-height:44px}}.hatch-stage [role=alert]{visibility:visible}.companion-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--lf-muted);font-size:14px;pointer-events:none}.companion-loading>span:last-child{padding:4px 12px;border-radius:999px;background:color-mix(in srgb,var(--lf-paper) 86%,transparent)}.companion-loading-spinner{width:32px;height:32px;border:3px solid var(--lf-line);border-top-color:var(--lf-accent-ink);border-radius:50%;animation:companion-loading-spin .9s linear infinite}@keyframes companion-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.companion-loading-spinner{animation:none;border-style:dotted}}
