:root{--cream: #fff8f0;--cream-2: #fff1e2;--card: #ffffff;--ink: #3d1a10;--ink2: #7a5b4d;--muted: #a9968b;--line: #f1e7db;--g1: #ffc83d;--g2: #ff8a3d;--g3: #ff5470;--grad: linear-gradient(135deg, #ffc83d 0%, #ff8a3d 52%, #ff5470 100%);--radius: 22px;--shadow: 0 10px 30px rgba(74, 31, 18, .08);--shadow-lg: 0 24px 60px rgba(61, 26, 16, .16);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1100px 720px at 78% -12%,#ffe9cf,#ffe9cf00 60%),radial-gradient(900px 640px at 8% 108%,#ffe0e6,#ffe0e600 55%),var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.aura{position:absolute;width:46vw;height:46vw;border-radius:50%;filter:blur(70px);opacity:.5}.aura-a{top:-12vw;right:-8vw;background:radial-gradient(circle at 30% 30%,#ffc83d,transparent 70%);animation:float-a 16s ease-in-out infinite}.aura-b{bottom:-14vw;left:-10vw;background:radial-gradient(circle at 60% 40%,#ff5470,transparent 70%);animation:float-b 21s ease-in-out infinite}@keyframes float-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(26px,22px) scale(1.06)}}@keyframes float-b{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,-18px) scale(1.05)}}@media(prefers-reduced-motion:reduce){.aura-a,.aura-b{animation:none}}.app{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;max-width:1240px;margin:0 auto;padding:16px;gap:16px;overflow:clip}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:radial-gradient(820px 540px at 50% 32%,#ffe9cf,#ffe9cf00 62%),radial-gradient(720px 520px at 74% 72%,#ffd9e0,#ffd9e000 60%),var(--cream);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),filter .7s ease}.splash.leaving{opacity:0;transform:scale(1.05);filter:blur(6px);pointer-events:none}.splash-inner{display:flex;flex-direction:column;align-items:center;text-align:center;animation:splash-in .7s cubic-bezier(.2,.8,.2,1) both}@keyframes splash-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.splash-logo{display:grid;place-items:center;width:104px;height:104px;border-radius:28px;background:#fff;box-shadow:var(--shadow-lg);animation:logo-float 4s ease-in-out infinite}@keyframes logo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.splash-word{margin:26px 0 0;font-family:Segoe Script,Snell Roundhand,Brush Script MT,cursive;font-size:62px;line-height:1;font-weight:600;color:var(--ink)}.splash-tag{margin:16px 0 0;font-size:19px;font-weight:500;color:var(--ink2)}.splash-tag .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.splash-loader{display:flex;gap:7px;margin-top:34px}.splash-loader span{width:9px;height:9px;border-radius:50%;background:var(--grad);animation:splash-dot 1.1s ease-in-out infinite}.splash-loader span:nth-child(2){animation-delay:.15s}.splash-loader span:nth-child(3){animation-delay:.3s}@keyframes splash-dot{0%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-7px);opacity:1}}.splash-status{margin:14px 0 0;font-size:13px;font-weight:600;letter-spacing:.3px;color:var(--muted)}@media(prefers-reduced-motion:reduce){.splash-inner,.splash-logo,.splash-loader span{animation:none}.splash{transition:opacity .3s ease}.splash.leaving{transform:none;filter:none}}.app.booting .stage,.app.booting .chat,.app.booting .app-header{opacity:0}.app.revealed .app-header{animation:header-in .6s ease both}.app.revealed .stage{animation:stage-in .85s cubic-bezier(.2,.8,.2,1) .05s both}@keyframes header-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes stage-in{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.app.booting .stage,.app.booting .chat,.app.booting .app-header{opacity:1}.app.revealed .app-header,.app.revealed .stage,.app.revealed .chat{animation:none}}.app-header{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;background:var(--grad);box-shadow:0 8px 20px #ff5a5052,inset 0 1px #fff6}.wordmark{margin:0;font-family:Segoe Script,Snell Roundhand,Brush Script MT,cursive;font-size:30px;line-height:.9;font-weight:600;letter-spacing:.2px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:3px 0 0;font-size:12px;color:var(--ink2)}.header-right{display:flex;align-items:center;gap:10px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:6px 11px;border-radius:999px;white-space:nowrap}.badge.mock{color:#b5651d;background:#fff1dc}.badge.live{color:#fff;background:var(--grad)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.layout{position:relative;flex:1;min-height:0}.stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 0%,#fff6ea,#ffe9d3 45%,#ffd9c9)}.stage canvas{display:block;width:100%!important;height:100%!important}.status-pill{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ink2);background:#ffffffb8;border:1px solid rgba(255,255,255,.9);padding:6px 13px;border-radius:999px;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 6px 16px #4a1f1214}.status-pill .pulse{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-pill.speaking .pulse,.status-pill.listening .pulse{background:var(--g3);animation:pulse 1s infinite}.status-pill.thinking .pulse{background:var(--g2);animation:pulse 1s infinite}.status-pill.transcribing .pulse{background:var(--g1);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.warmup,.corner-note{position:absolute;bottom:14px;left:14px;right:14px;background:#ffffffdb;border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;color:var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.warmup{display:flex;flex-direction:column;gap:2px}.warmup-note{font-size:11px;color:var(--ink2)}.chat{position:absolute;top:0;right:0;bottom:0;width:min(46%,620px);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;transition:opacity .3s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.chat.hidden{opacity:0;transform:translate(36px);visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .3s ease,visibility 0s linear .3s}.transcript{flex:1;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:#f0d9c4 transparent}.transcript::-webkit-scrollbar{width:8px}.transcript::-webkit-scrollbar-thumb{background:#f0d9c4;border-radius:999px}.bubble{max-width:82%;padding:12px 15px;border-radius:18px;line-height:1.45;font-size:15px;white-space:pre-wrap;word-wrap:break-word;animation:rise .22s ease both}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.bubble.assistant{align-self:flex-start;background:var(--cream-2);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:6px}.bubble.user{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:6px;box-shadow:0 8px 18px #ff5a5038}.bubble.interim{opacity:.7;font-style:italic}.bubble.typing{display:flex;gap:5px;align-items:center}.bubble.typing .dot{width:7px;height:7px;border-radius:50%;background:var(--g2);animation:blink 1.2s infinite}.bubble.typing .dot:nth-child(2){animation-delay:.2s}.bubble.typing .dot:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.inline-note,.error-toast{margin:0 16px 10px;padding:10px 13px;border-radius:14px;font-size:13px;display:flex;gap:10px;align-items:center;justify-content:space-between}.inline-note{background:#fff3e2;border:1px solid #f6dcc0;color:var(--ink)}.error-toast{background:#ffe9ec;border:1px solid #ffc9cf;color:#a12b3a;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 10px;border-radius:999px;padding:8px 16px;animation:rise .18s ease both}.link{background:none;border:none;color:var(--g3);cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline;padding:0;white-space:nowrap}.composer{display:flex;align-items:flex-end;gap:8px;padding:13px;border-top:1px solid var(--line);background:linear-gradient(180deg,#fffdfa,var(--cream))}.composer-input{flex:1;resize:none;max-height:120px;min-height:46px;padding:12px 15px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:15px;line-height:1.4;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.composer-input:focus{border-color:var(--g2);box-shadow:0 0 0 4px #ffe7d2}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:transform .08s ease,background .15s ease,box-shadow .15s ease,opacity .15s ease;flex:none}.icon-btn:hover:not(:disabled){background:#fff3e8}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.45;cursor:default}.icon-btn.send{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 18px #ff5a5047}.icon-btn.mic.listening{background:var(--g3);border-color:transparent;color:#fff;animation:pulse 1.1s infinite}.icon-btn.ghost{background:transparent;border-color:transparent;color:var(--ink2)}.icon-btn.ghost:hover{background:#fff3e8;color:var(--ink)}.icon-btn.mic-cta{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 18px #ff5a5047}.icon-btn.mic-cta:hover:not(:disabled){background:var(--grad);filter:brightness(1.06);box-shadow:0 10px 22px #ff5a505c}.layout.solo{grid-template-columns:1fr}.voice-layer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:14px;padding:24px 24px 28px;background:linear-gradient(180deg,transparent 58%,rgba(255,233,213,.72));pointer-events:none;animation:rise .4s ease .18s both}.voice-layer>*{pointer-events:auto}.caption{display:flex;align-items:center;gap:12px;max-width:min(540px,92%);padding:12px 18px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);box-shadow:0 10px 26px #4a1f121a;font-size:15.5px;line-height:1.45;color:var(--ink);animation:rise .22s ease both}.caption-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.caption.interim .caption-text{color:var(--ink2)}.voice-dock{display:flex;align-items:center;gap:20px}.dock-btn{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:#ffffffb8;color:var(--ink2);cursor:pointer;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 6px 16px #4a1f1214;transition:transform .08s ease,background .15s ease,color .15s ease,opacity .2s ease}.dock-btn:hover{background:#fff;color:var(--ink)}.dock-btn:active{transform:scale(.94)}.dock-btn.cancel:hover{color:#a12b3a;background:#ffe9ec}.dock-btn.ghosted{opacity:0;pointer-events:none}.orb{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;border:none;color:#fff;background:var(--grad);background-size:180% 180%;cursor:pointer;box-shadow:0 14px 34px #ff5a5066,inset 0 2px #ffffff73;animation:grad-pan 6s ease infinite;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}.orb:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:0 20px 44px #ff5a5080}.orb:active:not(:disabled){transform:scale(.97)}.orb:disabled{cursor:default}@keyframes grad-pan{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.orb-ring{position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:50%;border:2px solid var(--g3);opacity:0}.orb.listening .orb-ring{animation:ring-pulse 1.1s ease-out infinite}.orb.listening{animation:grad-pan 6s ease infinite,orb-throb 1.1s ease-in-out infinite}@keyframes ring-pulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(1.45);opacity:0}}@keyframes orb-throb{0%,to{box-shadow:0 14px 34px #ff5a5073}50%{box-shadow:0 14px 40px #ff5a50b3}}.orb.busy .orb-ring{opacity:1;border-color:transparent;border-top-color:#ffffffe6;animation:orb-halo .9s linear infinite}@keyframes orb-halo{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.orb,.orb.listening,.orb.listening .orb-ring,.orb.busy .orb-ring{animation:none}}.eq{display:inline-flex;align-items:center;gap:3px;height:22px;flex:none}.eq span{width:3.5px;border-radius:999px;background:var(--grad);animation:eq-bounce 1s ease-in-out infinite}.eq span:nth-child(1){height:9px;animation-delay:0s}.eq span:nth-child(2){height:16px;animation-delay:.15s}.eq span:nth-child(3){height:22px;animation-delay:.3s}.eq span:nth-child(4){height:14px;animation-delay:.45s}.eq span:nth-child(5){height:8px;animation-delay:.6s}@keyframes eq-bounce{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}.eq.paused span{animation-play-state:paused;opacity:.5}@media(prefers-reduced-motion:reduce){.eq span,.listen-text.hint{animation:none}}.suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}.chip{border:1.5px solid var(--line);background:#fff;color:var(--ink2);border-radius:999px;padding:9px 15px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .08s ease}.chip:hover{background:#fff3e8;color:var(--ink);border-color:#f3d9c2}.chip:active{transform:scale(.96)}.suggestions.on-stage{justify-content:flex-start;padding:0;max-width:min(540px,92%)}.suggestions.on-stage .chip{background:#ffffffd1;border-color:#fffffff2;-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 6px 16px #4a1f1212}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#3d1a1047;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.settings-panel{width:100%;max-width:520px;max-height:88vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:22px}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.settings-header h2{margin:0;font-size:19px;color:var(--ink)}.settings-section{padding:16px 0;border-top:1px solid var(--line)}.settings-section h3{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field span{font-size:13px;color:var(--ink2);font-weight:600}.field select,.field input{padding:11px 13px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field select:focus,.field input:focus{border-color:var(--g2);box-shadow:0 0 0 4px #ffe7d2}.btn{padding:11px 16px;border-radius:12px;border:none;background:var(--grad);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #ff5a5042;transition:transform .12s ease,box-shadow .2s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);cursor:pointer}.toggle input{width:18px;height:18px;accent-color:var(--g2)}.muted{color:var(--ink2);font-size:13px;line-height:1.5;margin:0}.muted.small{font-size:12px;margin-top:6px}code{background:#fff1dc;border:1px solid #f6dcc0;border-radius:6px;padding:1px 6px;font-size:12px;color:#b5651d}@media(max-width:820px){.app{padding:12px;gap:12px;height:auto;min-height:100%}.layout{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(280px,42vh) 1fr;gap:12px}.layout.solo{grid-template-rows:1fr}.layout.solo .stage{min-height:76vh}.stage{position:relative;inset:auto}.voice-layer{align-items:center;padding:20px 14px 22px}.suggestions.on-stage{justify-content:center}.chat{position:relative;top:auto;right:auto;bottom:auto;width:auto;min-height:46vh;transform:none}.chat.hidden{display:none}.bubble{max-width:88%}.aura{width:70vw;height:70vw}}@media(max-width:400px){.tagline{display:none}}
