@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root,[data-theme=dark]{--bg-primary:#0d1117;--bg-secondary:#161b22;--bg-tertiary:#1c2333;--bg-card:hsla(0,0%,100%,.035);--bg-card-hover:#ffffff0f;--bg-card-solid:#161b22;--bg-sidebar:#010409;--bg-input:#ffffff0d;--bg-overlay:#000000b3;--bg-topbar:#0d1117d9;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-active:#4f8ff780;--accent-primary:#4f8ff7;--accent-green:#3fb68b;--accent-red:#e5534b;--accent-amber:#d4992a;--accent-purple:#a37aef;--accent-cyan:#39afd4;--severity-critical:#e5534b;--severity-high:#d4992a;--severity-medium:#4f8ff7;--severity-low:#636e7b;--status-pass:#3fb68b;--status-fail:#e5534b;--cloud-aws:#f90;--cloud-azure:#0078d4;--cloud-gcp:#4285f4;--cloud-iac:#844fba;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#636e7b;--text-inverse:#0d1117;--text-on-accent:#fff;--shadow-sm:0 1px 2px #0000004d;--shadow-card:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-card-hover:0 8px 24px #0006;--shadow-glow-blue:0 0 16px #4f8ff71f;--glass-bg:#ffffff08;--glass-border:#ffffff0f;--scrollbar-thumb:#ffffff1a;--scrollbar-thumb-hover:#fff3;--skeleton-from:#ffffff08;--skeleton-to:#ffffff0f;--hover-overlay:#ffffff0a;--active-overlay:#4f8ff714;color-scheme:dark}[data-theme=light]{--bg-primary:#f6f8fa;--bg-secondary:#fff;--bg-tertiary:#f0f2f5;--bg-card:#fff;--bg-card-hover:#f6f8fa;--bg-card-solid:#fff;--bg-sidebar:#fff;--bg-input:#f6f8fa;--bg-overlay:#00000080;--bg-topbar:#ffffffe6;--border-subtle:#e1e4e8;--border-default:#d0d7de;--border-active:#4f8ff780;--accent-primary:#2563eb;--accent-green:#059669;--accent-red:#dc2626;--accent-amber:#d97706;--accent-purple:#7c3aed;--accent-cyan:#0891b2;--severity-critical:#dc2626;--severity-high:#d97706;--severity-medium:#2563eb;--severity-low:#6b7280;--status-pass:#059669;--status-fail:#dc2626;--cloud-aws:#d97706;--cloud-azure:#0078d4;--cloud-gcp:#1a73e8;--cloud-iac:#7c3aed;--text-primary:#1a1d25;--text-secondary:#5f6b7a;--text-muted:#8b949e;--text-inverse:#fff;--text-on-accent:#fff;--shadow-sm:0 1px 2px #0000000d;--shadow-card:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-card-hover:0 8px 24px #0000001a;--shadow-glow-blue:0 0 0 3px #2563eb1a;--glass-bg:#fff;--glass-border:#e1e4e8;--scrollbar-thumb:#00000026;--scrollbar-thumb-hover:#00000040;--skeleton-from:#e1e4e8;--skeleton-to:#f0f2f5;--hover-overlay:#00000008;--active-overlay:#2563eb0f;color-scheme:light}:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code","Consolas",monospace;--sidebar-width:240px;--sidebar-collapsed:64px;--topbar-height:56px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1);--transition-theme:350ms ease}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d1117;background:var(--bg-primary);color:#e6edf3;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);margin:0;overflow-x:hidden;padding:0;transition:background .35s ease,color .35s ease;transition:background var(--transition-theme),color var(--transition-theme)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1a;background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3;background:var(--scrollbar-thumb-hover)}.app-layout{display:flex;min-height:100vh}.sidebar{background:#010409;background:var(--bg-sidebar);border-right:1px solid #ffffff0f;border-right:1px solid var(--border-subtle);bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;top:0;transition:width .25s cubic-bezier(.4,0,.2,1),background .35s ease;transition:width var(--transition-base),background var(--transition-theme);width:240px;width:var(--sidebar-width);z-index:100}.sidebar.collapsed{width:64px;width:var(--sidebar-collapsed)}.sidebar-brand{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);gap:12px;height:56px;height:var(--topbar-height);padding:0 16px}.sidebar-brand,.sidebar-brand .brand-icon{align-items:center;display:flex;flex-shrink:0}.sidebar-brand .brand-icon{background:linear-gradient(135deg,#4f8ff7,#a37aef);background:linear-gradient(135deg,var(--accent-primary),var(--accent-purple));border-radius:6px;border-radius:var(--radius-sm);color:#fff;height:32px;justify-content:center;width:32px}.sidebar-brand .brand-text{font-size:15px;font-weight:700;letter-spacing:-.3px;opacity:1;transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast);white-space:nowrap}.sidebar.collapsed .brand-text{opacity:0;pointer-events:none}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:12px 8px}.sidebar-section-label{color:#636e7b;color:var(--text-muted);font-size:10px;font-weight:600;letter-spacing:1.2px;overflow:hidden;padding:16px 12px 6px;text-transform:uppercase;white-space:nowrap}.sidebar.collapsed .sidebar-section-label{font-size:0;text-align:center}.nav-item{align-items:center;border-radius:6px;border-radius:var(--radius-sm);color:#8b949e;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13.5px;font-weight:500;gap:12px;padding:10px 12px;position:relative;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);white-space:nowrap}.nav-item:hover{background:#ffffff0a;background:var(--hover-overlay);color:#e6edf3;color:var(--text-primary)}.nav-item.active{background:#4f8ff714;background:var(--active-overlay);color:#4f8ff7;color:var(--accent-primary)}.nav-item.active:before{background:#4f8ff7;background:var(--accent-primary);border-radius:0 3px 3px 0;content:"";height:20px;left:-8px;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-item .nav-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.nav-item .nav-icon svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;height:18px;width:18px}.nav-item .nav-label{opacity:1;transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast)}.sidebar.collapsed .nav-label{opacity:0;pointer-events:none}.sidebar-footer{border-top:1px solid #ffffff0f;border-top:1px solid var(--border-subtle);flex-shrink:0;padding:12px 16px}.sidebar-user{align-items:center;display:flex;gap:10px}.sidebar-user .user-avatar{align-items:center;background:linear-gradient(135deg,#a37aef,#4f8ff7);background:linear-gradient(135deg,var(--accent-purple),var(--accent-primary));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.sidebar-user .user-info{opacity:1;overflow:hidden;transition:opacity .15s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-fast)}.sidebar.collapsed .user-info{opacity:0;pointer-events:none}.sidebar-user .user-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user .user-role{color:#636e7b;color:var(--text-muted);font-size:11px}.main-content{flex:1 1;margin-left:240px;margin-left:var(--sidebar-width);min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1);transition:margin-left var(--transition-base)}.sidebar.collapsed~.main-content{margin-left:64px;margin-left:var(--sidebar-collapsed)}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1117d9;background:var(--bg-topbar);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);gap:16px;height:56px;height:var(--topbar-height);padding:0 24px;position:sticky;top:0;transition:background .35s ease,border-color .35s ease;transition:background var(--transition-theme),border-color var(--transition-theme);z-index:50}.topbar,.topbar-collapse-btn{align-items:center;display:flex}.topbar-collapse-btn{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#8b949e;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:6px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.topbar-collapse-btn:hover{background:#ffffff0a;background:var(--hover-overlay);color:#e6edf3;color:var(--text-primary)}.topbar-search{flex:1 1;max-width:400px;position:relative}.topbar-search input{background:#ffffff0d;background:var(--bg-input);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);color:#e6edf3;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;outline:none;padding:8px 12px 8px 36px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.topbar-search input::placeholder{color:#636e7b;color:var(--text-muted)}.topbar-search input:focus{border-color:#4f8ff7;border-color:var(--accent-primary);box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue)}.topbar-search .search-icon{color:#636e7b;color:var(--text-muted);display:flex;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.topbar-search .search-icon svg{stroke:currentColor;fill:none;stroke-width:2;height:15px;width:15px}.topbar-actions{gap:4px;margin-left:auto}.topbar-actions,.topbar-btn{align-items:center;display:flex}.topbar-btn{background:none;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#8b949e;color:var(--text-secondary);cursor:pointer;justify-content:center;padding:8px;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.topbar-btn:hover{background:#ffffff0a;background:var(--hover-overlay);color:#e6edf3;color:var(--text-primary)}.topbar-btn svg{stroke:currentColor;fill:none;stroke-width:1.8;height:18px;width:18px}.topbar-btn .notification-dot{background:#e5534b;background:var(--accent-red);border-radius:50%;height:6px;position:absolute;right:6px;top:6px;width:6px}.theme-toggle{align-items:center;background:none;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;border-radius:var(--radius-sm);color:#8b949e;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;justify-content:center;padding:6px 8px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}[data-theme=dark] .theme-toggle{border-color:#f59e0b4d;color:#f59e0b}[data-theme=dark] .theme-toggle:hover{background:#f59e0b1a;border-color:#f59e0b80;color:#fbbf24}.theme-toggle:hover{background:#ffffff0a;background:var(--hover-overlay);border-color:#ffffff1a;border-color:var(--border-default);color:#e6edf3;color:var(--text-primary)}.page-content{max-width:1400px;padding:28px}.glass-card{background:hsla(0,0%,100%,.035);background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}[data-theme=dark] .glass-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.glass-card:hover{background:#ffffff0f;background:var(--bg-card-hover);border-color:#ffffff1a;border-color:var(--border-default);box-shadow:0 8px 24px #0006;box-shadow:var(--shadow-card-hover)}.glass-card.no-hover:hover{border-color:#ffffff0f;border-color:var(--border-subtle)}.glass-card.no-hover:hover,.stat-card{background:hsla(0,0%,100%,.035);background:var(--bg-card);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm)}.stat-card{border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-lg);overflow:hidden;padding:24px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.stat-card:before{background:#4f8ff7;background:var(--card-accent,var(--accent-primary));bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.stat-card:hover{background:#ffffff0f;background:var(--bg-card-hover);box-shadow:0 8px 24px #0006;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.stat-card .stat-label{color:#636e7b;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:10px;text-transform:uppercase}.stat-card .stat-value{font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1;margin-bottom:4px}.stat-card .stat-subtext{color:#8b949e;color:var(--text-secondary);font-size:12px}.stat-card .stat-icon{font-size:20px;opacity:.2;position:absolute;right:16px;top:16px}.severity-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.severity-badge:before{border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.severity-badge.critical{background:#e5534b1a;color:#e5534b;color:var(--severity-critical)}.severity-badge.critical:before{background:#e5534b;background:var(--severity-critical)}.severity-badge.high{background:#d4992a1a;color:#d4992a;color:var(--severity-high)}.severity-badge.high:before{background:#d4992a;background:var(--severity-high)}.severity-badge.medium{background:#4f8ff71a;color:#4f8ff7;color:var(--severity-medium)}.severity-badge.medium:before{background:#4f8ff7;background:var(--severity-medium)}.severity-badge.low{background:#636e7b1a;color:#636e7b;color:var(--severity-low)}.severity-badge.low:before{background:#636e7b;background:var(--severity-low)}[data-theme=light] .severity-badge.critical{background:#fef2f2;color:#b91c1c}[data-theme=light] .severity-badge.high{background:#fffbeb;color:#92400e}[data-theme=light] .severity-badge.medium{background:#eff6ff;color:#1d4ed8}[data-theme=light] .severity-badge.low{background:#f3f4f6;color:#4b5563}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.status-badge.pass{background:#3fb68b1a;color:#3fb68b;color:var(--status-pass)}.status-badge.fail{background:#e5534b1a;color:#e5534b;color:var(--status-fail)}[data-theme=light] .status-badge.pass{background:#ecfdf5;color:#047857}[data-theme=light] .status-badge.fail{background:#fef2f2;color:#b91c1c}.cloud-badge{align-items:center;border-radius:6px;border-radius:var(--radius-sm);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.cloud-badge.aws{background:#ff99001a;color:#f90;color:var(--cloud-aws)}.cloud-badge.azure{background:#0078d41a;color:#0078d4;color:var(--cloud-azure)}.cloud-badge.gcp{background:#4285f41a;color:#4285f4;color:var(--cloud-gcp)}.cloud-badge.iac{background:#844fba1a;color:#844fba;color:var(--cloud-iac)}.btn-primary-glow{background:#4f8ff7;background:var(--accent-primary);border:none;border-radius:10px;border-radius:var(--radius-md);color:#fff;color:var(--text-on-accent);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:600;padding:10px 20px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-primary-glow:hover{box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue);filter:brightness(1.1);transform:translateY(-1px)}.btn-primary-glow:disabled{box-shadow:none;cursor:not-allowed;filter:none;opacity:.5;transform:none}.btn-ghost{background:#0000;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);color:#8b949e;color:var(--text-secondary);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-ghost:hover{background:#ffffff0a;background:var(--hover-overlay);border-color:#ffffff1a;border-color:var(--border-default);color:#e6edf3;color:var(--text-primary)}.btn-danger-ghost{background:#0000;border:1px solid #e5534b33;border-radius:10px;border-radius:var(--radius-md);color:#e5534b;color:var(--accent-red);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.btn-danger-ghost:hover{background:#e5534b0f}.form-input{background:#ffffff0d;background:var(--bg-input);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);color:#e6edf3;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;outline:none;padding:10px 14px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:100%}.form-input::placeholder{color:#636e7b;color:var(--text-muted)}.form-input:focus{border-color:#4f8ff7;border-color:var(--accent-primary);box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue)}[data-theme=light] .form-input{background:#fff;border-color:#ffffff1a;border-color:var(--border-default)}.form-label{color:#8b949e;color:var(--text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.form-select{appearance:none;background:#ffffff0d url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%238b949e' d='M6 8 1 3h10z'/%3E%3C/svg%3E") no-repeat right 12px center;background:var(--bg-input) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%238b949e' d='M6 8 1 3h10z'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);color:#e6edf3;color:var(--text-primary);cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:13px;outline:none;padding:10px 32px 10px 14px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.form-select:focus{border-color:#4f8ff7;border-color:var(--accent-primary);box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue)}.form-select option,select option{background:#161b22;background:var(--bg-secondary);color:#e6edf3;color:var(--text-primary)}[data-theme=dark] .form-select,[data-theme=dark] select{color-scheme:dark}[data-theme=light] .form-select{background-color:#fff;border-color:#ffffff1a;border-color:var(--border-default)}.toggle-switch{align-items:center;color:#8b949e;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;gap:10px;position:relative}.toggle-switch input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#ffffff1a;background:var(--border-default);border-radius:10px;flex-shrink:0;height:20px;position:relative;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast);width:36px}.toggle-slider:after{background:#161b22;background:var(--bg-secondary);border-radius:50%;box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);content:"";height:16px;left:2px;position:absolute;top:2px;transition:transform .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1);transition:transform var(--transition-fast),background var(--transition-fast);width:16px}.toggle-switch input:checked+.toggle-slider{background:#4f8ff7;background:var(--accent-primary)}.toggle-switch input:checked+.toggle-slider:after{background:#fff;transform:translateX(16px)}.data-table{border-collapse:initial;border-spacing:0;font-size:13px;width:100%}.data-table thead th{background:#ffffff0a;background:var(--hover-overlay);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);color:#636e7b;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.8px;padding:10px 14px;text-align:left;text-transform:uppercase;transition:color .15s cubic-bezier(.4,0,.2,1);transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table thead th:hover{color:#8b949e;color:var(--text-secondary)}.data-table tbody tr{transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#ffffff0a;background:var(--hover-overlay)}.data-table tbody td{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);color:#8b949e;color:var(--text-secondary);padding:10px 14px;vertical-align:middle}.data-table tbody tr.expandable-row{cursor:pointer}.data-table tbody tr.expanded-content td{border:none;padding:0}.row-expand-content{animation:slideDown ease-out .25s cubic-bezier(.4,0,.2,1);animation:slideDown var(--transition-base) ease-out;background:#ffffff0a;background:var(--hover-overlay);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border-subtle);padding:16px 24px}.chart-container{position:relative;width:100%}.scan-progress{padding:20px 0}.scan-progress,.scan-step{align-items:center;display:flex;gap:8px}.scan-step{color:#636e7b;color:var(--text-muted);font-size:13px}.scan-step.active{color:#4f8ff7;color:var(--accent-primary)}.scan-step.complete{color:#3fb68b;color:var(--accent-green)}.scan-step-dot{align-items:center;border:2px solid #ffffff0f;border:2px solid var(--border-subtle);border-radius:50%;display:flex;flex-shrink:0;font-size:12px;height:28px;justify-content:center;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast);width:28px}.scan-step.active .scan-step-dot{background:#4f8ff714;background:var(--active-overlay);border-color:#4f8ff7;border-color:var(--accent-primary)}.scan-step.complete .scan-step-dot{background:#3fb68b;background:var(--accent-green);border-color:#3fb68b;border-color:var(--accent-green);color:#fff}.scan-connector{background:#ffffff0f;background:var(--border-subtle);height:2px;transition:background .15s cubic-bezier(.4,0,.2,1);transition:background var(--transition-fast);width:40px}.scan-connector.complete{background:#3fb68b;background:var(--accent-green)}.provider-card{background:hsla(0,0%,100%,.035);background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;padding:28px;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}.provider-card:hover{background:#ffffff0f;background:var(--bg-card-hover);border-color:#ffffff1a;border-color:var(--border-default);box-shadow:0 8px 24px #0006;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.provider-card.selected{background:#4f8ff714;background:var(--active-overlay);border-color:#4f8ff7;border-color:var(--accent-primary);box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue)}.provider-card .provider-icon{font-size:32px;margin-bottom:12px}.provider-card .provider-name{font-size:14px;font-weight:600;margin-bottom:4px}.provider-card .provider-desc{color:#636e7b;color:var(--text-muted);font-size:12px}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-in{animation:fadeIn ease-out .4s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-slow) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f 50%,#ffffff08 75%);background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:200% 100%;border-radius:6px;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-heading{height:28px;margin-bottom:12px;width:40%}.skeleton-card{border-radius:14px;border-radius:var(--radius-lg);height:100px}.page-header{margin-bottom:28px}.page-header h1{font-size:22px;font-weight:700;letter-spacing:-.5px;margin:0 0 4px}.page-header p{color:#8b949e;color:var(--text-secondary);font-size:13px;margin:0}@media (max-width:768px){.sidebar{width:64px;width:var(--sidebar-collapsed)}.sidebar .brand-text,.sidebar .nav-label,.sidebar .sidebar-section-label,.sidebar .user-info{opacity:0;pointer-events:none}.main-content{margin-left:64px;margin-left:var(--sidebar-collapsed)}}@media print{:root{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-card:#fff;--text-primary:#000;--text-secondary:#4a5568;--border-subtle:#e2e8f0}.sidebar,.topbar{display:none!important}.main-content{margin-left:0!important}body{background:#fff!important;color:#000!important}.animate-in{animation:none!important}}.attack-path-layout{display:flex;gap:16px;height:calc(100vh - 156px);height:calc(100vh - var(--topbar-height) - 100px);margin-top:16px}.attack-path-sidebar{display:flex;flex-direction:column;flex-shrink:0;gap:16px;overflow-y:auto;padding-right:4px;width:280px}.attack-path-sidebar::-webkit-scrollbar{width:4px}.attack-path-graph-container{flex:1 1;height:100%;overflow:hidden;position:relative}.attack-path-details,.attack-path-graph-container{background:hsla(0,0%,100%,.035);background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:14px;border-radius:var(--radius-lg)}.attack-path-details{flex-shrink:0;gap:16px;overflow-y:auto;padding:20px;width:320px}.attack-node,.attack-path-details{display:flex;flex-direction:column}.attack-node{background:#161b22;background:var(--bg-card-solid);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);cursor:pointer;gap:8px;min-width:220px;padding:12px 16px;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}[data-theme=dark] .attack-node{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#161b22d9}.attack-node:hover{border-color:#ffffff1a;border-color:var(--border-default);box-shadow:0 8px 24px #0006;box-shadow:var(--shadow-card-hover)}.attack-node.selected{border-color:#4f8ff7;border-color:var(--accent-primary);box-shadow:0 0 16px #4f8ff71f;box-shadow:var(--shadow-glow-blue)}.attack-node[data-severity=CRITICAL]{border-left:4px solid #e5534b;border-left:4px solid var(--severity-critical)}.attack-node[data-severity=HIGH]{border-left:4px solid #d4992a;border-left:4px solid var(--severity-high)}.attack-node[data-severity=MEDIUM]{border-left:4px solid #4f8ff7;border-left:4px solid var(--severity-medium)}.attack-node[data-severity=LOW]{border-left:4px solid #636e7b;border-left:4px solid var(--severity-low)}.attack-node-header{align-items:center;display:flex;gap:10px}.attack-node-icon{align-items:center;background:#ffffff0d;border-radius:6px;border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;width:28px}[data-theme=light] .attack-node-icon{background:#0000000d}.attack-node-type{color:#636e7b;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.attack-node-title{color:#e6edf3;color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3;word-break:break-word}.attack-node-meta{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.attack-node-score{background:#ffffff0d;border-radius:4px;color:#8b949e;color:var(--text-secondary);font-size:11px;font-weight:600;padding:2px 6px}[data-theme=light] .attack-node-score{background:#0000000d}.attack-edge-label{background:#161b22;background:var(--bg-card-solid);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 1px 2px #0000004d;box-shadow:var(--shadow-sm);color:#8b949e;color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.react-flow__handle{background:#ffffff1a;background:var(--border-default);border:none;height:6px;width:6px}.react-flow__handle-left{left:-4px}.react-flow__handle-right{right:-4px}[data-theme=dark] .react-flow__panel{background:#0000}[data-theme=dark] .react-flow__controls button{fill:#e6edf3;fill:var(--text-primary);background:#161b22;background:var(--bg-card-solid);border-color:#ffffff0f;border-color:var(--border-subtle);color:#e6edf3;color:var(--text-primary)}[data-theme=dark] .react-flow__controls button:hover{background:#ffffff0a;background:var(--hover-overlay)}[data-theme=dark] .react-flow__minimap{background:#161b22;background:var(--bg-card-solid);border:1px solid #ffffff0f;border:1px solid var(--border-subtle)}[data-theme=dark] .react-flow__minimap-mask{fill:#00000080}.chain-list-item{background:hsla(0,0%,100%,.035);background:var(--bg-card);border:1px solid #ffffff0f;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-md);cursor:pointer;margin-bottom:8px;padding:12px;transition:all .15s cubic-bezier(.4,0,.2,1);transition:all var(--transition-fast)}.chain-list-item:hover{background:#ffffff0f;background:var(--bg-card-hover);border-color:#ffffff1a;border-color:var(--border-default)}.chain-list-item.selected{background:#4f8ff714;background:var(--active-overlay);border-color:#4f8ff7;border-color:var(--accent-primary)}.canvas-grid{background-image:radial-gradient(#c6c6cd 1px,#0000 0);background-size:32px 32px}@media print{.no-print,.sidebar,.topbar{display:none!important}.main-content{margin-left:0!important}.page-content{max-width:none!important;padding:0!important}body{background:#fff!important;color:#000!important;font-size:10pt!important}.glass-card,.provider-card,.stat-card{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:none!important}.data-table{border:1px solid #e2e8f0!important;font-size:9pt!important}.data-table thead th{background:#f7fafc!important;border-bottom:2px solid #e2e8f0!important;color:#2d3748!important}.data-table tbody td{border-bottom:1px solid #e2e8f0!important;color:#2d3748!important}.data-table tbody tr:hover{background:#0000!important}.cloud-badge,.severity-badge,.status-badge{border:1px solid #999!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}canvas{max-width:100%!important}.findings-section{page-break-inside:avoid}.animate-in{animation:none!important}.print-full-table{max-height:none!important;overflow:visible!important}.print-full-text{max-width:none!important;overflow:visible!important;white-space:normal!important}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@property --count-value{syntax:"<integer>";initial-value:0;inherits:false}.lp3{--bg:#fcfaf7;--bg-alt:#fff;--bg-soft:#f7f4ef;--bg-deep:#1c1917;--bg-deep-2:#292524;--ink:#1c1917;--ink-2:#57534e;--ink-3:#6b625c;--ink-4:#78716c;--ink-inv:#f5f5f4;--ink-inv-2:#a8a29e;--line:#e7e5e4;--line-2:#d6d3d1;--line-inv:#ffffff1a;--accent:#047857;--accent-h:#065f46;--accent-tint:#0478571a;--accent-soft:#edf6f1;--blue:#2563eb;--cube-dark:#e4ede7;--danger:#b3261e;--amber:#b45309;--highlight:#c0453c;--r-sm:8px;--r:12px;--r-lg:16px;--r-pill:9999px;--font:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--shell:1280px;--shell-narrow:1024px;--gut:32px;--section-y:96px;--section-y-tight:64px;--ease:cubic-bezier(0.22,1,0.36,1);--dur-fast:160ms;--dur:400ms;font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;font-variant-numeric:tabular-nums;line-height:1.6;min-height:100vh;text-rendering:optimizeLegibility}.lp3 *,.lp3 :after,.lp3 :before{box-sizing:border-box}.lp3 a{color:inherit;text-decoration:none}.lp3 ::selection{background:#04785724;color:var(--ink)}.lp3 :focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:3px}@supports (scrollbar-color:red blue){.lp3{scrollbar-color:var(--line-2) var(--bg);scrollbar-width:thin}}.lp3 .shell{margin:0 auto;max-width:var(--shell);padding:0 var(--gut)}.lp3 .shell--narrow{max-width:var(--shell-narrow)}.lp3 .band{border-top:1px solid var(--line);padding:var(--section-y) 0;scroll-margin-top:88px}.lp3 .band--alt{background:var(--bg-alt)}.lp3 .band--tight{padding:var(--section-y-tight) 0}.lp3 h1,.lp3 h2,.lp3 h3,.lp3 h4{text-wrap:balance;font-weight:500;letter-spacing:-.025em;line-height:1.06;margin:0}.lp3 h1{font-size:clamp(34px,3.9vw,56px);letter-spacing:-.028em;line-height:1.02}.lp3 h2{font-size:clamp(28px,2.9vw,42px)}.lp3 h3{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.lp3 h4{font-size:16.5px;font-weight:600;letter-spacing:-.015em;line-height:1.35}.lp3 .lede{color:var(--ink-2);font-size:17px;line-height:1.62;margin:20px 0 0;max-width:62ch}.lp3 .body{color:var(--ink-2);font-size:15.5px;line-height:1.65;margin:0;max-width:66ch}.lp3 .micro{color:var(--ink-3);font-size:13px;font-weight:400;line-height:1.55}.lp3 .marker{color:var(--ink-4);font-size:14px;letter-spacing:.01em}.lp3 .marker,.lp3 .phase{display:block;font-weight:500}.lp3 .phase{color:var(--ink-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;margin-top:6px}.lp3 .head{max-width:760px}.lp3 .head .marker+h2,.lp3 .head .phase+h2{margin-top:22px}.lp3 .head--center{margin:0 auto;text-align:center}.lp3 .head--center .lede{margin-left:auto;margin-right:auto}.lp3 .swash{color:var(--highlight);white-space:nowrap}.lp3 .btn{align-items:center;background:#0000;border:.8px solid #0000;border-radius:var(--r-pill);color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;justify-content:center;line-height:1;padding:11px 20px;transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease;white-space:nowrap}.lp3 .btn--primary{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.lp3 .btn--primary:hover{background:#04785729;color:var(--accent-h)}.lp3 .btn--ghost{background:#0000;border-color:var(--line);color:var(--ink)}.lp3 .btn--ghost:hover{background:var(--bg-soft);border-color:var(--line-2)}.lp3 .btn--onDeep{border-color:#fff3;color:var(--ink-inv)}.lp3 .btn--onDeep:hover{background:#ffffff12;border-color:#ffffff5c}.lp3 .btn--lg{font-size:15px;padding:13px 24px}.lp3 .btn--sm{font-size:13.5px;padding:9px 16px}.lp3 .btn[disabled]{cursor:default;opacity:.55}.lp3 .btn .arw{transition:transform .22s var(--ease)}.lp3 .btn:hover .arw{transform:translateX(3px)}.lp3 .tlink{align-items:center;border-bottom:1px solid #0000;color:var(--ink-2);display:inline-flex;font-size:14px;font-weight:500;gap:7px;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.lp3 .tlink:hover{border-bottom-color:var(--accent);color:var(--accent-h)}.lp3 .nav{-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);background:#fcfaf7e0;border-bottom:1px solid #0000;inset:0 0 auto 0;position:fixed;transition:border-color .2s ease;z-index:60}.lp3 .nav.is-stuck{border-bottom-color:var(--line)}.lp3 .nav-inner{gap:30px;height:64px;margin:0 auto;max-width:var(--shell);padding:0 var(--gut)}.lp3 .brand,.lp3 .nav-inner{align-items:center;display:flex}.lp3 .brand{gap:9px}.lp3 .brand .mark{color:var(--accent);display:block}.lp3 .brand .name{font-size:17px;font-weight:600;letter-spacing:-.025em}.lp3 .brand .sub{color:var(--ink-4);font-family:var(--font-mono);font-size:9px;font-weight:500;letter-spacing:.18em;padding-top:2px;text-transform:uppercase}.lp3 .nav-links{display:flex;gap:28px}.lp3 .nav-links a{color:var(--ink-2);font-size:14px;font-weight:500;transition:color var(--dur-fast) ease}.lp3 .nav-links a:hover{color:var(--ink)}.lp3 .nav-cta{align-items:center;display:flex;gap:10px;margin-left:auto}.lp3 .burger{align-items:center;background:#0000;border:.8px solid var(--line-2);border-radius:var(--r-pill);cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:0;width:40px}.lp3 .burger span{background:var(--ink);border-radius:2px;display:block;height:1.5px;transition:transform .22s var(--ease),opacity .15s ease;width:15px}.lp3 .nav--open .burger span:first-child{transform:translateY(6.5px) rotate(45deg)}.lp3 .nav--open .burger span:nth-child(2){opacity:0}.lp3 .nav--open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.lp3 .drawer{background:var(--bg);border-top:1px solid var(--line);display:none;flex-direction:column}.lp3 .drawer a{border-bottom:1px solid var(--line);color:var(--ink-2);font-size:14.5px;font-weight:500;padding:14px var(--gut)}.lp3 .drawer .drawer-cta{align-items:center;background:var(--accent-tint);border-bottom:0;color:var(--accent-h);display:flex;font-weight:600;gap:8px}.lp3 .nav--open .drawer{display:flex}.lp3 .hero{background-image:linear-gradient(180deg,#04785721 0,rgba(4,120,87,.075) 34%,rgba(4,120,87,.025) 68%,#04785700);overflow:hidden;padding:132px 0 0;position:relative}.lp3 .hero-inner{position:relative;text-align:center;z-index:1}.lp3 .hero h1{margin:0 auto;max-width:20ch}.lp3 .hero .lede{margin:22px auto 0;max-width:60ch}.lp3 .hero-vox{inset:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 240px),#0000);mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 240px),#0000);overflow:hidden;pointer-events:none;position:absolute;z-index:0}.lp3 .voxel-svg{display:block;height:100%;inset:0;position:absolute;width:100%}@media (max-width:860px){.lp3 .hero-vox{opacity:.55}}.lp3 .chip{align-items:center;background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);display:inline-flex;font-size:13px;font-weight:500;gap:9px;margin-bottom:26px;padding:5px 6px 5px 14px;transition:border-color var(--dur-fast) ease}.lp3 .chip:hover{border-color:var(--line-2)}.lp3 .chip .tagx{background:var(--accent-soft);border-radius:var(--r-pill);color:var(--accent-h);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.lp3 .chip .arw{color:var(--ink-4)}.lp3 .chip .chip-short{display:none}.lp3 .stats{display:flex;flex-wrap:wrap;gap:12px 56px;justify-content:center;margin:40px auto 0}.lp3 .stat{text-align:center}.lp3 .counter{font-feature-settings:"tnum";color:var(--ink);display:block;font-size:clamp(28px,2.6vw,36px);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em;line-height:1.1}.lp3 .counter:before{content:counter(stat) attr(data-suffix)}.lp3 .counter.is-running{animation:count-up 2.1s var(--ease) forwards;counter-reset:stat var(--count-value)}.lp3 .counter:not(.is-running){counter-reset:stat var(--count-to)}@keyframes count-up{0%{--count-value:0}to{--count-value:var(--count-to)}}.lp3 .stat .k{color:var(--ink-3);display:block;font-size:13px;margin-top:7px}.lp3 .capture-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:34px}.lp3 .capture{align-items:stretch;display:flex;width:min(460px,100%)}.lp3 .capture input{background:#fff;border:.8px solid var(--line-2);border-radius:var(--r-pill) 0 0 var(--r-pill);border-right:0;color:var(--ink);flex:1 1;font-family:inherit;font-size:14px;height:44px;min-width:0;outline:none;padding:0 16px;transition:border-color var(--dur-fast) ease}.lp3 .capture input::placeholder{color:var(--ink-4)}.lp3 .capture input:focus{border-color:var(--accent)}.lp3 .capture input[aria-invalid=true]{border-color:var(--danger)}.lp3 .capture .btn{border-radius:0 var(--r-pill) var(--r-pill) 0;height:44px;padding:0 20px}.lp3 .capture-err{color:var(--danger);font-size:12.5px;margin-top:10px;width:100%}.lp3 .hero-micro{color:var(--ink-2);margin-top:18px}.lp3 .collapse-fig{--p:1;margin-top:48px;position:relative}.lp3 .collapse-svg{display:block;height:auto;width:100%}.lp3 .cnode-ring{fill:var(--bg-alt);stroke:var(--ink-3);stroke-width:1.4}.lp3 .cnode-ring.is-terminal{stroke:var(--danger);stroke-width:2}.lp3 .cnode-core{fill:var(--ink-3)}.lp3 .cnode-core.is-terminal{fill:var(--danger)}.lp3 .clink{stroke:var(--danger);stroke-width:1.6;stroke-dasharray:5 4}.lp3 .clabel{fill:var(--ink)}.lp3 .clabel,.lp3 .crisk{font-family:var(--font-mono);font-size:12px;font-weight:500}.lp3 .crisk{fill:var(--danger);letter-spacing:.04em}.lp3 .cchain>g{--o:0;--pi:clamp(0,calc((var(--p) - var(--o))/0.46),1);clip-path:inset(0 calc((1 - var(--pi))*100%) 0 0);will-change:clip-path}.lp3 .cchain>g:nth-child(2){--o:0.16}.lp3 .cchain>g:nth-child(3){--o:0.32}.lp3 .cchain>g:nth-child(4){--o:0.48}.lp3 .collapse-count{align-items:baseline;display:flex;gap:16px;justify-content:center;margin-top:10px}.lp3 .collapse-count .from{color:var(--ink-3);font-size:17px;text-decoration:line-through;text-decoration-color:var(--line-2)}.lp3 .collapse-count .to{font-feature-settings:"tnum";color:var(--ink);font-size:clamp(28px,3vw,40px);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.03em}.lp3 .collapse-count .to em{color:var(--accent);font-style:normal}.lp3 .figcap{align-items:baseline;border-top:1px solid var(--line);color:var(--ink-3);display:flex;font-family:var(--font-mono);font-size:11.5px;gap:12px;line-height:1.6;margin:22px auto 0;max-width:760px;padding-top:14px}.lp3 .figcap b{color:var(--ink-2);flex:none;font-weight:600}.lp3 .stack-label{color:var(--ink-3);font-size:13px;margin-bottom:22px;text-align:center;width:100%}.lp3 .stack-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.lp3 .stack-item{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);font-size:13px;font-weight:500;padding:8px 15px}.lp3 .card{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);overflow:hidden;position:relative}.lp3 .card--warm{background:var(--bg)}.lp3 .how{grid-gap:72px;align-items:start;display:grid;gap:72px;grid-template-columns:minmax(0,.8fr) minmax(0,1fr)}.lp3 .how-side{position:sticky;top:112px}.lp3 .how-steps{list-style:none;margin:32px 0 0;padding:0}.lp3 .how-step{border-radius:var(--r);margin-bottom:4px;padding:13px 18px;position:relative;transition:background-color .24s var(--ease)}.lp3 .how-step.is-active{background:var(--accent)}.lp3 .how-step .sn{color:var(--ink-4);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em}.lp3 .how-step h3{color:var(--ink-3);font-size:20px;margin:4px 0 0;transition:color .2s ease}.lp3 .how-step.is-active h3{color:#fff}.lp3 .how-step.is-active .sbody p,.lp3 .how-step.is-active .sn{color:#ffffffe6}.lp3 .how-step .sbody{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .26s var(--ease),opacity .2s ease}.lp3 .how-step.is-active .sbody{grid-template-rows:1fr;opacity:1}.lp3 .how-step .sbody>div{overflow:hidden}.lp3 .how-step .sbody p{color:var(--ink-2);font-size:14.5px;line-height:1.62;margin:8px 0 0}.lp3 .how-visuals{display:flex;flex-direction:column;gap:88px}.lp3 .how-visual{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);display:flex;flex-direction:column;justify-content:center;min-height:440px;padding:26px}.lp3 .panel-head{border-bottom:1px solid var(--line);color:var(--ink-3);font-size:10.5px;font-weight:600;gap:12px;justify-content:space-between;letter-spacing:.07em;margin-bottom:16px;padding-bottom:13px;text-transform:uppercase}.lp3 .bar-row,.lp3 .panel-head{align-items:center;display:flex;font-family:var(--font-mono)}.lp3 .bar-row{font-size:12.5px;gap:14px}.lp3 .bar-row+.bar-row{margin-top:15px}.lp3 .bar-row .k{color:var(--ink);flex:none;font-weight:500;width:80px}.lp3 .bar-row .v{color:var(--ink-2);flex:none;text-align:right;width:44px}.lp3 .bar{background:var(--bg-soft);flex:1 1;height:7px;overflow:hidden}.lp3 .bar,.lp3 .bar>span{border-radius:var(--r-pill)}.lp3 .bar>span{background:var(--ink);display:block;height:100%}.lp3 .bar>span.is-danger{background:var(--danger)}.lp3 .fixlog{font-family:var(--font-mono);font-size:12.5px}.lp3 .fixlog-row{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;padding:12px 0}.lp3 .fixlog-row:last-child{border-bottom:0}.lp3 .fixlog-row .dot{border-radius:50%;flex:none;height:6px;width:6px}.lp3 .fixlog-row .dot.ok{background:var(--accent)}.lp3 .fixlog-row .dot.warn{background:var(--amber)}.lp3 .fixlog-row .txt{color:var(--ink-2);flex:1 1}.lp3 .fixlog-row .tag{color:var(--ink-4);font-size:11px}.lp3 .code{background:var(--bg-deep);border:.8px solid #3a3532;border-radius:var(--r-lg);font-family:var(--font-mono);font-size:12.5px;line-height:1.7;overflow:hidden}.lp3 .code-bar{align-items:center;background:var(--bg-deep-2);border-bottom:1px solid var(--line-inv);color:var(--ink-inv-2);display:flex;font-size:10.5px;gap:12px;letter-spacing:.06em;padding:10px 14px;text-transform:uppercase}.lp3 .code-bar .lights{display:flex;gap:6px}.lp3 .code-bar .lights span{border-radius:50%;height:9px;width:9px}.lp3 .code-bar .lights span:first-child{background:#ec6a5f}.lp3 .code-bar .lights span:nth-child(2){background:#f4bf50}.lp3 .code-bar .lights span:nth-child(3){background:#61c454}.lp3 .code-copy{background:#0000;border:.8px solid var(--line-inv);border-radius:var(--r-pill);color:var(--ink-inv-2);cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.06em;margin-left:auto;padding:5px 10px;text-transform:uppercase;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.lp3 .code-copy:hover{border-color:#ffffff4d;color:var(--ink-inv)}.lp3 .code-copy.is-done{border-color:#4ade8066;color:#4ade80}.lp3 .code pre{color:var(--ink-inv);margin:0;overflow-x:auto;padding:18px;tab-size:2;white-space:pre}.lp3 .code pre::-webkit-scrollbar{height:8px}.lp3 .code pre::-webkit-scrollbar-thumb{background:#44403c;border-radius:4px}.lp3 .tabs{border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:4px;margin-top:36px}.lp3 .tab{background:#0000;border:0;color:var(--ink-3);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:13px 18px;position:relative;transition:color var(--dur-fast) ease}.lp3 .tab:hover{color:var(--ink-2)}.lp3 .tab.is-active{color:var(--ink)}.lp3 .tab:after{background:var(--accent);bottom:-1px;content:"";height:1.5px;left:10px;position:absolute;right:10px;transform:scaleX(0);transition:transform .24s var(--ease)}.lp3 .tab.is-active:after{transform:scaleX(1)}.lp3 .grant{grid-gap:44px;display:grid;gap:44px;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);padding:36px 0 0}.lp3 .grant-rows{margin:0}.lp3 .grant-row{border-bottom:1px solid var(--line);padding:14px 0}.lp3 .grant-row:last-child{border-bottom:0}.lp3 .grant-row dt{color:var(--ink-4);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.lp3 .grant-row dd{color:var(--ink-2);font-size:14.5px;line-height:1.6;margin:6px 0 0}.lp3 .assurances{list-style:none;margin:0;padding:0}.lp3 .assurances li{align-items:flex-start;color:var(--ink-2);display:flex;font-size:14.5px;gap:12px;line-height:1.6;padding:10px 0}.lp3 .assurances .tick{color:var(--accent);flex:none;margin-top:2px}.lp3 .refused{background:#fdf6f5;border:.8px solid #e6cfcc;border-radius:var(--r);margin-top:24px;padding:18px 20px}.lp3 .refused .lab{color:var(--danger);font-size:13px;font-weight:600}.lp3 .refused ul{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;margin:11px 0 0;padding:0}.lp3 .refused li{color:var(--ink-2);font-family:var(--font-mono);font-size:13.5px;text-decoration:line-through;text-decoration-color:var(--danger);text-decoration-thickness:1.5px}.lp3 .access-foot{color:var(--ink-3);font-size:14.5px;margin-top:24px}.lp3 .access-foot code{background:var(--bg-soft);border:.8px solid var(--line);border-radius:5px;font-family:var(--font-mono);font-size:12.5px;padding:2px 6px}.lp3 .split{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.lp3 .split-copy .body{margin-top:16px}.lp3 .split-list{list-style:none;margin:22px 0 0;padding:0}.lp3 .split-list li{align-items:flex-start;color:var(--ink-2);display:flex;font-size:14.5px;gap:11px;padding:8px 0}.lp3 .split-list .tick{color:var(--accent);flex:none;margin-top:2px}.lp3 .term{font-family:var(--font-mono);font-size:12.5px;line-height:1.7}.lp3 .term-body{min-height:264px;padding:18px 20px 22px}.lp3 .term-turn{display:flex;gap:16px;padding:9px 0}.lp3 .term-turn+.term-turn{border-top:1px solid var(--line-inv)}.lp3 .term-who{color:var(--ink-inv-2);flex:none;width:78px}.lp3 .term-who.is-tool{color:#4ade80}.lp3 .term-who.is-ai{color:#c4b5fd}.lp3 .term-said{color:var(--ink-inv);flex:1 1;white-space:pre-wrap}.lp3 .term-said .dim{color:var(--ink-inv-2)}.lp3 .term-said .hl{color:#4ade80}.lp3 .term-cursor{animation:term-blink 1s steps(2,start) infinite;background:#4ade80;display:inline-block;height:13px;margin-left:2px;vertical-align:-2px;width:7px}@keyframes term-blink{to{visibility:hidden}}.lp3 .install{align-items:center;background:var(--bg-alt);border:.8px solid var(--line-2);border-radius:var(--r-pill);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:13px;gap:14px;margin-top:26px;padding:13px 16px}.lp3 .install .pmt{color:var(--accent);font-weight:600;margin-right:8px}.lp3 .install .install-copy{background:#0000;border:.8px solid var(--line-2);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:10.5px;font-weight:600;letter-spacing:.06em;margin-left:auto;padding:5px 11px;text-transform:uppercase}.lp3 .install .install-copy.is-done{border-color:var(--accent);color:var(--accent-h)}.lp3 .install a{color:var(--accent-h);font-size:12px;font-weight:600}.lp3 .fw-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:36px}.lp3 .fw{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r);color:var(--ink);font-size:14px;font-weight:600;padding:12px 20px;text-align:center}.lp3 .fw span{color:var(--ink-3);display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;margin-top:4px}.lp3 .status{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:44px}.lp3 .status-card{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);padding:30px 28px}.lp3 .status-card h3{margin:12px 0 0}.lp3 .status-card p{color:var(--ink-2);font-size:14.5px;line-height:1.65;margin:13px 0 0}.lp3 .status-card code{background:var(--bg-soft);border-radius:5px;font-size:12.5px;padding:2px 6px}.lp3 .livedot,.lp3 .status-card code{border:.8px solid var(--line);font-family:var(--font-mono)}.lp3 .livedot{align-items:center;background:var(--bg);border-radius:var(--r-pill);color:var(--ink-3);display:inline-flex;font-size:11px;font-weight:600;gap:8px;letter-spacing:.05em;margin-top:16px;padding:6px 12px;text-transform:uppercase}.lp3 .livedot i{background:var(--line-2);border-radius:50%;font-style:normal;height:6px;width:6px}.lp3 .livedot.is-up{background:var(--accent-soft);border-color:#0478574d;color:var(--accent-h)}.lp3 .livedot.is-up i{background:var(--accent)}.lp3 .faq{border-top:1px solid var(--line);margin:40px auto 0;max-width:820px}.lp3 .faq-item{border-bottom:1px solid var(--line)}.lp3 .faq-q{align-items:center;background:#0000;border:0;color:var(--ink);cursor:pointer;display:flex;font-family:inherit;font-size:16px;font-weight:600;gap:18px;letter-spacing:-.015em;padding:22px 0;text-align:left;transition:color var(--dur-fast) ease;width:100%}.lp3 .faq-q:hover{color:var(--accent-h)}.lp3 .faq-q .mk{align-items:center;border:.8px solid var(--line-2);border-radius:50%;color:var(--ink-3);display:flex;flex:none;font-family:var(--font-mono);font-size:15px;height:26px;justify-content:center;margin-left:auto;transition:transform .26s var(--ease),background var(--dur-fast) ease,color var(--dur-fast) ease,border-color var(--dur-fast) ease;width:26px}.lp3 .faq-item.is-open .mk{background:var(--accent-tint);border-color:var(--accent);color:var(--accent);transform:rotate(45deg)}.lp3 .faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .26s var(--ease)}.lp3 .faq-item.is-open .faq-a{grid-template-rows:1fr}.lp3 .faq-a>div{overflow:hidden}.lp3 .faq-a p{color:var(--ink-2);font-size:15px;line-height:1.7;margin:0;padding:0 56px 24px 0}.lp3 .chooser{background:var(--bg-deep);border-top:1px solid var(--line);color:var(--ink-inv);padding:96px 0}.lp3 .chooser h2{color:#fff;margin:0 auto;max-width:18ch;text-align:center}.lp3 .chooser-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.lp3 .choice{background:hsla(0,0%,100%,.035);border:.8px solid var(--line-inv);border-radius:var(--r-lg);padding:32px 30px;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.lp3 .choice:hover{background:#ffffff0f;border-color:#ffffff38}.lp3 .choice h3{color:#fff}.lp3 .choice p{color:var(--ink-inv-2);font-size:14.5px;line-height:1.65;margin:12px 0 24px}.lp3 .choice .micro{color:var(--ink-inv-2);margin-top:14px}.lp3 .choice .btn--primary{background:#4ade801f;border-color:#4ade80;color:#4ade80}.lp3 .choice .btn--primary:hover{background:#4ade8033;color:#86efac}.lp3 .contact{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.lp3 .contact-list{list-style:none;margin:26px 0 0;padding:0}.lp3 .contact-list li{align-items:flex-start;color:var(--ink-2);display:flex;font-size:14.5px;gap:12px;padding:9px 0}.lp3 .contact-list .tick{color:var(--accent);flex:none;margin-top:2px}.lp3 .form{grid-gap:16px;background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);display:grid;gap:16px;padding:30px 28px}.lp3 .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.lp3 .field label{color:var(--ink);display:block;font-size:12.5px;font-weight:600;margin-bottom:7px}.lp3 .field .req{color:var(--danger);margin-left:2px}.lp3 .input{background:var(--bg-alt);border:.8px solid var(--line-2);border-radius:var(--r-sm);color:var(--ink);font-family:inherit;font-size:14.5px;line-height:1.4;outline:none;padding:12px 14px;transition:border-color var(--dur-fast) ease;width:100%}.lp3 .input::placeholder{color:var(--ink-4)}.lp3 .input:focus{border-color:var(--accent)}.lp3 .input[aria-invalid=true]{border-color:var(--danger)}.lp3 select.input{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b625c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:38px}.lp3 textarea.input{min-height:90px;resize:vertical}.lp3 .err{align-items:center;color:var(--danger);display:flex;font-size:12px;gap:6px;margin-top:6px}.lp3 .hp{left:-9999px;opacity:0}.lp3 .hp,.lp3 .vh{height:1px;position:absolute;width:1px}.lp3 .vh{border:0;clip-path:inset(50%);margin:-1px;overflow:hidden;padding:0;white-space:nowrap}.lp3 .form-foot{color:var(--ink-3);font-size:12px;text-align:center}.lp3 .sent{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);padding:42px 30px;text-align:center}.lp3 .sent .ok{align-items:center;background:var(--accent-soft);border-radius:50%;color:var(--accent-h);display:flex;height:46px;justify-content:center;margin:0 auto 16px;width:46px}.lp3 .sent p{color:var(--ink-2);font-size:14.5px;line-height:1.7;margin:10px 0 0}.lp3 .sent a{color:var(--accent-h);font-weight:600}.lp3 .foot{background:var(--bg-deep);border-top:1px solid var(--line);color:var(--ink-inv-2);padding:56px 0 40px}.lp3 .foot-top{align-items:flex-start;border-bottom:1px solid var(--line-inv);display:flex;flex-wrap:wrap;gap:26px 40px;padding-bottom:32px}.lp3 .foot .brand .name{color:#fff}.lp3 .foot .brand .sub{color:var(--ink-inv-2)}.lp3 .foot .brand .mark{color:#4ade80}.lp3 .foot-tag{color:var(--ink-inv-2);font-size:13.5px;line-height:1.65;margin:13px 0 0;max-width:34ch}.lp3 .foot-links{display:flex;flex-wrap:wrap;gap:14px 32px;margin-left:auto}.lp3 .foot-links a{color:var(--ink-inv-2);font-size:13.5px;transition:color var(--dur-fast) ease}.lp3 .foot-links a:hover{color:#fff}.lp3 .foot-bot{align-items:center;display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:11.5px;gap:12px 20px;padding-top:26px}.lp3 .foot .livedot{background:#0000;border-color:var(--line-inv);color:var(--ink-inv-2);margin-top:0}.lp3 .foot .livedot.is-up{background:#0000;border-color:#4ade8059;color:#4ade80}.lp3 .foot .livedot.is-up i{background:#4ade80}.lp3 .sticky-cta{-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);background:#fcfaf7f2;border-top:1px solid var(--line);bottom:0;display:none;gap:10px;left:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;transform:translateY(110%);transition:transform .32s var(--ease);z-index:55}.lp3 .sticky-cta.is-shown{transform:translateY(0)}.lp3 .sticky-cta .btn{flex:1 1}.lp3 [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .62s var(--ease),transform .62s var(--ease)}.lp3 [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.lp3 [data-reveal]{opacity:1;transform:none;transition:none}.lp3 .term-cursor{animation:none}.lp3 .collapse-fig{--p:1!important}.lp3 .counter.is-running{animation:none;counter-reset:stat var(--count-to)}.lp3 *,.lp3 :after,.lp3 :before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media (max-width:1180px){.lp3{--gut:24px;--section-y:80px}.lp3 .nav-links{display:none}.lp3 .burger{display:flex}.lp3 .how{gap:36px;grid-template-columns:minmax(0,1fr)}.lp3 .how-side{position:static}.lp3 .how-visuals{gap:24px}.lp3 .how-visual{min-height:0}.lp3 .split{gap:32px}.lp3 .grant,.lp3 .split{grid-template-columns:minmax(0,1fr)}.lp3 .grant{gap:28px}.lp3 .contact{gap:32px;grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.lp3 .chooser-cards{grid-template-columns:minmax(0,1fr)}.lp3 .stats{gap:12px 36px}}@media (max-width:700px){.lp3{--gut:18px;--section-y:64px;--section-y-tight:48px}.lp3 .hero{padding-top:104px}.lp3 .form-row,.lp3 .status{grid-template-columns:minmax(0,1fr)}.lp3 .form{padding:22px 18px}.lp3 .faq-a p{padding-right:0}.lp3 .chooser{padding:64px 0}.lp3 .brand .sub,.lp3 .nav-cta .btn--ghost,.lp3 h1 .brk{display:none}.lp3 h1{font-size:clamp(28px,8vw,40px)}.lp3 .swash{white-space:normal}.lp3 .stats{gap:10px 28px}.lp3 .counter{font-size:26px}.lp3 .capture-row{align-items:stretch;flex-direction:column;gap:12px}.lp3 .capture{flex-direction:column;gap:10px;width:100%}.lp3 .capture input{border-right:.8px solid var(--line-2);flex:none;font-size:16px;min-height:48px}.lp3 .capture .btn,.lp3 .capture input{border-radius:var(--r-pill);height:48px}.lp3 .capture .btn{width:100%}.lp3 .capture-row .tlink{justify-content:center}.lp3 .sticky-cta{display:flex}.lp3 .foot{padding-bottom:96px}}@media (max-width:420px){.lp3 .nav-cta .btn--primary{display:none}.lp3 .nav-inner{gap:12px}}@media (pointer:coarse){.lp3 .btn,.lp3 .chip,.lp3 .chk-filter,.lp3 .code-copy,.lp3 .install a,.lp3 .install-copy,.lp3 .tlink,.lp3 .toc a{min-height:44px}.lp3 .install a,.lp3 .tlink{align-items:center;display:inline-flex}.lp3 .brand{min-height:44px}.lp3 .burger{height:44px;width:44px}.lp3 .foot-links a{align-items:center;display:inline-flex;min-height:44px}.lp3 .sticky-cta .btn{min-height:44px}.lp3 .crumbs{line-height:2.4}}@media (min-width:701px) and (max-width:1180px){.lp3 .assurances li,.lp3 .band p,.lp3 .fcard p,.lp3 .figcap span,.lp3 .how-step .sbody p,.lp3 .lede,.lp3 .micro,.lp3 .split p{max-width:68ch}.lp3 .figcap{max-width:78ch}}.lp3 .fgrid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}.lp3 .fcard{background:var(--accent);border:.8px solid var(--accent);border-radius:var(--r-lg);display:flex;flex-direction:column;min-height:320px;overflow:hidden;padding:28px 28px 0}.lp3 .fcard h3{color:#fff;letter-spacing:-.02em}.lp3 .fcard p{color:#ffffffe6;font-size:14.5px;line-height:1.62;margin:12px 0 0}.lp3 .frag{background:var(--bg-alt);border:.8px solid #ffffff80;border-bottom:0;border-radius:var(--r) var(--r) 0 0;font-family:var(--font-mono);font-size:12px;margin-top:auto;overflow:hidden;padding:14px}.lp3 .frag-bar{background:var(--bg-soft);border-radius:calc(var(--r) - .8px) calc(var(--r) - .8px) 0 0;color:var(--ink-3);font-size:11px;gap:8px;margin:-14px -14px 12px;padding:8px 12px}.lp3 .frag-bar,.lp3 .frag-row{align-items:center;border-bottom:.8px solid var(--line);display:flex}.lp3 .frag-row{color:var(--ink-2);gap:10px;padding:8px 0}.lp3 .frag-row:last-child{border-bottom:0}.lp3 .frag-k{color:var(--ink-3);flex:none;width:64px}.lp3 .frag-v{margin-left:auto}.lp3 .frag-track{background:var(--bg-soft);border-radius:var(--r-pill);flex:1 1;height:6px;overflow:hidden}.lp3 .frag-fill{background:var(--accent);border-radius:var(--r-pill);display:block;height:100%}.lp3 .frag-chip{align-items:center;background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);display:inline-flex;font-size:11px;gap:6px;margin:0 6px 6px 0;padding:5px 10px}.lp3 .frag-caret{animation:term-blink 1s steps(2,start) infinite;background:var(--accent);display:inline-block;height:12px;margin-left:2px;vertical-align:-2px;width:6px}.lp3 .band-accent{background:var(--accent);border-top:1px solid var(--accent);color:#fff;overflow:hidden;position:relative}.lp3 .band-accent-inner{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 auto;max-width:var(--shell);padding:96px var(--gut);position:relative;z-index:1}.lp3 .band-accent h2{color:#fff;max-width:26ch}.lp3 .band-accent p{color:#ffffffe6;font-size:16.5px;line-height:1.62;margin:18px 0 0;max-width:46ch}.lp3 .band-accent .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.lp3 .band-accent .btn--onAccent{background:var(--ink);border-color:var(--ink);color:#fff}.lp3 .band-accent .btn--onAccent:hover{background:#000;border-color:#000}.lp3 .band-accent .btn--outlineAccent{border-color:#ffffff80;color:#fff}.lp3 .band-accent .btn--outlineAccent:hover{background:#ffffff1f;border-color:#fff}.lp3 .band-accent .micro{color:#ffffffe6;margin-top:16px}.lp3 .band-accent-dots{align-self:stretch;background-image:radial-gradient(#ffffff57 1.1px,#0000 0);background-size:14px 14px;border-left:1px solid #ffffff29;min-height:240px}.lp3 .clients{flex-wrap:wrap;gap:12px;margin-top:36px}.lp3 .client,.lp3 .clients{display:flex;justify-content:center}.lp3 .client{--brand:var(--ink);--brand-fg:#fff;align-items:center;background:var(--brand);border:.8px solid #00000029;border-radius:var(--r);color:var(--brand-fg);flex-direction:column;gap:10px;height:96px;transition:border-color var(--dur-fast) ease,transform var(--dur-fast) ease;width:120px}.lp3 .client:hover{border-color:#00000057;transform:translateY(-2px)}.lp3 .client .cname{color:currentColor;font-size:12.5px;font-weight:600;line-height:1.3;text-align:center}.lp3 .client .cmark{color:currentColor}.lp3 .client[data-client=claude-code]{--brand:#d97757;--brand-fg:var(--ink)}.lp3 .client[data-client=cursor]{--brand:#0b0b0c}.lp3 .client[data-client=vs-code]{--brand:#0065a9}.lp3 .client[data-client=windsurf]{--brand:#09b6a2;--brand-fg:var(--ink)}.lp3 .client[data-client=github-copilot]{--brand:#24292f}.lp3 .compare{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);margin-top:44px;overflow:hidden}.lp3 .cmp-row{border-bottom:.8px solid var(--line);display:grid;grid-template-columns:176px minmax(0,1fr) minmax(0,1fr)}.lp3 .cmp-row:last-child{border-bottom:0}.lp3 .cmp-head{background:var(--bg)}.lp3 .cmp-head .cmp-cell{padding:15px 24px}.lp3 .cmp-cell{padding:22px 24px}.lp3 .cmp-key{align-items:center;color:var(--ink-4);display:flex;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.lp3 .cmp-without{border-left:.8px solid var(--line)}.lp3 .cmp-without .cmp-t{color:var(--ink-3);font-size:15px;font-weight:600}.lp3 .cmp-without p{color:var(--ink-3);font-size:13.5px;line-height:1.6;margin:7px 0 0}.lp3 .cmp-with{background:var(--accent)}.lp3 .cmp-with .cmp-t{color:#fff;font-size:15px;font-weight:600}.lp3 .cmp-with p{color:#ffffffe0;font-size:13.5px;line-height:1.6;margin:7px 0 0}.lp3 .cmp-flag{align-items:center;display:inline-flex;font-family:var(--font-mono);font-size:10.5px;font-weight:600;gap:8px;letter-spacing:.09em;text-transform:uppercase}.lp3 .cmp-head .cmp-without .cmp-flag{color:var(--ink-4)}.lp3 .cmp-head .cmp-with .cmp-flag{color:#fff}.lp3 .cmp-t-row{align-items:flex-start;display:flex;gap:10px}.lp3 .cmp-t-row .ico{flex:none;margin-top:1px}.lp3 .cmp-without .ico{color:var(--ink-4)}.lp3 .cmp-with .ico{color:#fff}.lp3 .cmp-side{display:none}@media (max-width:1180px){.lp3 .band-accent-inner{gap:32px;grid-template-columns:minmax(0,1fr);padding:72px var(--gut)}.lp3 .band-accent-dots{display:none}}@media (max-width:860px){.lp3 .cmp-row,.lp3 .fgrid{grid-template-columns:minmax(0,1fr)}.lp3 .cmp-key{padding-bottom:0}.lp3 .cmp-without{border-left:0;border-top:.8px solid var(--line)}.lp3 .cmp-head{display:none}.lp3 .cmp-with .cmp-side,.lp3 .cmp-without .cmp-side{display:block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.09em;margin-bottom:8px;text-transform:uppercase}.lp3 .cmp-without .cmp-side{color:var(--ink-4)}.lp3 .cmp-with .cmp-side{color:#ffffffe6}}@media (max-width:700px){.lp3 .clients{gap:8px}.lp3 .client{height:88px;width:104px}.lp3 .fcard{min-height:0;padding:22px 22px 0}.lp3 .cmp-cell{padding:18px 20px}}.lp3 [data-reveal].is-visible .frag-fill{animation:frag-grow .9s var(--ease) backwards}.lp3 [data-reveal].is-visible .frag-row:nth-child(2) .frag-fill{animation-delay:60ms}.lp3 [data-reveal].is-visible .frag-row:nth-child(3) .frag-fill{animation-delay:.12s}.lp3 [data-reveal].is-visible .frag-row:nth-child(4) .frag-fill{animation-delay:.18s}.lp3 [data-reveal].is-visible .frag-row:nth-child(5) .frag-fill{animation-delay:.24s}@keyframes frag-grow{0%{width:0}}@media (prefers-reduced-motion:reduce){.lp3 [data-reveal].is-visible .frag-fill{animation:none}}.lp3 .shots{display:flex;flex-direction:column;gap:104px;margin-top:52px}.lp3 .shot-row{grid-gap:24px 56px;align-items:center;display:grid;gap:24px 56px;grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.lp3 .shot-row--flip{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.lp3 .shot-row--flip .shot-copy{grid-column:2;grid-row:1}.lp3 .shot-row--flip .shot{grid-column:1;grid-row:1}.lp3 .shot-row--full{gap:28px;grid-template-columns:minmax(0,1fr)}.lp3 .shot-row--full .shot-copy{grid-column-gap:56px;align-items:start;column-gap:56px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.lp3 .shot-row--full .shot-idx{grid-column:1;grid-row:1}.lp3 .shot-row--full .shot-copy h3{grid-column:1;grid-row:2}.lp3 .shot-row--full .shot-copy p{grid-column:2;grid-row:1/span 2;margin-top:1px}.lp3 .shot-idx{color:var(--ink-4);display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.lp3 .shot-copy h3{font-size:25px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:14px 0 0;max-width:22ch}.lp3 .shot-copy p{color:var(--ink-2);font-size:14px;line-height:1.68;margin:14px 0 0;max-width:56ch}.lp3 .shot{appearance:none;background:none;border:0;cursor:zoom-in;display:block;margin:0;padding:0;text-align:left;width:100%}.lp3 .shot-frame{aspect-ratio:2880/1636;background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r);display:block;overflow:hidden;position:relative;transition:border-color var(--dur-fast) ease;width:100%}.lp3 .shot:hover .shot-frame{border-color:var(--line-2)}.lp3 .shot:focus-visible .shot-frame{outline:2px solid var(--accent);outline-offset:3px}.lp3 .shot-img{display:block;height:100%;object-fit:cover;object-position:left top;transition:transform .5s var(--ease);width:100%}.lp3 .shot:hover .shot-img{transform:scale(1.005)}.lp3 .shot-zoom{align-items:center;background:var(--bg-alt);border:.8px solid var(--line-2);border-radius:var(--r-pill);bottom:12px;color:var(--ink-2);display:inline-flex;font-family:var(--font-mono);font-size:10.5px;font-weight:600;gap:5px;letter-spacing:.08em;opacity:.78;padding:5px 9px 5px 10px;position:absolute;right:12px;text-transform:uppercase;transition:opacity var(--dur-fast) ease}.lp3 .shot:focus-visible .shot-zoom,.lp3 .shot:hover .shot-zoom{opacity:1}.lp3 .shot-modal{animation:shot-modal-in .16s var(--ease);background:var(--bg-alt);border:.8px solid var(--line-2);border-radius:var(--r-lg);color:var(--ink);max-height:92vh;max-width:none;overflow:hidden;padding:0;width:min(1440px,94vw,calc(161.9568vh - 98.5824px))}.lp3 .shot-modal::backdrop{background:#1c1917a8}.lp3 .shot-modal-view{border-bottom:.8px solid var(--line);min-height:0}.lp3 .shot-modal img{display:block;height:auto;width:100%}.lp3 .shot-modal-bar{align-items:center;background:var(--bg);display:flex;gap:20px;padding:12px 14px 12px 18px}.lp3 .shot-modal-bar p{color:var(--ink-2);font-size:13.5px;line-height:1.4;margin:0;min-width:0}.lp3 .shot-close{align-items:center;background:var(--bg-alt);border:.8px solid var(--line-2);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;display:inline-flex;flex:none;font-family:var(--font-mono);font-size:11px;font-weight:600;gap:7px;letter-spacing:.08em;margin-left:auto;padding:7px 12px;text-transform:uppercase;transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease}.lp3 .shot-close:hover{border-color:var(--ink-3);color:var(--ink)}@keyframes shot-modal-in{0%{opacity:0;transform:translateY(6px)}}@media (max-width:1180px){.lp3 .shots{gap:72px}.lp3 .shot-row,.lp3 .shot-row--flip{gap:24px;grid-template-columns:minmax(0,1fr)}.lp3 .shot-row--flip .shot-copy{grid-column:1;grid-row:1}.lp3 .shot-row--flip .shot{grid-column:1;grid-row:2}.lp3 .shot-copy h3{max-width:30ch}}@media (max-width:860px){.lp3 .shot-modal{display:flex;flex-direction:column;height:88vh;max-height:88vh;width:96vw}.lp3 .shot-modal-view{-webkit-overflow-scrolling:touch;flex:1 1;overflow:auto;overscroll-behavior:contain}.lp3 .shot-modal-view img{max-width:none;width:1080px}.lp3 .shot-modal-bar{flex:none}.lp3 .shot-row--full .shot-copy{grid-template-columns:minmax(0,1fr)}.lp3 .shot-row--full .shot-copy h3{grid-column:1;grid-row:2}.lp3 .shot-row--full .shot-copy p{grid-column:1;grid-row:3;margin-top:14px}.lp3 .shot-copy h3{font-size:22px}}@media (prefers-reduced-motion:reduce){.lp3 .shot:hover .shot-img{transform:none}.lp3 .shot-modal{animation:none}}.lp3 .free-first{list-style:none;margin:26px 0 0;max-width:52ch;padding:0}.lp3 .free-first li{align-items:flex-start;color:#ffffffe6;display:flex;font-size:14.5px;gap:11px;line-height:1.6;margin-top:11px}.lp3 .free-first li b{color:#fff;font-weight:600}.lp3 .free-first .tick{color:#fff;flex:none;margin-top:2px}.lp3 .marker--inv{color:#ffffffe6;display:block;margin-bottom:18px}.lp3 .form-prog{margin-bottom:22px}.lp3 .form-prog-bar{background:var(--line);border-radius:var(--r-pill);height:3px;overflow:hidden}.lp3 .form-prog-bar span{background:var(--accent);border-radius:var(--r-pill);display:block;height:100%;transition:width .32s var(--ease)}.lp3 .form-prog-k{color:var(--ink-4);display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;margin-top:9px;text-transform:uppercase}.lp3 .how-share{background:var(--bg-alt);border:.8px solid var(--line);border-left:2px solid var(--accent);border-radius:0 var(--r) var(--r) 0;color:var(--ink-2);font-size:14px;line-height:1.55;margin:18px 0 0;max-width:46ch;padding:12px 16px}.lp3 .how-share b{color:var(--ink);font-weight:600}@media (prefers-reduced-motion:reduce){.lp3 .form-prog-bar span{transition:none}}.lp3.sp{background:var(--bg)}body:has(>#root .lp3){background:#fcfaf7}.lp3 .sp-main{min-height:70vh;padding:148px 0 var(--section-y)}.lp3 .sp-head{max-width:62ch}.lp3 .sp-head h1{font-size:clamp(32px,4vw,46px);letter-spacing:-.028em;line-height:1.06;margin:22px 0 0}.lp3 .sp-head .lede{margin-top:18px}.lp3 .sp-meta{color:var(--ink-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;margin:18px 0 0}.lp3 .sp-head+*{margin-top:52px}.lp3 .doc{max-width:68ch}.lp3 .doc>*+*{margin-top:0}.lp3 .doc h2{font-size:24px;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:52px 0 0;scroll-margin-top:110px}.lp3 .doc h2:first-child{margin-top:0}.lp3 .doc h3{font-size:17px;font-weight:600;letter-spacing:-.015em;margin:34px 0 0;scroll-margin-top:110px}.lp3 .doc p{color:var(--ink-2);font-size:15.5px;line-height:1.72;margin:16px 0 0}.lp3 .doc h2+p,.lp3 .doc h3+p{margin-top:12px}.lp3 .doc strong{color:var(--ink);font-weight:600}.lp3 .doc ol,.lp3 .doc ul{list-style:none;margin:16px 0 0;padding:0 0 0 2px}.lp3 .doc ol{counter-reset:doc-ol}.lp3 .doc li{color:var(--ink-2);font-size:15.5px;line-height:1.7;margin-top:10px;padding-left:24px;position:relative}.lp3 .doc ul>li:before{background:var(--accent);border-radius:50%;content:"";height:5px;left:4px;position:absolute;top:11px;width:5px}.lp3 .doc ol>li:before{color:var(--ink-4);content:counter(doc-ol) ".";counter-increment:doc-ol;font-family:var(--font-mono);font-size:13px;left:0;position:absolute;top:0}.lp3 .doc a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.lp3 .doc a:hover{color:var(--accent-h)}.lp3 .doc code{border:.8px solid var(--line);border-radius:5px;padding:2px 6px}.lp3 .doc code,.lp3 .doc pre{background:var(--bg-soft);color:var(--ink);font-family:var(--font-mono);font-size:13px}.lp3 .doc pre{border:.8px solid var(--line);border-radius:var(--r);line-height:1.7;margin:20px 0 0;overflow-x:auto;padding:16px 18px}.lp3 .doc pre code{background:none;border:0;font-size:inherit;padding:0}.lp3 .doc .note{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r);margin:24px 0 0;padding:18px 20px}.lp3 .doc .note p{font-size:14.5px;margin:0}.lp3 .doc .note p+p{margin-top:10px}.lp3 .doc .note-k{color:var(--accent);display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;margin-bottom:8px;text-transform:uppercase}.lp3 .doc hr{border:0;border-top:.8px solid var(--line);margin:52px 0 0}.lp3 .doc-layout{grid-gap:64px;align-items:start;display:grid;gap:64px;grid-template-columns:minmax(0,1fr) 232px}.lp3 .doc-layout .doc{max-width:none}.lp3 .toc{position:sticky;top:108px}.lp3 .toc-k{color:var(--ink-4);display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;margin-bottom:14px;text-transform:uppercase}.lp3 .toc a{border-left:1.5px solid var(--line);color:var(--ink-3);display:block;font-size:13.5px;line-height:1.4;padding:7px 0 7px 14px;transition:color var(--dur-fast) ease,border-color var(--dur-fast) ease}.lp3 .toc a:hover{border-left-color:var(--line-2);color:var(--ink)}.lp3 .toc a.is-current{border-left-color:var(--accent);color:var(--accent)}.lp3 .chk-tools{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.lp3 .chk-count{color:var(--ink-3);font-family:var(--font-mono);font-size:12px;margin-left:auto}.lp3 .chk-filter{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-pill);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 14px;transition:border-color var(--dur-fast) ease,color var(--dur-fast) ease}.lp3 .chk-filter:hover{border-color:var(--line-2);color:var(--ink)}.lp3 .chk-filter.is-on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-h)}.lp3 .chk-list{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.lp3 .chk-row{grid-gap:16px;align-items:center;border-bottom:.8px solid var(--line);color:inherit;display:grid;gap:16px;grid-template-columns:108px minmax(0,1fr) 96px 92px;padding:15px 20px;transition:background-color var(--dur-fast) ease}.lp3 .chk-row:last-child{border-bottom:0}.lp3 a.chk-row:hover{background:var(--bg-soft)}.lp3 a.chk-row:hover .chk-title{color:var(--accent-h)}.lp3 a.chk-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.lp3 .chk-id{color:var(--ink-4);font-family:var(--font-mono);font-size:12px}.lp3 .chk-title{color:var(--ink);font-size:14.5px;font-weight:500}.lp3 .chk-res{color:var(--ink-3);font-family:var(--font-mono);font-size:11.5px}.lp3 .chk-head{background:var(--bg);color:var(--ink-4);font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;padding:12px 20px;text-transform:uppercase}.lp3 .chk-empty{color:var(--ink-3);font-size:14px;padding:40px 20px;text-align:center}.lp3 .sev{align-items:center;display:inline-flex;font-family:var(--font-mono);font-size:11px;font-weight:600;gap:7px;letter-spacing:.06em;text-transform:uppercase}.lp3 .sev i{border-radius:2px;box-shadow:inset 0 0 0 1px #00000038;height:8px;width:8px}.lp3 .sev--critical{color:#a5251f}.lp3 .sev--critical i{background:#e5484d}.lp3 .sev--high{color:#8a4a0c}.lp3 .sev--high i{background:#f0821e}.lp3 .sev--medium{color:#7a5c07}.lp3 .sev--medium i{background:#eab308}.lp3 .sev--low{color:#2555a8}.lp3 .sev--low i{background:#3b82f6}.lp3 .chk-facts{background:var(--bg-alt);border:.8px solid var(--line);border-radius:var(--r);display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:8px;padding:18px 20px}.lp3 .chk-fact{color:var(--ink-2);font-size:13px}.lp3 .chk-fact b{color:var(--ink-4);display:block;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.09em;margin-bottom:3px;text-transform:uppercase}.lp3 .chk-frameworks{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.lp3 .sp-cta{background:var(--accent);border:.8px solid var(--accent);border-radius:var(--r-lg);color:#fff;margin-top:72px;padding:40px}.lp3 .sp-cta h2{color:#fff;font-size:26px;font-weight:500;letter-spacing:-.02em;margin:0}.lp3 .sp-cta p{color:#ffffffe6;font-size:15px;line-height:1.62;margin:14px 0 0;max-width:52ch}.lp3 .sp-cta .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.lp3 .sp-cta .btn--onAccent{background:var(--ink);border-color:var(--ink);color:#fff}.lp3 .sp-cta .btn--onAccent:hover{background:#000;border-color:#000}.lp3 .sp-cta .btn--outlineAccent{border-color:#ffffff80;color:#fff}.lp3 .sp-cta .btn--outlineAccent:hover{background:#ffffff1f;border-color:#fff}.lp3 .doc .sp-cta h2{margin-top:0;scroll-margin-top:0}.lp3 .doc .sp-cta p{color:#ffffffe6}.lp3 .sp-form{max-width:560px}.lp3 .field .opt{color:var(--ink-3);font-weight:400}.lp3 .linkish{background:none;border:0;color:var(--accent);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}.lp3 .linkish:hover{color:var(--accent-h)}.lp3 .sp-sent{background:var(--accent-tint);border:.8px solid var(--accent);border-radius:var(--r-lg);padding:28px}.lp3 .sp-sent h2{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0}.lp3 .sp-sent p{color:var(--ink-2);font-size:14.5px;line-height:1.62;margin:10px 0 0}.lp3 .sp-aside{border-top:.8px solid var(--line);margin-top:44px;padding-top:28px}.lp3 .sp-aside p{color:var(--ink-2);font-size:14px;line-height:1.7;margin:0}.lp3 .sp-aside p+p{margin-top:12px}.lp3 .sp-aside a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}@media (max-width:1080px){.lp3 .doc-layout{gap:40px;grid-template-columns:minmax(0,1fr)}.lp3 .toc{order:-1;position:static}.lp3 .toc-links{display:flex;flex-wrap:wrap;gap:8px}.lp3 .toc a{border-left:0;border:.8px solid var(--line);border-radius:var(--r-pill);padding:7px 13px}.lp3 .toc a.is-current{background:var(--accent-tint);border-color:var(--accent)}}@media (max-width:860px){.lp3 .sp-main{padding-top:116px}.lp3 .chk-row{gap:6px 14px;grid-template-columns:minmax(0,1fr) auto;padding:16px}.lp3 .chk-head{display:none}.lp3 .chk-id{grid-column:1}.lp3 .chk-row .sev{grid-column:2;grid-row:1;justify-self:end}.lp3 .chk-res,.lp3 .chk-title{grid-column:1/-1}.lp3 .sp-cta{padding:30px 24px}}@media (max-width:700px){.lp3 .doc h2{font-size:21px;margin-top:42px}.lp3 .doc li,.lp3 .doc p{font-size:15px}}@media (pointer:coarse){.lp3 .chk-row{min-height:56px}.lp3 .sp-cta .btn{min-height:44px}}@media (min-width:701px) and (max-width:1180px){.lp3 .doc .note p,.lp3 .doc li,.lp3 .doc p,.lp3 .sp-aside p,.lp3 .sp-cta p{max-width:68ch}}.sovereign-app,[data-theme=dark] .sovereign-app{--bg:#0d1013;--bg-2:#14181d;--bg-3:#1b2027;--panel:#11151a;--panel-hover:#171c22;--line:#242b34;--line-soft:#1a2028;--line-strong:#323b47;--ink:#d5dbe3;--ink-dim:#9aa4b0;--ink-faint:#8b93a1;--ink-strong:#f1f4f8;--accent:#7fe3a1;--accent-ink:#0c1a13;--accent-dim:#3c7a51;--accent-soft:#7fe3a114;--sev-crit:#ff6a6a;--sev-high:#ffa24c;--sev-med:#ffd86b;--sev-low:#8ab4ff;--sev-info:#8a95a2;--sev-crit-fill:var(--sev-crit);--sev-high-fill:var(--sev-high);--sev-med-fill:var(--sev-med);--sev-low-fill:var(--sev-low);--sev-info-fill:var(--sev-info);--shadow:0 1px 0 #0006,0 0 0 1px var(--line)}[data-theme=light] .sovereign-app{--bg:#f6f5f1;--bg-2:#fff;--bg-3:#eeece5;--panel:#fff;--panel-hover:#faf9f4;--line:#e2dfd6;--line-soft:#ecebe4;--line-strong:#c9c5b9;--ink:#2b2e34;--ink-dim:#555c67;--ink-faint:#636972;--ink-strong:#14161a;--accent:#177340;--accent-ink:#fff;--accent-dim:#17734099;--accent-soft:#1f8a4d17;--sev-crit:#c42929;--sev-high:#995612;--sev-med:#84620a;--sev-low:#3464ba;--sev-info:#555c67;--sev-crit-fill:#e5484d;--sev-high-fill:#f0821e;--sev-med-fill:#eab308;--sev-low-fill:#3b82f6;--sev-info-fill:#8b929e;--shadow:0 1px 2px #14161a0d,0 0 0 1px var(--line)}.sovereign-app[data-theme=dark],.sovereign-app[data-theme=dark] .sovereign-app{--bg:#0d1013;--bg-2:#14181d;--bg-3:#1b2027;--panel:#11151a;--panel-hover:#171c22;--line:#242b34;--line-soft:#1a2028;--line-strong:#323b47;--ink:#d5dbe3;--ink-dim:#9aa4b0;--ink-faint:#8b93a1;--ink-strong:#f1f4f8;--accent:#7fe3a1;--accent-ink:#0c1a13;--accent-dim:#3c7a51;--accent-soft:#7fe3a114;--sev-crit:#ff6a6a;--sev-high:#ffa24c;--sev-med:#ffd86b;--sev-low:#8ab4ff;--sev-info:#8a95a2;--sev-crit-fill:var(--sev-crit);--sev-high-fill:var(--sev-high);--sev-med-fill:var(--sev-med);--sev-low-fill:var(--sev-low);--sev-info-fill:var(--sev-info);--shadow:0 1px 0 #0006,0 0 0 1px var(--line);color-scheme:dark}[data-theme=light] .sovereign-app[data-theme=dark] .btn--primary{color:#0c1a13}[data-theme=light] .sovereign-app[data-theme=dark] .cloud-aws{background:#ffa24c22;border-color:#ffa24c55;color:#ffa24c}[data-theme=light] .sovereign-app[data-theme=dark] .cloud-az{background:#8ab4ff22;border-color:#8ab4ff55;color:#8ab4ff}[data-theme=light] .sovereign-app[data-theme=dark] .cloud-gcp{background:#7fe3a122;border-color:#7fe3a155;color:var(--accent)}[data-theme=light] .sovereign-app[data-theme=dark] .cloud-tf{background:#d09fff22;border-color:#d09fff55;color:#d09fff}.sovereign-app .sr-only{clip:rect(0 0 0 0);border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sovereign-app,.sovereign-app *{box-sizing:border-box}.sovereign-app{--app-scale:0.9;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:14px;height:100vh;line-height:1.5;overflow:hidden;width:100vw}.sovereign-app .app{display:grid;grid-template-columns:252px 1fr;height:calc(100vh/var(--app-scale));overflow:hidden;position:relative;transform:scale(var(--app-scale));transform-origin:top left;width:calc(100vw/var(--app-scale))}.sovereign-app .sidebar{background:var(--bg-2);border-right:1px solid var(--line);bottom:auto!important;left:auto!important;position:relative!important;right:auto!important;top:auto!important;width:auto!important;z-index:auto!important}.sovereign-app .main,.sovereign-app .sidebar{display:flex;flex-direction:column;overflow:hidden}.sovereign-app .main{margin-left:0!important;min-width:0;position:relative}.sovereign-app .topbar{align-items:center;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:var(--bg-2);border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:16px;height:60px;padding:0 24px;position:relative!important;top:auto!important;z-index:auto!important}.sovereign-app .content{flex:1 1;overflow:auto;padding:28px 30px 48px;scrollbar-color:var(--line-strong) #0000;scrollbar-width:thin}.sovereign-app .content::-webkit-scrollbar{width:10px}.sovereign-app .content::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg);border-radius:5px}.sovereign-app .card{background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:20px}.sovereign-app .card-title{color:var(--ink-strong);font-size:13px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.sovereign-app .card-sub{color:var(--ink-faint);font-size:12px}.sovereign-app .page-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:26px}.sovereign-app .eyebrow{color:var(--ink-faint);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.sovereign-app .page-title{color:var(--ink-strong);font-size:26px;font-weight:500;letter-spacing:-.01em;margin-top:4px}.sovereign-app .page-sub{color:var(--ink-dim);font-size:14px;margin-top:6px;max-width:720px}.sovereign-app .nav-group-head{color:var(--ink-faint);font-size:11px;letter-spacing:.12em;padding:16px 18px 6px;text-transform:uppercase}.sovereign-app .nav-item{align-items:center;border-left:2px solid #0000;color:var(--ink-dim);cursor:pointer;display:flex;font-size:14px;gap:11px;padding:9px 18px;position:relative;text-decoration:none}.sovereign-app .nav-item:hover{background:var(--panel-hover);color:var(--ink)}.sovereign-app .nav-item.active{background:var(--panel-hover);border-left-color:var(--ink-strong);color:var(--ink-strong)}.sovereign-app .nav-item .icon{display:inline-flex;opacity:.9;text-align:center;width:16px}.sovereign-app .nav-item .badge{background:var(--bg-3);border-radius:10px;color:var(--ink-faint);font-size:11px;margin-left:auto;padding:1px 7px}.sovereign-app .nav-item.active .badge{background:var(--bg-3);color:var(--ink-strong)}.sovereign-app .chip{align-items:center;background:#0000;border:1px solid;border-radius:4px;display:inline-flex;font-size:11px;font-weight:500;gap:6px;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.sovereign-app .chip .dot{background:currentColor;border-radius:50%;height:6px;width:6px}.sovereign-app .sev-crit{color:var(--sev-crit)}.sovereign-app .sev-high{color:var(--sev-high)}.sovereign-app .sev-med{color:var(--sev-med)}.sovereign-app .sev-low{color:var(--sev-low)}.sovereign-app .sev-info{color:var(--sev-info)}.sovereign-app .sev-crit .dot{background:var(--sev-crit-fill)}.sovereign-app .sev-high .dot{background:var(--sev-high-fill)}.sovereign-app .sev-med .dot{background:var(--sev-med-fill)}.sovereign-app .sev-low .dot{background:var(--sev-low-fill)}.sovereign-app .sev-info .dot{background:var(--sev-info-fill)}.sovereign-app .btn{align-items:center;background:var(--panel);border:1px solid var(--line-strong);border-radius:5px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;gap:7px;padding:7px 14px;text-decoration:none;transition:background .12s,border-color .12s}.sovereign-app .btn:hover{background:var(--panel-hover);border-color:var(--ink-faint)}.sovereign-app .btn:disabled{cursor:not-allowed;opacity:.5}.sovereign-app .btn--primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:500}[data-theme=light] .sovereign-app .btn--primary{color:#fff}.sovereign-app .btn--primary:hover{background:var(--accent);border-color:var(--accent);filter:brightness(1.08)}.sovereign-app .btn--ghost{background:#0000;border-color:#0000;color:var(--ink-dim)}.sovereign-app .btn--ghost:hover{background:var(--panel-hover);color:var(--ink)}.sovereign-app .btn--danger{border-color:var(--sev-crit-fill);color:var(--sev-crit)}.sovereign-app .btn--sm{font-size:12px;padding:4px 10px}.sovereign-app .btn--icon{padding:7px 9px}.sovereign-app .topbar-crumb{align-items:center;color:var(--ink-faint);display:flex;flex-shrink:0;font-size:12px;gap:10px;letter-spacing:.08em;padding-right:20px;text-transform:uppercase}.sovereign-app .topbar-crumb-root,.sovereign-app .topbar-crumb-sep{color:var(--ink-faint)}.sovereign-app .topbar-crumb>span:last-child{color:var(--ink-strong)}.sovereign-app .topbar-search{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);display:flex;flex-shrink:1;font-size:13px;gap:10px;padding:7px 13px;width:360px}.sovereign-app .topbar-search:focus-within{border-color:var(--accent)}.sovereign-app .topbar-search input{background:#0000;border:none;color:var(--ink);flex:1 1;font-family:inherit;font-size:13px;min-width:0;outline:none;padding:0}.sovereign-app .topbar-search input::placeholder{color:var(--ink-faint)}.sovereign-app .topbar-search .kbd{background:var(--bg-3);border:1px solid var(--line);border-radius:3px;color:var(--ink-faint);font-size:11px;padding:2px 7px}.sovereign-app .topbar-actions{align-items:center;display:flex;flex-shrink:0;gap:10px;margin-left:auto}.sovereign-app .topbar-window{background:var(--bg-3)}.sovereign-app .search{align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink-dim);display:flex;flex:1 1;font-size:13px;gap:10px;max-width:520px;padding:5px 12px}.sovereign-app .search:focus-within{border-color:var(--accent)}.sovereign-app .search input{background:#0000;border:none;color:var(--ink);flex:1 1;font-family:inherit;font-size:13px;outline:none}.sovereign-app .search input::placeholder{color:var(--ink-faint)}.sovereign-app .search .kbd{background:var(--bg-3);border:1px solid var(--line);border-radius:3px;color:var(--ink-faint);font-size:10px;padding:1px 6px}.sovereign-app .grid-12{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.sovereign-app .kpi{display:flex;flex-direction:column;gap:6px;min-height:124px}.sovereign-app .kpi-card{display:flex;flex-direction:column;gap:10px;min-height:144px}.sovereign-app .kpi-card svg{margin-top:auto}.sovereign-app .kpi-label{color:var(--ink-faint);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.sovereign-app .kpi-value{color:var(--ink-strong);font-size:34px;font-weight:500;letter-spacing:-.02em;line-height:1.1}.sovereign-app .kpi-delta{color:var(--ink-dim);font-size:12px}.sovereign-app .kpi-delta.pos{color:var(--accent)}.sovereign-app .kpi-delta.neg{color:var(--sev-crit)}.sovereign-app .row{grid-gap:14px;align-items:center;border-bottom:1px solid var(--line-soft);display:grid;font-size:13px;gap:14px;padding:11px 12px}.sovereign-app .row:last-child{border-bottom:none}.sovereign-app .row--head{border-bottom:1px solid var(--line);color:var(--ink-faint);font-size:11px;letter-spacing:.1em;padding:10px 12px 12px;text-transform:uppercase}.sovereign-app .row:hover:not(.row--head):not(.row--noninteractive){background:var(--panel-hover);cursor:pointer}.sovereign-app .tag{background:var(--bg-3);border:1px solid var(--line);color:var(--ink-dim);gap:5px;padding:2px 7px}.sovereign-app .cloud-glyph,.sovereign-app .tag{align-items:center;border-radius:3px;display:inline-flex;font-size:11px}.sovereign-app .cloud-glyph{font-weight:500;height:20px;justify-content:center;letter-spacing:.04em;min-width:32px;padding:0 7px;text-transform:uppercase}.sovereign-app .cloud-aws{background:#ffa24c22;border:1px solid #ffa24c55;color:#ffa24c}.sovereign-app .cloud-az{background:#8ab4ff22;border:1px solid #8ab4ff55;color:#8ab4ff}.sovereign-app .cloud-gcp{background:#7fe3a122;border:1px solid #7fe3a155;color:var(--accent)}.sovereign-app .cloud-tf{background:#d09fff22;border:1px solid #d09fff55;color:#d09fff}[data-theme=light] .sovereign-app .cloud-aws{background:#fff1e3;border-color:#f0b680;color:#a85a00}[data-theme=light] .sovereign-app .cloud-az{background:#eaf2ff;border-color:#97b6e8;color:#2458a8}[data-theme=light] .sovereign-app .cloud-gcp{background:#e6f4ec;border-color:#86c7a1;color:#1f8a4d}[data-theme=light] .sovereign-app .cloud-tf{background:#f1e6ff;border-color:#b887dc;color:#6e2bb0}.sovereign-app .theme-toggle{background:var(--bg-3);border:1px solid var(--line);border-radius:5px;display:inline-flex;gap:2px;padding:2px}.sovereign-app .theme-toggle button{background:#0000;border:none;border-radius:3px;color:var(--ink-dim);cursor:pointer;font-family:inherit;font-size:12px;padding:4px 11px}.sovereign-app .theme-toggle button.active{background:var(--panel);box-shadow:0 0 0 1px var(--line-soft);color:var(--ink-strong)}.sovereign-app .divider{background:var(--line);border:none;height:1px;margin:10px 0}.sovereign-app .hstack{align-items:center;display:flex;gap:10px}.sovereign-app .vstack{display:flex;flex-direction:column;gap:10px}.sovereign-app .between{align-items:center;display:flex;justify-content:space-between}.sovereign-app .dim{color:var(--ink-dim)}.sovereign-app .faint{color:var(--ink-faint)}.sovereign-app .strong{color:var(--ink-strong)}.sovereign-app .accent{color:var(--accent)}.sovereign-app .muted-link{align-items:center;background:#0000;border:none;color:var(--accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:5px;padding:0;text-decoration:none}.sovereign-app .muted-link:hover{text-decoration:underline}.sovereign-app .avatar{background:var(--bg-3);border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-dim);cursor:pointer;display:grid;font-size:12px;height:32px;place-items:center;width:32px}.sovereign-app .pulse{animation:sov-pulse 2s infinite;background:var(--accent);border-radius:50%;height:6px;width:6px}@keyframes sov-pulse{0%{box-shadow:0 0 0 0 #7fe3a199}70%{box-shadow:0 0 0 6px #7fe3a100}to{box-shadow:0 0 0 0 #7fe3a100}}.sovereign-app .progress{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:3px;height:6px;overflow:hidden}.sovereign-app .progress>div{border-radius:3px;height:100%;transition:width .3s ease}.sovereign-app .sev-swatch{border-radius:2px;box-shadow:inset 0 0 0 1px #00000038;flex:none;height:9px;width:9px}.sovereign-app[data-theme=dark] .sev-swatch,[data-theme=dark] .sovereign-app .sev-swatch{box-shadow:inset 0 0 0 1px #ffffff3d}.sovereign-app .sev-bar{border:1px solid var(--line-soft);border-radius:3px;display:flex;height:16px;overflow:hidden}.sovereign-app .tabs{border-bottom:1px solid var(--line);display:flex;gap:2px;margin-bottom:20px}.sovereign-app .tab{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--ink-dim);cursor:pointer;font-family:inherit;font-size:13px;margin-bottom:-1px;padding:10px 16px}.sovereign-app .tab:hover{color:var(--ink)}.sovereign-app .tab.active{border-bottom-color:var(--accent);color:var(--accent)}.sovereign-app .tab .count{color:var(--ink-faint);font-size:11px;margin-left:7px}.sovereign-app .tab.active .count{color:var(--accent)}.sovereign-app .filter-bar{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px 14px}.sovereign-app .filter-chip{align-items:center;background:var(--bg-3);border:1px solid var(--line);border-radius:14px;color:var(--ink);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:7px;padding:4px 11px}.sovereign-app .filter-chip .k{color:var(--ink-faint)}.sovereign-app .filter-chip .x{color:var(--ink-faint);cursor:pointer}.sovereign-app .filter-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.sovereign-app .dashed{border:1px dashed var(--line-strong);border-radius:4px;color:var(--ink-faint);font-size:12px;padding:16px;text-align:center}.sovereign-app input:not([type]),.sovereign-app input[type=email],.sovereign-app input[type=number],.sovereign-app input[type=password],.sovereign-app input[type=search],.sovereign-app input[type=text],.sovereign-app select,.sovereign-app textarea{background:var(--bg);border:1px solid var(--line);border-radius:5px;color:var(--ink-strong);font-family:inherit;font-size:14px;outline:none;padding:8px 12px;width:100%}.sovereign-app input:focus,.sovereign-app select:focus,.sovereign-app textarea:focus{border-color:var(--accent)}.sovereign-app input::placeholder,.sovereign-app textarea::placeholder{color:var(--ink-faint);opacity:1}.sovereign-app label.field{color:var(--ink-faint);display:flex;flex-direction:column;font-size:12px;gap:5px;letter-spacing:.04em;text-transform:uppercase}.sovereign-app .field-error,.sovereign-app .field-hint{font-size:11px;letter-spacing:.01em;line-height:1.45;text-transform:none}.sovereign-app .field-hint{color:var(--ink-faint)}.sovereign-app .field-error{align-items:center;color:var(--sev-crit);display:flex;gap:5px}.sovereign-app .input-invalid,.sovereign-app .input-invalid:focus{border-color:var(--sev-crit-fill);box-shadow:inset 0 0 0 1px var(--sev-crit-fill)}.sovereign-app .empty{border:1px dashed var(--line-strong);border-radius:6px;color:var(--ink-dim);font-size:13px;padding:40px 20px;text-align:center}.sovereign-app .badge-status{align-items:center;background:var(--bg-3);border:1px solid var(--line);border-radius:10px;color:var(--ink-dim);display:inline-flex;font-size:11px;gap:6px;letter-spacing:.05em;padding:3px 9px;text-transform:uppercase}.sovereign-app .badge-status.ok{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--accent)}.sovereign-app .badge-status.err{background:#ff6a6a14;border-color:var(--sev-crit-fill);color:var(--sev-crit)}.sovereign-app .badge-status.warn{background:#ffa24c14;border-color:var(--sev-high-fill);color:var(--sev-high)}.sovereign-app a{color:var(--accent);text-decoration:none}.sovereign-app a:hover{text-decoration:underline}.sovereign-app code,.sovereign-app pre{background:var(--bg-3);border:1px solid var(--line);border-radius:4px;color:var(--ink);font-family:inherit;font-size:13px;overflow:auto;padding:8px 10px}.sovereign-app code{padding:2px 6px}.sovereign-app .table-scroll{overflow-x:auto}.sovereign-app .table-scroll .row{min-width:700px}.sovereign-app .table-scroll::-webkit-scrollbar{height:8px}.sovereign-app .table-scroll::-webkit-scrollbar-track{background:var(--bg-3)}.sovereign-app .table-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.sovereign-app .table-scroll::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.sovereign-app .table-scroll{scrollbar-color:var(--line-strong) var(--bg-3);scrollbar-width:thin}.sovereign-app .owner-row{align-items:center;background:var(--bg-3);border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;font:inherit;gap:12px;justify-content:space-between;padding:9px 11px;text-align:left;transition:border-color .16s ease,background .16s ease;width:100%}.sovereign-app .owner-row:hover{background:var(--panel-hover);border-color:var(--line-strong)}.sovereign-app .owner-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sovereign-app .diff{background:var(--bg-3);border:1px solid var(--line);border-radius:4px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.6;margin:0;overflow-x:auto;padding:0}.sovereign-app .diff-line{background:none;border:none;border-radius:0;color:var(--ink-dim);display:block;font-family:inherit;font-size:inherit;padding:1px 10px;white-space:pre}.sovereign-app .diff-line.add{background:#7fe3a11a;color:var(--ink-strong)}.sovereign-app .diff-line.del{background:#ff6a6a1a;color:var(--ink)}.sovereign-app .diff-line.meta{color:var(--ink-faint)}.sovereign-app[data-theme=light] .diff-line.add,[data-theme=light] .sovereign-app .diff-line.add{background:#1773401a}.sovereign-app[data-theme=light] .diff-line.del,[data-theme=light] .sovereign-app .diff-line.del{background:#c4292917}.sovereign-app .nav-toggle,.sovereign-app .sidebar-scrim{display:none}@media (max-width:860px){.sovereign-app{--app-scale:1;height:100dvh}.sovereign-app .app{grid-template-columns:1fr;height:100dvh;transform:none;width:100vw}.sovereign-app .sidebar{bottom:0!important;box-shadow:0 0 40px #00000080;left:0!important;max-width:84vw;position:fixed!important;top:0!important;transform:translateX(-100%);transition:transform .22s ease;width:264px!important;z-index:80!important}.sovereign-app.nav-open .sidebar{transform:translateX(0)}.sovereign-app.nav-open .sidebar-scrim{background:#00000080;display:block;inset:0;position:fixed;z-index:70}.sovereign-app .nav-toggle{align-items:center;background:#0000;border:none;color:var(--ink-dim);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;margin-right:2px;padding:6px}.sovereign-app .topbar{gap:8px;height:56px;padding:0 12px}.sovereign-app .topbar-search{display:none}.sovereign-app .topbar-crumb{min-width:0;padding-right:0}.sovereign-app .topbar-crumb-root,.sovereign-app .topbar-crumb-sep{display:none}.sovereign-app .topbar-actions{gap:4px}.sovereign-app .topbar-actions .btn span:not(.kbd){display:none}.sovereign-app .content{padding:16px 14px 40px}.sovereign-app .card{padding:16px}.sovereign-app .page-title{font-size:21px}.sovereign-app .grid-12{gap:12px;grid-template-columns:1fr}.sovereign-app .grid-12>*{grid-column:auto!important}.sovereign-app .gs-steps{grid-template-columns:1fr 1fr!important}.sovereign-app .page-header{flex-direction:column;gap:12px}}@media (max-width:520px){.sovereign-app .gs-steps{grid-template-columns:1fr!important}.sovereign-app .kpi-value{font-size:28px}}
/*# sourceMappingURL=main.90434c49.css.map*/