.fd-layout { display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start; }

/* 详情卡 */
.fd-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 36px 40px 30px; background: #fff; position: relative; overflow: hidden; }
.fd-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.fd-card.t-up::before { background: var(--up); } .fd-card.t-down::before { background: var(--down); } .fd-card.t-mid::before { background: var(--ink); }
.fd-top { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.fd-tag { font-size: 12px; font-weight: 700; letter-spacing: 2px; padding: 6px 16px; border-radius: 999px; }
.fd-tag.up { background: rgba(22,163,74,.1); color: var(--up); }
.fd-tag.down { background: rgba(224,69,58,.1); color: var(--down); }
.fd-tag.mid { background: #f0f0f0; color: var(--ink-2); }
.fd-live { font-size: 11px; letter-spacing: 2px; color: var(--ink-3); display: inline-flex; align-items: center; gap: 7px; font-family: var(--num); }
.fd-live::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--up); animation: blink 1.6s infinite; }
@keyframes blink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
.fd-text { font-size: clamp(19px, 2.4vw, 25px); font-weight: 700; line-height: 1.8; margin-top: 22px; }
.fd-meta { display: flex; gap: 16px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line-2); font-size: 12.5px; color: var(--ink-3); font-family: var(--num); flex-wrap: wrap; }
.fd-analysis { margin-top: 26px; border-left: 3px solid var(--ink); background: #fafafa; border-radius: 0 12px 12px 0; padding: 20px 24px; }
.fd-analysis .an-k { font-size: 11px; letter-spacing: 3px; color: var(--ink-3); text-transform: uppercase; margin-bottom: 8px; }
.fd-analysis p { font-size: 13.5px; color: var(--ink-2); line-height: 1.85; }
.fd-actions { display: flex; gap: 12px; margin-top: 28px; flex-wrap: wrap; }
.fd-nav { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 28px; background: #fff; }
.fd-nav a { padding: 18px 24px; display: block; transition: background .3s; }
.fd-nav a:hover { background: #fafafa; }
.fd-nav .k { font-size: 10.5px; letter-spacing: 2px; color: var(--ink-3); text-transform: uppercase; font-family: var(--num); }
.fd-nav .t { font-size: 13px; font-weight: 600; margin-top: 7px; line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fd-nav a.next { text-align: right; border-left: 1px solid var(--line); }
.fd-nav a.disabled { color: var(--ink-3); pointer-events: none; }

/* 侧栏 */
.side-box { border: 1px solid var(--line); border-radius: var(--radius); padding: 22px 24px; position: sticky; top: 92px; background: #fff; }
.side-box h3 { font-size: 15px; font-weight: 700; letter-spacing: 1px; margin-bottom: 6px; }
.side-flash a { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line-2); align-items: baseline; }
.side-flash a:last-child { border-bottom: none; }
.side-flash .t { font-family: var(--num); font-size: 11.5px; color: var(--ink-3); flex-shrink: 0;}
.side-flash p { font-size: 12.5px; line-height: 1.7; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .25s; }
.side-flash a:hover p { color: var(--ink); }
.side-flash .dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; align-self: center; }
.photo {
    margin-top: 20px;
}
.photo:after, .photo:before {
    display: table;
    content: "";
}
.photo:after {
    clear: both;
}
.photo figure {
    display: block;
    float: left;
    width: 210px;
    max-height: 85px;
    margin: 0 6px 6px 0;
    border-radius: 4px;
    overflow: hidden;
}
.photo img {
    width: 100%;
    height: 100%;
    transition: transform .15s ease-in;
    will-change: transform;
    cursor: zoom-in;
}
.fd-layout aside {
    position: sticky;
    top: 85px;
}
.fd-actions i{
    font-size: 14px;
}
@media (max-width: 1024px) {
    .fd-layout { grid-template-columns: 1fr; }
    .side-box { position: static; }
}
@media (max-width: 860px) {
    .fd-card { padding: 26px 22px 24px; }
    .fd-nav { grid-template-columns: 1fr; }
    .fd-nav a.next { border-left: none; border-top: 1px solid var(--line); text-align: left; }
}
