@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Hanken+Grotesk:wght@400;500;700;800&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--radius-sm:.25rem;--radius-md:.375rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--color-navy:#0a0a44;--color-navy-90:#0a0a44e6;--color-red:#e40c32;--color-red-hover:#c40828;--color-blue:#4952ea;--color-blue-alt:#4952e3;--color-blue-hover:#3a42c8;--color-blue-tint:#4952ea0d;--color-slate-900:#0f172a;--color-slate-700:#3f3f46;--color-slate-500:#52525b;--color-slate-400:#71717a;--color-slate-300:#a1a1aa;--color-slate-200:#d4d4d8;--color-slate-100:#f2f2f2;--color-white:#fff;--color-black:#000;--bg-base:var(--color-white);--bg-soft:var(--color-blue-tint);--bg-dark:var(--color-navy);--bg-section-alt:var(--color-slate-100);--bg-media:var(--color-blue-tint);--fg-default:var(--color-slate-900);--fg-muted:var(--color-slate-500);--fg-on-dark:var(--color-white);--fg-link:var(--color-blue);--fg-headline:var(--color-black);--fg-headline-dark:var(--color-navy);--accent:var(--color-red);--interactive:var(--color-blue);--border-default:1px solid var(--color-black);--border-accent:1px solid var(--color-red);--border-thick:6px solid var(--color-red);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--sp-32:128px;--gutter-wide:160px;--gutter-narrow:135px;--radius-0:0px;--radius-sm:4px;--radius-md:5px;--radius-lg:8px;--shadow-1:0 1px 2px #0000000d;--shadow-2:0 1px 3px #0000000f;--shadow-3:0 2px 8px #0000001a;--shadow-4:0 8px 24px #00000040;--font-display:"Hanken Grotesk", "Helvetica Neue", system-ui, sans-serif;--font-section:"Roboto", system-ui, sans-serif;--font-utility:"Inter", "Helvetica Neue", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-display:48px;--fs-h1:48px;--fs-h2:32px;--fs-h3:24px;--fs-h4:20px;--fs-stat:36px;--fs-body-lg:20px;--fs-body:18px;--fs-body-sm:16px;--fs-caption:14px;--fs-tiny:12px;--fs-intro:14px;--lh-tight:1;--lh-snug:1.2;--lh-normal:1.5;--lh-airy:3;--t-fast:.12s ease-out;--t-base:.15s ease-out;--t-slow:.25s ease-out}html{font-family:var(--font-section);color:var(--fg-default)}body{background:var(--bg-base);margin:0}h1,.h1{font-family:var(--font-section);font-size:var(--fs-h1);font-weight:400;line-height:var(--lh-tight);color:var(--fg-headline);margin:0}h2,.h2{font-family:var(--font-section);font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-snug);color:var(--fg-headline);margin:0}h3,.h3{font-family:var(--font-section);font-size:var(--fs-h3);font-weight:700;line-height:var(--lh-snug);color:var(--fg-headline);margin:0}h4,.h4,.section-title{font-family:var(--font-section);font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-snug);color:var(--fg-headline);margin:0}.display,.all-caps-display{font-family:var(--font-display);font-size:var(--fs-display);letter-spacing:0;text-transform:uppercase;color:var(--fg-headline);font-weight:700;line-height:56px}.stat{font-family:var(--font-display);font-size:var(--fs-stat);text-align:center;color:var(--fg-headline);font-weight:700;line-height:42px}p,.body{font-family:var(--font-section);font-size:var(--fs-body);font-weight:400;line-height:var(--lh-snug);color:var(--fg-default);margin:0}.body-lg{font-family:var(--font-section);font-size:var(--fs-body-lg);line-height:var(--lh-snug)}.body-sm{font-family:var(--font-section);font-size:var(--fs-body-sm);line-height:1}.intro{font-family:var(--font-display);font-size:var(--fs-intro);color:var(--fg-headline);font-weight:400;line-height:42px}.caption{font-family:var(--font-utility);font-size:var(--fs-caption);color:var(--fg-default);font-weight:500;line-height:26px}.nav-link{font-family:var(--font-utility);color:var(--fg-on-dark);font-size:14px;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--color-red)}code,.mono{font-family:var(--font-mono);color:var(--color-slate-900);font-size:14px}.btn{font-family:var(--font-utility);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--t-base),color var(--t-base),border-color var(--t-base),box-shadow var(--t-base);border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:16px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-black);color:var(--color-white);border-radius:var(--radius-md);font-family:var(--font-section);min-width:200px;height:60px;padding:19px 25px;font-size:18px;font-weight:400}.btn-primary:hover{background:var(--color-navy)}.btn-secondary{color:var(--color-black);border:1px solid var(--color-black);border-radius:var(--radius-md);font-family:var(--font-section);background:0 0;min-width:200px;height:60px;padding:18px 17px;font-size:18px}.btn-secondary:hover{background:var(--color-black);color:var(--color-white)}.btn-cta{background:var(--color-blue);color:var(--color-white);border-radius:var(--radius-sm);height:40px;padding:8px 16px}.btn-cta:hover{background:var(--color-blue-hover)}.btn-outline{background:var(--color-white);color:var(--color-black);border-radius:var(--radius-sm);height:40px;padding:8px 16px}.btn-outline:hover{background:var(--color-blue);color:var(--color-white)}.btn-mini-cta{background:var(--color-blue);color:var(--color-white);font-family:var(--font-display);border-radius:0;height:25px;padding:2px 11px;font-size:12px;font-weight:700}.card{grid-template-columns:50px 1fr;gap:17px;width:396px;display:grid}.card .card-icon{background:var(--color-slate-200);width:50px;height:50px;color:var(--color-navy);justify-content:center;align-items:center;display:flex}.card .card-title{font-family:var(--font-section);color:var(--color-navy);font-size:16px;font-weight:700;line-height:1}.card .card-body{font-family:var(--font-section);color:var(--color-slate-500);margin-top:14px;font-size:16px;line-height:1}.tag{font-family:var(--font-utility);color:var(--color-blue);background:var(--color-blue-tint);border-radius:0;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.section--soft{background:var(--bg-soft)}.section--dark{background:var(--bg-dark);color:var(--fg-on-dark)}.section--white{background:var(--color-white)}.hero-diamond{background:var(--color-navy);border:1px solid var(--color-red);transform-origin:0 0;pointer-events:none;width:960px;height:1248px;position:absolute;transform:matrix(.926,-.378,.378,.926,0,0)}.dark-slab{background:var(--color-navy);border:var(--border-thick);color:var(--color-white)}:root{--reading-width:720px;--side-rail:280px;--header-h:64px;--anchor-offset:calc(var(--header-h) + 28px);--bg-page:#fff;--bg-panel:#fff;--bg-soft:#4952ea0a;--bg-code:#0a0a44;--bg-code-soft:#f7f7fb;--fg-page:#0f172a;--fg-soft:#52525b;--fg-faint:#71717a;--fg-on-dark:#fff;--hairline:#0f172a1a;--hairline-strong:#0f172a2e;--rule-red:#e40c32;--rule-blue:#4952ea;--syn-keyword:#e40c32;--syn-string:#3a9156;--syn-number:#4952ea;--syn-comment:#71717a;--syn-fn:#4952ea;--syn-punct:#aaaab4;--syn-text:#f1f1f5}[data-theme=dark]{--bg-page:#08081c;--bg-panel:#0e0e2a;--bg-soft:#4952ea1a;--bg-code:#050516;--bg-code-soft:#141432;--fg-page:#e8e8f0;--fg-soft:#b4b9cd;--fg-faint:#878ca0;--fg-on-dark:#fff;--hairline:#ffffff1a;--hairline-strong:#ffffff38;--fg-default:#e8e8f0;--fg-muted:#b4b9cd;--fg-headline:#f5f5fa;--fg-headline-dark:#f5f5fa;--fg-link:#8c96ff;--color-slate-900:#e8e8f0;--color-slate-700:#c8cddc;--color-slate-500:#aaafc3;--color-slate-400:#878ca0;--color-slate-300:#6e7387;--color-slate-200:#ffffff2e;--color-slate-100:#ffffff0f;--syn-string:#78c896;--syn-comment:#878ca0;--syn-text:#e8e8f0;--syn-keyword:#ff6982;--syn-number:#8c96ff;--syn-fn:#8c96ff;--syn-punct:#9ba0b4}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] p,[data-theme=dark] .body,[data-theme=dark] .display,[data-theme=dark] .stat,[data-theme=dark] .intro,[data-theme=dark] .caption,[data-theme=dark] code,[data-theme=dark] .mono{color:var(--fg-page)}[data-theme=dark] .article-body code{background:var(--bg-code-soft);color:#f5c8d2;border-color:#ffffff14}[data-theme=dark] .article-body strong{color:#fff}[data-theme=dark] .article-body a{color:#8c96ff}[data-theme=dark] .article-body a:hover{color:#ff6e87}[data-theme=dark] .pullquote{color:var(--fg-page)}[data-theme=dark] .article-body>p:first-of-type:first-letter{color:#ff6982}[data-theme=dark] .featured-card,[data-theme=dark] .related-card,[data-theme=dark] .cvss-card{background:var(--bg-panel)}[data-theme=dark] .featured-card h2,[data-theme=dark] .post-row h3,[data-theme=dark] .related-card h5,[data-theme=dark] .author-card h4,[data-theme=dark] .page-hero h1{color:var(--fg-page)}[data-theme=dark] .filter-pill.active{color:#0a0a1e;background:#e8e8f0;border-color:#e8e8f0}[data-theme=dark] .divider:after{background:var(--bg-page)}[data-theme=dark] .btn-flat{color:var(--fg-page)}*{box-sizing:border-box}html,body{background:var(--bg-page);color:var(--fg-page);font-family:var(--font-section);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;transition:background .22s,color .22s}html{scroll-padding-top:var(--anchor-offset);overflow-x:hidden}body{overflow-x:clip}img,svg,video{max-width:100%;height:auto}.app-header .head-menu{display:none!important}a{color:inherit}.app-header{z-index:50;height:var(--header-h);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);color:#fff;background:#0a0a44eb;border-bottom:1px solid #e40c3266;align-items:center;gap:32px;padding:0 32px;display:flex;position:sticky;top:0}[data-theme=dark] .app-header{background:#050516f0}.app-header .brand{font-family:var(--font-display);letter-spacing:.02em;cursor:pointer;align-items:baseline;gap:8px;font-size:18px;font-weight:800;display:flex}.app-header .brand .dot{color:var(--rule-red)}.app-header .brand .ext{color:#ffffff8c;font-size:14px;font-weight:500}.app-header nav{gap:4px;display:flex}.app-header nav a{font-family:var(--font-utility);color:#ffffffd9;cursor:pointer;border-bottom:2px solid #0000;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .16s,border-color .16s}.app-header nav a:hover,.app-header nav a.active{color:#fff;border-bottom-color:var(--rule-red)}.app-header .spacer{flex:1}.app-header .head-btn{color:#fff;height:34px;font-family:var(--font-utility);cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:4px;align-items:center;gap:8px;padding:0 12px;font-size:13px;transition:background .15s,border-color .15s;display:inline-flex}.app-header .head-btn:hover{background:#ffffff14;border-color:#ffffff80}.app-header .kbd{font-family:var(--font-mono);color:#ffffffd9;background:#ffffff1a;border-radius:3px;padding:2px 6px;font-size:11px}.read-progress{top:var(--header-h);z-index:40;pointer-events:none;background:0 0;height:2px;position:fixed;left:0;right:0}.read-progress>span{background:var(--rule-red);width:0%;height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 12px #e40c3299}.chip{font-family:var(--font-utility);background:var(--bg-soft);color:var(--rule-blue);letter-spacing:.02em;border-radius:2px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip.severity-critical{color:var(--rule-red);background:#e40c321a}.chip.severity-high{color:#c44b08;background:#e45c0c1a}.chip.severity-medium{color:#a06e00;background:#e4aa0c1f}.chip.severity-low{color:var(--rule-blue);background:#4952ea1a}.chip.severity-info{color:var(--fg-soft);background:#52525b1a}[data-theme=dark] .chip.severity-medium{color:#f5c850}.chip-outline{border:1px solid var(--hairline-strong);color:var(--fg-soft);background:0 0}.btn-flat{color:var(--fg-page);border:1px solid var(--hairline-strong);font-family:var(--font-utility);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.btn-flat:hover{background:var(--rule-blue);color:#fff;border-color:var(--rule-blue)}.btn-ghost{color:var(--fg-soft);font-family:var(--font-utility);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;transition:background .12s,color .12s;display:inline-flex}.btn-ghost:hover{color:var(--rule-red);background:var(--bg-soft)}.article-shell{grid-template-columns:var(--side-rail) minmax(0,var(--reading-width)) var(--side-rail);max-width:calc(var(--reading-width) + var(--side-rail) * 2 + 96px);gap:48px;margin:0 auto;padding:56px 32px 120px;display:grid}.left-rail,.right-rail{align-self:start}.left-rail{top:calc(var(--header-h) + 32px);height:fit-content;position:sticky}@media(max-width:1100px){.article-shell{grid-template-columns:240px minmax(0,1fr);gap:32px}.article-shell .right-rail{display:none}}@media(max-width:820px){.article-shell{grid-template-columns:minmax(0,1fr);padding:32px 20px 80px}.article-shell .left-rail{display:none}.article-shell>*{min-width:0;max-width:100%}}.article-head{border-bottom:1px solid var(--hairline);margin-bottom:36px;padding-bottom:28px}.article-eyebrow{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.18em;color:var(--rule-red);align-items:center;gap:12px;margin-bottom:18px;font-size:12px;font-weight:700;display:flex}.article-eyebrow:before{content:"";background:var(--rule-red);width:24px;height:1px;display:inline-block}.article-title{font-family:var(--font-section);letter-spacing:-.015em;color:var(--fg-page);margin:0 0 18px;font-size:44px;font-weight:700;line-height:1.1}.article-deck{font-family:var(--font-display);color:var(--fg-soft);max-width:640px;margin:0 0 24px;font-size:19px;font-weight:400;line-height:1.55}.article-meta{font-family:var(--font-utility);color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:18px;font-size:13px;display:flex}.article-meta>span:not(.dot){align-items:center;min-height:16px;display:inline-flex}.article-meta .meta-read{white-space:nowrap;gap:4px}.article-meta .meta-label{gap:4px}.article-meta svg{flex:none;display:block}.article-meta b{color:var(--fg-page);font-weight:500}.article-meta .dot{background:var(--fg-faint);border-radius:50%;width:3px;height:3px;display:inline-block}.article-body{font-family:var(--font-section);color:var(--fg-page);font-size:18px;line-height:1.75}.article-body>p{max-width:68ch;margin:0 0 22px}.article-body>p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--rule-red);padding:4px 12px 0 0;font-size:56px;font-weight:800;line-height:.9}.article-body h2{font-family:var(--font-section);color:var(--fg-page);scroll-margin-top:var(--anchor-offset);margin:56px 0 14px;padding-left:18px;font-size:24px;font-weight:700;line-height:1.25;position:relative}.article-body>h2:first-child{margin-top:12px}.article-body h2:before{content:"";background:var(--rule-red);width:4px;height:22px;position:absolute;top:8px;left:0}.article-body h3{font-family:var(--font-section);color:var(--fg-page);scroll-margin-top:var(--anchor-offset);margin:36px 0 10px;font-size:19px;font-weight:700}.article-body h3 .secnum{font-family:var(--font-mono);color:var(--fg-faint);margin-right:8px;font-size:12px;font-weight:500}.article-body a{color:var(--rule-blue);border-bottom:1px solid;text-decoration:none}.article-body a:hover{color:var(--rule-red)}.article-body strong{color:var(--fg-page);font-weight:700}.article-body code{font-family:var(--font-mono);background:var(--bg-code-soft);color:var(--fg-page);border:1px solid var(--hairline);border-radius:2px;padding:1px 6px;font-size:.86em}.article-body ul,.article-body ol{max-width:64ch;margin:16px 0 24px;padding-left:24px}.article-body ul li::marker{color:var(--rule-red)}.article-body li{margin-bottom:8px}.heading-anchor{opacity:0;font-family:var(--font-mono);color:var(--fg-faint);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:14px;transition:opacity .12s,color .12s}.article-body h2:hover .heading-anchor,.article-body h3:hover .heading-anchor{opacity:1}.heading-anchor:hover{color:var(--rule-red)}.heading-anchor[data-copied=true]{opacity:1;color:var(--rule-blue)}.toc{font-family:var(--font-utility);max-height:calc(100vh - var(--header-h) - 64px);padding-right:12px;font-size:13px;overflow-y:auto}.toc-label{letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:700;display:flex}.toc-label:after{content:"";background:var(--hairline);flex:1;height:1px}.toc ol{margin:0;padding:0;list-style:none}.toc li{margin:0;line-height:1.45}.toc a{color:var(--fg-soft);border-left:2px solid var(--hairline);padding:6px 0 6px 14px;text-decoration:none;transition:color .14s,border-color .14s,padding-left .14s;display:block}.toc a.h3{color:var(--fg-faint);padding-left:28px;font-size:12.5px}.toc a:hover{color:var(--fg-page);border-left-color:var(--rule-red)}.toc a.active{color:var(--rule-red);border-left-color:var(--rule-red);padding-left:18px;font-weight:600}.toc a.active span{color:inherit!important}.toc a.h3.active{padding-left:32px}.right-rail{top:calc(var(--header-h) + 32px);height:fit-content;font-family:var(--font-utility);border-left:1px solid var(--hairline);padding-left:24px;font-size:13px;position:sticky;overflow:visible}.rail-block{margin-bottom:28px}.rail-label{letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:8px;font-size:11px;font-weight:700}.rail-row{border-bottom:1px dashed var(--hairline);justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;display:flex}.rail-row:last-child{border-bottom:none}.rail-row b{color:var(--fg-page);font-weight:600}.code-block{background:var(--bg-code);border:1px solid #4952ea40;border-radius:4px;margin:28px 0;position:relative;overflow:hidden;box-shadow:0 8px 24px #0a0a441f}.code-block .cb-head{font-family:var(--font-utility);color:#ffffffc7;background:#4952ea1a;border-bottom:1px solid #4952ea40;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.code-block .cb-head .cb-lang{font-family:var(--font-mono);color:var(--rule-red);letter-spacing:.04em;font-size:11px;font-weight:600}.code-block .cb-head .cb-file{color:#ffffffeb;font-weight:500}.code-block .cb-head .cb-spacer{flex:1}.code-block .cb-head .cb-copy{color:#ffffffd9;font-family:var(--font-utility);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:3px;padding:3px 8px;font-size:11px;transition:background .14s,border-color .14s}.code-block .cb-head .cb-copy:hover{background:#e40c3233;border-color:#e40c3299}.code-block .cb-body{font-family:var(--font-mono);font-size:13px;line-height:1.65;display:flex;overflow-x:auto}.code-block .cb-gutter{text-align:right;color:#ffffff4d;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0f;flex-shrink:0;padding:14px 14px 14px 16px}.code-block .cb-gutter span{display:block}.code-block .cb-gutter span.hl{color:var(--rule-red)}.code-block .cb-pre{white-space:pre;color:var(--syn-text);flex:1;margin:0;padding:14px 16px;overflow-x:auto}.code-block .cb-pre .ln{padding:0 4px;display:block}.code-block .cb-pre .ln.hl{border-left:2px solid var(--rule-red);background:#e40c321f;margin-left:-16px;padding-left:14px}.tok-k{color:var(--syn-keyword);font-weight:600}.tok-s{color:var(--syn-string)}.tok-n{color:var(--syn-number)}.tok-c{color:var(--syn-comment);font-style:italic}.tok-f{color:var(--syn-fn)}.tok-p{color:var(--syn-punct)}.tok-t{color:#bec8e6}.code-tight{padding:12px 14px;font-size:12px}figure.figure{margin:32px 0}figure.figure .frame{border:1px solid var(--hairline-strong);background:var(--bg-soft);border-radius:4px;padding:0;position:relative;overflow:hidden}figure.figure .frame.bordered{border-color:var(--rule-red)}figure.figure figcaption{font-family:var(--font-utility);color:var(--fg-soft);align-items:baseline;gap:10px;margin-top:10px;padding-left:4px;font-size:12.5px;line-height:1.5;display:flex}figure.figure figcaption .fnum{color:var(--rule-red);letter-spacing:.04em;white-space:nowrap;font-weight:700}.evidence-redacted{color:#d8dde8;font-family:var(--font-mono);background:#141928;min-height:120px;padding:18px 22px;font-size:13px;line-height:1.7;position:relative}.evidence-redacted .bar{vertical-align:baseline;background:#000;border-radius:1px;height:1em;display:inline-block;position:relative;top:.12em}.evidence-redacted .bar.warn{background:var(--rule-red)}.evidence-redacted .stamp{font-family:var(--font-utility);letter-spacing:.18em;color:#fff;background:var(--rule-red);text-transform:uppercase;border-radius:2px;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;top:10px;right:12px}.evidence-redacted .ln-num{color:#ffffff4d;-webkit-user-select:none;user-select:none;margin-right:14px}.evidence-blur{cursor:pointer;background:#1c1e38;border-radius:4px;min-height:200px;transition:filter .24s;position:relative;overflow:hidden}.evidence-blur .blur-content{filter:blur(14px)saturate(120%);font-family:var(--font-mono);color:#ffffffe6;white-space:pre;padding:24px;font-size:12px;transition:filter .32s}.evidence-blur.revealed .blur-content{filter:blur()}.evidence-blur .reveal-overlay{color:#fff;font-family:var(--font-utility);letter-spacing:.03em;background:#0a0a4499;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;transition:opacity .24s;display:flex;position:absolute;inset:0}.evidence-blur.revealed .reveal-overlay{opacity:0;pointer-events:none}.evidence-blur .reveal-overlay .warn-tag{font-family:var(--font-utility);letter-spacing:.18em;color:var(--rule-red);border:1px solid var(--rule-red);margin-bottom:8px;padding:3px 10px;font-size:10px;font-weight:700}.figure-plain{background:var(--bg-soft);border:1px solid var(--hairline);width:100%;font-family:var(--font-mono);color:var(--fg-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:30px 20px;font-size:12px;display:flex}.figure-plain.kiosk-reaction{background:linear-gradient(180deg,#4952ea0b,#e40c3206),var(--bg-soft);padding:14px 18px}.figure-plain.kiosk-reaction svg{max-width:100%}.diagram-wrap{border:1px solid var(--hairline);background:var(--bg-soft);border-radius:4px;margin:32px 0;padding:20px}.diagram-wrap.dark{background:#0a0a44;border-color:#e40c3266}.diagram-wrap svg .node-rect{fill:var(--bg-page);stroke:var(--fg-page);stroke-width:1.5px;transition:fill .2s,stroke .2s}.diagram-wrap.dark svg .node-rect{fill:#ffffff0a;stroke:#fff9}.diagram-wrap svg .node-rect.compromised{fill:#e40c321a;stroke:var(--rule-red)}.diagram-wrap svg .node-rect.target{fill:#4952ea1a;stroke:var(--rule-blue)}.diagram-wrap svg .node-label{font-family:var(--font-utility);fill:var(--fg-page);font-size:12px;font-weight:600}.diagram-wrap.dark svg .node-label{fill:#fff}.diagram-wrap svg .node-sub{font-family:var(--font-mono);fill:var(--fg-faint);font-size:10px}.diagram-wrap.dark svg .node-sub{fill:#ffffff8c}.diagram-wrap svg .edge{stroke:var(--fg-faint);stroke-width:1.4px;fill:none}.diagram-wrap svg .edge.attack{stroke:var(--rule-red);stroke-width:2px}.diagram-wrap svg .edge.attack.dashed{stroke-dasharray:6 4}.diagram-wrap svg .edge-label{font-family:var(--font-mono);fill:var(--rule-red);font-size:10px;font-weight:600}.diagram-interactive .node-group{cursor:pointer}.diagram-interactive .node-group:hover .node-rect{fill:#e40c3229;stroke:var(--rule-red)}.diagram-interactive .node-group.dim{opacity:.3}.diagram-caption{font-family:var(--font-utility);color:var(--fg-soft);align-items:baseline;gap:10px;margin-top:14px;padding-left:4px;font-size:12.5px;display:flex}.diagram-caption .fnum{color:var(--rule-red);white-space:nowrap;flex:none;font-weight:700}@keyframes flowDash{to{stroke-dashoffset:-100px}}.diagram-wrap svg .edge.flow{stroke-dasharray:6 4;animation:4s linear infinite flowDash}.callout{border-left:4px solid var(--rule-blue);background:var(--bg-soft);font-family:var(--font-section);border-radius:0 4px 4px 0;margin:28px 0;padding:18px 22px;font-size:16px;line-height:1.6}.callout .callout-label{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--rule-blue);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.callout.danger{border-left-color:var(--rule-red)}.callout.danger .callout-label{color:var(--rule-red)}.callout.warn{background:#e4aa0c0f;border-left-color:#c48200}.callout.warn .callout-label{color:#a06e00}[data-theme=dark] .callout.warn .callout-label{color:#f5c850}.pullquote{border-left:4px solid var(--rule-red);font-family:var(--font-display);color:var(--fg-page);letter-spacing:-.01em;margin:36px 0;padding:0 0 0 28px;font-size:24px;font-weight:500;line-height:1.4}.pullquote .attr{font-family:var(--font-utility);color:var(--fg-faint);letter-spacing:.05em;text-transform:uppercase;margin-top:10px;font-size:13px;font-weight:500;display:block}.cvss-card{border:1px solid var(--hairline-strong);background:var(--bg-panel);font-family:var(--font-utility);border-radius:4px;padding:16px 18px}.cvss-card .cvss-top{border-bottom:1px solid var(--hairline);align-items:center;gap:14px;margin-bottom:12px;padding-bottom:10px;display:flex}.cvss-card .score{min-width:48px;font-family:var(--font-display);flex:none;font-size:36px;font-weight:800;line-height:.95}.cvss-card .score.critical{color:var(--rule-red)}.cvss-card .score.high{color:#c44b08}.cvss-card .score.medium{color:#a06e00}.cvss-card .score.low{color:var(--rule-blue)}.cvss-card .cvss-summary{min-width:0;color:var(--fg-soft);gap:3px;font-size:12px;display:grid}.cvss-card .grade{letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);font-size:11px;font-weight:700}.cvss-card .vector{font-family:var(--font-mono);color:var(--fg-soft);word-break:break-all;border-bottom:1px solid var(--hairline);margin-bottom:12px;padding-bottom:12px;font-size:11.5px}.cvss-card .metrics{grid-template-columns:1fr;gap:6px 18px;font-size:12px;display:grid}.cvss-card .metrics .row{justify-content:space-between;display:flex}.cvss-card .metrics .row span:first-child{color:var(--fg-faint)}.cvss-card .metrics .row span:last-child{color:var(--fg-page);font-weight:600}.cvss-card .cvss-note{border-top:1px dashed var(--hairline-strong);margin-top:14px;padding-top:12px}.cvss-card .cvss-note-label{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--rule-red);margin-bottom:6px;font-size:10.5px;font-weight:700}.cvss-card .cvss-note p{font-family:var(--font-display);color:var(--fg-soft);margin:0;font-size:12.5px;line-height:1.55}.timeline{margin:28px 0}.timeline ol{margin:0;padding:0;list-style:none;position:relative}.timeline ol:before{content:"";background:var(--hairline-strong);width:2px;position:absolute;top:6px;bottom:6px;left:8px}.timeline li{font-family:var(--font-section);padding:0 0 22px 32px;font-size:15px;line-height:1.55;position:relative}.timeline li:before{content:"";background:var(--rule-blue);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg-page);border-radius:50%;position:absolute;top:6px;left:4px}.timeline li.disclosed:before{background:var(--rule-red)}.timeline li .ts{font-family:var(--font-mono);color:var(--fg-faint);letter-spacing:.04em;margin-bottom:2px;font-size:11.5px;display:block}.timeline li b{color:var(--fg-page);font-weight:600}@keyframes dmkPageOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes dmkPageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(root){animation:.16s both dmkPageOut}::view-transition-new(root){animation:.26s cubic-bezier(.2,0,0,1) both dmkPageIn}.reveal{opacity:0;transition:opacity .6s,transform .6s;transition-delay:var(--reveal-delay,0s);transform:translateY(16px)}.reveal.visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}.reveal{opacity:1;transition:none;transform:none}.diagram-wrap svg .edge.flow{animation:none}}.palette-bg{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0a0a448c;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.18s fadein;display:flex;position:fixed;inset:0}.palette-bg[hidden]{display:none}@keyframes fadein{0%{opacity:0}to{opacity:1}}.palette{background:var(--bg-panel);border:1px solid var(--hairline-strong);border-radius:6px;width:min(620px,92vw);animation:.22s slideUp;overflow:hidden;box-shadow:0 30px 80px #00000059,0 0 0 1px #e40c3233}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.palette input{width:100%;font-family:var(--font-section);color:var(--fg-page);border:none;border-bottom:1px solid var(--hairline);background:0 0;outline:none;padding:18px 22px;font-size:18px}.palette input::placeholder{color:var(--fg-faint)}.palette .results{max-height:60vh;padding:6px;overflow-y:auto}.palette .group{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.16em;color:var(--fg-faint);padding:14px 16px 6px;font-size:10.5px;font-weight:700}.palette .item{font-family:var(--font-section);cursor:pointer;color:var(--fg-page);border-radius:4px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;text-decoration:none;transition:background .1s;display:flex}.palette .item:hover,.palette .item.selected{background:var(--bg-soft)}.palette .item.selected{color:var(--rule-red);background:#e40c3214}.palette .item .badge{font-family:var(--font-mono);color:var(--fg-faint);margin-left:auto;font-size:10.5px}.palette .empty{color:var(--fg-faint);font-family:var(--font-utility);padding:32px 22px;font-size:13px}.divider{background:var(--hairline);height:1px;margin:56px 0;position:relative}.divider:after{content:"§";background:var(--bg-page);font-family:var(--font-display);color:var(--fg-faint);padding:0 12px;font-size:16px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.parallax-mark{pointer-events:none;opacity:.06;z-index:0;position:absolute}sup.fn-ref{font-family:var(--font-utility);color:var(--rule-red);cursor:pointer;padding:0 1px;font-size:11px}.section-rule{font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.18em;color:var(--fg-faint);align-items:center;gap:14px;margin:18px 0;font-size:11px;font-weight:700;display:flex}.section-rule:after{content:"";background:var(--hairline);flex:1;height:1px}.toc::-webkit-scrollbar{width:4px}.toc::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:2px}.site-footer{color:#fff;border-top:6px solid var(--rule-red);font-family:var(--font-utility);background:#0a0a44;margin-top:80px;padding:64px 32px 36px;font-size:14px;line-height:1.6}.site-footer .ftr-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:48px;max-width:1200px;margin:0 auto;display:grid}@media(max-width:820px){.site-footer .ftr-grid{grid-template-columns:1fr 1fr}}.site-footer h4{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;margin:0 0 14px;font-size:11px;font-weight:700}.site-footer a{color:#ffffffeb;cursor:pointer;padding:4px 0;text-decoration:none;transition:color .14s;display:block}.site-footer a:hover{color:var(--rule-red)}.site-footer .pgp{font-family:var(--font-mono);color:#fff9;word-break:break-all;background:#ffffff0a;border:1px solid #ffffff14;padding:12px;font-size:11.5px;line-height:1.55}.site-footer .ftr-bottom{color:#ffffff8c;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:1200px;margin:48px auto 0;padding-top:24px;font-size:12.5px;display:flex}.site-footer .brand-foot{font-family:var(--font-display);margin-bottom:14px;font-size:22px;font-weight:800}.site-footer .brand-foot .dot{color:var(--rule-red)}.page-shell{max-width:1200px;margin:0 auto;padding:56px 32px 80px}.page-hero{border-bottom:1px solid var(--hairline);grid-template-columns:1.3fr 1fr;align-items:center;gap:64px;margin-bottom:48px;padding-bottom:40px;display:grid;position:relative}@media(max-width:820px){.page-hero{grid-template-columns:1fr;gap:24px}}.page-hero .eyebrow{font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--rule-red);align-items:center;gap:12px;margin-bottom:18px;font-size:12px;font-weight:700;display:flex}.page-hero .eyebrow:before{content:"";background:var(--rule-red);width:28px;height:1px;display:inline-block}.page-hero h1{font-family:var(--font-section);letter-spacing:-.02em;margin:0 0 18px;font-size:56px;font-weight:700;line-height:1.05}.page-hero p{font-family:var(--font-display);color:var(--fg-soft);max-width:520px;margin:0;font-size:18px;line-height:1.6}.featured-card{border:1px solid var(--hairline-strong);background:var(--bg-panel);cursor:pointer;border-radius:4px;grid-template-columns:1.3fr 1fr;gap:0;margin-bottom:56px;transition:box-shadow .22s,transform .22s;display:grid;position:relative;overflow:hidden}.featured-card:hover{box-shadow:0 24px 60px #0a0a4429,0 0 0 1px var(--rule-red);transform:translateY(-3px)}.featured-card .feat-text{flex-direction:column;justify-content:center;gap:18px;padding:40px 44px;display:flex}.featured-card .feat-eyebrow{font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--rule-red);font-size:11px;font-weight:700}.featured-card h2{font-family:var(--font-section);letter-spacing:-.01em;color:var(--fg-page);margin:0;font-size:32px;font-weight:700;line-height:1.18}.featured-card .feat-deck{font-family:var(--font-display);color:var(--fg-soft);font-size:16px;line-height:1.55}.featured-card .feat-meta{font-family:var(--font-utility);color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:14px;margin-top:6px;font-size:12px;display:flex}.featured-card .feat-art{background:#0a0a44;justify-content:center;align-items:center;min-height:280px;display:flex;position:relative;overflow:hidden}@media(max-width:820px){.featured-card{grid-template-columns:1fr}.featured-card .feat-art{min-height:200px}}.post-list{flex-direction:column;display:flex}.post-row{border-top:1px solid var(--hairline);cursor:pointer;grid-template-columns:100px 1fr 200px;align-items:baseline;gap:24px;padding:22px 0;transition:padding .2s;display:grid}.post-row:hover{padding-left:8px}.post-row:hover h3{color:var(--rule-red)}.post-row:last-child{border-bottom:1px solid var(--hairline)}.post-row .pr-date{font-family:var(--font-mono);color:var(--fg-faint);letter-spacing:.04em;font-size:12px}.post-row h3{font-family:var(--font-section);color:var(--fg-page);margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.3;transition:color .16s}.post-row .pr-deck{font-family:var(--font-display);color:var(--fg-soft);margin:0;font-size:14.5px;line-height:1.5}.post-row .pr-meta{font-family:var(--font-utility);color:var(--fg-faint);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;font-size:11.5px;display:flex}@media(max-width:820px){.post-row{grid-template-columns:1fr;gap:4px}.post-row .pr-meta{justify-content:flex-start}}.filter-bar{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;padding-bottom:18px;display:flex}.filter-bar .lbl{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);margin-right:8px;font-size:11px;font-weight:700}.filter-pill{font-family:var(--font-utility);color:var(--fg-soft);border:1px solid var(--hairline-strong);cursor:pointer;background:0 0;border-radius:2px;padding:5px 11px;font-size:12px;transition:all .14s}.filter-pill:hover{border-color:var(--rule-red);color:var(--rule-red)}.filter-pill.active{background:var(--fg-page);color:var(--bg-page);border-color:var(--fg-page)}[data-theme=dark] .filter-pill.active{color:#0a0a44;background:#fff}.hero-canvas{pointer-events:none;opacity:.85;position:absolute;inset:0}.home-pathways{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:12px 0 44px;display:grid}.home-pathways a{border-right:1px solid var(--hairline);color:inherit;min-width:0;padding:22px 26px 24px;text-decoration:none;transition:background .14s,padding-left .14s;display:block}.home-pathways a:last-child{border-right:0}.home-pathways a:hover{background:var(--bg-soft);padding-left:32px}.home-pathways span{font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--rule-red);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.home-pathways b{font-family:var(--font-section);color:var(--fg-page);font-size:15px;font-weight:500;line-height:1.45;display:block}@media(max-width:820px){.home-pathways{grid-template-columns:1fr;margin-bottom:36px}.home-pathways a{border-right:0;border-bottom:1px solid var(--hairline);padding:18px 0}.home-pathways a:last-child{border-bottom:0}.home-pathways a:hover{padding-left:8px}}.about-grid{grid-template-columns:2fr 1fr;gap:64px;margin-bottom:56px;display:grid}@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:32px}}.fact-list{font-family:var(--font-utility);font-size:13.5px;line-height:1.5}.fact-list .row{border-bottom:1px dashed var(--hairline);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.fact-list .row span:first-child{color:var(--fg-faint);letter-spacing:.02em}.fact-list .row span:last-child{color:var(--fg-page);text-align:right;font-weight:500}.author-card{border-top:1px solid var(--hairline);grid-template-columns:80px 1fr;align-items:start;gap:22px;margin-top:48px;padding-top:32px;display:grid}.author-card .avatar{border:2px solid var(--rule-red);background:#0a0a44;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.author-card .meta-line{font-family:var(--font-utility);color:var(--rule-red);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700}.author-card h4{font-family:var(--font-section);margin:0 0 8px;font-size:22px;font-weight:700}.author-card p{font-family:var(--font-display);color:var(--fg-soft);margin:0 0 12px;font-size:15px;line-height:1.55}.related{border-top:1px solid var(--hairline);margin-top:56px;padding-top:32px}.related h4{font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 18px;font-size:11px;font-weight:700}.related .grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}@media(max-width:820px){.related .grid{grid-template-columns:1fr}}.related-card{border:1px solid var(--hairline);cursor:pointer;border-radius:4px;padding:18px;transition:border-color .16s,transform .16s}.related-card:hover{border-color:var(--rule-red);transform:translateY(-2px)}.related-card .rc-eyebrow{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--rule-red);font-size:10.5px;font-weight:700}.related-card h5{font-family:var(--font-section);margin:8px 0 6px;font-size:16px;font-weight:700;line-height:1.3}.related-card p{font-family:var(--font-display);color:var(--fg-soft);margin:0;font-size:13px;line-height:1.5}@media(max-width:900px){.app-header{gap:14px;padding:0 16px}.app-header .nav-desktop,.app-header .head-rss,.app-header .head-search .lbl-search,.app-header .head-search .kbd{display:none}.app-header .head-search{padding:0 10px}.app-header .head-menu{display:inline-flex!important}.app-header .brand .ext{display:none}}@media(max-width:480px){.app-header{gap:8px;padding:0 12px}.app-header .brand{font-size:16px}}.mobile-drawer{inset:var(--header-h) 0 0 0;z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a44f5;animation:.16s fadein;position:fixed;overflow-y:auto}[data-theme=dark] .mobile-drawer{background:#050516f7}.mobile-drawer-inner{border-bottom:1px solid #e40c3266;flex-direction:column;gap:2px;padding:12px 20px 28px;display:flex}.mobile-drawer a{font-family:var(--font-section);color:#ffffffd9;cursor:pointer;border-bottom:1px solid #ffffff14;padding:16px 8px;font-size:22px;font-weight:500;text-decoration:none;transition:color .14s;display:block}.mobile-drawer a:hover,.mobile-drawer a.active{color:var(--rule-red)}.mobile-drawer-footer{gap:10px;padding-top:16px;display:flex}.mobile-drawer-footer .head-btn{color:#fff;width:100%;height:44px;font-family:var(--font-utility);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:inline-flex}@media(max-width:1100px){:root{--reading-width:100%}}@media(max-width:900px){.article-shell{grid-template-columns:1fr;gap:0;padding:28px 20px 60px}.article-shell .left-rail,.article-shell .right-rail{display:none}.article-title{font-size:30px;line-height:1.12}.article-deck{font-size:16px}.article-body{font-size:16px;line-height:1.7}.article-body h2{font-size:22px}.article-body>p,.article-body ul,.article-body ol,.article-body pre,.article-body table{max-width:100%}}.article-body{overflow-wrap:anywhere;word-break:break-word}.article-body pre,.article-body code{overflow-wrap:normal;word-break:normal}.article-body>p,.article-body ul,.article-body ol,.article-body h2,.article-body h3,.code-block{max-width:100%}.diagram-wrap{max-width:100%;overflow-x:auto}figure.figure{max-width:100%}figure.figure .frame{max-width:100%;overflow-x:auto}@media(max-width:820px){.page-shell{padding:32px 20px 60px}.page-hero{gap:18px;margin-bottom:32px;padding-bottom:28px}.page-hero h1{font-size:36px;line-height:1.08}.page-hero p{font-size:16px}.page-hero .eyebrow{margin-bottom:12px;font-size:11px}}@media(max-width:480px){.page-hero h1{font-size:28px}}@media(max-width:820px){.featured-card{grid-template-columns:1fr;margin-bottom:36px}.featured-card .feat-text{gap:14px;padding:24px 22px}.featured-card h2{font-size:22px;line-height:1.2}.featured-card .feat-deck{font-size:14px}.featured-card .feat-art{min-height:180px}.post-row{grid-template-columns:1fr;gap:6px;padding:16px 0}.post-row .pr-date{letter-spacing:.04em;font-size:11px}.post-row h3{font-size:17px;line-height:1.3}.post-row .pr-deck{font-size:13.5px;line-height:1.45}.post-row .pr-meta{justify-content:flex-start;gap:6px}.post-row:hover{padding-left:0}}@media(max-width:600px){.filter-bar{gap:6px;margin-bottom:22px;padding-bottom:14px}.filter-pill{padding:4px 9px;font-size:11px}.filter-bar .lbl{width:100%;margin-bottom:4px;margin-right:4px;font-size:10px}}@media(max-width:820px){.code-block{border-radius:3px;margin:22px 0}.code-block .cb-head{flex-wrap:wrap;gap:6px;padding:8px 10px;font-size:11px}.code-block .cb-head .cb-file{word-break:break-all;font-size:11px}.code-block .cb-body{font-size:12px;line-height:1.55}.code-block .cb-gutter{padding:12px 8px 12px 10px}.code-block .cb-pre{padding:12px}.diagram-wrap{margin:22px 0;padding:12px}.diagram-wrap svg{width:100%}.diagram-wrap svg .node-label{font-size:11px}.diagram-wrap svg .node-sub,.diagram-wrap svg .edge-label{font-size:9px}.diagram-caption{font-size:11.5px}.evidence-redacted{word-break:break-word;padding:14px;font-size:12px;line-height:1.6;overflow-x:auto}.evidence-redacted .stamp{padding:2px 6px;font-size:9px;top:8px;right:8px}.evidence-redacted .ln-num{margin-right:8px}.evidence-blur .blur-content{white-space:pre-wrap;word-break:break-all;padding:16px;font-size:11px}.evidence-blur .reveal-overlay{text-align:center;padding:16px;font-size:12px}figure.figure figcaption{font-size:12px}.cvss-card{padding:14px}.cvss-card .score{font-size:32px}.cvss-card .vector{font-size:10.5px}.cvss-card .metrics{grid-template-columns:1fr;gap:6px}.pullquote{margin:28px 0;padding-left:18px;font-size:19px}.callout{padding:14px 16px;font-size:14.5px}.timeline li{padding:0 0 18px 26px;font-size:14px}.timeline li .ts{font-size:10.5px}.about-grid{gap:28px}.author-card{grid-template-columns:56px 1fr;gap:14px;margin-top:32px;padding-top:24px}.author-card .avatar{width:56px;height:56px}.author-card h4{font-size:18px}.author-card p{font-size:14px}.related .grid{grid-template-columns:1fr;gap:14px}.related-card{padding:14px}.related-card h5{font-size:15px}.site-footer{padding:44px 20px 28px}.site-footer .ftr-grid{grid-template-columns:1fr 1fr;gap:28px}.site-footer .brand-foot{font-size:20px}.site-footer .ftr-bottom{flex-direction:column;align-items:flex-start;gap:6px;margin-top:32px}}@media(max-width:480px){.site-footer .ftr-grid{grid-template-columns:1fr;gap:24px}}@media(max-width:820px){.read-progress{height:2px}}@media(max-width:600px){.palette-bg{padding-top:6vh}.palette{width:94vw}.palette input{padding:14px 16px;font-size:16px}.palette .item{padding:10px 12px;font-size:13px}.palette .group{padding:12px 12px 4px}}@media(max-width:900px){.advisories-table-head{display:none!important}.advisories-row{grid-template-columns:1fr!important;gap:4px!important;padding:16px 14px!important}}@media(max-width:820px){.stack-on-mobile{grid-template-columns:1fr!important;gap:24px!important;padding:32px 22px!important}.stack-on-mobile h2,.stack-on-mobile h3{font-size:22px!important;line-height:1.2!important}button,.btn-flat,.btn-ghost,.filter-pill,.head-btn{min-height:36px}.mobile-drawer a{min-height:44px}}.research-table-wrap{border:1px solid var(--hairline);border-radius:2px;max-width:100%;margin:24px 0 28px;overflow-x:auto}.research-table{border-collapse:collapse;width:100%;font-family:var(--font-utility);color:var(--fg-page);font-size:13.5px;line-height:1.5}.research-table thead th{text-align:left;font-weight:600;font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);background:var(--bg-code-soft);border-bottom:1px solid var(--hairline);word-break:keep-all;overflow-wrap:normal;padding:12px 14px;font-size:11px}.research-table tbody td{vertical-align:top;border-bottom:1px dashed var(--hairline);padding:11px 14px}.research-table tbody tr:last-child td{border-bottom:none}.research-table tbody tr:hover td{background:var(--bg-code-soft)}.research-table td:first-child{font-weight:500}.research-table td.ok,.research-table td.bad,.research-table td.partial{white-space:nowrap;width:64px}.research-table td.ok{color:#14824b;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.research-table td.bad{color:var(--rule-red);font-family:var(--font-mono);letter-spacing:.06em;font-size:12.5px;font-weight:700}.research-table td.partial{color:#aa6e14;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.research-table code{font-family:var(--font-mono);color:inherit;background:0 0;border:none;padding:0;font-size:.92em}[data-theme=dark] .research-table thead th{background:#ffffff0a}[data-theme=dark] .research-table tbody tr:hover td{background:#ffffff08}[data-theme=dark] .research-table td.ok{color:#78dca0}[data-theme=dark] .research-table td.bad{color:#ff6e87}[data-theme=dark] .research-table td.partial{color:#f5c35a}@media(max-width:820px){.research-table{font-size:12.5px}.research-table thead th{padding:10px;font-size:10px}.research-table tbody td{padding:9px 10px}.research-table td:first-child{white-space:normal}}.app-header .brand{color:#fff;align-items:center;text-decoration:none}.app-header .brand svg{flex:none}.featured-card,.post-row,.related-card{color:inherit;text-decoration:none}.article-body h2{background:linear-gradient(var(--rule-red),var(--rule-red)) no-repeat 0 8px / 4px 22px;padding-left:18px}.article-body h2:before{content:attr(data-section-number);font-family:var(--font-mono);color:var(--fg-faint);background:0 0;margin-right:10px;font-size:13px;font-weight:500;display:inline;position:static}.article-body h2:after{content:none}.article-body h2:hover:before{color:var(--rule-red)}.article-body h2 .secnum{font-family:var(--font-mono);color:var(--fg-faint);margin-right:10px;font-size:13px;font-weight:500}.article-body>p em{color:var(--fg-soft)}.article-body .foreword-panel{background:var(--bg-soft);border-left:4px solid var(--rule-blue);max-width:72ch;margin:28px 0 40px;padding:24px 28px 24px 24px}.article-body .foreword-panel h2#foreword{counter-increment:none;font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--rule-blue);background:0 0;margin:0 0 12px;padding:0;font-size:11px;font-weight:700;line-height:1.2}.article-body .foreword-panel h2#foreword:before,.article-body .foreword-panel h2#foreword:after{content:none}.article-body .foreword-panel h2#foreword .secnum{display:none}.article-body .foreword-panel p{max-width:none;margin:0 0 14px}.article-body .foreword-panel p:first-letter{float:none;font:inherit;color:inherit;padding:0}.article-body .foreword-panel ol,.article-body .foreword-panel ul{max-width:none;margin:0 0 16px;padding-left:18px;line-height:1.6;list-style-position:outside}.article-body .foreword-panel ol{list-style-type:decimal}.article-body .foreword-panel ul{list-style-type:disc}.article-body .foreword-panel li{margin-bottom:10px;padding-left:0}.article-body .foreword-panel li::marker{color:var(--fg-page);font-family:var(--font-section);font-size:1em;font-weight:400}.article-body .foreword-panel>:last-child{margin-bottom:0}.article-body ul,.article-body ol{line-height:1.68;list-style-position:outside}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body ul ul{list-style-type:circle}.article-body ol ol{list-style-type:lower-alpha}.article-body ul ol{list-style-type:decimal}.article-body ol ul{list-style-type:disc}.article-body li{padding-left:4px}.article-body ol li::marker{color:var(--rule-red);font-family:var(--font-mono);font-size:.82em;font-weight:700}.article-body ul li::marker{color:var(--rule-red);font-family:var(--font-mono);font-size:.82em;font-weight:700}.article-body li>p{font-size:inherit;line-height:inherit;margin:0 0 10px}.article-body li>ul,.article-body li>ol{max-width:none;margin:10px 0 6px}.article-body .timeline{margin:28px 0}.article-body .timeline ol{max-width:none;margin:0;padding:0;list-style:none;position:relative}.article-body .timeline li{font-family:var(--font-section);margin:0;padding:0 0 22px 32px;font-size:15px;line-height:1.55;position:relative}.article-body .timeline li::marker{content:none}.article-body .timeline li:before{content:"";background:var(--rule-blue);width:10px;height:10px;box-shadow:0 0 0 3px var(--bg-page);border-radius:50%;position:absolute;top:6px;left:4px}.article-body .timeline li.disclosed:before{background:var(--rule-red)}.article-body .timeline .ts{font-family:var(--font-mono);color:var(--fg-faint);letter-spacing:.04em;margin-bottom:2px;font-size:11.5px;display:block}.article-body .advisory-note{color:var(--fg-faint);margin-top:32px;font-size:13.5px;font-style:italic}.article-body pre{color:var(--syn-text);font-family:var(--font-mono);border:1px solid #4952ea40;border-radius:4px;margin:28px 0;padding:0;font-size:13px;line-height:1.65;position:relative;overflow-x:auto;box-shadow:0 8px 24px #0a0a441f;background:var(--bg-code)!important}.article-body pre.astro-code{padding-top:42px;position:relative}.article-body pre.astro-code:before{content:attr(data-language);height:42px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--rule-red);background:#4952ea1a;border-bottom:1px solid #4952ea40;align-items:center;padding:0 14px;font-size:11px;font-weight:600;display:flex;position:absolute;inset:0 0 auto}.article-body pre .code-copy{z-index:2;color:#ffffffd9;font-family:var(--font-utility);cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:3px;align-items:center;gap:4px;padding:5px 8px;font-size:11px;line-height:1;transition:background .14s,border-color .14s,color .14s;display:inline-flex;position:absolute;top:10px;right:14px}.article-body pre .code-copy:hover,.article-body pre .code-copy[data-copied=true]{color:#fff;background:#e40c3233;border-color:#e40c3299}.article-body pre .code-copy svg{flex:none}.article-body pre code{color:inherit;font-size:inherit;counter-reset:code-line;background:0 0;border:none;padding:14px 16px;display:block}.article-body pre.astro-code .line{vertical-align:top;width:100%;min-height:1.65em;padding-left:54px;display:inline-block;position:relative}.article-body pre.astro-code .line:before{counter-increment:code-line;content:counter(code-line);text-align:right;color:#ffffff4d;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff0f;width:34px;padding-right:14px;position:absolute;left:0}.article-body pre.astro-code .line.line-highlight{background:linear-gradient(90deg,#0000 0 48px,#e40c3226 48px 100%)}.article-body pre.astro-code .line.line-highlight:before{color:var(--rule-red)}.article-body pre.astro-code .line.line-highlight:after{content:"";background:var(--rule-red);width:2px;position:absolute;top:0;bottom:0;left:48px}.article-body table{border-collapse:collapse;width:100%;min-width:min(680px,100%);max-width:100%;font-family:var(--font-utility);color:var(--fg-page);border:1px solid var(--hairline);box-shadow:none;border-radius:2px;margin:24px 0 28px;font-size:13.5px;line-height:1.5;display:block;overflow:hidden}.article-body table code{font-family:var(--font-mono);color:inherit;background:0 0;border:none;padding:0;font-size:.92em}.article-body th,.article-body td{border-bottom:1px dashed var(--hairline);text-align:left;vertical-align:top;padding:11px 14px}.article-body tr:last-child td{border-bottom:none}.article-body tbody tr:hover td{background:var(--bg-code-soft)}.article-body th{background:var(--bg-code-soft);color:var(--fg-faint);font-family:var(--font-utility);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--hairline);font-size:11px;font-weight:600}.article-body td:first-child{font-weight:500}.article-body td.status-cell,.article-body table td.ok,.article-body table td.bad,.article-body table td.partial,.article-body table td.mostly,.article-body table td.na{white-space:nowrap;width:68px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;font-weight:700}.article-body table td.ok,.article-body table td.mostly{color:#14824b}.article-body table td.bad{color:var(--rule-red)}.article-body table td.partial,.article-body table td.na{color:#aa6e14}[data-theme=dark] .article-body table td.ok,[data-theme=dark] .article-body table td.mostly{color:#78dca0}[data-theme=dark] .article-body table td.bad{color:#ff6e87}[data-theme=dark] .article-body table td.partial,[data-theme=dark] .article-body table td.na{color:#f5c35a}.article-body .callout{border-left:4px solid var(--rule-blue);background:var(--bg-soft);font-family:var(--font-section);color:var(--fg-page);border-radius:0 4px 4px 0;margin:28px 0;padding:18px 22px;font-size:16px;line-height:1.6}.article-body .callout .callout-label{font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--rule-blue);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.article-body .callout p{max-width:none;font-size:inherit;line-height:inherit;margin:0 0 8px}.article-body .callout ol,.article-body .callout ul{max-width:none;font-size:inherit;line-height:inherit;margin:0 0 8px 18px;padding:0;list-style-position:outside}.article-body .callout ol{list-style-type:decimal}.article-body .callout ul{list-style-type:disc}.article-body .callout li{margin:0 0 8px;padding-left:0}.article-body .callout li:last-child{margin-bottom:0}.article-body .callout ol li::marker{color:var(--fg-page);font-family:var(--font-section);font-weight:400}.article-body .callout ul li::marker{color:var(--fg-page);font-family:var(--font-section);font-weight:400}.article-body .callout>:last-child{margin-bottom:0}.article-body .callout.danger{border-left-color:var(--rule-red)}.article-body .callout.danger .callout-label{color:var(--rule-red)}.article-body .callout.warn{background:#e4aa0c0f;border-left-color:#c48200}.article-body .callout.warn .callout-label{color:#a06e00}.article-body blockquote:not(.callout),.article-body .pullquote{border-left:4px solid var(--rule-red);max-width:68ch;font-family:var(--font-display);color:var(--fg-page);letter-spacing:0;background:0 0;margin:36px 0;padding:0 0 0 28px;font-size:24px;font-weight:500;line-height:1.4}.article-body blockquote:not(.callout) p,.article-body .pullquote p{max-width:none;font-size:inherit;line-height:inherit;margin:0}.article-body blockquote:not(.callout) .attr,.article-body .pullquote .attr{font-family:var(--font-utility);color:var(--fg-faint);letter-spacing:.05em;text-transform:uppercase;margin-top:10px;font-size:13px;font-weight:500;display:block}.article-body hr.divider,.article-body hr{background:var(--hairline);border:none;height:1px;margin:56px 0;position:relative;overflow:visible}.article-body hr.divider:after,.article-body hr:after{content:"§";background:var(--bg-page);font-family:var(--font-display);color:var(--fg-faint);padding:0 12px;font-size:16px;line-height:1;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.article-body img{border:1px solid var(--hairline);border-radius:4px}.article-video-embed{aspect-ratio:16/9;border:1px solid var(--hairline-strong);background:var(--bg-soft);border-radius:4px;width:100%;margin:28px 0 10px;position:relative;overflow:hidden}.article-video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.article-body>h1{display:none}.section-rule{font-family:var(--font-utility);letter-spacing:.18em;text-transform:uppercase;color:var(--fg-faint);border-top:1px solid var(--hairline);margin:48px 0 18px;padding-top:18px;font-size:11px;font-weight:700}.section-rule-clean{border-top:0;margin-top:32px;padding-top:0}.section-rule-clean:after{display:none}.advisories-table-head,.advisories-row{grid-template-columns:180px 100px 1fr 100px 120px 80px;align-items:center;gap:16px;display:grid}.advisories-table-head{border-bottom:1px solid var(--hairline-strong);background:var(--bg-soft);font-family:var(--font-utility);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-faint);padding:12px 20px;font-size:11px;font-weight:700}.advisories-row{border-bottom:1px solid var(--hairline);font-family:var(--font-utility);color:inherit;padding:18px 20px;font-size:13.5px;text-decoration:none}.advisories-row:hover{background:var(--bg-soft)}.contact-grid{grid-template-columns:1.4fr 1fr;gap:64px;margin-bottom:64px;display:grid}.contact-card{border:1px solid var(--hairline-strong);background:var(--bg-panel);border-radius:4px;padding:32px 36px}.email-obfuscated{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.email-obfuscated svg{max-width:min(280px,72vw);height:auto;display:block}.email-obfuscated text{font-family:var(--font-section);fill:var(--fg-page);font-size:26px;font-weight:700}.email-obfuscated .email-underline{stroke:var(--rule-red);stroke-width:2px}.email-copy{border:1px solid var(--hairline-strong);min-height:34px;color:var(--fg-soft);font-family:var(--font-utility);cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.email-copy:hover{color:var(--rule-red);border-color:var(--rule-red);background:var(--bg-soft)}.email-noscript{font-family:var(--font-utility);color:var(--fg-faint);font-size:13px}@media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:28px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
