:root{--bg:#f5f5f5;--surface:#fff;--border:#ddd;--text:#222;--text-muted:#666;--debian-red:#d70a53;--debian-dark:#a00040;--accent:#0a78d7;--severity-critical:#b00020;--severity-high:#d84315;--severity-medium:#b8860b;--severity-low:#2e7d32;--status-severe:#c62828;--status-affected:#ef6c00;--status-patched:#2e7d32;--status-unaffected:#607d8b;--tag-bg:#e8eaf6;--tag-text:#283593;--thead-bg:#fafafa;--row-border:#f0f0f0;--row-hover:#f8f9fb;--pill-severe-bg:#ffebee;--pill-affected-bg:#fff3e0;--pill-patched-bg:#e8f5e9;--pill-unaffected-bg:#eceff1;--severity-critical-bg:#ffebee;--severity-high-bg:#fbe9e7;--severity-medium-bg:#fff2c3;--severity-low-bg:#e8f5e9;--progress-bg:#eee;--arrow-color:#bbb}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}header{background:var(--debian-dark);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 2rem;display:flex}header .brand{align-items:center;gap:.75rem;display:flex}header .brand a{color:inherit;text-decoration:none}header h1{font-size:1.35rem;font-weight:600}header h1 span{opacity:.85;font-weight:400}header nav{gap:.5rem;display:flex}header nav a{color:#fff;opacity:.85;border-radius:4px;padding:.35rem .75rem;font-size:.875rem;text-decoration:none;transition:opacity .15s,background .15s}header nav a:hover,header nav a.active{opacity:1;background:#ffffff26}main{padding:1.25rem 2rem}.stats-bar{flex-wrap:wrap;gap:1rem;padding:0 0 1.25rem;display:flex}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex:1;gap:.25rem;min-width:180px;padding:1rem 1.5rem;display:flex}.stat-card .label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8rem}.stat-card .value{font-size:1.75rem;font-weight:700}.stat-card .value.critical{color:var(--severity-critical)}.stat-card .value.warn{color:var(--severity-high)}.stat-card .value.ok{color:var(--severity-low)}.stat-card .value.neutral{color:var(--text)}.container{flex-direction:column;gap:1.5rem;display:flex}.section{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.section-header h2{font-size:1rem;font-weight:600}.section-header .badge{background:var(--debian-red);color:#fff;border-radius:10px;justify-content:center;align-items:center;margin-left:.5rem;padding:.1rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}table{border-collapse:collapse;width:100%;font-size:.875rem}thead th{text-align:left;background:var(--thead-bg);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;padding:.65rem 1rem;font-size:.8rem;font-weight:600}tbody td{border-bottom:1px solid var(--row-border);vertical-align:middle;padding:.65rem 1rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--row-hover)}.pill{white-space:nowrap;border-radius:4px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.pill.severe{background:var(--pill-severe-bg);color:var(--status-severe)}.pill.affected{background:var(--pill-affected-bg);color:var(--status-affected)}.pill.patched{background:var(--pill-patched-bg);color:var(--status-patched)}.pill.unaffected{background:var(--pill-unaffected-bg);color:var(--status-unaffected)}.severity{border-radius:4px;padding:.15rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.severity.critical,.dep-tag.critical{background:var(--severity-critical-bg);color:var(--severity-critical)}.severity.high,.dep-tag.high{background:var(--severity-high-bg);color:var(--severity-high)}.severity.medium,.dep-tag.medium{background:var(--severity-medium-bg);color:var(--severity-medium)}.severity.low,.dep-tag.low{background:var(--severity-low-bg);color:var(--severity-low)}.pkg-name{color:var(--accent);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85rem;text-decoration:none}.pkg-name:hover{text-decoration:underline}.cve-link,.cve-detail-body a{color:var(--debian-red);font-family:monospace;text-decoration:none}.cve-detail-description a{font-size:.82rem}.cve-link:hover,.cve-detail-body a:hover{text-decoration:underline}.version{font-family:monospace;font-size:.82rem}.dep-tag{background:var(--tag-bg);color:var(--tag-text);border-radius:3px;margin:.15rem .15rem .15rem 0;padding:.15rem .4rem;font-size:.78rem;font-weight:600;display:inline-block}.tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:0;display:flex}.tabs button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1.25rem;font-size:.875rem;transition:color .15s,border-color .15s}.tabs button.active{color:var(--debian-red);border-bottom-color:var(--debian-red);font-weight:600}.cve-detail{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.cve-detail-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.cve-detail-header h2{font-family:monospace;font-size:1.1rem}.cve-detail-body{padding:1.25rem}.cve-detail-body .meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.cve-detail-body .meta-grid dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.15rem;font-size:.75rem}.cve-detail-body .meta-grid dd{font-size:.9rem;font-weight:500}.cve-detail-body .meta-grid-patched{grid-column:span 2}.cve-detail-body .meta-grid-ratio dd{padding-top:.4rem}.cve-detail-description{max-width:72ch}.cve-detail-body p,.cve-detail-body ol,.cve-detail-body ul{color:var(--text-muted);margin:1rem 0;font-size:.9rem}.cve-detail-body ol,.cve-detail-body ul{padding-left:2rem}.cve-detail-body pre{white-space:pre-wrap;background-color:#111;margin:1rem 0;padding:.8em 1.2em;font-size:.7rem}.cve-detail-body .affected-heading{margin:1rem 0}.cve-detail-body .affected-list{color:var(--text-muted);align-items:center;gap:.35rem;margin-bottom:.35rem;font-family:monospace;font-size:.82rem;display:flex}.progress-bar{background:var(--progress-bg);border-radius:4px;height:8px;display:flex;overflow:hidden}.progress-bar .segment{height:100%;transition:width .3s}.progress-bar .segment.patched{background:var(--status-patched)}.progress-bar .segment.affected{background:var(--status-affected)}.progress-bar .segment.severe{background:var(--status-severe)}.progress-legend{color:var(--text-muted);gap:1rem;margin-top:.4rem;font-size:.78rem;display:flex}.progress-legend span:before{content:"";vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:.35rem;display:inline-block}.progress-legend .l-patched:before{background:var(--status-patched)}.progress-legend .l-affected:before{background:var(--status-affected)}.progress-legend .l-severe:before{background:var(--status-severe)}footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:1rem;padding:1.5rem 2rem;font-size:.8rem}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}@media (prefers-color-scheme:dark){:root{--bg:#1a1a1a;--surface:#242424;--border:#3a3a3a;--text:#e0e0e0;--text-muted:#a0a0a0;--debian-red:#d70a53;--debian-dark:#a00040;--accent:#5dade2;--severity-critical:#ef5350;--severity-high:#ff7043;--severity-medium:#fdd835;--severity-low:#66bb6a;--status-severe:#ef5350;--status-affected:#ffa726;--status-patched:#66bb6a;--status-unaffected:#90a4ae;--tag-bg:#2e2e2e;--tag-text:#9fa8da;--thead-bg:#1e1e1e;--row-border:#333;--row-hover:#2e2e2e;--pill-severe-bg:#3a1a1a;--pill-affected-bg:#3a2a10;--pill-patched-bg:#1a2e1a;--pill-unaffected-bg:#2a2e30;--severity-critical-bg:#3a1a1a;--severity-high-bg:#3a2210;--severity-medium-bg:#3a3410;--severity-low-bg:#1a2e1a;--progress-bg:#333;--arrow-color:#666}}@media (width<=768px){header,main{padding-left:1rem;padding-right:1rem}.stats-bar{flex-direction:column}table{display:block;overflow-x:auto}}