/* ============ EVENT DETAIL · 窄栏纵向时间线 ============ */

.event-article { max-width:820px;margin:0 auto;padding:36px 32px 80px; }

.event-crumb { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);letter-spacing:0.05em;margin-bottom:20px; }
.event-crumb a { color:var(--fg-muted); }
.event-crumb a:hover { color:var(--accent); }
.event-crumb .sep { color:var(--fg-muted);margin:0 8px; }

.event-kicker { display:flex;align-items:center;gap:12px;margin:12px 0 24px;flex-wrap:wrap; }
.event-kicker .ev-tag { font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;padding:4px 10px;border-radius:4px;display:inline-flex;align-items:center;gap:7px; }
.event-kicker .ev-tag::before { content:'';width:6px;height:6px;border-radius:50%;background:currentColor; }
.event-kicker .ev-tag.deep { background:rgba(76,99,214,0.12);color:var(--info-dark); }
.event-kicker .ev-tag.obs  { background:rgba(16,185,129,0.14);color:var(--success-dark); }
.event-kicker .ev-tag.ind  { background:rgba(255,106,26,0.14);color:var(--accent-soft-fg); }
.event-kicker .ev-tag.any  { background:var(--bg-inset);color:var(--fg-muted); }
.event-kicker .kind { font-size:12px;color:var(--fg-muted);font-family:var(--font-mono);letter-spacing:0.04em; }
.event-kicker .live { font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;color:var(--accent-fg);background:var(--danger);font-weight:700;padding:3px 8px;border-radius:3px;display:inline-flex;align-items:center;gap:5px; }
.event-kicker .live::before { content:'';width:5px;height:5px;border-radius:50%;background:var(--bg-elev); }

.event-title { font-family:var(--font-display);font-size:40px;line-height:1.15;font-weight:600;letter-spacing:-0.02em;margin:0 0 18px;color:var(--fg);text-wrap:pretty; }
.event-dek { font-size:17px;line-height:1.6;color:var(--fg);margin:0 0 24px;text-wrap:pretty; }

.event-meta-strip { margin:0 0 24px;padding:12px 0;border-top:1px solid var(--line-faint);border-bottom:1px solid var(--line-faint); }
.event-ms-row { display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline; }
.event-ms-k { font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);letter-spacing:0.08em;text-transform:uppercase; }
.event-ms-v { font-family:var(--font-mono);font-size:14px;color:var(--fg);font-weight:700;letter-spacing:-0.01em;margin-left:-14px; }

.event-section { margin-top:40px; }
.event-section:first-of-type { margin-top:8px; }
.event-section-head { display:flex;align-items:baseline;gap:12px;margin:0 0 6px;flex-wrap:wrap; }
.event-section-head h2 { font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-0.015em;margin:0;color:var(--fg); }
.event-section-head .c { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);letter-spacing:0.06em; }
.event-section-desc { font-size:14px;color:var(--fg-muted);margin:0 0 18px; }

.timeline { position:relative;padding-left:24px; }
.timeline::before { content:'';position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#e8e6df 0,#e8e6df calc(100% - 40px),transparent); }

.tl-item { position:relative;padding:0 0 26px; }
.tl-item:last-child { padding-bottom:0; }

.tl-dot { position:absolute;left:-24px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--line-strong);box-shadow:0 0 0 4px #fafaf7; }
.tl-item.done .tl-dot { background:var(--success-dark);border-color:var(--success-dark); }
.tl-item.live .tl-dot { background:var(--danger);border-color:var(--danger); }
.tl-item.next .tl-dot { background:var(--accent);border-color:var(--accent); }

.tl-head { display:flex;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap; }
.tl-time { font-family:var(--font-mono);font-size:12.5px;font-weight:700;color:var(--fg);letter-spacing:0.02em; }
.tl-ago  { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint); }
.tl-pill { font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:0.06em;padding:2px 7px;border-radius:3px;text-transform:uppercase; }
.tl-pill.done { background:var(--success-soft-bg);color:var(--success-dark); }
.tl-pill.pend { background:var(--bg-inset);color:var(--fg-faint); }

.tl-author { display:flex;align-items:center;gap:8px;margin-bottom:6px; }
.tl-avatar { width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#0e0d0b,#35332e);color:var(--accent-fg);font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-family:var(--font-display);overflow:hidden;flex-shrink:0; }
.tl-avatar img { width:100%;height:100%;object-fit:cover; }
.tl-author-name { font-size:12.5px;color:var(--fg-muted);font-weight:600; }

.tl-title { font-family:var(--font-display);font-size:16.5px;font-weight:600;color:var(--fg);line-height:1.4;margin:0 0 4px;letter-spacing:-0.005em; }
.tl-body  { font-size:14.5px;line-height:1.65;color:var(--fg);margin:0 0 6px;text-wrap:pretty;white-space:pre-wrap; }
.tl-link { font-family:var(--font-mono);font-size:11px;color:var(--accent);text-decoration:none; }
.tl-link:hover { text-decoration:underline; }

.event-chiplist { display:flex;flex-wrap:wrap;gap:6px 10px; }
.event-chip { display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid var(--line);border-radius:6px;background:var(--bg-elev);font-size:12.5px;color:var(--fg-muted);text-decoration:none; }
.event-chip:hover { border-color:var(--accent);color:var(--accent); }
.event-chip .kt { font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);letter-spacing:0.06em;text-transform:uppercase;margin-right:4px; }

.event-link-list { display:flex;flex-direction:column;gap:8px; }
.event-link { display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-elev);text-decoration:none;color:inherit; }
.event-link:hover { border-color:var(--accent); }
.event-link .lk-title { font-size:14px;font-weight:600;color:var(--fg);line-height:1.4; }
.event-link .lk-meta { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);margin-top:4px;letter-spacing:0.04em; }
.event-link .lk-desc { font-size:12.5px;color:var(--fg-muted);margin-top:4px;line-height:1.5; }

.event-empty { color:var(--fg-faint);font-family:var(--font-mono);font-size:12.5px;padding:10px 0; }

@media (max-width:720px) {
  .event-article { padding:20px 20px 60px; }
  .event-title { font-size:28px; }
}
