.timeline-rail{position:relative;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:24px 24px 36px;background:var(--soft)}
.axis{position:sticky;top:58px;height:4px;background:linear-gradient(90deg,var(--blue),transparent);width:100%;opacity:.25;margin:8px 0;display:block}
.month-col{display:inline-block;vertical-align:top;background:transparent;margin:0 10px;padding:0 6px;min-width:240px}
.month-pin{display:flex;align-items:center;gap:8px;margin-bottom:8px}.month-pin .dot{width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px rgba(30,112,255,.8)}.month-pin .label{font-weight:700}.month-pin .y{opacity:.6;font-weight:400;margin-left:6px}
.thumbs{display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(1,minmax(0,1fr));gap:10px}
.thumb-card{display:block;background:var(--white);border-radius:12px;padding:8px;box-shadow:var(--shadow);width:220px;transition:transform .2s ease}
.thumb-card:hover{transform:translateY(-2px)}.thumb{position:relative;aspect-ratio:4/3;background:#eef3ff;border-radius:8px;overflow:hidden}
.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;display:block}.thumb .play{position:absolute;inset:auto 6px 6px auto;background:rgba(10,23,68,.85);color:#fff;padding:4px 6px;border-radius:6px;font-size:12px}
.thumb-empty{opacity:.6;font-style:italic;background:#eaf1ff;border:1px dashed #cddbff;border-radius:10px;padding:10px;text-align:center}
.thumb-card .t{font-weight:700;font-size:13px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thumb-card .d{font-size:12px;opacity:.7}
.timeline-rail{scroll-behavior:smooth}
