body{margin:0}.nav{background:var(--bg2);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:32px;height:60px;padding:0 40px;display:flex;position:sticky;top:0}.nav-logo{color:var(--text-head);letter-spacing:-.3px;flex-shrink:0;font-size:18px;font-weight:700;text-decoration:none}.nav-links{flex:1;gap:4px;display:flex}.nav-link{color:var(--text-dim);border-radius:6px;padding:6px 12px;font-size:14px;text-decoration:none;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--bg3)}.nav-link.active{color:var(--text-head);background:var(--bg3)}.nav-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.nav-user{color:var(--text-dim);font-size:12px;font-family:var(--mono)}.nav-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;padding:6px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,border-color .15s,color .15s;display:inline-flex}.nav-btn.primary{background:var(--accent);color:#0d1117;border-color:var(--accent)}.nav-btn.primary:hover{opacity:.85}.nav-btn.ghost{color:var(--text-dim);border-color:var(--border);background:0 0}.nav-btn.ghost:hover{color:var(--text);border-color:var(--text-dim)}.home-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.hero{border-bottom:1px solid var(--border);justify-content:center;padding:80px 40px 60px;display:flex}.hero-inner{text-align:center;max-width:680px}.hero-badge{text-transform:uppercase;letter-spacing:1px;color:var(--accent);background:#3fb9501a;border:1px solid #3fb9504d;border-radius:20px;margin-bottom:24px;padding:4px 14px;font-size:11px;font-weight:600;display:inline-block}.hero-title{color:var(--text-head);letter-spacing:-1.5px;margin:0 0 16px;font-size:56px;font-weight:700;line-height:1.1}.hero-title .accent{color:var(--accent)}.hero-sub{color:var(--text-dim);margin:0 0 36px;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-primary{background:var(--accent);color:#0d1117;border-radius:8px;align-items:center;padding:12px 28px;font-size:15px;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-flex}.btn-primary:hover{opacity:.85}.btn-ghost{border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;padding:12px 28px;font-size:15px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.btn-ghost:hover{border-color:var(--text-dim);color:var(--text-head)}.agents-section{box-sizing:border-box;width:100%;max-width:1100px;margin:0 auto;padding:60px 40px}.section-title{color:var(--text-head);letter-spacing:-.5px;margin:0 0 8px;font-size:28px;font-weight:700}.section-sub{color:var(--text-dim);margin:0 0 32px;font-size:14px}.agent-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.agent-card{background:var(--bg2);border:1px solid var(--border);border-radius:10px;gap:16px;padding:20px;transition:border-color .15s;display:flex}.agent-card:hover{border-color:var(--text-dim)}.agent-icon{flex-shrink:0;margin-top:2px;font-size:28px;line-height:1}.agent-name{margin-bottom:2px;font-size:15px;font-weight:700}.agent-role{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-bottom:8px;font-size:11px}.agent-desc{color:var(--text-dim);font-size:13px;line-height:1.55}.home-footer{border-top:1px solid var(--border);color:var(--text-dim);justify-content:space-between;align-items:center;margin-top:auto;padding:20px 40px;font-size:12px;display:flex}.home-footer a{color:var(--text-dim);text-decoration:none}.home-footer a:hover{color:var(--text)}.contact-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.contact-wrap{box-sizing:border-box;flex:1;gap:60px;width:100%;max-width:960px;margin:60px auto;padding:0 40px;display:flex}.contact-left{flex:1;min-width:0}.contact-title{color:var(--text-head);letter-spacing:-.8px;margin:0 0 16px;font-size:36px;font-weight:700}.contact-sub{color:var(--text-dim);margin:0 0 36px;font-size:15px;line-height:1.65}.contact-info{flex-direction:column;gap:14px;display:flex}.info-item{color:var(--text-dim);align-items:center;gap:12px;font-size:14px;display:flex}.info-icon{text-align:center;width:20px;color:var(--accent);font-size:16px}.contact-form{flex-direction:column;flex:1;gap:18px;min-width:0;display:flex}.form-success{color:var(--accent2);background:#3fb9501a;border:1px solid #3fb95066;border-radius:8px;padding:12px 16px;font-size:13px}.form-row{flex-direction:column;gap:6px;display:flex}.form-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:12px;font-weight:600}.form-input{background:var(--bg2);border:1px solid var(--border);color:var(--text);font-family:var(--sans);border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s}.form-input:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:120px;line-height:1.5}.form-submit{background:var(--accent);color:#0d1117;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:12px 28px;font-size:14px;font-weight:600;transition:opacity .15s}.form-submit:hover{opacity:.85}.contact-footer{border-top:1px solid var(--border);color:var(--text-dim);padding:20px 40px;font-size:12px}@media (width<=700px){.contact-wrap{flex-direction:column;gap:32px}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg2);border:1px solid var(--border);border-radius:12px;width:100%;max-width:400px;padding:40px}.login-logo{color:var(--text-head);margin-bottom:24px;font-size:20px;font-weight:700;text-decoration:none;display:block}.login-title{color:var(--text-head);letter-spacing:-.4px;margin:0 0 6px;font-size:24px;font-weight:700}.login-sub{color:var(--text-dim);margin:0 0 24px;font-size:13px}.login-dev-notice{color:#ffa657;background:#ffa6571a;border:1px solid #ffa65759;border-radius:8px;margin-bottom:20px;padding:12px 14px;font-size:12px;line-height:1.6}.login-dev-notice code{font-family:var(--mono);background:#ffffff14;border-radius:3px;padding:1px 4px;font-size:11px}.login-form{flex-direction:column;gap:16px;display:flex}.login-error{color:#f85149;background:#f851491a;border:1px solid #f8514966;border-radius:8px;padding:10px 14px;font-size:13px}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);font-size:12px;font-weight:600}.login-field input{background:var(--bg3);border:1px solid var(--border);color:var(--text);font-size:14px;font-family:var(--sans);border-radius:8px;outline:none;padding:10px 14px;transition:border-color .15s}.login-field input:focus{border-color:var(--accent)}.login-field input:disabled{opacity:.5;cursor:not-allowed}.login-btn{background:var(--accent);color:#0d1117;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px;font-size:14px;font-weight:600;transition:opacity .15s}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-btn:not(:disabled):hover{opacity:.85}.login-footer{text-align:center;margin-top:24px;font-size:13px}.login-footer a{color:var(--text-dim);text-decoration:none}.login-footer a:hover{color:var(--text)}.login-notice{color:#3fb950;background:#3fb9501a;border:1px solid #3fb95066;border-radius:8px;padding:10px 14px;font-size:13px}.login-hint{color:var(--text-dim);font-size:12px;line-height:1.4}.login-link-btn{color:var(--text-dim);font-family:var(--sans);text-align:center;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;transition:color .15s}.login-link-btn:not(:disabled):hover{color:var(--text)}.login-link-btn:disabled{opacity:.45;cursor:not-allowed}.chat-panel{border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-header{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);border-bottom:1px solid var(--border);background:var(--bg2);flex-shrink:0;padding:8px 16px;font-size:11px;font-weight:600}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.empty-state{color:var(--text-dim);text-align:center;margin-top:60px;font-size:13px}.bubble-row{flex-direction:column;max-width:82%;display:flex}.bubble-row.user{align-self:flex-end;align-items:flex-end}.bubble-row.assistant{align-self:flex-start;align-items:flex-start}.agent-label{margin-bottom:4px;padding-left:4px;font-size:11px;font-weight:600}.bubble{border-radius:var(--radius);word-break:break-word;padding:10px 14px;font-size:13px;line-height:1.55}.user-bubble{background:var(--user-bg);color:var(--text-head);border:1px solid #1a4a25}.assistant-bubble{background:var(--agent-bg);color:var(--text);border:1px solid var(--border)}.assistant-bubble.error{color:#f85149;border-color:#f85149}.msg-pre{font-family:var(--sans);white-space:pre-wrap;margin:0;font-size:13px}.dots{gap:4px;padding:4px 2px;display:flex}.dots span{background:var(--text-dim);border-radius:50%;width:6px;height:6px;animation:1.2s infinite blink}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.input-bar{border-top:1px solid var(--border);background:var(--bg2);flex-shrink:0;align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.chat-input{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--sans);resize:none;outline:none;flex:1;padding:8px 12px;font-size:13px;line-height:1.5;transition:border-color .15s}.chat-input:focus{border-color:var(--accent)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{border-radius:var(--radius);background:var(--accent);color:#0d1117;cursor:pointer;white-space:nowrap;border:none;align-self:flex-end;height:36px;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .15s}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn:not(:disabled):hover{opacity:.85}.console-panel{background:var(--bg);flex-direction:column;flex-shrink:0;width:420px;display:flex;overflow:hidden}.console-header{border-bottom:1px solid var(--border);background:var(--bg2);text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:600;display:flex}.console-actions{align-items:center;gap:8px;display:flex}.log-count{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.details-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px;transition:border-color .15s,color .15s,background .15s}.details-btn:hover{border-color:var(--accent);color:var(--accent)}.details-btn.active{border-color:var(--accent);color:var(--accent);background:#58a6ff1f}.clear-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:4px;padding:2px 8px;font-size:11px}.clear-btn:not(:disabled):hover{border-color:var(--text-dim);color:var(--text)}.clear-btn:disabled{opacity:.4;cursor:not-allowed}.log-scroll{font-family:var(--mono);flex:1;font-size:11.5px;line-height:1.45;overflow-y:auto}.console-empty{color:var(--text-dim);font-family:var(--sans);text-align:center;margin-top:40px;font-size:12px}.log-separator{background:var(--border);opacity:.5;height:1px;margin:6px 10px}.log-entry{cursor:default;border-bottom:1px solid #0000;align-items:baseline;gap:6px;padding:3px 10px;display:flex;position:relative}.log-entry:hover{background:var(--bg2)}.log-ts{color:var(--text-dim);opacity:.7;flex-shrink:0;font-size:10px}.log-icon{text-align:center;flex-shrink:0;width:12px}.log-label{text-transform:uppercase;letter-spacing:.5px;opacity:.65;flex-shrink:0;width:82px;font-size:10px}.log-body{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.log-ms{color:var(--text-dim);opacity:.7;margin-left:8px;font-size:10px;font-style:italic}.ev-model,.ev-timing-value{color:#c3b1e1;font-weight:600}.ev-traceback{color:#f85149;white-space:pre-wrap;word-break:break-all;opacity:.8;margin-top:4px;font-size:10px;display:block}.log-detail-block{background:var(--bg3);border-left:2px solid var(--border);border-radius:0 4px 4px 0;margin:0 10px 4px 32px}.log-detail-pre{font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;word-break:break-all;margin:0;padding:6px 10px;font-size:10.5px;line-height:1.5}.log-tooltip{z-index:9999;background:var(--bg2);border:1px solid var(--accent);pointer-events:none;border-radius:6px;min-width:280px;max-width:480px;position:fixed;transform:translate(calc(-100% - 8px));box-shadow:0 8px 24px #00000080}.log-tooltip-pre{font-family:var(--mono);color:var(--text);white-space:pre;margin:0;padding:10px 14px;font-size:11px;line-height:1.55;overflow:hidden}.ev-text{color:var(--text)}.ev-text.dim{color:var(--text-dim)}.ev-text.error{color:#f85149}.ev-badge{background:var(--bg3);border:1px solid var(--border);border-radius:3px;padding:1px 6px;font-size:10px}.ev-tool-name{color:#ffa657;font-weight:600}.ev-args{color:var(--text-dim);font-size:10.5px}.ev-user .log-icon,.ev-user .log-label{color:var(--accent)}.ev-routing .log-icon,.ev-routing .log-label{color:#d2a8ff}.ev-agent .log-icon,.ev-agent .log-label{color:#3fb950}.ev-tool .log-icon,.ev-tool .log-label{color:#ffa657}.ev-message .log-icon,.ev-message .log-label{color:var(--accent2)}.ev-done .log-icon,.ev-done .log-label{color:var(--text-dim)}.ev-error .log-icon,.ev-error .log-label{color:#f85149}.ev-tool-result .log-icon,.ev-tool-result .log-label{color:#e3b341}.ev-llm-start .log-icon,.ev-llm-start .log-label{color:#79c0ff}.ev-llm-end .log-icon,.ev-llm-end .log-label{color:#56d364}.ev-milestone .log-icon,.ev-milestone .log-label{color:#f0f6fc}.ev-timing .log-icon,.ev-timing .log-label{color:#8b949e}.log-scroll::-webkit-scrollbar{width:6px}.log-scroll::-webkit-scrollbar-track{background:0 0}.log-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.history-sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;transition:width .2s;display:flex;overflow:hidden}.history-sidebar.open{width:220px}.history-sidebar.collapsed{width:32px}.history-header{border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.history-title{text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim);white-space:nowrap;font-size:11px;font-weight:600}.history-refresh{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.history-refresh:hover{color:var(--accent)}.history-list{flex:1;padding:4px 0;overflow-y:auto}.history-empty{color:var(--text-dim);text-align:center;font-size:11px;font-family:var(--sans);padding:20px 10px}.history-item{cursor:pointer;border-bottom:1px solid #0000;padding:8px 10px;transition:background .1s}.history-item:hover{background:var(--bg3)}.history-item.active{border-left:2px solid var(--accent);background:#58a6ff1a;padding-left:8px}.history-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:3px;font-size:11.5px;overflow:hidden}.history-item.active .history-item-title{color:var(--accent)}.history-item-meta{justify-content:space-between;align-items:center;display:flex}.history-item-count{color:var(--text-dim);font-size:10px;font-family:var(--mono)}.history-item-time{color:var(--text-dim);opacity:.7;font-size:10px}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-track{background:0 0}.history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}*,:before,:after{box-sizing:border-box}:root{--bg:#0f1117;--bg2:#161b22;--bg3:#1c2230;--border:#30363d;--text:#c9d1d9;--text-dim:#6e7681;--text-head:#f0f6fc;--accent:#3fb950;--accent2:#56d364;--user-bg:#112a18;--agent-bg:#0e1f12;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--sans:system-ui, "Segoe UI", sans-serif;--radius:8px}body{background:var(--bg);color:var(--text);font-family:var(--sans);margin:0;font-size:14px;line-height:1.5}#root{width:100%;min-height:100vh}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.header-left{align-items:center;gap:12px;display:flex}.logo{color:var(--text-head);letter-spacing:-.3px;font-size:16px;font-weight:700}.thread-id{font-family:var(--mono);color:var(--text-dim);background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px}.new-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);color:var(--text);cursor:pointer;padding:5px 12px;font-size:12px;transition:border-color .15s,color .15s}.new-btn:hover{border-color:var(--accent);color:var(--accent)}.header-right{align-items:center;gap:8px;display:flex}.header-user{font-family:var(--mono);color:var(--text-dim);font-size:11px}.auth-loading{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.panels{flex:1;display:flex;overflow:hidden}.admin-body{flex-direction:column;flex:1;gap:20px;padding:20px 28px 40px;display:flex;overflow-y:auto}.admin-filters{align-items:center;gap:8px;display:flex}.admin-filters-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-dim);margin-right:4px;font-size:11px}.preset-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);color:var(--text-dim);cursor:pointer;padding:5px 12px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.preset-btn:hover{color:var(--text);border-color:var(--text-dim)}.preset-btn.active{border-color:var(--accent);color:var(--accent);background:#3fb9501f}.stat-row{grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px;display:grid}.stat-tile{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px}.stat-value{color:var(--text-head);font-variant-numeric:proportional-nums;font-size:26px;font-weight:600}.chart-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chart-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 8px;position:relative}.chart-title{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:600}.chart-svg{width:100%;height:auto;display:block;overflow:visible}.chart-gridline{stroke:var(--border);stroke-width:1px}.chart-axis-label{fill:var(--text-dim);font-size:9px;font-family:var(--mono)}.chart-end-label{fill:var(--text);font-size:11px;font-weight:600;font-family:var(--mono)}.chart-crosshair{stroke:var(--text-dim);stroke-width:1px;stroke-dasharray:2 2}.chart-tooltip{background:var(--bg3);border:1px solid var(--border);pointer-events:none;white-space:nowrap;border-radius:6px;padding:4px 10px;position:absolute;top:4px;transform:translate(-50%);box-shadow:0 4px 12px #0006}.chart-tooltip-value{color:var(--text-head);font-size:13px;font-weight:600;font-family:var(--mono)}.chart-tooltip-date{color:var(--text-dim);font-size:10px}.table-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.table-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.table-title{color:var(--text);margin-bottom:10px;font-size:12px;font-weight:600}.admin-table{border-collapse:collapse;width:100%;font-size:12.5px}.admin-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);padding:0 0 6px;font-size:11px;font-weight:500}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);padding:6px 0}.admin-table tr:last-child td{border-bottom:none}.admin-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}.admin-table td.mono-cell{font-family:var(--mono);color:var(--text-dim);font-size:11.5px}.table-empty{color:var(--text-dim);text-align:center;padding:16px 0}.logs-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;min-height:320px;display:flex;overflow:hidden}.logs-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.logs-title{color:var(--text);font-size:12px;font-weight:600}.logs-controls{align-items:center;gap:8px;display:flex}.logs-select,.logs-search{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg3);color:var(--text);padding:5px 8px;font-size:12px}.logs-search{width:180px}.logs-select:focus,.logs-search:focus{border-color:var(--accent);outline:none}.logs-scroll{font-family:var(--mono);flex:1;padding:8px 14px;font-size:11px;line-height:1.5;overflow-y:auto}.logs-empty{color:var(--text-dim);text-align:center;margin-top:24px}.log-line{white-space:pre-wrap;word-break:break-word;color:var(--text-dim);padding:1px 0}.log-line.error,.log-line.critical{color:#f85149}.log-line.warning{color:#e3b341}.log-line.llm-end{color:#56d364}.log-line.llm-start{color:#79c0ff}.log-line.tool{color:#ffa657}.log-line.routing{color:#d2a8ff}.log-line.agent{color:#3fb950}.log-line.milestone{color:var(--text)}.logs-scroll::-webkit-scrollbar{width:6px}.logs-scroll::-webkit-scrollbar-track{background:0 0}.logs-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (width<=900px){.stat-row{grid-template-columns:repeat(2,1fr)}.chart-row,.table-row{grid-template-columns:1fr}}
