/* 策划案独立页面与详情页内嵌正文共用；选择器限定在文档内。 */
.plan-document { width: 100%; max-width: 960px; color: #dedede; font: 400 15px/1.95 "Noto Sans SC", "Microsoft YaHei", sans-serif; overflow-wrap: anywhere; }
.plan-document * { box-sizing: border-box; }
.plan-document .plan-kicker { color: #67cda0; font: 700 11px/1.5 Arial, sans-serif; letter-spacing: .16em; }
.plan-document h1 { margin: 12px 0 20px; color: #fff; font-size: clamp(25px, 3vw, 36px); line-height: 1.45; font-weight: 600; }
.plan-document h2 { margin: 44px 0 18px; padding-top: 16px; border-top: 1px solid #353535; color: #fff; font-size: 22px; line-height: 1.55; font-weight: 500; }
.plan-document h3 { margin: 26px 0 12px; color: #fff; font-size: 17px; line-height: 1.6; font-weight: 500; }
.plan-document p { margin: 0 0 16px; }
.plan-document strong { color: #f0f0f0; font-weight: 600; }
.plan-document ul, .plan-document ol { padding-left: 1.4em; margin: 12px 0 20px; list-style: revert; }
.plan-document li { padding-left: 4px; margin: 6px 0; }
.plan-document a { color: #67cda0; text-decoration: underline; text-underline-offset: 4px; }
.plan-document .plan-scope { padding: 18px 20px; border-left: 3px solid #00b159; background: #202823; }
.plan-document .plan-scope p:last-child { margin-bottom: 0; }
.plan-document .plan-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; color: #9b9b9b; font-size: 13px; margin-bottom: 24px; }
.plan-document .plan-toc { margin: 26px 0; padding: 20px 24px; background: #1e1e1e; }
.plan-document .plan-toc ol { columns: 2; column-gap: 32px; margin-bottom: 0; }
.plan-document .plan-toc li { break-inside: avoid; }
.plan-document .plan-table { width: 100%; overflow-x: auto; margin: 18px 0 24px; }
.plan-document .plan-table:focus-visible { outline: 2px solid #00b159; outline-offset: 4px; }
.plan-document table { width: 100%; min-width: 570px; border-collapse: collapse; font-size: 14px; line-height: 1.85; }
.plan-document th, .plan-document td { padding: 12px 14px; border-bottom: 1px solid #353535; text-align: left; vertical-align: top; }
.plan-document th { background: #252a27; color: #fff; font-weight: 500; }
.plan-document figure { margin: 24px 0; }
.plan-document figure img { display: block; width: 100%; height: auto; max-height: 580px; object-fit: contain; background: #080808; }
.plan-document figcaption { color: #999; font-size: 13px; padding: 10px 0; }
.plan-document .plan-flow { padding: 18px 20px; border-block: 1px solid #353535; color: #e4ede8; font-weight: 500; }
.plan-document .plan-source { color: #aaa; font-size: 13px; }
body.plan-page { margin: 0; padding: 0 24px 72px; background: #121212; color: #fff; }
.plan-page > .plan-document { margin: 48px auto 0; }
.plan-navigation { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; max-width: 960px; min-height: 64px; margin: auto; border-bottom: 1px solid #353535; font: 400 14px/1.6 "Microsoft YaHei", sans-serif; }
.plan-navigation a { color: #eee; text-decoration: none; }
.plan-navigation button { border: 1px solid #4a4a4a; border-radius: 3px; padding: 10px 14px; background: #202020; color: #eee; font: inherit; cursor: pointer; }
.plan-navigation a:focus-visible, .plan-navigation button:focus-visible { outline: 2px solid #00b159; outline-offset: 4px; }
@media(max-width:599px) {
    .plan-document { font-size: 14px; }
    .plan-document h2 { font-size: 20px; margin-top: 32px; }
    .plan-document .plan-toc ol { columns: 1; }
    .plan-document .plan-scope, .plan-document .plan-toc { padding: 16px; }
    .plan-document .plan-table::before { content: "表格可左右滑动查看"; display: block; width: 100%; margin-bottom: 8px; color: #999; font-size: 12px; }
    body.plan-page { padding-inline: 20px; }
}
@media print {
    body.plan-page { padding: 0; background: #fff; color: #000; }
    .plan-navigation { display: none; }
    .plan-page > .plan-document { margin: 0; max-width: none; }
    .plan-document, .plan-document h1, .plan-document h2, .plan-document h3, .plan-document strong, .plan-document a, .plan-document .plan-meta, .plan-document .plan-kicker, .plan-document .plan-source { color: #000; }
    .plan-document { font-size: 11pt; line-height: 1.7; }
    .plan-document .plan-scope, .plan-document .plan-toc, .plan-document th { background: #f4f4f4; color: #000; }
    .plan-document .plan-flow { color: #000; }
    .plan-document .plan-table { overflow: visible; }
    .plan-document .plan-table::before { display: none; }
    .plan-document table { min-width: 0; font-size: 10pt; }
    .plan-document h2, .plan-document h3, .plan-document figcaption { break-after: avoid; }
    .plan-document tr, .plan-document figure { break-inside: avoid; }
    .plan-document th, .plan-document td { padding: 7px 9px; border-color: #ccc; }
}
