/* ============ EVENTS LIST · 时间流 ============ */

.events-head { max-width:1280px;margin:0 auto;padding:36px 32px 20px; }
.events-crumb { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);letter-spacing:0.06em;margin-bottom:14px; }
.events-crumb a { color:var(--fg-muted); }
.events-crumb .sep { color:var(--fg-muted);margin:0 8px; }

.events-title-row { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap; }
.events-title { font-family:var(--font-display);font-size:44px;font-weight:700;margin:0;letter-spacing:-0.02em;line-height:1; }
.events-sub { color:var(--fg-muted);font-size:15px;margin:10px 0 0;max-width:640px;line-height:1.55; }
.events-counts { display:flex;gap:32px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap; }
.events-count .n { font-family:var(--font-mono);font-size:26px;font-weight:700;letter-spacing:-0.02em;color:var(--fg); }
.events-count .k { font-family:var(--font-sans);font-size:12px;color:var(--fg-faint);margin-top:2px; }

.events-main { max-width:1280px;margin:0 auto;padding:28px 32px 64px;display:grid;grid-template-columns:1fr 320px;gap:36px; }
.events-main > .events-feed { min-width:0; }
.events-main > aside { align-self:start;display:flex;flex-direction:column;gap:14px; }
.events-main > aside .side-card { background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;padding:18px 20px; }
.events-main > aside .side-card h4 { font-family:var(--font-display);font-size:15px;font-weight:600;margin:0 0 14px;display:flex;justify-content:space-between;align-items:baseline; }
.events-main > aside .side-card h4 .c { font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);letter-spacing:0.06em;font-weight:500; }
.kleg { display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line-faint);font-size:13px; }
.kleg:last-child { border-bottom:none; }
.kleg .d { width:8px;height:8px;border-radius:50%; }
.kleg .d.deep { background:var(--info); }
.kleg .d.obs { background:var(--success); }
.kleg .d.ind { background:var(--accent); }
.kleg .d.any { background:var(--fg-dim); }
.kleg .n { font-weight:600;color:var(--fg); }
.kleg .m { display:block;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint);letter-spacing:0.04em;margin-top:2px; }
.kleg .c { font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--fg); }
.upcoming-ev { padding:10px 0;border-bottom:1px dashed var(--line-faint); }
.upcoming-ev:last-child { border-bottom:none; }
.upcoming-ev .ue-t { font-family:var(--font-mono);font-size:11px;color:var(--accent);font-weight:600;letter-spacing:0.04em;margin-bottom:4px; }
.upcoming-ev .ue-n { font-size:13.5px;color:var(--fg);font-weight:600;line-height:1.3; }
.upcoming-ev .ue-m { font-family:var(--font-mono);font-size:10.5px;color:var(--fg-faint);margin-top:2px;letter-spacing:0.04em; }

.events-date-anchor { display:flex;align-items:baseline;gap:14px;padding:20px 0 10px;border-bottom:1px solid var(--line);margin-bottom:6px; }
.events-date-anchor:first-child { padding-top:0; }
.events-date-anchor .dd { font-family:var(--font-display);font-size:24px;font-weight:700;letter-spacing:-0.01em; }
.events-date-anchor .dw { font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);font-weight:600;letter-spacing:0.06em;text-transform:uppercase; }
.events-date-anchor .dc { font-family:var(--font-mono);font-size:11px;color:var(--fg-faint);margin-left:auto;letter-spacing:0.04em; }

.ev-card { display:grid;grid-template-columns:96px 4px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line-faint);cursor:pointer;transition:background 120ms;color:inherit;text-decoration:none; }
.ev-card:hover { background:var(--bg-elev); }
.ev-card:last-child { border-bottom:none; }

.ev-time { font-family:var(--font-mono);font-size:15px;font-weight:700;letter-spacing:-0.01em;color:var(--fg);padding-top:2px;font-variant-numeric:tabular-nums; }
.ev-time .tz { display:block;font-size:10px;color:var(--fg-faint);font-weight:500;letter-spacing:0.08em;margin-top:2px;text-transform:uppercase; }
.ev-time .rel { display:block;font-family:var(--font-sans);font-size:11.5px;color:var(--accent);font-weight:500;margin-top:5px;letter-spacing:0; }

.ev-rail { background:linear-gradient(180deg,transparent,#e8e6df 15%,#e8e6df 85%,transparent);border-radius:2px; }
.ev-card.deep .ev-rail { background:linear-gradient(180deg,transparent,var(--info) 15%,var(--info) 85%,transparent); }
.ev-card.obs  .ev-rail { background:linear-gradient(180deg,transparent,var(--success) 15%,var(--success) 85%,transparent); }
.ev-card.ind  .ev-rail { background:linear-gradient(180deg,transparent,var(--accent) 15%,var(--accent) 85%,transparent); }

.ev-body { min-width:0; }
.ev-meta { display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap; }
.ev-tag { font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:3px 8px;border-radius:3px;display:inline-flex;align-items:center;gap:6px; }
.ev-tag::before { content:'';width:5px;height:5px;border-radius:50%;background:currentColor; }
.ev-tag.deep { background:rgba(76,99,214,0.10);color:var(--info-dark); }
.ev-tag.obs  { background:rgba(16,185,129,0.12);color:var(--success-dark); }
.ev-tag.ind  { background:rgba(255,106,26,0.12);color:var(--accent-soft-fg); }
.ev-tag.any  { background:var(--bg-inset);color:var(--fg-muted); }
.ev-sub-kind { font-family:var(--font-mono);font-size:11px;color:var(--fg-muted);letter-spacing:0.04em; }
.ev-sub-kind .sep { color:var(--fg-muted);margin:0 7px; }
.ev-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; }
.ev-live::before { content:'';width:5px;height:5px;border-radius:50%;background:var(--bg-elev); }

.ev-title { font-family:var(--font-sans);font-size:17px;font-weight:600;margin:0 0 6px;line-height:1.35;letter-spacing:-0.005em;color:var(--fg);text-wrap:balance; }
.ev-desc { font-size:13.5px;line-height:1.6;color:var(--fg-muted);margin:0 0 10px;max-width:820px; }

.ev-params { display:flex;gap:20px;padding:8px 0 2px;margin-top:6px;border-top:1px dashed var(--line-faint);flex-wrap:wrap; }
.ev-params > div { display:flex;flex-direction:column;gap:2px;min-width:70px; }
.ev-params .pk { font-family:var(--font-mono);font-size:10px;color:var(--fg-faint);letter-spacing:0.06em;text-transform:uppercase; }
.ev-params .pv { font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--fg);letter-spacing:-0.01em; }

.ev-empty { padding:60px 0;text-align:center;color:var(--fg-faint);font-family:var(--font-mono); }

@media (max-width: 900px) {
  .events-title { font-size: 32px; }
  .ev-card { grid-template-columns: 80px 3px 1fr; gap: 12px; }
  .events-main { grid-template-columns: 1fr; }
  .events-main > aside { position: static; }
}
