:root{--bg:#08111c;--panel:#0e1b2a;--line:#203449;--text:#e6edf3;--muted:#91a4b7;--accent:#46d4a8;--orange:#ffc857;--danger:#ff7171}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px ui-sans-serif,system-ui,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;background:var(--accent);color:#05261f;font-weight:700;padding:9px 12px}button.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}button.danger{background:#53242a;color:#ffd8d8}.shell{min-height:100vh}.top{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 24px;gap:16px}.brand{font-weight:800;font-size:18px;letter-spacing:.3px}.brand span{color:var(--accent)}.spacer{flex:1}.layout{display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 64px)}aside{border-right:1px solid var(--line);padding:20px 14px}main{padding:28px;max-width:1350px;width:100%;margin:auto}.label{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:14px 10px 8px}.nav-item{width:100%;text-align:left;color:var(--text);background:transparent;padding:11px 10px;display:flex;gap:9px}.nav-item:hover,.nav-item.active{background:#16283a}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.ctf{min-height:160px;display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.split{display:grid;grid-template-columns:1fr 370px;gap:18px}.challenge{display:flex;justify-content:space-between;align-items:center;padding:14px;border-bottom:1px solid var(--line);cursor:pointer}.challenge:hover{background:#122334}.challenge:last-child{border:0}.muted{color:var(--muted)}.status{font-size:11px;border:1px solid var(--line);padding:3px 7px;border-radius:999px;color:var(--muted)}.status.running{color:var(--accent);border-color:#1b735d}.status.stalled{color:var(--orange);border-color:#765e1b}.status.completed{color:#77b8ff}.terminal{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:#050a0f;color:#bdebdc;min-height:220px;max-height:420px;overflow:auto;padding:14px;border-radius:8px;white-space:pre-wrap}.message{padding:9px 0;border-bottom:1px solid var(--line)}.message b{font-size:12px}.login{max-width:420px;margin:13vh auto}.login h1{font-size:34px;margin:0 0 8px}.form{display:grid;gap:11px}.form input,.form textarea{width:100%;background:#07111b;border:1px solid var(--line);border-radius:7px;color:var(--text);padding:10px}.modal{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:20px}.modal .card{width:min(540px,100%)}.hidden{display:none}.notice{padding:10px;border-radius:7px;background:#203b36;color:#bef5e2}.error{color:#ffb4b4;margin:7px 0}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{display:none}.split{grid-template-columns:1fr}main{padding:16px}}
.agent-launch{flex-direction:row-reverse}
.agent-launch button{border-radius:7px 0 0 7px!important}.agent-launch select{border-radius:0 7px 7px 0!important;border-left:0!important;border-right:1px solid var(--line)!important}
main>.ghost+.row h1{margin-top:0}
