@charset "UTF-8";
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono-semibold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Monomials";src:url("/fonts/monomials.woff2") format("woff2");font-display:swap}
:root{color-scheme:dark;--bg:#000;--panel:#041b0d;--ink:#e5ffee;--secondary:#7dcb98;--green:#00ff66;--amber:#ffca55;--line:#256d40;--muted-line:#173b25;--mono:"IBM Plex Mono",Consolas,ui-monospace,monospace;scrollbar-color:#256d40 #000}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.85;caret-color:var(--green)}::selection{background:var(--green);color:#000}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.25em}a:hover{color:var(--green)}a:focus-visible{outline:2px solid var(--green);outline-offset:6px}svg{display:inline-block;flex-shrink:0;vertical-align:middle}h1,h2,h3,p,dd,dt,a{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--mono)}.wrap{width:min(1216px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;left:20px;top:-100px;padding:12px 18px;background:var(--green);color:#000;z-index:10}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;flex-wrap:wrap;min-height:78px;gap:18px 36px;padding-block:14px}.brand{font:18px/1.4 "Monomials",var(--mono);color:var(--green);text-decoration:none;letter-spacing:.04em}.brand span{color:var(--ink)}.header-node{font-size:10px;letter-spacing:.06em;color:var(--secondary)}.back{display:flex;align-items:center;gap:16px;margin-left:auto;min-height:44px;font-size:13px;color:var(--ink);text-decoration:none}.back>span{color:var(--green)}.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:33px 0 25px;font-size:12px;color:var(--secondary)}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.breadcrumb [aria-current]{color:var(--ink)}.dossier{position:relative;border:1px solid var(--line);margin-bottom:50px}.dossier:before,.dossier:after{content:"";position:absolute;width:20px;height:20px;border-color:var(--green);pointer-events:none}.dossier:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.dossier:after{bottom:-1px;right:-1px;border-bottom:2px solid;border-right:2px solid}.dossier-head{padding:48px 54px 0}.dossier-head h1{font-size:clamp(2.1rem,4.2vw,3.7rem);font-weight:500;line-height:1.19;letter-spacing:-.035em;margin:0 0 27px;max-width:26ch;text-wrap:balance}.dossier-head h1>span{color:var(--green)}.lead{max-width:72ch;color:var(--ink);font-size:16px;margin:0 0 32px}.record-meta{display:flex;flex-wrap:wrap;gap:16px 40px;border-top:1px solid var(--muted-line);border-bottom:1px solid var(--line);padding:20px 0;margin:0;font-size:13px}.record-meta>div{min-width:0}.record-meta dt{color:var(--secondary);font-size:12px;margin-bottom:3px}.record-meta dd{margin:0}.record-meta a{display:inline-flex;gap:10px;align-items:center;min-height:44px;text-decoration:none}.article-grid{display:grid;grid-template-columns:156px minmax(0,1fr);gap:52px;padding:44px 54px 52px}.article-nav{align-self:start;position:sticky;top:28px;display:grid;gap:3px;font-size:13px}.article-nav>a{display:flex;gap:8px;align-items:center;min-height:44px;text-decoration:none}.article-nav>a>span{color:var(--green)}.article-nav p{border-top:1px solid var(--muted-line);padding-top:20px;margin-top:19px;color:var(--secondary);font-size:12px;line-height:1.9}.article-body{min-width:0;max-width:74ch}.article-section{scroll-margin-top:28px;margin:0 0 54px}.article-section:last-child{margin-bottom:0}.article-section h2{font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:500;line-height:1.4;color:var(--green);letter-spacing:-.025em;margin:0 0 20px}.article-section p{margin:0 0 20px}.article-section strong{font-weight:600}.section-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 20px}.section-heading>span{font-size:13px;color:var(--secondary)}.cve-list{list-style:none;padding:0;margin:28px 0 0}.cve{border-top:1px solid var(--line);padding:25px 0 27px;scroll-margin-top:28px}.cve:last-child{border-bottom:1px solid var(--line)}.cve-heading{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between}.cve-id{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--green);font-size:13px;text-decoration:none;font-variant-numeric:tabular-nums}.cve-id:hover{text-decoration:underline}.severity{display:inline-flex;align-items:baseline;gap:16px;font-size:13px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.severity.critical{color:var(--amber)}.severity.high{color:#ffe3a1}.severity.medium{color:var(--secondary)}.score{font-size:20px;line-height:1.2;letter-spacing:-.02em}.cve h3{font-size:17px;line-height:1.6;letter-spacing:-.015em;font-weight:500;margin:10px 0 12px}.cve p{font-size:16px;line-height:1.85;margin-bottom:13px}.cve .cwe{font-size:13px;color:var(--secondary);margin-bottom:0}.cwe span{padding-inline:8px;color:var(--line)}.small-note{font-size:14px;line-height:1.85;color:var(--secondary)}.remediation{margin:26px 0;border-top:1px solid var(--muted-line)}.remediation>div{padding:21px 0;border-bottom:1px solid var(--muted-line)}.remediation dt{color:var(--ink);font-size:13px;font-weight:500;margin-bottom:9px}.remediation dd{margin:0;font-size:16px}.source-list{list-style:none;padding:0;margin:24px 0}.source-list li{border-top:1px solid var(--muted-line)}.source-list li:last-child{border-bottom:1px solid var(--muted-line)}.source-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;padding-block:16px;font-size:16px;text-decoration:none}.source-list a svg{color:var(--green)}.source-list small{display:block;font-size:13px;margin-top:4px;color:var(--secondary)}.document-actions{border-top:1px solid var(--line);padding:22px 54px;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}.document-actions a{display:inline-flex;align-items:center;gap:14px;font-size:13px;min-height:44px;color:var(--green);text-decoration:none}.document-actions a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--muted-line)}.footer-inner{display:flex;gap:20px 32px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-block:25px;color:var(--secondary);font-size:12px}.footer-inner nav{display:flex;gap:24px;flex-wrap:wrap}.footer-inner nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.dossier-head{padding:36px 32px 0}.article-grid{grid-template-columns:130px minmax(0,1fr);gap:32px;padding:36px 32px 40px}.document-actions{padding:20px 32px}.header-node{display:none}.record-meta{gap:14px 26px}}
@media(max-width:740px){body{font-size:16px}.wrap{width:calc(100% - 32px)}.header-inner{gap:8px 18px;min-height:72px}.brand{font-size:15px}.back{font-size:13px;gap:10px}.back>span{display:none}.breadcrumb{margin:24px 0 18px;gap:7px;font-size:12px}.dossier-head{padding:29px 23px 0}.dossier-head h1{font-size:clamp(1.85rem,5.5vw,2.6rem);margin-bottom:23px;line-height:1.25;max-width:24ch}.lead{font-size:16px}.record-meta{gap:15px 22px;font-size:13px}.record-meta dt{font-size:12px}.article-grid{display:block;padding:0 23px 34px}.article-nav{position:static;display:flex;flex-wrap:wrap;gap:3px 20px;padding:18px 0 20px;margin-bottom:29px;border-bottom:1px solid var(--muted-line);font-size:13px}.article-nav p{display:none}.article-nav>a{min-height:44px}.article-section{margin-bottom:40px}.article-section h2{font-size:1.3rem}.article-section p{line-height:1.85}.cve-heading{gap:5px 14px}.cve-id{font-size:13px}.cve h3{font-size:17px}.cve p{font-size:16px}.cve .cwe{font-size:13px}.severity{font-size:13px}.score{font-size:19px}.document-actions{padding:18px 23px;gap:7px 20px}.document-actions a{font-size:13px}.footer-inner{gap:6px 20px;padding-block:20px}.footer-inner>span:last-child{flex-basis:100%}}
@media(max-width:390px){.dossier-head,.article-grid,.document-actions{padding-inline:18px}.brand{font-size:15px}.back{font-size:13px}.cve-heading{align-items:flex-start;flex-direction:column}.severity{margin-bottom:3px}.record-meta>div{flex-basis:100%}.cve-id{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{:root{--bg:#fff;--panel:#fff;--ink:#111;--secondary:#333;--green:#143c24;--amber:#111;--line:#666;--muted-line:#ccc}body{background:#fff;color:#111;font-size:10pt}.wrap{width:100%}.site-header,.breadcrumb,.article-nav,.document-actions,.site-footer{display:none}.dossier{border:0;margin:0}.dossier:before,.dossier:after{display:none}.dossier-head{padding:0}.dossier-head h1{font-size:25pt}.dossier-head h1>span,.article-section h2,.cve-id{color:#143c24}.record-meta{padding:14px 0}.record-meta dt,.cwe,.small-note{color:#333}.article-grid{display:block;padding:22px 0}.cve{break-inside:avoid}.severity{color:#222!important}.article-section h2{break-after:avoid}.lead{font-size:11pt}.article-section{margin-bottom:24px}.cve p{font-size:10pt}}

.skip:hover{color:#000}
.header-node{font-size:11px}

/* The research archive shares the dossier's type and palette. */
.research-index{min-height:100svh;display:flex;flex-direction:column}
.research-index main{flex:1;padding-bottom:100px}
.research-index .index-intro{padding:36px 0 54px}
.research-index .index-intro h1{font-size:clamp(2rem,4.2vw,3.5rem);font-weight:500;line-height:1.2;letter-spacing:-.035em;color:var(--green);margin:0 0 26px;text-wrap:balance}
.research-index .index-intro p{max-width:70ch;font-size:16px;line-height:1.85;margin:0;color:var(--ink)}
.research-index .index-publications{padding-top:20px}
.research-index .index-publications>h2{font-size:16px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0 0 22px;color:var(--secondary)}
.research-index .publication-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.research-index .publication{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;padding:30px 0 35px;border-bottom:1px solid var(--line)}
.research-index .publication>time{font-size:12px;line-height:1.85;font-variant-numeric:tabular-nums;color:var(--secondary);padding-top:10px}
.research-index .publication-copy{min-width:0}
.research-index .publication h3{font-size:clamp(1.2rem,2.3vw,1.65rem);font-weight:500;line-height:1.5;letter-spacing:-.025em;margin:0 0 12px}
.research-index .publication h3>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;text-decoration:none}
.research-index .publication h3>a svg{color:var(--green)}
.research-index .publication h3>a:hover{text-decoration:underline}
.research-index .publication p{font-size:16px;line-height:1.85;max-width:70ch;margin:0 0 18px}
.research-index .publication-kind{font-size:12px;color:var(--secondary)}
@media(max-width:740px){.research-index main{padding-bottom:65px}.research-index .index-intro{padding:28px 0 38px}.research-index .index-intro h1{font-size:2rem;margin-bottom:20px}.research-index .index-intro p{font-size:16px}.research-index .index-publications{padding-top:10px}.research-index .index-publications>h2{font-size:14px;margin-bottom:17px}.research-index .publication{grid-template-columns:1fr;gap:13px;padding:23px 0 28px}.research-index .publication>time{padding-top:0;font-size:12px}.research-index .publication h3{font-size:18px}.research-index .publication h3>a{gap:16px}.research-index .publication p{font-size:16px}.research-index .publication-kind{font-size:12px}}
@media print{.research-index{display:block;min-height:0}.research-index main{padding-bottom:0}.research-index .index-intro{padding:0 0 22px}.research-index .index-intro h1{color:#143c24;font-size:25pt}.research-index .index-intro p,.research-index .publication p{color:#111;font-size:11pt}.research-index .publication>time,.research-index .publication-kind,.research-index .index-publications>h2{color:#333}.research-index .publication{break-inside:avoid}}

/* A direct link keeps language selection available without JavaScript. */
.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;font-size:13px}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;text-decoration:none;border:1px solid transparent}
.language-switch a[aria-current="page"]{color:var(--green);border-color:var(--line);background:var(--panel)}
.language-switch a:hover{border-color:var(--green)}
.language-switch>span{color:var(--secondary)}
.header-inner>*,.breadcrumb>*,.record-meta>div,.cve-heading>*,.document-actions>*,.publication>*{min-width:0}
.site-header .brand{min-height:44px;display:inline-flex;align-items:center;gap:.4em;white-space:nowrap;min-width:max-content;flex-shrink:0}
.article-nav a,.breadcrumb a,.back,.document-actions a{touch-action:manipulation}
@media(max-width:740px){.header-inner{gap:8px 16px}.site-header .brand{order:1;flex:1}.language-switch{order:2}.header-inner>.back{order:3;flex-basis:100%;margin-left:0;border-top:1px solid var(--muted-line);padding-top:8px}.article-nav{column-gap:20px;row-gap:4px}.research-index .publication h3>a{align-items:flex-start}.research-index .publication h3>a svg{margin-top:5px}}
@media(max-width:390px){.header-inner{column-gap:8px}.language-switch>span{display:none}.dossier-head h1{font-size:1.65rem;line-height:1.3;text-wrap:normal}}
@media(forced-colors:active){a:focus-visible{outline-color:Highlight}.language-switch a[aria-current="page"]{border-color:Highlight;color:LinkText}.dossier,.cve,.record-meta,.publication-list{border-color:CanvasText}}
@media print{.language-switch{display:none}}
.skip {top:12px;max-width:calc(100% - 40px);transform:translateY(calc(-100% - 24px))}
.skip:focus {transform:translateY(0)}

/* Sharing enhances the existing link without requiring JavaScript to read. */
.document-actions:has(.share-tools){align-items:flex-start}
.share-tools{flex:1 1 360px;max-width:100%}
.share-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.share-buttons button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--green);font:inherit;font-size:13px;line-height:1.5;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation}
.share-buttons button:hover{background:var(--panel);border-color:var(--green)}
.share-buttons button:disabled{color:var(--secondary);cursor:wait}
.share-buttons button:focus-visible,.share-fallback textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.share-buttons [hidden],.share-feedback[hidden],.share-fallback[hidden]{display:none}
.share-status{min-height:3.4em;margin:8px 0 0;color:var(--secondary);font-size:13px;line-height:1.7}
.share-status.share-error{color:var(--amber)}
.share-fallback{margin-top:8px}
.share-fallback label{display:block;margin-bottom:8px;color:var(--ink);font-size:13px}
.share-fallback textarea{display:block;width:100%;min-height:100px;padding:12px;border:1px solid var(--line);border-radius:0;background:var(--panel);color:var(--ink);font:inherit;font-size:16px;line-height:1.6;overflow-wrap:anywhere;resize:vertical;caret-color:var(--green)}
.share-fallback p{margin:10px 0 0;color:var(--secondary);font-size:13px;line-height:1.7}
@media(forced-colors:active){.share-buttons button:focus-visible,.share-fallback textarea:focus-visible{outline-color:Highlight}.share-buttons button,.share-fallback textarea{border-color:ButtonText}}
