:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,#0f172a,#1e293b);color:#e2e8f0}.card{background:#0f172ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(148,163,184,.15);border-radius:16px;padding:32px;width:min(560px,92vw);box-shadow:0 20px 60px #0006}h1{margin:0 0 8px;font-size:24px}p.lead{margin:0 0 24px;color:#94a3b8}button.primary{width:100%;padding:14px 20px;border-radius:10px;border:1px solid #38bdf8;background:#0284c7;color:#fff;font-size:16px;cursor:pointer;transition:filter .15s}button.primary:hover:not(:disabled){filter:brightness(1.1)}button.primary:disabled{opacity:.5;cursor:progress}button.secondary{padding:10px 16px;border-radius:8px;border:1px solid rgba(148,163,184,.4);background:#0f172a80;color:#e2e8f0;font-size:14px;cursor:pointer;transition:filter .15s,background .15s}button.secondary:hover:not(:disabled){background:#0f172ad9}button.secondary:disabled{opacity:.5;cursor:progress}.error{margin-top:16px;padding:12px;border-radius:8px;background:#ef444426;border:1px solid rgba(239,68,68,.4);color:#fecaca}.maintenance{padding:24px;border-radius:12px;background:#eab30814;border:1px solid rgba(234,179,8,.35);color:#fde68a;text-align:center}.maintenance h2{margin:0 0 8px;font-size:18px;color:#fde68a}.maintenance p{margin:0;color:#fcd34d;font-size:14px;line-height:1.5}.maintenance-note{margin-top:16px;padding:10px 12px;border-radius:8px;background:#eab30814;border:1px solid rgba(234,179,8,.3);color:#fde68a;font-size:12px;line-height:1.4}.result{margin-top:24px;border-top:1px solid rgba(148,163,184,.2);padding-top:20px}.result h2{margin:0 0 12px;font-size:16px;color:#94a3b8;font-weight:500}.links{display:grid;gap:8px}.links a{display:block;padding:10px 14px;border-radius:8px;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#7dd3fc;text-decoration:none;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;word-break:break-all}.links a:hover{background:#38bdf833}.meta{margin-top:16px;font-size:13px;color:#94a3b8;display:grid;gap:4px}.meta b{color:#cbd5e1;font-weight:500}.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.result.busy{border-top:none;padding-top:0}.result.busy h2{color:#fde68a;font-size:18px;display:flex;align-items:center}.steps{margin:16px 0 0;padding-left:0;list-style:none;display:grid;gap:8px}.steps li{position:relative;padding:8px 12px 8px 36px;border-radius:8px;background:#0f172a80;border:1px solid rgba(148,163,184,.15);color:#94a3b8;font-size:13px;transition:all .2s}.steps li:before{content:"";position:absolute;left:12px;top:50%;width:14px;height:14px;margin-top:-7px;border:2px solid rgba(148,163,184,.3);border-radius:50%;box-sizing:border-box}.steps li.active{color:#fde68a;border-color:#eab30866;background:#eab30814}.steps li.active:before{border-color:#fde68a;border-right-color:transparent;animation:spin .7s linear infinite}.steps li.done{color:#86efac;border-color:#22c55e4d;background:#22c55e14}.steps li.done:before{border-color:#22c55eb3;background:#22c55e80}.steps li.done:after{content:"✓";position:absolute;left:14px;top:50%;margin-top:-8px;color:#0f172a;font-size:11px;font-weight:700;line-height:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;animation:fadeIn .15s ease-out}.modal{width:min(420px,92vw);background:#0f172a;border:1px solid rgba(148,163,184,.25);border-radius:14px;padding:24px;box-shadow:0 30px 80px #0009;animation:popIn .18s ease-out}.modal h3{margin:0 0 8px;font-size:18px}.modal p{margin:0 0 20px;color:#94a3b8;font-size:14px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:8px}button.danger{padding:10px 16px;border-radius:8px;border:1px solid rgba(239,68,68,.5);background:#ef4444d9;color:#fff;font-size:14px;cursor:pointer;transition:filter .15s}button.danger:hover:not(:disabled){filter:brightness(1.1)}button.danger:disabled{opacity:.5;cursor:progress}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}
