:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--surface-page:#f5f7fb;--surface-panel:#fff;--surface-subtle:#f8fafc;--surface-code:#0f172a;--text-primary:#172033;--text-secondary:#667085;--text-muted:#98a2b3;--text-inverse:#f8fafc;--border-default:#dfe5ee;--border-strong:#c8d0dc;--brand:#3157d5;--brand-strong:#2447bb;--brand-soft:#eef2ff;--risk-minimal:#1f7a52;--risk-low:#3a7d44;--risk-medium:#a16207;--risk-high:#c25a16;--risk-critical:#c73a47;--risk-minimal-soft:#eefbf5;--risk-low-soft:#f1f9f3;--risk-medium-soft:#fff8e7;--risk-high-soft:#fff4ea;--risk-critical-soft:#fff0f2;--diff-added-bg:#edf9f1;--diff-added-text:#176a3a;--diff-removed-bg:#fff0f0;--diff-removed-text:#a53434;--diff-context-bg:#fff;--shadow-sm:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-md:0 8px 30px #10182814;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--focus-ring:0 0 0 3px #3157d52e;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{background:var(--surface-page);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}#root{min-height:100vh}.app-shell{width:min(1400px,100% - 40px);margin:0 auto;padding:24px 0 32px}.app-header{justify-content:space-between;align-items:center;gap:20px;padding:8px 0 24px;display:flex}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:var(--brand);letter-spacing:-.03em;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand-name,.brand-tagline{margin:0}.brand-name{color:var(--text-primary);font-size:1rem;font-weight:800}.brand-tagline{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.local-badge,.engine-badge,.section-count{border:1px solid var(--border-default);color:var(--text-secondary);background:#fff;border-radius:999px;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:inline-flex}.local-badge{padding:8px 12px}.engine-badge,.section-count{padding:6px 10px}.local-dot{background:var(--risk-minimal);border-radius:999px;width:8px;height:8px}.hero{max-width:780px;padding:34px 0 28px}.eyebrow{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.hero h1{max-width:760px;color:var(--text-primary);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.02}.hero-copy{max-width:700px;color:var(--text-secondary);margin:18px 0 0;font-size:1.05rem;line-height:1.7}.input-workspace{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.code-panel{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-panel);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.code-panel:focus-within{box-shadow:var(--focus-ring);border-color:#9fb0eb}.code-panel-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.panel-label{color:var(--brand);letter-spacing:.1em;margin:0 0 4px;font-size:.72rem;font-weight:800}.code-panel h2{letter-spacing:-.01em;margin:0;font-size:1rem}.panel-meta{color:var(--text-muted);text-align:right;font-size:.78rem}.file-chip{border-radius:var(--radius-sm);background:var(--brand-soft);max-width:calc(100% - 32px);color:var(--brand-strong);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:7px;margin:12px 16px 0;padding:6px 9px;font-size:.78rem;font-weight:700;display:inline-flex;overflow:hidden}.code-input{resize:vertical;color:#dbe7ff;background:var(--surface-code);tab-size:4;white-space:pre;border:0;outline:0;width:100%;min-height:360px;padding:18px 20px;font-family:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;line-height:1.65;display:block}.code-input::placeholder{color:#7d8aa5}.panel-actions{border-top:1px solid var(--border-default);background:var(--surface-subtle);align-items:center;padding:12px 16px;display:flex}.file-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:38px;color:var(--text-primary);cursor:pointer;background:#fff;justify-content:center;align-items:center;padding:0 12px;font-size:.82rem;font-weight:700;display:inline-flex}.file-button:hover{background:#fbfcfe;border-color:#aeb8c6}.file-button:focus-within{box-shadow:var(--focus-ring)}.file-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.analysis-controls{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-sm);grid-template-columns:minmax(180px,240px) auto minmax(220px,280px);align-items:end;gap:14px;margin-top:18px;padding:16px;display:grid}.control-group{gap:7px;display:grid}.control-label{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:800}.language-select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-primary);background:#fff;outline:0;padding:0 12px}.language-select:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.secondary-actions{flex-wrap:wrap;gap:8px;display:flex}.button{border-radius:var(--radius-sm);border:1px solid #0000;min-height:44px;padding:0 16px;font-weight:800;transition:transform .12s,box-shadow .12s,background .12s,border-color .12s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible{box-shadow:var(--focus-ring);outline:0}.button-primary{color:#fff;background:var(--brand);box-shadow:0 7px 16px #3157d538}.button-primary:hover:not(:disabled){background:var(--brand-strong)}.button-primary:disabled{color:#9ca3af;box-shadow:none;background:#e7ebf1}.button-secondary{color:var(--text-primary);background:#fff;border-color:#b9c4d2}.button-secondary:hover:not(:disabled){background:#f9fafc;border-color:#9eabbc}.button-ghost{color:var(--text-secondary);background:0 0}.button-ghost:hover:not(:disabled){background:var(--surface-subtle)}.privacy-notice{color:var(--text-secondary);text-align:left;justify-content:center;align-items:center;gap:10px;margin:14px 0 0;font-size:.86rem;display:flex}.privacy-notice>div{flex-wrap:wrap;gap:6px;display:flex}.privacy-notice strong{color:var(--text-primary)}.privacy-icon{background:var(--risk-minimal-soft);width:24px;height:24px;color:var(--risk-minimal);border-radius:999px;flex:none;place-items:center;font-size:.78rem;font-weight:900;display:grid}.status-banner{border:1px solid var(--border-default);border-radius:var(--radius-md);align-items:center;gap:10px;margin-top:18px;padding:13px 15px;font-size:.9rem;display:flex}.status-banner span{color:var(--text-secondary)}.status-banner-info{color:#2648a7;background:#f4f7ff;border-color:#cbd7fb}.status-banner-neutral{background:#fff}.status-banner-error{background:var(--risk-critical-soft);color:#8f2430;border-color:#f1c7cc}.spinner{border:2px solid #ccd4e0;border-top-color:var(--brand);border-radius:999px;flex:none;width:14px;height:14px;animation:.7s linear infinite spin}.result-workspace{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-md);margin-top:30px;padding:24px}.section-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.section-heading.compact{margin-bottom:14px}.section-heading h2,.section-heading h3{color:var(--text-primary);letter-spacing:-.025em;margin:0}.section-heading h2{font-size:1.6rem}.section-heading h3{font-size:1.15rem}.risk-grid{grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);gap:14px;display:grid}.risk-score-card,.priority-card,.metric-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-subtle)}.risk-score-card,.priority-card{min-height:170px;padding:20px}.risk-score-card{border-left-width:5px}.risk-minimal{border-left-color:var(--risk-minimal);background:var(--risk-minimal-soft)}.risk-low{border-left-color:var(--risk-low);background:var(--risk-low-soft)}.risk-medium{border-left-color:var(--risk-medium);background:var(--risk-medium-soft)}.risk-high{border-left-color:var(--risk-high);background:var(--risk-high-soft)}.risk-critical{border-left-color:var(--risk-critical);background:var(--risk-critical-soft)}.metric-label{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.risk-score{color:var(--text-primary);letter-spacing:-.06em;margin:18px 0 2px;font-size:3rem;font-weight:850;line-height:1}.risk-classification{color:var(--text-secondary);text-transform:capitalize;margin:10px 0 0;font-weight:800}.priority-value{color:var(--text-primary);letter-spacing:-.04em;margin:22px 0 8px;font-size:0;font-weight:850}.priority-value:after{content:"Review Before Merge";font-size:clamp(1.45rem,3vw,2.2rem)}.coverage-value{text-transform:capitalize}.priority-copy{color:var(--text-secondary);margin:0;line-height:1.6}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.metric-card{padding:15px 16px}.metric-value{color:var(--text-primary);margin:8px 0 0;font-size:1.05rem;font-weight:800}.empty-result-card,.identical-card{border-radius:var(--radius-md);background:var(--risk-minimal-soft);border:1px solid #bfe8d2}.empty-result-card{align-items:flex-start;gap:14px;margin-top:18px;padding:18px;display:flex}.empty-result-card h3,.empty-result-card p{margin-top:0}.empty-result-card p:last-child{margin-bottom:0}.empty-result-icon{width:36px;height:36px;color:var(--risk-minimal);background:#d7f4e5;border-radius:999px;flex:none;place-items:center;font-weight:900;display:grid}.muted-copy{color:var(--text-secondary)}.findings-section,.diff-section{margin-top:28px}.finding-list{gap:12px;display:grid}.finding-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;padding:18px;position:relative;overflow:hidden}.finding-card:before{content:"";width:4px;position:absolute;inset:0 auto 0 0}.severity-info:before,.severity-low:before{background:var(--risk-low)}.severity-medium:before{background:var(--risk-medium)}.severity-high:before{background:var(--risk-high)}.severity-critical:before{background:var(--risk-critical)}.finding-topline{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.severity-badge,.rule-badge,.line-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-size:.72rem;font-weight:850;display:inline-flex}.severity-badge{color:var(--text-primary);text-transform:uppercase;background:#f0f2f6}.rule-badge,.line-badge{border:1px solid var(--border-default);color:var(--text-secondary);background:#fff}.finding-card h4{color:var(--text-primary);margin:14px 0 7px;font-size:1.02rem}.finding-description{color:var(--text-secondary);margin:0;line-height:1.6}.recommendation{border-radius:var(--radius-sm);background:var(--surface-subtle);grid-template-columns:auto 1fr;gap:10px;margin-top:14px;padding:11px 12px;display:grid}.recommendation-label{color:var(--brand);text-transform:uppercase;font-size:.75rem;font-weight:850}.recommendation p{color:var(--text-primary);margin:0;line-height:1.55}.diff-stats{align-items:center;gap:8px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-weight:800;display:flex}.diff-added-stat,.diff-removed-stat{border-radius:999px;padding:5px 8px}.diff-added-stat{color:var(--diff-added-text);background:var(--diff-added-bg)}.diff-removed-stat{color:var(--diff-removed-text);background:var(--diff-removed-bg)}.diff-viewer{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fff;overflow:hidden}.diff-hunk+.diff-hunk{border-top:1px solid var(--border-default)}.diff-hunk-header{color:#526581;background:#f0f5fb;border-bottom:1px solid #d9e2ef;margin:0;padding:8px 12px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700}.diff-line{grid-template-columns:48px 48px minmax(max-content,1fr);min-width:max-content;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.55;display:grid}.diff-line+.diff-line{border-top:1px solid #dee4eca6}.diff-gutter{color:#8b98aa;-webkit-user-select:none;user-select:none;background:#f8fafca6;border-right:1px solid #d1d9e4d9;justify-content:flex-end;align-items:center;min-height:30px;padding:4px 8px;display:flex}.diff-line code{color:#334155;white-space:pre;min-height:30px;padding:4px 12px;display:block}.diff-line-added{background:var(--diff-added-bg)}.diff-line-added code{color:var(--diff-added-text)}.diff-line-removed{background:var(--diff-removed-bg)}.diff-line-removed code{color:var(--diff-removed-text)}.diff-line-context{background:var(--diff-context-bg)}.identical-card{color:var(--risk-minimal);gap:5px;padding:18px;display:grid}.identical-card span{color:var(--text-secondary)}.report-disclaimer{border-top:1px solid var(--border-default);color:var(--text-secondary);margin:24px 0 0;padding-top:18px;font-size:.82rem;line-height:1.6}.app-footer{border-top:1px solid var(--border-default);color:var(--text-muted);justify-content:space-between;gap:16px;margin-top:32px;padding:20px 0 8px;font-size:.78rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.brand-link{color:inherit;text-decoration:none}.legal-back-link,.app-footer a{color:var(--brand);font-weight:700;text-decoration:none}.legal-back-link:hover,.app-footer a:hover{text-decoration:underline}.footer-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.legal-page{max-width:960px}.legal-document{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-panel);box-shadow:var(--shadow-sm);padding:42px 48px}.legal-document>h1{color:var(--text-primary);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,5vw,3rem)}.legal-updated{color:var(--text-muted);margin:12px 0 36px;font-size:.86rem}.legal-document section{margin-top:34px}.legal-document section:first-of-type{margin-top:0}.legal-document h2{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 12px;font-size:1.15rem}.legal-document p{color:var(--text-secondary);margin:0 0 12px;font-size:.95rem;line-height:1.75}.legal-document p:last-child{margin-bottom:0}.home-section{border-top:1px solid var(--border-default);margin-top:48px;padding-top:40px}.home-section-heading{max-width:720px;margin-bottom:24px}.home-section-heading h2{letter-spacing:-.03em;margin:0;font-size:2rem;line-height:1.15}.home-section-heading p:last-child{color:var(--text-secondary);margin:10px 0 0;line-height:1.65}.how-it-works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.how-it-works-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-panel);padding:24px}.how-it-works-number{color:var(--text-secondary);margin-bottom:18px;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700;display:inline-block}.how-it-works-card h3{margin:0 0 10px;font-size:1.1rem}.how-it-works-card p{color:var(--text-secondary);margin:0;line-height:1.6}.detection-card{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-panel);max-width:760px;padding:24px}.privacy-feature{grid-template-columns:1fr;gap:24px;padding:24px}.detection-card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.detection-rule-id,.detection-status{border-radius:999px;align-items:center;font-size:.75rem;font-weight:800;display:inline-flex}.detection-rule-id{color:var(--brand);background:var(--brand-soft);padding:6px 10px}.detection-status{color:var(--risk-minimal);background:var(--risk-minimal-soft);padding:6px 10px}.detection-card h3{color:var(--text-primary);margin:0 0 10px;font-size:1.1rem}.detection-card>p{color:var(--text-secondary);margin:0;line-height:1.6}.detection-languages{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.detection-languages span{border:1px solid var(--border-default);color:var(--text-secondary);background:var(--surface-subtle);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:700}.detection-roadmap{color:var(--text-muted);margin:14px 0 0;font-size:.82rem}.privacy-feature{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-panel);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:40px;padding:32px;display:grid}.privacy-feature-copy{max-width:680px}.privacy-feature-copy h2{color:var(--text-primary);letter-spacing:-.03em;margin:0;font-size:2rem;line-height:1.15}.privacy-feature-copy>p:not(.eyebrow){color:var(--text-secondary);margin:14px 0 0;line-height:1.65}.privacy-feature-link{color:var(--brand);margin-top:20px;font-weight:700;text-decoration:none;display:inline-block}.privacy-feature-link:hover{text-decoration:underline}.privacy-points{gap:12px;display:grid}.privacy-points>div{border-radius:var(--radius-md);background:var(--surface-subtle);gap:4px;padding:16px;display:grid}.privacy-points strong{color:var(--text-primary);font-size:.9rem}.privacy-points span{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.faq-list{gap:10px;max-width:900px;display:grid}.faq-list details{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-panel)}.faq-list summary{color:var(--text-primary);cursor:pointer;padding:18px 20px;font-weight:700}.faq-list details p{color:var(--text-secondary);margin:0;padding:0 20px 20px;line-height:1.65}@media (width<=980px){.input-workspace{grid-template-columns:1fr}.home-section{margin-top:36px;padding-top:32px}.how-it-works-grid{grid-template-columns:1fr}.analysis-controls{grid-template-columns:1fr 1fr}.button-primary{grid-column:1/-1}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-shell{width:min(100% - 24px,1400px);padding-top:12px}.legal-document{padding:26px 20px}.footer-links,.app-header{flex-direction:column;align-items:flex-start}.local-badge{align-self:flex-start}.hero{padding-top:20px}.hero h1{font-size:clamp(2rem,11vw,3rem)}.analysis-controls{grid-template-columns:1fr}.secondary-actions{width:100%}.secondary-actions .button{flex:1}.button-primary{grid-column:auto;width:100%}.privacy-notice{justify-content:flex-start;align-items:flex-start}.privacy-notice>div{display:grid}.result-workspace{padding:17px}.section-heading{flex-direction:column;align-items:flex-start}.risk-grid,.metrics-grid,.recommendation{grid-template-columns:1fr}.diff-viewer{overflow-x:auto}.app-footer{flex-direction:column}}@media (width<=480px){.code-panel-header{flex-direction:column;align-items:flex-start}.panel-meta{text-align:left}.code-input{min-height:300px;font-size:.82rem}.risk-score{font-size:2.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
