:root{--bg:#0f1115;--panel:#171a21;--panel-2:#1e222b;--border:#2a2f3a;--text:#e6e8ee;--muted:#8b93a5;--accent:#5aa7ff;--ok:#3ccf7a;--warn:#f0b84a;--err:#ff6b6b;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent);text-decoration:none}h1{margin:0 0 12px;font-size:20px}h2{margin:0 0 8px;font-size:16px}h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px;font-size:13px}button{font:inherit;color:var(--text);background:var(--accent);cursor:pointer;border:0;border-radius:6px;padding:6px 12px}button:disabled{opacity:.5;cursor:default}button.ghost{border:1px solid var(--border);background:0 0}button.danger{background:var(--err)}input,textarea,select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 8px}textarea{resize:vertical;min-height:160px}label{color:var(--muted);margin:8px 0 4px;font-size:12px;display:block}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}pre{background:var(--panel-2);border:1px solid var(--border);white-space:pre-wrap;border-radius:6px;max-height:320px;padding:8px;overflow:auto}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--panel);z-index:5;align-items:center;gap:18px;height:48px;padding:0 18px;display:flex;position:sticky;top:0}.brand{cursor:pointer;font-weight:700}.topbar nav{gap:4px;display:flex}.topbar nav a{color:var(--muted);border-radius:6px;padding:6px 10px}.topbar nav a.active{color:var(--text);background:var(--panel-2)}.spacer{flex:1}.badge{background:var(--accent);color:#fff;text-align:center;border-radius:9px;min-width:18px;margin-left:6px;padding:0 5px;font-size:11px;display:inline-block}main{width:100%;max-width:1400px;margin:0 auto;padding:18px}.center{justify-content:center;align-items:center;min-height:100vh;display:flex}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--err)}.warn{color:var(--warn)}.ok{color:var(--ok)}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px}.login{width:320px}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack>*+*{margin-top:10px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}th{color:var(--muted);font-size:12px;font-weight:500}tr.clickable{cursor:pointer}tr.clickable:hover{background:var(--panel-2)}.dot{background:var(--muted);border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.dot.ok{background:var(--ok)}.dot.down,.dot.error{background:var(--err)}.dot.loading,.dot.warn{background:var(--warn)}.pill{border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:1px 8px;font-size:11px;display:inline-block}.pill.queued{color:var(--muted)}.pill.running{color:var(--accent);border-color:var(--accent)}.pill.succeeded{color:var(--ok);border-color:var(--ok)}.pill.failed{color:var(--err);border-color:var(--err)}.pill.cancelled{color:var(--warn);border-color:var(--warn)}.progress{background:var(--panel-2);border-radius:3px;min-width:120px;height:6px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .3s}.asset{border-bottom:1px dashed var(--border);justify-content:space-between;padding:4px 0;display:flex}.thumb{aspect-ratio:16/9;object-fit:cover;background:var(--panel-2);border-radius:6px;width:100%;display:block}video{background:#000;border-radius:8px;width:100%}.candidates{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.candidates img{aspect-ratio:1;object-fit:cover;border:2px solid #0000;border-radius:6px;width:100%}.candidates img.selected{border-color:var(--accent)}.modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{width:min(900px,100%);max-height:calc(100vh - 100px);overflow-y:auto;box-shadow:0 20px 60px #00000080}.ref{border-top:1px solid var(--border);gap:12px;padding:10px 0;display:flex}.ref-thumb{background:#000;border-radius:6px;flex:none;width:120px;height:120px;position:relative;overflow:hidden}.ref-thumb img{object-fit:contain;width:100%;height:100%;display:block}.ref-crop{border:2px solid var(--ok);pointer-events:none;position:absolute;box-shadow:0 0 0 999px #00000073}button.small{padding:2px 8px;font-size:12px}
