:root{--background:0 0% 0%;--foreground:0 0% 98%;--purple-accent:267 100% 70%;--purple-accent-light:267 100% 80%;--purple-accent-transparent:#bf83ff33;--accent-red:#f00c;--Red-400:#f00c}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;background-color:hsl(var(--background));color:#fafafa;color:hsl(var(--foreground));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100vw}.App .streaming-console{flex-direction:row}.App .streaming-console,.App .streaming-console main{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%}.App .streaming-console main{flex-direction:column}.App .streaming-console main .main-app-area{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;width:100%}.App .streaming-console main .settings-button{align-items:center;background-color:#00000080;border:none;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;width:40px;z-index:1000}.App .streaming-console main .settings-button .material-symbols-outlined{color:hsl(var(--purple-accent-light));font-size:24px}.App .streaming-console main .settings-button:hover{background-color:#000000b3}.App video{background-color:#000;height:100%;object-fit:contain;width:100%}.App video.hidden{display:none}.tool-indicator{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000000b3;border:1px solid var(--purple-accent-transparent);border-radius:20px;color:var(--purple-accent-light);display:flex;font-size:14px;gap:8px;left:50%;padding:8px 12px;position:absolute;top:20px;transform:translateX(-50%);transition:all .3s ease-in-out}.tool-indicator.active{background-color:#bf83ff4d}.tool-indicator .tool-indicator-dot{animation:pulse 1.5s infinite;background-color:var(--purple-accent);border-radius:50%;height:10px;width:10px}.tool-indicator .tool-indicator-text{font-weight:700}.react-select{background:#00000080;height:30px;width:193px}.react-select,.react-select .react-select__single-value{color:var(--foreground)}.react-select .react-select__menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid var(--purple-accent-transparent);border-radius:8px;box-shadow:0 0 15px #bf83ff33;color:var(--foreground)}.react-select .react-select__option--is-focused,.react-select .react-select__option:focus,.react-select .react-select__option:hover,.react-select .react-select_option:focus-within{background:#bf83ff33}.react-select .react-select__control{background:#00000080!important;border:1px solid var(--purple-accent-transparent)!important;box-shadow:none!important}.react-select .react-select__control:hover{border-color:var(--purple-accent)!important}.react-select .react-select__indicator{color:var(--purple-accent-transparent)}.react-select .react-select__indicator:hover{color:var(--purple-accent)}.logger{color:var(--foreground);display:block;max-width:100%;width:100%}.logger .logger-list{overflow-x:hidden;padding:0 0 0 25px;width:calc(100% - 45px)}.logger .user h4{color:#4eff91;text-shadow:0 0 10px #4eff9180}.logger .model h4{color:var(--purple-accent);text-shadow:0 0 10px #bf83ff80}.logger .rich-log{display:flex;display:block;gap:4px;justify-content:center}.logger .rich-log pre{overflow-x:auto}.logger .rich-log h4{font-size:14px;margin:0;padding:8px 0;text-transform:uppercase}.logger .rich-log h5{border-bottom:1px solid var(--purple-accent-transparent);color:var(--purple-accent);margin:0;padding-bottom:8px}.logger .rich-log .part{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:8px;color:var(--foreground);margin-bottom:4px;padding:14px}.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{color:var(--foreground);display:block;font-family:Space Mono;font-size:14px;font-style:normal;font-weight:400;line-height:normal;padding:8px 0}.logger li .timestamp{color:#fff9;flex-grow:0;flex-shrink:0;width:70px}.logger li .source{flex-shrink:0;font-weight:700}.logger li.receive,.logger li.source-server{color:var(--purple-accent)}.logger li.send:not(.source-server),.logger li.source-client{color:#4eff91}.logger li .count{background-color:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:8px;color:var(--purple-accent);font-size:x-small;line-height:1em;padding:.3em .5em;vertical-align:middle}.logger li .message{color:var(--foreground);flex-grow:1}.side-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border-right:1px solid var(--purple-accent-transparent);box-shadow:0 0 20px #bf83ff1a;color:var(--foreground);display:flex;flex-direction:column;font-family:var(--font-family);font-size:13px;font-style:normal;font-weight:400;height:100vh;line-height:160%;transition:all .2s ease-in;width:40px}.side-panel .hidden{display:none!important}.side-panel.open .top h2{display:block;left:0;opacity:1}.side-panel .top{align-items:center;border-bottom:1px solid var(--purple-accent-transparent);display:flex;justify-content:space-between;padding:12px 20px 12px 25px;width:calc(100% - 45px)}.side-panel .top h2{-webkit-text-fill-color:#0000;transition-behavior:allow-discrete;background:linear-gradient(to right,var(--foreground),var(--purple-accent-light));-webkit-background-clip:text;background-clip:text;color:var(--foreground);display:none;font-family:var(--font-family);font-size:21px;font-style:normal;font-weight:700;left:-100%;line-height:16px;opacity:0;position:relative;transition:opacity .2s ease-in,left .2s ease-in,display .2s ease-in}@starting-style{.side-panel .top h2{left:0;opacity:1}}.side-panel .opener{height:30px;transition:transform .2s ease-in}.side-panel:not(.open) .side-panel-container{display:none;opacity:0;transition:all allow-discrete .2s ease-in;transition-delay:.1s}.side-panel:not(.open) .indicators .streaming-indicator{opacity:0;width:30px}.side-panel:not(.open) .opener{transform:translate(-50%)}.side-panel:not(.open) .input-container{display:none;opacity:0;transition:all allow-discrete .2s ease-in}.side-panel .indicators{display:flex;gap:21px;justify-content:flex-end;padding:24px 25px}.side-panel .indicators .streaming-indicator{align-items:center;background:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:4px;display:flex;flex-shrink:0;font-family:Space Mono;font-size:14px;font-style:normal;font-weight:400;gap:6px;height:30px;justify-content:center;line-height:normal;padding-left:4px;text-align:center;transition:width .2s ease-in;-webkit-user-select:none;user-select:none;width:136px}.side-panel .indicators .streaming-indicator.connected{color:var(--purple-accent)}.side-panel .side-panel-container{align-self:flex-end;flex-grow:1;overflow-x:hidden;overflow-y:auto;width:400px}.side-panel .input-container{border-top:1px solid var(--purple-accent-transparent);flex-grow:0;flex-shrink:0;height:50px;overflow:hidden;padding:14px 25px}.side-panel .input-container .input-content{background:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:10px;box-shadow:0 0 10px #bf83ff1a;height:22px;padding:11px 18px;position:relative}.side-panel .input-container .input-content .send-button{background:none;border:0;color:var(--purple-accent-transparent);cursor:pointer;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:color .1s ease-in;z-index:2}.side-panel .input-container .input-content .send-button:hover{color:var(--purple-accent)}.side-panel .input-container .input-content .input-area{field-sizing:content;--webkit-box-flex:1;background:none;border:0;color:var(--foreground);display:inline-block;flex:1 1;left:0;max-height:20px;outline:none;overflow:auto;padding:14px 18px;position:absolute;resize:none;top:0;width:calc(100% - 72px);word-break:break-word;z-index:2}.side-panel .input-container .input-content .input-content-placeholder{align-items:center;display:flex;height:100%;left:0;padding:0 18px;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;user-select:none;white-space:pre-wrap;width:100%;z-index:1}.side-panel.open{height:100vh;width:400px}.side-panel-requests,.side-panel-responses{display:block;flex-grow:1;flex-shrink:1;margin-left:8px;overflow-x:hidden;overflow-y:auto;width:100%}.top{align-items:center;align-self:flex-end;display:flex;flex-grow:0;flex-shrink:0;height:30px;transition:all .2s ease-in;width:100%}.top button{background:#0000;border:0;cursor:pointer;font-size:1.25rem;line-height:1.75rem;padding:4px}.audioPulse{align-items:center;display:flex;height:4px;justify-content:space-evenly;transition:all .5s;transition:opacity .333s;width:24px}.audioPulse>div{background-color:#bf83ff4d;border-radius:1000px;box-shadow:0 0 5px #bf83ff33;min-height:4px;transition:height .1s,background-color .3s;width:4px}.audioPulse.hover>div{animation:hover 1.4s ease-in-out infinite alternate}.audioPulse.active{opacity:1}.audioPulse.active>div{background-color:var(--purple-accent);box-shadow:0 0 10px #bf83ff80}@keyframes hover{0%{background-color:#bf83ff4d;transform:translateY(0)}to{background-color:var(--purple-accent);box-shadow:0 0 15px #bf83ff99;transform:translateY(-3.5px)}}@keyframes pulse{0%{scale:1 1}to{scale:1.2 1.2}}.action-button{align-items:center;animation:opacity-pulse 3s ease-in infinite;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:18px;color:hsl(var(--purple-accent-light));cursor:pointer;display:flex;font-size:1.25rem;height:48px;justify-content:center;line-height:1.75rem;text-transform:lowercase;transition:all .2s ease-in-out;-webkit-user-select:none;user-select:none;width:48px}.action-button:focus{border:2px solid var(--purple-accent-transparent);box-shadow:0 0 10px #bf83ff4d;outline:2px solid var(--purple-accent)}.action-button.outlined{background:#0000;border:1px solid var(--purple-accent-transparent)}.action-button.outlined:hover{background:#0000;border:1px solid var(--purple-accent);box-shadow:0 0 15px #bf83ff66}.action-button .no-action{pointer-events:none}.action-button:hover{background:#000000b3;border:1px solid var(--purple-accent);box-shadow:0 0 15px #bf83ff66}.action-button.connected{background:#bf83ff33;color:var(--purple-accent)}.action-button.connected:hover{border:1px solid var(--purple-accent)}@property --volume{syntax:"length";inherit:false;initial-value:0}.disabled .mic-button:before,.mic-button.disabled:before{background:#0000}.mic-button{background-color:var(--accent-red);color:hsl(var(--purple-accent-light));position:relative;transition:all .2s ease-in;z-index:1}.mic-button:focus{border:2px solid var(--purple-accent-transparent);outline:2px solid var(--accent-red)}.mic-button:hover{background-color:var(--Red-400)}.mic-button:before{background-color:var(--accent-red);border-radius:24px;box-shadow:0 0 15px #ff00004d;content:"";display:block;height:calc(100% + var(--volume)*2);left:calc(var(--volume)*-1);opacity:.35;position:absolute;top:calc(var(--volume)*-1);transition:all .02s ease-in-out;width:calc(100% + var(--volume)*2);z-index:-1}.connect-toggle:focus{border:2px solid var(--purple-accent-transparent);box-shadow:0 0 10px #bf83ff4d;outline:2px solid var(--purple-accent)}.connect-toggle:not(.connected){background-color:var(--purple-accent);color:var(--background)}.control-tray{align-items:flex-start;bottom:0;display:inline-flex;gap:8px;justify-content:center;left:50%;padding-bottom:18px;position:absolute;transform:translate(-50%)}.control-tray .action-button.disabled,.control-tray .disabled .action-button{background:#0000004d;border:1px solid #bf83ff1a;color:#ffffff4d}.control-tray .connection-container{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center}.control-tray .connection-container .connection-button-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid var(--purple-accent-transparent);border-radius:27px;box-shadow:0 0 20px #bf83ff33;display:flex;gap:10px;padding:10px}.control-tray .connection-container .text-indicator{color:var(--purple-accent);font-size:11px;-webkit-user-select:none;user-select:none}.control-tray .connection-container:not(.connected) .text-indicator{opacity:0}.reset-button{background-color:#00000080;color:var(--foreground);transition:all .2s ease-in-out}.reset-button:hover{background-color:#ff5722b3;border:1px solid #ff5722e6;box-shadow:0 0 15px #ff572266}.reset-button:focus{border:2px solid #ff572280;box-shadow:0 0 10px #ff57224d;outline:2px solid #ff5722e6}.actions-nav{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;border:1px solid var(--purple-accent-transparent);border-radius:27px;box-shadow:0 0 20px #bf83ff33;display:inline-flex;gap:12px;overflow:clip;padding:10px;transition:all .6s ease-in}.actions-nav>*{align-items:center;display:flex;flex-direction:column;gap:1rem}@keyframes opacity-pulse{0%{opacity:.9}50%{opacity:1}to{opacity:.9}}.grid-background{background-color:#000;inset:0;overflow:hidden;position:fixed;z-index:-1}.grid-background .grid-pattern{background-image:linear-gradient(90deg,#bf83ff1a 1px,#0000 0),linear-gradient(180deg,#bf83ff1a 1px,#0000 0);background-size:30px 30px;inset:0;opacity:.2;position:absolute}.grid-background .radial-gradient{background:radial-gradient(circle,#bf83ff4d 0,#bf83ff1a 30%,#0000 70%);inset:0;position:absolute}.grid-background .vertical-gradient{background:linear-gradient(180deg,#0000 0,#bf83ff1a 50%,#bf83ff33);inset:0;position:absolute}.select-group{display:flex;flex-direction:column;gap:4px;height:70px}.select-group>label{font-size:10px}.settings-dialog .connected-indicator{font-style:italic}.settings-dialog h4{margin-bottom:10px;margin-left:4px}.settings-dialog button{background:none;border:0}.settings-dialog .dialog{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border:1px solid var(--purple-accent-transparent);border-radius:18px;box-shadow:0 0 30px #bf83ff33;color:var(--foreground);font-family:Space mono;left:50%;margin:0;padding:0;position:fixed;top:50%;transform:translate(-50%,-50%)}.settings-dialog .dialog .close-button{background:none;border:none;color:hsl(var(--purple-accent-light));cursor:pointer;font-size:24px;position:absolute;right:10px;top:10px}.settings-dialog .dialog .close-button:hover{color:var(--purple-accent)}.settings-dialog .dialog-container{box-sizing:border-box;max-height:100%;overflow-x:hidden;overflow-y:auto;padding:32px}.settings-dialog .small{font-size:80%}.settings-dialog .mode-selectors{display:flex;gap:1rem;padding:8px 0}.settings-dialog textarea.system{field-sizing:content;background-color:#00000080;border:1px solid var(--purple-accent-transparent);border-radius:12px;box-sizing:border-box;color:var(--foreground);font-family:Google Sans,sans-serif;font-size:16px;height:150px;line-height:21px;margin-top:8px;min-height:150px;padding:8px;resize:vertical;transition:all .3s ease;width:calc(100% - 16px)}.settings-dialog textarea.system:focus{border-color:var(--purple-accent);box-shadow:0 0 10px #bf83ff4d;outline:none}.settings-dialog .function-declarations{font-size:66%;width:100%}.settings-dialog .fd-rows{grid-row-gap:6px;display:grid;grid-template-columns:1fr .5fr 1.5fr;row-gap:6px}.settings-dialog .fd-row-name{background-color:#0000004d;border:1px solid var(--purple-accent-transparent);border-radius:8px;color:var(--purple-accent);font-family:Space mono;font-size:12px;font-weight:700;padding:10px}.settings-dialog .fd-row-args{padding:12px}.settings-dialog .fd-row-args>:not(:last-child):after{content:", "}.settings-dialog .fd-row{align-items:center;color:var(--Neutral-70);display:contents;height:35px}.settings-dialog .fd-row-description{background:#0000;border:none;color:inherit;flex:1 1;font-size:inherit;padding:2px 4px}.settings-dialog .fd-row-description:focus,.settings-dialog .fd-row-description:hover{background:#bf83ff1a;outline:none}
/*# sourceMappingURL=main.cebc7a26.css.map*/