.article-header{padding:4.5rem 0 2rem}.article-kicker{margin:1.2rem 0 .5rem;color:var(--jn-red);font-weight:900}.article-header h1{max-width:1000px;margin:.5rem 0 1rem;font-size:clamp(2.7rem,6vw,5.7rem)}.article-deck{max-width:900px;font-family:var(--jn-serif);font-size:1.35rem}.article-byline{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;padding-top:1rem;border-top:1px solid var(--jn-line);color:var(--jn-muted);font-size:.8rem}.article-hero{max-height:760px;overflow:hidden}.article-hero img{width:100%;max-height:760px;object-fit:cover}.article-hero figcaption{padding:.5rem 0;color:var(--jn-muted);font-size:.78rem}.article-layout{display:grid;grid-template-columns:56px minmax(0,var(--jn-article)) var(--jn-rail);justify-content:center;gap:2.5rem;padding:3.5rem 0 5rem}.share-rail{position:sticky;top:82px;align-self:start;display:grid;gap:.6rem}.share-rail a,.share-rail button{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--jn-line);background:#fff;font-weight:900}.article-aside{align-self:start}.article-toc{margin:0 0 2rem;padding:1rem 1.25rem;background:var(--jn-paper);font-family:var(--jn-sans);font-size:.9rem}.listing-page{padding:4rem 0}.listing-header{max-width:900px;margin-bottom:2.5rem;border-bottom:1px solid var(--jn-line)}.listing-header h1{margin:0 0 .7rem;font-size:clamp(2.7rem,5vw,5rem)}.listing-header::before{content:"Channel";display:block;color:var(--jn-red);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.listing-grid article:first-child{grid-column:span 2}.listing-grid article:first-child h2{font-size:2rem}.pagination{margin-top:3rem}.page-numbers{display:inline-grid;min-width:44px;height:44px;place-items:center;border:1px solid var(--jn-line)}.page-numbers.current{background:var(--jn-ink);color:#fff}.product-hero{display:flex;min-height:200px;align-items:flex-end;justify-content:space-between;gap:2rem;padding:3rem;background:var(--jn-paper);border-top:7px solid var(--jn-red);border-bottom:1px solid var(--jn-line)}
.product-hero--blue{background:var(--jn-soft);border-top-color:var(--jn-blue)}
.product-hero--data{color:#fff;background:var(--jn-ink);border-top-color:var(--jn-blue)}
.product-hero--data p,.product-hero--data .product-stat span{color:#cbd5e1}
.product-hero h1{margin:0 0 .6rem;font-family:var(--jn-serif);font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.05}
.product-hero p{margin:0;max-width:760px;color:var(--jn-muted)}
.product-stat{flex:0 0 auto;text-align:right}
.product-stat strong{display:block;font-family:var(--jn-serif);font-size:2.4rem;line-height:1}
.product-stat span{color:var(--jn-muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.timeline{border-left:2px solid var(--jn-line);padding-left:1.5rem}.timeline-item{position:relative;padding:0 0 2rem}.timeline-item::before{content:"";position:absolute;left:-1.92rem;top:.5rem;width:12px;height:12px;border-radius:50%;background:var(--jn-red)}.search-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.5rem;margin-bottom:2rem}.search-filters input,.search-filters select{min-height:48px;padding:.6rem .8rem;border:1px solid var(--jn-line)}.error-404{padding:7rem 0;text-align:center}.error-404 h1{font-size:8rem;color:var(--jn-red)}

/* 民调趋势柱状图（UI P11）：等宽并排柱，柱高=占比，jn-blue 白字 */
.poll-chart-block{margin:1.75rem 0 0;padding:1.4rem;background:var(--jn-paper)}
.poll-chart-block__head{display:flex;justify-content:space-between;margin-bottom:1.2rem}
.poll-chart-block__head strong{font-family:var(--jn-serif);font-size:1.05rem}
.poll-chart-block__head span{color:var(--jn-muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.chart{display:flex;align-items:flex-end;gap:clamp(12px,3vw,28px);height:clamp(120px,22vw,180px);padding:0 6px 0 2px;border-left:1px solid var(--jn-line);border-bottom:1px solid var(--jn-line)}
.chart i{display:grid;grid-template-rows:1fr auto;align-items:end;width:clamp(44px,7vw,80px);height:var(--h);padding:6px 8px;background:var(--jn-blue);color:#fff;font-style:normal;font-weight:900;font-size:.72rem;line-height:1.3;word-break:break-word}
.chart i::after{content:"";display:block;height:2px;background:rgba(255,255,255,.35);margin-top:4px}
