@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:DM Sans,sans-serif;background:#0a0b0f;color:#fffc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}.springboard-root{height:100vh;display:flex;flex-direction:column;background:#0a0b0f;overflow:hidden}.top-bar{height:48px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 16px;flex-shrink:0;background:#0000004d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10}.top-bar-left{display:flex;align-items:center;flex:1}.app-title{display:flex;align-items:center;gap:10px;margin-right:24px}.app-title h1{font-size:15px;font-weight:700;color:#ffffffe6;letter-spacing:-.02em;margin:0}.app-subtitle{font-size:10px;font-family:JetBrains Mono,monospace;color:#ffffff40;background:#ffffff0a;padding:2px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.06)}.top-bar-center{display:flex;align-items:center;flex:1;justify-content:center}.connection-status{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff0a;border-radius:16px;border:1px solid rgba(255,255,255,.06)}.status-indicator{width:8px;height:8px;border-radius:50%}.status-text{font-size:12px;font-weight:500;color:#fffc}.gateway-url{color:#fff6;font-size:11px;font-family:JetBrains Mono,monospace}.top-bar-right{display:flex;align-items:center;flex:1;justify-content:flex-end}.session-stats{display:flex;align-items:center;gap:20px;font-size:11px;font-family:JetBrains Mono,monospace;color:#ffffff4d;margin-right:16px}.stat-item{display:flex;align-items:center;gap:6px}.stat-label{font-size:11px;color:#ffffff4d}.stat-value{color:#fff9;font-variant-numeric:tabular-nums;font-weight:500}.stat-dot{width:5px;height:5px;border-radius:50%}.stat-item.active .stat-value{color:#f79009}.stat-item.streaming .stat-value{color:#22d3ee}.stat-item.error .stat-value{color:#ef4444}.springboard-main{flex:1;display:flex;overflow:hidden}.session-sidebar{width:280px;background:#0006;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0}.session-sidebar-header{padding:16px;border-bottom:1px solid rgba(255,255,255,.06)}.session-sidebar-header h2{font-size:15px;font-weight:600;color:#ffffffe6}.session-sidebar-content{flex:1;overflow-y:auto;padding:8px 0}.session-group+.session-group{border-top:1px solid rgba(255,255,255,.04);margin-top:12px;padding-top:12px}.session-group-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px}.session-group-title{font-size:11px;color:#fff6;text-transform:uppercase;font-weight:600;letter-spacing:.5px}.session-group-count{background:#ffffff0a;color:#fff6;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:500;font-family:JetBrains Mono,monospace}.session-group-items{padding:0 8px}.session-item{padding:8px 12px;margin:1px 0;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.session-item:hover{background:#ffffff0f}.session-item.selected{background:#22d3ee26;border-color:#22d3ee4d}.session-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.session-icon{font-size:16px;width:20px;text-align:center}.session-title{flex:1;min-width:0}.session-name{font-size:14px;font-weight:500;color:#ffffffe6}.session-label{font-size:12px;color:#ffffff80;display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#fff6;margin-top:4px}.session-meta .session-time{margin-left:auto}.session-model{font-family:JetBrains Mono,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;background:#ffffff0f;padding:2px 4px;border-radius:3px}.session-time{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.springboard-content,.chat-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-panel.empty{justify-content:center;align-items:center}.chat-header{padding:16px 20px;background:#0003;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.session-info .session-title{display:flex;align-items:center;gap:8px;margin-bottom:6px}.session-info .session-name{font-size:16px;font-weight:600;color:#e6edf3}.session-info .session-label{color:#7d8590;font-size:14px}.session-details{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.chat-header .session-model{font-family:JetBrains Mono,monospace;color:#ffffff80;background:#ffffff0f;padding:3px 8px;border-radius:5px;font-size:11px;border:1px solid rgba(255,255,255,.06)}.status-badge{padding:3px 10px;border-radius:12px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.status-badge.idle{background:#56d3641f;color:#56d364;border:1px solid rgba(86,211,100,.2)}.status-badge.thinking{background:#a78bfa1f;color:#a78bfa;border:1px solid rgba(167,139,250,.2);animation:pulse 1.5s ease-in-out infinite}.status-badge.streaming{background:#22d3ee1f;color:#22d3ee;border:1px solid rgba(34,211,238,.2);animation:pulse 1.5s ease-in-out infinite}.status-badge.tool_use{background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.2);animation:pulse 1.5s ease-in-out infinite}.status-badge.error{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.status-badge.disconnected{background:#6b72801f;color:#6b7280;border:1px solid rgba(107,114,128,.2)}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.empty-messages{display:flex;align-items:center;justify-content:center;height:100%;color:#7d8590}.message-bubble{max-width:75%;padding:12px 16px;border-radius:16px;position:relative;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.message-bubble.user{align-self:flex-end;background:#22d3ee26;color:#ffffffe6;border:1px solid rgba(34,211,238,.2)}.message-bubble.assistant{align-self:flex-start;background:#ffffff0a;color:#fffc;border:1px solid rgba(255,255,255,.08)}.message-bubble.system{align-self:center;background:#ffffff05;color:#ffffff80;font-style:italic;max-width:80%;border:1px solid rgba(255,255,255,.06)}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px}.message-role{font-weight:600}.message-timestamp{color:#fff9;font-variant-numeric:tabular-nums}.message-streaming{color:#22d3ee;animation:pulse 1.5s ease-in-out infinite}.message-content{line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.cursor{opacity:0;animation:blink 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.chat-input{padding:16px 20px;background:#0003;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.input-controls{display:flex;gap:8px;margin-bottom:12px}.control-button{padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#ffffff0a;color:#ffffffb3;font-size:12px;font-weight:500;transition:all .15s ease}.control-button:hover:not(:disabled){background:#ffffff14;border-color:#fff3;color:#ffffffe6}.control-button:disabled{opacity:.4;cursor:not-allowed}.control-button.abort:not(:disabled){background:#da3633;border-color:#da3633;color:#fff}.control-button.force-send:not(:disabled){background:#f59e0b;border-color:#f59e0b;color:#fff}.input-area{display:flex;gap:8px;align-items:flex-end}.message-input{flex:1;min-height:40px;max-height:200px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0a;color:#ffffffe6;font-size:14px;line-height:1.4;resize:none;outline:none;transition:all .15s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.message-input:focus{border-color:#22d3ee66;background:#ffffff14}.message-input:disabled{opacity:.6;cursor:not-allowed}.send-button{padding:8px 16px;background:#22d3eecc;border:1px solid rgba(34,211,238,.8);border-radius:8px;color:#000000e6;font-size:14px;font-weight:600;transition:all .15s ease}.send-button:hover:not(:disabled){background:#22d3ee;border-color:#22d3ee;transform:translateY(-1px)}.send-button:disabled{opacity:.4;cursor:not-allowed;background:#ffffff0a;border-color:#ffffff14;color:#fff6;transform:none}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.empty-content{text-align:center;max-width:400px}.empty-content h2{font-size:24px;font-weight:600;margin-bottom:8px;color:#e6edf3}.empty-content p{color:#7d8590;font-size:16px;line-height:1.5;margin-bottom:20px}.connection-status{display:flex;align-items:center;justify-content:center;gap:12px;color:#7d8590;font-size:14px}.loading-spinner{width:20px;height:20px;border:2px solid #21262d;border-top:2px solid #1f6feb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-bar{height:28px;background:#0006;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 16px;font-size:11px;color:#fff6;flex-shrink:0;font-family:JetBrains Mono,monospace}.status-left,.status-center,.status-right{flex:1;display:flex;align-items:center}.status-center{justify-content:center}.status-right{justify-content:flex-end}.status-item{display:flex;align-items:center;gap:4px;margin:0 8px}.status-item.connected{color:#56d364}.status-item.disconnected{color:#ef4444}.status-item.idle{color:#56d364}.status-item.thinking{color:#a78bfa}.status-item.streaming{color:#22d3ee}.status-item.error{color:#ef4444}.status-item.tokens{color:#f79009;font-variant-numeric:tabular-nums}.status-item.timestamp{font-family:SF Mono,Monaco,monospace;font-variant-numeric:tabular-nums}.streaming-indicator{display:flex;align-items:center;gap:6px;padding:2px 6px;border-radius:10px;background:#22d3ee1a;color:#22d3ee}.streaming-pulse{width:6px;height:6px;border-radius:50%;background:#22d3ee;animation:pulse 1.5s ease-in-out infinite}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.session-tokens-badge{font-family:JetBrains Mono,monospace;font-size:10px;font-variant-numeric:tabular-nums;color:#f79009cc;white-space:nowrap}.token-display{display:flex;align-items:center;gap:5px;font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:12px;color:#f79009cc;background:#f7900914;padding:3px 10px;border-radius:12px;border:1px solid rgba(247,144,9,.15);transition:color .3s ease}.token-display .token-icon{font-size:11px}.token-display .token-value{font-weight:500}.layout-toggle{display:flex;align-items:center;gap:2px;margin-right:16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:2px}.layout-btn{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#fff6;font-size:12px;font-weight:600;letter-spacing:1px;transition:all .15s ease}.layout-btn:hover{color:#ffffffb3;background:#ffffff0f}.layout-btn.active{color:#22d3eee6;background:#22d3ee26}.pane-count{font-size:10px;font-family:JetBrains Mono,monospace;color:#22d3eeb3;margin-left:4px}.springboard-content.multi-pane{display:flex;flex-direction:row;overflow-x:auto}.pane-wrapper{flex:1;min-width:380px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.06);overflow:hidden}.pane-wrapper:last-child{border-right:none}.pane-close-bar{display:flex;justify-content:flex-end;padding:2px 4px;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.04);flex-shrink:0}.pane-close-btn{width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:#ffffff4d;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pane-close-btn:hover{background:#ef444433;color:#ef4444}.session-item.paned{border-left:2px solid rgba(34,211,238,.5)}.session-item.paned:not(.selected){background:#22d3ee0d}.sidebar-toggle{display:none;width:36px;height:36px;border:none;border-radius:6px;background:#ffffff0f;color:#fffc;font-size:18px;align-items:center;justify-content:center;margin-right:8px;flex-shrink:0}.sidebar-toggle:hover{background:#ffffff1f}.sidebar-backdrop{display:none}@media(max-width:768px){.sidebar-toggle{display:flex}.session-sidebar{position:fixed;top:48px;left:0;bottom:28px;width:280px;z-index:100;transform:translate(-100%);transition:transform .25s ease;background:#0a0b0ffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.session-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#00000080}.top-bar{padding:0 8px}.top-bar-left,.top-bar-right{flex:0 0 auto}.top-bar-center{flex:1}.app-title h1{font-size:13px}.app-subtitle,.session-stats,.layout-toggle,.gateway-url{display:none}.status-text{font-size:11px}.connection-status{padding:4px 8px}.chat-header{padding:10px 12px}.chat-messages{padding:12px;gap:10px}.message-bubble{max-width:90%;padding:10px 12px;border-radius:12px;font-size:14px}.chat-input{padding:8px 12px}.input-controls{margin-bottom:8px}.message-input{font-size:16px}.springboard-content.multi-pane{flex-direction:column}.pane-wrapper{min-width:unset}.status-bar{height:24px;font-size:10px;padding:0 8px}}
