:root{--bg:#fff;--fg:#14181f;--muted:#667085;--line:#e4e7ec;--card:#f8f9fb;--accent:#2f5fe3;--ok:#12805c;--warn:#b54708;--err:#b42318}@media (prefers-color-scheme:dark){:root{--bg:#0f1218;--fg:#e8ebf0;--muted:#98a2b3;--line:#262c38;--card:#171c26;--accent:#7c9cff;--ok:#3fcf9b;--warn:#f0a35e;--err:#ff8a80}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0;font:15px/1.5 system-ui,sans-serif}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:999px;padding:6px 14px}button.on,form button{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:default}button.ghost{background:0 0}.app{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);height:100vh;display:grid}@media (max-width:760px){.app{grid-template-columns:1fr;height:auto}.chat{height:70vh}}.chat,.side{flex-direction:column;gap:12px;min-height:0;padding:16px;display:flex}.side{border-left:1px solid var(--line);gap:0;padding:0;overflow:auto}.scope,.side nav{flex-wrap:wrap;gap:6px;display:flex}.side nav{border-bottom:1px solid var(--line);background:var(--bg);padding:12px 16px;position:sticky;top:0}.log{flex:1;min-height:0;overflow:auto}.q{margin:14px 0 4px;font-weight:600}.a{white-space:pre-wrap;margin:0}form{gap:8px;display:flex}input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:999px;flex:1;min-width:0;padding:9px 12px}.muted{color:var(--muted);font-size:13px}.err{color:var(--err)}.small{margin:4px 0;font-size:13.5px}.pad{padding:16px}.card{border:1px solid var(--line);background:var(--card);border-radius:10px;margin-bottom:12px;padding:12px 14px}.card.miss{border-color:var(--warn)}.card h3{margin:0 0 6px;font-size:15px}.card h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 2px;font-size:12px}.card ul{margin:0;padding-left:18px;font-size:13px}.badge{background:var(--bg);color:var(--ok);border-radius:999px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:500}.miss .badge{color:var(--warn)}.steps{counter-reset:s;margin:0 0 12px;padding:0;list-style:none}.steps>li{counter-increment:s;border-bottom:1px solid var(--line);color:var(--muted);padding:10px 0 10px 34px;position:relative}.steps>li:before{content:counter(s);border:1px solid var(--line);text-align:center;border-radius:50%;width:24px;height:24px;font-size:13px;line-height:22px;position:absolute;top:10px;left:0}.steps>li.now{color:var(--fg)}.steps>li.now:before{background:var(--accent);color:#fff;border-color:var(--accent)}.steps>li.done{color:var(--fg)}.steps>li.done:before{content:"✓";color:var(--ok);border-color:var(--ok)}.steps li strong{margin-bottom:6px;font-weight:600;display:block}.steps li.run{padding-left:8px;animation:1.2s infinite pulse}.steps li.run:before{display:none}.miss-text{color:var(--warn)}@keyframes pulse{50%{opacity:.4}}.stages{margin:8px 0 0;padding:0;font-size:13px;list-style:none}.stages li{color:var(--fg);border:0;justify-content:space-between;gap:8px;padding:3px 0;display:flex}.stages li:before{display:none}.stages em{color:var(--muted);font-style:normal}.stages .completed em{color:var(--ok)}.graph{background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%}.graph line{stroke:var(--line);stroke-width:1px}.graph circle{fill:var(--muted);opacity:.55}.graph circle.used{fill:var(--accent);opacity:1}.graph circle.learned{fill:var(--ok);opacity:1}.graph text{fill:var(--fg);text-anchor:middle;font-size:10px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.d{background:var(--muted);border-radius:50%;width:10px;height:10px;display:inline-block}.d.used{background:var(--accent)}.d.learned{background:var(--ok)}
