:root{color-scheme:dark;--ink:#dadbe1;--accent:#ff4c25;--page-bg:#090a0d}
*{box-sizing:border-box;border-width:0;border-style:solid}html{scroll-behavior:smooth;scroll-padding-top:24px;scroll-padding-bottom:70px}body{margin:0;background:var(--page-bg);color:var(--ink);font:max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)))/26px 'Die Grotesk A',Arial,sans-serif;-webkit-font-smoothing:antialiased}p,h1,h2,h3,h4,ul{margin:0;padding:0}button{font:inherit;color:inherit;background:none;padding:0;cursor:pointer;text-align:left}a{color:inherit;text-decoration:none}img{display:block}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}::selection{background:#ff4c2566;color:white}
.page{position:relative;width:1482px;max-width:100%;margin:auto;isolation:isolate;overflow:clip;padding-bottom:613px}.brand-header{position:relative;width:1270px;margin:auto;height:82px;z-index:2}.brand-header>a{display:block;position:absolute;left:26px;top:30px;width:144px;height:24px}.hero{width:1270px;height:537.2px;margin:auto;z-index:1}.reading-layout{display:grid;grid-template-columns:350px 920px;align-items:start;width:1270px;margin:auto;position:relative;z-index:1}.reading-layout::before{content:'';position:absolute;left:0;top:0;height:7146px;width:350px;border:1px solid #728b8529;pointer-events:none}.sidebar{position:sticky;top:24px;margin-top:40px;max-height:calc(100dvh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#6e839755 transparent}.article{display:flex;flex-direction:column;gap:120px;min-width:0;width:920px;padding:1px;border:1px solid #728b8529}.article-section{height:auto!important;width:918px;flex:none}.article-section h2{font-weight:700}.toc-link{transition:color .2s,background .2s;border-left-color:#641e0e}.toc-link[aria-current=location]{border-left-color:#ff4c25;background:transparent}.toc-link[aria-current=location] p{color:white}.toc-link:hover p{color:#ff6847}.toc-link p{transition:color .2s}.sidebar button{width:100%}.sidebar [data-share]{width:24px;height:24px}.sidebar [data-sidebar-toggle]{position:relative}.sidebar [data-sidebar-toggle] img{transition:transform .3s}.sidebar [aria-expanded=false] img{transform:rotate(-90deg)}
.opening-background{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:var(--scene-opacity,1)}.opening-scene{width:1482px;height:1245px;overflow:hidden;background:#090a0d;position:absolute;left:50%;transform:translateX(-50%);isolation:isolate}.spotlight{position:absolute;pointer-events:none;will-change:transform}.spotlight-right{left:1015px;top:-286px;width:1116px;height:1116px;animation:edge-light-right 25s ease-in-out infinite alternate}.spotlight-left{left:-488px;top:518px;width:750px;height:750px;animation:edge-light-left 31s ease-in-out infinite alternate}.opening-background.is-inactive{visibility:hidden}.is-inactive .spotlight,.page-away .spotlight{animation-play-state:paused}
@keyframes edge-light-right{0%{transform:translate(0,0)}45%{transform:translate(-300px,-530px)}100%{transform:translate(-1470px,-80px)}}
@keyframes edge-light-left{0%{transform:translate(-100px,-350px)}50%{transform:translate(220px,-1110px)}100%{transform:translate(1750px,-620px)}}
.landscape-footer{position:absolute;bottom:-81px;left:-5px;width:1482px;height:830px;z-index:-1;pointer-events:none}.n-4442-5589{left:0;top:0}
.skip-link{position:fixed;left:12px;top:10px;z-index:100;background:white;color:#090a0d;padding:10px 16px;transform:translateY(-160%)}.skip-link:focus{transform:none}
#key-findings{background:#080a0b;isolation:isolate}.n-4442-5612>div{transition:background .25s,transform .35s}.n-4442-5612>div.is-reading{background:#6e839724}.n-4442-5608,.n-4442-5609{transition:translate .65s cubic-bezier(.2,.7,.2,1)}
.disclosure-button{display:block;position:relative;text-align:left;width:100%;transition:color .2s}.disclosure-button:hover{color:#ff6847}.disclosure-button:after{content:'+';position:absolute;right:-20px;top:0;font:max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)))/26px 'Geist Mono',monospace;color:#6e8397;opacity:0;transition:opacity .2s}.disclosure-button:hover:after,.disclosure-button:focus-visible:after{opacity:1}.disclosure-button[aria-expanded=true]:after{content:'−'}[data-disclosure-panel]{height:auto;overflow:hidden;flex-shrink:0;max-width:100%}
#attack-flow{-webkit-backdrop-filter:none;backdrop-filter:none}.n-4442-5751{pointer-events:none}.n-4442-5756{isolation:isolate}.n-4442-5757{pointer-events:none}.n-4442-5760{align-items:baseline}.attack-tab{align-self:flex-end;border-bottom:1px solid #6e839733;height:32px;min-width:0}.attack-tab>div{border:0}.attack-tab p{font-size:max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(32px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));color:#6e8397;letter-spacing:1.6px;transition:font-size .45s,line-height .45s,color .3s}.attack-tab[aria-pressed=true]{height:54px;border-bottom-color:#ff4c25}.attack-tab[aria-pressed=true] p{font-size:max(48px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(54px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));letter-spacing:4.8px;color:#ff4c25}.attack-tab:hover p{color:#ff6847}.n-4442-5760{height:54px}.n-4442-5758,.n-4442-5759{isolation:isolate;min-height:32px;transform:translateY(-16px)}.n-4442-5758>div{top:10px;bottom:auto}.n-4442-5759>div{pointer-events:none}.n-4442-5759{display:flex;align-items:center}.n-4442-5771{height:130px}.n-4442-5771 p{width:600px;max-width:100%}
.check-control{position:relative;width:24px;height:25px;flex:none;transition:transform .2s}.check-control:active{transform:scale(.85)}.check-control>span{position:absolute;inset:0}.check-control .check-on{display:none}.check-control[aria-pressed=true] .check-on{display:block}.check-control[aria-pressed=true] .check-off{display:none}.check-control>span>div{height:25px;width:24px}.n-4442-6413>div{transition:background .25s}.n-4442-6413>div.is-checked{background:#728b8522}.checklist-state{font:max(12px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.5 'Geist Mono',monospace;color:#6e8397;display:flex;justify-content:space-between;gap:15px;width:100%;margin-top:4px}.checklist-state button{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}
.figure-scroll{position:relative;width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6e839760 transparent}.figure-scroll>div{min-width:838px}.timeline-window{overflow-x:auto!important;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#ffffff80 transparent;scroll-behavior:smooth;scroll-snap-type:x proximity}.n-4442-6448{width:max-content;min-width:100%}.n-4442-6448>div{scroll-snap-align:center;transition:border-color .25s}.n-4442-6448>div:hover{border-left-color:white}.n-4442-6448>div:hover p{color:#dadbe1}.timeline-controls{position:absolute;right:0;bottom:-22px;display:flex;gap:12px;z-index:2}.timeline-controls button{color:#6e8397;width:30px;height:30px;text-align:center;font:max(19px,calc(var(--text-min,14px) / var(--text-zoom,1)))/30px 'Geist Mono',monospace}.timeline-controls button:hover{color:white}.timeline-controls button:disabled{opacity:.3;cursor:default}
.reading-progress{height:2px;position:fixed;top:0;left:0;right:0;z-index:90;background:#728b8510}.reading-progress span{display:block;background:#ff4c25;width:100%;height:100%;transform:scaleX(0);transform-origin:left}.reader-tools{position:fixed;bottom:16px;right:20px;display:flex;gap:5px;z-index:80;padding:5px;background:#111718;border:1px solid #718a8540;border-radius:5px}.reader-tools button,.reader-tools a{padding:5px 8px;font:max(10px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.5 'Geist Mono',monospace;color:#9aaca1}.reader-tools button:hover,.reader-tools a:hover{color:white}.notice{position:fixed;bottom:66px;right:20px;background:#1b2326;border:1px solid #718a8555;padding:10px 16px;font:max(12px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.5 'Geist Mono',monospace;color:white;z-index:100}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.motion-pending{opacity:0;transform:translateY(24px)}.motion-entered{opacity:1;transform:none;transition:opacity .8s,transform 1s cubic-bezier(.16,1,.3,1)}.motion-pending:focus-within{opacity:1;transform:none}.bar-reveal{transform-origin:left;transform:scaleX(0)}.bar-reveal.is-built{transform:scaleX(1);transition:transform 1.6s cubic-bezier(.22,.65,.3,1) var(--bar-delay,0ms)}.radial-mask{mask-image:conic-gradient(#000 0deg var(--sweep,0deg),transparent var(--sweep,0deg) 360deg);-webkit-mask-image:conic-gradient(#000 0deg var(--sweep,0deg),transparent var(--sweep,0deg) 360deg)}
.quiet-motion,.quiet-motion *{scroll-behavior:auto!important}.quiet-motion *,.quiet-motion *:before,.quiet-motion *:after{animation:none!important;transition:none!important}.quiet-motion .motion-pending{opacity:1;transform:none}.quiet-motion .bar-reveal{transform:scaleX(1)}.quiet-motion .radial-mask{mask-image:none;-webkit-mask-image:none}
@media(min-width:1201px) and (max-width:1481px){.page{zoom:calc(100vw / 1482px);max-width:none}}
/* Keep the artwork and its shading together across the full desktop viewport. */
@media(min-width:1201px){.opening-scene{zoom:calc(100vw / 1482px)}}
/* Full-bleed artwork; the centered reading and hero columns keep their own widths. */
@media(min-width:1482px){.page{width:100%}}
@media(min-width:1201px){
 .attack-background-stage .n-4442-5751{width:100%;height:auto;aspect-ratio:1482/1212}
 .landscape-footer{left:0;width:100%;height:auto;aspect-ratio:1482/830}
 .landscape-footer .n-4442-5589{width:100%;height:100%}
}
@media(max-width:1200px){
 .page{width:100%;padding-bottom:420px}.brand-header{width:100%;height:76px}.brand-header>a{left:24px;top:26px}.hero{width:100%;height:auto;padding:56px 24px 80px;gap:32px}.hero>div:last-child,.hero h1,.hero .n-4442-5585,.hero .n-4442-5586{width:100%;max-width:100%}.hero h1{font-size:clamp(36px,6.5vw,60px);letter-spacing:-1.6px}.hero .n-4442-5586{font-size:max(18px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(26px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)))}.hero .n-4442-5553{transform:scale(.68);transform-origin:left center;margin-right:-140px;margin-bottom:-12px}
 .opening-scene{left:50%;width:1482px;transform:translateX(-50%) scale(.75);transform-origin:center top}.reading-layout{width:100%;display:flex;flex-direction:column;padding:0 20px;gap:50px}.reading-layout::before{display:none}.sidebar{position:relative;top:auto;margin:0;width:100%;max-height:none;padding:0;gap:24px}.sidebar .n-4442-6548,.sidebar .n-4442-6569,.sidebar .n-4442-6571{display:none}.sidebar .n-4442-6527{display:grid;grid-template-columns:1fr 1fr;gap:0;width:100%}.toc-link{padding:9px 14px}.sidebar .n-4442-6526{font-size:max(26px,calc(var(--text-min,14px) / var(--text-zoom,1)))}.sidebar .n-4442-6521{padding-left:0}
 .article{width:100%;gap:72px;border:0;padding:0}.article-section{width:100%;padding:28px 4px;gap:30px;border-radius:0}.article-section h2{font-size:max(28px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.1;white-space:normal}.article-section p,.disclosure-button{white-space:normal;overflow-wrap:break-word}.article-section>div,.article-section>p{max-width:100%}.article-section :is(.n-4442-5592,.n-4442-5631,.n-4442-5746,.n-4442-5747,.n-4442-5748,.n-4442-5593,.n-4442-5594,.n-4442-5595){width:100%}.n-4451-7261>div{padding:24px 16px;gap:14px}.n-4451-7261 button,.n-4451-7261 button span{font-size:max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.4}.n-4451-7261 button{padding-right:6px}.disclosure-button:after{right:-8px;opacity:.5}
 #key-findings{padding:26px 20px}.n-4442-5612{gap:18px}.n-4442-5612>div{gap:14px;padding:20px 12px;align-items:flex-start}.n-4442-5612>div>p:first-child{font-size:max(28px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(30px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));width:58px}.n-4442-5612>div>p:last-child{font-size:max(17px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(24px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)))}
 #attack-flow{padding:24px 0}.n-4442-5751{left:calc(50% - 741px)}.n-4442-5752{width:100%;padding:24px 12px;gap:28px}.n-4442-5755{white-space:normal}.n-4442-5756{height:460px;width:100%}.n-4442-5757{left:50%;top:0;transform:translateX(-50%) scaleX(var(--device-scale,.4));transform-origin:center top;height:384px}.n-4442-5756{background:#121b1f66}.n-4442-5760{left:20px;top:26px;width:calc(100% - 40px);gap:10px}.attack-tab[aria-pressed=true] p{font-size:max(30px,calc(var(--text-min,14px) / var(--text-zoom,1)));letter-spacing:2px}.attack-tab p{font-size:max(13px,calc(var(--text-min,14px) / var(--text-zoom,1)));letter-spacing:1px}.n-4442-5771{left:20px;top:110px;width:calc(100% - 40px);height:auto}.n-4442-5771 p{width:100%}.n-4442-5772{font-size:max(14px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(22px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));letter-spacing:1px;margin-bottom:12px}.n-4442-5773{font-size:max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(25px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)))}.n-4442-5758{left:auto;right:25px;top:auto;bottom:18px}.n-4442-5759{left:25px;top:auto;bottom:18px}.n-4442-5803,.n-4442-5804,.n-4442-5805,.n-4442-5806,.n-4442-5807{width:100%}.n-4442-5808{padding:24px 14px;max-width:100%}.n-4442-5811{font-size:max(17px,calc(var(--text-min,14px) / var(--text-zoom,1)))}.n-4442-5808 [data-disclosure-panel]{overflow-x:auto}.n-4442-5808 [data-disclosure-panel]>div{min-width:500px}
 .figure-scroll>div{max-width:none!important}.n-4442-5978{height:auto;width:100%}.n-4442-5978 p{position:relative;inset:auto;width:100%}.n-4442-6409,.n-4442-6410,.n-4442-6413,.n-4442-6413>div{width:100%}.n-4442-6410{padding:20px 12px}.n-4442-6411,.n-4442-6424{font-size:max(17px,calc(var(--text-min,14px) / var(--text-zoom,1)))}.n-4442-6413>div{padding:16px 12px}.n-4442-6412{min-width:0;width:100%}.n-4442-6446,.n-4442-6447{width:100%}.n-4442-6448{max-width:none}.n-4442-6448 p{white-space:normal}.n-4442-6445,.n-4442-6478{font-size:max(18px,calc(var(--text-min,14px) / var(--text-zoom,1)));white-space:normal}.n-4442-6479 p{width:auto}.n-4442-6489,.n-4442-6490{width:100%}.n-4442-6439{overflow-x:auto}.n-4442-6439>div{min-width:640px}#bottom-line>p{width:100%}#learn-more{padding:28px 20px}.n-4442-6502>[data-resource-card]{width:100%}.n-4442-6502 p{width:100%}.n-4442-6502>[data-resource-card]{padding:20px 16px}.n-4442-6502{gap:22px}.landscape-footer{left:calc(50% - 741px);bottom:-160px}
 .reader-tools{right:12px;bottom:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-pending{opacity:1;transform:none}.bar-reveal{transform:scaleX(1)}.radial-mask{mask-image:none}}
.title-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.title-word>span{display:inline-block}
@media(max-width:1200px){.n-4442-6086>div{flex-direction:column;align-items:flex-start;gap:24px;padding:24px 18px}.n-4442-6086>div>div{max-width:100%}.n-4442-6086 p{white-space:normal}.n-4442-6086>div>div:last-child{width:100%;flex:auto}.n-4442-6086>div>div:last-child>p{font-size:max(17px,calc(var(--text-min,14px) / var(--text-zoom,1)))}.n-4442-6086>div>div:last-child>div{width:100%;min-width:0}.n-4442-6135{flex-wrap:wrap;width:100%}.n-4442-6135>div{max-width:100%}.n-4442-6281{width:100%}}
@media(max-width:1200px){
 .n-4442-6281{height:auto}.n-4442-6281>div{width:100%}
 .n-4442-6479>div>p:first-child{width:24px;flex:none}.n-4442-6479>div>p:last-child{width:auto;flex:1;min-width:0;flex-shrink:1}
 .n-4442-5756{height:540px}.n-4442-5757{width:100%;height:100%;transform:translateX(-50%);filter:none;background:#121b1f80}
 .n-I4442-5757-329-5847{overflow:hidden}.n-I4442-5757-329-5847>img{left:50%;transform:translateX(-50%)}
 .n-I4442-5757-329-5854{overflow:hidden;background:url('assets/oct6-4442-5749-9d603.svg') center top repeat-y}.n-I4442-5757-329-5854>img{visibility:hidden}
 .n-I4442-5757-329-5863,.n-I4442-5757-329-5866{width:1px;background:url('assets/4442-5749-39dcb.svg') left top repeat-y}.n-I4442-5757-329-5863>div,.n-I4442-5757-329-5866>div{visibility:hidden}
 .n-4442-5760{left:30px;width:calc(100% - 60px)}.n-4442-5771{left:30px;width:calc(100% - 60px)}.n-4442-5773{font-size:max(15px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(23px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)))}.n-4442-5772{font-size:max(13px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(20px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)))}
}
@media(max-width:1200px){.n-4442-6281>p{width:100%}}
.n-4442-5981,.n-4442-6172{background:#090a0d;isolation:isolate}
.n-4442-5982,.n-4442-5983,.n-4442-5984{z-index:-1;pointer-events:none}
#learn-more{background:#090a0d;isolation:isolate}

/* Review: scroll-directed emphasis, clean frame edges, and background stacking. */
.article{border-color:transparent}
#key-findings{border-color:transparent;border-radius:0}
#learn-more{border-radius:0}
.attack-background-stage{position:absolute;inset:0;z-index:-1;pointer-events:none}
.attack-background-stage .n-4442-5751{left:0}
.sidebar{z-index:2}
#attack-flow .disclosure-button{color:#6e8397}
#attack-flow .disclosure-button[aria-expanded=true]{color:white}
.typing-layer{overflow:hidden;user-select:none}
.chain-segment::after{content:'';position:absolute;inset:0;background:#1d242c;opacity:1}
.chain-built .chain-segment::after{animation:segment-on .2s linear var(--segment-delay,0ms) forwards}
@keyframes segment-on{to{opacity:0}}
.quiet-motion .chain-segment::after{opacity:0}
.timeline-controls button:focus-visible,.timeline-window:focus-visible{outline-color:white}
.n-4442-6448>div:hover p{color:white}
.n-4442-6448>div{color:#6e8397;border-left-color:currentColor;transition:color .25s}
.n-4442-6448>div p{color:inherit;transition:color .25s}
.n-4442-6448>div:hover{color:white;border-left-color:currentColor}
.n-4442-6448>div>div{position:static}
.n-4442-6448>div>div>div{left:-.5px;top:auto;bottom:-1px;transform:translateX(-50%);background-color:currentColor;transition:background-color .25s}
@media(max-width:1200px){.attack-background-stage .n-4442-5751{left:calc(50% - 741px)}}
@media(prefers-reduced-motion:reduce){.chain-segment::after{opacity:0}}

/* Mobile review: content-sized text, fitted consent data, and bounded scrollers. */
.mobile-scroll-controls{display:none}
@media(max-width:1200px){
 .n-4442-5756{clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
 .n-4442-5808{width:100%;min-width:0}
 .n-4442-5808 div{min-width:0;max-width:100%}
 .n-4442-5808 .disclosure-button{white-space:normal;overflow-wrap:anywhere}
 .n-4442-5808 [data-disclosure-panel]{padding:16px 12px;width:100%;overflow-x:hidden}
 .n-4442-5808 [data-disclosure-panel]>div,.n-4442-5808 [data-disclosure-panel]>p{min-width:0;max-width:100%;width:100%;flex:1 1 auto}
 .n-4442-5808 [data-disclosure-panel] :is(p,span){white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
 .n-4442-6274{width:100%;min-width:0}
 .n-4442-6277,.n-4442-6281{height:auto}
 .n-4442-6282{flex:none;min-height:0}
 .n-4442-6272,.n-4442-6275,.n-4442-6278,.n-4442-6281{gap:20px}
 .n-4442-6281>div{width:100%}
 .figure-scroll{min-width:0;max-width:100%;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
 .protocol-chart{overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#8b9a9f #172025}
 .protocol-chart::-webkit-scrollbar,.consent-screens::-webkit-scrollbar{height:7px}
 .protocol-chart::-webkit-scrollbar-track,.consent-screens::-webkit-scrollbar-track{background:#172025}
 .protocol-chart::-webkit-scrollbar-thumb,.consent-screens::-webkit-scrollbar-thumb{background:#8b9a9f;border-radius:4px}
 .mobile-scroll-controls{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px;margin-top:0;color:#8b9a9f;font:max(11px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.4 'Geist Mono',monospace}
 .mobile-scroll-controls>div{display:flex;gap:8px}
 .mobile-scroll-controls button{width:38px;height:34px;border:1px solid #6e839744;text-align:center;font:max(18px,calc(var(--text-min,14px) / var(--text-zoom,1)))/32px 'Geist Mono',monospace;color:white}
 .mobile-scroll-controls button:disabled{opacity:.3;cursor:default}
 .n-4442-6128{flex-direction:column;gap:24px}.n-4442-6133{width:100%;flex:auto}
 .n-4442-6136{width:100%;min-width:0}
 .n-4442-6137{width:100%;height:auto;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#8b9a9f #172025;mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left,0px),#000 calc(100% - var(--fade-right,24px)),transparent 100%)}
 .n-4442-6139{position:relative;left:auto;top:auto;transform:none;justify-content:flex-start;gap:20px;padding:24px 18px;width:max-content;max-width:none!important}
 .n-4442-6139>div{scroll-snap-align:start;scroll-margin-left:18px}
 .n-4442-6143{font-size:max(12px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(18px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));white-space:normal;overflow-wrap:anywhere;width:100%}
}
@media(max-width:1200px){
 .n-4442-6137{background:rgba(110,131,151,.12);border:1px solid #728b8566}
 .n-4442-6138{display:none}
}
@media(max-width:1200px){
 .n-4442-5808 .disclosure-button{padding-right:16px}
 .n-4442-5808 .disclosure-button::after{right:0}
}

/* Support sidebar legibility only while the attack artwork passes behind it. */
@media(min-width:1201px){
 .reading-layout::after{content:"";position:absolute;inset:0 auto 0 0;width:350px;background:rgba(9,10,13,.82);opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:-1}
 .reading-layout.over-attack-image::after{opacity:1}
 #attack-flow{padding:0}
}

/* October 6 copy: let expanded prose determine height and retain the reviewed mobile layouts. */
.n-4442-5631{height:auto;width:100%}
.n-4442-5632{width:100%;white-space:normal}
.n-4442-5978{height:auto;width:100%;min-width:0}
.n-4442-5648{width:100%;height:auto}
.n-4442-5649{width:100%;min-width:0}
.n-4442-5740{width:100%;white-space:normal}
.n-4442-6413{width:100%}
.n-4442-6413>div{width:100%}
.n-4442-6555{height:auto}
.n-4515-3619{max-width:100%}
.n-4442-6502>[data-resource-card]{transition:background .25s}
.n-4442-6502>[data-resource-card]:hover{background:#6e839726}
@media(max-width:1200px){
 .n-4442-5592>div{max-width:100%}
 .n-4442-5649{overflow-x:auto;overscroll-behavior-x:contain}
 .n-4442-5650{flex:none}
 .n-4442-5740{position:sticky;left:0}
 #why-mcp [data-disclosure-panel]{max-width:100%;min-width:0}
 #why-mcp [data-disclosure-panel] p{overflow-wrap:anywhere}
 #learn-more .n-4442-6502{flex-direction:column}
 #learn-more .n-4442-6502>[data-resource-card]{flex:auto;width:100%}
 #learn-more .n-4442-6502>[data-resource-card]>div{width:100%}
 #learn-more a{white-space:normal}
 .n-4442-5805{white-space:normal}
}

.toc-link p{color:#6e8397}
.toc-link[aria-current=location] p{color:white}
@media(max-width:1200px){.sidebar .n-4442-6548{display:flex;width:100%}.sidebar .n-4442-6555{padding:0 14px}.n-4515-3619{width:100%}}

/* Corrected Figma accordion headers: full-row controls with the supplied chevrons. */
#why-mcp .disclosure-button{display:flex;align-items:center;gap:10px;padding:0}
#why-mcp .disclosure-button::after{display:none}
#why-mcp .disclosure-button>p{flex:1;min-width:0;text-align:left}
#why-mcp [data-disclosure-icon]{flex:none;transition:transform .25s}
#why-mcp .disclosure-button[aria-expanded=true] [data-disclosure-icon]{transform:rotate(-90deg)}
#why-mcp .n-4519-4052 [data-disclosure-icon]{transform:rotate(90deg)}
#why-mcp .n-4519-4052[aria-expanded=true] [data-disclosure-icon]{transform:none}

/* Attack disclosures use the same supplied left/down chevron as the explanations. */
#attack-flow .disclosure-button{padding-right:30px}
#attack-flow .disclosure-button::after{content:'';right:0;top:3px;width:20px;height:20px;opacity:1;background:#728b85;mask:url('assets/revised-fabfb.svg') center/contain no-repeat;transition:transform .25s,background-color .25s}
#attack-flow .disclosure-button[aria-expanded=true]::after{content:'';background:white;transform:rotate(-90deg)}

/* Review refinements from the current Figma frame. */
#panel-4442-5648{gap:20px}
.state-icon{display:block;width:20px;height:20px;background:var(--icon-color,#728b85);mask:var(--icon-source) center/contain no-repeat;transition:background-color .2s}
#why-mcp .disclosure-button[aria-expanded=true]{--icon-color:#fff}
[data-resource-card]{--icon-color:#6e8397}
[data-resource-card]:is(:hover,:focus-visible){--icon-color:#ff4c25;background:#6e839726}
.n-4442-6138{background:transparent url('assets/consent-panel.svg') center/100% 100% no-repeat;border:0;mix-blend-mode:normal;opacity:.2}
@media(max-width:1200px){
 .n-4442-5756{height:auto;min-height:340px;display:flex;flex-direction:column;gap:28px;padding:32px 38px 84px}
 .n-4442-5760{position:relative;left:auto;top:auto;width:100%;flex:none}
 .n-4442-5771{position:relative;left:auto;top:auto;width:100%;height:auto}
 .n-I4442-5757-329-5847>img{left:0;transform:none;width:100%;height:100%}
 .n-4442-5758{right:38px;bottom:24px}
 .n-4442-5759{left:38px;bottom:24px}
}
@media(max-width:1200px){
 .consent-screens{background-image:linear-gradient(#728b8515 2px,transparent 2px),linear-gradient(90deg,#728b8515 2px,transparent 2px);background-size:33.23px 33.23px}
}

/* Mobile navigation: Figma 4532:974 (open) and 4532:771 (closed). */
.mobile-report-menu{display:none}
@media(max-width:1200px){
 html{scroll-padding-top:74px}
 body{padding-top:50px}
 .sidebar{display:none}
 .mobile-report-menu{display:flex;flex-direction:column;position:fixed;inset:0 0 auto;z-index:100;max-height:100dvh;background:rgba(9,10,13,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #6e839733}
 .mobile-report-toggle{display:flex;align-items:flex-start;justify-content:space-between;width:100%;height:50px;flex:none;padding:14px 15px;color:#728b85;font:600 max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.4 'Geist Mono',monospace;letter-spacing:1.6px;text-transform:uppercase}
 .mobile-report-toggle[aria-expanded=true]{color:white}
 .mobile-report-chevron{position:relative;width:20px;height:20px;flex:none;overflow:hidden}
 .mobile-report-chevron img{position:absolute;left:0;top:1px;transform:rotate(-90deg)}
 .mobile-report-chevron .mobile-chevron-open{display:none;transform:rotate(90deg)}
 .is-open .mobile-chevron-closed{display:none}
 .is-open .mobile-chevron-open{display:block}
 .mobile-report-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 15px 20px;scrollbar-width:thin;scrollbar-color:#6e839766 transparent}
 .mobile-report-panel .n-4442-6527{display:flex;flex-direction:column;width:100%}
 .mobile-report-panel .toc-link{padding:10px 20px;width:100%}
 .mobile-report-panel .toc-link p{font-size:max(14px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.5}
 .mobile-report-about{display:flex;flex-direction:column;gap:20px;margin-top:40px;width:100%}
 .mobile-report-about .n-4442-6549{padding:0;gap:10px}
 .mobile-report-about .n-4442-6554{color:white;font:600 max(16px,calc(var(--text-min,14px) / var(--text-zoom,1)))/1.4 'Geist Mono',monospace;letter-spacing:1.6px;text-transform:uppercase;white-space:normal;flex-shrink:1}
 .mobile-report-about [aria-expanded=false] img{transform:rotate(-90deg)}
 .mobile-report-about [data-sidebar-toggle] img{transition:transform .3s}
 .mobile-report-about .n-4442-6555{padding:0;width:100%}
 .mobile-report-about .n-4515-3619{width:100%;font-size:max(14px,calc(var(--text-min,14px) / var(--text-zoom,1)))}
 .mobile-report-open,.mobile-report-open body{overflow:hidden}
 .mobile-report-toggle:focus-visible{outline-offset:-5px}
 .mobile-report-panel:focus-visible{outline-offset:-2px}
}

/* The glow is a filter-free SVG with a transparent perimeter, including in Safari. */
.n-4442-5609{pointer-events:none;isolation:isolate;z-index:0}
.n-4442-5609 .findings-glow{position:absolute;left:-200px;top:-200px;width:508px;height:508px;max-width:none;pointer-events:none;border-radius:50%;-webkit-mask-image:radial-gradient(circle,#000 55%,transparent 85%);mask-image:radial-gradient(circle,#000 55%,transparent 85%);transform:translateZ(0)}
.n-4442-6575{color:#6e8397}
.code-awaiting-type{opacity:0}
/* Keep the backdrop on a stable layer outside the animated content. */
#attack-flow::before{content:'';position:absolute;inset:0;pointer-events:none;background:rgba(9,10,13,.8);-webkit-backdrop-filter:none;backdrop-filter:none}
#attack-flow .n-4442-5752{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
@media(max-width:1200px){#attack-flow::before{inset:24px 0}}

/* Figma permission-flow pills: 1px inside sage stroke at 50% paint opacity.
   Stops carry 30%/100% alpha, yielding 15%/50% effective alpha. */
.n-4442-5650>:is(.n-4442-5686,.n-4442-5689,.n-4442-5692,.n-4442-5695,.n-4442-5698){border-color:transparent;overflow:visible;--step-stroke-direction:to bottom;--step-stroke-start:.15;--step-stroke-end:.5}
.n-4442-5650>:is(.n-4442-5689,.n-4442-5698){--step-stroke-direction:to right}
.n-4442-5650>:is(.n-4442-5692,.n-4442-5698){--step-stroke-start:.5;--step-stroke-end:.15}
.n-4442-5650>:is(.n-4442-5686,.n-4442-5689,.n-4442-5692,.n-4442-5695,.n-4442-5698)::before{content:'';position:absolute;inset:-1px;padding:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(var(--step-stroke-direction),rgba(114,139,133,var(--step-stroke-start)),rgba(114,139,133,var(--step-stroke-end)));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}

/* Use the stacked consent chart only once its original plot no longer fits. */
@media(max-width:731px){
 .figure-scroll.consent-chart{overflow:visible}
 .figure-scroll.consent-chart>.n-4442-5981{width:100%!important;min-width:0!important;height:auto;display:flex;flex-direction:column;gap:26px;padding:24px 16px}
 .n-4442-5981 .n-4442-6083{position:relative;inset:auto;width:100%;order:-1;gap:12px}
 .n-4442-5981 .n-4442-6084{font-size:max(22px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.15;letter-spacing:-.4px}
 .n-4442-5981 .n-4442-6085{font-size:max(13px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.45}
 .n-4442-5981 .n-4442-5986,.n-4442-5981 .n-4442-6046{display:none}
 .n-4442-5981 .n-4442-6008{position:relative;inset:auto;width:100%;gap:22px}
 .n-4442-6008>div{display:grid;grid-template-columns:minmax(0,1fr) 36px 74px;gap:8px;align-items:center}
 .n-4442-6008>div>p:first-child{grid-column:1/-1;width:100%;font-size:max(14px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.25;text-align:left}
 .n-4442-6008>div>.bar-reveal{width:var(--bar-share);height:14px;min-width:0}
 .n-4442-6008>div>p:not(:first-child){font-size:max(11px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:max(16px,calc(var(--text-min,14px) * 1.4 / var(--text-zoom,1)));white-space:nowrap}
 .n-4442-5981 .n-4442-6044{position:relative;inset:auto;transform:none;width:100%;height:auto;font-size:max(12px,calc(var(--text-min,14px) / var(--text-zoom,1)));line-height:1.3;text-align:left}
}

/* Tablet: trim chart margins before changing the data layout. */
.protocol-plot{display:contents}
@media(max-width:1200px){
 .figure-scroll.protocol-chart>.n-4442-6172{min-width:680px;width:100%}
 .protocol-plot{display:block;position:absolute;width:838px;height:460px;left:50%;top:0;transform:translateX(-50%)}
 .n-4442-6237{width:calc(100% - 130px)}
 .n-4442-6238,.n-4442-6239{width:100%;min-width:0}
 .mobile-scroll-controls[hidden]{display:none}
}
@media(min-width:732px) and (max-width:1200px){
 .figure-scroll.consent-chart>.n-4442-5981{min-width:0;width:100%}
 .n-4442-5985{display:block;position:absolute;width:838px;height:465px;left:50%;top:0;transform:translateX(-50%)}
 .n-4442-6083{width:calc(100% - 135px)}
 .n-4442-6068{left:auto;right:30px}
}
@media(min-width:601px) and (max-width:1200px){
 .n-4442-6086>div:not(.n-4442-6127),.n-4442-6128{flex-direction:row;align-items:center}
 .n-4442-6086>div:not(.n-4442-6127)>div:last-child,.n-4442-6133{width:auto;min-width:0;flex:1}
}

/* Readability floors are measured after the desktop page zoom, in CSS pixels. */
:root{--text-min:14px;--text-zoom:1}
.page{--text-zoom:1}
@media(min-width:1201px) and (max-width:1481px){.page{--text-zoom:calc(100vw / 1482px)}}
.article,.hero,#about-report-copy,.mobile-report-about{--text-min:16px}
.figure-scroll,.n-4442-5650,.n-4442-6439,.n-4442-5740,.n-4442-6143,.checklist-state,.attack-tab,.n-4442-5772,.n-4442-5808 [data-disclosure-panel]{--text-min:14px}
/* Copy can wrap as its readable size grows; captions and controls are never downscaled. */
#about-report-copy p,#about-report-copy span,.mobile-report-about p,.mobile-report-about span{font-size:max(16px,calc(16px / var(--text-zoom,1)));line-height:1.45}
.checklist-state,.reader-tools button,.reader-tools a,.notice,.mobile-scroll-controls{font-size:14px;line-height:1.5}
.checklist-state{font-size:calc(14px / var(--text-zoom,1))}
.n-4442-5612>div,.n-4442-5771{height:auto}
.n-4442-6240{height:252px;display:grid;grid-template-rows:repeat(6,1fr);align-items:stretch;gap:0}
.n-4442-6240>div{min-height:0}
.n-4442-6008{height:252px;display:grid;grid-template-rows:repeat(7,1fr);align-items:stretch;gap:0}
.n-4442-6008>div{min-height:0}
@media(max-width:731px){
 .n-4442-5981 .n-4442-6008{height:auto;display:flex;gap:22px}
 .n-4442-6008>div{grid-template-columns:minmax(0,1fr) 38px 92px}
}

/* Switch to the full-width reading layout before the desktop columns become cramped. */
.mobile-scroll-controls{--text-min:14px;font-size:calc(14px / var(--text-zoom,1))}
.n-4442-6193>p,.n-4442-6001>p{width:max-content;white-space:nowrap}
.n-4442-6271,.n-4442-6044{height:auto;white-space:nowrap}

.n-4442-6271{top:432px}.n-4442-6044{top:423px}

/* Expand diagram labels around their original connection points. */
.n-4442-5650>:is(.n-4442-5686,.n-4442-5689,.n-4442-5692,.n-4442-5695,.n-4442-5698){width:max-content;min-width:160px;right:auto;justify-content:center}
.n-4442-5650>:is(.n-4442-5686,.n-4442-5689,.n-4442-5698){min-width:200px}
.n-4442-5686{left:130px;transform:translateX(-50%)}
.n-4442-5689{left:50%;transform:translateX(-50%)}
.n-4442-5680{top:94px;height:110px;gap:6px;padding:8px}
.n-4442-5685,.n-4442-5685 *{line-height:1.2}
.n-4442-6277{height:auto}

/* Do not tween through an undersized font when a responsive zoom changes. */
.attack-tab p{transition:color .3s}

.n-4442-6446{height:auto;padding-bottom:11px}
.n-4442-6447{position:relative;height:auto;min-height:288px;padding:38px 0}

/* Stable attack steps and a common numeral baseline. */
.n-4442-5771{display:grid}
.attack-copy-content,.attack-copy-measure{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;width:100%}
.attack-copy-measure{visibility:hidden;pointer-events:none}
.attack-tab,.attack-tab[aria-pressed=true]{height:54px;align-self:stretch;align-items:flex-end;padding-bottom:10px}
.attack-tab>div{display:contents;height:auto;padding:0}
.attack-tab p{line-height:1;text-box-trim:trim-both;text-box-edge:cap alphabetic}

/* Phone charts: label above, then a proportional bar followed by its values. */
@media(max-width:731px){
 .figure-scroll.protocol-chart{overflow:visible;padding-bottom:0}
 .figure-scroll.protocol-chart>.n-4442-6172{min-width:0;width:100%;height:auto;display:flex;flex-direction:column;gap:26px;padding:24px 16px}
 .protocol-plot{display:contents}
 .n-4442-6178,.n-4442-6200{display:none}
 .n-4442-6237{position:relative;inset:auto;width:100%;order:-1;gap:12px;z-index:1}
 .n-4442-6238{font-size:22px;line-height:1.15;letter-spacing:-.4px}
 .n-4442-6239{font-size:14px;line-height:1.45}
 .n-4442-6240{position:relative;inset:auto;width:100%;height:auto;display:flex;flex-direction:column;gap:22px}
 .n-4442-6271{position:relative;inset:auto;transform:none;width:100%;height:auto;font-size:14px;line-height:1.3;text-align:left;white-space:normal}
 .n-4442-6008{--chart-value-space:130px}
 .n-4442-6240{--chart-value-space:100px}
 :is(.n-4442-6008,.n-4442-6240)>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}
 :is(.n-4442-6008,.n-4442-6240)>div>p:first-child{flex:0 0 100%;width:100%;font-size:14px;line-height:1.25;text-align:left;white-space:normal}
 :is(.n-4442-6008,.n-4442-6240)>div>.bar-reveal{flex:none;width:calc((100% - var(--chart-value-space)) * var(--bar-ratio));height:14px;min-width:0}
 :is(.n-4442-6008,.n-4442-6240)>div>p:not(:first-child){flex:none;width:auto;font-size:14px;line-height:1.4;white-space:nowrap}
}
/* Anchor both the soft glow and the bright top edge to the Learn more corner. */
.n-4442-6498{top:-54px}
.n-I4442-6499-250-6918,.n-I4442-6499-250-6919{left:calc(15px / var(--text-zoom,1));top:-4px}

/* Desktop charts retain the Figma plot geometry while reserving readable label widths. */
@media(min-width:1201px){
 .n-4442-6172{background:#1b2326}
 .n-4442-6008,.n-4442-6240{height:auto;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
 .n-4442-6008{left:calc(316px - 10px - 210px / var(--text-zoom,1))}
 .n-4442-6240{left:calc(311px - 10px - 210px / var(--text-zoom,1));height:252px;justify-content:space-between;gap:0}
 :is(.n-4442-6008,.n-4442-6240)>div>p:first-child{width:calc(210px / var(--text-zoom,1))}
 .n-4442-6044{top:calc(411px + 12px * (1 / var(--text-zoom,1) - 1));font-family:Graphik,Arial,sans-serif}
 .n-4442-6271{top:calc(420px + 12px * (1 / var(--text-zoom,1) - 1));font-family:Graphik,Arial,sans-serif}
}
@media(min-width:1482px){.n-4442-6240{height:auto;justify-content:flex-start;gap:20px}}
