@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";body{margin:0;font-family:-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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-primary: #050505;--bg-secondary: #0a0a0a;--glass-bg: rgba(20, 20, 25, .65);--glass-border: rgba(255, 255, 255, .08);--glass-highlight: rgba(255, 255, 255, .12);--accent-primary: #00f0ff;--accent-secondary: #7000ff;--accent-glow: rgba(0, 240, 255, .4);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .65);--text-muted: rgba(255, 255, 255, .4);--danger: #ff2a6d;--success: #05ffa1;--warning: #ffcc00;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-expo: cubic-bezier(.19, 1, .22, 1)}*{box-sizing:border-box}body{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);height:100vh;height:100dvh;width:100vw;overflow:hidden;position:fixed;touch-action:none;-webkit-font-smoothing:antialiased}.jarvis-bg-animation{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;background:radial-gradient(circle at 15% 50%,rgba(112,0,255,.08),transparent 25%),radial-gradient(circle at 85% 30%,rgba(0,240,255,.08),transparent 25%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);overflow:hidden}.jarvis-bg-animation:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3C/g%3E%3C/svg%3E");opacity:.5}.matrix-title{position:absolute;top:32px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.matrix-title .title-main{display:flex;align-items:center;gap:12px}.matrix-title .version-tag{font-family:var(--font-mono);font-size:.6rem;color:#ff003c66;letter-spacing:1px;text-shadow:0 0 5px rgba(255,0,60,.2)}.matrix-title .matrix-text{font-family:var(--font-mono);font-size:1.5rem;font-weight:500;letter-spacing:6px;color:#ff003c;text-transform:uppercase;display:flex;position:relative;text-shadow:0 0 10px rgba(255,0,60,.6)}.matrix-title .glitch-letter{display:inline-block;position:relative;animation:letter-glitch 3s infinite}.matrix-title .glitch-letter:nth-child(1){animation-delay:0s}.matrix-title .glitch-letter:nth-child(2){animation-delay:.3s}.matrix-title .glitch-letter:nth-child(3){animation-delay:.6s}.matrix-title .glitch-letter:nth-child(4){animation-delay:.9s}.matrix-title .glitch-letter:nth-child(5){animation-delay:1.2s}.matrix-title .glitch-letter:nth-child(6){animation-delay:1.5s}@keyframes letter-glitch{0%,90%,to{transform:translate(0);opacity:1;text-shadow:0 0 10px rgba(255,0,60,.6)}92%{transform:translate(-2px,1px);opacity:.8;text-shadow:2px 0 #00f0ff,-2px 0 #ff003c}94%{transform:translate(2px,-1px);opacity:1;text-shadow:-2px 0 #00f0ff,2px 0 #ff003c}96%{transform:translate(-1px);opacity:.9;text-shadow:1px 0 #00f0ff,-1px 0 #ff003c}98%{transform:translate(0);opacity:1;text-shadow:0 0 10px rgba(255,0,60,.6)}}.matrix-title .matrix-subtitle{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:#ff003c;letter-spacing:2px;padding:2px 6px;border:1px solid rgba(255,0,60,.4);border-radius:4px;background:#ff003c1a;box-shadow:0 0 10px #ff003c33}.jarvis-interface{display:flex;flex-direction:column;height:100vh;position:relative;overflow:hidden}.jarvis-interface .main-viewport{flex-grow:1;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:0}@media(max-width:768px){.jarvis-interface{height:100vh;height:100dvh}}.jarvis-interface .hud-panel-left,.jarvis-interface .hud-panel-right{position:absolute;top:20px;bottom:20px;width:380px;background:var(--glass-bg);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-border);border-radius:16px;display:flex;flex-direction:column;z-index:300;transition:transform .5s var(--ease-spring),opacity .4s ease;box-shadow:0 20px 50px #00000080;overflow:hidden}@media(max-width:1024px){.jarvis-interface .hud-panel-left,.jarvis-interface .hud-panel-right{width:320px}}@media(max-width:768px){.jarvis-interface .hud-panel-left,.jarvis-interface .hud-panel-right{top:0;bottom:0;width:100%;border-radius:0}}.jarvis-interface .hud-panel-left{left:20px;transform:translate(0);opacity:1}@media(max-width:768px){.jarvis-interface .hud-panel-left{left:0}}.jarvis-interface .hud-panel-left.collapsed{transform:translate(-420px);opacity:0;pointer-events:none}.jarvis-interface .hud-panel-right{right:20px;transform:translate(0)}@media(max-width:768px){.jarvis-interface .hud-panel-right{right:0}}.jarvis-interface .hud-panel-right{opacity:1}.jarvis-interface .hud-panel-right.collapsed{transform:translate(420px);opacity:0;pointer-events:none}.hud-bottom-deck{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:200}@media(max-width:768px){.hud-bottom-deck{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:8px}}.hud-bottom-deck{pointer-events:none}.hud-bottom-deck>*{pointer-events:all}.camera-preview{width:180px;height:135px;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:0 8px 32px #0006;background:#000;position:relative;transition:all .3s ease}.camera-preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:.8}.camera-preview:after{content:"LIVE";position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;background:#f009;color:#fff;padding:2px 6px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.camera-preview.hidden{display:none!important}.api-key-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);z-index:9999}.api-key-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 80%);mask-image:radial-gradient(circle at center,black 40%,transparent 80%)}.api-key-container{position:relative;background:#141419cc;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid var(--glass-border);box-shadow:0 0 60px #00000080;padding:3rem 4rem;border-radius:20px;text-align:center;width:100%;max-width:520px;animation:scaleIn .6s var(--ease-spring)}.api-key-container .matrix-title{position:static;transform:none;justify-content:center;margin-bottom:2rem}.api-key-container .matrix-title .matrix-text{font-size:2rem;text-shadow:none;color:var(--text-primary)}.api-key-container p{font-family:var(--font-ui);color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.6}.api-key-container form{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.api-key-container .api-input{background:#0000004d;border:1px solid var(--glass-border);color:var(--text-primary);font-family:var(--font-mono);font-size:.95rem;padding:1rem 1.25rem;border-radius:10px;outline:none;transition:all .2s ease}.api-key-container .api-input:focus{border-color:var(--accent-primary);background:#00000080;box-shadow:0 0 0 3px #00f0ff1a}.api-key-container .api-input::placeholder{color:var(--text-muted)}.api-key-container .action-button{background:var(--text-primary);color:#000;border:none;padding:1rem;font-family:var(--font-ui);font-weight:600;font-size:1rem;border-radius:10px;cursor:pointer;transition:all .2s ease}.api-key-container .action-button:hover{background:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 12px #00f0ff4d}.api-key-container .action-button:active{transform:translateY(0)}.api-key-container .get-key-link{margin-top:1.5rem;display:inline-block;color:var(--text-muted);font-size:.85rem;text-decoration:none;transition:color .2s}.api-key-container .get-key-link:hover{color:var(--text-primary);text-decoration:underline}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.hidden{display:none!important}.logger{color:var(--gray-300);width:100%;max-width:100%;display:block}.logger .logger-list{padding:0 0 0 25px;overflow-x:hidden;width:calc(100% - 45px)}.logger .user h4{color:var(--Green-500)}.logger .model h4{color:var(--Blue-500)}.logger .rich-log{display:flex;justify-content:center;gap:4px}.logger .rich-log pre{overflow-x:auto}.logger .rich-log{display:block}.logger .rich-log h4{font-size:14px;text-transform:uppercase;padding:8px 0;margin:0}.logger .rich-log h5{margin:0;padding-bottom:8px;border-bottom:1px solid var(--Neutral-20)}.logger .rich-log .part{background:#ffffff0d;border:1px solid var(--Neutral-20);padding:14px;margin-bottom:4px;color:var(--text);border-radius:8px}.logger .plain-log>*{padding-right:4px}.logger .inline-code:not(:last-child){font-style:italic}.logger .inline-code:not(:last-child):after{content:", "}.logger li{display:block;padding:8px 0;color:var(--Neutral-50, #707577);font-family:Space Mono;font-size:14px;font-style:normal;font-weight:400;line-height:normal}.logger li .timestamp{width:70px;flex-grow:0;flex-shrink:0;color:var(--Neutral-50)}.logger li .source{flex-shrink:0;font-weight:700}.logger li.source-server,.logger li.receive{color:var(--Blue-500)}.logger li.source-client,.logger li.send:not(.source-server){color:var(--Green-500)}.logger li .count{background-color:var(--Neutral-5);font-size:x-small;padding:.3em .5em;line-height:1em;vertical-align:middle;border-radius:8px;color:var(--Blue-500)}.logger li .message{flex-grow:1;color:var(--Neutral-50)}.visualizer-container{display:flex;align-items:center;justify-content:center;flex-grow:1;height:100%;margin:0 1rem;position:relative;min-width:100px}.wave-visualizer{display:flex;align-items:center;justify-content:center;gap:4px;height:100%;width:100%}.wave-visualizer .wave-bar{width:4px;background:var(--accent-blue);border-radius:4px;box-shadow:0 0 8px var(--accent-blue);transition:height .05s ease;min-height:4px}.waiting-dots{display:flex;gap:4px;align-items:center}.waiting-dots .dot{width:6px;height:6px;background-color:var(--gray-500);border-radius:50%;animation:pulse-dot 1.4s infinite ease-in-out both}.waiting-dots .dot:nth-child(1){animation-delay:-.32s}.waiting-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes pulse-dot{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1;background-color:var(--accent-blue);box-shadow:0 0 5px var(--accent-blue)}}.side-panel{width:100%;height:100%;display:flex;flex-direction:column;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary);position:relative}.side-panel .panel-header{flex-shrink:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--glass-border);position:relative;background:#0006}.side-panel .panel-header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);opacity:.5}.side-panel .panel-header .panel-title{font-family:var(--font-mono);font-weight:500;font-size:16px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-primary);text-shadow:0 0 10px rgba(0,240,255,.3);display:flex;align-items:center;gap:10px}.side-panel .panel-header .panel-title:before{content:">";color:var(--accent-secondary)}.side-panel .panel-header .close-btn{background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.side-panel .panel-header .close-btn .material-symbols-outlined{font-size:20px}.side-panel .panel-header .close-btn:hover{color:#ff2a6d;background:#ff2a6d1a;border-color:#ff2a6d4d;box-shadow:0 0 15px #ff2a6d33;transform:rotate(90deg)}.side-panel .indicators{padding:16px 24px}.side-panel .indicators .jarvis-indicator{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0006;border:1px solid var(--glass-border);border-radius:4px}.side-panel .indicators .jarvis-indicator .status-text{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-secondary)}.side-panel .indicators .jarvis-indicator .status-text.active{color:#0f0;text-shadow:0 0 8px rgba(0,255,0,.5)}.side-panel .indicators .jarvis-indicator .visualizer-container{display:flex;align-items:center;gap:2px;height:16px}.side-panel .indicators .jarvis-indicator .visualizer-container .bar{width:3px;background:#0f0;min-height:4px}.side-panel .indicators .jarvis-indicator .visualizer-container .dot{width:4px;height:4px;background:var(--text-secondary);opacity:.3;animation:pulse 1s infinite alternate}.side-panel .indicators .jarvis-indicator .visualizer-container .dot:nth-child(2){animation-delay:.2s}.side-panel .indicators .jarvis-indicator .visualizer-container .dot:nth-child(3){animation-delay:.4s}.side-panel .side-panel-container{flex-grow:1;overflow-y:auto;padding:0 16px 20px;scrollbar-gutter:stable}@media(max-width:768px){.side-panel .side-panel-container{padding-bottom:120px}}.side-panel .input-container{padding:16px 20px;border-top:1px solid var(--glass-border);background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.side-panel .input-container .input-content{position:relative;display:flex;align-items:flex-end;background:#0a0a0c99;border:1px solid var(--glass-border);border-radius:4px;padding:8px 12px;transition:all .2s ease}.side-panel .input-container .input-content:focus-within{border-color:var(--accent-primary);box-shadow:0 0 15px #00f0ff26}.side-panel .input-container .input-content .input-area{flex-grow:1;background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;padding:8px 4px;resize:none;outline:none;max-height:100px;min-height:24px;line-height:1.5}.side-panel .input-container .input-content .input-area::placeholder{color:transparent}.side-panel .input-container .input-content .input-content-placeholder{position:absolute;left:16px;top:16px;pointer-events:none;color:var(--text-secondary);font-size:13px;font-family:var(--font-mono);opacity:.5;text-transform:uppercase}.side-panel .input-container .input-content .input-content-placeholder.hidden{display:none}.side-panel .input-container .input-content .send-button{background:none;border:none;color:var(--accent-primary);cursor:pointer;padding:4px;margin-bottom:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.side-panel .input-container .input-content .send-button:hover{color:#fff;text-shadow:0 0 10px var(--accent-primary)}.side-panel .input-container .input-content .send-button .material-symbols-outlined{font-size:20px}@keyframes pulse{0%{opacity:.3}to{opacity:1}}.side-panel-responses,.side-panel-requests,.top{display:none}.settings-panel{display:flex;flex-direction:column;width:100%;height:100%;font-family:var(--font-mono);color:var(--text-primary);background:transparent}.settings-panel .settings-header{flex-shrink:0;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--glass-border);background:#0003;position:relative}.settings-panel .settings-header:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);opacity:.6;box-shadow:0 0 15px var(--accent-primary)}.settings-panel .settings-header h3{margin:0;font-family:var(--font-mono);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--accent-primary);text-shadow:0 0 15px rgba(0,240,255,.3);display:flex;align-items:center;gap:12px}.settings-panel .settings-header h3:before{content:"//";color:var(--accent-secondary);font-weight:700;opacity:.8}.settings-panel .settings-header .close-btn{background:transparent;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.settings-panel .settings-header .close-btn .material-symbols-outlined{font-size:18px}.settings-panel .settings-header .close-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#fff3;transform:rotate(90deg)}.settings-panel .settings-content{flex-grow:1;overflow-y:auto;padding:32px 32px 120px;scrollbar-gutter:stable}.settings-panel .settings-content.disabled{opacity:.5;pointer-events:none;filter:grayscale(1)}.settings-panel .settings-content .connected-indicator{margin-bottom:24px;padding:12px 16px;background:#ff2a6d0d;border:1px solid rgba(255,42,109,.3);border-radius:8px;color:var(--danger);font-size:11px;display:flex;align-items:center;gap:10px;font-family:var(--font-mono);letter-spacing:.5px}.settings-panel .settings-content .connected-indicator:before{content:"LOCKED";font-weight:800;font-size:10px;background:#ff2a6d33;padding:2px 6px;border-radius:4px}.settings-panel .settings-content .connected-indicator p{margin:0}.settings-panel .settings-content .section{margin-bottom:40px}.settings-panel .settings-content .section .section-title{display:block;margin-bottom:20px;font-size:10px;text-transform:uppercase;letter-spacing:3px;color:var(--text-muted);font-weight:700;border-bottom:1px solid var(--glass-border);padding-bottom:10px}.settings-panel .settings-content .section .select-group{margin-bottom:20px}.settings-panel .settings-content .section .select-group label{display:block;margin-bottom:8px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.settings-panel .settings-content .hb-settings{display:flex;flex-direction:column;gap:16px;padding:16px;background:#00f0ff08;border:1px solid rgba(0,240,255,.1);border-radius:8px}.settings-panel .settings-content .hb-settings .hb-input{width:100%;background:#0009;border:1px solid var(--glass-border);border-radius:4px;padding:12px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;transition:all .2s}.settings-panel .settings-content .hb-settings .hb-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 15px #00f0ff26}.settings-panel .settings-content .hb-settings .hb-info{font-size:10px;color:var(--text-muted);margin:0;font-style:italic}.settings-panel .settings-content .mode-selectors{display:flex;flex-direction:column;gap:16px}.settings-panel .settings-content .mode-selectors label{display:block;margin-bottom:8px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.settings-panel .settings-content .mode-selectors select{width:100%;background:#0009;border:1px solid var(--glass-border);border-radius:4px;padding:12px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:all .2s}.settings-panel .settings-content .mode-selectors select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 15px #00f0ff26}.settings-panel .settings-content .mode-selectors select option{background:#050508;color:#fff;padding:8px}.settings-panel .settings-content .media-devices{display:flex;flex-direction:column;gap:20px}.settings-panel .settings-content .media-devices .device-selector label{display:block;margin-bottom:8px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.settings-panel .settings-content .media-devices .device-selector .device-select{width:100%;background:#0009;border:1px solid var(--glass-border);border-radius:4px;padding:12px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:all .2s}.settings-panel .settings-content .media-devices .device-selector .device-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 15px #00f0ff26}.settings-panel .settings-content .media-devices .device-selector .device-select:disabled{opacity:.5;cursor:not-allowed}.settings-panel .settings-content .media-devices .device-selector .device-select option{background:#050508;color:#fff}.settings-panel .settings-content .media-devices .device-selector .no-cam-warning{margin-top:8px;font-size:11px;color:var(--danger);background:#ff2a6d1a;padding:8px;border-radius:4px;border:1px solid rgba(255,42,109,.3);display:flex;align-items:center;gap:8px}.settings-panel .settings-content .media-devices .reset-mic-btn{margin-top:12px;display:flex;align-items:center;gap:8px;padding:12px 16px;background:#00f0ff0d;border:1px solid var(--accent-primary);border-radius:4px;color:var(--accent-primary);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.settings-panel .settings-content .media-devices .reset-mic-btn:hover{background:#00f0ff26;box-shadow:0 0 15px #00f0ff33;transform:translateY(-1px)}.settings-panel .settings-content .media-devices .reset-mic-btn .material-symbols-outlined{font-size:18px}.settings-panel .settings-content textarea.system{width:100%;min-height:200px;background:#0009;border:1px solid var(--glass-border);border-radius:4px;padding:16px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;resize:vertical;line-height:1.6}.settings-panel .settings-content textarea.system:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 15px #00f0ff1a}.settings-panel .settings-content textarea.system::placeholder{color:var(--text-secondary);opacity:.5}.settings-panel .settings-content .function-declarations .fd-row{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}.settings-panel .settings-content .function-declarations .fd-row .fd-row-name{color:var(--accent-primary);font-family:var(--font-mono);font-weight:600;font-size:13px;display:block;margin-bottom:4px}.settings-panel .settings-content .function-declarations .fd-row .fd-row-args{display:block;color:var(--text-secondary);font-size:11px;margin-bottom:8px;font-family:var(--font-mono)}.settings-panel .settings-content .function-declarations .fd-row .fd-row-args span{display:inline-block;background:#ffffff1a;padding:2px 6px;border-radius:4px;margin-right:4px}.settings-panel .settings-content .function-declarations .fd-row .fd-row-description{background:transparent;border:none;border-bottom:1px solid var(--glass-border);color:var(--text-primary);padding:8px 0;width:100%;font-family:var(--font-ui);font-size:13px;transition:all .2s}.settings-panel .settings-content .function-declarations .fd-row .fd-row-description:focus{outline:none;border-color:var(--accent-primary);background:#0000004d}.control-tray{background:var(--glass-bg);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border);border-radius:24px;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:0 16px 48px #00000080;transition:all .4s var(--ease-spring);margin-bottom:32px;position:relative}.control-tray:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;padding:1px;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none}.control-tray:hover{transform:translateY(-4px);box-shadow:0 24px 60px #0009;background:#1e1e23cc}.control-tray canvas{display:none}.control-tray .mic-toast{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:12px;background:#ff2a6d26;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,42,109,.4);border-radius:12px;padding:8px 16px;display:flex;align-items:center;gap:8px;color:#ff2a6d;font-size:.85rem;font-weight:500;white-space:nowrap;animation:toast-slide-in .3s ease-out;box-shadow:0 8px 24px #ff2a6d33}.control-tray .mic-toast .material-symbols-outlined{font-size:18px}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.control-tray .actions-nav{display:flex;align-items:center;gap:24px}@media(max-width:768px){.control-tray .actions-nav{gap:12px}}.control-tray .action-group{display:flex;align-items:center;gap:12px}.control-tray .action-button{width:48px;height:48px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.control-tray .action-button .material-symbols-outlined{font-size:20px;transition:transform .2s ease}.control-tray .action-button:hover:not(.disabled){background:#ffffff1a;color:var(--text-primary);border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.control-tray .action-button:hover:not(.disabled) .material-symbols-outlined{transform:scale(1.1)}.control-tray .action-button:active:not(.disabled){transform:translateY(0)}.control-tray .action-button.active{background:#00f0ff1a;color:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 20px #00f0ff33}.control-tray .action-button.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.control-tray .connect-toggle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);background:#00f0ff0d;border:1px solid rgba(0,240,255,.6);color:#00f0ff;box-shadow:0 0 15px #00f0ff1a,inset 0 0 15px #00f0ff0d;margin:0 12px;position:relative;z-index:10}.control-tray .connect-toggle .material-symbols-outlined{font-size:32px;filter:drop-shadow(0 0 5px rgba(0,240,255,.8))}.control-tray .connect-toggle:hover{transform:scale(1.1);background:#00f0ff26;border-color:#00f0ff;box-shadow:0 0 30px #00f0ff66,inset 0 0 20px #00f0ff33;color:#fff}.control-tray .connect-toggle.connected{background:#ff2a6d1a;border-color:#ff2a6d;color:#ff2a6d;box-shadow:0 0 30px #ff2a6d33;animation:pulse-red 2s infinite}.control-tray .connect-toggle.connected .material-symbols-outlined{filter:drop-shadow(0 0 5px rgba(255,42,109,.8))}.control-tray .connect-toggle.connected:hover{background:#ff2a6d33;box-shadow:0 0 40px #ff2a6d80;color:#fff}@media(max-width:768px){.control-tray{padding:12px;width:90%}.control-tray .action-button{width:40px;height:40px}.control-tray .action-button .material-symbols-outlined{font-size:18px}.control-tray .connect-toggle{width:56px;height:56px}.control-tray .screen-share-button,.control-tray .link-button{display:none!important}}@keyframes pulse-red{0%{box-shadow:0 0 #ff2a6d66}70%{box-shadow:0 0 0 15px #ff2a6d00}to{box-shadow:0 0 #ff2a6d00}}.mic-button{position:relative}.central-visualizer{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.central-visualizer .jarvis-circle-container{position:relative;width:60vmin;height:60vmin;max-width:300px;max-height:300px;display:flex;align-items:center;justify-content:center}.central-visualizer .jarvis-circle-container.user-speaking .eye{border-color:#00f0ff;box-shadow:0 0 20px #00f0ff,inset 0 0 10px #005055;background:#001414cc}.central-visualizer .jarvis-circle-container.user-speaking .pupil{background:#00f0ff;box-shadow:0 0 15px #fff;width:25px;height:35px}.central-visualizer .jarvis-circle-container.user-speaking .core-circle{background:#fff!important;box-shadow:0 0 50px #fff,inset 0 0 20px #00f0ff}.central-visualizer .jarvis-circle-container.user-speaking .cat-mouth{filter:drop-shadow(0 0 5px #00f0ff)}.central-visualizer .jarvis-circle-container.user-speaking .mouth-curve{border-color:#00f0ff}.central-visualizer .jarvis-circle-container.user-speaking .ring-dynamic,.central-visualizer .jarvis-circle-container.user-speaking .ring-dynamic-outer{border-color:#00f0ff;opacity:.8!important}.central-visualizer .jarvis-circle-container.user-speaking .ring-static{border-color:#00f0ff66;animation-duration:5s!important}.central-visualizer .jarvis-circle-container.ai-speaking .eye{height:55px;box-shadow:0 0 30px red,inset 0 0 15px red}.central-visualizer .jarvis-circle-container.ai-speaking .pupil{box-shadow:0 0 25px #faa;width:15px}.central-visualizer .jarvis-circle-container.ai-speaking .core-circle{box-shadow:0 0 60px red,inset 0 0 30px #fff}.central-visualizer .jarvis-circle-container.ai-speaking .cat-mouth{opacity:1}.central-visualizer .jarvis-circle-container.ai-speaking .mouth-curve{border-bottom-width:8px;box-shadow:0 0 20px red}.central-visualizer .jarvis-circle-container .core-circle{width:20%;height:20%;background:red;border-radius:50%;box-shadow:0 0 50px red,inset 0 0 30px #500;z-index:20;transition:all .1s ease-out;animation:unstable-pulse 3s infinite}.central-visualizer .jarvis-circle-container .cat-face-container{position:absolute;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;width:100%;height:100%}.central-visualizer .jarvis-circle-container .cat-eyes-row{display:flex;gap:40px;justify-content:center;align-items:center}.central-visualizer .jarvis-circle-container .cat-mouth{margin-top:5px}.central-visualizer .jarvis-circle-container .cat-mouth.wave-mouth{width:120px;height:30px}.central-visualizer .jarvis-circle-container .cat-mouth.wave-mouth .wave-svg{width:100%;height:100%}.central-visualizer .jarvis-circle-container .cat-mouth.wave-mouth .wave-line{stroke:red;filter:drop-shadow(0 0 8px rgba(255,0,0,.6));transition:d .05s ease-out}.central-visualizer .jarvis-circle-container.ai-speaking .cat-mouth.wave-mouth .wave-line{stroke:#f33;filter:drop-shadow(0 0 15px rgba(255,0,0,.9));stroke-width:5}.central-visualizer .jarvis-circle-container.user-speaking .cat-mouth.wave-mouth .wave-line{stroke:#00f0ff;filter:drop-shadow(0 0 12px rgba(0,240,255,.7))}.central-visualizer .jarvis-circle-container .eye{width:90px;height:50px;background:#0a0000e6;border:3px solid #ff0000;border-radius:0 100%;transform:rotate(15deg);box-shadow:0 0 20px red,inset 0 0 15px #500;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s ease-out}.central-visualizer .jarvis-circle-container .eye.right{transform:rotate(-15deg) scaleX(-1);border-radius:0 100%}.central-visualizer .jarvis-circle-container .pupil{width:6px;height:40px;background:red;border-radius:50%;box-shadow:0 0 10px red;transition:all .1s ease-out;transform:rotate(-15deg)}.central-visualizer .jarvis-circle-container .eye.right .pupil{transform:rotate(-15deg)}.central-visualizer .jarvis-circle-container .eye.left{border-radius:0 70%;transform:rotate(10deg)}.central-visualizer .jarvis-circle-container .eye.left .pupil{transform:rotate(-10deg)}.central-visualizer .jarvis-circle-container .eye.right{border-radius:70% 0;transform:rotate(-10deg)}.central-visualizer .jarvis-circle-container .eye.right .pupil{transform:rotate(10deg)}.central-visualizer .jarvis-circle-container .ring-static-1{position:absolute;width:50%;height:50%;border:2px dashed rgba(255,0,0,.4);border-radius:50%;animation:spin 30s linear infinite}.central-visualizer .jarvis-circle-container .ring-static-2{position:absolute;width:70%;height:70%;border:1px solid rgba(255,0,0,.4);border-radius:50%;animation:electron-orbit-1 4s linear infinite}.central-visualizer .jarvis-circle-container .ring-static-3{position:absolute;width:80%;height:80%;border:1px solid rgba(255,0,0,.2);border-left:4px solid rgba(255,0,0,.4);border-radius:50%;animation:spin 45s linear infinite}.central-visualizer .jarvis-circle-container .ring-static-4{position:absolute;width:70%;height:70%;border:1px solid rgba(255,0,0,.4);border-radius:50%;animation:electron-orbit-2 4s linear infinite}.central-visualizer .jarvis-circle-container .ring-static-5{position:absolute;width:110%;height:110%;border-top:2px solid rgba(255,0,0,.3);border-bottom:2px solid rgba(255,0,0,.3);border-radius:50%;animation:spin 35s linear infinite}.central-visualizer .jarvis-circle-container:after{content:"";position:absolute;width:70%;height:70%;border:1px solid rgba(255,0,0,.4);border-radius:50%;animation:electron-orbit-3 4s linear infinite}@keyframes electron-orbit-1{0%{transform:rotate3d(1,1,1,0)}to{transform:rotate3d(1,1,1,360deg)}}@keyframes electron-orbit-2{0%{transform:rotate3d(1,-1,1,0)}to{transform:rotate3d(1,-1,1,360deg)}}@keyframes electron-orbit-3{0%{transform:rotate3d(-1,.5,0,0)}to{transform:rotate3d(-1,.5,0,360deg)}}.central-visualizer .jarvis-circle-container .ripple-ring{position:absolute;border-radius:50%;border:2px solid #ff0000;opacity:0}.central-visualizer .jarvis-circle-container .ripple-ring.r1{width:30%;height:30%;animation:ripple-out 2s infinite}.central-visualizer .jarvis-circle-container .ripple-ring.r2{width:30%;height:30%;animation:ripple-out 2s infinite .5s}.central-visualizer .jarvis-circle-container .ripple-ring.r3{width:30%;height:30%;animation:ripple-out 2s infinite 1s}.central-visualizer .jarvis-circle-container .ring-dynamic{position:absolute;width:40%;height:40%;border:4px solid #ff2a2a;border-radius:50%;opacity:.2;box-shadow:0 0 20px red;transition:all .1s ease-out}.central-visualizer .jarvis-circle-container .ring-dynamic-outer{position:absolute;width:73%;height:73%;border:1px solid #800000;border-radius:50%;opacity:.1;transition:all .1s ease-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes spin-3d{0%{transform:rotateX(60deg) rotate(0)}to{transform:rotateX(60deg) rotate(360deg)}}@keyframes spin-3d-vertical{0%{transform:rotateY(60deg) rotate(0)}to{transform:rotateY(60deg) rotate(360deg)}}@keyframes unstable-pulse{0%{transform:scale(1);filter:brightness(1)}5%{transform:scale(1.02);filter:brightness(1.2)}10%{transform:scale(.98)}to{transform:scale(1);filter:brightness(1)}}@keyframes ripple-out{0%{transform:scale(1);opacity:.8;border-width:4px}to{transform:scale(3);opacity:0;border-width:0px}}
