:root{--ink:#1a1714;--ink-soft:#3d3832;--paper:#e8e2d6;--paper-deep:#d4cbb8;--panel:#f8f4ebe0;--line:#1a171424;--accent:#0f5c4c;--accent-hot:#b54a2e;--running:#0f5c4c;--idle:#6b6358;--warn:#a67c2d;--mono:"IBM Plex Mono", ui-monospace, monospace;--sans:"DM Sans", system-ui, sans-serif;--display:"Instrument Serif", Georgia, serif;color:var(--ink);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(ellipse 80% 50% at 10% -10%, #0f5c4c2e, transparent 55%), radial-gradient(ellipse 60% 40% at 100% 0%, #b54a2e1f, transparent 50%), linear-gradient(165deg, #f3eee4 0%, var(--paper) 40%, var(--paper-deep) 100%);background-attachment:fixed;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}.app{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.rail{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f4eb8c;flex-direction:column;gap:2rem;padding:1.75rem 1.25rem 2rem;display:flex}.brand{flex-direction:column;gap:.35rem;display:flex}.brand h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:2.4rem;font-weight:400;line-height:.95}.brand p{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.78rem}.nav{flex-direction:column;gap:.25rem;display:flex}.nav button{text-align:left;color:var(--ink-soft);background:0 0;border:none;border-radius:4px;padding:.55rem .65rem;transition:background .16s,color .16s,transform .16s}.nav button:hover{color:var(--ink);background:#1a17140f}.nav button.active{background:var(--ink);color:var(--paper);transform:translate(2px)}.rail-foot{font-family:var(--mono);color:var(--idle);margin-top:auto;font-size:.7rem;line-height:1.45}.stage{grid-template-rows:auto 1fr;min-width:0;min-height:100vh;display:grid}.stage-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:1.5rem 1.75rem 1rem;display:flex}.stage-head h2{font-family:var(--display);margin:0;font-size:1.85rem;font-weight:400}.stage-head .meta{font-family:var(--mono);color:var(--idle);font-size:.72rem}.stage-body{grid-template-columns:minmax(240px,340px) 1fr;min-height:0;display:grid}.list-pane,.reader-pane{min-height:0;overflow:auto}.list-pane{border-right:1px solid var(--line);background:var(--panel)}.reader-pane{padding:1.25rem 1.75rem 3rem}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem .85rem;display:flex}.toolbar input,.toolbar select{border:1px solid var(--line);background:#ffffff8c;border-radius:3px;flex:1;min-width:0;padding:.4rem .55rem}.toolbar button.refresh{border:1px solid var(--line);background:0 0;border-radius:3px;padding:.4rem .7rem}.row{text-align:left;border:none;border-bottom:1px solid var(--line);background:0 0;flex-direction:column;gap:.2rem;width:100%;padding:.7rem .85rem;transition:background .14s;display:flex}.row:hover,.row.selected{background:#0f5c4c14}.row .title{color:var(--ink);word-break:break-word;font-size:.92rem}.row .sub{font-family:var(--mono);color:var(--idle);font-size:.68rem}.badge{font-family:var(--mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;background:#1a171414;border-radius:2px;padding:.1rem .35rem;font-size:.65rem;display:inline-block}.badge.running{color:var(--running);background:#0f5c4c26}.badge.killed,.badge.stopped{color:var(--accent-hot);background:#b54a2e1f}.tree details{padding-left:.4rem}.tree summary{cursor:pointer;color:var(--ink-soft);padding:.2rem .3rem;font-size:.85rem}.tree .file{text-align:left;width:100%;color:var(--ink);background:0 0;border:none;padding:.28rem .45rem .28rem 1.1rem;font-size:.82rem;display:block}.tree .file:hover,.tree .file.selected{background:#0f5c4c1a}.md-body{max-width:46rem;font-size:1.02rem;line-height:1.65;animation:.32s both rise}.md-body h1,.md-body h2,.md-body h3{font-family:var(--display);font-weight:400;line-height:1.15}.md-body h1{font-size:2.1rem}.md-body code,.md-body pre{font-family:var(--mono);font-size:.82rem}.md-body pre{background:#1a17140f;border-radius:4px;padding:.9rem 1rem;overflow:auto}.md-body a{color:var(--accent)}.pre-block{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;border:1px solid var(--line);background:#1a17140d;border-radius:4px;max-height:calc(100vh - 10rem);padding:1rem;font-size:.75rem;line-height:1.45;animation:.28s both rise;overflow:auto}.tabs{gap:.35rem;margin-bottom:1rem;display:flex}.tabs button{border:1px solid var(--line);background:0 0;border-radius:3px;padding:.35rem .7rem;font-size:.8rem}.tabs button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.empty{color:var(--idle);padding:2rem .5rem;font-style:italic}.harness-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;animation:.3s both rise;display:grid}.stat{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:1rem 1.1rem}.stat .label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--idle);font-size:.68rem}.stat .value{font-family:var(--display);margin-top:.25rem;font-size:2rem}.error{color:var(--accent-hot);font-family:var(--mono);padding:.75rem;font-size:.8rem}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (width<=860px){.app{grid-template-columns:1fr}.rail{border-right:none;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:1rem;padding:1rem}.nav{flex-flow:wrap}.rail-foot{display:none}.stage-body{grid-template-columns:1fr}.list-pane{border-right:none;border-bottom:1px solid var(--line);max-height:40vh}}
