.news-detail {
    --nd-ink: var(--foreground, #172b39);
    --nd-muted: var(--muted-foreground, #62717a);
    --nd-line: var(--border, #dce3e7);
    --nd-paper: var(--card, #fff);
    --nd-accent: #17664f;
    --nd-font-size: 18px;
    color: var(--nd-ink);
    background: var(--nd-paper);
    padding-bottom: 1px;
}
.dark .news-detail { --nd-accent: #8ac8a7; }
.news-detail [hidden] { display: none !important; }
.news-detail *, .news-detail *::before, .news-detail *::after { box-sizing: border-box; }
.nd-wrap { width: min(1192px, calc(100% - 48px)); margin-inline: auto; }
.nd-progress { position: fixed; top: 80px; inset-inline: 0; height: 3px; z-index: 45; background: transparent; pointer-events: none; }
.nd-progress span { display: block; width: 100%; height: 100%; background: var(--nd-accent); transform: scaleX(0); transform-origin: left; }
.nd-breadcrumb { border-bottom: 1px solid var(--nd-line); }
.nd-breadcrumb .nd-wrap { display: flex; align-items: center; gap: 10px; min-height: 53px; font-size: 12px; color: var(--nd-muted); flex-wrap: wrap; padding-block: 12px; }
.nd-breadcrumb a:hover, .nd-source a, .nd-byline a:hover { color: var(--nd-accent); text-decoration: underline; text-underline-offset: 3px; }
.nd-article-header { max-width: 970px; padding-block: 42px 27px; }
.nd-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; margin-bottom: 19px; color: var(--nd-muted); }
.nd-kicker a { color: var(--nd-accent); }
.nd-kicker a + a { border-left: 1px solid var(--nd-line); padding-left: 12px; }
.nd-title { margin: 0; max-width: 26ch; font-size: clamp(2rem, 3.7vw, 3.45rem); font-weight: 750; line-height: 1.1; letter-spacing: -.037em; text-wrap: balance; overflow-wrap: break-word; }
.nd-deck { max-width: 70ch; margin: 21px 0 0; font-size: clamp(1.06rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--nd-muted); }
.nd-byline { display: flex; align-items: center; gap: 12px; margin-top: 25px; font-size: 12px; }
.nd-avatar { width: 38px; height: 38px; border: 1px solid var(--nd-line); border-radius: 50%; display: grid; place-items: center; flex: none; font-weight: 750; font-size: 12px; color: var(--nd-accent); background: color-mix(in srgb, var(--nd-accent) 7%, var(--nd-paper)); }
.nd-byline strong { font-size: 13px; font-weight: 650; }
.nd-byline p { margin: 4px 0 0; color: var(--nd-muted); line-height: 1.6; }
.nd-grid { display: grid; grid-template-columns: minmax(0, 780px) minmax(245px, 300px); gap: 64px; align-items: start; }
.nd-main, .nd-sidebar { min-width: 0; }
.nd-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border-block: 1px solid var(--nd-line); padding: 11px 0; margin-bottom: 28px; }
.nd-toolbar button, .nd-copy-panel button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; border: 1px solid var(--nd-line); border-radius: 7px; background: var(--nd-paper); color: var(--nd-ink); font-size: 12px; font-weight: 600; padding: 7px 11px; cursor: pointer; }
.nd-toolbar button:hover { border-color: var(--nd-accent); color: var(--nd-accent); }
.news-detail :is(a, button, input):focus-visible { outline: 3px solid var(--nd-accent); outline-offset: 3px; }
.nd-toolbar button:disabled { opacity: .4; cursor: default; }
.nd-tool-icon { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nd-font-tools { display: flex; align-items: center; gap: 5px; margin-left: auto; }
.nd-font-tools > span { font-size: 11px; color: var(--nd-muted); margin-right: 4px; }
.nd-reading-time { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--nd-muted); }
.nd-feedback { min-height: 0; font-size: 12px; color: var(--nd-accent); }
.nd-feedback:not(:empty) { padding-bottom: 16px; margin-top: -14px; }
.nd-copy-panel { border: 1px solid var(--nd-line); padding: 14px; border-radius: 8px; margin-bottom: 18px; }
.nd-copy-panel label { display: block; font-size: 12px; margin-bottom: 7px; }
.nd-copy-panel input { width: 100%; border: 1px solid var(--nd-line); border-radius: 5px; background: var(--nd-paper); color: var(--nd-ink); padding: 9px; font-size: 13px; }
.news-detail .nd-cover { margin: 0 0 32px; }
.nd-cover-frame { background: var(--muted, #f0f3f5); border-radius: 12px; overflow: hidden; }
.news-detail .nd-cover img { width: 100%; height: auto; max-height: 510px; object-fit: contain; display: block; border-radius: 0; }
.news-detail .nd-cover figcaption { color: var(--nd-muted); line-height: 1.6; font-size: 12px; margin-top: 10px; }
.news-detail .nd-cover figcaption span { display: block; font-size: 11px; }
.news-detail .nd-cover figcaption a { text-underline-offset: 3px; }
.news-detail .article-body-content { font-size: var(--nd-font-size); line-height: 1.85; color: var(--nd-ink); overflow-wrap: anywhere; }
.news-detail .article-body-content > :first-child { margin-top: 0; }
.news-detail .article-body-content p { font-size: inherit; line-height: inherit; margin: 0 0 1.4em; text-align: left; }
.news-detail .article-body-content :is(h2, h3, h4) { scroll-margin-top: 110px; line-height: 1.3; font-weight: 700; color: var(--nd-ink); margin: 1.6em 0 .7em; letter-spacing: -.015em; }
.news-detail .article-body-content h2 { font-size: 1.45em; }
.news-detail .article-body-content h3 { font-size: 1.2em; }
.news-detail .article-body-content h4 { font-size: 1.05em; }
.news-detail .article-body-content a { color: var(--nd-accent); text-decoration: underline; text-underline-offset: 3px; }
.news-detail .article-body-content :is(ul, ol) { margin-bottom: 1.5em; padding-left: 1.3em; }
.news-detail .article-body-content li { line-height: 1.75; margin-bottom: .55em; }
.news-detail .article-body-content img { max-width: 100%; height: auto; object-fit: contain; }
.news-detail .article-body-content :is(iframe, video) { max-width: 100%; }
.news-detail .article-body-content blockquote { border-left: 3px solid var(--nd-accent); padding: 3px 0 3px 24px; margin: 1.8em 0; font-size: 1.1em; font-weight: 550; }
.news-detail .article-body-content .news-rich-block { color: var(--nd-ink); background: color-mix(in srgb, var(--nd-accent) 4%, var(--nd-paper)); border-color: var(--nd-line); padding: 22px; margin-block: 30px; }
.news-detail .article-body-content .news-rich-block h2 { font-size: 1.15em; margin-top: 0; }
.news-detail .article-body-content .news-rich-block--summary { border-top-color: var(--nd-accent); }
.news-detail .article-body-content .news-rich-block--analysis { border-left-color: #a8751b; }
.news-detail .article-body-content .news-table-scroll { overflow-x: auto; }
.news-detail .article-body-content .news-rich-block thead th { background: color-mix(in srgb, var(--nd-accent) 7%, var(--nd-paper)); }
.news-detail .article-body-content :is(.news-item-sources, .news-analysis-label) { font-size: .75em; color: var(--nd-muted); }
.nd-addition, .nd-summary { padding: 22px; border: 1px solid var(--nd-line); border-radius: 10px; background: color-mix(in srgb, var(--nd-accent) 4%, var(--nd-paper)); margin-bottom: 26px; font-size: var(--nd-font-size); line-height: 1.7; }
.nd-addition h2 { font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; color: var(--nd-accent); margin-bottom: 12px; }
.nd-summary summary { cursor: pointer; font-size: 14px; font-weight: 650; }
.nd-summary div { margin-top: 15px; }
.nd-summary small { display: block; font-size: 11px; color: var(--nd-muted); margin-top: 14px; }
.nd-tags { border-top: 1px solid var(--nd-line); padding-top: 24px; margin-top: 30px; margin-bottom: 28px; }
.nd-tags > span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--nd-muted); margin-bottom: 12px; }
.nd-tags > div { display: flex; gap: 8px; flex-wrap: wrap; }
.nd-tags a { padding: 7px 11px; border: 1px solid var(--nd-line); border-radius: 6px; font-size: 12px; }
.nd-tags a:hover { color: var(--nd-accent); border-color: var(--nd-accent); }
.nd-source { padding: 20px 22px; border: 1px solid var(--nd-line); border-radius: 9px; background: color-mix(in srgb, var(--nd-ink) 2%, var(--nd-paper)); font-size: 13px; line-height: 1.6; margin-bottom: 25px; }
.nd-source p + p { color: var(--nd-muted); font-size: 12px; margin-top: 6px; }
.nd-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; border-top: 1px solid var(--nd-line); padding-block: 20px 30px; font-size: 12px; color: var(--nd-muted); }
.nd-footer a:first-child { color: var(--nd-accent); font-weight: 650; margin-right: auto; }
.nd-sidebar { border-top: 2px solid var(--nd-accent); padding-top: 21px; }
.nd-sidebar-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 23px; }
.nd-sidebar h2 { font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
.nd-sidebar-heading > a { font-size: 11px; color: var(--nd-muted); }
.nd-related-card { display: grid; grid-template-columns: 1fr 82px; gap: 14px; padding-block: 19px; border-bottom: 1px solid var(--nd-line); }
.nd-related-card:first-child { padding-top: 0; }
.nd-related-card h3 { font-size: 15px; font-weight: 650; line-height: 1.45; letter-spacing: -.01em; margin: 5px 0 0; }
.nd-related-card h3 a:hover { color: var(--nd-accent); }
.nd-related-card span { display: block; font-size: 10px; color: var(--nd-muted); }
.nd-related-card img { width: 82px; height: 72px; object-fit: contain; background: var(--muted, #f0f3f5); border-radius: 7px; margin-top: 3px; }
.nd-related-card:has(.nd-related-image) { grid-template-columns: 1fr 82px; }
.nd-related-card:not(:has(.nd-related-image)) { grid-template-columns: 1fr; }
.nd-aside-note { margin-top: 30px; padding: 21px; border: 1px solid var(--nd-line); border-radius: 9px; background: color-mix(in srgb, var(--nd-accent) 4%, var(--nd-paper)); }
.nd-aside-note > span, .nd-toc > span { font-size: 10px; text-transform: uppercase; letter-spacing: .09em; color: var(--nd-accent); font-weight: 750; }
.nd-aside-note h2 { font-size: 19px; line-height: 1.35; margin: 10px 0; }
.nd-aside-note p { font-size: 12px; line-height: 1.65; color: var(--nd-muted); }
.nd-aside-note a { display: inline-block; margin-top: 15px; color: var(--nd-accent); font-size: 12px; font-weight: 650; }
.nd-toc { border-bottom: 1px solid var(--nd-line); padding-bottom: 23px; margin-bottom: 23px; }
.nd-toc ol { list-style: none; padding: 0; margin-top: 12px; }
.nd-toc li + li { margin-top: 11px; }
.nd-toc a { font-size: 12px; line-height: 1.5; color: var(--nd-muted); }
.nd-toc a:hover { color: var(--nd-accent); }
.news-detail .nd-city-footer { margin-top: 30px; border-top: 1px solid var(--nd-line); padding-block: 12px; }
.news-detail .nd-city-footer .ph-wrap { max-width: 1192px; }
@media (min-width: 1400px) { .nd-article-header { padding-top: 49px; } }
@media (max-width: 1000px) { .nd-grid { gap: 34px; grid-template-columns: minmax(0, 1fr) 260px; } .nd-toolbar { gap: 7px; } .nd-reading-time { width: 100%; margin-bottom: 3px; } }
@media (max-width: 780px) {
    .nd-grid { display: block; }
    .nd-sidebar { margin-top: 26px; padding-top: 23px; }
    .nd-article-header { padding-top: 28px; padding-bottom: 23px; }
    .nd-title { max-width: none; font-size: clamp(2rem, 5.8vw, 2.75rem); }
    .nd-toc { display: none; }
    .nd-related-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
    .nd-related-card { padding-top: 19px; }
    .nd-related-card:first-child { padding-top: 19px; }
    .nd-aside-note { margin-top: 22px; }
    .nd-reading-time { width: auto; margin-bottom: 0; }
}
@media (max-width: 520px) {
    .nd-wrap { width: calc(100% - 36px); }
    .nd-title { font-size: 2.05rem; line-height: 1.13; }
    .nd-byline p { font-size: 11px; }
    .nd-toolbar { gap: 7px; margin-bottom: 22px; }
    .nd-toolbar button { padding-inline: 10px; }
    .nd-reading-time { width: 100%; margin-bottom: 5px; }
    .nd-font-tools > span { display: none; }
    .nd-font-tools { gap: 4px; }
    .nd-deck { margin-top: 17px; }
    .nd-related-list { display: block; }
    .news-detail .article-body-content .news-rich-block { padding: 17px; border-radius: 9px; }
    .nd-source, .nd-summary, .nd-addition { padding: 18px; }
    .news-detail .nd-cover-frame { border-radius: 8px; }
}
@media (prefers-reduced-motion: reduce) { .news-detail * { scroll-behavior: auto !important; } }
@media print {
    body > header, body > footer, body > .cookie-consent, .nd-breadcrumb, .nd-toolbar, .nd-feedback, .nd-copy-panel, .nd-sidebar, .nd-city-footer, .nd-progress, .nd-footer { display: none !important; }
    .news-detail { background: white; color: black; --nd-ink: #111; --nd-muted: #444; --nd-paper: white; }
    .nd-wrap { width: 100%; }
    .nd-grid { display: block; }
    .nd-title { font-size: 28pt; max-width: none; }
    .nd-article-header { padding-top: 0; }
    .news-detail .article-body-content { font-size: 11pt; line-height: 1.6; }
    .news-detail .nd-cover img { max-height: 260px; }
    .news-detail :is(h2, h3, figure) { break-inside: avoid; }
}
