:root{--bg-dark:#0f1114;--bg-surface:#16181d;--bg-elevated:#1c1f26;--bg-glass:rgba(22,24,29,0.85);--text-primary:#f5f5f7;--text-secondary:#8e8e93;--text-muted:#5a5a5e;--border-subtle:rgba(255,255,255,0.06);--border-default:rgba(255,255,255,0.1);--border-strong:rgba(255,255,255,0.15);--accent-green:#6ee7b7;--accent-blue:#7dd3fc;--accent-purple:#c4b5fd;--accent-orange:#fdba74;--accent-red:#fca5a5;--accent-green-muted:rgba(110,231,183,0.15);--accent-blue-muted:rgba(125,211,252,0.15);--accent-purple-muted:rgba(196,181,253,0.15);--accent-orange-muted:rgba(253,186,116,0.15);--accent-red-muted:rgba(252,165,165,0.15);--glass-bg:rgba(22,24,29,0.75);--glass-border:rgba(255,255,255,0.08);--glass-blur:20px}*{box-sizing:border-box}body{margin:0;padding:0;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}.knvs-container,body{background:var(--bg-dark)}.knvs-container{width:100vw;height:100vh;position:relative;overflow:hidden}.knvs-canvas{width:100%;height:100%;padding:0}.chat-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 24px rgba(0,0,0,.4)}.chat-fab:hover{transform:scale(1.05);border-color:var(--accent-purple);box-shadow:0 0 20px rgba(196,181,253,.3)}.chat-fab-icon{display:flex;align-items:center;justify-content:center}.pulse-icon{animation:pulse 2s ease-in-out infinite}.pulse-icon-subtle{animation:pulse-subtle 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.chat-panel{position:fixed;bottom:24px;right:24px;width:380px;height:520px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border-radius:16px;border:1px solid var(--glass-border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.5)}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-subtle);background:rgba(0,0,0,.2)}.chat-header-brand{display:flex;align-items:center;gap:10px}.chat-header-title{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.chat-close{width:28px;height:28px;border-radius:6px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:all .15s}.chat-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.chat-interface{overflow:hidden}.chat-interface,.chat-messages{flex:1;display:flex;flex-direction:column}.chat-messages{overflow-y:auto;padding:16px;gap:12px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);text-align:center;gap:4px}.chat-empty p{font-size:14px;margin:0;color:var(--text-secondary)}.chat-empty small{font-size:12px;color:var(--text-muted)}.chat-message{display:flex;flex-direction:column;gap:4px;max-width:85%}.chat-message-user{align-self:flex-end}.chat-message-assistant,.chat-message-auracle{align-self:flex-start}.chat-message-header{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.chat-message-role{font-weight:500}.chat-thinking-indicator{font-size:10px;color:var(--accent-purple);font-style:italic;text-transform:lowercase}.chat-message-content{padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5}.chat-message-user .chat-message-content{background:var(--accent-purple-muted);border:1px solid rgba(196,181,253,.2);color:var(--text-primary)}.chat-message-assistant .chat-message-content,.chat-message-auracle .chat-message-content{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-primary)}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--accent-purple);animation:typing 1.4s ease-in-out infinite both}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.chat-input-area{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border-subtle);background:rgba(0,0,0,.2)}.chat-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--border-default);background:var(--bg-dark);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.chat-input:focus{border-color:var(--accent-purple)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-button{width:40px;height:40px;border-radius:10px;background:var(--accent-purple);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--bg-dark);font-weight:600;font-size:16px;transition:all .15s}.chat-send-button:hover:not(:disabled){background:var(--accent-blue);transform:scale(1.02)}.chat-send-button:disabled{opacity:.4;cursor:not-allowed}.dynamic-canvas{width:100%;height:100%;position:relative}.component-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:12px;padding:16px}.render-error{padding:16px;background:var(--accent-red-muted);border:1px solid rgba(252,165,165,.3);border-radius:8px;color:var(--accent-red);font-size:13px}.render-error code{display:block;margin-top:8px;font-size:11px;color:var(--text-muted)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}