@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:IBM Plex Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,:root[data-theme=light]{--background:220 14% 96%;--foreground:224 28% 12%;--card:0 0% 100%;--card-foreground:224 28% 12%;--primary:239 84% 67%;--primary-foreground:0 0% 100%;--secondary:220 14% 96%;--secondary-foreground:224 28% 14%;--muted:220 13% 91%;--muted-foreground:220 9% 46%;--accent:239 84% 67%;--accent-foreground:0 0% 100%;--border:220 13% 91%;--input:220 13% 91%;--ring:239 84% 67%;--destructive:0 72% 54%;--destructive-foreground:0 0% 100%;--success:160 65% 34%;--warning:38 92% 50%;--info:217 91% 60%;--radius:0.75rem;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 16px #0f172a14;--shadow-ring:0 0 0 3px #6467f226;--code-bg:220 20% 97%;--code-border:220 13% 91%;--sidebar-bg:224 40% 10%;--sidebar-fg:220 14% 82%;--sidebar-muted:220 12% 42%;--sidebar-hover:224 35% 14%;--sidebar-active:239 84% 67%;--sidebar-border:224 30% 16%;--topbar-bg:0 0% 100%;--focus:239 84% 67%;--violet:258 90% 66%}:root[data-theme=dark]{--background:224 40% 8%;--foreground:220 14% 90%;--card:224 36% 11%;--card-foreground:220 14% 90%;--primary:239 84% 67%;--primary-foreground:0 0% 100%;--secondary:224 32% 15%;--secondary-foreground:220 14% 82%;--muted:224 28% 18%;--muted-foreground:220 10% 56%;--accent:239 84% 67%;--accent-foreground:0 0% 100%;--border:224 24% 20%;--input:224 24% 20%;--ring:239 84% 67%;--destructive:0 72% 54%;--destructive-foreground:0 0% 100%;--success:160 65% 40%;--warning:38 92% 55%;--info:217 91% 65%;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 4px 20px #00000059;--shadow-ring:0 0 0 3px #6467f240;--code-bg:224 32% 13%;--code-border:224 24% 20%;--sidebar-bg:224 44% 6%;--sidebar-fg:220 14% 82%;--sidebar-muted:220 12% 50%;--sidebar-hover:224 35% 12%;--sidebar-active:239 84% 67%;--sidebar-border:224 30% 14%;--topbar-bg:224 36% 11%;--focus:239 84% 67%;--violet:258 90% 70%}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f3f4f6;background-color:hsl(var(--background));color:#161b27;color:hsl(var(--foreground));font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:600;letter-spacing:-.025em}code,pre{font-family:IBM Plex Mono,Courier New,monospace}::selection{background:#6467f226;background:hsl(var(--accent)/.15);color:#161b27;color:hsl(var(--foreground))}.App{background:#f3f4f6;background:hsl(var(--background))}.App,.app-shell{min-height:100vh}.app-shell{display:flex}.app-sidebar{background:#0f1524;background:hsl(var(--sidebar-bg));border-right:1px solid #1d2335;border-right:1px solid hsl(var(--sidebar-border));bottom:0;color:#cbcfd8;color:hsl(var(--sidebar-fg));display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:transform .3s ease;width:240px;z-index:40}.app-main{display:flex;flex:1 1;flex-direction:column;margin-left:240px;min-height:100vh}.app-main-full{margin-left:0!important}.app-content-full{max-width:100%!important;padding:0!important}.app-topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd9;background:hsl(var(--topbar-bg)/.85);border-bottom:1px solid #e5e7eb;border-bottom:1px solid hsl(var(--border));display:flex;height:56px;padding:0 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:30}.app-content{flex:1 1;margin:0 auto;max-width:1400px;padding:1.5rem 2rem;width:100%}.sidebar-brand{border-bottom:1px solid #1d2335;border-bottom:1px solid hsl(var(--sidebar-border));padding:1.25rem 1.5rem}.sidebar-brand h1{color:#f2f2f2;font-size:1.125rem;font-weight:700}.sidebar-brand p{color:#5e6778;color:hsl(var(--sidebar-muted));font-size:.7rem;margin-top:2px}.sidebar-nav{flex:1 1;padding:.75rem}.sidebar-link{align-items:center;background:none;border:none;border-radius:.75rem;border-radius:var(--radius);color:#5e6778;color:hsl(var(--sidebar-muted));cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem .875rem;text-align:left;text-decoration:none;transition:color .15s,background-color .15s;width:100%}.sidebar-link:hover{background:#171e30;background:hsl(var(--sidebar-hover));color:#cbcfd8;color:hsl(var(--sidebar-fg))}.sidebar-link.active{background:#6467f21f;background:hsl(var(--sidebar-active)/.12);color:#6467f2;color:hsl(var(--sidebar-active));font-weight:600}.sidebar-link .icon{height:18px;opacity:.7;width:18px}.sidebar-link.active .icon{opacity:1}.card{background:#fff;background:hsl(var(--card));border:1px solid #e5e7eb;border:1px solid hsl(var(--border));border-radius:.75rem;border-radius:var(--radius);box-shadow:0 1px 2px #0f172a0d;box-shadow:var(--shadow-sm);padding:1.5rem}.card-hover{cursor:pointer;transition:box-shadow .2s,border-color .2s}.card-hover:hover{border-color:#6467f24d;border-color:hsl(var(--accent)/.3);box-shadow:0 4px 16px #0f172a14;box-shadow:var(--shadow-md)}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.7rem;font-weight:600;gap:.375rem;letter-spacing:.02em;padding:.25rem .75rem}.badge-success{background-color:#1e8f691a;background-color:hsl(var(--success)/.1);color:#1e8f69;color:hsl(var(--success))}.badge-warning{background-color:#f59f0a1a;background-color:hsl(var(--warning)/.1);color:#f59f0a;color:hsl(var(--warning))}.badge-info{background-color:#3c83f61a;background-color:hsl(var(--info)/.1);color:#3c83f6;color:hsl(var(--info))}.badge-error{background-color:#de35351a;background-color:hsl(var(--destructive)/.1);color:#de3535;color:hsl(var(--destructive))}.btn{align-items:center;border:none;border-radius:.75rem;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:IBM Plex Sans,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:color .15s,background-color .15s,box-shadow .15s}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primary{background-color:#6467f2;background-color:hsl(var(--accent));color:#fff;color:hsl(var(--accent-foreground))}.btn-primary:hover{background-color:#4346ef}.btn-secondary{background-color:#f3f4f6;background-color:hsl(var(--secondary));color:#1a1f2e;color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background-color:#e6ebef}:root[data-theme=dark] .btn-secondary:hover{background-color:#283148}:root[data-theme=dark] .btn-primary:hover{background-color:#4d4fef}.theme-toggle-btn{align-items:center;background:#171e30;background:hsl(var(--sidebar-hover));border:1px solid #1d2335;border:1px solid hsl(var(--sidebar-border));border-radius:.5rem;color:#5e6778;color:hsl(var(--sidebar-muted));cursor:pointer;display:flex;height:34px;justify-content:center;transition:color .2s,background-color .2s;width:34px}.theme-toggle-btn:hover{background:#6467f226;background:hsl(var(--sidebar-active)/.15);color:#cbcfd8;color:hsl(var(--sidebar-fg))}.btn-ghost{background:#0000;color:#6b7280;color:hsl(var(--muted-foreground))}.btn-ghost:hover{background:#f3f4f6;background:hsl(var(--secondary));color:#161b27;color:hsl(var(--foreground))}.btn-lg{border-radius:.875rem;font-size:1rem;font-weight:600;padding:.875rem 2rem}.input{background:#fff;background:hsl(var(--card));border:1px solid #e5e7eb;border:1px solid hsl(var(--border));border-radius:.5rem;color:#161b27;color:hsl(var(--foreground));font-family:IBM Plex Sans,sans-serif;font-size:.875rem;padding:.625rem .875rem;transition:border-color .15s,box-shadow .15s;width:100%}.input:focus{border-color:#6467f2;border-color:hsl(var(--ring));box-shadow:0 0 0 3px #6467f226;box-shadow:var(--shadow-ring);outline:none}textarea.input{min-height:120px;resize:vertical}.label{color:#161b27;color:hsl(var(--foreground));display:block;font-size:.8125rem;font-weight:600;margin-bottom:.375rem}.code-block{background:#f6f7f9;background:hsl(var(--code-bg));border:1px solid #e5e7eb;border:1px solid hsl(var(--code-border));line-height:1.7}.code-block,.log-stream{border-radius:.75rem;border-radius:var(--radius);font-family:IBM Plex Mono,monospace;font-size:.8125rem;max-height:500px;overflow:auto;padding:1rem}.log-stream{background:#171f30;color:#c2ccd6;line-height:1.9}.log-line{padding:.125rem 0}.log-time{color:#6b7280;color:hsl(var(--muted-foreground));margin-right:.75rem;opacity:.6}.log-info{color:#a3b3c2}.log-success{color:#1e8f69;color:hsl(var(--success))}.log-warning{color:#f59f0a;color:hsl(var(--warning))}.log-error{color:#de3535;color:hsl(var(--destructive))}.tab-list{border-bottom:1px solid #e5e7eb;border-bottom:1px solid hsl(var(--border));display:flex;gap:0;overflow-x:auto}.tab-trigger{background:none;border:none;color:#6b7280;color:hsl(var(--muted-foreground));cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.25rem;position:relative;transition:color .15s;white-space:nowrap}.tab-trigger:hover{color:#161b27;color:hsl(var(--foreground))}.tab-trigger.active{color:#6467f2;color:hsl(var(--accent));font-weight:600}.tab-trigger.active:after{background:#6467f2;background:hsl(var(--accent));border-radius:1px;bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.step-track{gap:0;overflow-x:auto;padding:1rem 0}.step-item,.step-track{align-items:center;display:flex}.step-item{flex-direction:column;min-width:80px;position:relative}.step-icon{align-items:center;background:#fff;background:hsl(var(--card));border:2px solid #e5e7eb;border:2px solid hsl(var(--border));border-radius:50%;color:#6b7280;color:hsl(var(--muted-foreground));display:flex;font-size:.8rem;font-weight:600;height:36px;justify-content:center;transition:background-color .3s,border-color .3s,color .3s;width:36px}.step-icon.done{background:#6467f2;background:hsl(var(--accent));color:#fff}.step-icon.active,.step-icon.done{border-color:#6467f2;border-color:hsl(var(--accent))}.step-icon.active{animation:step-pulse 1.8s ease-in-out infinite;background:#6467f21f;background:hsl(var(--accent)/.12);color:#6467f2;color:hsl(var(--accent))}.step-icon.failed{background:#de35351a;background:hsl(var(--destructive)/.1);border-color:#de3535;border-color:hsl(var(--destructive));color:#de3535;color:hsl(var(--destructive))}.step-label{color:#6b7280;color:hsl(var(--muted-foreground));font-size:.6875rem;font-weight:500;margin-top:.375rem}.step-connector{background:#e5e7eb;background:hsl(var(--border));flex:1 1;height:2px;margin-top:-12px;min-width:24px}.step-connector.done{background:#6467f2;background:hsl(var(--accent))}@keyframes step-pulse{0%{box-shadow:0 0 0 0 #6467f266;box-shadow:0 0 0 0 hsl(var(--accent)/.4);transform:scale(1)}50%{box-shadow:0 0 0 6px #6467f200;box-shadow:0 0 0 6px hsl(var(--accent)/0);transform:scale(1.08)}to{box-shadow:0 0 0 0 #6467f200;box-shadow:0 0 0 0 hsl(var(--accent)/0);transform:scale(1)}}.file-tree-item{align-items:center;border-radius:.375rem;cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;padding:.375rem .75rem;transition:background-color .15s}.file-tree-item:hover{background:#171e30;background:hsl(var(--sidebar-hover))}.file-tree-item.active{background:#6467f21a;background:hsl(var(--accent)/.1);color:#6467f2;color:hsl(var(--accent))}.stat-card{padding:1.25rem;text-align:left}.stat-value{font-family:Space Grotesk,sans-serif;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#6b7280;color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:500;margin-top:.25rem}.spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #6467f2;border:3px solid hsl(var(--muted));border-radius:50%;border-top-color:hsl(var(--accent));height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.chip{background:#f3f4f6;background:hsl(var(--secondary));border:1px solid #e5e7eb;border:1px solid hsl(var(--border));border-radius:9999px;color:#6b7280;color:hsl(var(--muted-foreground));cursor:pointer;font-size:.75rem;font-weight:500;padding:.375rem .875rem;transition:background-color .15s,color .15s,border-color .15s}.chip:hover{background:#6467f21a;background:hsl(var(--accent)/.1);border-color:#6467f24d;border-color:hsl(var(--accent)/.3);color:#6467f2;color:hsl(var(--accent))}.mobile-topbar,.sidebar-overlay{display:none}@media (max-width:768px){.mobile-topbar{align-items:center;background:#fff;background:hsl(var(--card));border-bottom:1px solid #e5e7eb;border-bottom:1px solid hsl(var(--border));display:flex;height:48px;justify-content:space-between;left:0;padding:.625rem 1rem;position:fixed;right:0;top:0;z-index:35}.mobile-topbar-brand{align-items:center;display:flex;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;gap:.5rem}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:.375rem;color:#161b27;color:hsl(var(--foreground));cursor:pointer;display:flex;justify-content:center;padding:.375rem;transition:background-color .15s}.mobile-menu-btn:hover{background:#f3f4f6;background:hsl(var(--secondary))}.sidebar-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;display:block;inset:0;position:fixed;z-index:39}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-sidebar{box-shadow:4px 0 24px #00000026;transform:translateX(-100%);width:260px}.app-sidebar.open{transform:translateX(0)}.app-shell{flex-direction:column}.app-main{margin-left:0!important;min-width:0!important;padding-top:48px;width:100%!important}.app-content{max-width:100%!important;overflow-x:hidden!important;padding:1rem!important}.tab-list{-webkit-overflow-scrolling:touch;gap:0;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-trigger{font-size:.75rem;padding:.5rem .75rem}.step-track{padding:.5rem 0}.step-item{min-width:50px}.step-icon{font-size:.625rem;height:28px;width:28px}.step-label{font-size:.5rem}.step-connector{width:16px}.card{padding:.75rem}.code-block{font-size:.6875rem;max-width:100%;overflow-x:auto}.sidebar-brand{padding:1rem 1.25rem}.App,.app-shell,body{max-width:100vw;overflow-x:hidden}}
/*# sourceMappingURL=main.69e61471.css.map*/