:root{color:#f2f2f2;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#181818;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{background:#181818;margin:0;overflow:hidden}button,textarea{color:inherit;font:inherit}button{border:0}button:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #ffffff80}.app-shell{background:#181818;flex-direction:column;width:100%;height:100dvh;padding-left:0;padding-right:0;transition:padding-left .22s cubic-bezier(.22,1,.36,1),padding-right .22s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.app-shell.left-sidebar-open{padding-left:var(--left-sidebar-width)}.app-shell.right-sidebar-open{padding-right:var(--right-sidebar-width)}.app-shell.sidebar-resizing{-webkit-user-select:none;user-select:none;transition:none}.sidebar{z-index:20;background:#1d1d1d;flex-direction:column;height:100%;transition:transform .22s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;bottom:0;container-type:inline-size}.left-sidebar{width:var(--left-sidebar-width);border-right:1px solid #ffffff14;left:0;transform:translate(-100%)}.right-sidebar{width:var(--right-sidebar-width);border-left:1px solid #ffffff14;right:0;transform:translate(100%)}.left-sidebar-open .left-sidebar,.right-sidebar-open .right-sidebar{transform:translate(0)}.sidebar-resize-handle{z-index:1;cursor:col-resize;touch-action:none;background:0 0;width:11px;position:absolute}.left-sidebar-resize-handle{inset:0 -6px 0 auto}.right-sidebar-resize-handle{inset:0 auto 0 -6px}.sidebar-resize-handle:focus-visible{outline-offset:-3px;outline:2px solid #5797ffe6}.sidebar-toggle{z-index:30;color:#ffffff94;cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:fixed;top:12px}.left-sidebar-toggle{left:14px}.right-sidebar-toggle{right:14px}.app-shell:not(.left-sidebar-open) .header-actions{padding-left:36px}.sidebar-toggle:hover{color:#ffffffe6;background:#ffffff14}.sidebar-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:20px;height:20px}.app-header{border-bottom:1px solid #ffffff12;flex:0 0 56px;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:56px;padding:0 18px;display:grid}.header-actions{align-items:center;gap:2px;display:flex}.new-chat-button{color:#ffffffb8;cursor:pointer;background:0 0;border-radius:8px;width:fit-content;height:32px;padding:0 11px;font-size:13px;font-weight:500}.new-chat-button:hover:not(:disabled){color:#fff;background:#ffffff14}.refresh-connection-button{color:#ffffff94;cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.refresh-connection-button:hover{color:#fff;background:#ffffff14}.refresh-connection-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:18px;height:18px}.title-group{flex-direction:column;align-items:center;gap:0;display:flex}.title-row{align-items:center;gap:9px;display:flex}.title-group h1{margin:0;font-size:14px;font-weight:600;line-height:20px}.connection-status{color:#ffffff61;font-size:11px;font-weight:400;line-height:16px}.connection-status.ready{color:#75bf87}.turn-status{color:#ffffff57;font-size:10px;font-weight:400;line-height:12px}.turn-status.running{color:#70a4ff}.model-name{color:#ffffff6b;justify-self:end;padding-right:30px;font-size:12px;font-weight:400}.model-controls{text-transform:lowercase;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#222222f5;border:1px solid #ffffff21;border-radius:10px;flex:none;width:calc(100% - 24px);margin:64px 12px 0;overflow:hidden;box-shadow:0 12px 36px #00000047}.model-controls-header{color:#ffffffe0;border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;height:38px;padding:0 12px;font-size:12px;font-weight:600;display:flex}.model-controls-header small{color:#ffffff6b;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:12px;font-weight:400;overflow:hidden}.context-meter{border-bottom:1px solid #ffffff12;padding:11px 12px 12px}.context-meter header{color:#ffffffb3;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.context-meter output,.context-meter small{color:#ffffff6b;font-size:12px;font-weight:400}.context-meter progress{appearance:none;background:#ffffff1f;border:0;border-radius:3px;width:100%;height:6px;margin:9px 0 5px;display:block;overflow:hidden}.context-meter progress::-webkit-progress-bar{background:#ffffff1f}.context-meter progress::-webkit-progress-value{background:#347af6}.context-meter progress::-moz-progress-bar{background:#347af6}.model-control{color:#ffffff85;border-bottom:1px solid #ffffff12;grid-template-columns:62px 1fr;align-items:center;height:42px;padding:0 8px 0 12px;font-size:11px;font-weight:500;display:grid}.model-select{justify-self:end;width:160px;min-width:0;max-width:100%;height:30px;position:relative}.model-select select{appearance:none;color:#ffffffe0;width:100%;height:30px;font:inherit;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#2b2b2b;border:1px solid #ffffff1a;border-radius:6px;outline:0;padding:0 29px 0 9px;font-weight:400;overflow:hidden}.model-select select:hover{background:#303030;border-color:#ffffff2e}.model-select select:focus-visible{outline-offset:-2px;outline:2px solid #5797ffe6}.model-select svg{fill:none;stroke:#ffffff8c;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;pointer-events:none;width:12px;height:12px;position:absolute;top:9px;right:9px}.model-tabs{scrollbar-width:none;background:#2b2b2b;border:1px solid #ffffff1a;border-radius:6px;justify-self:end;width:max-content;min-width:0;max-width:100%;height:30px;display:flex;overflow-x:auto}.model-tabs::-webkit-scrollbar{display:none}.model-tabs button{color:#ffffff85;white-space:nowrap;cursor:pointer;background:0 0;border-right:1px solid #ffffff14;flex:none;min-width:max-content;height:28px;padding:0 9px;font-size:11px;font-weight:400}.model-tabs button:disabled{opacity:.55;pointer-events:none;cursor:default}.model-tabs button:last-child{border-right:0}.model-tabs button:hover{color:#ffffffd1;background:#ffffff0d}.model-tabs button[aria-selected=true]{color:#fff;background:#434343}.model-tabs button:focus-visible{z-index:1;outline-offset:-2px;outline:2px solid #5797ffe6;position:relative}.tool-control{grid-template-columns:1fr auto}.tool-control input{appearance:none;cursor:pointer;background:#ffffff29;border-radius:10px;width:34px;height:20px;margin:0;transition:background .14s}.tool-control input:after{content:"";background:#ffffffd6;border-radius:8px;width:16px;height:16px;margin:2px;transition:transform .14s;display:block}.tool-control input:checked{background:#347af6}.tool-control input:checked:after{transform:translate(14px)}.tool-control input:focus-visible{outline-offset:2px;outline:2px solid #5797ffe6}.tool-control input:disabled{opacity:.38;cursor:not-allowed}.model-state{color:#ffffff61;grid-template-columns:max-content minmax(0,1fr);gap:3px 8px;padding:9px 12px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400;line-height:15px;display:grid}.model-state code{color:#ffffffb8;font:inherit;text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-panels{flex:1;min-height:0;margin:12px;display:flex}.socket-log,.tool-calls{background:#222222f5;border:1px solid #ffffff21;border-radius:10px;flex-direction:column;width:100%;min-height:0;display:flex;overflow:hidden}.socket-log{flex:1;min-width:50px}.tool-calls{width:min(var(--tool-calls-width), calc(100% - 62px));flex:none}.activity-panels-resizing{-webkit-user-select:none;user-select:none}.activity-panel-resize-handle{cursor:col-resize;touch-action:none;flex:0 0 12px;width:12px;min-width:12px;position:relative}.activity-panel-resize-handle:after{content:"";background:#ffffff14;width:1px;position:absolute;inset:0 auto 0 5px}.activity-panel-resize-handle:hover:after,.activity-panel-resize-handle:focus-visible:after,.activity-panels-resizing .activity-panel-resize-handle:after{background:#347af6}.activity-panel-resize-handle:focus-visible{outline-offset:-3px;outline:2px solid #5797ffe6}.socket-log>header,.tool-calls>header{color:#ffffffb8;border-bottom:1px solid #ffffff12;flex:none;justify-content:space-between;align-items:center;height:34px;padding:0 12px;font-size:11px;font-weight:500;display:flex}.socket-log>header{height:42px}.socket-log>header small,.tool-calls>header small{color:#ffffff61;font-size:12px;font-weight:400}.scroll-edge-fades{flex:1;min-height:0;position:relative;overflow:hidden}.scroll-edge-fades:before,.scroll-edge-fades:after{z-index:1;pointer-events:none;opacity:0;content:"";height:min(96px,38%);transition:opacity .12s ease-out;position:absolute;inset-inline:0}.scroll-edge-fades:before{background:linear-gradient(#1010109e,#10101000);top:0}.scroll-edge-fades:after{background:linear-gradient(#10101000,#1010109e);bottom:0}.scroll-edge-fades.has-overflow-above:before,.scroll-edge-fades.has-overflow-below:after{opacity:1}.tool-call-scroll>ol{scrollbar-color:#ffffff3d transparent;scrollbar-width:thin;width:100%;height:100%;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.tool-call-scroll>ol::-webkit-scrollbar{width:8px}.tool-call-scroll>ol::-webkit-scrollbar-track{background:0 0}.tool-call-scroll>ol::-webkit-scrollbar-thumb{background:#ffffff3d padding-box padding-box;border:2px solid #0000;border-radius:4px}.tool-calls-empty{color:#ffffff57;place-items:center;height:100%;font-size:12px;display:grid}.tool-call{border-bottom:1px solid #ffffff12}.tool-call-summary{text-align:left;cursor:pointer;background:0 0;grid-template-columns:12px 8px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;min-height:48px;padding:7px 10px;display:grid}.tool-call-summary,.socket-message-row{animation:.42s ease-out list-item-arrival}.tool-call-summary:hover,.tool-call-summary[aria-expanded=true]{background:#ffffff0d}.tool-call-chevron{color:#ffffff6b;font-size:12px}.tool-call-status-dot{background:#ffffff52;border-radius:50%;width:7px;height:7px}.tool-call-status-dot.running{background:#347af6;box-shadow:0 0 0 3px #347af629}.tool-call-status-dot.success{background:#5db571}.tool-call-status-dot.error{background:#f26161}.tool-call-status-dot.idle{visibility:hidden}.tool-call-title{flex-direction:column;gap:2px;min-width:0;display:flex}.tool-call-title code,.tool-call-title small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-call-title code{color:#ffffffd1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:400}.tool-call-title small,.tool-call-status{color:#ffffff61;font-size:10px;font-weight:400}.tool-call-status{text-transform:capitalize}.tool-call-status.running{color:#70a4ff}.tool-call-status.success{color:#75bf87}.tool-call-status.error{color:#ff7a7a}.tool-call-details{padding:0 10px 10px 37px}.tool-call-id{color:#ffffff52;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:block;overflow:hidden}.tool-call-details p{color:#ffffff6b;margin:8px 0 0;font-size:11px;line-height:16px}.tool-call-command{margin-top:8px}.tool-call-command pre{white-space:pre-wrap;word-break:break-word;border-radius:5px;margin:0;padding:7px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:16px;overflow:auto}.tool-call-command-text{color:#ffffffc7;background:#00000038}.tool-call-result{margin-top:5px}.tool-call-result pre+pre{margin-top:4px}.tool-call-stdout{color:#ffffffb3;background:#00000029}.tool-call-stderr{color:#ff9898;background:#751c1c29}.tool-call-outcome{margin:0 0 4px;font-size:10px;display:block}.tool-call-outcome.success{color:#75bf87}.tool-call-outcome.error{color:#ff7a7a}.tool-calls>footer{border-top:1px solid #ffffff12;flex:none;justify-content:flex-end;align-items:center;height:34px;padding:0 8px;display:flex}.tool-calls>footer button{color:#ffffffb8;cursor:pointer;background:0 0;border-radius:5px;height:24px;padding:0 8px;font-size:11px;font-weight:500}.tool-calls>footer button:hover:not(:disabled){color:#fff;background:#ffffff12}.tool-calls>footer button:disabled{opacity:.38;cursor:default}.socket-log-actions{align-items:center;gap:7px;display:flex}.socket-log-stats{flex-direction:column;align-items:flex-end;min-width:34px;line-height:11px;display:flex}.socket-log-stats small{line-height:11px}.socket-log-stats .socket-log-size{color:#ffffff47;font-size:9px}.socket-log-actions button{color:#ffffff85;cursor:pointer;background:0 0;border-radius:5px;place-items:center;width:24px;height:24px;padding:0;display:grid}.socket-log-actions button:hover{color:#ffffffdb;background:#ffffff12}.socket-log-actions svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:16px;height:16px}.socket-log-body{flex:1;min-height:0;display:flex}.socket-log-footer{border-top:1px solid #ffffff12;flex:none;justify-content:space-between;align-items:center;height:34px;padding:0 8px;display:flex}.socket-group-deltas{color:#ffffff9e;cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:400;display:flex}.socket-group-deltas input{accent-color:#347af6;cursor:pointer;width:14px;height:14px;margin:0}.socket-group-deltas:has(input:focus-visible){outline-offset:2px;outline:2px solid #5797ffe6}.socket-log-footer button{color:#ffffffb8;cursor:pointer;background:0 0;border-radius:5px;height:24px;padding:0 8px;font-size:11px;font-weight:500}.socket-log-footer button:hover:not(:disabled){color:#fff;background:#ffffff12}.socket-log-footer button:disabled{opacity:.38;cursor:default}.socket-message-list{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.socket-message-columns,.socket-message-row{grid-template-columns:16px minmax(0,1fr) 166px 60px}.socket-message-columns{color:#ffffff6b;border-bottom:1px solid #ffffff12;flex:none;align-items:center;gap:4px;height:25px;padding:0 10px;font-size:12px;font-weight:400;display:grid}.socket-message-columns span:nth-child(3),.socket-message-columns span:nth-child(4){text-align:right}.socket-log ol{width:100%;height:100%;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.socket-log ol,.socket-details pre{scrollbar-color:#ffffff3d transparent;scrollbar-width:thin}.socket-log ol::-webkit-scrollbar{width:8px;height:8px}.socket-details pre::-webkit-scrollbar{width:8px;height:8px}.socket-log ol::-webkit-scrollbar-track{background:0 0}.socket-log ol::-webkit-scrollbar-corner{background:0 0}.socket-details pre::-webkit-scrollbar-track{background:0 0}.socket-details pre::-webkit-scrollbar-corner{background:0 0}.socket-log ol::-webkit-scrollbar-thumb{background:#ffffff3d padding-box padding-box;border:2px solid #0000;border-radius:4px}.socket-details pre::-webkit-scrollbar-thumb{background:#ffffff3d padding-box padding-box;border:2px solid #0000;border-radius:4px}.socket-log li{border-bottom:1px solid #ffffff0b;margin:0;padding:0}.socket-message-row{text-align:left;cursor:pointer;background:0 0;align-items:center;gap:4px;width:100%;height:27px;padding:0 10px;display:grid}.socket-message-row:hover,.socket-message-row[aria-selected=true]{background:#ffffff12}.socket-direction{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:500}.socket-direction.up{color:#4793f7;color:color(display-p3 .278 .576 .969)}.socket-direction.down{color:#3b3b3d;color:color(display-p3 .231 .231 .239)}.socket-message-row code{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400;overflow:hidden}.socket-group-chevron{color:#ffffff6b;width:13px;display:inline-block}.socket-group-count{color:#ffffff6b;margin-left:6px}.socket-message-child .socket-message-row code{padding-left:13px}.socket-response-prefix{color:#ffffff6b}.socket-message-length,.socket-message-row time{color:#ffffff6b;text-align:right;text-overflow:clip;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400;overflow:hidden}.socket-details{background:#1d1d1d;border-left:0 solid #ffffff17;flex-direction:column;flex:none;width:0;min-width:0;transition:width .18s,border-left-width .18s;display:flex;position:relative;overflow:visible}.socket-log-body.details-open .socket-details{width:min(var(--socket-details-width), calc(100% - 50px));border-left-width:1px}.socket-details-resizing{-webkit-user-select:none;user-select:none}.socket-details-resizing .socket-details{transition:none}.socket-details-resize-handle{z-index:2;cursor:col-resize;touch-action:none;background:0 0;width:11px;display:none;position:absolute;inset:0 auto 0 -6px}.details-open .socket-details-resize-handle{display:block}.socket-details-resize-handle:focus-visible{outline-offset:-3px;outline:2px solid #5797ffe6}.socket-details-header{background:#222;border-bottom:1px solid #ffffff12;flex:none;justify-content:space-between;align-items:center;height:25px;padding:0 10px;display:flex}.socket-details-header code{color:#fff;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400;overflow:hidden}.socket-details-header time{color:#ffffff6b;white-space:nowrap;flex:none;margin-left:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400}.socket-details pre{color:#ffffffc7;white-space:pre;flex:1;width:100%;min-height:0;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400;line-height:15px;overflow:auto}.json-empty{padding:10px}.monaco-json-view{background:#1f1f1f;flex:1;width:100%;min-height:0;overflow:hidden}.messages{flex:1;width:100%;max-width:768px;min-height:0;margin:0 auto;padding:56px 16px 36px;overflow-y:auto}.empty-state{place-items:center;height:100%;display:grid}.empty-state h2{color:#ffffffdb;letter-spacing:-.6px;margin:0 0 92px;font-size:28px;font-weight:500;line-height:36px}.message{white-space:pre-wrap;color:#f2f2f2;font-size:16px;font-weight:430;line-height:25px}.user-message{background:#373737d9;border-radius:22px;width:fit-content;max-width:72%;margin:0 0 36px auto;padding:10px 16px}.assistant-message{min-height:25px;margin:0 0 36px}.error-message{color:#ef807c}.thinking{color:#ffffff7a;animation:1.4s ease-in-out infinite pulse}.composer{background:#303030e6;border-radius:25px;flex-direction:column;flex:0 0 98px;width:min(736px,100% - 32px);height:98px;margin:0 auto 16px;display:flex;box-shadow:inset 0 0 1px #fff3}.composer textarea{resize:none;color:#fff;background:0 0;border:0;outline:0;width:100%;height:50px;min-height:50px;margin:12px 0 0;padding:0 14px;font-size:15px;font-weight:430;line-height:22px;display:block}.composer textarea::placeholder{color:#ffffff5c}.composer-footer{justify-content:flex-end;align-items:center;height:36px;padding:0 8px 8px;display:flex}.send-button{color:#232323;cursor:pointer;background:#f5f5f5;border-radius:15px;place-items:center;width:30px;height:30px;padding:0;display:grid}.send-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.new-chat-button:disabled,.send-button:disabled,.composer textarea:disabled{opacity:.38;cursor:default}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-thumb{background:#ffffff24 padding-box padding-box;border:2px solid #0000;border-radius:999px}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes list-item-arrival{0%{background-color:#347af638}to{background-color:#0000}}@media (width<=600px){.app-header{padding:0 10px}.model-name{display:none}.messages{padding-top:32px}.model-controls{width:calc(100% - 24px)}}@media (prefers-reduced-motion:reduce){.socket-message-row,.tool-call-summary,.thinking{animation:none}.app-shell,.sidebar{transition:none}}
