:root{--font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: #0b0f17;--bg-2: #0e1420;--surface: #131a27;--surface-2: #18212f;--border: #1e2735;--border-strong: #2b3849;--text: #e7ecf4;--text-2: #97a3b6;--muted: #626d7e;--accent: #7c8cff;--accent-2: #9a7cff;--accent-soft: rgba(124, 140, 255, .13);--accent-ink: #b9c3ff;--on-accent: #0a0e1a;--pass: #46d07f;--pass-soft: rgba(70, 208, 127, .13);--warn: #e2b143;--warn-soft: rgba(226, 177, 67, .14);--crit: #ff7a70;--crit-soft: rgba(255, 122, 112, .14);--ring: 0 0 0 3px var(--accent-soft);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 10px 30px -14px rgba(0, 0, 0, .6);--shadow-lg: 0 24px 60px -24px rgba(0, 0, 0, .75);--glow: radial-gradient(900px 420px at 80% -8%, rgba(124, 140, 255, .1), transparent 60%);--r-sm: 7px;--r: 11px;--r-lg: 16px;color-scheme:dark}:root[data-theme=light]{--bg: #f8fafd;--bg-2: #f1f4fa;--surface: #ffffff;--surface-2: #f5f7fc;--border: #e7ebf3;--border-strong: #d5dbe8;--text: #0f1626;--text-2: #55627a;--muted: #8a93a6;--accent: #5b6ef5;--accent-2: #7c5cf6;--accent-soft: rgba(91, 110, 245, .1);--accent-ink: #3a45c8;--on-accent: #ffffff;--pass: #12924a;--pass-soft: rgba(18, 146, 74, .11);--warn: #a5680b;--warn-soft: rgba(165, 104, 11, .12);--crit: #d63a30;--crit-soft: rgba(214, 58, 48, .1);--shadow-sm: 0 1px 2px rgba(20, 30, 55, .05);--shadow: 0 12px 34px -18px rgba(30, 45, 80, .28);--shadow-lg: 0 30px 70px -30px rgba(30, 45, 80, .4);--glow: radial-gradient(900px 420px at 80% -8%, rgba(91, 110, 245, .1), transparent 60%);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:13.5px;line-height:1.55;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:padding-box}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.mono,code{font-family:var(--font-mono)}.app-root{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.app-root:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--glow);pointer-events:none;z-index:0}.content,.topbar{position:relative;z-index:1}.topbar{height:52px;flex:0 0 52px;display:flex;align-items:center;gap:12px;padding:0 18px;background:color-mix(in srgb,var(--bg-2) 85%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.wordmark{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;letter-spacing:-.02em}.wordmark:before{content:"";width:20px;height:20px;border-radius:6px;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:0 2px 10px -2px var(--accent)}.wordmark .em{color:var(--accent)}.proj-select{font-family:var(--font-sans);font-size:12.5px;font-weight:500;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 10px;max-width:220px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.proj-select:hover{border-color:var(--border-strong)}.proj-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.topnav{display:flex;gap:2px;margin-left:4px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px}.topnav button{font-size:12px;font-weight:500;color:var(--text-2);background:transparent;border:none;border-radius:6px;padding:5px 12px;cursor:pointer;transition:color .15s,background .15s}.topnav button:hover{color:var(--text)}.topnav button.on{color:var(--on-accent);background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:var(--shadow-sm)}.topbar .spacer{margin-left:auto}.chip{font-size:11px;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);background:var(--surface);white-space:nowrap}.chip .dot{color:var(--muted);font-size:8px;vertical-align:1px}.chip.on{color:var(--pass);border-color:color-mix(in srgb,var(--pass) 35%,var(--border));background:var(--pass-soft)}.chip.on .dot{color:var(--pass)}.icon-btn{font-size:11.5px;font-weight:500;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 11px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.icon-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.content{flex:1;min-height:0;overflow:hidden}.panes{height:100%;display:grid;grid-template-columns:328px minmax(0,1fr) 372px;transition:grid-template-columns .25s ease}.panes.explain-collapsed{grid-template-columns:328px minmax(0,1fr) 46px}.panes.left-collapsed{grid-template-columns:46px minmax(0,1fr) 372px}.panes.left-collapsed.explain-collapsed{grid-template-columns:46px minmax(0,1fr) 46px}.pane-rail.left{display:none;border-left:none;border-right:1px solid var(--border)}.panes.left-collapsed .pane-left{display:none}.panes.left-collapsed .pane-rail.left{display:flex}.pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.pane{min-height:0;overflow-y:auto}.pane-left{border-right:1px solid var(--border);padding:20px 18px}.pane-main{padding:22px 26px}.pane-right{border-left:1px solid var(--border);padding:22px 20px;background:color-mix(in srgb,var(--bg-2) 60%,transparent)}.pane-rail{border-left:1px solid var(--border);background:color-mix(in srgb,var(--bg-2) 60%,transparent);display:flex;justify-content:center;padding-top:18px;overflow:hidden}.rail-btn{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 7px;cursor:pointer;transition:all .15s}.rail-btn:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.explain-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.explain-head h3{margin:0}.collapse-btn{flex:0 0 auto;width:28px;height:28px;font-size:15px;line-height:1;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.collapse-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.label{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}.field{margin-bottom:22px}.seg{display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;gap:3px}.seg button{flex:1;font-size:11.5px;font-weight:600;padding:6px 0;cursor:pointer;color:var(--text-2);background:transparent;border:none;border-radius:6px;transition:color .15s,background .15s,box-shadow .15s}.seg button:hover{color:var(--text)}.seg button.on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-sm)}textarea,input.inp{width:100%;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:12.5px;transition:border-color .15s,box-shadow .15s}input.inp{font-family:var(--font-mono)}textarea{min-height:92px;resize:vertical;line-height:1.5;font-family:var(--font-sans)}textarea::placeholder,input.inp::placeholder{color:var(--muted)}textarea:focus,input.inp:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.grid-gap{display:grid;gap:7px;margin-top:9px}.presets{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.presets button{font-size:11px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:5px 10px;cursor:pointer;text-align:left;transition:all .15s}.presets button:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.checkrow{display:flex;gap:9px;align-items:flex-start;margin:6px 0 18px;cursor:pointer;color:var(--text-2);font-size:12px;line-height:1.45}.checkrow input{margin-top:2px;accent-color:var(--accent);width:15px;height:15px}.ghost-btn{font-size:11.5px;font-weight:600;color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--r-sm);padding:7px 12px;cursor:pointer;transition:all .15s}.ghost-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,transparent)}.ghost-btn:disabled{opacity:.45;cursor:default}.jira-preview{font-size:12px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:10px 12px;white-space:pre-wrap;max-height:130px;overflow:auto}.run-btn{width:100%;font-size:13px;font-weight:700;color:#fff;letter-spacing:.01em;background:linear-gradient(140deg,var(--accent),var(--accent-2));border:none;border-radius:10px;padding:11px 0;cursor:pointer;box-shadow:0 8px 22px -10px var(--accent);transition:transform .12s,box-shadow .15s,filter .15s}.run-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 12px 28px -10px var(--accent)}.run-btn:active:not(:disabled){transform:translateY(0)}.run-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.run-line{font-size:11px;color:var(--text-2);text-align:center;margin-top:9px;min-height:14px;font-family:var(--font-mono)}.stat{margin-top:18px}.stat .k{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.stat .big{font-size:26px;font-weight:800;color:var(--text);margin-top:2px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.bar{height:7px;border-radius:999px;background:var(--surface-2);margin-top:7px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .5s ease}.result-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px}.result-toolbar .verify-banner{margin-bottom:0}.run-btn.exec{width:auto;padding:8px 16px;font-size:12px}.verify-banner{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-size:12px;font-weight:500;padding:10px 13px;border-radius:10px;border:1px solid var(--border)}.verify-banner .vdot{font-size:9px}.verify-banner.ok{color:var(--pass);background:var(--pass-soft);border-color:color-mix(in srgb,var(--pass) 30%,transparent)}.verify-banner.fail{color:var(--crit);background:var(--crit-soft);border-color:color-mix(in srgb,var(--crit) 30%,transparent)}.verify-banner.skip{color:var(--text-2);background:var(--surface-2)}.tabs{display:flex;gap:4px;margin-bottom:18px;border-bottom:1px solid var(--border)}.tab{font-size:12.5px;font-weight:600;color:var(--text-2);padding:9px 13px;border:none;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:color .15s,border-color .15s}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--accent)}.tab .n{font-size:10px;margin-left:6px;color:var(--muted);font-family:var(--font-mono)}.intent-bar{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.tag{font-size:11px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);padding:5px 10px;border-radius:999px}.tag b{color:var(--text);font-weight:700}.tag-legend{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.tag-legend .tl{display:flex;align-items:flex-start;gap:10px}.tag-legend .tl .pill{flex:0 0 auto;margin-top:1px;text-transform:none}.tag-legend .tl .txt{font-size:12px;color:var(--text-2);line-height:1.5}.tag-legend .tl .txt b{color:var(--text);font-weight:700}.tag-legend .tl .txt i{color:var(--muted);font-style:italic}.row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:13px 14px;border:1px solid transparent;border-radius:10px;transition:background .15s,border-color .15s}.row:hover{background:var(--surface);border-color:var(--border)}.row+.row{margin-top:2px}.row .file{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.row .why{font-size:12px;color:var(--text-2);margin-top:3px}.score{font-family:var(--font-mono);font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums}.meter{width:66px;height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter>i{display:block;height:100%;border-radius:999px}.pill{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill.new,.pill.create{color:var(--pass);background:var(--pass-soft)}.pill.update{color:var(--warn);background:var(--warn-soft)}.pill.gap{color:var(--crit);background:var(--crit-soft)}.pill.skip{color:var(--muted);background:var(--surface-2)}.card{border:1px solid var(--border);border-radius:12px;padding:15px 17px;margin-bottom:12px;background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .15s}.card:hover{border-color:var(--border-strong)}.card .head{display:flex;align-items:center;gap:10px}.card .file{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.card .target{font-family:var(--font-mono);font-size:11px;color:var(--accent-ink)}.card .reason{font-size:12.5px;color:var(--text-2);margin:8px 0 11px;line-height:1.5}.card ul{margin:0;padding-left:18px}.card li{font-size:12.5px;color:var(--text);padding:3px 0}.card li.gwt{font-family:var(--font-mono);color:var(--text-2);font-size:12px}.cov-line{margin:16px 0;max-width:540px}.cov-line .k{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.11em}.cov-line .v{float:right;color:var(--text);font-family:var(--font-mono);font-weight:600}.empty,.loading,.error{color:var(--text-2);font-size:13px;padding:44px 8px;text-align:center}.loading{font-family:var(--font-mono);color:var(--muted)}.error{color:var(--crit)}.placeholder{min-height:320px;display:grid;place-items:center}.footnote{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:11px;color:var(--muted)}.explain h3{font-size:15px;font-weight:800;color:var(--text);margin:0 0 8px;letter-spacing:-.01em}.explain .lead{font-size:13px;font-weight:600;color:var(--accent-ink);margin:0 0 12px;line-height:1.5}.explain .blurb{font-size:12.5px;color:var(--text-2);line-height:1.65;margin:0 0 16px}.explain .legend{display:grid;gap:9px;margin:0 0 16px}.explain .legend .item{display:flex;gap:9px;align-items:baseline;font-size:12px;color:var(--text-2);line-height:1.45}.explain .legend .pill{flex:0 0 auto}.explain .k{font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.explain ul{margin:0;padding-left:17px}.explain li{font-size:12px;color:var(--text-2);padding:3px 0;line-height:1.45}.explain code{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:11.5px;color:var(--accent-ink)}.history,.tests-wrap{padding:22px 26px;height:100%;overflow:auto}table.runs,table.tests{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}table.runs th,table.tests th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}table.runs td,table.tests td{padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:top}table.runs tbody tr:last-child td,table.tests tbody tr:last-child td{border-bottom:none}table.runs tbody tr{cursor:pointer;transition:background .12s}table.runs tbody tr:hover,table.tests tbody tr:hover{background:var(--surface-2)}table.runs .req{color:var(--text);max-width:440px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:3px 10px;border-radius:999px}.status.succeeded{color:var(--pass);background:var(--pass-soft)}.status.failed{color:var(--crit);background:var(--crit-soft)}.status.running,.status.queued{color:var(--warn);background:var(--warn-soft)}.new-project{border:1px solid var(--border);border-radius:14px;padding:20px;background:var(--surface);box-shadow:var(--shadow-sm);max-width:560px;margin-bottom:20px}.new-project h3{margin:0 0 14px;font-size:15px;font-weight:800;letter-spacing:-.01em}.proj-list{display:grid;gap:9px;max-width:680px}.proj-card{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface);transition:border-color .15s,transform .12s}.proj-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.proj-card .pn{font-size:13.5px;color:var(--text);font-weight:700}.proj-card .ps{font-family:var(--font-mono);font-size:11.5px;color:var(--text-2);margin-top:2px}.proj-card .spacer{margin-left:auto}.src-readonly{font-size:12.5px;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px;word-break:break-all;line-height:1.5}.src-readonly b{color:var(--text);font-family:var(--font-sans)}.badge{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:middle}.danger-btn{font-size:11.5px;font-weight:600;color:var(--crit);background:var(--crit-soft);border:1px solid color-mix(in srgb,var(--crit) 30%,transparent);border-radius:var(--r-sm);padding:7px 12px;cursor:pointer;transition:all .15s}.danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--crit) 18%,transparent)}.danger-btn.solid{color:#fff;background:var(--crit);border-color:var(--crit)}.danger-btn.solid:hover:not(:disabled){filter:brightness(1.08)}.danger-btn:disabled{opacity:.5;cursor:default}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#060a128c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px;animation:fade .15s ease both}.modal{width:460px;max-width:100%;max-height:88vh;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow-lg);animation:rise .2s cubic-bezier(.2,.7,.2,1) both}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:15px;font-weight:800;letter-spacing:-.01em}.modal-body{padding:18px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border);align-items:center}.modal-head h3{font-family:var(--font-mono);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.clickable,.card.clickable{cursor:pointer}.card .view-diff{margin-left:auto;font-size:11px;color:var(--accent-ink);opacity:0;transition:opacity .15s}.card.clickable:hover .view-diff{opacity:1}.diff-stat{font-family:var(--font-mono);font-size:12px}.diff-stat .add{color:var(--pass)}.diff-stat .del{color:var(--crit)}.diff{font-family:var(--font-mono);font-size:12px;line-height:1.55;border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:62vh}.dl{display:flex;white-space:pre}.dl .sign{flex:0 0 22px;text-align:center;color:var(--muted);-webkit-user-select:none;user-select:none}.dl .code{flex:1;padding-right:12px}.dl.ctx{color:var(--text-2)}.dl.add{background:var(--pass-soft)}.dl.add .sign{color:var(--pass)}.dl.add .code{color:var(--text)}.dl.del{background:var(--crit-soft)}.dl.del .sign{color:var(--crit)}.dl.del .code{color:var(--text)}.gen-progress{margin-top:16px}.gen-progress-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--text-2);margin-bottom:7px}.gen-progress-count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.gen-progress-bar{height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden}.gen-progress-bar>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .3s ease}.gen-progress-file{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gen-summary{font-size:12.5px;color:var(--text-2);line-height:1.6;margin:0 0 16px}.gen-summary b{color:var(--text);font-weight:700}.gen-file{margin-bottom:16px}.gen-file:last-child{margin-bottom:0}.gen-file-head{display:flex;align-items:center;gap:10px;margin-bottom:7px}.gen-file-head .file{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.gen-file-head .diff-stat{margin-left:auto}.gen-file .diff{max-height:300px}.tests-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{font-size:11.5px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 13px;cursor:pointer;transition:all .15s}.filter-btn:hover{color:var(--text);border-color:var(--border-strong)}.filter-btn.on{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent)}.filter-btn .c{color:var(--muted);margin-left:6px;font-family:var(--font-mono)}table.tests td:first-child{color:var(--text)}table.tests .tgt{font-family:var(--font-mono);color:var(--text-2);white-space:nowrap}.tstatus{display:inline-flex;gap:4px}.tstatus button{font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:7px;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);transition:all .12s}.tstatus button:hover{color:var(--text);border-color:var(--border-strong)}.tstatus button.on.accepted{color:var(--pass);background:var(--pass-soft);border-color:var(--pass)}.tstatus button.on.rejected{color:var(--crit);background:var(--crit-soft);border-color:var(--crit)}.tstatus button.on.done{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent)}.tstatus button.on.proposed{color:var(--warn);background:var(--warn-soft);border-color:var(--warn)}.login-wrap{height:100vh;display:grid;place-items:center;background:radial-gradient(1000px 500px at 50% -5%,var(--accent-soft),var(--bg) 62%)}.login{width:360px;background:var(--surface);border:1px solid var(--border-strong);border-radius:18px;padding:32px 28px;box-shadow:var(--shadow-lg);animation:rise .4s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login .brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.login .brand:before{content:"";width:26px;height:26px;border-radius:8px;background:linear-gradient(140deg,var(--accent),var(--accent-2));box-shadow:0 3px 14px -2px var(--accent)}.login .brand .em{color:var(--accent)}.login .sub{font-size:12.5px;color:var(--text-2);margin-bottom:22px}.login label{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:16px 0 7px}.login .run-btn{margin-top:24px}.login .err{color:var(--crit);font-size:12px;margin-top:12px;min-height:16px}.boot{height:100vh;display:grid;place-items:center;color:var(--muted);font-family:var(--font-mono);font-size:13px}.chat-sessions{display:flex;flex-direction:column}.chat-sessions .run-btn{flex:0 0 auto}.sess-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;overflow-y:auto}.sess-row{display:flex;align-items:center;border:1px solid transparent;border-radius:8px;transition:background .12s,border-color .12s}.sess-row:hover{background:var(--surface)}.sess-row.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.sess{flex:1;min-width:0;text-align:left;font-size:12.5px;color:var(--text-2);background:transparent;border:none;padding:9px 11px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s}.sess-row:hover .sess{color:var(--text)}.sess-row.on .sess{color:var(--accent-ink)}.sess-icon{flex:0 0 auto;opacity:0;width:24px;height:24px;display:grid;place-items:center;font-size:13px;line-height:1;color:var(--muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:opacity .12s,color .12s,background .12s}.sess-icon.sess-del{font-size:17px;margin-right:4px}.sess-row:hover .sess-icon{opacity:1}.sess-icon:hover{color:var(--text);background:var(--surface-2)}.sess-icon.sess-del:hover{color:var(--crit);background:var(--crit-soft)}.sess-rename{flex:1;min-width:0;margin:2px 4px;font-size:12.5px;color:var(--text);background:var(--bg-2);border:1px solid var(--accent);border-radius:6px;padding:7px 9px;outline:none}.muted-note{font-size:12px;color:var(--muted);padding:10px 2px}.chat-main{display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-thread{flex:1;overflow-y:auto;padding:24px 26px;display:flex;flex-direction:column;gap:20px}.chat-empty{margin:auto;max-width:460px;text-align:center;color:var(--text-2);font-size:13.5px;line-height:1.7}.chat-empty p{margin:0}.chat-empty-or{margin-top:22px!important;font-size:12px;color:var(--muted)}.chat-empty-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.empty-action{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:14px 15px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .15s,transform .12s,background .15s}.empty-action:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.empty-action .ea-icon{font-size:18px;color:var(--accent-ink);margin-bottom:4px}.empty-action .ea-title{font-size:13px;font-weight:700;color:var(--text)}.empty-action .ea-sub{font-size:11px;color:var(--text-2);line-height:1.4}@media (max-width: 620px){.chat-empty-actions{grid-template-columns:1fr}}.turn{display:flex;flex-direction:column;gap:10px;animation:fade .25s ease both}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.user .bubble{background:linear-gradient(140deg,var(--accent),var(--accent-2));color:#fff;border-radius:15px 15px 5px;padding:10px 15px;max-width:74%;font-size:13px;line-height:1.5;box-shadow:0 6px 18px -10px var(--accent)}.msg.assistant .bubble{background:var(--surface);border:1px solid var(--border);border-radius:15px 15px 15px 5px;padding:17px 19px;width:100%;box-shadow:var(--shadow-sm)}.msg.assistant .bubble .footnote{margin-top:14px}.composer{flex:0 0 auto;border-top:1px solid var(--border);padding:14px 22px 16px;background:color-mix(in srgb,var(--bg-2) 55%,transparent)}.composer textarea{min-height:54px}.composer-row{display:flex;align-items:center;gap:10px;margin-top:9px}.run-btn.send{width:auto;padding:9px 20px}.composer-icon{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 11px;cursor:pointer;transition:all .15s}.composer-icon:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.pane-main>*,.history,.tests-wrap{animation:fade .25s ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width: 1160px){.panes,.panes.explain-collapsed{grid-template-columns:320px minmax(0,1fr)}.panes.left-collapsed,.panes.left-collapsed.explain-collapsed{grid-template-columns:46px minmax(0,1fr)}.pane-right,.pane-rail:not(.left){display:none}}@media (max-width: 820px){.panes,.panes.left-collapsed,.panes.explain-collapsed,.panes.left-collapsed.explain-collapsed{grid-template-columns:1fr;grid-template-rows:auto 1fr}.pane-left,.pane-rail.left{border-right:none;border-bottom:1px solid var(--border)}.topnav{display:none}}
