:root{--matrix-bg:#000;--matrix-text-primary:#00ff41e6;--matrix-text-secondary:#fff9;--matrix-accent:#00ff41;--matrix-border:#00ff41;--matrix-error:#ff3232e6;--matrix-status-active:#00ff41cc;--matrix-status-inactive:#00ff414d;--matrix-overlay-bg:#00140033;--matrix-button-bg:#0000;--matrix-button-hover:#00ff4133;--matrix-input-bg:#001e0033;--matrix-bubble-user:#0028004d;--matrix-bubble-assistant:#00140033}@font-face{font-display:swap;font-family:Fira Code;src:url(https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&display=swap)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;background-color:var(--matrix-bg);color:#00ff41e6;color:var(--matrix-text-primary);font-family:Fira Code,Courier New,Consolas,monospace;line-height:1.6;margin:0;min-height:100vh;overflow-x:hidden}code{font-family:Fira Code,Menlo,Monaco,Consolas,Courier New,monospace}button{background-color:initial;background-color:var(--matrix-button-bg);border:1px solid #00ff41;border:1px solid var(--matrix-border);color:#00ff41e6;color:var(--matrix-text-primary);cursor:pointer;font-family:Fira Code,monospace;padding:8px 16px;transition:all .2s ease}button:hover:not(:disabled){background-color:#00ff4133;background-color:var(--matrix-button-hover);box-shadow:0 0 10px #00ff4166}button:disabled{border-color:#00ff414d;border-color:var(--matrix-status-inactive);color:#00ff414d;color:var(--matrix-status-inactive);cursor:not-allowed}input,textarea{background-color:#001e0033;background-color:var(--matrix-input-bg);border:1px solid #00ff41;border:1px solid var(--matrix-border);color:#00ff41e6;color:var(--matrix-text-primary);font-family:Fira Code,monospace;padding:8px}input:focus,textarea:focus{box-shadow:0 0 8px #00ff4180;outline:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#00140033}::-webkit-scrollbar-thumb{background:#00ff41;background:var(--matrix-accent);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#00ff41cc;background:var(--matrix-status-active)}.audio-chat-container{background-color:#000a0040;border:1px solid var(--matrix-border);box-shadow:0 0 20px #00ff411a;margin:2rem auto;max-width:800px;overflow:hidden;padding:1.5rem;position:relative}.audio-chat-title{color:var(--matrix-text-primary);font-family:Fira Code,monospace;font-weight:500;letter-spacing:1px;margin-bottom:1.5rem;text-align:center}.session-id{color:var(--matrix-text-secondary);font-size:.7em}.session-host,.session-id{font-weight:400;letter-spacing:normal}.session-host{color:#fff;font-size:1.3em}.input-section{margin-bottom:1.5rem}.input-textarea{background-color:var(--matrix-input-bg);border:1px solid var(--matrix-border);border-radius:4px;color:var(--matrix-text-primary);font-family:Fira Code,monospace;padding:12px;resize:none;transition:all .3s ease;width:97%}.input-textarea:focus{box-shadow:0 0 15px #00ff4133;outline:none}.button-container{align-items:center;display:flex;gap:10px;margin-top:10px}.send-button{background-color:initial;border:1px solid var(--matrix-border);border-radius:0;color:var(--matrix-text-primary);cursor:pointer;font-family:Fira Code,monospace;font-size:.9rem;letter-spacing:1px;padding:10px 20px;text-transform:uppercase;transition:all .3s ease}.send-button:hover:not(:disabled){background-color:#00ff411a;box-shadow:0 0 15px #00ff4166}.send-button:disabled{border-color:var(--matrix-status-inactive);color:var(--matrix-status-inactive);cursor:not-allowed;opacity:.5}.status-indicator{align-items:center;color:var(--matrix-text-secondary);display:flex;font-family:Fira Code,monospace;font-size:.8rem;margin:12px 0}.status-indicator:before{color:var(--matrix-accent);content:">";margin-right:6px}.status-indicator.active:after{animation:blink 1s infinite;background-color:var(--matrix-accent);border-radius:50%;content:"";display:inline-block;height:8px;margin-left:8px;width:8px}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.conversation-history{background-color:#000a0026;border:1px solid var(--matrix-border);border-radius:0;margin:15px 0;max-height:400px;overflow-y:auto;padding:15px}.message{border-radius:0;margin-bottom:15px;padding:12px;position:relative}.message.user{background-color:var(--matrix-bubble-user);margin-left:40px;text-align:right}.message.assistant,.message.user{border-left:1px solid var(--matrix-accent)}.message.assistant{background-color:var(--matrix-bubble-assistant);margin-right:40px}.message-role{color:var(--matrix-text-secondary);font-size:.8em;font-weight:700;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.message-content{color:var(--matrix-text-primary);font-size:.95rem;line-height:1.6}.response-container{background-color:var(--matrix-bubble-assistant);border:1px solid var(--matrix-border);margin-top:15px;padding:15px}.ai-response{color:var(--matrix-text-primary);line-height:1.6}@keyframes typing{0%{width:0}to{width:100%}}.typing-animation{animation:typing 1s steps(40);display:inline-block;overflow:hidden;white-space:nowrap}.audio-status-container{align-items:center;display:flex;height:30px;justify-content:center;position:absolute;right:20px;top:20px;width:140px;z-index:10}.audio-status-canvas{box-shadow:0 0 10px #00ff4133}.header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;position:relative}.timestamp{font-size:.75rem;margin-top:5px;opacity:.8}.system-logs-container,.timestamp{color:var(--matrix-accent);font-family:Fira Code,monospace}.system-logs-container{background-color:#000a00b3;border:1px solid var(--matrix-accent);border-radius:4px;bottom:20px;box-shadow:0 0 15px #00ff414d;font-size:11px;max-height:180px;overflow:hidden;padding:10px;position:absolute;right:20px;transition:all .3s ease;width:300px;z-index:5}.system-logs-header{align-items:center;border-bottom:1px solid #00ff414d;display:flex;font-size:12px;font-weight:700;justify-content:space-between;margin-bottom:8px;padding-bottom:5px}.collapse-button{align-items:center;background:none;border:1px solid #00ff4180;border-radius:2px;color:var(--matrix-accent);cursor:pointer;display:flex;font-size:14px;height:18px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:18px}.collapse-button:hover{background-color:#00ff4133;box-shadow:0 0 5px #00ff4180}.system-logs-container.collapsed .system-logs{display:none}.system-logs-container.collapsed{height:auto;max-height:32px;overflow:hidden}.system-logs{height:140px;overflow-y:auto;scrollbar-color:var(--matrix-accent) #0003;scrollbar-width:thin}.system-logs::-webkit-scrollbar{width:6px}.system-logs::-webkit-scrollbar-track{background:#0003}.system-logs::-webkit-scrollbar-thumb{background-color:#00ff414d;border-radius:3px}.log-entry{animation:fadeIn .5s ease-in;line-height:1.4;margin-bottom:4px;opacity:.8}.log-timestamp{font-size:10px;margin-right:8px;opacity:.6}.log-message{opacity:.9}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:.8;transform:translateY(0)}}.command-prompt{align-items:center;color:var(--matrix-accent);display:flex;font-family:Fira Code,monospace;margin-bottom:10px}.prompt-symbol{font-weight:700;margin-right:8px}.prompt-cursor{animation:cursor-blink 1s infinite;background-color:var(--matrix-accent);display:inline-block;height:16px;margin-left:2px;vertical-align:middle;width:10px}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width:768px){.audio-chat-container{margin:.5rem;max-width:100%;padding:1rem;width:auto}.header-container{align-items:flex-start;flex-direction:column}.audio-status-container{margin-top:10px;position:relative;right:0;top:0;width:100%}.system-logs-container{bottom:10px;max-height:120px;max-width:300px;position:fixed;right:10px;width:calc(100% - 20px)}.button-container{flex-direction:column;gap:5px}.send-button{padding:8px;width:100%}.conversation-history{max-height:300px}.message{margin-left:10px;margin-right:10px}}@media (max-width:480px){.audio-chat-title{font-size:1.2rem}.system-logs-container{display:none}.input-textarea{min-height:60px;padding:8px}.header-container{margin-bottom:.8rem}.timestamp{font-size:.65rem}.conversation-history{max-height:250px}.command-prompt{font-size:.8rem}.prompt-symbol{margin-right:4px}.prompt-cursor{height:12px}}