@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;700&display=swap";:root{color:#f3fff9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0a;font-family:Space Grotesk,Inter,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0a0a0a}body{color:#f3fff9;background:#0a0a0a;min-width:320px;min-height:100vh;margin:0}body,button,input,textarea,select{font-family:Space Grotesk,Inter,Segoe UI,sans-serif}code,pre{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}button,input,textarea,select{font:inherit}button{border:0}button,a{color:inherit}a{text-decoration:none}img,svg{max-width:100%;display:block}#root{min-height:100svh}::selection{color:#f3fff9;background:#00ff8847}.app,.app *{box-sizing:border-box}.app{color:#fff;background:radial-gradient(circle at top,#00ff881f,#0000 30%),linear-gradient(#0b0f14 0%,#090b0f 100%);min-height:100svh;padding:2rem}.app-header{text-align:center;margin-bottom:2rem}.app-header h1{color:#0f8;margin:0 0 .5rem;font-size:3rem}.app-header p{color:#96a1b5;font-size:1.2rem}.tabs{gap:.75rem;max-width:1400px;margin:0 auto 1.5rem;display:flex}.tab{color:#96a1b5;cursor:pointer;background:#0f141de6;border:1px solid #23303f;border-radius:999px;flex:1;padding:1rem 1.25rem;font-size:1rem;font-weight:700;transition:transform .2s,border-color .2s,color .2s,background .2s}.tab:hover{color:#d8e2f0;border-color:#2d455b;transform:translateY(-1px)}.tab.active{color:#0f8;background:#00ff8824;border-color:#0f8}.container{grid-template-columns:1fr 1fr;gap:2rem;max-width:1400px;margin:0 auto;display:grid}.left-panel,.right-panel{background:#0f141de6;border:1px solid #1f2a38;border-radius:18px;padding:2rem;box-shadow:0 24px 80px #00000059}.controls{gap:1rem;margin-bottom:1rem;display:flex}.controls-stack{display:block}.filename-input,.app select{color:#fff;background:#090d13;border:1px solid #23303f;border-radius:10px;font-size:1rem}.filename-input{flex:1;width:100%;padding:.85rem 1rem}.app select{cursor:pointer;padding:.85rem 1rem}.form-hint{color:#96a1b5;margin:.75rem 0 0;line-height:1.5}.form-hint code{color:#d8e2f0}.code-editor{resize:vertical;color:#fff;background:#090d13;border:1px solid #23303f;border-radius:10px;width:100%;min-height:420px;margin-bottom:1rem;padding:1rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.95rem;line-height:1.6}.scan-button{color:#07110b;cursor:pointer;background:linear-gradient(135deg,#0f8 0%,#00c27a 100%);border:none;border-radius:10px;width:100%;padding:1rem;font-size:1.05rem;font-weight:800;transition:transform .2s,filter .2s}.scan-button:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.scan-button:disabled{opacity:.6;cursor:not-allowed}.error{color:#ffd9d9;background:#ff44442e;border:1px solid #ff444459;border-radius:10px;margin-top:1rem;padding:1rem}.loading{text-align:center;padding:3rem}.spinner{border:4px solid #23303f;border-top-color:#0f8;border-radius:50%;width:50px;height:50px;margin:0 auto 1rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.trust-score{text-align:center;border:4px solid;border-radius:16px;margin-bottom:1.5rem;padding:2rem}.score-circle{margin-bottom:.5rem;font-size:4rem;font-weight:800}.score-label{color:#96a1b5;font-size:1.1rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:#090d13;border:1px solid #23303f;border-radius:14px;padding:1.25rem}.stat-value{color:#f6fbff;font-size:2rem;font-weight:800}.stat-label{color:#96a1b5;margin-top:.35rem}.risk-badge{color:#08130d;border-radius:999px;margin-bottom:1.5rem;padding:.5rem 1.5rem;font-weight:800;display:inline-block}.summary,.notes-panel{margin-bottom:2rem}.summary h3,.vulnerabilities h3,.notes-panel h3{color:#0f8;margin-bottom:.75rem}.summary p,.vuln-description,.notes-list{color:#cbd5e1;line-height:1.6}.notes-panel{background:#090d13;border:1px solid #23303f;border-radius:14px;padding:1rem 1.25rem}.notes-list{margin:0;padding-left:1.25rem}.vulnerabilities h3{margin-bottom:1rem}.vulnerability{background:#090d13;border:1px solid #23303f;border-radius:12px;margin-bottom:1rem;padding:1rem}.vuln-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.severity-badge{color:#08130d;border-radius:999px;padding:.3rem .75rem;font-size:.75rem;font-weight:800}.vuln-title{flex:1;font-weight:800}.line-number,.package-version{color:#96a1b5;font-size:.9rem}.vuln-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.meta-pill{color:#b4f7d3;background:#00ff8814;border-radius:999px;padding:.3rem .75rem;font-size:.82rem}.meta-pill-fix{color:#ffe584;background:#ffd70024}.vuln-description{margin-bottom:.75rem}.vuln-fix{background:#ffffff08;border-left:3px solid #0f8;border-radius:8px;padding:.8rem .9rem;font-size:.95rem}.vuln-fix strong{color:#0f8}.no-vulnerabilities,.placeholder{text-align:center;padding:3rem 1rem;font-size:1.1rem}.no-vulnerabilities{color:#0f8}.placeholder{color:#96a1b5}@media (width<=1024px){.app{padding:1rem}.tabs{flex-direction:column}.container{grid-template-columns:1fr}}@media (width<=640px){.controls{flex-direction:column}.stats-grid{grid-template-columns:1fr}.app-header h1{font-size:2.4rem}.left-panel,.right-panel{padding:1.25rem}}.landing-page{--landing-bg:#0a0a0a;--landing-surface:#0f1212e0;--landing-surface-strong:#111515;--landing-surface-soft:#ffffff09;--landing-border:#ffffff14;--landing-text:#f3fff9;--landing-muted:#90a59c;--landing-accent:#0f8;--landing-accent-soft:#00ff8824;--landing-danger:#ff5f70;--landing-danger-soft:#ff5f7029;--landing-warning:#ff9f43;--landing-shadow:0 24px 80px #0000006b;--landing-font-sans:"Space Grotesk", "Inter", "Segoe UI", sans-serif;--landing-font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;color:var(--landing-text);font-family:var(--landing-font-sans);background:radial-gradient(circle at 0 0,#00ff882e,#0000 30%),radial-gradient(circle at 100% 0,#43c1ff26,#0000 26%),linear-gradient(#0d1110 0%,#090909 100%);grid-template-rows:auto auto auto;row-gap:clamp(5rem,7vw,6.25rem);padding:1rem clamp(1rem,2vw,2rem) .85rem;display:grid;position:relative;overflow-x:hidden}.landing-page:before,.landing-page:after{content:"";pointer-events:none;position:absolute;inset:0}.landing-page:before{background-color:#0000;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff05 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;-webkit-mask-image:linear-gradient(#00000073,#0000 88%);mask-image:linear-gradient(#00000073,#0000 88%)}.landing-page:after{background:radial-gradient(circle,#0000 58%,#0a0a0aeb 100%)}.landing-page>*{z-index:1;position:relative}.landing-nav,.landing-hero,.landing-step-card,.landing-threats,.landing-demo,.landing-footer{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-nav{z-index:20;border:1px solid var(--landing-border);background:#0a0a0ab8;border-radius:1.35rem;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;display:flex;position:sticky;top:0;box-shadow:0 18px 40px #0000003d}.landing-brand{color:inherit;align-items:center;gap:.85rem;display:inline-flex}.landing-brand-mark{width:2.8rem;height:2.8rem;color:var(--landing-accent);background:linear-gradient(#00ff882e,#00ff880f);border:1px solid #00ff8838;border-radius:.95rem;justify-content:center;align-items:center;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.landing-brand-mark svg,.landing-step-icon svg,.landing-warning-icon svg,.landing-button svg,.landing-footer a svg{width:1.2rem;height:1.2rem}.landing-brand-copy{gap:.15rem;display:grid}.landing-brand-copy strong{letter-spacing:-.04em;font-size:1rem}.landing-brand-copy span{color:var(--landing-muted);font-size:.84rem}.landing-button{letter-spacing:-.02em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.9rem 1.3rem;font-weight:600;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:inline-flex}.landing-button:hover{transform:translateY(-1px)}.landing-button:focus-visible,.landing-nav a:focus-visible,.landing-footer a:focus-visible{outline:2px solid var(--landing-accent);outline-offset:3px}.landing-button--primary{background:var(--landing-accent);color:#03150d;box-shadow:0 14px 36px #00ff8842}.landing-button--primary:hover{box-shadow:0 18px 44px #00ff884d}.landing-button--secondary{color:var(--landing-text);background:#ffffff05;border-color:#ffffff24}.landing-button--secondary:hover,.landing-footer a:hover{background:#ffffff0d;border-color:#00ff8847}.landing-button--compact{min-width:8.5rem;padding-inline:1.15rem}.landing-main{grid-template:"hero hero""steps steps""threats demo"/minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(5rem,7vw,6.25rem) clamp(1rem,2vw,1.25rem);padding-top:1rem;display:grid}.landing-hero,.landing-threats,.landing-demo,.landing-footer{border:1px solid var(--landing-border);box-shadow:var(--landing-shadow);background:linear-gradient(#121616f0,#0a0c0ce0)}.landing-hero{border-radius:1.85rem;grid-area:hero;grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);align-items:center;gap:clamp(1rem,2vw,1.5rem);padding:clamp(1.15rem,2.6vh,1.8rem);display:grid}.landing-eyebrow{width:fit-content;color:var(--landing-accent);font-family:var(--landing-font-mono);text-transform:uppercase;letter-spacing:.08em;background:#00ff8814;border:1px solid #00ff8829;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.76rem;display:inline-flex}.landing-hero-copy{gap:.9rem;display:grid}.landing-hero h1{letter-spacing:-.06em;gap:.1em;margin:0;font-size:clamp(2.6rem,5.6vw,4.8rem);line-height:.94;display:grid}.landing-hero h1 em{color:var(--landing-accent);font-style:normal}.landing-subheading{color:#d0ddd7;max-width:48rem;font-size:clamp(1rem,1.4vw,1.08rem);line-height:1.55}.landing-hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:.2rem;display:flex}.landing-proof{color:var(--landing-muted);align-items:center;gap:.65rem;font-size:.9rem;display:inline-flex}.landing-proof-pulse{background:var(--landing-danger);border-radius:999px;width:.6rem;height:.6rem;animation:2.2s infinite landing-pulse;box-shadow:0 0 #ff5f7073}.landing-hero-signal{background:linear-gradient(#00ff881f,#00ff8808),#080a0ae0;border:1px solid #00ff881f;border-radius:1.55rem;min-height:100%;padding:1rem;box-shadow:inset 0 1px #ffffff0a}.landing-terminal-chrome{gap:.45rem;margin-bottom:1rem;display:flex}.landing-terminal-chrome span{background:#ffffff29;border-radius:999px;width:.7rem;height:.7rem}.landing-terminal-chrome span:first-child{background:#ff5f56}.landing-terminal-chrome span:nth-child(2){background:#ffbd2e}.landing-terminal-chrome span:nth-child(3){background:#27c93f}.landing-terminal-body{font-family:var(--landing-font-mono);gap:.95rem;display:grid}.landing-terminal-label{color:var(--landing-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.landing-terminal-body code{color:#c8ffdf;word-break:break-word;background:#ffffff08;border:1px solid #ffffff0d;border-radius:1rem;padding:.85rem .95rem}.landing-terminal-output{color:#d3dfda;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.9rem;font-size:.9rem;display:flex}.landing-terminal-output strong{color:var(--landing-text);font-weight:600}.landing-terminal-output--muted strong{text-align:right;max-width:16rem;color:var(--landing-accent)}.landing-terminal-tags{flex-wrap:wrap;gap:.55rem;display:flex}.landing-terminal-tags span,.landing-demo-pill,.landing-comment-status,.landing-critical-pill,.landing-severity{font-family:var(--landing-font-mono)}.landing-terminal-tags span{color:var(--landing-muted);background:#ffffff0a;border-radius:999px;padding:.45rem .65rem;font-size:.76rem}.landing-section-heading{gap:.45rem;margin-bottom:.95rem;display:grid}.landing-section-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.2rem,1.8vw,1.55rem)}.landing-steps{grid-area:steps}.landing-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.landing-step-card{border:1px solid var(--landing-border);background:linear-gradient(#101414f0,#0a0c0cdb);border-radius:1.5rem;gap:.7rem;padding:1rem 1rem 1.05rem;display:grid}.landing-step-topline,.landing-threat-head,.landing-demo-pane-header,.landing-comment-header,.landing-comment-summary,.landing-comment-table-head,.landing-comment-table-row,.landing-footer{justify-content:space-between;align-items:center;display:flex}.landing-step-icon,.landing-warning-icon{border-radius:.85rem;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;display:inline-flex}.landing-step-icon{color:var(--landing-accent);background:#00ff8814;border:1px solid #00ff8829}.landing-step-number{color:var(--landing-muted);font-family:var(--landing-font-mono);font-size:.84rem}.landing-step-card h3,.landing-threat-card h3,.landing-comment-findings h3{letter-spacing:-.03em;margin:0}.landing-step-card p,.landing-threat-card p,.landing-comment-findings p,.landing-finding-fix{color:var(--landing-muted);margin:0;font-size:.92rem;line-height:1.5}.landing-threats,.landing-demo{border-radius:1.8rem;min-height:0;padding:1rem}.landing-threats{grid-area:threats}.landing-threat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.landing-threat-card{background:#ffffff06;border:1px solid #ffffff0f;border-radius:1.2rem;gap:.6rem;padding:.95rem;display:grid}.landing-warning-icon{color:var(--landing-danger);background:var(--landing-danger-soft);border:1px solid #ff5f702e}.landing-demo{grid-area:demo}.landing-demo-frame{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:.85rem;display:grid}.landing-demo-pane{background:#ffffff06;border:1px solid #ffffff0f;border-radius:1.2rem;padding:.95rem}.landing-demo-pane-header{gap:.75rem;margin-bottom:.9rem}.landing-demo-pill,.landing-demo-meta,.landing-summary-label,.landing-comment-time,.landing-risk-text{color:var(--landing-muted);font-size:.77rem}.landing-demo-pill,.landing-comment-status,.landing-critical-pill,.landing-severity{background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;padding:.4rem .6rem}.landing-code-block{font-family:var(--landing-font-mono);background:#090b0b;border:1px solid #ffffff0d;border-radius:1rem;gap:.16rem;padding:.85rem;display:grid}.landing-code-line{color:#d5fff3;grid-template-columns:1.6rem minmax(0,1fr);align-items:start;gap:.8rem;font-size:.8rem;line-height:1.55;display:grid}.landing-code-line code{color:inherit;white-space:pre-wrap;word-break:break-word;background:0 0}.landing-code-number{color:#ffffff47;text-align:right}.landing-comment-card{background:#0d1011;border:1px solid #ffffff0f;border-radius:1rem;gap:.9rem;padding:.95rem;display:grid}.landing-comment-header{align-items:flex-start;gap:.8rem}.landing-comment-header>div{gap:.25rem;display:grid}.landing-comment-author{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.landing-comment-author:before{content:"";background:var(--landing-accent);border-radius:999px;width:.5rem;height:.5rem}.landing-comment-status{color:var(--landing-accent)}.landing-comment-summary{background:#ffffff08;border:1px solid #ffffff0d;border-radius:.95rem;gap:1rem;padding:.85rem}.landing-comment-summary strong{letter-spacing:-.05em;margin-top:.15rem;font-size:1.7rem;line-height:1;display:block}.landing-critical-pill{color:#ffdfe3;background:#ff5f701f;border-color:#ff5f703d}.landing-comment-table{gap:.35rem;display:grid}.landing-comment-table-head,.landing-comment-table-row{background:#ffffff06;border:1px solid #ffffff0d;border-radius:.9rem;gap:.75rem;padding:.75rem .85rem}.landing-comment-table-head{font-family:var(--landing-font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--landing-muted);font-size:.74rem}.landing-comment-table-row code{color:var(--landing-text);background:0 0}.landing-risk-text{color:#ffb3bd}.landing-comment-findings{gap:.8rem;display:grid}.landing-comment-findings ul{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.landing-comment-findings li{background:#ffffff06;border:1px solid #ffffff0d;border-radius:.95rem;gap:.45rem;padding:.85rem;display:grid}.landing-finding-title{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.landing-severity{letter-spacing:.06em;font-size:.71rem}.landing-severity--critical,.landing-severity--high{color:#ffdce2;background:#ff5f701f;border-color:#ff5f703d}.landing-finding-fix{color:#d6e7df}.landing-footer{color:var(--landing-muted);border-radius:1.35rem 1.35rem 0 0;gap:1rem;margin-top:1rem;padding:.9rem 1rem;font-size:.88rem}.landing-footer a{color:var(--landing-text);background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem .9rem;transition:border-color .18s,background .18s;display:inline-flex}@keyframes landing-pulse{0%{box-shadow:0 0 #ff5f7073}70%{box-shadow:0 0 0 10px #ff5f7000}to{box-shadow:0 0 #ff5f7000}}@media (width<=1180px){.landing-main{grid-template:"hero""steps""threats""demo"/1fr}.landing-hero,.landing-demo-frame,.landing-threat-grid{grid-template-columns:1fr}}@media (width<=900px){.landing-steps-grid,.landing-threat-grid{grid-template-columns:1fr}.landing-nav,.landing-footer,.landing-comment-summary,.landing-comment-table-head,.landing-comment-table-row{flex-direction:column;align-items:flex-start}.landing-demo-pane-header,.landing-comment-header,.landing-comment-summary,.landing-comment-table-head,.landing-comment-table-row{gap:.55rem}}@media (width<=720px){.landing-page{padding-inline:.75rem}.landing-nav{flex-direction:column;align-items:flex-start}.landing-brand,.landing-button--compact{width:100%}.landing-hero-actions{flex-direction:column}.landing-button{width:100%}.landing-hero h1{font-size:clamp(2.3rem,12vw,3.2rem)}}@media (width>=1180px) and (height<=900px){.landing-page{gap:.65rem;padding-top:.8rem}.landing-nav,.landing-footer{padding-block:.72rem}.landing-hero,.landing-threats,.landing-demo,.landing-step-card{padding:.95rem}.landing-hero h1{font-size:clamp(2.3rem,4.4vw,4rem)}.landing-subheading,.landing-step-card p,.landing-threat-card p,.landing-comment-findings p,.landing-finding-fix{font-size:.86rem}.landing-code-line{font-size:.74rem}}@media (prefers-reduced-motion:reduce){.landing-button,.landing-footer a,.landing-proof-pulse{transition:none;animation:none}}
