:root{color-scheme:dark;--lime:#d8ff46;--bg:#10120f;--panel:#1a1d17;--border:#343a2f;--text:#f4f2ea;--muted:#a6ad9d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#263119 0,transparent 28%),var(--bg);color:var(--text);font:15px Inter,system-ui,sans-serif}.shell{width:min(1080px,94vw);margin:0 auto;padding:28px 0 70px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}header h1{margin:2px 0;font-size:clamp(25px,4vw,40px)}header small{color:var(--lime);font-weight:900;letter-spacing:.2em}a{color:var(--lime)}.panel,.login,.status-grid article{border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#20241c,var(--panel));box-shadow:0 18px 55px #0004}.panel{padding:22px;margin:16px 0}.login{width:min(460px,94vw);margin:12vh auto;padding:34px}.seal{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--lime);color:#111;font-size:28px;font-weight:900}.login h1{font-size:30px}.login form,.settings,.publisher{display:grid;gap:14px}label{display:grid;gap:7px;color:#e8eadf;font-weight:700}input,textarea,select{width:100%;border:1px solid #454b3e;border-radius:10px;background:#11140f;color:#fff;padding:12px;font:inherit}button,.button{border:0;border-radius:11px;background:var(--lime);color:#111;padding:13px 18px;font-weight:900;cursor:pointer;text-align:center;text-decoration:none}.secondary{background:#2d3427;color:#fff;border:1px solid #505a47}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.status-grid article{padding:18px;display:flex;justify-content:space-between}.status-grid span,.hint{color:var(--muted)}.status-grid .ready{border-color:#7a9430}.connect-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}summary{cursor:pointer;font-weight:900}.drop{padding:25px;border:1px dashed #69745c;border-radius:14px;text-align:center;cursor:pointer}.drop input{display:none}.drop span{color:var(--muted);font-size:12px}fieldset{border:1px solid var(--border);border-radius:12px;display:flex;gap:20px}fieldset label,.confirm{display:flex;align-items:center;gap:9px}fieldset input,.confirm input{width:auto}.error,.success{padding:13px;border-radius:10px;margin:12px 0}.error{background:#5a1d24}.success{background:#245a2b}progress{width:100%;height:18px}.jobs article{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;padding:12px;border-top:1px solid var(--border)}.jobs em{color:var(--lime)}@media(max-width:680px){.status-grid{grid-template-columns:1fr}.jobs article{grid-template-columns:1fr}.shell{width:92vw}}

