/* One restrained entrance, then a still background: no persistent paint loop. */
body.immersive::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 68% 52% at 68% 18%,rgba(167,18,34,.15),transparent 78%);opacity:1;animation:editorial-red-arrival 1.7s cubic-bezier(.16,1,.3,1) both}
@keyframes editorial-red-arrival{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
.ambient-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 62% 55% at 58% 45%,rgba(152,14,31,.14),transparent 80%);animation:editorial-red-arrival 1.7s cubic-bezier(.16,1,.3,1) both}
.motion-paused body::before,.motion-paused .ambient-scene::after{animation:none}
::selection{background:#a7192e;color:#fff}
input,textarea{caret-color:#ec2039}
:focus-visible{outline:2px solid #ed334b;outline-offset:4px}
.source-rail{gap:10px;top:calc(50% + 22px)}
.source-rail .region-orbit{display:grid;grid-template-columns:7px minmax(115px,1fr);gap:2px 12px;padding:7px 9px 7px 0;color:#c3c5cc;letter-spacing:0;text-align:left;min-height:46px}
.source-rail .region-orbit::before{grid-row:1 / 3;align-self:center}
.source-rail .region-orbit small{font-size:10px;color:#aaaeb8}
.source-rail .region-orbit span{font-size:14px;opacity:1}
.source-rail .region-orbit.active small{color:#ff8291}
.source-rail .region-orbit:hover,.source-rail .region-orbit:focus-visible{color:#fff}
.scene-counter svg{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.2}
.scene-counter span{color:#d1d3d8;font-size:10px;letter-spacing:.08em}
.signal-drawer{background:#ffffff;color:#191a20;box-shadow:0 20px 45px #0005;backdrop-filter:none;border:none;padding:22px 26px;width:min(480px,calc(100% - 56px))}
.signal-drawer-head{margin-bottom:16px;gap:15px}
.signal-drawer-head h2{color:#1d1e22;font-size:23px}
.signal-drawer-head button{color:#373a43;flex-shrink:0}
.signal-story{grid-template-columns:minmax(0,1fr);padding:14px 0;border-color:#b7b8bb}
.signal-story h3{font-size:15px;line-height:1.5;color:#1b1c21;margin:5px 0}
.signal-story time,.signal-story small{font-size:11px;color:#565863;margin-top:5px}
.signal-drawer .drawer-browse{color:#a30e25;border-color:#b6b8bd}
.knowledge-tabs{display:flex;gap:22px;margin-bottom:16px;border-bottom:1px solid #44464d}
.knowledge-tabs a{color:#c3c5cd;padding:9px 4px 12px;font-size:14px;text-decoration:none;border-bottom:2px solid transparent}
.knowledge-tabs a[aria-current]{color:#fff;border-color:#ff3046}
.knowledge-tabs + .experience-hero .experience-title{padding-top:0}
body.scene-detail #main .term{background:#ffffff;color:#22242a;padding:22px;border-color:#c5c5c5}
body.scene-detail #main .term h3,body.scene-detail #main .term strong{color:#181a20}
body.scene-detail #main .term p,body.scene-detail #main .term-reading{color:#474951}
body.scene-detail #main .term-source{color:#9e1530}
body.scene-detail #main .article-page,body.scene-detail #main .analysis-article{background:#ffffff;color:#24252b;padding:clamp(22px,4vw,56px);margin-bottom:45px}
body.scene-detail #main .article-page h1,body.scene-detail #main .article-page h2,body.scene-detail #main .analysis-article h1,body.scene-detail #main .analysis-article h2{color:#18191e}
body.scene-detail #main .article-page p,body.scene-detail #main .analysis-article p{color:#363840}
body.scene-detail #main .article-page .article-intro,body.scene-detail #main .analysis-article .analysis-deck{color:#25262d}
body.scene-detail #main .article-meta,body.scene-detail #main .analysis-overline,body.scene-detail #main .analysis-three span{color:#545661}
body.scene-detail #main .article-source,body.scene-detail #main .analysis-provenance{background:transparent;border-color:#acadb2;color:#363840}
body.scene-detail #main .article-source a,body.scene-detail #main .analysis-provenance a,body.scene-detail #main .back-link{color:#9c1730}
@media(max-width:700px){
 .source-rail{left:20px;right:20px;top:112px;transform:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}
 .source-rail .region-orbit{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:45px;gap:4px;padding:4px 0}
 .source-rail .region-orbit::before{display:none}
 .source-rail .region-orbit small{font-size:9px}
 .source-rail .region-orbit span{font-size:11px;white-space:normal}
 .signal-drawer{top:225px;width:auto;left:16px;right:16px;padding:20px;bottom:96px}
 .signal-story{padding:12px 0}
 .signal-story h3{font-size:14px}
 .scene-counter{bottom:145px}
 .knowledge-tabs{margin-bottom:12px}
 body.scene-detail #main .article-page,body.scene-detail #main .analysis-article{padding:23px 18px}
}
@media(prefers-reduced-motion:reduce){body.immersive::before,.ambient-scene::after{animation:none}}
body.scene-detail #main .article-page .attack-journey,
body.scene-detail #main .article-page .article-defense{background:#f2f2f2;border-color:#b4b4b4;color:#25262d}
body.scene-detail #main .article-page .journey-node{background:#ffffff;border-color:#b7b7b7;color:#25262d}
body.scene-detail #main .article-page .journey-node small{color:#56565d}
body.scene-detail #main .article-page .journey-node strong{color:#202128}
body.scene-detail #main .analysis-article .analysis-flow>div{background:#f2f2f2;border-color:#b4b4b4;color:#24252b}
body.scene-detail #main .analysis-article .analysis-flow strong{color:#24252b}
body.scene-detail #main .analysis-article .analysis-flow span{color:#9a1830}

body.scene-detail #main .analysis-provenance summary{color:#32343c}
.fragment-anchor{display:block;scroll-margin-top:125px}
body.scene-detail #main .article-page .body-copy{color:#363840}
body.scene-detail #main .article-page .breadcrumb{color:#53555e;opacity:1}
body.scene-detail #main .article-page .article-meta .red{color:#ab1630}
body.scene-detail #main .analysis-article .analysis-three small{color:#9c1730}
body.scene-detail #main .analysis-article .editorial-credit,body.scene-detail #main .article-page .editorial-credit{color:#52545e}
body.scene-detail #main .analysis-article .editorial-credit a,body.scene-detail #main .article-page .editorial-credit a{color:#9c1730}
