:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 -apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#d7e4f5;background:radial-gradient(circle at 50% 30%,#0d1526 0%,#05070d 70%)}code{font-family:SF Mono,ui-monospace,Consolas,monospace}.ai-core{--cyan:#22d3ee;--blue:#3b82f6;--violet:#8b5cf6;--warn:#f5a524;--danger:#f97355;justify-content:center;align-items:center;width:min(60vmin,480px);height:min(60vmin,480px);transition:opacity .6s;display:flex;position:relative}.ai-core__glow{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 35%, transparent) 0%, transparent 70%);filter:blur(24px);border-radius:50%;transition:background .8s,opacity .8s;animation:6s ease-in-out infinite breathe;position:absolute;inset:8%}.ai-core__rings{width:100%;height:100%;position:absolute;inset:0}.ring{fill:none;stroke-width:1.4px;opacity:.55;transform-origin:200px 200px}.ring--outer{stroke:var(--violet);animation:22s linear infinite spin}.ring--mid{stroke:var(--blue);animation:16s linear infinite spin-reverse}.ring--inner{stroke:var(--cyan);stroke-dasharray:6 10;animation:9s linear infinite spin}.ai-core__nucleus{fill:url(#nucleus-gradient);transition:r .5s;animation:4s ease-in-out infinite breathe}.ai-core__particles{position:absolute;inset:0}.particle{background:var(--cyan);width:4px;height:4px;box-shadow:0 0 6px 1px var(--cyan);transform-origin:0 0;animation:14s linear infinite orbit;animation-delay:calc(var(--i) * -1.1s);opacity:.8;border-radius:50%;position:absolute;top:50%;left:50%}.ai-core__label{letter-spacing:.3em;color:var(--cyan);opacity:.85;text-shadow:0 0 12px color-mix(in srgb, var(--cyan) 60%, transparent);font-family:SF Mono,ui-monospace,monospace;font-size:.85rem;position:absolute;bottom:6%}.ai-core__subtitle{text-align:center;color:#d7e4f5;max-width:90%;font-size:.95rem;line-height:1.5;position:absolute;bottom:-8%}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes breathe{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes orbit{0%{transform:rotate(calc(360deg / var(--n) * var(--i))) translateX(150px) rotate(0deg)}to{transform:rotate(calc(360deg / var(--n) * var(--i) + 360deg)) translateX(150px) rotate(-360deg)}}.ai-core[data-state=offline]{opacity:.35}.ai-core[data-state=offline] .ring,.ai-core[data-state=offline] .particle{animation-play-state:paused}.ai-core[data-state=offline] .ai-core__glow,.ai-core[data-state=offline] .ai-core__nucleus{background:radial-gradient(circle,#64748b4d 0%,#0000 70%);animation-play-state:paused}.ai-core[data-state=offline] .ai-core__label{color:#64748b;text-shadow:none}.ai-core[data-state=idle] .ring{animation-duration:26s,20s,11s}.ai-core[data-state=thinking] .ring--outer{animation-duration:6s}.ai-core[data-state=thinking] .ring--mid{animation-duration:4.5s}.ai-core[data-state=thinking] .ring--inner{animation-duration:2.5s}.ai-core[data-state=thinking] .particle{animation-duration:5s}.ai-core[data-state=thinking] .ai-core__glow{background:radial-gradient(circle, color-mix(in srgb, var(--violet) 45%, transparent) 0%, transparent 70%)}.ai-core[data-state=speaking] .ai-core__glow{background:radial-gradient(circle, color-mix(in srgb, var(--blue) 45%, transparent) 0%, transparent 70%);animation-duration:1.4s}.ai-core[data-state=speaking] .ai-core__nucleus{animation-duration:1.4s}.ai-core[data-state=speaking] .ai-core__label{color:var(--blue);text-shadow:0 0 12px color-mix(in srgb, var(--blue) 60%, transparent)}.ai-core[data-state=listening] .ai-core__glow{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 55%, transparent) 0%, transparent 70%);animation-duration:2s}.ai-core[data-state=transcribing] .ai-core__nucleus{animation-duration:1s}.ai-core[data-state=error] .ai-core__glow{background:radial-gradient(circle, color-mix(in srgb, var(--danger) 55%, transparent) 0%, transparent 70%);animation:1.6s ease-in-out infinite breathe}.ai-core[data-state=error] .particle{background:var(--danger);box-shadow:0 0 6px 1px var(--danger)}.ai-core[data-state=error] .ring{stroke:var(--danger)}.ai-core[data-state=error] .ai-core__nucleus{filter:sepia()saturate(4)hue-rotate(-20deg)brightness(1.05)}.ai-core[data-state=error] .ai-core__label{color:var(--danger);text-shadow:0 0 12px color-mix(in srgb, var(--danger) 60%, transparent)}.control-panel{flex-direction:column;gap:.7rem;width:min(320px,90vw);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;display:flex}.control-panel__ask{gap:.4rem;display:flex}.control-panel__ask input{color:#d7e4f5;background:#0f142299;border:1px solid #94c5ff33;border-radius:10px;outline:none;flex:1;padding:.55rem .7rem;font-size:.85rem}.control-panel__ask input:focus{border-color:#22d3ee}.control-panel__ask input::placeholder{color:#55688a}.control-panel button,.control-panel select{color:#7fe4ff;cursor:pointer;background:#22d3ee1f;border:1px solid #94c5ff33;border-radius:10px;padding:.5rem .8rem;font-size:.8rem;transition:background .2s}.control-panel button:hover:not(:disabled){background:#22d3ee40}.control-panel button:disabled,.control-panel select:disabled{opacity:.4;cursor:not-allowed}.control-panel__buttons{gap:.4rem;display:flex}.control-panel__buttons button{flex:1}.control-panel__model{color:#9fb3d1;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.control-panel__model select{color:#d7e4f5;background:#0f142299;flex:1}.status-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#d7e4f5;background:#0f142299;border:1px solid #94c5ff1f;border-radius:16px;width:min(320px,90vw);padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif}.status-panel__title{letter-spacing:.4em;color:#7fe4ff;margin:0 0 1rem;font-family:SF Mono,ui-monospace,monospace;font-size:1.1rem}.status-row{border-bottom:1px solid #94c5ff14;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.85rem;display:flex}.status-row__value{color:#9fb3d1;text-align:right;margin-left:auto;font-size:.78rem}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot--ok{background:#34d399;box-shadow:0 0 6px 1px #34d399}.dot--bad{background:#f97355;box-shadow:0 0 6px 1px #f97355}.dot--unknown{background:#64748b}.status-panel__error{background:#f973551f;border:1px solid #f973554d;border-radius:10px;margin-top:1rem;padding:.6rem .75rem;font-size:.78rem}.status-panel__error strong{color:#f97355}.status-panel__note{color:#6b7d9c;margin-top:1.2rem;font-size:.72rem;line-height:1.5}.status-panel__note code{color:#9fb3d1}.status-panel__backend-url{margin-top:.9rem}.status-panel__backend-url-display{text-align:left;color:#55688a;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;width:100%;padding:.3rem 0;font-size:.68rem;overflow:hidden}.status-panel__backend-url-display code{color:#7d92b3}.status-panel__backend-url form{flex-direction:column;gap:.4rem;display:flex}.status-panel__backend-url input{color:#d7e4f5;background:#0f1422b3;border:1px solid #94c5ff40;border-radius:8px;outline:none;padding:.4rem .55rem;font-family:SF Mono,ui-monospace,monospace;font-size:.72rem}.status-panel__backend-url input:focus{border-color:#22d3ee}.status-panel__backend-url-actions{gap:.4rem;display:flex}.status-panel__backend-url-actions button{color:#7fe4ff;cursor:pointer;background:#22d3ee1f;border:1px solid #94c5ff33;border-radius:8px;flex:1;padding:.3rem .5rem;font-size:.7rem}.app{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;width:100%;min-height:100vh;padding:2rem;display:flex}.app__sidebar{flex-direction:column;gap:1.2rem;display:flex}.app__core-wrap{flex:none;justify-content:center;align-items:center;display:flex}@media (width<=720px){.app{flex-direction:column-reverse;gap:2rem}}
