:root{--bg: #0f1117;--bg-surface: #1a1d27;--bg-elevated: #242734;--border: #2e3140;--text: #e1e4ed;--text-muted: #8b8fa3;--accent: #6c8aff;--accent-hover: #8ba3ff;--severity-critical: #ff4444;--severity-critical-bg: rgba(255, 68, 68, .1);--severity-high: #cc4444;--severity-high-bg: rgba(204, 68, 68, .1);--severity-medium: #ffaa00;--severity-medium-bg: rgba(255, 170, 0, .1);--severity-low: #4488ff;--severity-low-bg: rgba(68, 136, 255, .1);--severity-info: #66cccc;--severity-info-bg: rgba(102, 204, 204, .1);--severity-clean: #44cc44;--severity-clean-bg: rgba(68, 204, 68, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}.container{max-width:960px;margin:0 auto;padding:0 1.5rem}header{padding:2rem 0 1rem;border-bottom:1px solid var(--border);margin-bottom:2rem}header h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}header h1 .icon{margin-right:.5rem}header p{color:var(--text-muted);font-size:.875rem}.privacy-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#44cc4414;border:1px solid rgba(68,204,68,.2);border-radius:6px;font-size:.8rem;color:var(--severity-clean);margin-bottom:1.5rem}.privacy-banner .lock{font-size:1rem;flex-shrink:0}.disclaimer-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#ffaa0014;border:1px solid rgba(255,170,0,.2);border-radius:6px;font-size:.8rem;color:var(--severity-medium);margin-bottom:1.5rem}.disclaimer-banner .disclaimer-icon{font-size:1rem;flex-shrink:0}.triage-banner{padding:.75rem 1rem;background:#6c8aff14;border:1px solid rgba(108,138,255,.2);border-radius:6px;font-size:.8rem;color:var(--text);margin-bottom:1.5rem}.triage-banner-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;color:var(--accent)}.triage-icon{font-size:1rem;flex-shrink:0}.triage-banner-desc{color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.triage-steps{margin:0 0 .625rem 1.25rem;padding:0;color:var(--text-muted);line-height:1.7}.triage-steps code{font-family:SF Mono,Menlo,monospace;font-size:.75rem;background:var(--bg-elevated);padding:.1rem .35rem;border-radius:3px;color:var(--text)}.triage-download-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.4rem .875rem;border-radius:6px;font-size:.8rem;cursor:pointer;border:1px solid rgba(108,138,255,.3);background:#6c8aff1f;color:var(--accent);font-weight:600;transition:background .15s}.triage-download-btn:hover{background:#6c8aff38}.upload-zone{border:2px dashed var(--border);border-radius:8px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:1.5rem}.upload-zone:hover,.upload-zone.dragover{border-color:var(--accent);background:#6c8aff0d}.upload-zone .upload-icon{font-size:2rem;margin-bottom:.75rem;display:block}.upload-zone p{color:var(--text-muted);margin-bottom:.75rem}.upload-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.upload-buttons label,.upload-buttons button{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;cursor:pointer;border:1px solid var(--border);background:var(--bg-surface);color:var(--text);transition:background .15s}.upload-buttons label:hover,.upload-buttons button:hover{background:var(--bg-elevated)}.upload-buttons input[type=file]{display:none}.options-bar{display:flex;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--bg-surface);border-radius:6px;margin-bottom:1.5rem;flex-wrap:wrap;font-size:.85rem}.options-bar label{color:var(--text-muted);display:flex;align-items:center;gap:.375rem}.options-bar select{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.options-bar input[type=checkbox]{accent-color:var(--accent)}.options-spacer{flex:1}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.view-toggle button{padding:.25rem .75rem;border:none;background:transparent;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.view-toggle button.active{background:var(--accent);color:#fff}.severity-chart{display:none;padding:1rem;background:var(--bg-surface);border-radius:6px;margin-bottom:1rem}.severity-chart.visible{display:block}.severity-chart-title{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.chart-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;cursor:pointer;border-radius:4px;padding:.2rem .25rem;transition:background .15s}.chart-row:hover{background:var(--bg-elevated)}.chart-row.active{background:var(--bg-elevated);outline:1px solid var(--border)}.chart-label{width:65px;font-size:.75rem;font-weight:600;text-align:right;flex-shrink:0}.chart-bar-track{flex:1;height:18px;background:var(--bg);border-radius:3px;overflow:hidden}.chart-bar-fill{height:100%;border-radius:3px;min-width:2px;transition:width .3s ease}.chart-bar-fill.CRITICAL{background:var(--severity-critical)}.chart-bar-fill.HIGH{background:var(--severity-high)}.chart-bar-fill.MEDIUM{background:var(--severity-medium)}.chart-bar-fill.LOW{background:var(--severity-low)}.chart-bar-fill.INFO{background:var(--severity-info)}.chart-count{width:32px;font-size:.75rem;color:var(--text-muted);text-align:right;flex-shrink:0}.chart-hint{font-size:.7rem;color:var(--text-muted);margin-top:.5rem;text-align:center}.results-area{display:none}.results-area.visible{display:block}.summary-bar{padding:1rem;background:var(--bg-surface);border-radius:6px;margin-bottom:1rem}.summary-top{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.75rem}.summary-stat{text-align:center}.summary-stat .value{font-size:1.5rem;font-weight:700}.summary-stat .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.stat-detail{font-size:.75rem;color:var(--text-muted);font-weight:400}.score-breakdown{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg);border-radius:4px;font-size:.8rem;flex-wrap:wrap;margin-bottom:.5rem}.breakdown-label{color:var(--text-muted);flex-shrink:0}.breakdown-items{display:flex;gap:.75rem;flex-wrap:wrap}.breakdown-item{display:inline-flex;align-items:center;gap:.25rem}.breakdown-pts{color:var(--text-muted);font-size:.75rem}.breakdown-none{color:var(--severity-clean)}.severity-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.severity-dot.CRITICAL{background:var(--severity-critical)}.severity-dot.HIGH{background:var(--severity-high)}.severity-dot.MEDIUM{background:var(--severity-medium)}.severity-dot.LOW{background:var(--severity-low)}.severity-dot.INFO{background:var(--severity-info)}.score-legend{font-size:.75rem;color:var(--text-muted);line-height:1.5}.file-score-breakdown{display:flex;gap:.75rem;flex-wrap:wrap;padding:.5rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border);font-size:.8rem}.export-bar{display:flex;gap:.5rem;margin-bottom:1rem}.export-bar button{padding:.375rem .75rem;border-radius:4px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background .15s}.export-bar button:hover{background:var(--bg-elevated);color:var(--text)}.terminal-view{background:#0a0c10;border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem;font-family:SF Mono,Menlo,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.terminal-view .t-bold{font-weight:700}.terminal-view .t-critical{color:var(--severity-critical);font-weight:700}.terminal-view .t-high{color:var(--severity-high)}.terminal-view .t-medium{color:var(--severity-medium);font-weight:700}.terminal-view .t-low{color:var(--severity-low)}.terminal-view .t-info{color:var(--severity-info)}.terminal-view .t-clean{color:var(--severity-clean);font-weight:700}.terminal-view .t-muted{color:var(--text-muted)}.terminal-view .t-match{color:#c8ccd8}.structured-view{display:none}.structured-view.active,.terminal-view-container{display:block}.terminal-view-container.hidden{display:none}.file-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;margin-bottom:1rem;overflow:hidden}.file-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer}.file-card-header:hover{background:var(--bg-elevated)}.file-card-left{display:flex;flex-direction:column;gap:.125rem}.file-card-name{font-family:SF Mono,Menlo,monospace;font-size:.85rem;font-weight:600}.file-card-eco{font-size:.75rem;color:var(--text-muted)}.file-card-meta{display:flex;gap:1rem;align-items:center;font-size:.8rem;color:var(--text-muted)}.file-card-score{font-weight:600;color:var(--text)}.file-card-body{padding:.75rem 1rem}.file-card-body.collapsed{display:none}.severity-badge{display:inline-block;padding:.125rem .5rem;border-radius:3px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.severity-badge.CRITICAL{background:var(--severity-critical-bg);color:var(--severity-critical);border:1px solid rgba(255,68,68,.3)}.severity-badge.HIGH{background:var(--severity-high-bg);color:var(--severity-high);border:1px solid rgba(204,68,68,.3)}.severity-badge.MEDIUM{background:var(--severity-medium-bg);color:var(--severity-medium);border:1px solid rgba(255,170,0,.3)}.severity-badge.LOW{background:var(--severity-low-bg);color:var(--severity-low);border:1px solid rgba(68,136,255,.3)}.severity-badge.INFO{background:var(--severity-info-bg);color:var(--severity-info);border:1px solid rgba(102,204,204,.3)}.severity-badge.CLEAN{background:var(--severity-clean-bg);color:var(--severity-clean);border:1px solid rgba(68,204,68,.3)}.category-group{margin-bottom:.75rem}.category-group h4{font-size:.8rem;font-weight:600;color:var(--text-muted);padding-bottom:.25rem;margin-bottom:.5rem;border-bottom:1px solid var(--border)}.finding-row{display:flex;gap:.75rem;align-items:flex-start;padding:.375rem 0;font-size:.8rem}.finding-row .finding-desc{flex:1}.finding-row .finding-line{color:var(--text-muted);font-family:SF Mono,Menlo,monospace;font-size:.75rem;flex-shrink:0}.finding-evidence{font-family:SF Mono,Menlo,monospace;font-size:.75rem;background:var(--bg);padding:.375rem .625rem;border-radius:3px;margin:.25rem 0 .375rem;overflow-x:auto;white-space:pre;border-left:3px solid var(--border)}.finding-evidence .evidence-line{color:var(--text-muted);margin-right:.25rem}.finding-evidence code{color:var(--text)}.clean-result{padding:1rem;text-align:center;color:var(--severity-clean);font-weight:600}footer{padding:2rem 0;margin-top:3rem;border-top:1px solid var(--border);text-align:center;font-size:.8rem;color:var(--text-muted)}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:640px){.container{padding:0 1rem}.upload-zone{padding:1.5rem 1rem}.options-bar{flex-direction:column;align-items:flex-start}.summary-top{flex-direction:column;gap:.75rem}.file-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media print{body{background:#fff;color:#000}.upload-zone,.options-bar,.export-bar,.privacy-banner,.disclaimer-banner,.triage-banner,.severity-chart,.upload-buttons,footer{display:none!important}.terminal-view{background:#f5f5f5;border:1px solid #ccc;color:#000}.severity-badge.CRITICAL{color:#c00}.severity-badge.HIGH{color:#933}.severity-badge.MEDIUM{color:#960}}
