:root{color-scheme:light;--ink:#080808;--yellow:#ffd000;--paper:#f0eef6;--card:#fff;--muted:#8b8992;--lavender:#e5e1ed}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{min-height:100svh;overflow:hidden}
button,textarea{font:inherit}
button{color:inherit}
.app{position:relative;display:flex;min-height:100svh;align-items:center;justify-content:center;overflow:hidden;padding:112px 42px 142px;background:var(--paper);color:var(--ink);transition:background .7s ease,color .5s ease}
.app[data-character="star"]{--scene-muted:#a9aec6;background:radial-gradient(ellipse at 50% 44%,#29304d 0%,#1a2038 48%,#11172c 100%);color:#f7f5ff}
.app[data-character="frog"]{--scene-muted:#627454;background:radial-gradient(ellipse at 50% 46%,#d9e8bd 0%,#c3d8a5 55%,#a8c18b 100%);color:#202719}
.app[data-character="pig"]{--scene-muted:#876d61;background:radial-gradient(ellipse at 50% 46%,#f1dfce 0%,#e7ceb6 57%,#d7b69b 100%);color:#2f241f}
.app[data-character="flower"]{--scene-muted:#82946a;background:radial-gradient(ellipse at 50% 44%,#fff5c7 0%,#f6eab0 56%,#e9df9b 100%);color:#302c20}
.app[data-character="mushroom"]{--scene-muted:#77745f;background:radial-gradient(ellipse at 50% 44%,#f4efdf 0%,#e9e2cf 56%,#d7d2be 100%);color:#29251e}
.character-picker{position:absolute;z-index:5;top:30px;left:34px;display:flex;gap:10px}
.visual-mode-switch{position:absolute;z-index:6;top:112px;left:34px;display:flex;gap:3px;padding:4px;border:1px solid rgba(255,255,255,.7);border-radius:15px;background:rgba(255,255,255,.74);box-shadow:0 5px 22px #362d2814;backdrop-filter:blur(12px)}
.visual-mode-switch button{border:0;border-radius:11px;background:transparent;padding:8px 12px;color:#62554f;font-size:12px;font-weight:750;cursor:pointer}
.visual-mode-switch button[aria-pressed="true"]{background:#fff;color:#3e322d;box-shadow:0 2px 8px #352a2419}
.visual-mode-switch button:focus-visible{outline:3px solid #df8eaa;outline-offset:2px}
.app[data-visual-mode="advanced"] .character-choice:not([data-character="pig"]){display:none}
.character-choice{width:72px;height:72px;border:0;border-radius:50%;background:rgba(255,255,255,.65);display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.character-choice:hover{transform:translateY(-2px);background:#fff}
.character-choice[aria-pressed="true"]{background:#fff;box-shadow:0 0 0 2px rgba(255,208,0,.8)}
.sound-toggle{width:48px;height:48px;margin:12px 0 0 2px;border:0;border-radius:50%;background:rgba(255,255,255,.44);color:currentColor;display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}
.sound-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle[aria-pressed="true"]{background:rgba(255,255,255,.82);box-shadow:0 0 0 1px rgba(255,255,255,.38)}
.sound-toggle:hover{transform:translateY(-2px)}
.sound-toggle:not([aria-pressed="true"]) .sound-wave{display:none}
.character-thumb{width:52px;height:52px;overflow:hidden}
.stage{position:relative;width:min(100%,1120px);height:min(68svh,760px);min-height:430px;display:flex;align-items:center;justify-content:center}
.avatar-aura{position:absolute;width:min(56vw,680px);height:min(56vw,680px);border-radius:50%;background:rgba(255,255,255,.48);filter:blur(1px);transition:background .7s ease}
.app[data-character="star"] .avatar-aura{background:rgba(159,174,255,.09)}
.app[data-character="frog"] .avatar-aura{background:rgba(255,255,255,.28)}
.app[data-character="pig"] .avatar-aura{background:rgba(255,247,238,.34)}
.app[data-character="flower"] .avatar-aura{background:rgba(255,255,255,.34)}
.app[data-character="mushroom"] .avatar-aura{background:rgba(255,255,255,.42)}
.character-wrap{z-index:1;position:relative;width:min(42vw,500px);height:min(42vw,500px);display:grid;place-items:center;filter:drop-shadow(0 22px 18px rgba(99,83,33,.12));animation:float 4.8s ease-in-out infinite;transform-origin:center;--squash:1}
.character{width:100%;height:100%;overflow:visible}
.advanced-pig-rig{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;user-select:none}
.pig-rig-tail,.pig-rig-arm{transform-box:view-box}
.pig-rig-tail{transform-origin:161px 510px;animation:pig-tail-idle 4.6s ease-in-out infinite}
.pig-rig-arm-left{transform-origin:214px 398px;animation:pig-arm-left-idle 5.8s ease-in-out infinite}
.pig-rig-arm-right{transform-origin:383px 398px;animation:pig-arm-right-idle 6.2s ease-in-out infinite}
.advanced-pig-face{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;user-select:none}
.pig-eye-lids,.pig-eye-glance,.pig-speaking-mouth{opacity:0;transition:opacity .08s ease}
.pig-expression-mouth{opacity:0;transition:opacity .25s ease}
.app[data-visual-mode="advanced"] .pig-expression-mouth[data-active="true"]{opacity:1}
.app[data-visual-mode="advanced"][data-state="talking"] .pig-expression-mouth{opacity:0}
.app[data-visual-mode="advanced"] .character-wrap.blinking .pig-eye-lids{opacity:1}
.app[data-visual-mode="advanced"] .character-wrap.gaze-up:not(.blinking) .pig-eye-glance{opacity:1}
.app[data-visual-mode="advanced"] .character-wrap.gaze-up .pig-glance-pupil,.app[data-visual-mode="advanced"] .character-wrap.gaze-up .pig-glance-glint{transform:translateY(-3px)}
.app[data-visual-mode="advanced"][data-state="talking"] .pig-speaking-mouth{opacity:1}
.pig-mouth-opening{transition:rx .05s ease,ry .05s ease}
.app[data-visual-mode="advanced"] .character{display:none}
.app[data-visual-mode="advanced"][data-character="pig"] .character-wrap{width:min(42vw,470px);height:min(55svh,560px);max-height:560px}
.app[data-visual-mode="advanced"] .character-wrap{animation:pig-breathe 5.2s ease-in-out infinite}
.app[data-visual-mode="advanced"][data-state="thinking"] .pig-rig-tail{animation-duration:3.8s}
.app[data-visual-mode="advanced"][data-state="talking"] .pig-rig-arm-left{animation:pig-arm-left-talk 3.8s ease-in-out infinite}
.app[data-visual-mode="advanced"][data-state="talking"] .pig-rig-arm-right{animation:pig-arm-right-talk 3.4s ease-in-out infinite}
.app[data-visual-mode="advanced"][data-state="talking"] .pig-rig-tail{animation-duration:3.1s}
.app[data-visual-mode="advanced"][data-character="pig"] .avatar-aura{width:min(50vw,520px);height:min(50vw,520px)}
.character-body{transform-origin:300px 300px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.face{transition:transform .35s ease}
.eye-left,.eye-right{transform-box:fill-box;transform-origin:center;transition:transform .14s ease}
.eye-white{fill:var(--eye-white,#fff)}
.pupil{fill:#111;transform-box:fill-box;transform-origin:center;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.mouth-closed{fill:none;stroke:var(--mouth-color,#111);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
.mouth-open{fill:var(--mouth-color,#111);opacity:0;transform-box:fill-box;transform-origin:center}
.mouth-tongue{fill:var(--tongue-color,#f29a91);opacity:0;transform-box:fill-box;transform-origin:center}
.brow{display:none;fill:none;stroke:var(--brow-color,#31280b);stroke-width:8;stroke-linecap:round}
.sparkle{fill:#fff8cb;opacity:0}
.welcome{position:absolute;top:calc(100% - 3px);left:50%;width:min(92vw,850px);transform:translate(-50%,0);text-align:center}
.welcome-prompt{padding:8px 16px;border:0;background:transparent;font-size:clamp(28px,4.1vw,54px);font-weight:800;letter-spacing:-.055em;cursor:pointer}
.welcome-prompt:hover{color:#4e452b}
.app[data-character="star"] .welcome-prompt:hover{color:#fff}
.welcome-note{margin:2px 0 0;color:var(--scene-muted,#9a97a2);font-size:14px;font-weight:600}
.composer{position:relative;z-index:4;width:min(92vw,950px);margin:10px auto 0;display:flex;flex-direction:column;gap:5px;align-items:stretch;min-height:82px;padding:12px 22px 10px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.9);text-align:left}
.composer textarea{width:100%;max-height:180px;min-height:44px;resize:none;border:0;outline:0;background:transparent;padding:4px;font-size:clamp(18px,2.8vw,32px);font-weight:700;letter-spacing:-.035em;line-height:1.35}
.composer textarea::placeholder{color:#a19eaa}
.composer-hint{align-self:flex-end;color:#a19eaa;font-size:11px;font-weight:600}
.submitted-question{position:fixed;z-index:3;right:12%;bottom:54px;left:12%;text-align:center;color:var(--scene-muted,#9a97a2);font-size:clamp(18px,2.8vw,32px);font-weight:800;letter-spacing:-.035em}
.thinking{position:absolute;z-index:3;bottom:10px;left:50%;display:flex;gap:13px;align-items:center;transform:translateX(-50%);color:var(--scene-muted,#777480);font-size:15px;font-weight:700}
.thinking-dots{display:flex;gap:5px}
.thinking-dots i{width:7px;height:7px;border-radius:50%;background:#d1a900;animation:think .95s ease-in-out infinite alternate}
.thinking-dots i:nth-child(2){animation-delay:.18s}.thinking-dots i:nth-child(3){animation-delay:.36s}
.answer-card{position:fixed;z-index:4;top:28px;right:28px;width:min(390px,32vw);min-height:180px;padding:36px 30px 25px;background:#fff;border-radius:36px;box-shadow:0 15px 40px rgba(49,43,62,.055);animation:card-in .28s ease-out both}
.answer-text{margin:0;color:#17161a;font-size:clamp(20px,2vw,28px);font-weight:800;line-height:1.35;letter-spacing:-.035em;white-space:pre-wrap;overflow-wrap:anywhere}
.answer-author{display:block;margin-top:16px;color:#aaa7b0;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.replay{position:absolute;top:17px;right:18px;width:34px;height:34px;border:2px solid #8d8d8d;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .16s,border-color .16s}
.replay:hover{transform:scale(1.08);border-color:#333}
.play-icon{width:0;height:0;margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid #888}
.replay[aria-busy="true"] .play-icon{width:9px;height:12px;margin:0;border:0;border-right:3px solid #888;border-left:3px solid #888}
.reset-button{position:fixed;z-index:5;right:32px;bottom:30px;width:74px;height:74px;border:0;border-radius:17px;background:#050505;color:var(--yellow);display:grid;place-items:center;cursor:pointer;transition:transform .16s,background .16s}
.reset-button:hover{transform:translateY(-2px);background:#252525}
.reset-icon{font-family:Arial,sans-serif;font-size:53px;line-height:1;transform:translateY(-3px)}
.reset-caption{position:absolute;top:calc(100% + 11px);right:50%;width:max-content;transform:translateX(50%);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.error-message{position:fixed;z-index:6;bottom:142px;left:50%;max-width:min(90vw,620px);margin:0;transform:translateX(-50%);padding:12px 18px;border-radius:14px;background:#fff;color:#9b3939;font-size:14px;font-weight:700;box-shadow:0 8px 25px #34282812}
.audio-credits{position:fixed;z-index:4;left:30px;bottom:22px;max-width:min(460px,calc(100vw - 110px));color:var(--scene-muted,#777480);font-size:10px;font-weight:600}
.audio-credits summary{width:max-content;cursor:pointer;opacity:.82}
.audio-credits p{max-width:440px;margin:8px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.86);color:#39363d;font-size:11px;line-height:1.5;box-shadow:0 4px 18px #20202010}
.audio-credits a{color:#51451a}
.demo-badge{position:fixed;right:28px;bottom:22px;color:#898591;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app[data-state="welcome"] .character-wrap{transform:translateY(-24px)}
.app[data-state="composer"] .character-wrap{transform:translateY(-32px) scale(.92)}
.app[data-state="thinking"] .character-wrap{animation:think-float 1.2s ease-in-out infinite}
.app[data-state="answered"] .character-wrap{transform:translateY(4px) scale(.9)}
.app[data-state="thinking"] .welcome,.app[data-state="talking"] .welcome{display:none}
.app[data-state="composer"] .reset-button{display:none}
.app[data-state="thinking"] .submitted-question,.app[data-state="answered"] .submitted-question{display:block}
.app[data-state="answered"] .thinking,.app[data-state="composer"] .thinking{display:none}
.app[data-state="talking"] .character-wrap{animation:talk-bob 1.05s ease-in-out infinite}
.app[data-state="talking"] .mouth-closed{opacity:0}
.app[data-state="talking"] .mouth-open{opacity:1}
.app[data-state="talking"] .mouth-tongue{opacity:.86}
.brow{display:block;opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .2s ease,transform .25s ease}
.character-details{transform-box:fill-box;transform-origin:center;transition:transform .25s ease}
.app[data-mood="angry"] .brow{opacity:1}
.app[data-mood="angry"] .brow.left{transform:rotate(20deg) translateY(7px)}
.app[data-mood="angry"] .brow.right{transform:rotate(-20deg) translateY(7px)}
.app[data-mood="angry"] .eye-left,.app[data-mood="angry"] .eye-right{transform:scaleY(.62)}
.app[data-mood="angry"] .mouth-closed{transform:scaleY(-1);transform-box:fill-box;transform-origin:center}
.app[data-character="pig"][data-mood="angry"] .character-details{transform:scale(1.1)}
.app[data-mood="sad"] .brow,.app[data-mood="worried"] .brow{opacity:.9}
.app[data-mood="sad"] .brow.left,.app[data-mood="worried"] .brow.left{transform:rotate(-12deg) translateY(-3px)}
.app[data-mood="sad"] .brow.right,.app[data-mood="worried"] .brow.right{transform:rotate(12deg) translateY(-3px)}
.app[data-mood="sad"] .pupil{transform:translateY(9px)}
.app[data-mood="worried"] .pupil{transform:translateY(5px) scale(.9)}
.app[data-mood="worried"] .eye-left,.app[data-mood="worried"] .eye-right{transform:scaleY(.92)}
.app[data-mood="surprised"] .eye-left,.app[data-mood="surprised"] .eye-right{transform:scale(1.13)}
.app[data-mood="surprised"] .mouth-closed{opacity:0}
.app[data-mood="surprised"]:not([data-state="talking"]):not([data-state="thinking"]) .mouth-open{opacity:1;ry:14}
.app[data-mood="joy"] .brow,.app[data-mood="excited"] .brow,.app[data-mood="tender"] .brow{opacity:.75}
.app[data-mood="joy"] .eye-left,.app[data-mood="joy"] .eye-right{transform:scaleY(.9)}
.app[data-mood="excited"] .eye-left,.app[data-mood="excited"] .eye-right{transform:scale(1.08)}
.app[data-mood="tender"] .eye-left,.app[data-mood="tender"] .eye-right{transform:scaleY(.62)}
.app[data-mood="curious"] .brow,.app[data-mood="confused"] .brow{opacity:.78}
.app[data-mood="curious"] .brow.right{transform:translateY(-7px) rotate(-5deg)}
.app[data-mood="confused"] .brow.left{transform:translateY(-8px) rotate(-12deg)}
.app[data-mood="confused"] .brow.right{transform:translateY(4px) rotate(12deg)}
.app[data-mood="confused"] .eye-left{transform:scaleY(.92) translateY(2px)}
.app[data-mood="confused"] .eye-right{transform:scale(1.06) translateY(-2px)}
.app[data-mood="confused"] .mouth-closed{transform:rotate(-8deg) scaleX(.82);transform-box:fill-box;transform-origin:center}
.app[data-mood="disgusted"] .brow{opacity:.85}
.app[data-mood="disgusted"] .brow.left{transform:translateY(4px) rotate(12deg)}
.app[data-mood="disgusted"] .eye-left{transform:scaleY(.55)}
.app[data-mood="disgusted"] .eye-right{transform:scaleY(.82)}
.app[data-mood="disgusted"] .mouth-closed{transform:rotate(10deg) scaleX(.72);transform-box:fill-box;transform-origin:center}
.app[data-mood="playful"] .brow{opacity:.72}
.app[data-mood="playful"] .brow.right{transform:translateY(-6px) rotate(-8deg)}
.app[data-mood="playful"] .eye-right{transform:scaleY(.12)}
.app[data-mood="bored"] .eye-left,.app[data-mood="bored"] .eye-right{transform:scaleY(.62)}
.app[data-mood="bored"] .pupil{transform:translateY(7px)}
.app[data-mood="bored"] .mouth-closed{transform:scaleX(.62);transform-box:fill-box;transform-origin:center}
.app[data-mood="joy"] .sparkle,.app[data-mood="excited"] .sparkle,.app[data-mood="playful"] .sparkle{opacity:.95}
.app[data-mood="excited"] .character-details{transform:scale(1.08)}
.app[data-mood="tender"] .character-body{transform:rotate(-2deg) scale(.99,1.02)}
.app[data-mood="tender"] .character-details{opacity:.9}
.app[data-mood="playful"] .mouth-tongue{opacity:.8}
.app[data-mood="angry"] .character-wrap.reacting .character-body{animation:react-angry .75s ease-in-out 1}
.app[data-mood="sad"] .character-wrap.reacting .character-body{animation:react-sad 1s ease-out 1}
.app[data-mood="worried"] .character-wrap.reacting .character-body{animation:react-worried .8s ease-in-out 1}
.app[data-mood="joy"] .character-wrap.reacting .character-body{animation:react-joy .95s cubic-bezier(.2,.8,.3,1) 1}
.app[data-mood="excited"] .character-wrap.reacting .character-body{animation:react-excited 1.15s cubic-bezier(.2,.8,.3,1) 1}
.app[data-mood="surprised"] .character-wrap.reacting .character-body{animation:react-surprised .75s cubic-bezier(.2,.8,.3,1) 1}
.app[data-mood="curious"] .character-wrap.reacting .character-body{animation:react-curious .9s ease-in-out 1}
.app[data-mood="confused"] .character-wrap.reacting .character-body{animation:react-confused .95s ease-in-out 1}
.app[data-mood="disgusted"] .character-wrap.reacting .character-body{animation:react-disgusted .85s ease-in-out 1}
.app[data-mood="playful"] .character-wrap.reacting .character-body{animation:react-playful 1s ease-in-out 1}
.app[data-mood="bored"] .character-wrap.reacting .character-body{animation:react-bored 1.1s ease-in-out 1}
.app[data-mood="tender"] .character-wrap.reacting .character-body{animation:react-tender 1s ease-in-out 1}
.app[data-state="thinking"] .brow{opacity:.82}
.app[data-state="thinking"] .brow.left{transform:translateY(-5px) rotate(-8deg)}
.app[data-state="thinking"] .brow.right{transform:translateY(3px) rotate(7deg)}
.app[data-state="thinking"] .pupil{transform:translate(-4px,-11px)}
.app[data-state="thinking"] .mouth-closed{transform:scaleX(.72) rotate(-5deg);transform-box:fill-box;transform-origin:center}
.app[data-state="thinking"] .mouth-open,.app[data-state="thinking"] .mouth-tongue{opacity:0}
.blinking .eye-left,.blinking .eye-right{transform:scaleY(.08)}
.gaze-up .pupil{transform:translateY(-13px)}
@keyframes float{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -12px;rotate:1deg}}
@keyframes react-angry{0%,100%{transform:translateX(0) rotate(0)}20%,60%{transform:translateX(-8px) rotate(-2deg)}40%,80%{transform:translateX(8px) rotate(2deg)}}
@keyframes react-sad{0%{transform:translateY(0)}45%{transform:translateY(12px) scale(.97,.99)}100%{transform:translateY(0)}}
@keyframes react-worried{0%,100%{transform:translateX(0)}25%,75%{transform:translateX(-3px) rotate(-1deg)}50%{transform:translateX(3px) rotate(1deg)}}
@keyframes react-joy{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-15px) scale(1.04,.97)}65%{transform:translateY(0) scale(.98,1.03)}}
@keyframes react-excited{0%,100%{transform:translateY(0) scale(1)}25%{transform:translateY(-20px) rotate(-4deg) scale(1.05,.96)}50%{transform:translateY(0) rotate(4deg) scale(.97,1.04)}75%{transform:translateY(-8px) rotate(-2deg)}}
@keyframes react-surprised{0%,100%{transform:scale(1)}35%{transform:scale(1.12)}65%{transform:scale(.97)}}
@keyframes react-curious{0%,100%{transform:rotate(0)}45%{transform:rotate(4deg) translateY(-4px)}75%{transform:rotate(-2deg)}}
@keyframes react-confused{0%,100%{transform:rotate(0)}25%{transform:rotate(4deg)}55%{transform:rotate(-5deg)}80%{transform:rotate(2deg)}}
@keyframes react-disgusted{0%,100%{transform:translateX(0)}35%{transform:translateX(7px) rotate(3deg)}70%{transform:translateX(-2px) rotate(-1deg)}}
@keyframes react-playful{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg) scale(1.03)}70%{transform:rotate(3deg) scale(.99)}}
@keyframes react-bored{0%,100%{transform:translateY(0)}50%{transform:translateY(5px) rotate(-1deg)}}
@keyframes react-tender{0%,100%{transform:rotate(0) scale(1)}45%{transform:rotate(-3deg) scale(1.025)}}
@keyframes think-float{0%,100%{translate:0 0;rotate:-1.5deg}50%{translate:0 -7px;rotate:1.5deg}}
@keyframes talk-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes pig-breathe{0%,100%{translate:0 0;scale:1}50%{translate:0 -1.5px;scale:1.002}}
@keyframes pig-tail-idle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
@keyframes pig-arm-left-idle{0%,100%{transform:rotate(-.6deg)}50%{transform:rotate(1deg)}}
@keyframes pig-arm-right-idle{0%,100%{transform:rotate(.5deg)}50%{transform:rotate(-1deg)}}
@keyframes pig-arm-left-talk{0%,100%{transform:rotate(0deg)}35%{transform:rotate(-1.7deg)}72%{transform:rotate(.9deg)}}
@keyframes pig-arm-right-talk{0%,100%{transform:rotate(0deg)}40%{transform:rotate(2.2deg)}75%{transform:rotate(-.8deg)}}
@keyframes think{to{transform:translateY(-6px);opacity:.45}}
@keyframes card-in{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.app{padding:116px 18px 148px}.character-picker{top:18px;left:16px;gap:6px}.character-choice{width:52px;height:52px}.character-thumb{width:40px;height:40px}.sound-toggle{width:36px;height:36px;margin:8px 0 0 1px}.stage{height:64svh;min-height:390px}.avatar-aura{width:min(86vw,520px);height:min(86vw,520px)}.character-wrap{width:min(76vw,420px);height:min(76vw,420px)}.welcome{top:calc(100% - 13px)}.welcome-prompt{font-size:clamp(27px,8vw,40px)}.welcome-note{font-size:12px}.composer{width:min(92vw,950px);min-height:78px;padding:9px 12px}.composer textarea{font-size:18px}.composer-hint{font-size:9px}.answer-card{top:94px;right:12px;width:min(70vw,330px);min-height:130px;padding:30px 21px 18px;border-radius:26px}.answer-text{font-size:19px}.replay{top:11px;right:12px;width:30px;height:30px}.answer-author{font-size:9px;margin-top:11px}.app[data-state="answered"] .character-wrap{transform:translateY(42px) scale(.82)}.submitted-question{right:12px;bottom:96px;left:12px;font-size:16px}.reset-button{right:15px;bottom:18px;width:58px;height:58px;border-radius:14px}.reset-icon{font-size:42px}.reset-caption{top:calc(100% + 6px);font-size:8px}.thinking{bottom:8px;font-size:13px}.audio-credits{left:12px;bottom:15px;max-width:calc(100vw - 90px);font-size:9px}.audio-credits p{max-width:calc(100vw - 28px);font-size:10px}.demo-badge{right:auto;left:12px;bottom:14px;font-size:8px}}
@media(max-width:760px){.visual-mode-switch{top:78px;left:16px}.visual-mode-switch button{padding:7px 10px;font-size:11px}.app[data-visual-mode="advanced"][data-character="pig"] .character-wrap{width:min(78vw,360px);height:min(48svh,410px)}.app[data-visual-mode="advanced"][data-character="pig"] .avatar-aura{width:min(86vw,430px);height:min(86vw,430px)}}
@media(max-height:650px) and (min-width:761px){.app{padding-top:88px;padding-bottom:114px}.stage{height:63svh;min-height:320px}.character-wrap{width:min(38vw,400px);height:min(38vw,400px)}.welcome{top:calc(100% - 3px)}.welcome-prompt{font-size:36px}.composer{min-height:76px}.send-button{width:60px;height:60px}.answer-card{min-height:145px;padding-top:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:760px){.demo-badge{bottom:46px}}
