.article-page{overflow-x:hidden}
.article-language{display:block;padding:.55rem .7rem;border:1px solid var(--line);color:var(--muted);font-size:.72rem}
.article-hero{padding:clamp(5rem,9vw,9rem) max(clamp(1.5rem,4.8vw,6rem),calc((100vw - var(--max))/2 + 13rem));background:var(--mist);border-bottom:1px solid var(--line)}
.article-breadcrumb{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin-bottom:3rem;color:var(--muted);font-size:.82rem}.article-breadcrumb a{border-bottom:1px solid currentColor}.article-breadcrumb span{color:var(--blue)}
.article-back{display:inline-block;margin-bottom:3rem;border-bottom:1px solid currentColor;color:var(--blue);font-weight:700}
.article-hero h1{max-width:1150px;margin:1rem 0;font-family:var(--serif);font-size:clamp(3.2rem,5.6vw,6.5rem);font-weight:500;line-height:.93;letter-spacing:-.035em}
.article-deck{max-width:850px;color:var(--muted);font-size:1.15rem}.article-meta,.article-tags{display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;margin-top:2rem;color:var(--muted);font-size:.76rem}.article-meta span:first-child{color:var(--blue);font-weight:700}.article-tags span{padding:.35rem .6rem;border:1px solid #bdcbd2}
.article-content{max-width:900px;margin:auto;padding:clamp(4rem,7vw,7rem) 1.5rem}.side-channel-page .article-content,.sovereignty-page .article-content{max-width:820px}
.article-content>p,.article-content li{font-size:1.06rem;line-height:1.85}.article-content h2{margin:4rem 0 1.2rem;font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:500;line-height:1.05}.article-content h3{margin-top:2.5rem;font-family:var(--serif);font-size:1.6rem}.article-content ul,.article-content ol{padding-left:1.4rem}.article-content li{margin:.6rem 0}.article-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.article-intro{padding-left:1.5rem;border-left:3px solid var(--blue);font-family:var(--serif);font-size:1.3rem!important}.formula{overflow-x:auto;margin:2rem 0;padding:1.2rem;border-left:3px solid var(--blue);background:var(--mist);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.article-callout{margin:2.5rem 0;padding:1.5rem;background:var(--navy);color:#fff;font-family:var(--serif);font-size:1.3rem}
.key-idea{margin:0 0 4rem;padding:1.4rem 1.5rem;border-top:3px solid var(--blue);background:var(--mist)}.key-idea span,.defender-grid span{color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.14em}.key-idea p{margin:.55rem 0 0;font-family:var(--serif);font-size:1.35rem;line-height:1.35}
.table-scroll{overflow-x:auto;margin:2rem 0}.technique-table{width:100%;border-collapse:collapse;min-width:660px}.technique-table th,.technique-table td{padding:1rem;text-align:left;vertical-align:top;border:1px solid var(--line)}.technique-table th{background:var(--navy);color:#fff;font-size:.76rem;letter-spacing:.06em}
.concept-flow{display:grid;grid-template-columns:repeat(11,auto);align-items:center;gap:.55rem;overflow-x:auto;margin:2rem 0;padding:1.3rem;background:var(--mist)}.concept-flow span{min-width:108px;padding:.85rem;border:1px solid #bdcbd2;background:#fff;text-align:center;font-size:.78rem;font-weight:700}.concept-flow i{color:var(--blue);font-style:normal}.formula math{min-width:max-content;margin:auto}
.defender-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:2rem 0;background:var(--line);border:1px solid var(--line)}.defender-grid section{padding:1.3rem;background:#fff}.defender-grid p{margin:.55rem 0 0;line-height:1.65}.takeaways{counter-reset:takeaway;list-style:none;padding:0!important}.takeaways li{position:relative;margin:0!important;padding:1rem 1rem 1rem 3.5rem;border-top:1px solid var(--line)}.takeaways li::before{counter-increment:takeaway;content:counter(takeaway,decimal-leading-zero);position:absolute;left:.4rem;color:var(--blue);font-weight:700}
.sovereignty-chain{display:block;margin:3rem 0;padding:1.4rem 0;border-block:1px solid var(--line)}.sovereignty-chain>span{display:block;margin-bottom:1rem;color:var(--blue);font-size:.72rem;font-weight:700;letter-spacing:.14em}.sovereignty-chain>div{display:flex;align-items:center;gap:.7rem;overflow-x:auto}.sovereignty-chain b{flex:none;font-family:var(--serif);font-size:1.08rem;font-weight:500}.sovereignty-chain i{color:var(--blue);font-style:normal}.article-end-cta-dual>div{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.article-cve-chain{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.article-cve{padding:1.3rem;background:var(--mist)}.article-cve-id{color:var(--blue);font-weight:700}.article-cve-vendor,.ref-source{color:var(--muted);font-size:.75rem}.article-refs{margin-top:5rem;padding-top:1rem;border-top:1px solid var(--line)}.article-refs li{margin:1.2rem 0}.ref-source{display:block}.refs-secondary{margin-top:3rem}
.related{margin-top:5rem;padding-top:2rem;border-top:1px solid var(--line)}.related a{display:block;margin:.7rem 0;font-weight:700}.article-end-cta{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-top:4rem;padding:2rem;background:var(--navy);color:#fff}.article-end-cta p{margin:0;font-family:var(--serif);font-size:1.35rem}.article-end-cta a{flex:none;color:#fff;font-weight:700}
@media(max-width:980px){.article-hero{padding-inline:clamp(1.5rem,4.8vw,6rem)}}
@media(max-width:680px){.article-hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.article-cve-chain,.defender-grid{grid-template-columns:1fr}.formula{font-size:.78rem}.article-content>p,.article-content li{font-size:1rem}.article-end-cta{align-items:flex-start;flex-direction:column}.concept-flow{grid-template-columns:1fr}.concept-flow i{transform:rotate(90deg);text-align:center}.concept-flow span{min-width:0}.article-breadcrumb{margin-bottom:2rem}.sovereignty-chain>div{align-items:flex-start;flex-direction:column}.sovereignty-chain i{transform:rotate(90deg);margin-left:.4rem}}
