@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--accent-primary: #2f81f7;--accent-success: #3fb950;--accent-warning: #d29922;--accent-danger: #f85149;--shadow-sm: 0 1px 0 rgba(1, 4, 9, .04);--shadow-md: 0 4px 12px rgba(1, 4, 9, .5);--transition-speed: .2s}[data-theme=dark]{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-sidebar: #010409;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--border-default: #30363d;--border-muted: #21262d;--agent-bubble: #21262d;--user-bubble: #1f6feb;--input-bg: #21262d;--header-bg: #0d1117;--surface-dark: #161b22;--surface-light: #0d1117}[data-theme=light]{--bg-primary: #F0F2F5;--bg-secondary: #FFFFFF;--bg-tertiary: #E4E6EB;--bg-sidebar: #FFFFFF;--text-primary: #050505;--text-secondary: #3E4C59;--text-muted: #606770;--border-default: #dadde1;--border-muted: #e4e6eb;--agent-bubble: #FFFFFF;--user-bubble: #0084FF;--input-bg: #FFFFFF;--header-bg: #FFFFFF;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--surface-dark: #FFFFFF;--surface-light: #F0F2F5}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100vh;width:100vw;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color var(--transition-speed),color var(--transition-speed)}.app-container{display:flex;height:100vh;width:100vw;background-color:var(--bg-primary)}.main-stage{flex:1;display:flex;flex-direction:column;position:relative;background-color:var(--bg-primary)}.app-header{height:64px;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default);background-color:var(--header-bg);transition:background-color var(--transition-speed),border-color var(--transition-speed);z-index:10}.header-brand{display:flex;align-items:center;gap:.75rem}.brand-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-primary),#1f6feb);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 4px #0003}.brand-info h1{font-size:1rem;font-weight:600}.brand-info span{font-size:.75rem;color:var(--text-secondary)}.status-indicator-wrap{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background-color:var(--accent-success);box-shadow:0 0 8px var(--accent-success)}.status-dot.offline{background-color:var(--text-muted)}.theme-toggle{background-color:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-primary);border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:1rem;transition:all var(--transition-speed)}.theme-toggle:hover{background-color:var(--bg-secondary);border-color:var(--accent-primary)}.chat-stage{flex:1;overflow-y:auto;padding:2rem 0;display:flex;flex-direction:column;align-items:center}.messages-container{width:100%;max-width:800px;padding:0 1.5rem}.message-block{margin-bottom:2rem;display:flex;flex-direction:column;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.data-table-container{background:var(--surface-light);border:1px solid var(--border-color);border-radius:8px;margin:1rem 0;overflow:hidden;box-shadow:var(--shadow-sm)}.table-title{background:var(--surface-dark);padding:.5rem 1rem;font-size:.85rem;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.table-scroll{max-height:400px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:.85rem}th{background:var(--surface-dark);color:var(--text-secondary);font-weight:600;text-align:left;padding:.75rem 1rem;position:sticky;top:0;z-index:10}td{padding:.6rem 1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);white-space:nowrap}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-dark)}.table-scroll::-webkit-scrollbar{width:6px;height:6px}.table-scroll::-webkit-scrollbar-track{background:transparent}.table-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.result-cards{display:flex;flex-direction:column;gap:.6rem}.result-card{background:var(--surface-light, var(--bg-secondary));border:1px solid var(--border-color, var(--border-default));border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}.result-card-title{background:var(--surface-dark, var(--bg-tertiary));padding:.45rem .9rem;font-size:.8rem;font-weight:600;letter-spacing:.01em;color:var(--text-primary);border-bottom:1px solid var(--border-color, var(--border-default))}.result-card-body{padding:.7rem .9rem;font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.result-preamble{margin-bottom:.2rem;white-space:pre-wrap;word-break:break-word;font-size:.95rem;line-height:1.5}.eda-stats-output{font-family:var(--font-mono);font-size:.8rem;line-height:1.4;white-space:pre;color:var(--text-secondary);background:var(--surface-dark);padding:.75rem;border-radius:6px;overflow-x:auto}.message-body{padding:1rem;border-radius:12px;font-size:.95rem;white-space:pre-wrap;word-break:break-word;background-color:var(--bg-secondary);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.message-body.user{background-color:var(--bg-tertiary);border-color:var(--accent-primary);margin-left:auto;max-width:80%}.typing-indicator{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1rem;border-radius:12px;background-color:var(--bg-secondary);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.typing-label{font-size:.9rem;color:var(--text-secondary)}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:6px;height:6px;border-radius:50%;background-color:var(--text-muted);animation:typing-bounce 1.4s infinite ease-in-out both}.typing-dots span:nth-child(1){animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}.plot-card{margin-top:1rem;background-color:var(--bg-sidebar);border:1px solid var(--border-default);border-radius:8px;overflow:hidden;transition:transform .2s,box-shadow .2s}.plot-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.plot-card img{width:100%;height:auto;display:block}.plot-card-caption{padding:.75rem;font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--border-default);background-color:var(--bg-secondary)}.chart-card{margin:1rem 0;background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.chart-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .75rem .5rem 1rem;border-bottom:1px solid var(--border-muted)}.chart-card-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.chart-card-toggle{flex-shrink:0;font:inherit;font-size:.75rem;color:var(--text-secondary);background:transparent;border:1px solid var(--border-default);border-radius:6px;padding:.2rem .6rem;cursor:pointer}.chart-card-toggle:hover{color:var(--text-primary);border-color:var(--text-muted)}.chart-canvas{width:100%;height:320px}.chart-card-caption{padding:.5rem 1rem;font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--border-muted)}.chart-card .data-table-container{margin:0;border:none;border-radius:0;box-shadow:none}.chart-card .table-title{display:none}.input-stage{padding:1.5rem 0 2rem;display:flex;justify-content:center;background:linear-gradient(to top,var(--bg-primary) 80%,transparent)}.input-container{width:100%;max-width:800px;padding:0 1.5rem;position:relative}.engine-banner{--banner-color: var(--accent-warning);display:flex;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--banner-color) 45%,transparent);background-color:color-mix(in srgb,var(--banner-color) 12%,var(--bg-secondary));color:var(--text-primary);font-size:.9rem}.engine-banner.none{--banner-color: var(--accent-primary)}.engine-banner.connected{--banner-color: var(--accent-success)}.engine-banner-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background-color:var(--banner-color)}.engine-banner.offline .engine-banner-dot{animation:engine-waiting 1.6s ease-in-out infinite}@keyframes engine-waiting{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.engine-banner.offline .engine-banner-dot{animation:none}}.engine-banner-text{flex:1}.engine-banner-btn{flex-shrink:0;font:inherit;font-size:.8rem;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:8px;padding:.35rem .75rem;cursor:pointer}.engine-banner-btn:hover{border-color:var(--text-muted)}.command-bar{background-color:var(--input-bg);border:1px solid var(--border-default);border-radius:12px;display:flex;align-items:center;padding:.5rem 1rem;box-shadow:var(--shadow-md);transition:border-color var(--transition-speed),box-shadow var(--transition-speed),background-color var(--transition-speed)}.command-bar:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #2f81f726}.command-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:Inter,sans-serif;font-size:.95rem;padding:.5rem 0}.command-input::-moz-placeholder{color:var(--text-muted)}.command-input::placeholder{color:var(--text-muted)}.send-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:.75rem;transition:filter .2s}.send-btn:hover{filter:brightness(1.1)}.send-btn svg{width:16px;height:16px}.paused-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.paused-page{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-color:var(--bg-primary);padding:2rem}.paused-panel{max-width:40rem;text-align:center}.paused-panel h1{font-size:clamp(1.75rem,4vw,3rem);font-weight:600;line-height:1.25;color:var(--text-primary)}.paused-retry{margin-top:2rem;background:transparent;border:1px solid var(--border-default);color:var(--text-secondary);border-radius:8px;padding:.6rem 1.4rem;font-size:.9rem;font-family:inherit;cursor:pointer;transition:all var(--transition-speed)}.paused-retry:hover{border-color:var(--accent-primary);color:var(--text-primary)}.usage-tokens{margin-top:.4rem;text-align:right;font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.usage-ring{display:flex;align-items:center;gap:.35rem;margin-left:.75rem;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted);cursor:default;--usage-color: var(--accent-primary)}.usage-ring.high{--usage-color: var(--accent-warning);color:var(--accent-warning)}.usage-ring.full{--usage-color: var(--accent-danger);color:var(--accent-danger)}.usage-ring svg{width:20px;height:20px}.usage-ring circle{fill:none;stroke-width:3}.usage-ring-track{stroke:var(--border-default)}.usage-ring-fill{stroke:var(--usage-color);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset .4s ease,stroke var(--transition-speed)}.sys-msg{text-align:center;font-size:.75rem;color:var(--text-muted);margin:1rem 0}.err-msg{background-color:#f851491a;color:var(--accent-danger);padding:.5rem 1rem;border:1px solid rgba(248,81,73,.2);border-radius:6px;font-size:.85rem;margin:1rem 0;text-align:center}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-default);border:2px solid var(--bg-primary);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.plan-badge{background-color:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:12px;padding:2px 10px;margin-left:4px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.plan-badge:hover{border-color:var(--accent-primary);color:var(--text-primary)}.plan-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.plan-modal{background-color:var(--bg-secondary);border:1px solid var(--border-default);border-radius:10px;padding:20px 24px;max-width:820px;width:100%;max-height:85vh;display:flex;flex-direction:column;gap:14px;box-shadow:0 16px 48px #00000073}.plan-modal-head{display:flex;justify-content:space-between;align-items:center}.plan-modal-head h2{font-size:1.05rem;color:var(--text-primary)}.plan-close{background:none;border:none;color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer}.plan-close:hover{color:var(--text-primary)}.plan-table-scroll{overflow:auto}.plan-table{width:100%;border-collapse:collapse;font-size:.85rem}.plan-table th,.plan-table td{padding:8px 12px;border-bottom:1px solid var(--border-muted);text-align:center}.plan-table thead th{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.plan-table tbody th[scope=row]{text-align:left;font-weight:400;color:var(--text-primary)}.plan-table .current{background-color:var(--bg-tertiary)}.plan-table thead th.current{color:var(--accent-primary)}.plan-current-tag{display:block;font-size:.6rem;color:var(--text-muted);letter-spacing:0;text-transform:none}.plan-yes{color:var(--accent-success)}.plan-no{color:var(--text-muted)}.upgrade-card{border:1px solid var(--accent-warning);border-radius:8px;background-color:var(--bg-secondary);padding:14px 16px;margin:8px 0}.upgrade-card-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.upgrade-card-body{color:var(--text-secondary);font-size:.9rem;margin-bottom:10px}.upgrade-actions{display:flex;gap:8px;flex-wrap:wrap}.upgrade-btn{background-color:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff;border-radius:6px;padding:6px 14px;font-size:.8rem;cursor:pointer;text-decoration:none}.upgrade-btn.secondary{background-color:transparent;border-color:var(--border-default);color:var(--text-secondary)}.upgrade-btn:hover{filter:brightness(1.1)}.upgrade-btn.secondary:hover{border-color:var(--accent-primary);color:var(--text-primary)}.engines-blurb{color:var(--text-muted);font-size:.8rem;line-height:1.5}.engine-token-card{border:1px solid var(--accent-primary);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.engine-token-card p{color:var(--text-muted);font-size:.8rem;line-height:1.5}.engine-token-title{color:var(--text-primary);font-size:.9rem;font-weight:600}.engine-install-cmd{background-color:var(--bg-primary);border:1px solid var(--border-default);border-radius:6px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.upgrade-btn:disabled{opacity:.5;cursor:not-allowed}.welcome-modal{max-width:620px}.welcome-body{display:flex;flex-direction:column;gap:14px;overflow:auto}.welcome-body p{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.welcome-steps{display:flex;flex-direction:column;gap:10px;margin:0;padding-left:20px;color:var(--text-secondary);font-size:.85rem;line-height:1.6}.welcome-steps strong{color:var(--text-primary)}.welcome-form{display:flex;flex-direction:column;gap:8px}.welcome-form label{color:var(--text-muted);font-size:.8rem}.platform-tabs{display:flex;gap:6px}.platform-tab{background:none;border:1px solid var(--border-default);border-radius:6px;padding:4px 10px;font-size:.75rem;color:var(--text-muted);cursor:pointer}.platform-tab.current{border-color:var(--accent-primary);color:var(--text-primary)}
