/* 每日新闻页面。颜色基于 Dream 主题变量混合，深浅模式自动适配；强调色取自日报横幅。 */
.dn-page{
  --dn-ink:var(--color-base-content);
  --dn-soft:color-mix(in oklab,var(--color-base-content) 82%,transparent);
  --dn-muted:color-mix(in oklab,var(--color-base-content) 58%,transparent);
  --dn-line:color-mix(in oklab,var(--color-base-content) 11%,transparent);
  --dn-card:color-mix(in oklab,var(--color-base-content) 3.5%,var(--color-base-100));
  --dn-navy:#1d3a50;
  --dn-coral:#e2674f;
  --dn-up:#d6453a;
  --dn-down:#16946a;
  --dn-top:4.25rem;
  max-width:48rem;margin:0 auto 3rem;color:var(--dn-ink);
  font-size:1rem;line-height:1.7;
}
.dark .dn-page{--dn-navy:#9fd4c8;--dn-coral:#f08a6f;--dn-up:#f0655a;--dn-down:#3fbf8f}
.dn-page a{text-decoration:none;color:inherit}
.dn-page ion-icon{flex-shrink:0}
.dn-page :target,.dn-page [id]{scroll-margin-top:calc(var(--dn-top) + 3.6rem)}

/* 头图 */
.dn-hero{position:relative;isolation:isolate;height:230px;border-radius:1.1rem;overflow:hidden;background:#1d3a50}
.dn-hero picture,.dn-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;margin:0}
.dn-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,30,44,.88) 0%,rgba(14,30,44,.6) 42%,rgba(14,30,44,0) 78%)}
.dn-hero-text{position:absolute;left:1.9rem;bottom:1.6rem;right:1.9rem;z-index:1;color:#fff}
.dn-kicker{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#9fe0cf;font-weight:600}
.dn-hero h1{margin:.3rem 0 .45rem;font-size:clamp(1.7rem,4.4vw,2.5rem);line-height:1.15;font-weight:780;letter-spacing:.01em}
.dn-hero h1 span{margin-left:.6rem;font-size:.55em;font-weight:600;opacity:.85}
.dn-hero-meta{margin:0;font-size:.86rem;color:rgba(255,255,255,.82)}

.dn-byline{display:flex;justify-content:space-between;align-items:center;margin:.9rem .2rem 0;font-size:.9rem}
.dn-byline img{margin:0}

/* 今日三件事 */
.dn-brief{margin:1.4rem 0 0;padding:1.25rem 1.4rem 1.1rem;border-radius:1rem;
  background:color-mix(in oklab,var(--dn-coral) 9%,var(--color-base-100));
  border:1px solid color-mix(in oklab,var(--dn-coral) 22%,transparent)}
.dn-brief h2{display:flex;align-items:center;gap:.45rem;margin:0 0 .55rem;font-size:1.05rem;font-weight:720;color:var(--dn-coral)}
.dn-brief ol{list-style:none;margin:0;padding:0;counter-reset:dn-brief}
.dn-brief li{counter-increment:dn-brief;display:flex;gap:.85rem;align-items:baseline;padding:.5rem 0;font-size:1.02rem;font-weight:560;line-height:1.6}
.dn-brief li+li{border-top:1px dashed color-mix(in oklab,var(--dn-coral) 25%,transparent)}
.dn-brief li::before{content:counter(dn-brief);flex-shrink:0;width:1.1rem;font-size:1.45rem;font-weight:800;line-height:1;color:var(--dn-coral);font-variant-numeric:tabular-nums}
.dn-brief a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--dn-coral)}

/* 吸顶栏目导航 */
.dn-chips{position:sticky;top:var(--dn-top);z-index:20;margin:1.2rem -.25rem 0;padding:.55rem .25rem;
  background:color-mix(in oklab,var(--color-base-100) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--dn-line)}
.dn-chips-track{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.dn-chips-track::-webkit-scrollbar{display:none}
.dn-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border-radius:999px;font-size:.84rem;line-height:1.4;
  border:1px solid var(--dn-line);color:var(--dn-soft);transition:background .15s,border-color .15s,color .15s}
.dn-chip i{width:.5rem;height:.5rem;border-radius:50%;background:var(--dn-c)}
.dn-chip span{font-size:.75rem;color:var(--dn-muted);font-variant-numeric:tabular-nums}
.dn-chip:hover{border-color:color-mix(in oklab,var(--color-base-content) 30%,transparent);color:var(--dn-ink)}
.dn-chip-sec{font-weight:650;color:var(--dn-ink);background:var(--dn-card)}
.dn-chip-sec:not(:first-child){margin-left:.5rem}
.dn-chip.is-active{background:var(--dn-ink);border-color:var(--dn-ink);color:var(--color-base-100)}
.dn-chip.is-active span{color:inherit;opacity:.75}

