:root{--bg:#ffffff;--fg:#1a1a2e;--muted:#6b7280;--border:#e5e7eb;--accent:#2b7cff;--accent-fg:#ffffff;--ok:#0f9d58;--warn:#b45309;--warn-bg:#fef3c7;--err:#dc2626;--card:#f9fafb}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg);font-size:13px;line-height:1.45}.wrap{padding:12px;max-width:720px}button{font:inherit;font-size:12px;border:none;border-radius:6px;padding:4px 10px;cursor:pointer;background:var(--accent);color:var(--accent-fg);white-space:nowrap}button.secondary{background:#eef2ff;color:var(--accent)}button:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.ok{color:var(--ok)}.warn{color:var(--warn)}.err{color:var(--err)}.step{display:flex;align-items:flex-start;gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}.step:last-child{border-bottom:none}.dot{flex:none;width:10px;height:10px;border-radius:999px;margin-top:4px;background:var(--border)}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.err{background:var(--err)}.dot.loading{background:transparent;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.step .body{flex:1 1;min-width:0}.step .title{font-weight:600}.step .summary{color:var(--muted);overflow-wrap:anywhere}.step .summary a{color:var(--accent);text-decoration:none}.step .actions{flex:none;display:flex;gap:6px;align-items:center}