:root{--bg:#fff;--text:#111;--text2:#555;--border:#ddd;--accent:#0066cc;--input-bg:#fff;--tag-cve:#d32f2f;--tag-exploit:#e67e00;--tag-fcc:#1565c0;--tag-eol:#7b1fa2;--sev-critical:#d32f2f;--sev-high:#e65100;--sev-medium:#f9a825;--sev-low:#2e7d32}[data-theme=dark]{--bg:#111;--text:#ddd;--text2:#999;--border:#333;--input-bg:#1a1a1a}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}nav{border-bottom:1px solid var(--border);padding:8px 16px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-weight:700;font-size:15px;color:var(--text);text-decoration:none}.nav-links{display:flex;gap:12px;align-items:center;font-size:13px}.nav-links a{color:var(--text2)}.nav-links a:hover{color:var(--text);text-decoration:none}.theme-toggle{background:0 0;border:1px solid var(--border);border-radius:4px;padding:2px 6px;cursor:pointer;font-size:14px;color:var(--text)}[data-theme=light] .theme-icon-dark{display:none}[data-theme=dark] .theme-icon-light{display:none}.main-content{max-width:960px;margin:0 auto;padding:16px}.hero{text-align:center;padding:16px 0 12px}.hero h1{font-size:20px;font-weight:700}.hero .tagline{font-size:13px;color:var(--text2)}.search-wrapper{max-width:600px;margin:0 auto 12px}.search-input-wrap{position:relative;margin-bottom:6px}.search-input{width:100%;padding:8px 10px 8px 32px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--input-bg);color:var(--text);outline:none}.search-input:focus{border-color:var(--accent)}.search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text2);font-size:14px;pointer-events:none}.search-filters{display:flex;justify-content:center;gap:8px}.filter-pill{cursor:pointer;display:flex;align-items:center}.filter-pill input{display:none}.filter-pill span{padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;color:#fff}.filter-pill.filter-cve span{background:var(--tag-cve)}.filter-pill.filter-exploit span{background:var(--tag-exploit)}.filter-pill.filter-fcc span{background:var(--tag-fcc)}.filter-pill.filter-eol span{background:var(--tag-eol)}.filter-pill input:not(:checked)+span{opacity:.35}.stats-row{display:flex;justify-content:center;gap:24px;margin-bottom:16px;font-size:13px;color:var(--text2)}.stats-row b{font-size:15px;color:var(--text)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text2);border-bottom:2px solid var(--border);padding:6px 8px}td{padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}tr:hover{background:rgba(128,128,128,6%)}.tag{display:inline-block;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase}.tag-cve{background:var(--tag-cve)}.tag-exploit{background:var(--tag-exploit)}.tag-fcc{background:var(--tag-fcc)}.tag-eol{background:var(--tag-eol)}.tag-sev-critical{background:var(--sev-critical)}.tag-sev-high{background:var(--sev-high)}.tag-sev-medium{background:var(--sev-medium);color:#111}.tag-sev-low{background:var(--sev-low)}.cat-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.cat-btn{background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:3px 10px;font-size:12px;cursor:pointer;color:var(--text2)}.cat-btn:hover{border-color:var(--accent);color:var(--text)}.cat-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tag-cat{background:#555}.results-container{margin-top:8px}.no-results{text-align:center;padding:24px;color:var(--text2);font-size:13px}.section-page h1{font-size:18px;margin-bottom:4px}.section-page .subtitle{font-size:13px;color:var(--text2);margin-bottom:12px}.site-footer{border-top:1px solid var(--border);padding:10px 16px;text-align:center;font-size:11px;color:var(--text2);margin-top:32px}.truncate{max-width:350px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}@media(max-width:640px){table{font-size:12px}.truncate{max-width:180px}.stats-row{gap:12px;font-size:12px}td,th{padding:4px 6px}}