:root{--bg: #0f1419;--panel: #1a222c;--panel-2: #232d3a;--border: #2f3b4a;--text: #e7eef7;--muted: #93a4b8;--accent: #3d8bfd;--ok: #3ecf8e;--warn: #e6b84d;--err: #f07178;--font: "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "Cascadia Code", "Consolas", monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#1b2a40 0%,var(--bg) 55%);color:var(--text);font-family:var(--font)}#app{max-width:none;margin:0;padding:0;min-height:100vh}.app-shell{display:flex;min-height:100vh;align-items:stretch}.history-sidebar{width:260px;flex-shrink:0;background:#0c1117;border-right:1px solid var(--border);display:flex;flex-direction:column;max-height:100vh;position:sticky;top:0}.sidebar-head{padding:12px;border-bottom:1px solid var(--border)}.sidebar-new{width:100%}.sidebar-scroll{flex:1;overflow:auto;padding:8px 0 16px}.sidebar-hint{padding:8px 12px;margin:0;font-size:.85rem}.sidebar-group-label{padding:10px 12px 4px;font-size:.75rem;color:var(--muted);text-transform:none;letter-spacing:.02em}.sidebar-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:8px 12px;cursor:pointer;font:inherit;border-left:3px solid transparent}.sidebar-item:hover{background:#152033}.sidebar-item.active{background:#152033;border-left-color:var(--accent)}.sidebar-item-title{font-size:.88rem;line-height:1.35}.sidebar-item-meta{display:flex;align-items:center;gap:8px;font-size:.75rem}.app-main-col{flex:1;min-width:0;padding:16px 20px 40px;max-width:1400px}.app-shell.no-sidebar .app-main-col{max-width:none;width:100%}header.app-header{margin-bottom:14px}@media(max-width:900px){.app-shell{flex-direction:column}.history-sidebar{width:100%;max-height:220px;position:relative}}header.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}header h1{margin:0;font-size:1.35rem;font-weight:650;letter-spacing:.02em}.nav{display:flex;gap:8px}.nav button,.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:8px 12px;cursor:pointer;font:inherit}.nav button.active,.btn.primary{background:var(--accent);border-color:transparent;color:#fff}.btn.danger{background:#8b2e36;border-color:transparent}.btn:disabled{opacity:.55;cursor:not-allowed}.panel{background:color-mix(in srgb,var(--panel) 92%,transparent);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px}.panel h2{margin:0 0 12px;font-size:1.05rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}label.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:8px;padding:9px 10px;font:inherit}textarea{min-height:110px;resize:vertical;font-family:var(--mono);font-size:.9rem}.agents-plain{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px}.agents-plain label.check{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--text);cursor:pointer;white-space:nowrap;line-height:1.4}.agents-plain label.check input[type=checkbox]{width:14px;height:14px;margin:0;flex-shrink:0;accent-color:var(--accent)}.agents-plain label.check:has(input:disabled){cursor:not-allowed;color:var(--muted)}.agent-extras{margin-top:8px}.agents-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.agent-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--panel-2);min-width:0}.agent-card .top{display:flex;align-items:center;gap:8px;margin-bottom:0}.agent-card label.check{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.92rem;margin:0;cursor:pointer;line-height:1.2}.agent-card .badge{flex-shrink:0}.agent-card .elapsed,.log-pane header .elapsed{font-size:.78rem;white-space:nowrap;margin-left:2px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.wizard-shell{display:flex;flex-direction:column;gap:14px}.wizard-steps{display:flex;align-items:center;gap:0;flex-wrap:wrap;padding:12px 16px;background:var(--panel);border:1px solid var(--border);border-radius:12px}.wizard-step{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--muted);font:inherit;font-size:.9rem;padding:4px 6px;cursor:default;opacity:.85}.wizard-step:not(:disabled){cursor:pointer;opacity:1}.wizard-step:not(:disabled):hover .wizard-label{color:var(--text)}.wizard-step:disabled{cursor:default}.wizard-dot{width:12px;height:12px;border-radius:50%;border:2px solid #5a6b7d;background:transparent;flex-shrink:0}.wizard-step.active .wizard-dot,.wizard-step.done .wizard-dot{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #3d8bfd38}.wizard-step.active .wizard-label,.wizard-step.done .wizard-label{color:#8ebfff;font-weight:600}.wizard-step.todo .wizard-label{color:var(--muted);font-weight:500}.wizard-line{width:36px;height:2px;margin:0 4px;background:#3a4a5c;flex-shrink:0}.wizard-line.done{background:var(--accent)}.wizard-actions{justify-content:flex-end;margin-top:16px}.wizard-log-fold{margin-top:14px;padding:12px 14px}.wizard-log-fold>summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none}.wizard-log-fold>summary::-webkit-details-marker{display:none}.wizard-log-fold>summary:before{content:"▸ ";color:var(--muted)}.wizard-log-fold[open]>summary:before{content:"▾ "}.wizard-log-fold-body{margin-top:12px}.status-bar{color:var(--muted);font-size:.9rem;margin-top:8px}.logs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.log-pane{border:1px solid var(--border);border-radius:10px;background:#0c1117;min-height:280px;display:flex;flex-direction:column}.log-pane header{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:.85rem}.log-pane header>span:first-child{flex:1;min-width:0}.log-pane pre,.log-pane .log-md{margin:0;padding:10px;overflow:auto;flex:1;max-height:420px;word-break:break-word;font-family:var(--mono);font-size:.78rem;line-height:1.45}.log-pane pre{white-space:pre-wrap}.log-pane .log-md.md-body{font-family:var(--font);font-size:.82rem;background:#0c1117}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:.75em 0 .35em;line-height:1.3;color:var(--text)}.md-body h1{font-size:1.15rem}.md-body h2{font-size:1.05rem}.md-body h3{font-size:.95rem}.md-body p{margin:.4em 0}.md-body ul,.md-body ol{margin:.4em 0;padding-left:1.3em}.md-body li{margin:.15em 0}.md-body code{font-family:var(--mono);font-size:.85em;background:#152033;padding:.1em .35em;border-radius:4px}.md-body pre{margin:.5em 0;padding:8px 10px;overflow:auto;background:#080c12;border:1px solid var(--border);border-radius:8px;font-family:var(--mono);font-size:.75rem;white-space:pre-wrap}.md-body pre code{background:transparent;padding:0}.md-body table{width:100%;border-collapse:collapse;margin:.5em 0;font-size:.8rem}.md-body th,.md-body td{border:1px solid var(--border);padding:4px 6px;text-align:left;vertical-align:top}.md-body blockquote{margin:.5em 0;padding:.2em .8em;border-left:3px solid var(--accent);color:var(--muted)}.md-body a{color:var(--accent)}.md-body hr{border:none;border-top:1px solid var(--border);margin:.8em 0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:var(--panel);border:1px solid var(--border)}.badge.success{color:var(--ok)}.badge.failed,.badge.error{color:var(--err)}.badge.running,.badge.copying{color:var(--warn)}.badge.cancelled{color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid var(--border);text-align:left;padding:8px 6px;font-size:.9rem;vertical-align:top}.muted{color:var(--muted)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:10px}.app-tabs{display:flex;gap:8px;flex-wrap:wrap}.app-tab{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit}.app-tab.active{background:var(--accent);border-color:transparent;color:#fff}.preset-toolbar{margin:10px 0}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:280px;overflow:auto;padding:4px;border:1px solid var(--border);border-radius:10px;background:#0c1117}.preset-card{text-align:left;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;padding:10px;cursor:pointer;font:inherit}.preset-card:hover{border-color:var(--accent)}.preset-card.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#152033}.preset-name{font-weight:600;font-size:.9rem}.preset-meta{margin-top:4px;color:var(--muted);font-size:.75rem}.json-editor{min-height:220px;font-family:var(--mono);font-size:.8rem}.cc-form h2{margin-bottom:8px}.result-summary .subhead{margin:14px 0 8px;font-size:.95rem;font-weight:600}.run-dir-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.run-dir-path,#copy-run-id{font-family:var(--mono);font-size:.8rem;word-break:break-all}.artifact-tabs-wrap{margin-top:4px}.artifact-tabs{display:flex;flex-wrap:wrap;gap:4px 2px;border-bottom:1px solid var(--border);margin-bottom:10px}.artifact-tab{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 12px;color:var(--muted);font:inherit;font-size:.85rem;cursor:pointer}.artifact-tab:hover{color:var(--text)}.artifact-tab.active{color:#8ebfff;font-weight:600;border-bottom-color:var(--accent)}.artifact-tab-count{min-width:1.25rem;padding:0 5px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);font-size:.72rem;font-weight:600;line-height:1.4;text-align:center;color:var(--muted)}.artifact-tab.active .artifact-tab-count{background:#3d8bfd2e;border-color:#3d8bfd73;color:#8ebfff}.artifact-tab-panel{max-height:180px;overflow:auto}.artifact-list{margin:0;padding-left:18px;font-family:var(--mono);font-size:.8rem;line-height:1.55;list-style:disc}.artifact-list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.artifact-name{color:var(--text)}.artifact-dl{margin-left:0;padding:2px 8px;font-size:.75rem}.artifact-empty{margin:4px 0 0;font-size:.85rem}.instruction-box{margin:0 0 10px;padding:10px;background:#0c1117;border:1px solid var(--border);border-radius:8px;white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:.85rem;max-height:160px;overflow:auto}.badge.idle,.badge.pending,.badge.unknown,.badge.preparing,.badge.skipped{color:var(--muted)}.badge.awaiting_retry{color:var(--warn)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:#080c12b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{width:min(520px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px 22px;box-shadow:0 18px 48px #00000073}.modal-card h2{margin:0 0 14px;font-size:1.15rem}.modal-section{margin-top:12px}.modal-list{margin:6px 0 0;padding-left:18px;line-height:1.55}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.logs-4{grid-template-columns:repeat(2,1fr)}.sidebar-brand{padding:14px 12px 6px;font-weight:650;letter-spacing:.02em;font-size:.95rem}.history-sidebar{height:100vh;max-height:100vh}.sidebar-scroll{min-height:0}.sidebar-account{position:relative;border-top:1px solid var(--border);padding:8px;flex-shrink:0;background:#0c1117}.account-bar{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--text);padding:8px;border-radius:8px;cursor:pointer;font:inherit;text-align:left}.account-bar:hover{background:var(--panel-2)}.account-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.account-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-more{color:var(--muted);letter-spacing:1px}.account-menu{position:absolute;left:8px;right:8px;bottom:calc(100% + 6px);background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #0006;padding:6px;z-index:20}.account-menu-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--text);padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit}.account-menu-item:hover{background:var(--panel-2)}.page-root-desk{padding:16px 18px 28px;max-width:1100px}.file-pick-row{display:flex;flex-wrap:wrap;gap:8px}.file-pick-btn{display:inline-flex;align-items:center;cursor:pointer;margin:0}.file-pick-btn input{display:none}.upload-limit-hint{margin:8px 0 0;font-size:.8rem;line-height:1.45}.upload-file-list{list-style:none;margin:8px 0 0;padding:0;max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:6px;background:var(--panel)}.upload-file-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--border);font-size:.85rem}.upload-file-row:last-child{border-bottom:none}.upload-file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{white-space:nowrap;font-variant-numeric:tabular-nums}.upload-file-del{padding:2px 8px;font-size:.8rem}.file-pick-btn.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.upload-progress{margin:10px 0 0}.upload-progress-text{margin:0 0 6px;font-size:.85rem}.upload-progress-track{height:8px;border-radius:999px;background:var(--panel);border:1px solid var(--border);overflow:hidden}.upload-progress-fill{height:100%;width:0;background:var(--accent);border-radius:inherit;transition:width .12s linear}.instruction-preset-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:8px}.instruction-preset-item{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--text);font-size:.9rem;-webkit-user-select:none;user-select:none}.instruction-preset-item input{position:absolute;opacity:0;pointer-events:none}.instruction-preset-dot{width:14px;height:14px;border-radius:50%;border:2px solid #5a6b7d;background:transparent;flex-shrink:0;box-sizing:border-box}.instruction-preset-item:has(input:checked) .instruction-preset-dot{border-color:var(--accent);background:radial-gradient(circle at center,var(--accent) 0 45%,transparent 48%)}.instruction-preset-item:has(input:checked) .instruction-preset-label{color:#8ebfff;font-weight:600}.instruction-preset-custom .instruction-preset-label{color:var(--muted)}.instruction-preset-custom:has(input:checked) .instruction-preset-label{color:#8ebfff}.instruction-custom-wrap{margin-top:12px}.instruction-custom-wrap.hidden{display:none}.instruction-settings-head{margin-bottom:12px}.instruction-settings-head h2{margin:0}.instruction-master{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;min-height:min(62vh,560px);align-items:stretch}.instruction-list-pane{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:8px;min-height:0}.instruction-list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px}.instruction-list-empty{margin:12px 8px;font-size:.85rem}.instruction-list-item{border:none;background:transparent;color:var(--text);text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:.9rem;cursor:pointer;width:100%}.instruction-list-item:hover{background:#1a2330}.instruction-list-item.is-active{background:color-mix(in srgb,var(--accent) 18%,transparent);color:#8ebfff;font-weight:600}.instruction-list-pane>#btn-preset-add{width:100%}.instruction-editor{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.instruction-editor-empty{align-items:flex-start;justify-content:center}.instruction-editor-title{margin:0;font-size:1rem}.instruction-editor-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.instruction-prompt-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1;min-height:0}.instruction-prompt-col{display:flex;flex-direction:column;min-height:0}.instruction-prompt-hint{font-size:.78rem;margin:4px 0 6px}.instruction-prompt-col textarea{flex:1;min-height:220px;font-family:var(--mono);font-size:.85rem;resize:vertical}.instruction-basis-tip{margin:0;font-size:.8rem}.instruction-basis-tip code{font-size:.85em}.instruction-editor-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}@media(max-width:900px){.instruction-master{grid-template-columns:1fr;min-height:0}.instruction-editor-meta,.instruction-prompt-pair{grid-template-columns:1fr}.instruction-prompt-col textarea{min-height:140px}}.settings-modal-card{width:min(1100px,96vw);max-height:90vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.settings-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.settings-modal-head h2{margin:0;font-size:1.1rem}.settings-modal-body{display:flex;min-height:0;flex:1;overflow:hidden}.settings-nav{width:160px;flex-shrink:0;border-right:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:4px;background:#0c1117}.settings-nav-item{border:none;background:transparent;color:var(--text);text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer;font:inherit}.settings-nav-item:hover,.settings-nav-item.active{background:var(--panel-2)}.settings-pane{flex:1;overflow:auto;padding:14px 16px 20px;min-height:420px}.fs-tabs{display:flex;gap:8px;margin-bottom:10px}.fs-tab{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:6px 12px;border-radius:8px;cursor:pointer;font:inherit}.fs-tab.active{border-color:var(--accent);color:var(--accent)}.fs-recent-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.fs-item.is-dead{opacity:.45;cursor:not-allowed}.user-bar{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:min(400px,100%)}.fs-browser-card{width:min(720px,100%);max-height:88vh;display:flex;flex-direction:column}.fs-path{font-family:var(--mono);font-size:.8rem;word-break:break-all;margin-bottom:8px}.fs-list{flex:1;overflow:auto;border:1px solid var(--border);border-radius:8px;background:#0c1117;min-height:240px;max-height:50vh}.fs-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);cursor:pointer;font:inherit}.fs-item:hover,.fs-item.selected{background:var(--panel-2)}.fs-size{margin-left:auto;font-size:.75rem}@media(min-width:1200px){.logs-4{grid-template-columns:repeat(4,1fr)}}@media(max-width:980px){.grid-2,.agents-row,.logs,.form-row{grid-template-columns:1fr}}
