@font-face { font-family: 'Inter'; src: url('/assets/fonts/inter.woff2') format('woff2'); font-weight: 100 900; font-display: swap; font-style: normal; }
@font-face { font-family: 'DM Sans'; src: url('/assets/fonts/dmsans.woff2') format('woff2'); font-weight: 100 900; font-display: swap; font-style: normal; }
:root {
  --orange: #ff8200; --blue: #003a70; --ink: #ffffff; --body: #ffffff; --muted: #9aa0a6;
  --bg: #16161d; --panel: #1d252f; --raise: #20262e; --line: #2b2f37;
  --foot-bg: #16161d; --foot-ink: #fff; --foot-line: #636466;
  --crit: #e5484d; --high: #ff8200; --med: #d9a300; --low: #8a9099;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--body);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 16px; line-height: 1.6; }
a { color: var(--orange); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { font-family: 'DM Sans', 'Inter', sans-serif; color: var(--ink); line-height: 1.2; font-weight: 400; }

/* Header */
header.site { border-bottom: 1px solid #636466; background: var(--bg); position: sticky; top: 0; z-index: 10; }
.hbar { max-width: 1300px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; gap: 24px; }
.hbar .logo img { display: block; height: 40px; width: auto; }
nav.top { display: flex; gap: 26px; flex-wrap: wrap; flex: 1; margin-left: 56px; font-weight: 400; font-size: 16px; }
nav.top a { color: var(--ink); }
nav.top a:hover { color: var(--orange); text-decoration: none; }
.cta { display: inline-flex; align-items: center; gap: 10px;
  background: var(--panel); border: 1px solid var(--orange); border-radius: 0; color: #fff;
  font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 16px; line-height: 1em; letter-spacing: 1px; padding: 13px 20px;
  white-space: nowrap; text-transform: none; transition: all 0.15s linear; }
.cta svg { display: block; flex: none; }
.cta:hover { background: var(--orange); border-color: var(--orange); color: #16161d; text-decoration: none; }
.cta:hover svg path { stroke: #16161d; }

/* Main */
main { max-width: 1300px; margin: 0 auto; padding: 72px 24px 80px; }
h1 { font-size: 55px; margin: 0 0 0.32em; }
h2 { font-size: 26px; margin: 1.8em 0 0.5em; }
h3 { font-size: 18px; margin: 1.4em 0 0.4em; }
p, li { color: var(--body); }
p { margin: 0 0 1.1em; }
main p b, main p strong { color: var(--ink); font-weight: 700; }
code { font-family: ui-monospace, 'SF Mono', 'DejaVu Sans Mono', monospace; font-size: 0.86em; background: var(--raise); border: 1px solid var(--line); padding: 1px 5px; border-radius: 4px; color: #eceef1; }
blockquote { margin: 1.2em 0; padding: 0.7em 1.1em; border-left: 4px solid var(--orange); background: var(--panel); }
table { border-collapse: collapse; width: 100%; margin: 1.2em 0; font-size: 15px; }
th, td { border: 1px solid var(--line); padding: 8px 11px; text-align: left; vertical-align: top; }
th { background: var(--panel); color: var(--ink); font-family: 'DM Sans', sans-serif; }
tr:hover td { background: var(--raise); }
/* Advisories index: keep short columns (Advisory ID, CVSS, dates) on one line;
   only Title and Affected products may wrap. */
table.advtable { font-size: 13.5px; }
table.advtable th, table.advtable td { padding: 7px 9px; }
table.advtable th:nth-child(1), table.advtable td:nth-child(1),
table.advtable th:nth-child(3), table.advtable td:nth-child(3),
table.advtable th:nth-child(6), table.advtable td:nth-child(6),
table.advtable th:nth-child(7), table.advtable td:nth-child(7) { white-space: nowrap; }
.meta { margin: 1.2em 0 1.8em; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.meta table { margin: 0; }
.meta th { width: 190px; white-space: nowrap; color: var(--muted); font-weight: 600; }
.meta td { background: var(--panel); }
.sev { display: inline-block; padding: 2px 11px; border-radius: 999px; color: #16161d; font-size: 13px; font-weight: 700; font-family: 'DM Sans', sans-serif; }
.sev-critical { background: var(--crit); color: #fff; } .sev-high { background: var(--high); }
.sev-medium { background: var(--med); } .sev-low { background: var(--low); color: #fff; }
.notice { border: 1px solid var(--line); background: var(--panel); border-radius: 8px;
  padding: 13px 16px; margin: 0 0 1.6em; font-size: 15px; }
.notice b { color: var(--ink); }
.banner { border: 1px solid var(--high); background: #2a1e12; color: #ffce9e; border-radius: 8px; padding: 11px 15px; margin: 0 0 1.5em; font-size: 15px; }
.overflow { overflow-x: auto; }

/* Footer */
footer.site { background: var(--foot-bg); color: var(--foot-ink); font-size: 13px; line-height: 1.6; }
footer.site a { color: var(--foot-ink); }
footer.site a:hover { color: var(--orange); text-decoration: none; }
.fbar { max-width: 1300px; margin: 0 auto; padding: 48px 24px; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 32px; border-top: 1px solid var(--foot-line); }
.fbar h4 { color: #fdfbf7; font-size: 16px; font-weight: 700; margin: 0 0 15px; }
.fbar .brand img { height: 40px; margin-bottom: 16px; }
.fbar ul { list-style: none; margin: 0; padding: 0; }
.fbar li { margin: 7px 0; }
.fbar address { font-style: normal; line-height: 1.6; }
.fsub .fbar { border-top: 1px solid var(--foot-line); }
.fsub .fbar { padding: 16px 24px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; color: #fdfbf7; }
.fsub .flegal + .fbar { border-top: 0; padding-top: 0; }
footer.site .flegal a { color: var(--orange); font-size: 13px; }
footer.site .flegal a:hover { color: #fff; }
.ldiv { width: 1px; height: 16px; background: var(--foot-line); display: inline-block; vertical-align: middle; margin: 0 14px; }
@media (max-width: 720px) {
  .fbar { grid-template-columns: 1fr; }
  nav.top { display: none; }
  h1 { font-size: 31px; }
}
