:root{--text:#4b4553;--text-h:#08060d;--bg:#fff;--bg-subtle:#f7f6f9;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#7c3aed;--accent-bg:#7c3aed1a;--accent-border:#7c3aed80;--danger:#dc2626;--danger-bg:#dc26261a;--warn:#b45309;--warn-bg:#b453091f;--ok:#15803d;--ok-bg:#15803d1f;--shadow:#00000014 0 4px 12px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:15px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#b7b3bf;--text-h:#f3f4f6;--bg:#16171d;--bg-subtle:#1c1d24;--border:#2e303a;--code-bg:#1f2028;--accent:#a78bfa;--accent-bg:#a78bfa26;--accent-border:#a78bfa80;--danger:#f87171;--danger-bg:#f871711f;--warn:#fbbf24;--warn-bg:#fbbf241f;--ok:#4ade80;--ok-bg:#4ade801f;--shadow:#0006 0 4px 12px -2px}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--sans);color:var(--text-h);margin:0 0 4px;font-weight:600}h1{font-size:22px}h2{font-size:17px}h3{font-size:14px}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--mono);font-size:13px}pre{background:var(--code-bg);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:10px 12px;overflow-x:auto}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:14px 24px;display:flex}.app-header nav{gap:16px;font-size:14px;display:flex}.app-main{flex-direction:column;flex:1;gap:20px;width:100%;max-width:900px;margin:0 auto;padding:24px;display:flex}.app-user{color:var(--text);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.logout-button{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:13px}.login-page{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.login-error{color:var(--danger)}.card{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;gap:10px;padding:16px 18px;display:flex}.card-list{flex-direction:column;gap:10px;display:flex}.card-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.candidate-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:12px;display:grid}.candidate-grid pre{max-height:420px;overflow-y:auto}.muted{color:var(--text);opacity:.7;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-running{background:var(--accent-bg);color:var(--accent)}.badge-paused{background:var(--warn-bg);color:var(--warn)}.badge-completed{background:var(--ok-bg);color:var(--ok)}.badge-errored{background:var(--danger-bg);color:var(--danger)}.badge-shot{background:var(--border);color:var(--text);flex-shrink:0}.shot-list{flex-direction:column;gap:6px;margin:8px 0 12px;padding-left:20px;display:flex}.shot-list li{font-size:13px}button,select,input[type=text],textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:7px 12px}textarea{resize:vertical}button{cursor:pointer;border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent);font-weight:600}button:hover{filter:brightness(1.05)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{border-color:var(--border);color:var(--text-h);background:0 0}label{color:var(--text-h);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.form-grid{flex-direction:column;gap:14px;display:flex}.field-row{align-items:center;gap:12px;display:flex}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}th{color:var(--text-h);font-weight:600}tr:hover td{background:var(--bg-subtle)}.timeline{flex-direction:column;gap:8px;display:flex}.timeline-item{border-left:2px solid var(--border);align-items:flex-start;gap:10px;padding:2px 0 2px 12px;font-size:13px;display:flex}.error-text{color:var(--danger);font-size:13px}.empty-state{color:var(--text);opacity:.7;text-align:center;padding:24px 0;font-size:14px}.chat-panel{border:1px solid var(--border);background:var(--bg);border-radius:10px;flex-direction:column;max-height:65vh;display:flex;overflow-y:auto}.chat-panel-body{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.chat-panel-composer{background:var(--bg);border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:12px 18px;display:flex;position:sticky;bottom:0}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:10px;width:100%;max-width:640px;max-height:80vh;padding:16px 18px;display:flex}.modal-body{overflow-y:auto}.entity-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.entity-thumb{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border);border-radius:6px;width:100%}.mention-field{position:relative}.mention-field textarea,.mention-field input{width:100%}.mention-menu{background:var(--bg);border:1px solid var(--border);box-shadow:var(--shadow);z-index:50;border-radius:8px;max-height:220px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mention-item{cursor:pointer;justify-content:space-between;gap:8px;padding:6px 10px;font-size:13px;display:flex}.mention-item.active,.mention-item:hover{background:var(--accent-bg)}.prompt-editor{position:relative}.prompt-editor-backdrop,.prompt-editor-textarea{border:1px solid var(--border);font:12px/1.55 var(--mono);white-space:pre-wrap;word-break:break-word;border-radius:6px;width:100%;margin:0;padding:8px 10px}.prompt-editor-backdrop{color:var(--text);background:var(--bg);pointer-events:none;position:absolute;inset:0;overflow:auto}.prompt-editor-backdrop strong{color:var(--accent);font-weight:700}.prompt-editor-textarea{color:#0000;caret-color:var(--text-h);background:0 0;position:relative}.prompt-editor-textarea::selection{background:var(--accent-bg)}
