/* Editorial campaign treatment; scoped to the 2.5 feature, no game runtime. */
.blog-release-feature { --release-cyan: #7cdff2; background: #090e16; }
.blog-release-feature :is(.guide-header, main, .guide-footer) { width: min(100% - 48px, 76rem); }
.blog-release-feature .guide-topbar { padding-block: 20px; }
.blog-release-feature .guide-kicker { margin-top: 46px; color: var(--release-cyan); }
.blog-release-feature .guide-header h1 { max-width: 64rem; font-size: clamp(2.4rem, 5.6vw, 5rem); line-height: 1.04; text-wrap: balance; }
.blog-release-feature .guide-lead { max-width: 56rem; font-size: clamp(1.05rem, 1.6vw, 1.25rem); }
.blog-release-feature .blog-byline { margin-bottom: 30px; }
.blog-release-feature .blog-hero { width: 100%; height: auto; max-width: none; max-height: none; border-radius: 6px; }
.release-art-note { font-size: .75rem; color: var(--guide-muted); margin: 8px 0 24px; }
.release-strip { position: relative; display: flex; flex-wrap: wrap; gap: 20px 36px; align-items: center; padding: 24px 0; border-block: 1px solid var(--guide-rule); }
.release-strip > span { display: flex; gap: 10px; align-items: center; color: var(--guide-muted); font-size: .88rem; }
.release-strip strong { color: var(--guide-paper); font-size: 1rem; }
.release-strip svg { width: 28px; height: 24px; fill: none; stroke: var(--release-cyan); stroke-width: 1.7; }
.release-strip > a { display: inline-flex; gap: 22px; align-items: center; justify-content: center; margin-left: auto; min-height: 48px; padding: 10px 22px; color: var(--guide-ink); background: var(--guide-gold); border-radius: 3px; text-decoration: none; font-weight: 800; }
.release-strip > a:hover { background: var(--guide-paper); }
.release-reading-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 44px; }
.release-sidebar { position: sticky; top: 30px; }
.release-sidebar .guide-toc { margin: 0; border-top: 0; padding: 0 0 20px; }
.release-sidebar .guide-toc ul { display: block; counter-reset: chapter; }
.release-sidebar .guide-toc a { width: 100%; font-size: .87rem; line-height: 1.4; text-decoration: none; color: var(--guide-muted); border-left: 2px solid transparent; padding: 8px 8px 8px 12px; }
.release-sidebar .guide-toc li { counter-increment: chapter; }
.release-sidebar .guide-toc a::before { content: counter(chapter, decimal-leading-zero); color: var(--guide-gold); margin-right: 10px; font: 600 .7rem monospace; }
.release-sidebar .guide-toc a:hover, .release-sidebar .guide-toc a[aria-current="location"] { border-left-color: var(--release-cyan); color: var(--guide-paper); background: #111f2c; }
.release-previous { display: block; margin-top: 20px; font-size: .8rem; color: var(--guide-muted); text-decoration: none; padding-block: 8px; }
.release-previous strong { color: var(--guide-gold); }
.blog-release-feature .blog-prose { max-width: none; padding-top: 0; font-size: 1.04rem; }
.blog-release-feature .blog-prose > :is(p, ul, blockquote) { max-width: 46rem; }
.blog-release-feature .blog-prose > p:first-child { font-size: 1.22rem; color: var(--guide-paper); }
.blog-release-feature .blog-prose h2 { padding-top: 42px; border-top: 1px solid var(--guide-rule); margin-top: 46px; font-size: clamp(1.9rem, 4vw, 3rem); scroll-margin-top: 28px; }
.blog-release-feature .blog-prose h3 { margin-top: 28px; font-size: 1.25rem; color: #eef1f7; }
.blog-release-feature .blog-prose ul { list-style-type: square; padding-left: 22px; }
.blog-release-feature .blog-prose li::marker { color: var(--release-cyan); }
.blog-release-feature .blog-prose p > a:only-child { display: inline-flex; min-height: 48px; align-items: center; padding-block: 8px; text-decoration-thickness: 1px; font-weight: 750; }
.blog-release-feature .blog-game-banner { border-radius: 6px; margin: 24px 0 30px; }
.release-progress { appearance: none; position: fixed; inset: 0 0 auto; width: 100%; height: 3px; border: 0; z-index: 20; background: transparent; color: var(--release-cyan); }
.release-progress::-webkit-progress-bar { background: transparent; }
.release-progress::-webkit-progress-value { background: var(--release-cyan); }
.release-progress::-moz-progress-bar { background: var(--release-cyan); }
/* One short entrance and a single traveling light on the release strip. */
@media (prefers-reduced-motion: no-preference) {
 .blog-release-feature .blog-hero { animation: release-arrive .7s ease-out both; }
 .release-strip::after { content: ""; position: absolute; left: 0; top: -1px; width: 12%; height: 1px; background: var(--release-cyan); animation: release-light 2s ease-out both; pointer-events: none; }
 @keyframes release-arrive { from { opacity: .5; transform: translateY(8px); } to { opacity: 1; transform: none; } }
 @keyframes release-light { from { left: 0; opacity: 0; } 30% { opacity: 1; } to { left: 88%; opacity: 0; } }
}
@media (max-width: 900px) {
 .release-reading-layout { grid-template-columns: minmax(0,1fr); gap: 28px; padding-top: 26px; }
 .release-sidebar { position: static; }
 .release-sidebar .guide-toc ul { display: flex; gap: 0 12px; }
 .release-sidebar .guide-toc a { padding-left: 0; border: 0; }
 .release-sidebar .guide-toc a::before { margin-right: 6px; }
 .release-previous { display: none; }
 .blog-release-feature .blog-prose { max-width: 52rem; margin-inline: auto; }
}
@media (max-width: 540px) {
 .blog-release-feature :is(.guide-header, main, .guide-footer) { width: calc(100% - 32px); }
 .blog-release-feature .guide-kicker { margin-top: 28px; }
 .blog-release-feature .guide-header h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
 .release-strip { gap: 14px 20px; padding: 18px 0; }
 .release-strip > span { font-size: .78rem; gap: 6px; }
 .release-strip svg { width: 22px; }
 .release-strip > a { margin-left: 0; width: 100%; }
 .blog-release-feature .blog-prose h2 { padding-top: 28px; margin-top: 32px; }
 .blog-release-feature .blog-prose { font-size: 1rem; }
 .blog-release-feature .blog-prose > p:first-child { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
