@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg:#070b10;--bg-raised:#0d1219;--bg-overlay:#111820;--surface:rgba(255,255,255,0.04);--surface-hov:rgba(255,255,255,0.07);--border:rgba(255,255,255,0.08);--border-hov:rgba(255,255,255,0.15);--teal:#00d4aa;--teal-dim:rgba(0,212,170,0.15);--teal-glow:rgba(0,212,170,0.35);--violet:#7c3aed;--violet-dim:rgba(124,58,237,0.15);--blue:#3b82f6;--blue-dim:rgba(59,130,246,0.15);--amber:#f59e0b;--text:#f0f6fc;--text-2:#8b949e;--text-3:#484f58;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 0 0 1px var(--border),0 4px 24px rgba(0,0,0,0.4);--shadow-glow:0 0 40px var(--teal-glow);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color-scheme:dark}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}img,svg{display:block}h1,h2,h3,h4{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.1}code,pre{font-family:JetBrains Mono,monospace}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:min(1120px,100%);margin:0 auto;padding:0 24px}.section{padding:80px 0}.section-sm{padding:48px 0}.glass{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,box-shadow .2s,background .2s}.glass:hover{border-color:var(--border-hov);background:var(--surface-hov)}.glass-lg{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--radius);font-size:.9rem;font-weight:600;border:none;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--teal);color:#041210}.btn-primary:hover:not(:disabled){background:#00e6b8;box-shadow:0 0 20px var(--teal-glow);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-hov);border-color:var(--border-hov)}.btn-violet{background:var(--violet);color:#fff}.btn-violet:hover:not(:disabled){background:#8b5cf6;box-shadow:0 0 20px rgba(124,58,237,.4);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-2);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-hov)}.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius)}.btn-sm{padding:7px 14px;font-size:.82rem}.btn-icon{padding:10px;border-radius:var(--radius-sm)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge-teal{background:var(--teal-dim);color:var(--teal);border:1px solid rgba(0,212,170,.3)}.badge-violet{background:var(--violet-dim);color:#a78bfa;border:1px solid rgba(124,58,237,.3)}.badge-blue{background:var(--blue-dim);color:#93c5fd;border:1px solid rgba(59,130,246,.3)}.badge-amber{background:rgba(245,158,11,.15);color:var(--amber);border:1px solid rgba(245,158,11,.3)}.badge-muted{background:rgba(255,255,255,.06);color:var(--text-2);border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:.82rem;font-weight:600;color:var(--text-2);letter-spacing:.03em;text-transform:uppercase}.input,.select,.textarea{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:inherit;font-size:.95rem;padding:11px 14px;transition:border-color .2s,box-shadow .2s;outline:none;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-dim)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{resize:vertical;min-height:100px}.input-hint{font-size:.78rem;color:var(--text-3)}.input-error{font-size:.78rem;color:#f87171}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}.divider{height:1px;background:var(--border)}@keyframes gradShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.hero-gradient{background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(0,212,170,.12) 0,transparent 70%),radial-gradient(ellipse 60% 40% at 80% 30%,rgba(124,58,237,.1) 0,transparent 60%),radial-gradient(ellipse 50% 35% at 20% 60%,rgba(59,130,246,.08) 0,transparent 60%)}.grid-overlay,.hero-gradient{position:absolute;inset:0;pointer-events:none}.grid-overlay{background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.6) 20%,rgba(0,0,0,.6) 60%,transparent);mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.6) 20%,rgba(0,0,0,.6) 60%,transparent)}.stepper{gap:0}.step-item,.stepper{display:flex;align-items:center}.step-item{gap:10px}.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;transition:all .3s}.step-dot.active{background:var(--teal);color:#041210;box-shadow:0 0 16px var(--teal-glow)}.step-dot.done{background:rgba(0,212,170,.2);color:var(--teal);border:1px solid rgba(0,212,170,.4)}.step-dot.inactive{background:var(--surface);color:var(--text-3);border:1px solid var(--border)}.step-label{font-size:.82rem;font-weight:500;color:var(--text-2)}.step-label.active{color:var(--text)}.step-connector{flex:1 1;height:1px;background:var(--border);margin:0 8px;min-width:24px}.job-status-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:24px;gap:24px;align-items:start}.module-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.module-status-card{background:rgba(255,255,255,.035);padding:16px;min-height:128px}.axl-log-list,.module-status-card{border:1px solid var(--border);border-radius:var(--radius)}.axl-log-list{overflow-x:auto}.axl-log-row{display:grid;grid-template-columns:140px minmax(110px,1fr) minmax(110px,1fr) minmax(180px,1.2fr);grid-gap:14px;gap:14px;align-items:center;min-width:720px;padding:12px 14px;border-top:1px solid var(--border);font-size:.84rem}.axl-audit-copy,.axl-route-label{display:block;margin-top:4px;color:var(--text-3);font-size:.7rem;line-height:1.25}.axl-route-label{color:var(--text-2)}.axl-log-row:first-child{border-top:none}.axl-log-header{background:rgba(255,255,255,.035);color:var(--text-3);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.job-detail-list{display:flex;flex-direction:column;gap:10px}.job-detail-row{display:flex;justify-content:space-between;gap:14px;font-size:.84rem}.job-detail-row span{color:var(--text-3)}.job-detail-row strong{color:var(--text);font-weight:600;text-align:right;overflow-wrap:anywhere}.keeperhub-trace{display:flex;flex-wrap:wrap;gap:6px}.keeperhub-log-list,.keeperhub-node-list{display:flex;flex-direction:column;gap:8px}.keeperhub-log-row,.keeperhub-node-row{border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,.03);padding:10px 12px}.keeperhub-node-row{display:flex;justify-content:space-between;gap:12px;font-size:.78rem}.keeperhub-node-row span{color:var(--text-2);overflow-wrap:anywhere}.keeperhub-node-row strong{color:var(--teal);font-weight:700}.keeperhub-log-row{display:grid;grid-template-columns:74px 44px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;font-size:.74rem}.keeperhub-log-row span,.keeperhub-log-row strong{color:var(--text-3)}.keeperhub-log-row p{color:var(--text-2);overflow-wrap:anywhere}.result-json{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-2);font-size:.78rem;line-height:1.6;max-height:520px;overflow:auto;padding:16px;white-space:pre-wrap}@media (max-width:920px){.job-status-layout,.module-status-grid{grid-template-columns:1fr}}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:48px 32px;text-align:center;transition:all .2s;cursor:pointer;background:var(--bg-raised)}.upload-zone.dragover,.upload-zone:hover{border-color:var(--teal);background:var(--teal-dim)}.upload-zone.has-file{border-color:rgba(0,212,170,.5);border-style:solid;background:rgba(0,212,170,.06)}.upload-icon{width:48px;height:48px;margin:0 auto 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--teal)}.check-list{display:flex;flex-direction:column;gap:8px}.check-item{display:flex;align-items:center;gap:10px;font-size:.88rem}.check-icon{width:18px;height:18px;flex-shrink:0}.check-icon.pass{color:var(--teal)}.check-icon.fail{color:#f87171}.check-icon.pending{color:var(--text-3)}.cost-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.9rem}.cost-row:last-child{border-bottom:none}.cost-row .label{color:var(--text-2);font-weight:500}.cost-row .value{font-weight:600;font-family:JetBrains Mono,monospace}.cost-total{font-size:1.1rem}.cost-total .label{color:var(--text)}.cost-total .value{color:var(--teal)}.agent-card{display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);transition:all .25s;cursor:pointer}.agent-card:hover{border-color:var(--border-hov);background:var(--surface-hov);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,.3)}.agent-avatar{width:48px;height:48px;border-radius:var(--radius);background:linear-gradient(135deg,var(--teal-dim),var(--violet-dim));border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.4rem}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.4}}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}.status-dot.running{animation:pulseDot 1.2s ease-in-out infinite}.tx-panel{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:16px;font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-2);word-break:break-all}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding-bottom:0}.tab{padding:10px 16px;font-size:.88rem;font-weight:500;color:var(--text-2);margin-bottom:-1px;transition:all .2s;background:none;border:none;border-bottom:2px solid transparent}.tab:hover{color:var(--text)}.tab.active{color:var(--teal);border-bottom-color:var(--teal)}.progress-track{height:6px;background:var(--surface);border-radius:999px;overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#00a3ff);transition:width .6s cubic-bezier(.4,0,.2,1)}.callout{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius);font-size:.88rem;line-height:1.5}.callout-info{background:var(--blue-dim);border:1px solid rgba(59,130,246,.3);color:#93c5fd}.callout-warn{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:var(--amber)}.callout-success{background:var(--teal-dim);border:1px solid rgba(0,212,170,.3);color:var(--teal)}.callout-error{background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.3);color:#f87171}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hov) 50%,var(--surface) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.w-full{width:100%}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-2)}.text-teal{color:var(--teal)}.font-mono{font-family:JetBrains Mono,monospace}.font-bold{font-weight:700}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}@media (max-width:768px){.stepper{flex-wrap:wrap}.step-connector{display:none}h1{font-size:clamp(2rem,8vw,4rem)!important}}