/* 栏目 */
.dn-section{margin-top:2.4rem}
.dn-section-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.9rem}
.dn-section-ico{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.65rem;background:var(--dn-navy);color:var(--color-base-100);font-size:1.15rem}
.dn-section-head h2{margin:0;font-size:1.4rem;font-weight:760;line-height:1.3}
.dn-section-time{margin-left:auto;font-size:.8rem;color:var(--dn-muted);font-variant-numeric:tabular-nums}

/* GitHub 卡片：桌面三列，手机横滑 */
.dn-repos{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem}
.dn-repo{display:flex;flex-direction:column;border:1px solid var(--dn-line);border-radius:.9rem;overflow:hidden;background:var(--dn-card)}
.dn-repo-cover{display:block;aspect-ratio:2/1;background:linear-gradient(135deg,#1d3a50,#2a7f74);border-bottom:1px solid var(--dn-line)}
.dn-repo-cover img{width:100%;height:100%;object-fit:cover;margin:0;display:block}
.dn-repo-body{padding:.75rem .9rem .9rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.dn-repo h3{margin:0;font-size:1rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}
.dn-repo h3 span{font-weight:450;color:var(--dn-muted)}
.dn-repo h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.dn-repo-body>p{margin:0;font-size:.89rem;line-height:1.65;color:var(--dn-soft)}
.dn-repo-meta{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin-top:auto;padding-top:.15rem;font-size:.8rem;color:var(--dn-muted);font-variant-numeric:tabular-nums}
.dn-repo-meta span{display:inline-flex;align-items:center;gap:.3rem}
.dn-lang{width:.6rem;height:.6rem;border-radius:50%;background:#3178c6}
.dn-rank{color:var(--dn-coral);font-weight:650}
.dn-up{color:var(--dn-up);font-weight:650}
.dn-note{display:flex;gap:.55rem;align-items:flex-start;margin:1rem 0 0;padding:.75rem .95rem;border-radius:.75rem;background:var(--dn-card);font-size:.9rem;color:var(--dn-soft)}
.dn-note ion-icon{margin-top:.25rem;color:var(--dn-muted)}
.dn-note b{margin-right:.45rem;color:var(--dn-ink)}

/* 新闻分类 */
.dn-group{margin-top:.6rem;border-top:1px solid var(--dn-line)}
.dn-group summary{display:flex;align-items:center;gap:.6rem;padding:.85rem 0 .55rem;cursor:pointer;list-style:none;user-select:none}
.dn-group summary::-webkit-details-marker{display:none}
.dn-cat-ico{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:.55rem;font-size:1rem;color:var(--dn-c);background:color-mix(in oklab,var(--dn-c) 15%,transparent)}
.dn-group h3{margin:0;font-size:1.08rem;font-weight:720}
.dn-count{font-size:.78rem;padding:0 .5rem;border-radius:999px;color:var(--dn-c);background:color-mix(in oklab,var(--dn-c) 12%,transparent);font-variant-numeric:tabular-nums}
.dn-caret{margin-left:auto;color:var(--dn-muted);transition:transform .2s}
.dn-group:not([open]) .dn-caret{transform:rotate(-90deg)}
.dn-group:not([open]) summary::after{content:"展开";font-size:.8rem;color:var(--dn-muted);order:3;margin-left:auto}
.dn-group:not([open]) .dn-caret{margin-left:.2rem;order:4}
.dn-items{padding-bottom:.4rem}

/* 单条新闻 */
.dn-item{display:flex;gap:1rem;padding:.95rem 0 1.05rem}
.dn-item+.dn-item{border-top:1px dashed var(--dn-line)}
.dn-item-main{flex:1;min-width:0}
.dn-item h4{display:flex;gap:.6rem;align-items:baseline;margin:0;font-size:1.06rem;font-weight:680;line-height:1.5}
.dn-num{flex-shrink:0;min-width:1.55rem;padding:0 .25rem;text-align:center;border-radius:.4rem;font-size:.78rem;font-weight:700;line-height:1.55rem;
  color:var(--dn-c);background:color-mix(in oklab,var(--dn-c) 13%,transparent);font-variant-numeric:tabular-nums;transform:translateY(-.08rem)}
.dn-item-main>*:not(h4){margin-left:2.15rem}
.dn-sum{margin-top:.35rem;margin-bottom:0;font-size:.96rem;line-height:1.78;color:var(--dn-soft)}
.dn-sum p{margin:0}
.dn-follow{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;padding:.05rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600;
  color:#7a5ad0;background:color-mix(in oklab,#7a5ad0 12%,transparent)}
.dark .dn-follow{color:#b9a3f5;background:color-mix(in oklab,#b9a3f5 14%,transparent)}
a.dn-follow:hover{text-decoration:underline;text-underline-offset:3px}

.dn-figs{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin-top:.6rem;margin-bottom:0}
.dn-figs li{display:flex;flex-direction:column;margin:0;padding:.3rem .7rem .32rem;border-radius:.6rem;border:1px solid var(--dn-line);background:var(--dn-card);line-height:1.3}
.dn-figs span{font-size:.72rem;color:var(--dn-muted)}
.dn-figs b{font-size:1.02rem;font-weight:720;font-variant-numeric:tabular-nums;white-space:nowrap}
.dn-figs .is-up b{color:var(--dn-up)}
.dn-figs .is-down b{color:var(--dn-down)}

.dn-why{margin-top:.65rem;margin-bottom:0;padding:.55rem .8rem;border-radius:.6rem;font-size:.9rem;line-height:1.7;
  background:color-mix(in oklab,var(--dn-coral) 8%,transparent);border-left:3px solid var(--dn-coral)}
.dn-why ion-icon{margin-right:.3rem;vertical-align:-.12em;color:var(--dn-coral)}
.dn-why b{margin-right:.5rem;color:var(--dn-coral);font-weight:680}
.dn-repo .dn-why{margin-left:0}

.dn-srcs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}
.dn-srcs a{display:inline-flex;align-items:center;gap:.25rem;padding:.08rem .55rem;border-radius:.4rem;font-size:.78rem;color:var(--dn-muted);background:var(--dn-card);border:1px solid var(--dn-line)}
.dn-srcs a:hover{color:var(--dn-ink);border-color:color-mix(in oklab,var(--color-base-content) 30%,transparent)}
.dn-thumb{flex-shrink:0;width:8.5rem;height:6rem;object-fit:cover;border-radius:.6rem;margin:.25rem 0 0}

/* 旧格式 Markdown 回退 */
.dn-md{max-width:none;font-size:.97rem}
.dn-page .dn-md a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent);color:var(--dn-muted)}
.dn-page .dn-md a:hover{color:var(--dn-ink)}
.dn-md h3{margin-top:1.4rem}

/* 翻页 */
.dn-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;margin-top:2.8rem;padding-top:1.3rem;border-top:1px solid var(--dn-line)}
.dn-pager>a:not(.dn-pager-all){display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:.75rem;border:1px solid var(--dn-line);font-weight:620;font-size:.95rem}
.dn-pager>a:last-child{justify-self:end;text-align:right}
.dn-pager>a:not(.dn-pager-all):hover{background:var(--dn-card)}
.dn-pager small{display:block;font-size:.72rem;font-weight:450;color:var(--dn-muted)}
.dn-pager-all{font-size:.85rem;color:var(--dn-muted)}
.dn-pager-all:hover{color:var(--dn-ink)}

@media (max-width:640px){
  .dn-hero{height:178px;border-radius:.9rem}
  .dn-hero::after{background:linear-gradient(0deg,rgba(14,30,44,.9) 0%,rgba(14,30,44,.5) 55%,rgba(14,30,44,.1) 100%)}
  .dn-hero-text{left:1.1rem;right:1.1rem;bottom:1rem}
  .dn-hero-meta{font-size:.78rem}
  .dn-brief{padding:1rem 1.05rem .9rem}
  .dn-brief li{font-size:.97rem}
  .dn-repos{display:flex;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:.75rem;margin:0 -1rem;padding:0 1rem .3rem;scrollbar-width:none}
  .dn-repos::-webkit-scrollbar{display:none}
  .dn-repo{flex:0 0 82%;scroll-snap-align:center}
  .dn-item-main>*:not(h4){margin-left:0}
  .dn-item h4{font-size:1.02rem}
  .dn-thumb{width:5.5rem;height:4.4rem}
  .dn-pager{grid-template-columns:1fr 1fr}
  .dn-pager-all{display:none}
  .dn-section-head h2{font-size:1.25rem}
}

/* 财经日报：头图、徽章、政策解读要点、人民币中间价面板 */
.dn-hero-fin{background:linear-gradient(120deg,#0f2233 0%,#173247 52%,#2b2a22 100%)}
.dn-hero-fin::after{background:radial-gradient(120% 90% at 0% 100%,rgba(10,22,33,.75) 0%,rgba(10,22,33,0) 70%)}
.dn-hero-fin .dn-kicker{color:#f1c47b}
.dn-hero-line{position:absolute;right:0;top:0;width:62%;height:100%;z-index:0;overflow:visible}
.dn-hero-line polyline{fill:none;stroke:#f1c47b;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;opacity:.5;vector-effect:non-scaling-stroke}

.dn-badge{display:inline-block;margin-left:.5rem;padding:0 .45rem;vertical-align:.12em;line-height:1.55;border-radius:.4rem;font-size:.74rem;font-weight:650;white-space:nowrap;
  color:var(--dn-muted);background:var(--dn-card);border:1px solid var(--dn-line)}
.dn-badge.is-up{color:var(--dn-up);background:color-mix(in oklab,var(--dn-up) 10%,transparent);border-color:color-mix(in oklab,var(--dn-up) 25%,transparent)}
.dn-badge.is-down{color:var(--dn-down);background:color-mix(in oklab,var(--dn-down) 10%,transparent);border-color:color-mix(in oklab,var(--dn-down) 25%,transparent)}

.dn-points{display:grid;gap:.15rem;margin-top:.6rem;margin-bottom:0;padding:.55rem .85rem;border-radius:.7rem;background:var(--dn-card);border:1px solid var(--dn-line)}
.dn-points>div{display:grid;grid-template-columns:4.6rem 1fr;gap:.75rem;padding:.3rem 0}
.dn-points>div+div{border-top:1px dashed var(--dn-line)}
.dn-points dt{font-size:.8rem;font-weight:680;color:var(--dn-c);line-height:1.9}
.dn-points dd{margin:0;font-size:.92rem;line-height:1.72;color:var(--dn-soft)}
.dn-points dd p{margin:0}

.dn-fx-card{padding:1.1rem 1.2rem 1rem;border-radius:1rem;border:1px solid var(--dn-line);background:var(--dn-card)}
.dn-fx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.dn-fx-stat{display:flex;flex-direction:column;gap:.1rem;min-width:0}
.dn-fx-stat span{font-size:.76rem;color:var(--dn-muted)}
.dn-fx-stat b{font-size:1.65rem;font-weight:760;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dn-fx-stat b i{margin-left:.15rem;font-size:.55em;font-style:normal;font-weight:600}
.dn-fx-stat small{font-size:.78rem;color:var(--dn-soft)}
.dn-fx-stat.is-dev b{color:#c98a2b}
.dark .dn-fx-stat.is-dev b{color:#f1c47b}
.dn-fx-note{margin:.85rem 0 0;padding-top:.8rem;border-top:1px solid var(--dn-line);font-size:.93rem;line-height:1.75;color:var(--dn-soft)}
.dn-fx-chart{margin:.9rem 0 0}
.dn-fx-chart figcaption{margin-bottom:.35rem;font-size:.8rem;line-height:1.6;color:var(--dn-muted)}
.dn-fx-chart svg{display:block;width:100%;height:auto;overflow:visible}
.dn-fx-axis{stroke:var(--dn-line);stroke-width:1}
.dn-fx-bar{fill:color-mix(in oklab,#c98a2b 45%,transparent)}
.dn-fx-bar.is-last{fill:#c98a2b}
.dark .dn-fx-bar{fill:color-mix(in oklab,#f1c47b 40%,transparent)}
.dark .dn-fx-bar.is-last{fill:#f1c47b}
.dn-fx-gap{fill:var(--dn-muted);opacity:.5}
.dn-fx-val{font-size:13px;font-weight:650;fill:var(--dn-soft);font-variant-numeric:tabular-nums}
.dn-fx-val.is-last{fill:var(--dn-ink);font-weight:760}
.dn-fx-date{font-size:12px;fill:var(--dn-muted);font-variant-numeric:tabular-nums}
.dn-fx-src{margin:.5rem 0 0;font-size:.76rem;color:var(--dn-muted)}
.dn-page .dn-fx-src a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent)}

@media (max-width:640px){
  .dn-hero-line{width:100%;opacity:.7}
  .dn-fx-card{padding:.95rem .9rem .85rem}
  .dn-fx-stats{gap:.4rem}
  .dn-fx-stat b{font-size:1.2rem}
  .dn-fx-stat span,.dn-fx-stat small{font-size:.7rem}
  .dn-fx-val{font-size:17px}
  .dn-fx-date{font-size:16px}
  .dn-points>div{grid-template-columns:1fr;gap:0}
  .dn-points dt{line-height:1.6}
}
