:root{--bg: #0a0a14;--panel: #14141f;--border: #26263a;--text: #e6e6f0;--muted: #8a8aa0;--accent: #7c5cff;--accent2: #00e0c6;--ok: #2ecc71;--warn: #f1c40f;--err: #e74c3c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1200px;margin:0 auto;padding:24px}.brand{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.brand h1{font-size:22px;margin:0}.brand span{color:var(--accent2);font-size:13px}.sub{color:var(--muted);margin:0 0 20px;font-size:13px}.stepper{display:flex;gap:8px;margin-bottom:24px}.step{flex:1;padding:10px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--border);color:var(--muted);font-size:13px;text-align:center}.step.active{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 1px var(--accent)}.step.done{border-color:var(--ok);color:var(--ok)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:18px}.btn{background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.ok{background:var(--ok)}.btn.small{padding:6px 10px;font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.panel-img{width:100%;border-radius:8px;border:1px solid var(--border);display:block}.badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge.ok{color:var(--ok);border-color:var(--ok)}.badge.warn{color:var(--warn);border-color:var(--warn)}.badge.err{color:var(--err);border-color:var(--err)}.badge.run{color:var(--accent2);border-color:var(--accent2)}label{display:block;font-size:12px;color:var(--muted);margin:8px 0 4px}input[type=text],textarea,input[type=number]{width:100%;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:8px;font-size:13px;font-family:inherit}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:48px;text-align:center;color:var(--muted);cursor:pointer}.dropzone:hover{border-color:var(--accent)}.err-text{color:var(--err);font-size:13px}.foot{color:var(--muted);font-size:12px;margin-top:24px}.thumb{width:120px;border-radius:6px;border:1px solid var(--border)}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
