:root{--primary-color: #8a2be2;--bg-dark: #0f111a;--bg-card: rgba(25, 27, 42, .7);--text-primary: #ffffff;--text-secondary: #a0a5b5;--accent-glow: 0 0 20px rgba(138, 43, 226, .5);--glass-border: 1px solid rgba(255, 255, 255, .1);--status-green: #00ff88;--status-red: #ff3b3b;--status-gray: #666666}html,body,#root{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden;background-color:transparent;display:flex;justify-content:center;align-items:center}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-container{width:300px;height:300px;background:transparent;color:var(--text-primary);border-radius:50%;border:2px solid var(--glass-border);box-shadow:0 12px 40px #0006;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer;transition:transform .4s ease;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.widget-container.active{border-color:var(--status-green);box-shadow:0 0 25px #00ff884d;animation:green-pulse 2s infinite ease-in-out}@keyframes green-pulse{0%{box-shadow:0 0 #0f86}70%{box-shadow:0 0 0 15px #0f80}to{box-shadow:0 0 #0f80}}.widget-container.muted{border-color:var(--status-red);box-shadow:0 4px 15px #ff3b3b33}.widget-container.offline{border-color:var(--status-gray);filter:grayscale(.5);cursor:not-allowed}.ambient-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:radial-gradient(circle at center,rgba(138,43,226,.05) 0%,transparent 70%);pointer-events:none;z-index:0}.header,.mic-toggle-fab,.controls,.status-message,.avatar-loader{display:none!important}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10;position:relative;overflow:hidden}.avatar-container{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;pointer-events:none}.avatar-container.speaking{filter:drop-shadow(0 0 15px rgba(0,255,136,.1))}.spinner{display:none}
