/* cve.maplelabs.us: on top of maplelabs.us's own site.css (served beside this). */

.cve-head .lede { max-width: 64ch; }
.cve-search { margin-top: 36px; max-width: 980px; }
.cve-search input[type="search"] { width: 100%; min-height: 60px; padding: 0 20px; background: var(--pane); border: 2px solid var(--line-strong); color: var(--text); font: 19px var(--sans); }
.cve-search input[type="search"]:focus { outline: none; border-color: var(--accent); }
.cve-search input[type="search"]::placeholder { color: var(--muted); }
.cve-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin-top: 14px; color: var(--muted); font-size: 13px; font-weight: 700; letter-spacing: 0.04em; }
.cve-filters label { display: flex; flex-direction: column; gap: 6px; }
.cve-filters label.check { flex-direction: row; align-items: center; min-height: 44px; gap: 8px; }
.cve-filters select, .cve-filters input:not([type="checkbox"]) { min-height: 44px; padding: 0 12px; background: var(--pane); border: 1px solid var(--line-strong); color: var(--text); font: 15px var(--sans); }
.cve-filters input[name="year"] { width: 7em; }
.cve-filters input[name="vendor"] { width: 11em; }
.cve-filters input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--accent); }
.cve-filters .btn { min-height: 44px; }
.cve-fresh { margin-top: 18px; color: var(--muted); font-size: 14px; }

.cve-count { margin-bottom: 14px; color: var(--ink-muted); font-size: 14px; font-weight: 700; }
.cve-list { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.cve-list li { display: grid; grid-template-columns: 17ch auto auto 1fr; align-items: baseline; gap: 6px 18px; padding: 18px 0; border-bottom: 1px solid var(--ink-line); }
.cve-list .cve-id { font: 700 16px var(--mono); color: var(--ink); text-decoration: none; }
.cve-list .cve-id:hover { color: var(--bronze-deep); text-decoration: underline; }
.cve-list time { color: var(--ink-muted); font: 14px var(--mono); }
.cve-list .kev { justify-self: start; }
.cve-desc { grid-column: 1 / -1; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink); font-size: 15px; overflow-wrap: anywhere; }
.band-light .sev, .facts .sev { background: var(--ink); }
.kev { display: inline-block; padding: 1px 8px; background: var(--error); color: var(--ink); font: 700 12px/1.6 var(--mono); letter-spacing: 0.02em; }
.cve-pages { display: flex; gap: 12px; margin-top: 28px; }
.cve-pages .btn-line { border-color: var(--ink); color: var(--ink); }
.cve-pages .btn-line:hover { background: var(--ink); color: var(--paper); }

.cve-title { font-family: var(--mono); font-size: clamp(36px, 5vw, 64px); letter-spacing: -0.03em; }
.cve-headline { margin-top: 18px; font-size: 18px; }
.cve-headline .sev { font-size: 15px; padding: 3px 10px; }
.cve-full { max-width: 80ch; overflow-wrap: anywhere; white-space: pre-line; }
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { text-decoration: underline; }

.kev-box { margin-bottom: 36px; padding: 24px 28px; background: var(--ink); color: var(--paper); border-left: 6px solid var(--error); }
.kev-box h2 { margin-bottom: 8px; font-size: 20px; color: var(--error); }
.kev-box p + p { margin-top: 8px; }
.kev-box .kev-name { font-weight: 700; }

.band-light .db code { font-size: 13px; overflow-wrap: anywhere; }
.band-light .db td small { display: block; color: var(--ink-muted); }
.cve-products { columns: 3 220px; margin: 12px 0 36px; padding: 0; list-style: none; font: 14px/1.9 var(--mono); }
.cve-products li { break-inside: avoid; overflow-wrap: anywhere; }   /* CPE names such as 6bk1602-0aa12-0tp0_firmware never break on their own */
.cve-products a { color: var(--ink); font-weight: 700; }
.cve-refs { margin: 12px 0 0; padding: 0; list-style: none; }
.cve-refs li { padding: 10px 0; border-bottom: 1px solid var(--ink-line); overflow-wrap: anywhere; font-size: 14px; }
.cve-refs a { color: var(--ink); }
.cve-refs a:hover { color: var(--bronze-deep); }
.tag { display: inline-block; margin-left: 8px; padding: 0 6px; border: 1px solid var(--ink-line); color: var(--ink-muted); font: 11px/1.7 var(--mono); }
.band-dark .tag { border-color: var(--line-strong); color: var(--muted); }

.nvd-notice { padding: 22px 0; border-bottom: 1px solid var(--line); color: var(--text); font: 600 14px var(--sans); }

@media (max-width: 640px) {
  .cve-list li { grid-template-columns: 1fr auto; }
  .cve-list time { grid-column: 1; }
  .cve-filters label { flex: 1 1 40%; }
}
