:root{--bg: #07110f;--bg-grad-1: #06100e;--bg-grad-2: #0b211a;--surface: #0e1c19;--surface-raised: #142521;--border: #213a34;--primary: #68f7c1;--primary-deep: #27c993;--text: #f3fbf8;--text-muted: #8fa9a1;--user-bubble: #1e6b57;--assistant-bubble: #13241f;--danger: #ff7d79;--r-sm: 12px;--r-md: 18px;--r-lg: 26px;--r-round: 999px;font-synthesis:none;-webkit-text-size-adjust:100%;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(125% 120% at 50% 0%,var(--bg-grad-2) 0%,var(--bg-grad-1) 55%,var(--bg) 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}textarea{font:inherit}.app{display:flex;flex-direction:column;height:100%;max-width:820px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 12px}.eyebrow{color:var(--primary);font-size:11px;font-weight:800;letter-spacing:2.2px}.title{color:var(--text);font-size:21px;font-weight:700;margin-top:3px}.messages{flex:1;overflow-y:auto;padding:8px 18px 12px;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 40px}.empty__title{font-size:20px;font-weight:700}.empty__text{color:var(--text-muted);font-size:15px;line-height:22px;margin-top:8px}.row{display:flex;margin:6px 0}.row--user{justify-content:flex-end}.bubble{max-width:84%;padding:12px 16px;border-radius:var(--r-md);font-size:16px;line-height:23px;text-align:left;word-break:break-word;white-space:pre-wrap;transition:transform .08s ease}.bubble:active{transform:scale(.99)}.bubble--user{background:var(--user-bubble);border-bottom-right-radius:5px}.bubble--assistant{background:var(--assistant-bubble);border:1px solid var(--border);border-bottom-left-radius:5px}.bubble--error{color:var(--danger);border-color:#ff7d794d}.composer{display:flex;align-items:flex-end;gap:9px;padding:7px 14px 14px}.composer__voice{width:52px;height:52px;border-radius:var(--r-round);background:var(--primary);color:var(--bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s ease,transform .08s ease}.composer__voice:disabled{opacity:.4}.composer__voice:not(:disabled):active{transform:scale(.94)}.composer__field{flex:1;display:flex;align-items:center;gap:6px;min-height:54px;padding:0 6px 0 17px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg)}.composer__input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;resize:none;max-height:116px;padding:14px 0;line-height:22px;overflow-y:auto}.composer__input::placeholder{color:var(--text-muted)}.composer__action{width:42px;height:42px;border-radius:var(--r-round);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;transition:background .15s ease,color .15s ease}.composer__action:disabled{opacity:.4}.composer__action--send{background:var(--primary);color:var(--bg)}.voice{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:12px}.voice__orb{position:relative;width:min(480px,calc(100vw - 24px),calc(100dvh - 24px));aspect-ratio:1;border-radius:50%;overflow:hidden;isolation:isolate;container-type:inline-size;color:#24352d}.voice__orb .voice__header{position:absolute;inset:8% 20% auto;padding:0;z-index:2}.voice__orb .voice__sub{color:#46574b}.voice__orb .voice__stage{position:absolute;inset:0}.voice__orb .avatar{width:125%;height:125%;flex:none}.voice__orb .avatar__shell{width:100%!important;height:100%!important;max-width:none;max-height:none}.voice__orb .avatar__glow,.voice__orb .avatar__label{display:none}.voice__orb .voice__underlay{bottom:23%;max-width:65%}.voice__orb .voice__controls{position:absolute;bottom:7%;left:20%;right:20%;padding:0;gap:12px;z-index:2}.voice__orb .round{width:42px;height:42px}.voice__orb .round--end{width:48px;height:48px}.voice__orb .voice__chips{position:absolute;bottom:22%;left:17%;right:17%;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:0;z-index:2}.voice__orb .voice__chip{padding:3px 8px;font-size:11px;color:#24352d;background:#ffffff8c}@container (max-width: 380px){.voice__orb .voice__name{font-size:13px}.voice__orb .voice__sub{font-size:10px}.voice__orb .iconbtn{width:30px;height:30px}.voice__orb .voice__chip{font-size:10px;padding:2px 5px}.voice__orb .voice__start{height:38px;font-size:14px}.voice__orb .voice__controls{bottom:5%}}.voice__header{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.voice__title{text-align:center}.voice__name{font-size:16px;font-weight:700}.voice__sub{color:var(--text-muted);font-size:12px;margin-top:3px}.voice__stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.voice__underlay{position:absolute;left:50%;bottom:9%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;width:max-content;max-width:90%;pointer-events:none}.voice__status{color:var(--text-muted);font-size:16px;font-weight:600}.voice__status--error{color:#ff8a80;text-align:center}.voice__wave{display:flex;align-items:center;gap:6px;height:44px}.voice__bar{width:5px;border-radius:3px;background:var(--primary);transition:height .25s ease}.voice__controls{display:flex;align-items:center;justify-content:center;gap:26px;padding-bottom:32px}.iconbtn{width:42px;height:42px;border-radius:var(--r-round);background:var(--surface-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.iconbtn--ghost{background:transparent;border-color:transparent}.round{width:54px;height:54px;border-radius:var(--r-round);background:var(--surface-raised);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:transform .08s ease}.round:active{transform:scale(.94)}.round--end{background:var(--primary);border:none;width:66px;height:66px;color:var(--bg)}.voice__start{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 26px 0 20px;border-radius:var(--r-round);background:var(--primary);color:var(--bg);font-size:17px;font-weight:700;letter-spacing:.4px;transition:transform .08s ease,opacity .15s ease}.voice__start:disabled{opacity:.6}.voice__start:not(:disabled):active{transform:scale(.96)}.avatar{position:relative;display:flex;flex-direction:column;align-items:center}.avatar__glow{position:absolute;inset:0;margin:auto;border-radius:50%;opacity:.16;filter:blur(14px);z-index:0;pointer-events:none;animation:avatar-pulse 3s ease-in-out infinite}.avatar__shell{position:relative;z-index:1;max-width:72vmin;max-height:68vmin}.avatar__face{display:block;width:100%;height:100%;max-width:100%;max-height:100%}.avatar__brow{stroke:#0f172ac7;stroke-width:4;stroke-linecap:round}.avatar__eyes{transform-box:fill-box;transform-origin:center;animation:avatar-blink 4.6s ease-in-out infinite}.avatar__eyes-look--idle{animation:avatar-look 9s ease-in-out infinite}.avatar__eyes-look--lively{animation:avatar-look-lively 4s linear infinite}.avatar__eyes-look--lively .avatar__eyes{animation-duration:2.4s;animation-timing-function:linear}.avatar__eyes--happy{animation:avatar-look-happy 11s ease-in-out infinite}.avatar__eyes--happy .avatar__eyes{animation:avatar-happy-squint 6.4s ease-in-out infinite}@keyframes avatar-look-happy{0%,12%{transform:translate(0)}17%,25%{transform:translate(-5px)}30%,44%{transform:translate(0)}50%,58%{transform:translate(5px)}63%,76%{transform:translate(0)}81%,86%{transform:translate(-3px,-2px)}92%,to{transform:translate(0)}}@keyframes avatar-happy-squint{0%,54%,to{transform:scaleY(1)}58%,62%{transform:scaleY(.22) translateY(2px)}66%{transform:scaleY(1) translateY(0)}70%,74%{transform:scaleY(.22) translateY(2px)}78%{transform:scaleY(1) translateY(0)}}.avatar__eye{fill:#172554}.avatar__eye-shine{fill:#ffffffe6}.avatar__eye-shine--bright{fill:#fff;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.8))}.avatar__eye-shine--sm{fill:#ffffff8c}.avatar__eye-shine--happy{fill:#fff;filter:drop-shadow(0 0 1.8px rgba(255,255,255,.95))}.avatar__eq .avatar__bar{fill:#166534;transform-box:fill-box;transform-origin:center bottom;animation:avatar-eq .85s ease-in-out infinite}.avatar__eq .avatar__bar:nth-child(2){animation-delay:.1s}.avatar__eq .avatar__bar:nth-child(3){animation-delay:.2s}.avatar__eq .avatar__bar:nth-child(4){animation-delay:.3s}.avatar__label{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:14px;white-space:nowrap;color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.3px}.avatar__label--error{color:#fca5a5}.avatar__blush{fill:#fb7185;opacity:.55}.avatar__blush-speak{animation:avatar-blush-follow 4s linear .16s infinite both}.avatar__blush--speak{fill:#fb7185;transform-box:fill-box;transform-origin:center;animation:blush-pulse 4s linear infinite}.avatar__blush-speak .avatar__blush--speak:nth-child(2){animation-delay:.4s}@keyframes blush-pulse{0%,to{opacity:.46;transform:scale(.98)}25%{opacity:.58;transform:scale(1.03)}50%{opacity:.62;transform:scale(1.04)}75%{opacity:.54;transform:scale(1.01)}}.avatar__thoughts{transform-box:fill-box;transform-origin:center;animation:thought-bob 3s ease-in-out infinite}.avatar__thought{fill:#475569;opacity:.7}@keyframes thought-bob{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-2px);opacity:1}}.voice__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;max-width:520px;margin:0 auto 18px;padding:0 16px}.voice__chip{height:30px;padding:0 13px;border-radius:var(--r-round);background:var(--surface-raised);border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}.voice__chip:hover{color:var(--text)}.voice__chip--active{background:var(--primary);color:var(--bg);border-color:transparent}.spinner{display:inline-block;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--r-round);animation:spin .7s linear infinite}@keyframes avatar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes avatar-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.32)}}@keyframes avatar-look{0%,16%{transform:translate(0)}22%,34%{transform:translate(-3px)}40%,56%{transform:translate(0)}62%,68%{transform:translateY(-2px)}74%,86%{transform:translate(3px)}92%,to{transform:translate(0)}}@keyframes avatar-look-lively{0%,12%{transform:translate(0)}18%,30%{transform:translate(-5px,-1px)}36%,48%{transform:translate(0)}54%,66%{transform:translate(5px,-1px)}72%,84%{transform:translate(-3px,2px)}90%,to{transform:translate(0)}}@keyframes avatar-blush-follow{0%,12%{transform:translate(0)}18%,30%{transform:translate(-2.5px,-.5px)}36%,48%{transform:translate(0)}54%,66%{transform:translate(2.5px,-.5px)}72%,84%{transform:translate(-1.5px,1px)}90%,to{transform:translate(0)}}@keyframes avatar-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.avatar__glow,.avatar__shell,.avatar__eyes,.avatar__eyes-look--idle,.avatar__eyes-look--lively,.avatar__eyes--happy,.avatar__eyes--happy .avatar__eyes,.avatar__blush--speak,.avatar__blush-speak,.avatar__eq .avatar__bar,.spinner{animation:none}}
