:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--bg: #ffffff;--bg-subtle: #f6f8fa;--surface: #ffffff;--surface-hover: #f3f4f6;--surface-selected: #ddf4ff;--bg-translucent: rgba(255, 255, 255, .85);--row-alt: rgba(31, 35, 40, .03);--border: #d1d9e0;--border-strong: #afb8c1;--text: #1f2328;--text-muted: #59636e;--text-subtle: #6e7781;--accent: #0969da;--accent-hover: #0860ca;--accent-contrast: #ffffff;--accent-soft: #ddf4ff;--accent-border: #54aeff;--success-fg: #1a7f37;--danger: #cf222e;--danger-hover: #a40e26;--danger-contrast: #ffffff;--danger-soft: #ffebe9;--warning-fg: #9a6700;--code-bg: #f6f8fa;--overlay: rgba(31, 35, 40, .5);--shadow-xs: 0 1px 0 rgba(31, 35, 40, .04);--shadow-sm: 0 1px 3px rgba(31, 35, 40, .12);--radius: 6px;--radius-lg: 12px;--content-max: 1280px}[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--bg-subtle: #161b22;--surface: #161b22;--surface-hover: #212830;--surface-selected: #1f3a5f;--bg-translucent: rgba(13, 17, 23, .85);--row-alt: rgba(240, 246, 252, .04);--border: #30363d;--border-strong: #484f58;--text: #e6edf3;--text-muted: #9198a1;--text-subtle: #7d8590;--accent: #4493f8;--accent-hover: #58a6ff;--accent-contrast: #0d1117;--accent-soft: rgba(68, 147, 248, .15);--accent-border: rgba(84, 174, 255, .4);--success-fg: #3fb950;--danger: #f85149;--danger-hover: #da3633;--danger-contrast: #0d1117;--danger-soft: rgba(248, 81, 73, .15);--warning-fg: #d29922;--code-bg: #161b22;--overlay: rgba(1, 4, 9, .7);--shadow-xs: 0 1px 0 rgba(240, 246, 252, .04);--shadow-sm: 0 1px 3px rgba(1, 4, 9, .5)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:.9375rem;line-height:1.55;-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.25;font-weight:600}h1{font-size:1.5rem}p{margin:0 0 .6rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.share-link-hint code,.run-target-hint code{font-family:var(--font-mono);font-size:.85em}code{background:var(--code-bg);border-radius:4px;padding:.1em .35em}pre code{background:none;padding:0}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.main-panel{--panel-pad-x: clamp(1rem, 3vw, 2.5rem);flex:1;width:100%;max-width:var(--content-max);min-height:100vh;min-height:100dvh;margin:0 auto;padding:0 var(--panel-pad-x) calc(1.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.main-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 calc(-1 * var(--panel-pad-x));padding:.75rem var(--panel-pad-x);background:var(--bg-translucent);-webkit-backdrop-filter:saturate(180%) blur(8px);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border)}.main-header h1{margin:0;font-size:1.35rem}.main-header-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.main-header-actions a{padding:.35rem .6rem;border-radius:var(--radius);color:var(--text-muted);font-size:.9rem;white-space:nowrap}.main-header-actions a:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.model-caption{margin:.15rem 0 0;font-size:.85rem}.muted{color:var(--text-muted);font-size:.9rem}.error-text{color:var(--danger)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:1rem 1.15rem;box-shadow:var(--shadow-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-subtle);color:var(--text);padding:.4rem .85rem;font-size:.9rem;font-weight:500;line-height:1.4;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background-color .12s ease,border-color .12s ease,color .12s ease}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-subtle)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-contrast)}.btn.danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.tab{border:1px solid var(--border);background:var(--bg-subtle);color:var(--text);border-radius:var(--radius);padding:.45rem .8rem;font-size:.9rem}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.input,.textarea,.select{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg);color:var(--text);padding:.55rem .75rem;box-shadow:var(--shadow-xs);transition:border-color .12s ease,box-shadow .12s ease}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.textarea{min-height:110px;resize:vertical}.chip{border:1px solid var(--border-strong);background:var(--bg-subtle);color:var(--text);border-radius:999px;padding:.3rem .8rem;font-size:.875rem;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.chip:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.chip:disabled{opacity:.55;cursor:not-allowed}.expander{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);margin-top:.75rem;overflow:hidden}.expander summary{cursor:pointer;padding:.6rem .85rem;font-weight:600;font-size:.9rem}.expander summary:hover{background:var(--surface-hover)}.expander-body{padding:0 .85rem .85rem}.tree details{margin:.15rem 0}.tree summary{cursor:pointer}.tree summary.tree-contract-selected{color:var(--accent);font-weight:600}.toast{position:fixed;right:1rem;bottom:1rem;z-index:40;max-width:min(28rem,calc(100vw - 2rem));background:var(--surface);border:1px solid var(--danger);border-left-width:4px;color:var(--text);padding:.75rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow-sm);animation:toast-in .18s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:1rem;z-index:50}.dialog{width:min(480px,92vw)}.theme-toggle-icon{font-size:1rem;line-height:1}.login-page .theme-toggle,.share-report>.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:30}.chat-thread{flex:1 1 auto;display:flex;flex-direction:column;gap:.85rem;min-height:18rem;overflow-y:auto;overscroll-behavior:contain;padding:.25rem .15rem .75rem}.chat-empty{margin:1.5rem 0;max-width:46rem}.chat-msg{max-width:100%}.chat-msg-user{align-self:flex-end;max-width:min(78%,46rem)}.chat-msg-assistant{align-self:flex-start;width:100%}.chat-msg-role{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.chat-msg-user .chat-msg-role{text-align:right}.chat-msg-body{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:.8rem 1rem;box-shadow:var(--shadow-xs)}.chat-msg-user .chat-msg-body{background:var(--accent-soft);border-color:var(--accent-border)}.chat-msg-text{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.share-link-hint{min-width:0;overflow-wrap:anywhere}.run-target-hint{margin:.35rem 0 .75rem}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:end}.chat-composer .btn{min-height:2.6rem;padding:0 1.4rem}.chat-input{min-height:88px;margin:0}.chat-stop-btn{margin-top:.75rem}.filter-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.clarify-card{margin-top:.5rem}.clarify-total{margin:0 0 .35rem}.chat-scenario-block{margin-top:.75rem}.chat-run{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-subtle);padding:.6rem .75rem .7rem}.chat-run.is-running{border-color:var(--accent-border)}.agent-steps{display:flex;flex-direction:column;gap:.05rem}.agent-step{border-radius:var(--radius)}.agent-step-head{display:flex;align-items:baseline;gap:.5rem;width:100%;padding:.3rem .35rem;border:0;border-radius:var(--radius);background:none;color:var(--text);text-align:left;font-size:.9rem;line-height:1.45}.agent-step-head:disabled{cursor:default;opacity:1}.agent-step-head:not(:disabled):hover{background:var(--surface-hover)}.agent-step-title{font-weight:500}.agent-step-detail{color:var(--text-muted);font-size:.82rem;overflow-wrap:anywhere}.agent-step-state{margin-left:auto;flex-shrink:0;color:var(--text-subtle);font-size:.72rem;letter-spacing:.01em}.agent-step-caret{flex-shrink:0;color:var(--text-subtle);font-size:.7rem}.agent-step-mark{flex:0 0 14px;width:14px;height:14px;align-self:center}.agent-step-mark.done{stroke:var(--success-fg)}.agent-step-mark.error{stroke:var(--danger)}.agent-step-mark.running{width:10px;height:10px;margin:0 2px;border:2px solid var(--accent);border-right-color:transparent;border-radius:50%;animation:step-spin .7s linear infinite}@keyframes step-spin{to{transform:rotate(360deg)}}.agent-step.running .agent-step-title:after{content:"…";color:var(--text-muted)}.agent-step.error .agent-step-title{color:var(--danger)}.agent-step-body{margin:.1rem 0 .4rem 1.35rem;padding:.4rem .55rem;border-left:2px solid var(--border);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;font-size:.8rem}.agent-step-row{display:grid;grid-template-columns:minmax(5rem,auto) 1fr;gap:.5rem;padding:.1rem 0}.agent-step-key{color:var(--text-subtle)}.agent-step-value{color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.run-elapsed{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;color:var(--text-muted);font-size:.82rem}.run-pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:run-pulse 1.4s ease-in-out infinite}@keyframes run-pulse{0%,to{opacity:.25}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.agent-step-mark.running,.run-pulse{animation:none}}.live-preview{margin:.6rem 0 .4rem;padding-top:.6rem;border-top:1px dashed var(--border-strong);max-height:220px;overflow:auto}.live-preview-label{margin:0 0 .35rem;font-size:.8rem}.live-log{margin:.5rem 0 0;max-height:200px;overflow:auto;font-size:.78rem;line-height:1.35;white-space:pre-wrap;word-break:break-word;color:var(--text-muted);background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .7rem}.share-report{display:flex;flex-direction:column;gap:1rem}.row{display:flex;gap:.75rem;align-items:end}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(430px,100%)}.login-card h1{font-size:1.35rem}.login-card label{display:block}.login-card .btn.primary{width:100%}.login-card .btn:not(.primary){width:auto}.login-card .btn+.btn{margin-top:.5rem}.login-card>label+label{margin-top:.75rem}.markdown-body pre{overflow:auto;background:var(--code-bg);border:1px solid var(--border);padding:.75rem;border-radius:var(--radius)}.markdown-body table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:.35rem .55rem;vertical-align:top}.markdown-body th{background:var(--bg-subtle);text-align:left}.markdown-body blockquote{margin:.6rem 0;padding:.1rem .9rem;border-left:3px solid var(--border-strong);color:var(--text-muted)}.scenario-report h2{margin-top:0;font-size:1.15rem}.scenario-report table{margin-top:.75rem;font-size:.92rem}.scenario-report th{background:var(--bg-subtle);text-align:left}.scenario-report tr:nth-child(2n) td{background:var(--row-alt)}.ter-report-title{margin:0 0 .5rem;font-size:1.15rem}.ter-report-summary{margin:0 0 .75rem;color:var(--text-muted)}.ter-report-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.ter-report-table{width:100%;border-collapse:collapse;font-size:.9rem}.ter-report-table th,.ter-report-table td{border-bottom:1px solid var(--border);padding:.5rem .65rem;vertical-align:top;text-align:left}.ter-report-table th{background:var(--bg-subtle);position:sticky;top:0;z-index:1}.ter-report-table tbody tr:nth-child(2n) td{background:var(--row-alt)}.ter-report-table tbody tr:hover td{background:var(--surface-selected)}.ter-col-index{width:3rem;white-space:nowrap}.ter-col-code{width:12rem;white-space:nowrap}.ter-col-status{width:9rem;white-space:nowrap}.ter-col-details{min-width:16rem;line-height:1.4}.ter-status-ok{color:var(--success-fg)}.ter-status-mismatch{color:var(--danger)}.ter-status-missing{color:var(--warning-fg)}.tasks-table-wrap{overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse;font-size:.9rem}.tasks-table th,.tasks-table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}.tasks-table th{background:var(--bg-subtle);font-weight:600}.tasks-table tbody tr{cursor:pointer}.tasks-table tbody tr:hover td{background:var(--surface-hover)}.tasks-table tr.selected td{background:var(--surface-selected)}@media(max-width:1100px){:root{--content-max: 100%}.chat-msg-user{max-width:min(85%,40rem)}}@media(max-width:768px){body{font-size:.9375rem}.main-header{flex-direction:column;align-items:stretch;gap:.5rem}.main-header-actions{justify-content:flex-start}.main-header-actions .btn{flex:1 1 auto}.theme-toggle-text{display:none}.chat-msg-user{max-width:92%}.chat-thread{min-height:14rem}.chat-composer{grid-template-columns:1fr}.chat-composer .btn{width:100%}.toast{left:1rem;right:1rem;max-width:none}.agent-step-body{max-height:240px;overflow:auto}.agent-step-row{grid-template-columns:1fr;gap:0}.agent-step-key{font-size:.72rem}.ter-col-details{min-width:12rem}}@media(max-width:480px){.main-panel{gap:.75rem}.agent-step-head{flex-wrap:wrap;row-gap:.1rem}.agent-step-state{display:none}.agent-step-detail{flex:1 1 100%;order:3}.card{padding:.85rem .9rem}.chat-msg-user{max-width:100%}.login-page{padding:1rem}.tasks-table th,.tasks-table td{padding:.45rem .5rem}}.help-intro p{margin:0 0 .75rem}.help-intro p:last-child{margin-bottom:0}.help-group{margin-top:1rem}.help-group-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.help-group-head h2{margin:0 0 .35rem;font-size:1.05rem}.help-trigger{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.help-examples{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.help-example{width:100%;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);color:inherit;font:inherit;padding:.45rem .6rem;cursor:pointer}.help-example:hover{border-color:var(--border-strong);background:var(--surface)}.help-example:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
