:root{--primary:#36c;--primary-dark:#094cb2;--primary-container:#e7ebff;--on-primary-container:#002a78;--background:#fafaf9;--surface:#fff;--surface-subtle:#f8fafc;--surface-container:#f1f5f9;--surface-container-high:#e2e8f0;--on-surface:#0f172a;--on-surface-variant:#475569;--outline:#64748b;--outline-variant:#e2e8f0;--tertiary:#059669;--tertiary-container:#ecfdf5;--error:#dc2626;--error-container:#fef2f2;--bg:#fff;--bg-alt:#fafaf9;--bg-subtle:#f8fafc;--bg-contrast:#0f172a;--green:#059669;--green-hover:#047857;--green-light:#ecfdf5;--green-border:#a7f3d0;--blue:#36c;--blue-light:#e7ebff;--amber:#d97706;--amber-light:#fffbeb;--red:#dc2626;--red-light:#fef2f2;--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-faint:#94a3b8;--text-inverse:#fff;--border:#e2e8f0;--border-focus:#36c;--font-headline:"Noto Serif", serif;--font-body:"Inter", sans-serif;--font-label:"Public Sans", sans-serif;--font-mono:"JetBrains Mono", monospace;--margin:1rem;--margin-tablet:2rem;--margin-desktop:3.5rem;--shadow-sm:0 1px 3px 0 #0f172a0f, 0 1px 2px -1px #0f172a0a;--shadow-md:0 4px 6px -1px #0f172a0f, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a0a;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:64px}body{background-color:var(--background);color:var(--on-surface);font-family:var(--font-body);overscroll-behavior:none;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);color:var(--on-surface);font-weight:700;line-height:1.25}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::selection{color:var(--primary-dark);background:#36c3}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;vertical-align:middle;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.ss-container,.container{width:100%;max-width:1440px;padding:0 var(--margin);margin:0 auto}@media (width>=768px){.ss-container,.container{padding:0 var(--margin-tablet)}}@media (width>=1024px){.ss-container,.container{padding:0 var(--margin-desktop)}}.font-headline{font-family:var(--font-headline)}.font-body{font-family:var(--font-body)}.font-label{font-family:var(--font-label)}.font-mono{font-family:var(--font-mono)}.text-primary{color:var(--primary)}.text-primary-dark{color:var(--primary-dark)}.text-tertiary{color:var(--tertiary)}.text-error{color:var(--error)}.text-outline{color:var(--outline)}.text-on-surface{color:var(--on-surface)}.text-on-surface-variant{color:var(--on-surface-variant)}.eyebrow{font-family:var(--font-label);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);font-size:.6875rem;font-weight:700;display:inline-block}.btn-primary{background:var(--primary);color:#fff;font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:4px;align-items:center;gap:6px;padding:10px 20px;font-size:.6875rem;font-weight:700;text-decoration:none;transition:background .18s,box-shadow .18s,transform .18s;display:inline-flex}.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{background:var(--surface);color:var(--on-surface);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--outline-variant);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:10px 18px;font-size:.6875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-outline:hover{background:var(--surface-container);border-color:#cbd5e1}.btn{font-family:var(--font-label);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.btn-secondary{background-color:var(--surface);color:var(--on-surface);border-color:var(--outline-variant)}.btn-secondary:hover{background-color:var(--surface-subtle);border-color:var(--outline)}.ss-card,.card{background:var(--surface);border:1px solid var(--outline-variant);box-shadow:var(--shadow-sm);border-radius:8px;transition:border-color .2s,box-shadow .2s}.ss-card:hover,.card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.progress-track{background:var(--surface-container-high);border-radius:9999px;width:100%;height:6px;overflow:hidden}.progress-fill{border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-fill-primary{background:var(--primary)}.progress-fill-tertiary{background:var(--tertiary)}.progress-fill-error{background:var(--error)}.terminal-window{font-family:var(--font-mono);color:#e2e8f0;background:#0f172a;border:1px solid #1e293b;border-radius:8px;font-size:.75rem}.terminal-topbar{border-bottom:1px solid #64748b4d;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.terminal-dots{align-items:center;gap:6px;display:flex}.terminal-dot{border-radius:50%;width:12px;height:12px;display:inline-block}.terminal-body{background:#0b1120;border:1px solid #1e293b;border-radius:4px;flex-direction:column;gap:6px;margin:16px;padding:16px;line-height:1.6;display:flex;overflow-x:auto}.status-online{background:var(--surface);border:1px solid var(--outline-variant);font-family:var(--font-mono);color:var(--tertiary);letter-spacing:.05em;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.status-dot{background:var(--tertiary);border-radius:50%;width:6px;height:6px}.graph-node{cursor:pointer;background:var(--surface);border:1px solid var(--outline-variant);box-shadow:var(--shadow-sm);border-radius:4px;padding:12px;transition:border-color .2s,box-shadow .2s}.graph-node:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.graph-node-central{cursor:pointer;border:2px solid var(--primary);box-shadow:var(--shadow-md);background:#e7ebff66;border-radius:6px;padding:16px}.graph-node-error{cursor:pointer;background:var(--error-container);border:1px solid var(--error);box-shadow:var(--shadow-sm);border-radius:4px;padding:12px}.pipeline-card{background:var(--surface-subtle);border:1px solid var(--outline-variant);cursor:default;border-radius:8px;flex-direction:column;justify-content:space-between;padding:20px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.pipeline-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.pipeline-card:hover .pipeline-icon{color:var(--primary)}.pipeline-icon{color:var(--outline);transition:color .2s}.passport-row{font-family:var(--font-mono);border-bottom:1px solid #e2e8f099;justify-content:space-between;align-items:center;padding:8px 0;font-size:.75rem;display:flex}.passport-row:last-child{border-bottom:none}.compare-table{text-align:left;width:100%;font-family:var(--font-body);border-collapse:collapse;font-size:.75rem}.compare-table thead{background:var(--surface-subtle)}.compare-table th{font-family:var(--font-label);color:var(--outline);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--outline-variant);padding:12px 16px;font-size:.625rem;font-weight:700}.compare-table td{border-bottom:1px solid #e2e8f099;padding:14px 16px}.compare-table tbody tr:last-child td{border-bottom:none}.compare-table tbody tr:hover td{background:#f8fafccc}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-ping{animation:1.2s cubic-bezier(0,0,.2,1) infinite ping}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@media (width<=640px){.hide-mobile{display:none!important}}@media (width>=641px){.show-mobile-only{display:none!important}}@media (width>=1024px){.desktop-two-col{grid-template-columns:7fr 5fr!important}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;box-sizing:border-box;background:#0f172aa6;justify-content:center;align-items:center;width:100vw;height:100vh;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) modalFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-container{color:var(--on-surface,#0f172a);border:1px solid var(--outline-variant,#e2e8f0);box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:calc(100vh - 40px);margin:auto;padding:32px 28px;animation:.22s cubic-bezier(.16,1,.3,1) modalScaleUp;position:relative;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #0f172a0d}.modal-close{width:32px;height:32px;color:var(--text-muted,#64748b);cursor:pointer;z-index:10;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.modal-close:hover{background:var(--surface-container,#f1f5f9);color:var(--on-surface,#0f172a);border-color:var(--outline-variant,#e2e8f0)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.form-group{text-align:left;flex-direction:column;width:100%;margin-bottom:14px;display:flex}.form-label{font-family:var(--font-body);color:var(--on-surface,#0f172a);margin-bottom:6px;font-size:.8125rem;font-weight:600}.form-input{width:100%;font-size:.875rem;font-family:var(--font-body);color:var(--on-surface,#0f172a);background:var(--surface,#fff);border:1px solid var(--outline-variant,#e2e8f0);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--primary,#36c);box-shadow:0 0 0 3px #3366cc2e}.form-input::placeholder{color:var(--outline,#94a3b8)}.badge{border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;line-height:1;display:inline-flex}.badge-green{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.badge-blue{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}
