:root{--bg:#f4f7f5;--panel:#fff;--text:#14201b;--muted:#63716a;--line:#dce5e0;--accent:#116149;--error:#b42318;--shadow:0 12px 38px rgba(17,97,73,.10)}
@media(prefers-color-scheme:dark){:root{--bg:#111318;--panel:#191c22;--text:#f1f3f5;--muted:#aab1bc;--line:#303641;--accent:#72d5a6;--error:#ff938a;--shadow:none}}
*{box-sizing:border-box} body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding:24px;position:relative}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 32%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 30%);pointer-events:none}
.card{width:min(620px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
h1{font-size:30px;line-height:1.15;margin:0 0 10px} p{margin:0 0 24px;color:var(--muted)}
form{display:grid;grid-template-columns:1fr auto;gap:10px} input,button{font:inherit;border-radius:12px;padding:13px 14px} input{min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:18px;letter-spacing:.05em} button{border:1px solid var(--accent);background:var(--accent);color:#fff;font-weight:700;cursor:pointer} button:disabled{opacity:.65;cursor:wait}
.hint{font-size:13px;color:var(--muted);margin-top:14px} .error{margin:0 0 16px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--error) 45%,var(--line));border-radius:10px;color:var(--error)}
.monitor{margin-top:18px;border:1px solid var(--line);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--panel) 92%,var(--accent))}.monitorHead{display:flex;align-items:center;gap:9px}.spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.completed .spinner{animation:none;border-color:var(--accent);background:var(--accent)}.failed .spinner{animation:none;border-color:var(--error);background:var(--error)}dl{margin:10px 0 0;display:grid;gap:5px}dl div{display:grid;grid-template-columns:90px 1fr;gap:8px}dt{color:var(--muted)}dd{margin:0}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:520px){.card{padding:22px} form{grid-template-columns:1fr}}
@media(max-width:700px){body:before{display:none}}
.progressRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px}.progressRow progress{width:100%;height:14px;accent-color:var(--accent)}.failed .progressRow progress{accent-color:var(--error)}
