.ts-board-toolbar { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.25rem; } .ts-filter { width: 13rem; @media (max-width: 640px) { width: 100%; } } .ts-board-total { font-size: 0.875rem; color: var(--ts-muted); strong { color: var(--ts-ink); font-weight: 600; } } .ts-spacer { flex: 1; } // One lane per status, tinted with the status colour. .ts-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(17rem, 1fr); gap: 0.875rem; overflow-x: auto; padding-bottom: 0.75rem; scroll-snap-type: x proximity; } .ts-column { --tone: var(--ts-muted); display: flex; flex-direction: column; min-height: 62vh; border-radius: 1.125rem; background: color-mix(in srgb, var(--tone) 5%, var(--ts-sunken)); border: 1px solid color-mix(in srgb, var(--tone) 18%, var(--ts-line)); scroll-snap-align: start; } .ts-column__header { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; padding: 0.875rem 0.875rem 0.625rem; } .ts-column__name { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in srgb, var(--tone) 75%, var(--ts-ink)); &::before { content: ''; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--tone); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 18%, transparent); } } .ts-column__count { font-family: var(--ts-font-mono); font-size: 1.125rem; font-weight: 500; color: var(--ts-ink-soft); } .ts-column__list { display: flex; flex-direction: column; gap: 0.5rem; flex: 1; padding: 0.125rem 0.625rem 0.75rem; } .ts-column__empty { margin: 1.25rem 0; text-align: center; font-family: var(--ts-font-mono); font-size: 0.75rem; color: color-mix(in srgb, var(--ts-muted) 70%, transparent); } // CDK drag & drop .cdk-drag-preview { box-shadow: 0 18px 36px -14px rgb(0 0 0 / 45%); border-radius: 0.625rem; transform: rotate(1.5deg); } .cdk-drag-placeholder { opacity: 0.35; } .cdk-drag-animating, .ts-column__list.cdk-drop-list-dragging ts-issue-card:not(.cdk-drag-placeholder) { transition: transform 200ms cubic-bezier(0, 0, 0.2, 1); } .ts-column__list.cdk-drop-list-receiving { outline: 2px dashed color-mix(in srgb, var(--tone) 55%, transparent); outline-offset: -4px; border-radius: 0.625rem; }