.cg-gallery, .cg-timeline { padding: 16px; } .cg-gallery-bar, .cg-timeline-bar { display: flex; align-items: center; gap: 8px; min-height: 32px; margin-bottom: 12px; color: var(--lp-muted); font-size: var(--lp-fs-2xs); } .cg-gallery-label, .cg-timeline-label { display: inline-flex; align-items: center; gap: 6px; color: var(--lp-ink); font-weight: 600; } .cg-gallery-count, .cg-timeline-count { font-variant-numeric: tabular-nums; } .cg-timeline-missing { margin-left: auto; color: var(--lp-yellow-deep); background: var(--lp-yellow-tint); border-radius: var(--lp-r-pill); padding: 3px 8px; font-variant-numeric: tabular-nums; } .cg-gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(224px, 1fr)); gap: 10px; } .cg-gallery-card, .cg-timeline-card { border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; } .cg-gallery-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: start; min-height: 108px; padding: 12px; border: 1px solid var(--lp-line); background: var(--lp-surface); color: var(--lp-ink); border-radius: var(--lp-r-md); transition: transform 150ms ease-out, border-color 150ms ease-out, background 150ms ease-out; } .cg-gallery-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--lp-r-sm); color: var(--lp-blue-deep); background: var(--lp-blue-tint); } .cg-gallery-copy, .cg-timeline-card { display: grid; gap: 7px; min-width: 0; } .cg-gallery-copy > strong, .cg-timeline-card > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--lp-fs-sm); font-weight: 600; } .cg-gallery-detail, .cg-timeline-detail { display: flex; justify-content: space-between; gap: 12px; color: var(--lp-muted); font-size: var(--lp-fs-3xs); } .cg-gallery-detail b, .cg-timeline-detail b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--lp-ink); font-weight: 500; font-variant-numeric: tabular-nums; } .cg-timeline-list { display: grid; gap: 18px; } .cg-timeline-month { display: grid; gap: 8px; } .cg-timeline-month > h3 { margin: 0; color: var(--lp-muted); font-size: var(--lp-fs-2xs); font-weight: 600; } .cg-timeline-event { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: stretch; } .cg-timeline-date { position: relative; padding-top: 12px; color: var(--lp-muted); font-size: var(--lp-fs-3xs); text-align: right; } .cg-timeline-date::after { position: absolute; top: 14px; right: -18px; width: 8px; height: 8px; border-radius: var(--lp-r-pill); background: var(--lp-yellow-deep); content: ""; } .cg-timeline-card { position: relative; padding: 11px 12px; border: 1px solid var(--lp-line); background: var(--lp-surface); color: var(--lp-ink); border-radius: var(--lp-r-md); transition: transform 150ms ease-out, border-color 150ms ease-out, background 150ms ease-out; } .cg-timeline-card::before { position: absolute; top: -9px; bottom: -9px; left: -17px; width: 1px; background: var(--lp-line); content: ""; } .cg-gallery-card:focus-visible, .cg-timeline-card:focus-visible { outline: 2px solid var(--lp-blue-deep); outline-offset: 2px; } @media (hover: hover) and (pointer: fine) { .cg-gallery-card:hover, .cg-timeline-card:hover { border-color: var(--lp-blue-deep); background: var(--lp-surface-2); transform: translateY(-1px); } } @media (prefers-reduced-motion: reduce) { .cg-gallery-card, .cg-timeline-card { transition: none; } } @media (max-width: 620px) { .cg-timeline-event { grid-template-columns: 58px minmax(0, 1fr); gap: 10px; } }