@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap");:root{--bg-primary:#0a0a0b;--bg-secondary:#0e0e10;--bg-card:#141416;--bg-card-hover:#1a1a1e;--bg-elevated:#202025;--bg-input:#0f0f11;--accent-primary:#2be8ce;--accent-primary-glow:rgba(43,232,206,.3);--accent-secondary:#14c9b0;--on-accent:#04201c;--accent-gradient:linear-gradient(135deg,#2be8ce,#14c9b0);--accent-gradient-hover:linear-gradient(135deg,#4ff3dc,#1adbc0);--text-primary:#f3f2ec;--text-secondary:#b0afa6;--text-muted:#74736b;--text-accent:#5fe6d2;--critical:#ff5d52;--critical-bg:rgba(255,93,82,.12);--critical-border:rgba(255,93,82,.32);--high:#ff9e45;--high-bg:rgba(255,158,69,.12);--high-border:rgba(255,158,69,.32);--medium:#ffd24a;--medium-bg:rgba(255,210,74,.12);--medium-border:rgba(255,210,74,.32);--low:#8fe39a;--low-bg:rgba(143,227,154,.12);--low-border:rgba(143,227,154,.32);--info:#2be8ce;--info-bg:rgba(43,232,206,.1);--info-border:rgba(43,232,206,.28);--grade-a:#2be8ce;--grade-b:#8fe39a;--grade-c:#ffd24a;--grade-d:#ff9e45;--grade-f:#ff5d52;--border-color:hsla(51,23%,94%,.08);--border-color-hover:hsla(51,23%,94%,.15);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4),0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -4px rgba(0,0,0,.4);--shadow-glow:0 0 30px rgba(43,232,206,.15);--shadow-btn:0 4px 15px rgba(43,232,206,.28);--shadow-btn-hover:0 6px 25px rgba(43,232,206,.4);--font-sans:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","Fira Code",ui-monospace,monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:9999px;--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);--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-entrance:cubic-bezier(0.22,1,0.36,1);--nav-bg:rgba(10,10,11,.8);--glass-bg:rgba(20,20,22,.6);--mesh-a:rgba(43,232,206,.1);--mesh-b:rgba(20,201,176,.05);--mesh-c:rgba(143,227,154,.04);--sv-mark-top:#2a2a27;--sv-mark-body:#0b0b0a;--sv-mark-line:#f6f3ec;--sv-mark-edge:rgba(43,232,206,.38);color-scheme:dark}:root[data-theme=light]{--bg-primary:#f3f0e8;--bg-secondary:#ebe7dd;--bg-card:#fbf9f4;--bg-card-hover:#f6f3ec;--bg-elevated:#e8e3d8;--bg-input:#fffdf8;--accent-primary:#0b7d6f;--accent-primary-glow:rgba(11,125,111,.2);--accent-secondary:#0b6b5f;--on-accent:#fbf9f4;--accent-gradient:linear-gradient(135deg,#11110f,#2a2924);--accent-gradient-hover:linear-gradient(135deg,#26251f,#3a3831);--text-primary:#11110f;--text-secondary:#44423c;--text-muted:#6f6c64;--text-accent:#0b6b5f;--critical:#d4271c;--critical-bg:rgba(212,39,28,.08);--critical-border:rgba(212,39,28,.28);--high:#c25a00;--high-bg:rgba(194,90,0,.08);--high-border:rgba(194,90,0,.28);--medium:#9a6b00;--medium-bg:rgba(202,150,0,.1);--medium-border:rgba(170,125,0,.3);--low:#1f8a3a;--low-bg:rgba(31,138,58,.08);--low-border:rgba(31,138,58,.26);--info:#0a7c6d;--info-bg:rgba(10,124,109,.08);--info-border:rgba(10,124,109,.24);--grade-a:#0a8f7d;--grade-b:#1f8a3a;--grade-c:#9a6b00;--grade-d:#c25a00;--grade-f:#d4271c;--border-color:rgba(28,25,18,.1);--border-color-hover:rgba(28,25,18,.2);--shadow-sm:0 1px 2px rgba(28,25,18,.06);--shadow-md:0 4px 10px -2px rgba(28,25,18,.09),0 2px 4px -2px rgba(28,25,18,.05);--shadow-lg:0 16px 30px -12px rgba(28,25,18,.18),0 4px 8px -4px rgba(28,25,18,.06);--shadow-glow:0 0 30px rgba(11,125,111,.1);--shadow-btn:0 8px 20px -10px rgba(17,17,15,.55);--shadow-btn-hover:0 14px 28px -12px rgba(17,17,15,.55);--nav-bg:hsla(44,31%,93%,.84);--glass-bg:hsla(43,47%,97%,.75);--mesh-a:rgba(11,125,111,.07);--mesh-b:rgba(11,125,111,.03);--mesh-c:rgba(154,107,0,.03);--sv-mark-top:#262521;--sv-mark-body:#0b0b0a;--sv-mark-line:#f6f3ec;--sv-mark-edge:hsla(0,0%,100%,.12);color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;letter-spacing:-.005em}::selection{background:var(--accent-primary);color:var(--on-accent)}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 700px 460px at 50% -8%,var(--mesh-a),transparent 62%),radial-gradient(ellipse 520px 520px at 88% 64%,var(--mesh-b),transparent 70%),radial-gradient(ellipse 440px 320px at 8% 84%,var(--mesh-c),transparent 70%);pointer-events:none;z-index:0}#__next,main{position:relative;z-index:1}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary)}code,pre{font-family:var(--font-mono)}.container{max-width:1280px;margin:0 auto;padding:0 24px}@media (max-width:640px){.container{padding:0 16px}}.findings-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border-color);padding:16px 0}.navbar-content{justify-content:space-between;max-width:1280px;margin:0 auto;padding:0 24px}.logo,.navbar-content{display:flex;align-items:center}.logo{gap:10px;font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.logo-text{color:var(--text-primary)}.logo-accent{color:var(--text-accent)}a.logo,a.logo:hover{color:var(--text-primary)}.sv-mark{flex:none;display:block;transition:transform var(--transition-base)}.logo:hover .sv-mark{transform:rotate(-6deg) scale(1.05)}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;transition:all var(--transition-base)}.card:hover{border-color:var(--border-color-hover);box-shadow:var(--shadow-lg)}.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.btn-primary{background:var(--accent-gradient);color:var(--on-accent);box-shadow:var(--shadow-btn)}.btn-primary:hover{background:var(--accent-gradient-hover);box-shadow:var(--shadow-btn-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}a.btn-primary,a.btn-primary:active,a.btn-primary:focus-visible,a.btn-primary:hover,a.btn-primary:visited{color:var(--on-accent)}a.btn-secondary,a.btn-secondary:focus-visible,a.btn-secondary:hover,a.btn-secondary:visited{color:var(--text-primary)}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.nav-actions{display:flex;gap:16px;align-items:center}.nav-link{color:var(--text-secondary);font-size:.9rem;white-space:nowrap}.nav-link:hover{color:var(--text-primary)}.nav-cta-btn{padding:8px 14px;font-size:.85rem;border-radius:var(--radius-sm)}@media (max-width:560px){.nav-actions{gap:10px}.nav-link{font-size:.82rem}.nav-link-wide{display:none}.nav-cta-btn{padding:7px 10px}.navbar .logo{font-size:1.15rem}}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-pill);border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}:root[data-theme=light] .category-bar-fill,:root[data-theme=light] .progress-bar{background:var(--accent-primary)}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-color-hover)}.theme-toggle:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover)}.btn-lg{padding:16px 32px;font-size:1.05rem;border-radius:var(--radius-lg)}.btn:disabled,.btn[aria-disabled=true]{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border-color);box-shadow:none;cursor:not-allowed;pointer-events:none;transform:none!important}:root[data-theme=light] .btn-secondary{background:var(--bg-card);border-color:var(--border-color-hover)}:root[data-theme=light] .btn-secondary:hover{background:var(--bg-input);border-color:rgba(28,25,18,.32)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 36px 10px 14px;border-radius:var(--radius-md);border:1px solid var(--border-color-hover);background-color:var(--bg-input);background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;color:var(--text-primary);font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer}.select:hover{border-color:var(--text-muted)}.select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.select:disabled{opacity:.6;cursor:not-allowed}.input{width:100%;padding:14px 18px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:1rem;transition:all var(--transition-fast);outline:none}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.input::placeholder{color:var(--text-muted)}.input-group{display:flex;gap:12px}.input-group .input{flex:1 1}.grade-badge{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;font-size:3rem;font-weight:700;letter-spacing:-.02em;position:relative}.grade-badge:before{inset:-4px;padding:4px;background:var(--grade-color,var(--accent-gradient));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor}.grade-badge:after,.grade-badge:before{content:"";position:absolute;border-radius:50%}.grade-badge:after{inset:-20px;background:var(--grade-color,var(--accent-primary));opacity:.15;filter:blur(20px)}.grade-a{--grade-color:var(--grade-a);color:var(--grade-a)}.grade-b{--grade-color:var(--grade-b);color:var(--grade-b)}.grade-c{--grade-color:var(--grade-c);color:var(--grade-c)}.grade-d{--grade-color:var(--grade-d);color:var(--grade-d)}.grade-f{--grade-color:var(--grade-f);color:var(--grade-f)}.severity-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.severity-critical{background:var(--critical-bg);color:var(--critical);border:1px solid var(--critical-border)}.severity-high{background:var(--high-bg);color:var(--high);border:1px solid var(--high-border)}.severity-medium{background:var(--medium-bg);color:var(--medium);border:1px solid var(--medium-border)}.severity-low{background:var(--low-bg);color:var(--low);border:1px solid var(--low-border)}.severity-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.summary-bar{display:flex;gap:12px;flex-wrap:wrap}.summary-item{display:flex;align-items:center;gap:10px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);flex:1 1;min-width:120px;transition:border-color var(--transition-fast),background var(--transition-fast)}.summary-count{font-size:1.8rem;font-weight:700;line-height:1}.summary-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.findings-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.findings-table th{text-align:left;padding:12px 16px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;position:-webkit-sticky;position:sticky;top:0;background:var(--bg-card);z-index:1}.findings-table td,.findings-table th{border-bottom:1px solid var(--border-color)}.findings-table td{padding:14px 16px;font-size:.9rem;vertical-align:top}.findings-table tr:hover td{background:var(--bg-card-hover)}.finding-file{font-family:var(--font-mono);font-size:.8rem;color:var(--text-accent)}.finding-title{font-weight:600;color:var(--text-primary)}.finding-desc{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.code-snippet{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:16px;font-family:var(--font-mono);font-size:.82rem;line-height:1.7;overflow-x:auto;color:var(--text-secondary);white-space:pre}.progress-container{width:100%;height:8px;background:var(--bg-elevated);border-radius:var(--radius-pill);overflow:hidden}.progress-bar{height:100%;background:var(--accent-gradient);border-radius:var(--radius-pill);transition:width var(--transition-slow);position:relative}.progress-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;width:100px;background:linear-gradient(90deg,transparent,rgba(43,232,206,.35),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100px)}to{transform:translateX(100px)}}.hero{text-align:center;padding:120px 24px 80px;position:relative}.hero-title{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:1.05;letter-spacing:-.03em;margin-bottom:20px}.hero-gradient{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.2rem;color:var(--text-secondary);max-width:600px;margin:0 auto 48px;line-height:1.7}.category-chart{display:grid;grid-gap:8px;gap:8px}.category-row{display:grid;grid-template-columns:160px 1fr 50px;align-items:center;grid-gap:12px;gap:12px}.category-name{font-size:.85rem;color:var(--text-secondary);text-align:right}.category-bar-track{height:24px;background:var(--bg-elevated);border-radius:6px;overflow:hidden}.category-bar-fill{height:100%;border-radius:6px;background:var(--accent-gradient);transition:width var(--transition-slow);min-width:2px}.category-count{font-size:.85rem;font-weight:600;color:var(--text-primary)}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.chip{padding:6px 14px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.8rem;font-weight:500;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast)}.chip.active,.chip:hover{background:var(--accent-primary-glow);color:var(--accent-primary);border-color:var(--info-border)}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-primary);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--accent-primary-glow)}50%{opacity:.7;box-shadow:0 0 0 10px transparent}}@keyframes sv-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--accent-primary-glow)}50%{opacity:.7;box-shadow:0 0 0 12px transparent}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px}.stat-card{text-align:center;padding:24px}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}@media (max-width:768px){.hero{padding:80px 16px 60px}.hero-title{font-size:2rem}.input-group,.summary-bar{flex-direction:column}.category-row{grid-template-columns:100px 1fr 40px}.findings-table{font-size:.82rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}@keyframes fadeIn{0%{opacity:.6;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .6s ease-out}.ast-graph-wrap{position:relative;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow-x:hidden;overflow-y:auto}.ast-graph-svg{width:100%;height:auto;display:block;min-height:280px}.ast-graph-layer-label{fill:var(--text-muted);font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.ast-graph-node-label{fill:var(--text-secondary);font-size:9px;font-family:var(--font-mono);pointer-events:none}.ast-graph-detail{padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-card)}.ast-parse-ring{width:72px;height:72px;flex-shrink:0}.ast-parse-ring,.ast-parse-ring-inner{border-radius:50%;display:flex;align-items:center;justify-content:center}.ast-parse-ring-inner{width:52px;height:52px;background:var(--bg-card)}.ast-flow-card{padding:14px 16px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.ast-flow-tag{font-size:.72rem;padding:2px 8px;border-radius:var(--radius-pill);background:var(--info-bg);color:var(--text-accent);border:1px solid var(--info-border)}.ast-flow-steps{flex-wrap:wrap;gap:4px 0}.ast-flow-step,.ast-flow-steps{display:flex;align-items:center}.ast-flow-step{font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.ast-flow-step-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-primary);margin-right:6px;flex-shrink:0}.ast-flow-step-line{width:20px;height:1px;background:var(--border-color-hover);margin:0 8px}.ast-query-panel{padding:16px 20px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-color);max-height:320px;overflow-y:auto}.ast-query-list{list-style:none;margin:0;padding:0}.ast-query-list li{padding:10px 0;border-bottom:1px solid var(--border-color);font-size:.88rem}.ast-query-list li:last-child{border-bottom:none}.footer{text-align:center;padding:40px 24px;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border-color);margin-top:80px}