body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}:root{--text:#fff;--gray-200:#b4b8bb;--gray-300:#80868b;--gray-500:#5f6368;--gray-600:#444;--gray-700:#202020;--gray-800:#171717;--gray-900:#111;--gray-1000:#0a0a0a;--border-stroke:#444;--accent-blue:#a1e4f2;--accent-blue-active-bg:#001233;--accent-blue-active:#98beff;--accent-blue-headers:#448dff;--accent-green:#a8dab5;--midnight-blue:#001233;--blue-30:#99beff;--accent-red:#ff4600;--background:var(--gray-900);--color:var(--text);--font-family:"Space Mono",monospace;--Neutral-00:#000;--Neutral-5:#181a1b;--Neutral-10:#1c1f21;--Neutral-15:#232729;--Neutral-20:#2a2f31;--Neutral-30:#404547;--Neutral-50:#707577;--Neutral-60:#888d8f;--Neutral-80:#c3c6c7;--Neutral-90:#e1e2e3;--Green-500:#0d9c53;--Green-700:#025022;--Blue-500:#1f94ff;--Blue-800:#0f3557;--Red-400:#ff9c7a;--Red-500:#ff4600;--Red-600:#e03c00;--Red-700:#bd3000;scrollbar-color:#444 #111;scrollbar-color:var(--gray-600) var(--gray-900);scrollbar-width:thin}body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}body{background:#404547;background:var(--Neutral-30);font-family:Space Mono,monospace}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.space-mono-regular{font-weight:400}.space-mono-bold,.space-mono-regular{font-family:Space Mono,monospace;font-style:normal}.space-mono-bold{font-weight:700}.space-mono-regular-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:400}.space-mono-bold-italic{font-family:Space Mono,monospace;font-style:italic;font-weight:700}.hidden{display:none}.flex{display:flex}.h-screen-full{height:100vh}.w-screen-full{width:100vw}.flex-col{flex-direction:column}.streaming-console{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:100vh;width:100vw}.streaming-console,.streaming-console a,.streaming-console a:active,.streaming-console a:visited{color:#80868b;color:var(--gray-300)}.streaming-console .disabled,.streaming-console .disabled>*{pointer-events:none}.streaming-console main{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:1rem;justify-content:center;max-width:100%;overflow:hidden;position:relative}.streaming-console .main-app-area{background:linear-gradient(135deg,#ff6b6b,#ffa726);border-radius:20px;bottom:20vh;box-shadow:0 8px 32px #0003;left:30vw;padding:3px;position:fixed;right:30vw;top:20vh}.streaming-console .main-app-content{align-items:center;background:#1c1f21;background:var(--Neutral-10);border-radius:17px;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.streaming-console .function-call{height:50%;overflow-y:auto;position:absolute;top:0;width:100%}.stream{border-radius:32px;flex-grow:1;max-height:-webkit-fit-content;max-height:fit-content;max-width:90%}.loading-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-container p{font-size:18px;font-weight:500;margin:0}.header-right{transition:all .2s ease}@media(max-width:768px){.main-header{justify-content:center!important;padding:12px 15px!important}.header-right{justify-content:center}}.feedback-message{background-color:#000000b3;border-radius:15px;color:#fff;font-size:1.2rem;font-weight:500;left:50%;padding:20px 40px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.logger{color:var(--gray-300);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:var(--Green-500)}.logger .model h4{color:var(--Blue-500)}.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(--Neutral-20);margin:0;padding-bottom:8px}.logger .rich-log .part{background:var(--Neutral-5);border-radius:8px;color:var(--Neutral-90);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:#707577;color:var(--Neutral-50,#707577);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:var(--Neutral-50);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(--Blue-500)}.logger li.send:not(.source-server),.logger li.source-client{color:var(--Green-500)}.logger li .count{background-color:var(--Neutral-5);border-radius:8px;color:var(--Blue-500);font-size:x-small;line-height:1em;padding:.3em .5em;vertical-align:middle}.logger li .message{color:var(--Neutral-50);flex-grow:1}.side-panel{background:var(--Neutral-00);border-right:1px solid var(--gray-600);color:#e1e2e3;color:var(--Neutral-90,#e1e2e3);display:flex;flex-direction:column;font-family:Arial,sans-serif;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 .react-select{.react-select__option--is-focused-background:var(--Neutral-30);background:var(--Neutral-20);color:var(--Neutral-90);height:30px;width:193px}.side-panel .react-select .react-select__single-value{color:var(--Neutral-90)}.side-panel .react-select .react-select__menu{background:var(--Neutral-20);color:var(--Neutral-90)}.side-panel .react-select .react-select__option:focus,.side-panel .react-select .react-select__option:hover,.side-panel .react-select .react-select_option:focus-within{background:var(--Neutral-30)}.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(--Neutral-20);display:flex;justify-content:space-between;padding:12px 20px 12px 25px;width:calc(100% - 45px)}.side-panel .top h2{transition-behavior:allow-discrete;color:#e1e2e3;color:var(--Neutral-90,#e1e2e3);display:none;font-family:Google Sans;font-size:21px;font-style:normal;font-weight:500;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:#1c1f21;background:var(--Neutral-10,#1c1f21);border:1px solid #2a2f31;border:1px solid var(--Neutral-20,#2a2f31);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:#0d9c53;color:var(--Blue-500,#0d9c53)}.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(--Neutral-20);flex-grow:0;flex-shrink:0;height:50px;overflow:hidden;padding:14px 25px}.side-panel .input-container .input-content{background:var(--Neutral-10);border:1px solid var(--Neutral-15);border-radius:10px;height:22px;padding:11px 18px;position:relative}.side-panel .input-container .input-content .send-button{background:none;border:0;color:var(--Neutral-20);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(--Neutral-60)}.side-panel .input-container .input-content .input-area{field-sizing:content;--webkit-box-flex:1;background:none;border:0;color:var(--Neutral-90);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:var(--Neutral-30);border-radius:1000px;min-height:4px;transition:height .1s;width:4px}.audioPulse.hover>div{animation:hover 1.4s ease-in-out infinite alternate}.audioPulse.active{opacity:1}.audioPulse.active>div{background-color:var(--Neutral-80)}@keyframes hover{0%{transform:translateY(0)}to{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;background:#0000;border:1px solid #fff6;border-radius:18px;color:#fff;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 #fff6;outline:2px solid #fffc}.action-button.outlined{background:#0000;border:1px solid #fff6}.action-button .no-action{pointer-events:none}.action-button:hover{background:#fff3;border:1px solid #fff0}.action-button.connected{background:#fff3;color:#fff}.action-button.connected:hover{border:1px solid #fff}@property --volume{syntax:"length";inherit:false;initial-value:0}.disabled .mic-button:before,.mic-button.disabled:before{background:#0000}.mic-button{background-color:#fff;color:#ff6b6b;position:relative;transition:all .2s ease-in;z-index:1}.mic-button:focus{border:2px solid var(--Neutral-20);outline:2px solid #fff}.mic-button:hover{background-color:#eee}.mic-button:before{background-color:#fff;border-radius:24px;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(--Neutral-20);outline:2px solid var(--Neutral-80)}.connect-toggle:not(.connected){background-color:#fff3;color:#fff}.control-tray{align-items:flex-start;bottom:0;display:inline-flex;gap:8px;justify-content:center;left:50%;padding-bottom:24px;position:absolute;transform:translate(-50%)}.control-tray .action-button.disabled,.control-tray .disabled .action-button{background:#0000;border:1px solid #fff3;color:#fff3}.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:linear-gradient(135deg,#ff6b6bcc,#ffa726cc);border:1px solid #fff6;border-radius:27px;padding:10px}.control-tray .connection-container .text-indicator{color:#fff;font-size:11px;text-shadow:0 1px 2px #0003;-webkit-user-select:none;user-select:none}.control-tray .connection-container:not(.connected) .text-indicator{opacity:0}.actions-nav{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ff6b6bcc,#ffa726cc);border:1px solid #fff6;border-radius:27px;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}}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 20px 40px #0000001a;max-width:500px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#ff6b6b,#ffa726);color:#fff;padding:40px 30px;text-align:center}.login-header h1{font-size:2.5rem;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.login-header p{font-size:1.1rem;font-weight:300;margin:0;opacity:.9}.login-content{padding:40px 30px}.login-description{margin-bottom:30px;text-align:center}.login-description h2{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 15px}.login-description p{color:#666;font-size:1rem;line-height:1.6;margin:0}.login-actions{display:flex;justify-content:center;margin-bottom:30px}.login-features{display:flex;flex-direction:column;gap:15px}.feature{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;display:flex;gap:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.feature:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(5px)}.feature-icon{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.feature span:last-child{color:#333;font-weight:500}@media(max-width:600px){.login-card{border-radius:15px;margin:10px}.login-header{padding:30px 20px}.login-header h1{font-size:2rem}.login-content{padding:30px 20px}.login-features{gap:10px}.feature{padding:12px}}.logout-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.logout-modal{animation:slideUp .4s ease-out;background:#fff;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:400px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.logout-modal-header{background:linear-gradient(135deg,#ff6b6b,#ffa726);color:#fff;padding:30px 30px 20px;position:relative;text-align:center}.logout-icon{animation:wave 2s infinite;font-size:3rem;margin-bottom:10px}@keyframes wave{0%,to{transform:rotate(0deg)}25%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}.logout-modal-header h2{font-size:1.8rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.logout-modal-content{padding:30px;text-align:center}.logout-modal-content p{color:#333;font-size:1.1rem;line-height:1.6;margin:0 0 15px}.logout-modal-content p:last-child{margin-bottom:0}.logout-warning{background:#f8f9fa;border-left:4px solid #ffa726;border-radius:10px;color:#666!important;font-size:.95rem!important;margin-top:20px!important;padding:15px}.logout-modal-actions{display:flex;gap:15px;padding:0 30px 30px}.logout-modal-button{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;overflow:hidden;padding:12px 20px;position:relative;transition:all .2s ease}.logout-modal-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.logout-modal-button:hover:before{left:100%}.cancel-button{background:#f8f9fa;border:2px solid #e9ecef;color:#666}.cancel-button:hover{background:#e9ecef;box-shadow:0 4px 12px #0000001a;color:#495057;transform:translateY(-2px)}.confirm-button{background:linear-gradient(135deg,#ff6b6b,#ffa726);border:none;color:#fff}.confirm-button:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.logout-modal-button:active{transform:translateY(0)}@media(max-width:480px){.logout-modal{margin:20px;width:95%}.logout-modal-header{padding:25px 20px 15px}.logout-modal-header h2{font-size:1.5rem}.logout-modal-content{padding:25px 20px}.logout-modal-actions{flex-direction:column;padding:0 20px 25px}.logout-modal-button{padding:15px 20px}}.user-profile{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:25px;box-shadow:0 2px 10px #0000001a;gap:15px;padding:10px 15px}.user-info,.user-profile{align-items:center;display:flex}.user-info{gap:10px}.user-avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000001a;height:32px;width:32px}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{color:#333;font-size:14px;font-weight:600;line-height:1}.user-email{color:#666;font-size:12px;line-height:1}@media(max-width:600px){.user-profile{gap:10px;padding:8px 12px}.user-name{font-size:13px}.user-email{font-size:11px}}.main-header{align-items:center;display:flex;justify-content:flex-end;left:0;padding:15px 20px;pointer-events:auto;position:absolute;right:0;top:0;transition:all .3s ease;z-index:1000}.main-header .header-right{align-items:center;display:flex;gap:15px}.main-header .header-right .logout-button{background:linear-gradient(135deg,#ff6b6b,#ff5252);border:none;border-radius:12px;box-shadow:0 2px 8px #ff6b6b33;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.main-header .header-right .logout-button:hover{box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-2px)}.tool-image-container{align-items:center;background:var(--Neutral-700);border-radius:32px;display:flex;flex-direction:column;flex-grow:1;justify-content:center;overflow:hidden;width:100%}.tool-image-placeholder{border-radius:4px;height:100%;object-fit:contain;width:100%}.lesson-content-display{border-radius:32px;box-sizing:border-box;color:#fff;margin:0;max-height:100%;overflow-y:auto;padding:20px;width:100%}.success-notification{align-items:center;animation:slideInRight .4s ease-out;background:linear-gradient(135deg,#4caf50,#45a049);border-radius:12px;box-shadow:0 4px 20px #4caf504d;color:#fff;display:flex;gap:12px;max-width:300px;padding:15px 20px;position:fixed;right:20px;top:20px;z-index:10001}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.success-icon{animation:bounce .6s ease-out;font-size:1.2rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.success-message{font-size:.95rem;font-weight:500}@media(max-width:480px){.success-notification{left:10px;max-width:none;right:10px;top:10px}}
/*# sourceMappingURL=main.9a51af5f.css.map*/