/* Detail-only styles: the shared rich-text stylesheet also serves help pages. */
.news-page--detail {
    --article-ink: #25364c;
    --article-body-ink: #45556c;
    --article-muted: #5b6d85;
    --article-line: #e5edf7;
    --article-soft: #f2f7ff;
    --article-accent: var(--news-blue, #006eff);
    --article-link: #1556bb;
}

.news-page--detail .news-hero--article { padding: 20px 0; }
.news-page--detail .news-hero--article::after { top: -225px; right: 1%; opacity: .55; }
.news-page--detail .news-article-banner { display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 204px; }
.news-page--detail .news-banner-copy { min-width: 0; padding-block: 16px; }
.news-page--detail .news-banner-title { margin: 16px 0 12px; color: var(--ibd-hero-text, var(--article-ink)); font-size: clamp(28px, 2.65vw, 38px); font-weight: 700; line-height: 1.4; letter-spacing: -.025em; text-wrap: balance; }
.news-page--detail .news-banner-title > span { display: inline-block; }
.news-page--detail .news-banner-title-accent { color: var(--ibd-hero-text, var(--article-accent)); }
.news-page--detail .news-banner-description { max-width: 580px; margin: 0; color: var(--ibd-hero-text-sub, var(--article-muted)); font-size: 15px; line-height: 1.85; }
.news-page--detail .news-banner-visual { flex: 0 0 340px; margin-right: 42px; pointer-events: none; }
.news-page--detail .news-banner-art { display: block; width: 100%; height: auto; overflow: visible; }
.news-page--detail .news-motion-toggle { position: absolute; right: 0; bottom: -10px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 10px; border: 0; border-radius: 6px; background: transparent; color: var(--ibd-hero-text-sub, var(--article-muted)); font: inherit; font-size: 12px; cursor: pointer; transition: color .2s, background-color .2s; }
.news-page--detail .news-motion-toggle[hidden] { display: none; }
.news-page--detail .news-motion-toggle:hover { color: var(--ibd-hero-text, var(--article-link)); background: rgba(255,255,255,.55); }
.news-page--detail .news-motion-ready .news-art-paper { animation: news-paper-float 6s ease-in-out infinite; }
.news-page--detail .news-motion-ready .news-art-orbit { transform-origin: 206px 117px; animation: news-orbit-turn 36s linear infinite; }
.news-page--detail .is-motion-paused :is(.news-art-paper,.news-art-orbit) { animation-play-state: paused; }
@keyframes news-paper-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes news-orbit-turn { to { transform: rotate(360deg); } }

.news-page--detail .news-detail-trail { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 28px; min-height: 64px; padding-block: 10px; }
.news-page--detail .news-article-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; color: var(--article-muted); font-size: 13px; line-height: 1.8; }
.news-page--detail .news-article-breadcrumb a { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; color: inherit; overflow-wrap: anywhere; }
.news-page--detail .news-article-breadcrumb a:hover { color: var(--article-link); }
.news-page--detail .news-article-breadcrumb > i { color: #8c9bb0; }
.news-page--detail .news-article-breadcrumb [aria-current] { color: var(--article-ink); }
.news-page--detail .news-back-link { display: inline-flex; flex-shrink: 0; align-items: center; gap: 8px; min-height: 44px; color: var(--article-link); font-size: 13px; }
.news-page--detail .news-back-link:hover { color: var(--article-accent); }

.news-page--detail .article-detail-layout { padding-top: 0; }
.news-page--detail .article-container { border: 1px solid var(--article-line); border-radius: 14px; box-shadow: 0 6px 24px rgba(26,61,108,.035); overflow: hidden; }
.news-page--detail .article-body { padding: 28px 24px 32px; }
.news-page--detail .news-article-heading { margin-bottom: 24px; padding-bottom: 22px; border-bottom: 1px solid var(--article-line); }
.news-page--detail .article-hero-category { min-height: 28px; padding: 3px 9px; border-radius: 4px; background: var(--article-soft); color: var(--article-link); font-size: 12px; font-weight: 400; }
.news-page--detail .news-detail-title { margin: 12px 0 18px; color: var(--article-ink); font-size: clamp(26px, 2.2vw, 32px); font-weight: 700; line-height: 1.5; letter-spacing: -.02em; word-break: normal; overflow-wrap: anywhere; text-wrap: pretty; }
.news-page--detail .article-hero-meta { color: var(--article-muted); align-items: center; gap: 10px 20px; font-size: 13px; }
.news-page--detail .article-hero-meta > span { min-width: 0; overflow-wrap: anywhere; }
.news-page--detail .article-hero-meta i { color: #7790ae; }
.news-page--detail .news-article-lead { margin: 0 0 26px; padding: 16px 18px; border: 1px solid #e3edfb; border-radius: 8px; background: linear-gradient(115deg, #f0f6ff, #f8fbff); }
.news-page--detail .news-lead-label { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; color: var(--article-link); font-size: 13px; font-weight: 600; }
.news-page--detail .news-article-lead p { margin: 0; color: var(--article-body-ink); font-size: 15px; line-height: 1.9; overflow-wrap: anywhere; }

/* Restore the semantic text formatting removed by legacy site resets. */
.news-page--detail .article-content { --article-ink: #25364c; --article-muted: #45556c; max-width: none; margin-inline: 0; color: var(--article-body-ink); font-size: 17px; line-height: 1.95; }
.news-page--detail .article-content,
.news-page--detail .article-content * { word-break: normal; overflow-wrap: anywhere; }
.news-page--detail .article-content p { margin: 0 0 1.4em; color: inherit; font-size: inherit; line-height: inherit; }
.news-page--detail .article-content strong,
.news-page--detail .article-content b { color: var(--article-ink); font-weight: 700; }
.news-page--detail .article-content em,
.news-page--detail .article-content i:not(.fa) { font-style: italic; }
.news-page--detail .article-content u { text-decoration: underline; text-underline-offset: 4px; }
.news-page--detail .article-content s,
.news-page--detail .article-content del { text-decoration: line-through; color: #6b7787; }
.news-page--detail .article-content small { font-size: .85em; }
.news-page--detail .article-content sup,
.news-page--detail .article-content sub { position: relative; font-size: .75em; line-height: 0; }
.news-page--detail .article-content sup { vertical-align: super; }
.news-page--detail .article-content sub { vertical-align: sub; }
.news-page--detail .article-content mark { padding: .08em .25em; border-radius: 3px; background: #fff2bb; color: #644b12; }
.news-page--detail .article-content a[href] { color: var(--article-link); font-weight: 500; text-decoration-line: underline !important; text-decoration-color: #a9c8f2; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.news-page--detail .article-content a[href]:hover { color: var(--article-accent); text-decoration-color: currentColor; }
.news-page--detail .article-content a[href]::after { content: none; }
.news-page--detail .article-content a[href][target="_blank"]:not(:has(img, picture))::after { display: inline; content: '\202f↗'; font-size: .75em; }

/* Headings stay in normal text flow when editors insert strong/span/links. */
.news-page--detail .article-content :is(h1,h2,h3,h4,h5,h6) { position: relative; display: block; margin: 1.9em 0 .8em; padding: 0; border: 0; color: var(--article-ink); font-weight: 700; line-height: 1.55; letter-spacing: -.015em; scroll-margin-top: 104px; text-wrap: pretty; }
.news-page--detail .article-content :is(h1,h2,h3,h4,h5,h6)::before,
.news-page--detail .article-content :is(h1,h2,h3,h4,h5,h6)::after { content: none; }
.news-page--detail .article-content h1 { padding-bottom: .55em; border-bottom: 1px solid var(--article-line); font-size: 32px; }
.news-page--detail .article-content h1::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 48px; height: 3px; border-radius: 2px; background: var(--article-accent); }
.news-page--detail .article-content h2 { padding: 12px 18px 12px 22px; border-radius: 0 8px 8px 0; background: linear-gradient(90deg, #f0f6ff, rgba(240,246,255,.15)); font-size: 26px; }
.news-page--detail .article-content h2::before { content: ''; position: absolute; top: 15px; bottom: 15px; left: 0; width: 4px; min-height: 0; margin: 0; border-radius: 3px; background: var(--article-accent); }
.news-page--detail .article-content h3 { padding-bottom: .5em; border-bottom: 1px solid var(--article-line); font-size: 22px; }
.news-page--detail .article-content h4 { font-size: 19px; color: var(--article-link); }
.news-page--detail .article-content h5 { font-size: 17px; }
.news-page--detail .article-content h6 { font-size: 16px; color: var(--article-muted); }
.news-page--detail .article-content :is(h1,h2,h3,h4,h5,h6) + :is(h1,h2,h3,h4,h5,h6) { margin-top: 1.2em; }

.news-page--detail .article-content blockquote { position: relative; margin: 28px 0; padding: 26px 28px 24px 58px; border: 1px solid #dce9fb; border-left: 4px solid var(--article-accent); border-radius: 0 10px 10px 0; background: #f5f9ff; color: #3d5575; font-size: 1em; line-height: 1.9; box-shadow: none; }
.news-page--detail .article-content blockquote::before { content: '\201c'; position: absolute; top: 18px; left: 17px; color: #6b98d8; font-family: Georgia, serif; font-size: 40px; line-height: 1; opacity: 1; }
.news-page--detail .article-content blockquote p { margin-bottom: .85em; color: inherit; text-indent: 0; }
.news-page--detail .article-content blockquote > :last-child { margin-bottom: 0; }
.news-page--detail .article-content blockquote blockquote { margin: 18px 0 0; padding: 16px 18px; border-left-width: 2px; background: rgba(255,255,255,.7); }
.news-page--detail .article-content blockquote blockquote::before { content: none; }
.news-page--detail .article-content blockquote :is(cite,footer) { display: block; margin-top: 12px; color: #60738f; font-size: 13px; font-style: normal; }
.news-page--detail .article-content q { color: var(--article-ink); quotes: '\201c' '\201d' '\2018' '\2019'; }
.news-page--detail .article-content q::before { content: open-quote; }
.news-page--detail .article-content q::after { content: close-quote; }

.news-page--detail .article-content :is(ul,ol) { margin: 20px 0 26px; padding-left: 1.6em; color: inherit; }
.news-page--detail .article-content li { display: list-item; padding-left: .2em; line-height: 1.9; }
/* JavaScript transfers the author indent to the whole list item first. */
.news-page--detail .article-content .article-list-aligned { text-indent: 0 !important; }
.news-page--detail .article-content li + li { margin-top: 8px; }
.news-page--detail .article-content ul > li { list-style: disc outside; }
.news-page--detail .article-content ol { list-style-type: decimal; }
.news-page--detail .article-content ol > li { list-style-type: inherit; list-style-position: outside; }
.news-page--detail .article-content ul ul > li { list-style-type: circle; }
.news-page--detail .article-content ul ul ul > li { list-style-type: square; }
.news-page--detail .article-content ol ol { list-style-type: lower-alpha; }
.news-page--detail .article-content li::marker { color: var(--article-link); font-weight: 600; }
.news-page--detail .article-content li :is(ul,ol) { margin-block: 8px 12px; }
.news-page--detail .article-content li > p { margin-bottom: 8px; }
.news-page--detail .article-content dl { margin: 24px 0; }
.news-page--detail .article-content dt { color: var(--article-ink); font-weight: 700; }
.news-page--detail .article-content dd { margin: 8px 0 20px; padding-left: 18px; border-left: 2px solid #dce8f9; }
.news-page--detail .article-content [data-w-e-type="todo"] { margin-block: 10px; line-height: 1.9; }
.news-page--detail .article-content [data-w-e-type="todo"] input[type="checkbox"] { width: 16px; height: 16px; margin: 0 10px 0 0; accent-color: var(--article-accent); vertical-align: -2px; }
.news-page--detail .article-content hr { height: 1px; margin: 36px 0; border: 0; background: var(--article-line); }

/* A scroll wrapper preserves the native colgroup/rowspan/colspan layout. */
.news-page--detail .news-table-scroll { max-width: 100%; margin: 28px 0; overflow-x: auto; border: 1px solid var(--article-line); border-radius: 10px; background: #fff; -webkit-overflow-scrolling: touch; }
.news-page--detail .article-content table { display: table; width: 100%; min-width: 100%; max-width: none; margin: 24px 0; border: 1px solid var(--article-line); border-collapse: separate; border-spacing: 0; border-radius: 0; table-layout: auto; background: #fff; color: inherit; font-size: 15px; line-height: 1.7; box-shadow: none; overflow: visible; }
.news-page--detail .news-table-scroll > table { margin: 0; border: 0; }
.news-page--detail .article-content table > thead { display: table-header-group; }
.news-page--detail .article-content table > tbody { display: table-row-group; }
.news-page--detail .article-content table > tfoot { display: table-footer-group; }
.news-page--detail .article-content table > :is(thead,tbody,tfoot) { width: auto; min-width: 0; table-layout: auto; }
.news-page--detail .article-content :is(th,td) { min-width: 7em; padding: 14px 18px; border: 0; border-right: 1px solid var(--article-line); border-bottom: 1px solid var(--article-line); vertical-align: top; text-align: left; word-break: normal; }
.news-page--detail .article-content th { color: var(--article-ink); font-weight: 600; }
.news-page--detail .article-content thead th { background: #eef5ff; white-space: normal; }
.news-page--detail .article-content :is(th,td):last-child { border-right: 0; }
.news-page--detail .article-content tbody tr:nth-child(even) { background: #f9fbfe; }
.news-page--detail .article-content tbody tr:hover { background: #f1f7ff; }
.news-page--detail .article-content tfoot { background: #f4f7fc; font-weight: 600; }
.news-page--detail .article-content :is(th,td) > :last-child { margin-bottom: 0; }
.news-page--detail .article-content caption { padding: 14px 18px; border-bottom: 1px solid var(--article-line); color: var(--article-ink); font-weight: 600; text-align: left; caption-side: top; }

.news-page--detail .article-content :not(pre) > code { padding: .16em .4em; border: 1px solid #dce8fa; border-radius: 5px; background: #f1f6ff; color: #275897; font-size: .87em; font-weight: 500; }
.news-page--detail .article-content :is(kbd,samp) { font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace; font-size: .86em; }
.news-page--detail .article-content kbd { padding: 3px 7px; border: 1px solid #dbe2ec; border-bottom-width: 2px; border-radius: 4px; background: #f8fafd; color: #43546c; }
.news-page--detail .article-content pre { max-width: 100%; margin: 28px 0; padding: 20px 22px; border: 1px solid #2d3a4d; border-radius: 10px; background: #18202d; color: #d9e2ef; overflow-x: auto; font-size: 14px; line-height: 1.75; tab-size: 4; box-shadow: none; }
.news-page--detail .article-content pre,
.news-page--detail .article-content pre * { white-space: pre; word-break: normal; overflow-wrap: normal; }
.news-page--detail .article-content pre code { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; }
.news-page--detail .article-content .article-code-block { margin: 28px 0; border-radius: 10px; }
.news-page--detail .article-content .article-code-block > pre { margin: 0; padding: 18px 22px 22px; border: 0; border-radius: 0; font-size: 14px; line-height: 1.75; }
.news-page--detail .article-code-toolbar { min-height: 46px; padding: 0 6px 0 20px; }
.news-page--detail .article-code-language { font-size: 12px; color: #a9bbd2; }
.news-page--detail .article-code-copy { width: 44px; height: 44px; min-height: 44px; color: #a9bbd2; font-size: 14px; }
.news-page--detail :is(.news-table-scroll,.article-content pre) { scrollbar-width: thin; scrollbar-color: #a5bad5 transparent; }
.news-page--detail :is(.news-table-scroll,.article-content pre)::-webkit-scrollbar { width: 8px; height: 8px; }
.news-page--detail :is(.news-table-scroll,.article-content pre)::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 8px; background: #a5bad5; background-clip: padding-box; }

.news-page--detail .article-content :is(img,video,iframe) { max-width: 100%; border-radius: 10px; }
.news-page--detail .article-content img { height: auto; margin: 24px 0; box-shadow: none; }
.news-page--detail .article-content :is(picture,figure) { display: block; max-width: 100%; margin: 28px 0; }
.news-page--detail .article-content :is(figure,picture) img { display: block; margin: 0 auto; }
.news-page--detail .article-content figcaption { margin: 12px 0 0; color: #5f728c; font-size: 13px; line-height: 1.7; text-align: center; }
.news-page--detail .article-content video { display: block; height: auto; margin: 24px auto; background: #eef3fa; }
.news-page--detail .article-content iframe { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 24px 0; border: 1px solid var(--article-line); }
.news-page--detail .article-content audio { display: block; width: 100%; max-width: 100%; margin: 24px 0; }
.news-page--detail .article-content img[data-w-e-type="emotion"] { display: inline; width: 1.25em; margin: 0 .1em; vertical-align: middle; border-radius: 0; }
.news-page--detail .article-content details { margin: 24px 0; padding: 16px 20px; border: 1px solid var(--article-line); border-radius: 10px; background: #f9fbff; }
.news-page--detail .article-content summary { display: list-item; list-style: disclosure-closed inside; color: var(--article-ink); font-weight: 600; cursor: pointer; }
.news-page--detail .article-content details[open] > summary { list-style-type: disclosure-open; margin-bottom: 16px; }
.news-page--detail .article-content > :first-child { margin-top: 0; }
.news-page--detail .article-content > :last-child { margin-bottom: 0; }

.news-page--detail .article-footer { padding: 24px; gap: 22px; background: #fafcff; border-top: 1px solid var(--article-line); }
.news-page--detail .news-article-copyright { display: flex; align-items: center; gap: 12px; min-width: 0; }
.news-page--detail .news-copyright-icon { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; border: 1px solid var(--article-line); border-radius: 10px; background: #fff; color: #6e91c1; font-size: 18px; }
.news-page--detail .news-article-copyright strong { color: var(--article-ink); font-size: 14px; font-weight: 600; }
.news-page--detail .news-article-copyright p { margin: 4px 0 0; color: #5b6d85; font-size: 12px; line-height: 1.7; }
.news-page--detail .news-article-share { min-width: 0; }
.news-page--detail .news-share-label { display: block; margin-bottom: 10px; color: #5b6d85; font-size: 12px; }
.news-page--detail .share-buttons { gap: 8px; }
.news-page--detail .share-btn { width: 44px; height: 44px; padding: 0; border: 1px solid #dfe8f5; border-radius: 8px; background: #fff; color: #617590; font: inherit; font-size: 16px; cursor: pointer; transition: background-color .18s, color .18s, border-color .18s; }
.news-page--detail .share-btn:is(:hover, :focus-visible) { color: #fff; border-color: var(--article-accent); background: var(--article-accent); transform: none; }
.news-page--detail .news-share-status { min-height: 18px; margin: 6px 0 0; color: var(--article-link); font-size: 12px; line-height: 1.5; }
.news-page--detail .news-article-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 24px; }
.news-page--detail .news-related-article { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 24px; border: 1px solid var(--article-line); border-radius: 12px; background: #fff; transition: border-color .18s, box-shadow .18s; }
.news-page--detail .news-related-label { display: flex; align-items: center; gap: 10px; color: #5b6d85; font-size: 13px; }
.news-page--detail .news-related-label i { color: var(--article-link); }
.news-page--detail .news-related-article strong { color: var(--article-ink); font-size: 16px; font-weight: 600; line-height: 1.75; overflow-wrap: anywhere; }
.news-page--detail .news-related-article:not(.is-disabled):hover { border-color: #b9d5fb; box-shadow: 0 5px 18px rgba(0,82,217,.05); }
.news-page--detail .news-related-article:not(.is-disabled):hover strong { color: var(--article-link); }
.news-page--detail .news-related-next { text-align: right; }
.news-page--detail .news-related-next .news-related-label { justify-content: flex-end; }
.news-page--detail .news-related-article.is-disabled { background: #f9fbfe; }
.news-page--detail .news-related-article.is-disabled strong { color: #77869a; font-weight: 400; }
.news-page--detail :is(a,button,input,summary,[tabindex]):focus-visible { outline: 2px solid var(--article-link) !important; outline-offset: 3px; }
.news-page--detail :is(.article-code-copy,pre):focus-visible { outline-color: #9dc6ff !important; }

@media (max-width: 1200px) {
    .news-page--detail .news-article-banner { gap: 24px; }
    .news-page--detail .news-banner-visual { flex-basis: 290px; margin-right: 20px; }
    .news-page--detail .article-body { padding: 24px 20px 28px; }
    .news-page--detail .article-footer { padding: 22px 20px; }
}
@media (max-width: 768px) {
    .news-page--detail .news-hero--article { padding: 24px 0 28px; }
    .news-page--detail .news-article-banner { min-height: 0; }
    .news-page--detail .news-banner-copy { padding: 0; }
    .news-page--detail .news-banner-title { font-size: 28px; margin-block: 12px; }
    .news-page--detail .news-banner-description { font-size: 14px; }
    .news-page--detail .news-banner-visual, .news-page--detail .news-motion-toggle { display: none; }
    .news-page--detail .news-detail-trail { min-height: 56px; gap: 4px 12px; }
    .news-page--detail .news-article-breadcrumb { font-size: 12px; gap: 4px 8px; }
    .news-page--detail .news-back-link { font-size: 12px; }
    .news-page--detail .news-detail-title { font-size: 26px; }
    .news-page--detail .article-hero-meta { gap: 10px 16px; font-size: 12px; }
    .news-page--detail .article-detail-layout { padding-top: 0; }
    .news-page--detail .news-article-lead { padding: 14px 16px; }
    .news-page--detail .article-content { font-size: 16px; line-height: 1.95; }
    .news-page--detail .article-content h1 { font-size: 28px; }
    .news-page--detail .article-content h2 { font-size: 23px; padding: 10px 14px 10px 18px; }
    .news-page--detail .article-content h3 { font-size: 20px; }
    .news-page--detail .article-content h4 { font-size: 18px; }
    .news-page--detail .article-content blockquote { padding: 22px 18px 20px 42px; }
    .news-page--detail .article-content blockquote::before { left: 10px; top: 16px; font-size: 32px; }
    .news-page--detail .article-content :is(th,td) { padding: 12px 14px; }
    .news-page--detail .article-content .article-code-block > pre { padding: 16px; font-size: 13px; }
    .news-page--detail .news-related-article { padding: 20px; }
}
@media (max-width: 600px) {
    .news-page--detail .news-detail-trail { flex-wrap: wrap; padding-block: 8px 12px; }
    .news-page--detail .news-article-breadcrumb { flex-basis: 100%; }
    .news-page--detail .news-back-link { min-height: 32px; }
    .news-page--detail .news-detail-title { font-size: 24px; }
    .news-page--detail .news-article-heading { padding-bottom: 18px; margin-bottom: 20px; }
    .news-page--detail .article-body { padding: 20px 16px 26px; }
    .news-page--detail .news-article-lead { padding: 14px; }
    .news-page--detail .article-footer { padding: 20px 16px; }
    .news-page--detail .news-article-nav { grid-template-columns: minmax(0,1fr); gap: 12px; margin-top: 18px; }
    .news-page--detail .news-related-next { text-align: left; }
    .news-page--detail .news-related-next .news-related-label { justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) {
    .news-page--detail *, .news-page--detail *::before, .news-page--detail *::after { animation: none; transition: none; scroll-behavior: auto; }
    .news-page--detail .news-motion-ready :is(.news-art-paper,.news-art-orbit) { animation: none; }
    .news-page--detail .news-motion-toggle { display: none; }
}
