/* 3e-d.com Daily News V1.2 styles - namespace .dn- */
.dn-body { margin:0; font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif; color:#3e3a39; background:#f5f5f5; line-height:1.7; -webkit-font-smoothing:antialiased; }
.dn-body a { color:#ff5a00; text-decoration:none; }
.dn-body a:hover { text-decoration:underline; }
.dn-body img { max-width:100%; border:0; }
.dn-wrap { max-width:1080px; margin:0 auto; padding:0 20px; }

/* ---------- header / footer ---------- */
.dn-site-header { background:#1f1f1f; color:#fff; }
.dn-site-header .dn-wrap { display:flex; align-items:center; height:64px; }
.dn-brand { font-size:20px; font-weight:700; color:#fff !important; letter-spacing:2px; }
.dn-brand-sub { color:#8a8a8a; font-size:12px; margin-left:8px; }
.dn-site-nav { margin-left:auto; display:flex; gap:20px; font-size:14px; }
.dn-site-nav a { color:#cfcfcf !important; }
.dn-site-nav a:hover { color:#ff5a00 !important; }
.dn-site-footer { background:#1f1f1f; color:#9a9a9a; font-size:13px; text-align:center; padding:28px 0; margin-top:60px; }
.dn-site-footer p { margin:4px 0; }
.dn-site-footer a { color:#cfcfcf; }

/* ---------- page head ---------- */
.dn-main { padding:40px 0 20px; }
.dn-page-head { text-align:center; padding:20px 0 28px; }
.dn-kicker { margin:0; font-size:14px; letter-spacing:4px; color:#999; text-transform:uppercase; }
.dn-page-title { margin:8px 0 10px; font-size:36px; color:#2b2b2b; }
.dn-page-desc { margin:0; font-size:15px; color:#777; }

/* ---------- date nav ---------- */
.dn-date-nav { display:flex; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid #ececec; border-radius:8px; padding:14px 16px; margin-bottom:24px; flex-wrap:wrap; }
.dn-date-btn { flex:0 0 auto; padding:10px 18px; border:1px solid #e2e2e2; border-radius:6px; color:#333; background:#fff; font-size:14px; white-space:nowrap; }
.dn-date-btn:hover { border-color:#ff5a00; color:#ff5a00; }
.dn-date-center { flex:1 1 auto; text-align:center; }
.dn-date-display { display:block; font-size:18px; font-weight:700; color:#2b2b2b; }
.dn-date-iso { display:block; font-size:12px; color:#999; margin-top:2px; }
.dn-date-pick { margin-top:8px; display:inline-flex; gap:6px; align-items:center; }
.dn-date-pick input[type="date"] { padding:6px 8px; border:1px solid #d8d8d8; border-radius:5px; font-size:14px; color:#333; }
.dn-date-pick button { padding:7px 14px; border:0; border-radius:5px; background:#ff5a00; color:#fff; font-size:14px; cursor:pointer; }
.dn-date-today { font-size:13px; color:#ff5a00; }
.dn-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ---------- notice / empty ---------- */
.dn-notice { background:#fff7e6; border:1px solid #ffd591; color:#ad6800; border-radius:6px; padding:12px 16px; margin-bottom:16px; font-size:14px; }
.dn-empty { background:#fff; border:1px solid #ececec; border-radius:8px; text-align:center; padding:60px 24px; }
.dn-empty-title { margin:0 0 10px; font-size:22px; color:#2b2b2b; }
.dn-empty-desc { margin:0 0 20px; color:#777; font-size:14px; }
.dn-empty-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.dn-btn { display:inline-block; padding:10px 22px; border:1px solid #e2e2e2; border-radius:6px; color:#333; background:#fff; font-size:14px; }
.dn-btn:hover { border-color:#ff5a00; color:#ff5a00; text-decoration:none; }
.dn-btn-primary { background:#ff5a00; border-color:#ff5a00; color:#fff; }
.dn-btn-primary:hover { background:#e65100; border-color:#e65100; color:#fff; }

/* ---------- list ---------- */
.dn-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.dn-item { background:#fff; border:1px solid #ececec; border-radius:8px; overflow:hidden; transition:box-shadow .2s; }
.dn-item:hover { box-shadow:0 6px 24px rgba(0,0,0,.08); }
.dn-item-link { display:flex; gap:20px; padding:16px; color:inherit !important; text-decoration:none !important; }
.dn-item-img { flex:0 0 300px; margin:0; aspect-ratio:16/9; overflow:hidden; border-radius:6px; background:#eee; }
.dn-item-img img { width:100%; height:100%; object-fit:cover; display:block; }
.dn-item-body { flex:1 1 auto; min-width:0; }
.dn-item-cat { display:inline-block; background:#ff5a00; color:#fff; font-size:12px; padding:2px 10px; border-radius:3px; margin-bottom:8px; }
.dn-item-title { margin:0 0 8px; font-size:20px; line-height:1.4; color:#2b2b2b; }
.dn-item-title:hover { color:#ff5a00; }
.dn-item-summary { margin:0 0 10px; color:#666; font-size:14px; }
.dn-item-meta { margin:0; font-size:12px; color:#999; display:flex; gap:14px; }
.dn-list-count { text-align:center; color:#999; font-size:13px; margin-top:18px; }

/* ---------- detail ---------- */
.dn-crumbs { font-size:13px; color:#999; margin-bottom:18px; }
.dn-crumb-sep { margin:0 6px; color:#ccc; }
.dn-detail { background:#fff; border:1px solid #ececec; border-radius:8px; padding:28px; }
.dn-detail-head { border-bottom:1px solid #f0f0f0; padding-bottom:20px; margin-bottom:20px; }
.dn-detail-title { margin:10px 0 12px; font-size:28px; line-height:1.4; color:#2b2b2b; }
.dn-detail-meta { font-size:13px; color:#888; display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.dn-source-link { font-weight:600; }
.dn-detail-img { margin:0 0 22px; }
.dn-detail-img img { width:100%; border-radius:8px; display:block; aspect-ratio:16/9; object-fit:cover; }
.dn-detail-img figcaption { font-size:12px; color:#aaa; margin-top:6px; }
.dn-detail-body { font-size:16px; color:#333; }
.dn-summary { margin:0 0 18px; font-size:17px; color:#444; }
.dn-insight { background:#fff7f0; border-left:4px solid #ff5a00; padding:14px 18px; margin:0 0 20px; border-radius:0 6px 6px 0; }
.dn-insight-label { margin:0 0 6px; font-weight:700; color:#ff5a00; font-size:15px; }
.dn-insight-text { margin:0; color:#444; }
.dn-tags { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }
.dn-tag { background:#f0f0f0; color:#666; font-size:12px; padding:4px 12px; border-radius:14px; }

/* ---------- prev/next/related ---------- */
.dn-detail-nav { display:flex; align-items:stretch; gap:12px; border-top:1px solid #f0f0f0; padding-top:20px; margin-top:10px; }
.dn-detail-nav-link { flex:1 1 0; border:1px solid #ececec; border-radius:6px; padding:12px 14px; color:#333; font-size:14px; display:flex; flex-direction:column; gap:4px; min-width:0; }
.dn-detail-nav-link span { font-size:13px; color:#888; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dn-detail-nav-link.is-disabled { color:#bbb; cursor:default; }
.dn-detail-back { flex:0 0 auto; align-self:center; border:1px solid #ececec; border-radius:6px; padding:12px 16px; color:#333; font-size:14px; white-space:nowrap; }
.dn-detail-back:hover { border-color:#ff5a00; color:#ff5a00; text-decoration:none; }
.dn-related { margin-top:28px; }
.dn-related-title { font-size:18px; color:#2b2b2b; margin:0 0 12px; }
.dn-related-list { list-style:none; margin:0; padding:0; }
.dn-related-list li { border-bottom:1px dashed #ececec; }
.dn-related-list li:last-child { border-bottom:0; }
.dn-related-list a { display:block; padding:10px 2px; color:#444; font-size:14px; }
.dn-related-list a:hover { color:#ff5a00; }
.dn-date-nav-bottom { margin-top:28px; }

/* ---------- responsive (standalone) ---------- */
@media (max-width:820px){
    .dn-item-link{flex-direction:column;}
    .dn-item-img{flex:none;width:100%;}
    .dn-detail{padding:18px;}
    .dn-detail-title{font-size:22px;}
    .dn-page-title{font-size:28px;}
    .dn-date-nav{justify-content:center;}
    .dn-date-center{order:-1;flex-basis:100%;}
    .dn-detail-nav{flex-wrap:wrap;}
    .dn-detail-nav-link{flex-basis:100%;}
    .dn-detail-back{flex-basis:100%;text-align:center;}
}

/* ============================================================
   homepage module (inserted into index.html, 1920/750 scale)
   ============================================================ */
.dn-home { background:#2b2b2b; color:#fff; }
.dn-home-head { text-align:center; padding:90px 0 50px; }
.dn-home-title { margin:0; font-size:47px; color:#ff5a00; }
.dn-home-sub { margin:10px 0 0; font-size:17px; letter-spacing:2px; color:#fff; text-transform:uppercase; }
.dn-home-list { display:flex; flex-wrap:wrap; justify-content:center; }
.dn-home-pc .dn-home-list { width:1236px; margin:0 auto; }
.dn-home-more { text-align:center; padding:10px 0 80px; }
.dn-home-more-btn { display:inline-block; border:1px solid #ff5a00; color:#ff5a00; padding:14px 40px; font-size:20px; border-radius:4px; }
.dn-home-more-btn:hover { background:#ff5a00; color:#fff; text-decoration:none; }
.dn-home-empty { text-align:center; color:#bbb; font-size:15px; padding:20px 0 80px; }
.dn-home-empty a { color:#ff5a00; }

/* PC card (1920 base, 360px) */
.dn-home-pc .dn-card { width:360px; margin:0 26px 52px; background:#fff; color:#333; border-radius:8px; overflow:hidden; display:block; transition:transform .25s; }
.dn-home-pc .dn-card:hover { transform:translateY(-4px); }
.dn-home-pc .dn-card-img { height:202px; overflow:hidden; background:#111; }
.dn-home-pc .dn-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.dn-home-pc .dn-card:hover .dn-card-img img { transform:scale(1.06); }
.dn-home-pc .dn-card-body { padding:18px 20px 20px; }
.dn-home-pc .dn-card-cat { display:inline-block; background:#ff5a00; color:#fff; font-size:12px; padding:2px 10px; border-radius:3px; }
.dn-home-pc .dn-card-title { margin:10px 0 8px; font-size:18px; line-height:1.45; color:#2b2b2b; height:52px; overflow:hidden; }
.dn-home-pc .dn-card-summary { margin:0; font-size:13px; color:#777; height:42px; overflow:hidden; }
.dn-home-pc .dn-card-meta { margin:12px 0 0; font-size:12px; color:#aaa; }

/* mobile card (750 base, 690px) */
.dn-home-mobile .dn-home-head { padding:70px 0 40px; }
.dn-home-mobile .dn-home-title { font-size:38px; }
.dn-home-mobile .dn-home-sub { font-size:14px; }
.dn-home-mobile .dn-card { width:345px; margin:0 15px 26px; background:#fff; color:#333; border-radius:8px; overflow:hidden; display:block; }
.dn-home-mobile .dn-card-img { height:194px; overflow:hidden; background:#111; }
.dn-home-mobile .dn-card-img img { width:100%; height:100%; object-fit:cover; display:block; }
.dn-home-mobile .dn-card-body { padding:14px 16px 18px; }
.dn-home-mobile .dn-card-cat { display:inline-block; background:#ff5a00; color:#fff; font-size:18px; padding:3px 14px; border-radius:4px; }
.dn-home-mobile .dn-card-title { margin:10px 0 6px; font-size:24px; line-height:1.4; color:#2b2b2b; height:66px; overflow:hidden; }
.dn-home-mobile .dn-card-summary { margin:0; font-size:20px; color:#777; height:60px; overflow:hidden; }
.dn-home-mobile .dn-card-meta { margin:12px 0 0; font-size:18px; color:#aaa; }
.dn-home-mobile .dn-home-more-btn { font-size:26px; padding:18px 48px; }
.dn-home-mobile .dn-home-empty { font-size:24px; }
.dn-home-pc .dn-home-more-btn { font-size:18px; padding:12px 36px; }

/* ---------- 内链点击化（V1.2） ---------- */
body.dn-body .dn-internal-link { color:#ff5a00; text-decoration:underline; word-break:break-all; }
.dn-internal-link:hover { color:#d94800; }
