:root{--xz-attacker: oklch(58% .14 35);--xz-defender: oklch(52% .06 250);--xz-infra: oklch(55% .02 250);--xz-attacker-bg: color-mix(in oklch, var(--xz-attacker) 12%, transparent);--xz-defender-bg: color-mix(in oklch, var(--xz-defender) 12%, transparent)}:root.dark{--xz-attacker: oklch(72% .16 35);--xz-defender: oklch(75% .08 250);--xz-infra: oklch(70% .02 250);--xz-attacker-bg: color-mix(in oklch, var(--xz-attacker) 14%, transparent);--xz-defender-bg: color-mix(in oklch, var(--xz-defender) 14%, transparent)}.xz-report-brief{display:none}.xz-five{margin:1.75rem auto 2.25rem;max-width:760px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 0}.xz-five-title{margin:0 0 .85rem;font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--xz-attacker)}.xz-five-list{list-style:none;margin:0;padding:0;counter-reset:xz-five;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.xz-five-list li{counter-increment:xz-five;position:relative;padding-top:1.6rem}.xz-five-list li:before{content:counter(xz-five,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--font-mono);font-size:.75rem;font-weight:700;color:var(--xz-defender)}.xz-five-list strong{display:block;font-size:1rem;line-height:1.2;color:var(--page-text);margin-bottom:.25rem}.xz-five-list span{display:block;font-size:.86rem;line-height:1.42;color:var(--text-secondary)}.xz-five-list code{font-family:var(--font-mono);font-size:.9em;background:color-mix(in srgb,var(--page-text) 6%,transparent);padding:.05em .25em;border-radius:3px}@media(max-width:820px){.xz-five-list{grid-template-columns:1fr;gap:.65rem}.xz-five-list li{padding-top:0;padding-left:2rem}}.xz-widget{width:min(100%,960px);margin-inline:auto;margin-block:2.5rem;font-family:var(--font-sans);color:var(--page-text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern","ss01";--xz-fs-3xs: .5625rem;--xz-fs-2xs: .625rem;--xz-fs-xs: .6875rem;--xz-fs-sm: .75rem;--xz-fs-md: .8125rem;--xz-fs-lg: .9375rem;--xz-fs-xl: 1.0625rem;--xz-radius-sm: 4px;--xz-radius-md: 6px;--xz-radius-lg: 8px;--xz-radius-xl: 10px;--xz-radius-2xl: 12px;--xz-fade-ghost: .32;--xz-fade-quiet: .7;--xz-tracking-caps: .12em}.xz-widget *,.xz-widget *:before,.xz-widget *:after{box-sizing:border-box}.xz-widget code,.xz-widget pre,.xz-widget [data-numeric]{font-variant-numeric:tabular-nums}.xz-tl{width:100%;max-width:none;margin-inline:0;margin-block:2.5rem 4rem;position:relative}.xz-tl-inner{position:relative;padding-block:1rem 2rem}.xz-tl-beam{position:absolute;left:1.25rem;top:0;bottom:0;width:2px;background:var(--border);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);pointer-events:none}.xz-tl-beam-fill{position:absolute;inset-inline:0;top:0;width:2px;background:linear-gradient(to top,var(--xz-defender) 0%,var(--xz-attacker) 35%,var(--xz-attacker) 70%,transparent 100%);transition:height .06s linear}.xz-tl-row{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:3rem;padding-block:1rem 4rem;align-items:start}.xz-tl-row:last-child{padding-bottom:1rem}.xz-tl-phase{position:sticky;top:calc(var(--header-h, 4.5rem) + 2rem);display:flex;align-items:flex-start;gap:1rem;padding-left:2.75rem;align-self:start}.xz-tl-phase-marker{position:absolute;left:.5rem;top:.25rem;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--page-bg);border:2px solid var(--page-text);display:grid;place-items:center;z-index:1}.xz-tl-phase-marker-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--page-text)}.xz-tl-row.is-release .xz-tl-phase-marker{border-color:var(--xz-attacker)}.xz-tl-row.is-release .xz-tl-phase-marker-dot{background:var(--xz-attacker)}.xz-tl-row.is-discovery .xz-tl-phase-marker{border-color:var(--xz-defender)}.xz-tl-row.is-discovery .xz-tl-phase-marker-dot{background:var(--xz-defender)}.xz-tl-phase-stack{display:flex;flex-direction:column;gap:.25rem}.xz-tl-phase-num{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--page-text);opacity:.55}.xz-tl-row.is-release .xz-tl-phase-num{color:var(--xz-attacker);opacity:1}.xz-tl-row.is-discovery .xz-tl-phase-num{color:var(--xz-defender);opacity:1}.xz-tl-phase-name{margin:0;font-family:var(--font-sans);font-size:clamp(1.875rem,1.5rem + 1.5vw,2.75rem);font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--page-text)}.xz-tl-row.is-release .xz-tl-phase-name{color:var(--xz-attacker)}.xz-tl-row.is-discovery .xz-tl-phase-name{color:var(--xz-defender)}.xz-tl-phase-range{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--page-text);font-variant-numeric:tabular-nums;letter-spacing:.02em;margin-top:.5rem}.xz-tl-events{display:flex;flex-direction:column;gap:3rem;min-width:0}.xz-tl-event{position:relative}.xz-tl-event-meta{display:flex;align-items:baseline;gap:.875rem;margin-bottom:.625rem;flex-wrap:wrap}.xz-tl-event-date{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--page-text);font-variant-numeric:tabular-nums;letter-spacing:.02em}.xz-tl-event-actor{font-family:var(--font-sans);font-weight:500;font-size:14px;color:var(--page-text)}.xz-tl-event-kind{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--page-text);opacity:.55}.xz-tl-event-kind.is-att{color:var(--xz-attacker);opacity:1}.xz-tl-event-kind.is-def{color:var(--xz-defender);opacity:1}.xz-tl-event-title{margin:0 0 .75rem;font-family:var(--font-sans);font-size:1.375rem;font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--page-text);max-width:36ch}.xz-tl-event-summary{margin:0 0 .875rem;font-size:1.0625rem;line-height:1.65;color:var(--page-text);max-width:60ch}.xz-tl-event-quote{position:relative;margin:2.25rem 0 1.5rem;padding:.5rem 0 .5rem 2.5rem;border-left:none;font-family:var(--font-serif, Newsreader, Georgia, serif);font-style:italic;font-weight:400;font-size:1.3125rem;line-height:1.5;letter-spacing:-.003em;color:var(--page-text);max-width:52ch}.xz-tl-event-quote:before{content:"“";position:absolute;left:-.1rem;top:.35em;font-family:var(--font-serif, Newsreader, Georgia, serif);font-style:italic;font-weight:500;font-size:3em;line-height:.85;color:var(--page-text);pointer-events:none;user-select:none}.xz-tl-event-quote.is-att:before{color:var(--xz-attacker)}.xz-tl-event-quote.is-def:before{color:var(--xz-defender)}.xz-tl-event-trace{margin:1rem 0;background:var(--code-bg);border:1px solid var(--page-text);padding:.875rem 1.125rem;font-family:var(--font-mono);font-size:13px;line-height:1.7;color:var(--page-text);max-width:60ch;overflow-x:auto}.xz-tl-trace-line{display:block}.xz-tl-trace-prompt{color:var(--xz-defender);user-select:none;margin-right:.5rem;font-weight:700}.xz-tl-trace-cmd{color:var(--page-text);font-weight:600}.xz-tl-trace-out{display:block;color:var(--page-text)}.xz-tl-trace-cmt{display:block;color:var(--page-text);font-style:italic;margin-top:.375rem;opacity:.75}.xz-tl-email{margin:1rem 0;border:2px solid var(--xz-defender);background:var(--page-bg);font-family:var(--font-mono);max-width:62ch}.xz-tl-email-headers{display:grid;grid-template-columns:auto 1fr;gap:.375rem 1rem;padding:1rem 1.25rem;border-bottom:2px solid var(--xz-defender);font-size:12.5px;line-height:1.5;background:color-mix(in srgb,var(--xz-defender) 8%,var(--page-bg))}.xz-tl-email-h-key{font-weight:700;color:var(--xz-defender);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;padding-top:2px}.xz-tl-email-h-val{color:var(--page-text);word-break:break-word}.xz-tl-email-body{padding:1.25rem 1.25rem 1.5rem;font-family:var(--font-serif, Newsreader, Georgia, serif);font-style:italic;font-weight:400;font-size:1.125rem;line-height:1.6;color:var(--page-text);white-space:pre-wrap}.xz-tl-event-source{display:inline-flex;align-items:center;gap:.3rem;margin-top:.625rem;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--page-text);text-decoration:none;border-bottom:1px solid var(--page-text);letter-spacing:.02em;padding-bottom:1px}.xz-tl-event-source:hover{color:var(--xz-attacker);border-bottom-color:var(--xz-attacker)}.xz-tl-event-source-arrow{font-family:var(--font-sans);font-size:12px}@media(prefers-reduced-motion:reduce){.xz-tl-beam-fill{transition:none!important}}@media(max-width:768px){.xz-tl-row{grid-template-columns:1fr;gap:1.5rem;padding-block:1.5rem 3rem}.xz-tl-phase{position:relative;top:auto;padding-left:2.75rem}.xz-tl-phase-name{font-size:1.875rem}.xz-tl-events{padding-left:2.75rem}.xz-tl-beam{left:1rem}.xz-tl-phase-marker{left:.25rem}}.xz-tryit{margin:2rem auto;max-width:min(100%,720px);padding:1.25rem 1.5rem;border:1px solid var(--border);border-left:3px solid var(--xz-defender);border-radius:0 var(--xz-radius-lg) var(--xz-radius-lg) 0;background:var(--subtle-bg);color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--xz-fs-lg);line-height:1.6}.xz-tryit-title{margin:0 0 .75rem;font-family:var(--font-mono);font-size:var(--xz-fs-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--xz-defender)}.xz-tryit p{margin:0 0 .75rem}.xz-tryit p:last-child{margin-bottom:0}.xz-tryit ul{list-style:disc;margin:0;padding-left:1.25rem}.xz-tryit li{margin-bottom:.5rem;overflow-wrap:anywhere}.xz-tryit li:last-child{margin-bottom:0}.xz-tryit code{font-family:var(--font-mono);font-size:.875em;padding:.1em .35em;background:color-mix(in srgb,var(--page-text) 6%,transparent);border-radius:var(--xz-radius-xs, 3px);color:var(--page-text)}.xz-tryit a{color:var(--accent);text-decoration:none;border-bottom:1px dotted color-mix(in srgb,var(--accent) 50%,transparent)}.xz-tryit a:hover{border-bottom-style:solid}.xz-tryit-note{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent);font-size:var(--xz-fs-sm);color:color-mix(in srgb,var(--text-secondary) 85%,transparent)}.xz-cast{margin:2.5rem 0 3rem}.xz-cast-title{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--page-text);margin:0 0 1.25rem}.xz-cast-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem}.xz-cast-card{position:relative;padding:1rem 1.125rem 1.125rem 1.375rem;border-left:4px solid var(--page-text)}.xz-cast-card.is-attacker{border-left-color:var(--xz-attacker)}.xz-cast-card.is-defender{border-left-color:var(--xz-defender)}.xz-cast-card.is-target{border-left-color:var(--page-text)}.xz-cast-card-head{margin:0 0 .5rem}.xz-cast-role{display:block;font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--page-text);margin-bottom:.25rem}.xz-cast-card.is-attacker .xz-cast-role{color:var(--xz-attacker)}.xz-cast-card.is-defender .xz-cast-role{color:var(--xz-defender)}.xz-cast-name{margin:0;font-family:var(--font-sans);font-size:1.25rem;font-weight:700;line-height:1.15;letter-spacing:-.012em;color:var(--page-text);display:flex;align-items:baseline;gap:.625rem;flex-wrap:wrap}.xz-cast-handle{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:0;color:var(--xz-attacker);background:var(--xz-attacker-bg);padding:2px 6px;border-radius:3px}.xz-cast-card p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--page-text)}@media(max-width:720px){.xz-cast-grid{grid-template-columns:1fr;gap:1rem}}.article-main .prose{font-size:1.0625rem;line-height:1.7;letter-spacing:-.003em}.article-main .prose :where(p,blockquote):not(:where([class~=not-prose] *)){text-align:left;hyphens:none;-webkit-hyphens:none}.article-main .prose :where(h2):not(:where([class~=not-prose] *)){font-size:1.875rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-top:3.5rem;margin-bottom:.875rem}.article-main .prose :where(h3):not(:where([class~=not-prose] *)){font-size:1.375rem;font-weight:700;letter-spacing:-.012em;line-height:1.25;margin-top:2.25rem;margin-bottom:.5rem}.article-main .prose :where(h4):not(:where([class~=not-prose] *)){font-family:var(--font-mono);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-top:2rem;margin-bottom:.5rem}.article-main .prose :where(em):not(:where([class~=not-prose] *)){font-family:var(--font-serif);font-style:italic;font-weight:500}.article-main .prose :where(blockquote):not(:where([class~=not-prose] *)){margin:1.5rem 0;padding:.9rem 1rem .9rem 1.15rem;border-left:3px solid var(--xz-defender);background:color-mix(in srgb,var(--xz-defender) 7%,transparent);color:var(--page-text);font-family:var(--font-sans);font-style:normal}.article-main .prose :where(blockquote p):not(:where([class~=not-prose] *)){margin:0;color:var(--page-text);font-family:var(--font-sans);font-style:normal;font-weight:400;line-height:1.6}.article-main .prose :where(ul,ol):not(:where([class~=not-prose] *)){padding-left:1.35rem;margin-block:1rem}.article-main .prose :where(li):not(:where([class~=not-prose] *)){padding-left:.2rem;margin-block:.35rem;text-align:left}.article-main .prose :where(li p):not(:where([class~=not-prose] *)){margin:0;text-align:left}.article-main figure.expressive-code pre,.article-main figure.expressive-code pre code,.article-main figure.expressive-code .ec-line,.article-main figure.expressive-code .ec-line .code{font-size:.78rem;line-height:1.55;white-space:pre;word-break:normal;overflow-wrap:normal}.article-main figure.expressive-code pre{overflow-x:auto}@media(min-width:1024px){.article-main figure.expressive-code{margin-left:-3rem;margin-right:-3rem;max-width:calc(100% + 6rem)}}.expressive-code pre[data-language=asm] code>.ec-line:nth-child(13){background:color-mix(in oklch,var(--xz-attacker) 14%,transparent);box-shadow:inset 3px 0 0 var(--xz-attacker)}.xz-sabotage{margin:1.75rem auto 2rem;max-width:760px}.xz-sabotage-grid{position:relative;display:grid;gap:0;padding-left:2.25rem}.xz-sabotage-grid:before{content:"";position:absolute;left:.55rem;top:.35rem;bottom:.35rem;width:2px;background:linear-gradient(to bottom,var(--xz-defender),var(--xz-attacker))}.xz-sabotage-card{position:relative;display:grid;grid-template-columns:minmax(8.5rem,12rem) 1fr auto;gap:1rem;align-items:baseline;padding:.95rem 0;border-bottom:1px solid var(--border);background:transparent;font-family:var(--font-sans, system-ui, sans-serif)}.xz-sabotage-card:before{content:"";position:absolute;left:-2.15rem;top:1.08rem;width:.82rem;height:.82rem;border-radius:999px;background:var(--page-bg);border:2px solid var(--xz-attacker)}.xz-sabotage-head{display:contents}.xz-sabotage-when{grid-column:1;font-family:var(--font-mono, JetBrains Mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--xz-attacker)}.xz-sabotage-card h4{grid-column:2;margin:0;font-size:1rem;font-weight:750;line-height:1.25;color:var(--page-text)}.xz-sabotage-effect{grid-column:2;margin:.25rem 0 0;font-size:.94rem;line-height:1.48;color:var(--text-secondary)}.xz-sabotage-src{grid-column:3;grid-row:1 / span 2;align-self:center;white-space:nowrap;font-family:var(--font-mono, JetBrains Mono);font-size:.76rem;font-weight:700;color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.xz-sabotage-src:hover{border-bottom-color:var(--accent)}@media(max-width:720px){.xz-sabotage-card{grid-template-columns:1fr;gap:.25rem}.xz-sabotage-head,.xz-sabotage-when,.xz-sabotage-card h4,.xz-sabotage-effect,.xz-sabotage-src{grid-column:1;grid-row:auto}.xz-sabotage-src{justify-self:start;margin-top:.25rem}}.xz-byteflow{margin:1.5rem auto;max-width:580px;padding:1.1rem 1.25rem 1.25rem;border:1px solid var(--border);border-radius:10px;background:var(--page-bg)}.xz-byteflow-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.xz-byteflow-row{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;align-items:center;padding:.45rem .7rem;border-radius:5px;background:color-mix(in srgb,var(--page-text) 4%,transparent)}.xz-byteflow-bytes{font-family:var(--font-mono, JetBrains Mono);font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--page-text)}.xz-byteflow-label{font-family:var(--font-sans, system-ui, sans-serif);font-size:.88rem;line-height:1.4;color:var(--text-secondary)}.xz-byteflow-label code{font-family:var(--font-mono, JetBrains Mono);font-size:.92em;background:color-mix(in srgb,var(--page-text) 6%,transparent);padding:.05em .3em;border-radius:3px;color:var(--page-text)}.xz-byteflow-row.is-out{background:color-mix(in oklch,var(--xz-attacker) 8%,var(--page-bg));border:1px solid color-mix(in oklch,var(--xz-attacker) 35%,var(--border))}.xz-byteflow-row.is-out .xz-byteflow-bytes{color:var(--xz-attacker)}.xz-byteflow-op{display:flex;align-items:baseline;gap:.75rem;padding:.15rem .7rem .2rem;flex-wrap:wrap}.xz-byteflow-op:before{content:"↓";font-family:var(--font-mono, JetBrains Mono);font-size:1rem;color:var(--text-secondary);width:5.5rem;text-align:right;flex-shrink:0;line-height:1}.xz-byteflow-op-cmd{font-family:var(--font-mono, JetBrains Mono);font-size:.82rem;font-weight:700;color:var(--xz-attacker);flex-shrink:0}.xz-byteflow-op-note{font-family:var(--font-mono, JetBrains Mono);font-size:.78rem;color:var(--text-secondary);line-height:1.4}@media(max-width:540px){.xz-byteflow-row{grid-template-columns:4.5rem 1fr;gap:.7rem}.xz-byteflow-op:before{width:4.5rem}.xz-byteflow-bytes{font-size:.85rem}}.xz-m4flow{margin:1.75rem 0 1.25rem;max-width:720px;margin-inline:auto;padding:1.25rem 1.5rem 1.5rem;border:1px solid var(--border);border-radius:10px;background:var(--page-bg);font-family:var(--font-sans, system-ui, sans-serif)}.xz-m4flow-eyebrow{margin:0 0 .85rem;font-family:var(--font-mono, JetBrains Mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.xz-m4flow-eyebrow-bottom{margin:1.4rem 0 .85rem;text-transform:none;letter-spacing:0;font-weight:600;font-size:.9rem;color:var(--page-text);font-family:var(--font-sans, system-ui, sans-serif)}.xz-m4flow-eyebrow code,.xz-m4flow-eyebrow-bottom code{font-family:var(--font-mono, JetBrains Mono);font-size:.92em;background:color-mix(in srgb,var(--page-text) 6%,transparent);padding:.05em .3em;border-radius:3px;color:var(--page-text);font-weight:600;text-transform:none;letter-spacing:0}.xz-m4flow-vars{margin:0;display:grid;grid-template-columns:minmax(8.5rem,max-content) 1fr;column-gap:1.25rem;row-gap:.7rem;align-items:baseline}.xz-m4flow-vars dt{margin:0}.xz-m4flow-vars dt code{font-family:var(--font-mono, JetBrains Mono);font-size:.9rem;font-weight:600;color:var(--page-text);background:none;padding:0}.xz-m4flow-vars dd{margin:0;display:flex;flex-direction:column;gap:.15rem;min-width:0}.xz-m4flow-val{font-family:var(--font-mono, JetBrains Mono);font-size:.9rem;color:var(--xz-attacker);font-weight:600;background:none;padding:0;overflow-wrap:anywhere}.xz-m4flow-note{font-size:.85rem;color:var(--text-secondary);line-height:1.45}.xz-m4flow-note code{font-family:var(--font-mono, JetBrains Mono);font-size:.92em;background:color-mix(in srgb,var(--page-text) 6%,transparent);padding:0 .25em;border-radius:2px;color:var(--page-text)}.xz-m4flow-pipe{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;counter-reset:m4flow-step}.xz-m4flow-pipe li{position:relative;padding:.55rem .85rem .55rem 2.6rem;border:1px solid var(--border);border-radius:6px;background:color-mix(in srgb,var(--page-text) 3%,transparent);display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .85rem;counter-increment:m4flow-step}.xz-m4flow-pipe li:before{content:counter(m4flow-step);position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:1.4rem;height:1.4rem;border-radius:999px;background:var(--xz-attacker);color:var(--page-bg);display:grid;place-items:center;font-family:var(--font-mono, JetBrains Mono);font-size:.78rem;font-weight:700;line-height:1}.xz-m4flow-pipe li code{font-family:var(--font-mono, JetBrains Mono);font-size:.9rem;font-weight:600;background:none;padding:0;color:var(--page-text)}.xz-m4flow-pipe li code.is-att{color:var(--xz-attacker)}.xz-m4flow-out{margin:1rem 0 0;text-align:center;font-family:var(--font-mono, JetBrains Mono);font-size:.92rem;font-weight:700;color:var(--xz-attacker)}@media(max-width:540px){.xz-m4flow{padding:1rem 1.1rem 1.25rem}.xz-m4flow-vars{grid-template-columns:1fr;row-gap:.85rem}}.xz-startup{margin:1.75rem 0 1.5rem;max-width:760px;margin-inline:auto;padding:1.25rem 1.5rem 1.5rem;border:1px solid var(--border);border-radius:10px;background:var(--page-bg);font-family:var(--font-sans, system-ui, sans-serif)}.xz-startup-eyebrow{margin:0 0 1rem;font-family:var(--font-mono, JetBrains Mono);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.xz-startup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);column-gap:1.25rem;row-gap:.4rem;align-items:stretch}.xz-startup-head{font-family:var(--font-mono, JetBrains Mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted, var(--text-secondary));padding-bottom:.4rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.xz-startup-event{display:grid;grid-template-columns:2.2rem 1fr;gap:.85rem;align-items:start;padding:.6rem .6rem .6rem 0;border-radius:6px}.xz-startup-num{width:2.2rem;height:2.2rem;border-radius:999px;background:var(--page-bg);border:2px solid color-mix(in srgb,var(--page-text) 22%,transparent);color:var(--text-secondary);display:grid;place-items:center;font-family:var(--font-mono, JetBrains Mono);font-weight:700;font-size:.95rem;line-height:1}.xz-startup-body{min-width:0;padding-top:.2rem}.xz-startup-body h4{margin:0 0 .3rem;font-size:.98rem;font-weight:700;line-height:1.3;color:var(--page-text);display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem}.xz-startup-tag{font-family:var(--font-mono, JetBrains Mono);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--xz-attacker);background:color-mix(in oklch,var(--xz-attacker) 14%,var(--page-bg));padding:.15em .55em;border-radius:3px}.xz-startup-body p{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.xz-startup-body code{font-family:var(--font-mono, JetBrains Mono);font-size:.88em;background:color-mix(in srgb,var(--page-text) 6%,transparent);padding:.05em .3em;border-radius:3px;color:var(--page-text)}.xz-startup-state{display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:.6rem .85rem;border-radius:6px;background:color-mix(in srgb,var(--page-text) 4%,transparent);border:1px solid color-mix(in srgb,var(--page-text) 8%,transparent)}.xz-startup-state-label{font-family:var(--font-mono, JetBrains Mono);font-size:.88rem;font-weight:700;color:var(--text-secondary);letter-spacing:.01em}.xz-startup-state-note{font-family:var(--font-sans, system-ui, sans-serif);font-size:.78rem;color:var(--muted, var(--text-secondary));line-height:1.4}.xz-startup-event.is-window{background:color-mix(in oklch,var(--xz-attacker) 6%,transparent)}.xz-startup-event.is-window .xz-startup-num{background:var(--xz-attacker);border-color:var(--xz-attacker);color:var(--page-bg)}.xz-startup-state.is-window{background:color-mix(in oklch,var(--xz-attacker) 12%,var(--page-bg));border:1px solid var(--xz-attacker)}.xz-startup-state.is-window .xz-startup-state-label{color:var(--xz-attacker)}.xz-startup-state.is-window .xz-startup-state-note{color:var(--xz-attacker);font-weight:600;opacity:.9}.xz-startup-state.is-locked{background:color-mix(in oklch,var(--xz-defender) 8%,var(--page-bg));border:1px solid color-mix(in srgb,var(--xz-defender) 30%,var(--border))}.xz-startup-state.is-locked .xz-startup-state-label{color:var(--xz-defender)}@media(max-width:620px){.xz-startup-grid{grid-template-columns:1fr}.xz-startup-head-state{display:none}.xz-startup-state{margin-left:3.05rem;margin-bottom:.2rem}.xz-startup{padding:1rem 1.1rem 1.25rem}}.xz-attrchart{margin:1.75rem 0 1.5rem;color:var(--page-text)}.xz-attrchart svg{width:100%;height:auto;max-width:480px;display:block;margin-inline:auto}.xz-attrchart figcaption{text-align:center;font-size:.9375rem;color:var(--text-secondary);margin-top:1.1rem;font-family:var(--font-sans, system-ui, sans-serif);font-style:normal;line-height:1.55;max-width:58ch;margin-inline:auto}.xz-tzmap{margin:1.5rem 0 2rem;color:var(--page-text)}.xz-tzmap-frame{position:relative;width:100%;max-width:760px;margin-inline:auto;aspect-ratio:950 / 620}.xz-tzmap-base{--tz-gray: color-mix(in srgb, var(--page-text) 32%, var(--page-bg));--tz-defender: color-mix(in srgb, var(--xz-defender) 78%, var(--page-bg));--tz-attacker: color-mix(in srgb, var(--xz-attacker) 78%, var(--page-bg));position:absolute;inset:0;width:100%;height:100%}:root.light .xz-tzmap-base{--tz-gray: color-mix(in srgb, var(--page-text) 22%, var(--page-bg))}.xz-tzmap-base svg{width:100%;height:100%;display:block}.xz-tzmap-base path{fill:var(--tz-gray);transition:fill .15s ease}.xz-tzmap-base path#china,.xz-tzmap-base path#hainan,.xz-tzmap-base path#taiwan,.xz-tzmap-base path#mongolia,.xz-tzmap-base path#malaysia,.xz-tzmap-base path[id="east malaysia"],.xz-tzmap-base path#brunei,.xz-tzmap-base path#luzon,.xz-tzmap-base path#palawan,.xz-tzmap-base path#mindoro,.xz-tzmap-base path#samar,.xz-tzmap-base path#negros,.xz-tzmap-base path#cebu,.xz-tzmap-base path#bali,.xz-tzmap-base path#sulawesi,.xz-tzmap-base path#flores,.xz-tzmap-base path#lombok,.xz-tzmap-base path#sumba,.xz-tzmap-base .xz-tz-attacker{fill:var(--tz-attacker)}.xz-tzmap-base path#finland,.xz-tzmap-base path#estonia,.xz-tzmap-base path#hiumaa,.xz-tzmap-base path#saaremaa,.xz-tzmap-base path#lithuania,.xz-tzmap-base path#belarus,.xz-tzmap-base path#ukraine,.xz-tzmap-base path#moldova,.xz-tzmap-base path#romania,.xz-tzmap-base path#bulgaria,.xz-tzmap-base path#greece,.xz-tzmap-base path#crete,.xz-tzmap-base path#cyprus,.xz-tzmap-base path#thrace,.xz-tzmap-base path#turkey,.xz-tzmap-base path#syria,.xz-tzmap-base path#lebanon,.xz-tzmap-base path#israel,.xz-tzmap-base path#jordan,.xz-tzmap-base path#iraq,.xz-tzmap-base path#kuwait,.xz-tzmap-base path#saudi,.xz-tzmap-base path#qatar,.xz-tzmap-base path#yemen,.xz-tzmap-base path#libya,.xz-tzmap-base path#egypt,.xz-tzmap-base path#sudan,.xz-tzmap-base path#south_sudan,.xz-tzmap-base path#ethiopia,.xz-tzmap-base path#eritrea,.xz-tzmap-base path#djibouti,.xz-tzmap-base path#somalia,.xz-tzmap-base path#somaliland,.xz-tzmap-base path#kenya,.xz-tzmap-base path#tanzania,.xz-tzmap-base path#uganda,.xz-tzmap-base path#rwanda,.xz-tzmap-base path#burundi,.xz-tzmap-base path#zambia,.xz-tzmap-base path#zimbabwe,.xz-tzmap-base path#botswana,.xz-tzmap-base path[id="south africa"],.xz-tzmap-base path#lesotho,.xz-tzmap-base path#swaziland,.xz-tzmap-base path#mozambique,.xz-tzmap-base path#malawi,.xz-tzmap-base path#namibia,.xz-tzmap-base path#madagascar,.xz-tzmap-base path#mayotte,.xz-tzmap-base path[id="grande comore"],.xz-tzmap-base .xz-tz-defender{fill:var(--tz-defender)}.xz-tzmap-labels{position:relative;height:5.5rem;margin-top:.625rem;max-width:760px;margin-inline:auto}.xz-tzmap-label{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;white-space:nowrap;line-height:1.2;padding:.5rem .875rem;border-top:3px solid var(--page-text);background:var(--page-bg)}.xz-tzmap-label.is-actual{border-top-color:var(--xz-defender)}.xz-tzmap-label.is-claimed{border-top-color:var(--xz-attacker)}.xz-tzmap-label-tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--page-text)}.xz-tzmap-label-tz{font-family:var(--font-mono);font-size:15px;font-weight:700;margin-top:4px;color:var(--page-text)}.xz-tzmap-label-where{font-family:var(--font-serif, Newsreader, Georgia, serif);font-style:italic;font-size:13px;color:var(--page-text);margin-top:4px}.xz-tzmap-label.is-actual .xz-tzmap-label-tag,.xz-tzmap-label.is-actual .xz-tzmap-label-tz{color:var(--xz-defender)}.xz-tzmap-label.is-claimed .xz-tzmap-label-tag,.xz-tzmap-label.is-claimed .xz-tzmap-label-tz{color:var(--xz-attacker)}.xz-tzmap figcaption{text-align:center;font-size:.9375rem;color:var(--text-secondary);margin-top:1.1rem;font-family:var(--font-sans, system-ui, sans-serif);font-style:normal;line-height:1.55;max-width:64ch;margin-inline:auto}@media(max-width:540px){.xz-tzmap-label-where{display:none}.xz-tzmap-label-tz{font-size:12px}}.xz-gotrewrite{margin:1.5rem 0}.xz-gotrewrite-eyebrow{font-family:var(--font-mono);font-size:var(--xz-fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .75rem}.xz-gotrewrite-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.xz-gotrewrite-col{background:var(--subtle-bg);border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem;display:flex;flex-direction:column}.xz-gotrewrite-col.is-after{border-color:var(--xz-attacker);background:var(--xz-attacker-bg)}.xz-gotrewrite-h{font-family:var(--font-mono);font-size:var(--xz-fs-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);font-weight:500}.xz-gotrewrite-col.is-after .xz-gotrewrite-h{color:var(--xz-attacker);border-bottom-color:color-mix(in oklch,var(--xz-attacker) 35%,transparent)}.xz-gotrewrite-rows{list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:var(--xz-fs-md);line-height:1.5}.xz-gotrewrite-rows li{display:flex;justify-content:space-between;align-items:baseline;padding:.3rem 0;gap:1rem}.xz-gotrewrite-rows li span{color:var(--text-secondary)}.xz-gotrewrite-rows li.is-muted code,.xz-gotrewrite-rows li.is-muted span{color:var(--muted)}.xz-gotrewrite-rows li.is-poisoned{background:color-mix(in oklch,var(--xz-attacker) 14%,transparent);margin:0 -.5rem;padding:.3rem .5rem .3rem .4rem;border-radius:4px;border-left:2px solid var(--xz-attacker)}.xz-gotrewrite-rows li.is-poisoned code,.xz-gotrewrite-rows li.is-poisoned span{color:var(--xz-attacker);font-weight:600}.xz-gotrewrite figcaption{margin-top:.6rem;font-size:.9375rem;color:var(--text-secondary);font-style:italic;font-family:var(--font-sans, system-ui, sans-serif);line-height:1.55;max-width:64ch}@media(max-width:640px){.xz-gotrewrite-grid{grid-template-columns:1fr}}.xz-pathin{margin:1.5rem 0;max-width:760px}.xz-pathin-eyebrow{font-family:var(--font-mono);font-size:var(--xz-fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 .85rem}.xz-pathin-node{padding:.7rem 1rem;background:var(--subtle-bg);border:1px solid var(--border);border-left:3px solid var(--xz-defender);border-radius:6px;display:flex;align-items:baseline;gap:.85rem;flex-wrap:wrap}.xz-pathin-node.is-attacker{border-color:var(--xz-attacker);border-left-color:var(--xz-attacker);background:var(--xz-attacker-bg)}.xz-pathin-node code{font-family:var(--font-mono);font-size:1rem;color:var(--text);font-weight:600;background:none;padding:0}.xz-pathin-node.is-attacker code{color:var(--xz-attacker)}.xz-pathin-node>span{font-family:var(--font-sans, system-ui, sans-serif);font-style:italic;font-size:.875rem;color:var(--text-secondary)}.xz-pathin-link{margin-left:1rem;padding:.55rem 0 .55rem 1.5rem;border-left:1px dashed var(--border);display:grid;grid-template-columns:1.25rem 1fr;gap:.5rem;align-items:start}.xz-pathin-link .arrow{color:var(--text-secondary);font-family:var(--font-mono);font-size:1rem;line-height:1.4}.xz-pathin-link>div{display:flex;flex-direction:column;gap:.2rem}.xz-pathin-link .h{font-family:var(--font-mono);font-size:var(--xz-fs-md);color:var(--text)}.xz-pathin-link .h code{background:none;padding:0;color:var(--xz-attacker);font-size:inherit}.xz-pathin-link .p{font-family:var(--font-sans, system-ui, sans-serif);font-style:italic;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.xz-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0 2rem}.xz-lessons article{border:1px solid var(--border);border-top:3px solid var(--xz-defender);padding:1rem;background:var(--page-bg)}.xz-lessons span{display:block;margin-bottom:.5rem;font-family:var(--font-mono);font-size:.72rem;font-weight:800;color:var(--xz-defender)}.xz-lessons h4{margin:0 0 .45rem;font-size:1rem;line-height:1.25;color:var(--page-text)}.xz-lessons p{margin:0;font-size:.9rem;line-height:1.48;color:var(--text-secondary)}.xz-lessons code{font-family:var(--font-mono);font-size:.9em;padding:.05em .28em;border-radius:3px;background:color-mix(in srgb,var(--page-text) 6%,transparent);color:var(--page-text)}@media(max-width:760px){.xz-lessons{grid-template-columns:1fr}}.xz-stub{margin:1.75rem auto;max-width:820px;padding:1.15rem 1.25rem 1.2rem;border:1px solid var(--border);border-top:4px solid var(--xz-attacker);background:var(--page-bg)}.xz-stub-eyebrow{font-family:var(--font-mono);font-size:var(--xz-fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--xz-attacker);margin:0 0 1rem}.xz-stub code{font-family:var(--font-mono);font-size:.9em;padding:.05em .28em;border-radius:3px;background:color-mix(in srgb,var(--page-text) 6%,transparent);color:var(--page-text)}.xz-stub-route{display:grid;grid-template-columns:1fr auto 1fr;gap:.8rem;align-items:stretch;margin-bottom:1rem}.xz-stub-node{border:1px solid var(--border);background:var(--subtle-bg);padding:.85rem .95rem}.xz-stub-node .k{display:block;margin-bottom:.4rem;font-family:var(--font-mono);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.xz-stub-node strong{display:block;font-size:1.05rem;line-height:1.2;color:var(--page-text)}.xz-stub-node p{margin:.45rem 0 0;font-size:.88rem;line-height:1.4;color:var(--text-secondary)}.xz-stub-node.is-hot{border-color:var(--xz-attacker);background:var(--xz-attacker-bg)}.xz-stub-node.is-hot .k,.xz-stub-node.is-hot strong{color:var(--xz-attacker)}.xz-stub-arrow{display:grid;place-items:center;font-family:var(--font-mono);font-size:1.4rem;font-weight:900;color:var(--xz-attacker)}.xz-stub-frame{display:grid;grid-template-columns:.55fr 2.2fr 2.4fr;margin:1rem 0;border:1px solid color-mix(in srgb,var(--xz-attacker) 50%,var(--border))}.xz-stub-frame .seg{min-height:4.25rem;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:.8rem .9rem;background:color-mix(in srgb,var(--xz-attacker) 12%,var(--page-bg));border-left:1px solid color-mix(in srgb,var(--xz-attacker) 35%,var(--border))}.xz-stub-frame .seg:first-child{border-left:0}.xz-stub-frame strong{font-family:var(--font-mono);font-size:.88rem;color:var(--xz-attacker)}.xz-stub-frame span{font-family:var(--font-mono);font-size:.72rem;color:var(--text-secondary)}.xz-stub-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.xz-stub-steps li{border:1px solid var(--border);padding:.85rem;background:var(--page-bg)}.xz-stub-steps li>span{display:block;margin-bottom:.4rem;font-family:var(--font-mono);font-size:.76rem;font-weight:800;color:var(--xz-defender)}.xz-stub-steps strong{display:block;margin-bottom:.25rem;font-size:1rem;color:var(--page-text)}.xz-stub-steps p{margin:0;font-size:.88rem;line-height:1.42;color:var(--text-secondary)}.xz-stub-steps li.is-terminal{border-color:var(--xz-attacker)}.xz-stub-steps li.is-terminal>span,.xz-stub-steps li.is-terminal strong{color:var(--xz-attacker)}.xz-stub figcaption{margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--border);font-size:.92rem;color:var(--text-secondary);font-style:normal;font-family:var(--font-sans, system-ui, sans-serif);line-height:1.5}@media(max-width:760px){.xz-stub-route,.xz-stub-steps{grid-template-columns:1fr}.xz-stub-arrow{transform:rotate(90deg)}}@media print{@page{size:A4;margin:15mm 13mm 17mm}:root,:root.dark,html.dark,html.light{color-scheme:light only;--page-bg: #ffffff !important;--page-text: #111827 !important;--text: #111827 !important;--text-secondary: #374151 !important;--muted: #6b7280 !important;--border: #d7dce2 !important;--subtle-bg: #f7f8fa !important;--code-bg: #f3f5f7 !important;--accent: #1f5f99 !important;--xz-attacker: #b84d2a !important;--xz-defender: #255f9f !important;--xz-infra: #6b7280 !important;--xz-attacker-bg: #fbebe4 !important;--xz-defender-bg: #eaf2fb !important}.prose,.prose-lg,.article-main .prose{--tw-prose-body: var(--page-text) !important;--tw-prose-headings: var(--page-text) !important;--tw-prose-lead: var(--text-secondary) !important;--tw-prose-links: #164ea6 !important;--tw-prose-bold: var(--page-text) !important;--tw-prose-counters: var(--muted) !important;--tw-prose-bullets: var(--muted) !important;--tw-prose-hr: var(--border) !important;--tw-prose-quotes: var(--page-text) !important;--tw-prose-quote-borders: var(--xz-defender) !important;--tw-prose-captions: var(--text-secondary) !important;--tw-prose-kbd: var(--page-text) !important;--tw-prose-code: var(--page-text) !important;--tw-prose-pre-code: var(--page-text) !important;--tw-prose-pre-bg: var(--code-bg) !important;--tw-prose-th-borders: var(--border) !important;--tw-prose-td-borders: var(--border) !important;--tw-prose-invert-body: var(--page-text) !important;--tw-prose-invert-headings: var(--page-text) !important;--tw-prose-invert-lead: var(--text-secondary) !important;--tw-prose-invert-links: #164ea6 !important;--tw-prose-invert-bold: var(--page-text) !important;--tw-prose-invert-counters: var(--muted) !important;--tw-prose-invert-bullets: var(--muted) !important;--tw-prose-invert-hr: var(--border) !important;--tw-prose-invert-quotes: var(--page-text) !important;--tw-prose-invert-quote-borders: var(--xz-defender) !important;--tw-prose-invert-captions: var(--text-secondary) !important;--tw-prose-invert-kbd: var(--page-text) !important;--tw-prose-invert-code: var(--page-text) !important;--tw-prose-invert-pre-code: var(--page-text) !important;--tw-prose-invert-pre-bg: var(--code-bg) !important;--tw-prose-invert-th-borders: var(--border) !important;--tw-prose-invert-td-borders: var(--border) !important}*,*:before,*:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important}html,body{margin:0!important;background:var(--page-bg)!important;color:var(--page-text)!important;font-size:10.6pt!important;line-height:1.52!important}.skip-link,.site-header,.reading-progress-track,body>footer,.breadcrumb,.article-sidebar,.article-footer,.article-likes,.draft-banner,[data-theme-toggle],[data-mobile-nav],.mobile-nav,.term-pop,.xz-mn-pop,.mnemonic-pop,.glossary-popover,.copy-btn,.code-block-wrapper>button{display:none!important}.term-trigger,.xz-mn-trigger{color:inherit!important;text-decoration:none!important;cursor:auto!important;border:0!important}.article-layout{display:block!important;max-width:none!important;width:auto!important;padding:0!important;margin:0!important}.article-main{max-width:none!important;width:auto!important;margin:0!important}.article-main .prose,article.prose,.prose-lg{max-width:none!important;width:auto!important;color:var(--page-text)!important;font-size:11.2pt!important;line-height:1.58!important}.xz-five{margin:7mm 0 9mm!important;padding:4mm 0!important;border-top:1pt solid var(--border)!important;border-bottom:1pt solid var(--border)!important;break-inside:avoid}.xz-five-title{margin:0 0 3mm!important;font-size:8pt!important;letter-spacing:.16em!important;color:var(--xz-attacker)!important}.xz-five-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2.6mm 6mm!important}.xz-five-list li{display:grid!important;grid-template-columns:9mm 24mm 1fr!important;align-items:baseline!important;gap:2.5mm!important;padding:0!important;break-inside:avoid}.xz-five-list li:before{position:static!important;font-size:8pt!important;color:var(--xz-defender)!important}.xz-five-list strong{font-size:9.8pt!important;margin:0!important}.xz-five-list span{font-size:9pt!important;line-height:1.35!important}.article-header{min-height:245mm;display:block!important;position:relative;border:1.1pt solid var(--page-text);border-top:7pt solid var(--xz-attacker);padding:90mm 18mm 36mm!important;margin:0 0 12mm!important;break-after:page;page-break-after:always;background:linear-gradient(135deg,rgba(184,77,42,.07),transparent 44%),linear-gradient(315deg,rgba(37,95,159,.08),transparent 48%),var(--page-bg)!important}.article-header:before{content:"";position:absolute;top:16mm;right:18mm;width:34mm;height:24mm;background:url(/images/epita-logo-crop.png) center / contain no-repeat}.article-header :is(h1,.article-title){margin:0 0 7mm!important;font-size:31pt!important;line-height:1.02!important;letter-spacing:-.04em!important;max-width:14ch!important}.article-header :is(p,.article-description){max-width:58ch!important;font-size:12.5pt!important;line-height:1.55!important;color:var(--text-secondary)!important;text-align:left!important}.article-header :is(.label,.article-category,time,.article-date,.article-updated,.article-filed){font-family:var(--font-sans, system-ui, sans-serif)!important;letter-spacing:0!important;text-transform:none!important;max-width:none!important;white-space:normal!important}.article-divider{display:none!important}.article-header:after{content:"Hugo Sibony · Léa Bonet · EPITA · hugosibony.com/blog/xz-backdoor";position:absolute;left:18mm;right:18mm;bottom:18mm;padding-top:5mm;border-top:.8pt solid var(--border);font-family:var(--font-mono, ui-monospace, monospace);font-size:8.5pt;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.xz-report-brief{display:block!important;position:relative;break-after:page;page-break-after:always;margin:0 0 10mm!important;padding:0!important}.xz-report-logo{display:block!important;float:right;width:31mm!important;height:auto!important;margin:0 0 4mm 8mm!important}.xz-report-kicker{margin:0 0 1.5mm!important;font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:8pt!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--xz-attacker)!important}.xz-report-authors{margin:0 0 5mm!important;font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:8.2pt!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--muted)!important}.xz-report-title{margin:0 0 5.5mm!important;padding:0 0 4mm!important;border:0!important;border-bottom:2pt solid var(--page-text)!important;break-before:auto!important;page-break-before:auto!important;font-size:20pt!important;line-height:1.05!important;letter-spacing:-.035em!important;color:var(--page-text)!important}.xz-report-meta{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;margin:0 0 5.5mm!important;border:.8pt solid var(--border)!important;background:#fff!important}.xz-report-meta div{display:grid!important;grid-template-columns:31mm 1fr!important;gap:3mm!important;padding:2.35mm 4mm!important;border-bottom:.6pt solid var(--border)!important}.xz-report-meta div:nth-child(odd){border-right:.6pt solid var(--border)!important}.xz-report-meta dt{margin:0!important;font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:7.5pt!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--muted)!important}.xz-report-meta dd{margin:0!important;font-size:8.6pt!important;line-height:1.28!important;color:var(--page-text)!important}.xz-report-summary{border-left:4pt solid var(--xz-defender)!important;padding:0 0 0 5mm!important}.xz-report-summary h3{margin:0 0 2mm!important;font-size:12pt!important;line-height:1.2!important;color:var(--xz-defender)!important}.xz-report-summary p{margin:0!important;font-size:9.25pt!important;line-height:1.45!important;text-align:left!important;hyphens:none!important}.xz-report-impact{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3.3mm!important;margin:5.5mm 0!important}.xz-report-impact article{border:.8pt solid var(--border)!important;border-top:3pt solid var(--xz-attacker)!important;background:#fff!important;padding:3mm!important;break-inside:avoid}.xz-report-impact span{display:block!important;font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:7.5pt!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--muted)!important}.xz-report-impact strong{display:block!important;margin-top:1mm!important;font-size:12.2pt!important;line-height:1.1!important;color:var(--xz-attacker)!important}.xz-report-impact p{margin:2mm 0 0!important;font-size:8pt!important;line-height:1.28!important;color:var(--text-secondary)!important}.xz-report-map{list-style:none!important;display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:3mm 0 0!important;padding:0!important;counter-reset:report-map}.xz-report-map li{counter-increment:report-map;display:grid!important;grid-template-columns:10mm 30mm 1fr!important;align-items:baseline!important;gap:3mm!important;padding:1.15mm 0!important;border-bottom:.5pt solid var(--border)!important;break-inside:avoid}.xz-report-map li:before{content:counter(report-map,decimal-leading-zero);font-family:var(--font-mono, ui-monospace, monospace);font-weight:700;color:var(--xz-defender)}.xz-report-map strong{color:var(--page-text)!important}.xz-report-map span{color:var(--text-secondary)!important;font-size:8.4pt!important}p,li,blockquote{orphans:3;widows:3}.article-main .prose :where(p,blockquote):not(:where([class~=not-prose] *)){text-align:justify!important;hyphens:auto!important;-webkit-hyphens:auto!important;hyphenate-limit-chars:7 3 3}.article-main .prose :where(ul,ol):not(:where([class~=not-prose] *)){margin:3mm 0!important;padding-left:6mm!important}.article-main .prose :where(li):not(:where([class~=not-prose] *)){margin:1.4mm 0!important;padding-left:1mm!important;text-align:justify!important;hyphens:auto!important;-webkit-hyphens:auto!important;hyphenate-limit-chars:7 3 3;break-inside:avoid;page-break-inside:avoid}.article-main .prose :where(li p):not(:where([class~=not-prose] *)){margin:0!important;text-align:justify!important}.article-main .prose :where(blockquote):not(:where([class~=not-prose] *)){color:var(--page-text)!important;background:var(--subtle-bg)!important;border-left:3pt solid var(--xz-defender)!important;padding:3mm 4mm!important}.article-main .prose :where(blockquote p):not(:where([class~=not-prose] *)){color:var(--page-text)!important;font-style:normal!important}h1,h2,h3,h4,h5,h6{color:var(--page-text)!important;break-after:avoid;page-break-after:avoid}.prose h2{break-before:page;page-break-before:always;margin-top:0!important;font-size:21pt!important;line-height:1.08!important;border-top:2pt solid var(--page-text);padding-top:5mm!important}.prose>h2:first-of-type{break-before:page;page-break-before:always}.prose h3{font-size:15pt!important;margin-top:8mm!important}.prose h4{font-size:9pt!important}.prose a{color:#164ea6!important;text-decoration:none!important;border-bottom:.4pt solid rgba(22,78,166,.35)!important}pre,code,kbd,samp{font-size:8.3pt!important}pre{white-space:pre-wrap!important;word-break:break-word!important;overflow:visible!important;background:var(--code-bg)!important;border:.7pt solid var(--border)!important}:not(pre)>code{background:#0000000e!important;color:var(--page-text)!important;padding:.04em .28em!important;border-radius:2.5px!important}.expressive-code,.expressive-code>figure,.expressive-code>figure>pre,figure.expressive-code,figure.expressive-code>pre,.code-block-wrapper{display:block!important;max-width:100%!important;width:auto!important;margin-left:0!important;margin-right:0!important;min-height:0!important;break-inside:avoid;page-break-inside:avoid}.expressive-code,figure.expressive-code{margin-top:4mm!important;margin-bottom:4mm!important;overflow:hidden!important}.expressive-code>figure>figcaption,.expressive-code>figure>pre>code{display:block!important}.expressive-code .copy,.expressive-code button{display:none!important}.expressive-code pre,.expressive-code pre code,.expressive-code pre code .code,.expressive-code pre code span{color:var(--page-text)!important;font-style:normal!important}.expressive-code pre code span[style*="3B647A"],.expressive-code pre code span[style*="738F9E"]{color:var(--muted)!important;font-style:italic!important}.expressive-code figcaption.header{background:var(--page-text)!important;color:#fff!important}.expressive-code figcaption.header .title{color:#fff!important;font-weight:600!important}.expressive-code pre code .ec-line.ins,.expressive-code pre code .ec-line.mark,.expressive-code pre code .ec-line[class*=ins]{background:#e9f4ec!important}.expressive-code pre code .ec-line.del,.expressive-code pre code .ec-line[class*=del]{background:#fbeaea!important}figure,figcaption,table,blockquote,.xz-widget,.not-prose,.xz-cast-card,.xz-sabotage-card,.xz-byteflow-row,.xz-m4flow,.xz-startup,.xz-pathin,.xz-gotrewrite,.xz-stub,.xz-latency,.xz-distros,.xz-tzmap,.xz-attrchart,.xz-tarball,.xz-cfg{break-inside:avoid;page-break-inside:avoid}figcaption{color:var(--text-secondary)!important;font-size:9pt!important}svg{max-width:100%!important;height:auto!important}.xz-widget,.xz-cast,.xz-sabotage,.xz-byteflow,.xz-m4flow,.xz-startup,.xz-gotrewrite,.xz-pathin,.xz-stub,.xz-tzmap,.xz-attrchart,.xz-tarball,.xz-latency,.xz-distros,.xz-cfg{margin-block:6mm!important;max-width:100%!important}.xz-cast-grid,.xz-gotrewrite-grid{grid-template-columns:1fr 1fr!important;gap:4mm!important}.xz-sabotage{margin-top:7mm!important}.xz-sabotage-grid{grid-template-columns:1fr!important;gap:0!important;padding-left:7mm!important}.xz-sabotage-grid:before{left:1.2mm!important;width:1.2pt!important}.xz-sabotage-card{grid-template-columns:42mm 1fr!important;gap:5mm!important;padding:3.2mm 0!important;align-items:start!important}.xz-sabotage-card:before{left:-7.1mm!important;top:4mm!important;width:2.6mm!important;height:2.6mm!important;border-width:1.2pt!important}.xz-sabotage-head{display:contents!important}.xz-sabotage-when{grid-column:1!important;grid-row:1 / span 2!important;font-size:8pt!important;line-height:1.35!important;letter-spacing:.08em!important;color:var(--xz-attacker)!important;overflow-wrap:normal!important}.xz-sabotage-card h4{grid-column:2!important;font-size:10.2pt!important;line-height:1.25!important;margin:0 0 1mm!important}.xz-sabotage-effect{grid-column:2!important;font-size:9.4pt!important;line-height:1.42!important;margin:0!important;color:var(--text-secondary)!important}.xz-sabotage-src{display:none!important}.xz-cast-card,.xz-sabotage-card,.xz-gotrewrite-col,.xz-stub-cert,.xz-stub-flow,.xz-m4flow,.xz-startup,.xz-byteflow{background:#fff!important;border-color:var(--border)!important}.xz-tl,.xz-tl-inner,.xz-tl-row,.xz-tl-event,.xz-tl-beam-fill,.xz-tl-phase{opacity:1!important;transform:none!important;visibility:visible!important}.xz-tl{margin-block:5mm!important}.xz-tl-beam,.xz-tl-phase-marker,.xz-tl-event-source,.xz-tl-event-quote{display:none!important}.xz-tl-row{grid-template-columns:34mm 1fr!important;gap:6mm!important;padding:4mm 0 0!important;margin:0 0 7mm!important;break-inside:auto!important;page-break-inside:auto!important;border-top:1pt solid var(--border)}.xz-tl-phase{position:relative!important;top:auto!important;padding-left:0!important}.xz-tl-phase-name{font-size:13pt!important;letter-spacing:-.02em!important}.xz-tl-phase-num,.xz-tl-phase-range{font-size:7.5pt!important;color:var(--muted)!important}.xz-tl-events{gap:0!important;widows:4;orphans:4}.xz-tl-event{break-inside:avoid;page-break-inside:avoid;padding:0 0 2mm!important;margin:0 0 2mm!important;border-bottom:.6pt solid var(--border)}.xz-tl-event-meta{margin:0 0 .8mm!important;gap:2.5mm!important}.xz-tl-event-date{font-size:8.3pt!important;color:var(--page-text)!important}.xz-tl-event-actor,.xz-tl-event-kind{font-size:8pt!important}.xz-tl-event-title{font-size:9.2pt!important;line-height:1.22!important;margin:0 0 .8mm!important;max-width:none!important}.xz-tl-event-summary{font-size:8.6pt!important;line-height:1.35!important;margin:0!important;max-width:none!important}.xz-tl-email{border:.7pt solid var(--border)!important;margin:1.5mm 0!important}.xz-tl-email-headers{grid-template-columns:18mm 1fr!important;padding:2mm 2.5mm!important;font-size:7.8pt!important;background:var(--subtle-bg)!important}.xz-tl-email-body{padding:2.5mm!important;font-size:9pt!important;line-height:1.4!important}.xz-tl-event-trace{font-size:8pt!important;padding:2mm!important;margin:1.5mm 0 0!important}.xz-install{max-width:100%!important;margin:5mm 0!important;padding:4mm!important;border-top-width:2.5pt!important;break-inside:avoid;page-break-inside:avoid}.xz-install-eyebrow{margin-bottom:3mm!important;font-size:7.5pt!important}.xz-install-flow{display:grid!important;grid-template-columns:1fr 6mm 1fr 6mm 1fr!important;gap:2.5mm!important;align-items:stretch!important}.xz-install-step{padding:3mm!important}.xz-install-step span{font-size:6.6pt!important;margin-bottom:1.5mm!important}.xz-install-step strong{font-size:9pt!important;line-height:1.2!important}.xz-install-step p{font-size:7.6pt!important;line-height:1.32!important;margin-top:1.5mm!important}.xz-install-arrow{font-size:11pt!important;transform:none!important;min-height:auto!important}.xz-install-note{margin-top:3.5mm!important;padding-top:2.5mm!important;font-size:8.4pt!important;line-height:1.45!important}.xz-startup-grid{grid-template-columns:1.15fr .72fr!important}.xz-startup-body p,.xz-byteflow-label,.xz-m4flow-note,.xz-pathin-link .p,.xz-stub-flow-steps li .note,.xz-distros-note{font-size:8.7pt!important}.xz-tzmap-frame{max-height:145mm!important}.xz-tzmap-labels{height:18mm!important}.xz-tzmap figcaption{max-width:100%!important}.xz-distros-grid,.xz-distros-col,.xz-distros-item,.xz-cfg svg,.xz-latency-svg{break-inside:avoid;page-break-inside:avoid}.xz-distros{margin:5mm 0!important}.xz-distros-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5mm!important;align-items:start!important}.xz-distros-col{gap:2mm!important}.xz-distros-col-head{padding-bottom:1.5mm!important;border-bottom-width:1pt!important}.xz-distros-col-label{font-size:7.5pt!important;letter-spacing:.14em!important}.xz-distros-col-count{font-size:13pt!important}.xz-distros-item{padding:1.8mm 0!important;border-bottom:.5pt solid var(--border)!important}.xz-distros-item-mark{gap:1.6mm!important}.xz-distros-item-icon{width:3mm!important;height:3mm!important}.xz-distros-item-name{font-size:9.6pt!important;color:var(--page-text)!important}.xz-distros-item-ver{font-size:8pt!important;color:var(--muted)!important}.xz-distros-item-note{font-size:8.4pt!important;line-height:1.35!important;margin:1mm 0 0 4.6mm!important;color:var(--text-secondary)!important}.xz-tryit{display:none!important}#notes--sources~p:has(>strong:only-child),.prose>p:has(>strong:only-child){margin:8mm 0 2.5mm!important;padding-bottom:1.2mm!important;border-bottom:.5pt solid var(--border)!important;text-align:left!important;hyphens:none!important}#notes--sources~p:has(>strong:only-child) strong,.prose>p:has(>strong:only-child) strong{font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:8.5pt!important;font-weight:700!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--xz-attacker)!important}#notes--sources~ul{list-style:none!important;padding-left:0!important;margin:0!important}#notes--sources~ul>li{position:relative!important;padding:2.4mm 0 2.4mm 5mm!important;margin:0!important;border-bottom:.4pt solid var(--border)!important;break-inside:avoid;page-break-inside:avoid}#notes--sources~ul>li:before{content:"";position:absolute;left:0;top:3.6mm;width:2.5mm;height:.6pt;background:var(--muted)}#notes--sources~ul>li>strong:first-child{display:inline!important}#notes--sources~ul>li>strong:first-child a{font-weight:700!important;color:var(--page-text)!important;border-bottom:0!important}.xz-lessons{display:grid!important;grid-template-columns:1fr!important;gap:3mm!important;margin:4mm 0!important}.xz-lessons article{display:grid!important;grid-template-columns:9mm 1fr!important;align-items:baseline!important;column-gap:3mm!important;padding:3mm 4mm!important;border:.7pt solid var(--border)!important;border-top:2.5pt solid var(--xz-defender)!important;break-inside:avoid}.xz-lessons article>span{grid-row:1 / span 2!important;font-family:var(--font-mono, ui-monospace, monospace)!important;font-size:11pt!important;font-weight:700!important;color:var(--xz-defender)!important}.xz-lessons article>h4{margin:0!important;font-size:11.2pt!important;line-height:1.2!important;font-weight:700!important;color:var(--page-text)!important}.xz-lessons article>p{margin:1.5mm 0 0!important;font-size:9.3pt!important;line-height:1.42!important;color:var(--text-secondary)!important}}.xz-mn[data-astro-cid-niibmemq]{position:relative;display:inline-block;font-style:normal}.xz-mn-trigger[data-astro-cid-niibmemq]{text-decoration:underline dotted;text-underline-offset:.18em;color:inherit;cursor:help}.xz-mn-trigger[data-astro-cid-niibmemq]:hover,.xz-mn-trigger[data-astro-cid-niibmemq]:focus-visible{color:var(--xz-attacker, currentColor);text-decoration-style:solid}.xz-mn-pop[data-astro-cid-niibmemq]{position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%) translateY(.25rem);z-index:30;width:max-content;max-width:min(20rem,92vw);display:flex;flex-direction:column;gap:.35rem;background:var(--page-bg);color:var(--page-text);border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem .65rem;box-shadow:0 14px 28px #00000029,0 2px 6px #00000014;font-style:normal;font-weight:400;font-size:.85rem;line-height:1.5;text-align:left;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,transform .14s ease,visibility .14s}.xz-mn-pop[data-astro-cid-niibmemq]:before{content:"";position:absolute;top:100%;left:0;right:0;height:.55rem}.xz-mn-pop[data-astro-cid-niibmemq]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:var(--page-bg);border-right:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:-5px}.xz-mn[data-astro-cid-niibmemq]:hover .xz-mn-pop[data-astro-cid-niibmemq],.xz-mn[data-astro-cid-niibmemq]:focus-within .xz-mn-pop[data-astro-cid-niibmemq]{opacity:1;visibility:visible;transform:translate(-50%) translateY(0);pointer-events:auto}.xz-mn-pop-head[data-astro-cid-niibmemq]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.xz-mn-pop-mn[data-astro-cid-niibmemq]{font-family:var(--font-mono, JetBrains Mono);font-weight:700;font-size:.95rem;color:var(--xz-attacker);background:none;padding:0;border:0}.xz-mn-pop-name[data-astro-cid-niibmemq]{color:var(--text-secondary, var(--page-text));font-weight:600}.xz-mn-pop-summary[data-astro-cid-niibmemq]{color:var(--page-text)}.xz-mn-pop-cta[data-astro-cid-niibmemq]{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--muted, var(--text-secondary));font-style:italic}.xz-mn-pop-cta-arrow[data-astro-cid-niibmemq]{font-style:normal;color:var(--xz-attacker);font-weight:600}@media(prefers-reduced-motion:reduce){.xz-mn-pop[data-astro-cid-niibmemq]{transition:none}}.xz-tarball-grid[data-astro-cid-vbwuu6rb]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border:1px solid var(--border);border-radius:var(--xz-radius-2xl);background:var(--page-bg);padding:1.25rem;overflow:hidden}@media(max-width:720px){.xz-tarball-grid[data-astro-cid-vbwuu6rb]{grid-template-columns:1fr}}.xz-tarball-col[data-astro-cid-vbwuu6rb]{min-width:0}.xz-tarball-head[data-astro-cid-vbwuu6rb]{font-family:var(--font-mono);font-size:var(--xz-fs-xs);font-weight:600;letter-spacing:var(--xz-tracking-caps);text-transform:uppercase;color:var(--muted);margin:0 0 .625rem}.xz-tarball-tree[data-astro-cid-vbwuu6rb]{list-style:none;padding:0;margin:0;font-family:var(--font-mono);font-size:var(--xz-fs-md);line-height:1.7;color:var(--text-secondary)}.xz-tarball-tree[data-astro-cid-vbwuu6rb] li[data-astro-cid-vbwuu6rb]{padding:.05rem 0;overflow-wrap:anywhere}.xz-tarball-dir[data-astro-cid-vbwuu6rb]{color:var(--muted);font-weight:500}.xz-tarball-malicious[data-astro-cid-vbwuu6rb]{color:var(--xz-attacker);font-weight:600;background:var(--xz-attacker-bg);margin:.15rem -.4rem;padding:.05rem .4rem;border-radius:var(--xz-radius-sm)}.xz-tarball-badge[data-astro-cid-vbwuu6rb]{font-size:var(--xz-fs-xs);font-style:italic;color:var(--xz-attacker);margin-left:.5rem;opacity:.85}.xz-tarball[data-astro-cid-vbwuu6rb] figcaption[data-astro-cid-vbwuu6rb]{text-align:center;font-size:.9375rem;color:var(--text-secondary);font-style:normal;margin-top:1.1rem;line-height:1.55}.xz-tarball[data-astro-cid-vbwuu6rb] figcaption[data-astro-cid-vbwuu6rb] code[data-astro-cid-vbwuu6rb]{font-family:var(--font-mono);font-style:normal;font-size:.875em;color:var(--text-secondary)}.xz-latency[data-astro-cid-cp6phcsa]{max-width:560px;text-align:center}.xz-latency-svg[data-astro-cid-cp6phcsa]{width:100%;height:auto;display:block;margin:0 auto}.xz-latency-svg[data-astro-cid-cp6phcsa] text[data-astro-cid-cp6phcsa]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.xz-latency-label[data-astro-cid-cp6phcsa]{font-weight:500}.xz-latency[data-astro-cid-cp6phcsa] figcaption[data-astro-cid-cp6phcsa]{text-align:center;font-size:.9375rem;color:var(--text-secondary);font-style:normal;margin-top:1.1rem;line-height:1.55}.xz-distros[data-astro-cid-qqhc6bwy]{margin-block:2rem}.xz-distros-grid[data-astro-cid-qqhc6bwy]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:start}.xz-distros-col[data-astro-cid-qqhc6bwy]{display:flex;flex-direction:column;gap:.75rem;min-width:0}.xz-distros-col-head[data-astro-cid-qqhc6bwy]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:2px solid currentColor}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=exploitable] .xz-distros-col-head[data-astro-cid-qqhc6bwy]{color:var(--xz-attacker)}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=shipped-inert] .xz-distros-col-head[data-astro-cid-qqhc6bwy]{color:var(--xz-infra)}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=spared] .xz-distros-col-head[data-astro-cid-qqhc6bwy]{color:var(--xz-defender)}.xz-distros-col-label[data-astro-cid-qqhc6bwy]{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:var(--xz-tracking-caps);text-transform:uppercase}.xz-distros-col-count[data-astro-cid-qqhc6bwy]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1}.xz-distros-col-list[data-astro-cid-qqhc6bwy]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.xz-distros-item[data-astro-cid-qqhc6bwy]{padding:.75rem 0;border-bottom:1px solid var(--border)}.xz-distros-item[data-astro-cid-qqhc6bwy]:last-child{border-bottom:0}.xz-distros-item-head[data-astro-cid-qqhc6bwy]{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.xz-distros-item-mark[data-astro-cid-qqhc6bwy]{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.xz-distros-item-icon[data-astro-cid-qqhc6bwy]{width:.95rem;height:.95rem;flex-shrink:0;display:inline-flex;align-self:center;color:var(--muted);transition:color .15s ease}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=exploitable] .xz-distros-item-icon[data-astro-cid-qqhc6bwy]{color:var(--xz-attacker)}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=shipped-inert] .xz-distros-item-icon[data-astro-cid-qqhc6bwy]{color:var(--xz-infra)}.xz-distros-col[data-astro-cid-qqhc6bwy][data-status=spared] .xz-distros-item-icon[data-astro-cid-qqhc6bwy]{color:var(--xz-defender)}.xz-distros-item-icon[data-astro-cid-qqhc6bwy] svg{width:100%;height:100%;fill:currentColor}.xz-distros-item-name[data-astro-cid-qqhc6bwy]{font-size:.95rem;font-weight:600;color:var(--page-text);line-height:1.25}.xz-distros-item-ver[data-astro-cid-qqhc6bwy]{font-family:var(--font-mono);font-size:.78rem;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;flex-shrink:0}.xz-distros-item-note[data-astro-cid-qqhc6bwy]{margin:.3rem 0 0 1.45rem;font-size:.82rem;line-height:1.4;color:var(--text-secondary)}@media(max-width:720px){.xz-distros-grid[data-astro-cid-qqhc6bwy]{grid-template-columns:minmax(0,1fr);gap:2rem}}.xz-install[data-astro-cid-ixg2ygwt]{margin:1.5rem auto 1.75rem;max-width:760px;padding:1rem 1.1rem;border:1px solid var(--border);border-top:3px solid var(--xz-attacker);background:var(--page-bg)}.xz-install-eyebrow[data-astro-cid-ixg2ygwt]{margin:0 0 .9rem;font-family:var(--font-mono);font-size:.74rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--xz-attacker)}.xz-install[data-astro-cid-ixg2ygwt] code[data-astro-cid-ixg2ygwt]{font-family:var(--font-mono);font-size:.9em;padding:.05em .25em;border-radius:3px;background:color-mix(in srgb,var(--page-text) 6%,transparent);color:var(--page-text)}.xz-install-flow[data-astro-cid-ixg2ygwt]{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.65rem;align-items:stretch}.xz-install-step[data-astro-cid-ixg2ygwt]{padding:.8rem .85rem;border:1px solid var(--border);background:var(--subtle-bg)}.xz-install-step[data-astro-cid-ixg2ygwt] span[data-astro-cid-ixg2ygwt]{display:block;margin-bottom:.45rem;font-family:var(--font-mono);font-size:.72rem;font-weight:800;color:var(--xz-defender)}.xz-install-step[data-astro-cid-ixg2ygwt] strong[data-astro-cid-ixg2ygwt]{display:block;font-size:1rem;line-height:1.2;color:var(--page-text)}.xz-install-step[data-astro-cid-ixg2ygwt] p[data-astro-cid-ixg2ygwt]{margin:.4rem 0 0;font-size:.88rem;line-height:1.42;color:var(--text-secondary)}.xz-install-step[data-astro-cid-ixg2ygwt].is-hot{border-color:var(--xz-attacker);background:var(--xz-attacker-bg)}.xz-install-step[data-astro-cid-ixg2ygwt].is-hot span[data-astro-cid-ixg2ygwt],.xz-install-step[data-astro-cid-ixg2ygwt].is-hot strong[data-astro-cid-ixg2ygwt]{color:var(--xz-attacker)}.xz-install-arrow[data-astro-cid-ixg2ygwt]{display:grid;place-items:center;font-family:var(--font-mono);font-size:1.1rem;font-weight:900;color:var(--muted)}.xz-install-arrow[data-astro-cid-ixg2ygwt].is-hot{color:var(--xz-attacker)}.xz-install-note[data-astro-cid-ixg2ygwt]{margin-top:.85rem;padding-top:.8rem;border-top:1px solid var(--border);font-size:.92rem;line-height:1.5;color:var(--text-secondary)}.xz-install-note[data-astro-cid-ixg2ygwt] strong[data-astro-cid-ixg2ygwt]{color:var(--page-text)}@media(max-width:720px){.xz-install-flow[data-astro-cid-ixg2ygwt]{grid-template-columns:1fr}.xz-install-arrow[data-astro-cid-ixg2ygwt]{transform:rotate(90deg);min-height:1rem}}
