:root{--bg: #0e1116;--panel: #161b22;--panel-2: #1c2330;--border: #2a3342;--text: #dbe2ec;--muted: #8b98a9;--accent: #4f8ff7;--ok: #3fb96f;--warn: #e0a63c;--bad: #e05c5c;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{display:flex;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.sidebar{width:220px;flex-shrink:0;border-right:1px solid var(--border);padding:1.2rem .9rem;position:sticky;top:0;height:100vh}.sidebar .brand{font-weight:700;letter-spacing:.02em;margin-bottom:1.4rem;padding:0 .5rem}.sidebar .brand span{color:var(--accent)}.sidebar nav a{display:block;padding:.5rem .6rem;border-radius:7px;color:var(--muted);margin-bottom:2px}.sidebar nav a:hover{background:var(--panel);text-decoration:none;color:var(--text)}.sidebar nav a.active{background:var(--panel-2);color:var(--text)}.sidebar .foot{position:absolute;bottom:1rem;font-size:.75rem;color:var(--muted);padding:0 .5rem}.main{flex:1;padding:1.6rem 2rem 4rem;max-width:1200px}h1{font-size:1.35rem;margin:0 0 .3rem}h2{font-size:1.02rem;margin:1.8rem 0 .7rem}.sub{color:var(--muted);font-size:.87rem;margin-bottom:1.4rem}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1rem 1.2rem;margin-bottom:.9rem}.card.clickable{cursor:pointer}.card.clickable:hover{border-color:var(--accent)}table{width:100%;border-collapse:collapse;font-size:.88rem}th{text-align:left;color:var(--muted);font-weight:500;padding:.4rem .6rem;border-bottom:1px solid var(--border)}td{padding:.45rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:none}label{display:block;font-size:.8rem;color:var(--muted);margin:.7rem 0 .25rem}input,select,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:.5rem .6rem;font:inherit}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:.5rem .95rem;font:inherit;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:disabled{opacity:.5;cursor:default}.row{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap}.row>*{flex:1;min-width:140px}.row>.fit{flex:0;min-width:unset}.badge{display:inline-block;font-size:.72rem;padding:.12rem .5rem;border-radius:20px;border:1px solid var(--border);color:var(--muted);white-space:nowrap}.badge.completed{color:var(--ok);border-color:var(--ok)}.badge.aborted{color:var(--warn);border-color:var(--warn)}.badge.error,.badge.max_actions{color:var(--bad);border-color:var(--bad)}.badge.running{color:var(--accent);border-color:var(--accent)}.badge.queued{color:var(--muted)}.badge.done{color:var(--ok);border-color:var(--ok)}.badge.amber{color:var(--warn);border-color:var(--warn)}.funnel-row{display:grid;grid-template-columns:110px 1fr auto auto;gap:.7rem;align-items:center;margin-bottom:.45rem;font-size:.85rem}.funnel-bar{height:18px;background:var(--panel-2);border-radius:4px;overflow:hidden}.funnel-bar>div{height:100%;background:var(--accent)}.frustration{display:inline-block;min-width:1.7em;text-align:center;font-size:.75rem;padding:.08rem .3rem;border-radius:20px;border:1px solid var(--border)}.frustration.calm{color:var(--ok);border-color:var(--ok)}.frustration.warm{color:var(--warn);border-color:var(--warn)}.frustration.hot{color:var(--bad);border-color:var(--bad)}.finding-head{font-size:.92rem;margin-bottom:.3rem}.latency-over{color:var(--bad);font-weight:600}.shipped-row{padding:.35rem 0;font-size:.9rem}.shipped-row+.shipped-row{border-top:1px solid var(--border)}.trace-step{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:1.1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.trace-step img{width:100%;border:1px solid var(--border);border-radius:8px;cursor:zoom-in}.trace-step img.zoomed{position:fixed;top:2vh;right:2vw;bottom:2vh;left:2vw;width:96vw;height:96vh;object-fit:contain;background:#000000eb;z-index:50;cursor:zoom-out;border:none}.reasoning{font-size:.95rem;line-height:1.5;white-space:pre-wrap}.step-meta{font-size:.78rem;color:var(--muted);margin-bottom:.4rem}.frustration{display:flex;align-items:center;gap:.5rem;margin-top:.6rem;font-size:.78rem;color:var(--muted)}.frustration .bar{width:130px;height:7px;background:var(--panel-2);border-radius:4px;overflow:hidden}.frustration .bar>div{height:100%}.action-chip{display:inline-block;margin-top:.55rem;font-size:.8rem;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:.18rem .55rem;font-family:ui-monospace,monospace}.fail-chip{color:var(--bad);font-size:.8rem;margin-top:.4rem}.quote{border-left:3px solid var(--warn);padding:.15rem 0 .15rem .8rem;margin:.5rem 0;color:var(--text);font-size:.9rem}.err-box{background:#e05c5c1f;border:1px solid var(--bad);color:var(--bad);border-radius:8px;padding:.6rem .9rem;margin:.8rem 0;font-size:.85rem}.card.editor h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:1.4rem 0 .2rem}.card.editor h3:first-of-type{margin-top:.6rem}.check-row{display:flex;align-items:center;gap:.6rem;padding:.28rem 0;font-size:.92rem;color:var(--text);cursor:pointer}.check-row input[type=checkbox]{width:15px;height:15px;flex:none;accent-color:var(--accent)}.prompt-pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,monospace;font-size:.8rem;line-height:1.55;max-height:420px;overflow-y:auto;margin:.6rem 0 0}.empty{color:var(--muted);padding:1.5rem 0;text-align:center}.mono{font-family:ui-monospace,monospace;font-size:.82rem}.muted{color:var(--muted)}details.spec pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.8rem;overflow:auto;font-size:.78rem}.login-screen{flex:1;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:380px}.login-card input{width:100%}
