/* This article's map and compact reading lists; no shared-page overrides. */
.price-war-heading { max-width: 880px; margin: 1.5rem auto 2rem; }
.price-war-heading .post-title { max-width: 860px; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.13; }
.price-war-heading .post-title span { display: block; color: var(--color-text-muted); font-size: .66em; margin-top: .55em; font-weight: 450; }
.price-war-thumbnail { display: none; }
.battery-timeline { margin: 2rem 0 2.5rem; }
.battery-timeline video { display: block; width: 100%; height: auto; aspect-ratio: 24 / 13; border: 1px solid var(--color-border); border-radius: 12px; background: #f4f2ec; }
.battery-timeline figcaption { max-width: 760px; margin: .85rem auto 0; font-size: .82rem; line-height: 1.6; color: var(--color-text-muted); }
.price-war-post .prose .company-case { margin-top: 2rem; scroll-margin-top: 6rem; }
.price-war-post .prose h2 { font-size: clamp(1.45rem, 3vw, 1.8rem); line-height: 1.3; margin: 2.8rem 0 1rem; }
.price-war-post .cost-mechanisms { padding-left: 1.8rem; }
.price-war-post .cost-mechanisms li { padding: .65rem 0 .7rem .25rem; margin: 0; border-bottom: 1px solid var(--color-divider); }
.cost-mechanisms li::marker { color: var(--color-text-faint); font-variant-numeric: tabular-nums; }
.cost-mechanisms .cost-basis { display: block; margin-top: .3rem; color: var(--color-text-muted); font-size: .76rem; line-height: 1.5; }
.battery-cost-note { border-left: 2px solid var(--color-primary); padding: .2rem 0 .2rem 1.2rem; margin: 2rem 0; }
.battery-cost-note p:last-child { margin-bottom: .5rem; font-size: .9rem; color: var(--color-text-muted); }
.battery-reading { padding-left: 1.5rem; }
.battery-reading li { margin: 0 0 1.6rem; padding-left: .35rem; }
.battery-reading li > span { display: block; color: var(--color-text-muted); font-size: .76rem; margin-bottom: .35rem; }
.battery-reading li > strong { display: block; line-height: 1.45; }
.battery-reading p { margin-top: .5rem; font-size: .93rem; }
.battery-data { margin: 3rem auto 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 1rem 0; scroll-margin-top: 6rem; }
.battery-data > summary { color: var(--color-primary); cursor: pointer; font-weight: 600; padding: .4rem 0; }
.battery-data .prose { margin: 1rem auto 1.5rem; font-size: .87rem; }
.battery-data-table { overflow-x: auto; margin: 1.5rem 0; }
.battery-data-table:focus-visible { outline: 2px solid var(--color-primary); }
.battery-data table { width: 100%; border-collapse: collapse; font-size: .77rem; font-variant-numeric: tabular-nums; }
.battery-data caption { text-align: left; margin-bottom: .8rem; color: var(--color-text-muted); }
.battery-data th, .battery-data td { text-align: left; padding: .6rem .7rem; vertical-align: top; border-bottom: 1px solid var(--color-divider); }
.battery-data thead th { white-space: nowrap; }
.battery-data .timeline-milestones { max-width: 760px; margin: auto; padding-left: 1.3rem; font-size: .82rem; }
.timeline-milestones li { padding: .5rem 0; }
.timeline-milestones time { color: var(--color-text-muted); font-variant-numeric: tabular-nums; }
.battery-data-credit { font-size: .75rem; margin: 1.5rem 0 0; }
.battery-policy-scroll { max-width: 880px; margin: 1.5rem auto 2rem; overflow-x: auto; }
.battery-policy-scroll:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 4px; }
.trade-policy-table { width: 100%; min-width: 580px; border-collapse: collapse; font-size: .86rem; line-height: 1.6; }
.trade-policy-table caption { text-align: left; color: var(--color-text-muted); font-size: .8rem; margin-bottom: .8rem; }
.trade-policy-table th, .trade-policy-table td { padding: .8rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--color-divider); }
.trade-policy-table thead th { color: var(--color-text-muted); font-size: .76rem; }
.trade-policy-table tbody th { width: 20%; font-weight: 600; }
@media (max-width: 600px) {
  .price-war-heading { margin-top: 1rem; }
  .battery-timeline figcaption { font-size: .77rem; }
  .battery-data th, .battery-data td { padding: .5rem; }
}
