.ts-board-toolbar { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.25rem; } .ts-views { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.75rem; } .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; } .ts-column__points { font-weight: 400; color: var(--ts-muted); } .ts-column.is-over { box-shadow: inset 0 3px 0 var(--ts-c-red, var(--ts-ink)); .ts-column__count { color: var(--ts-c-red, var(--ts-ink)); font-weight: 700; } } /* Grouped board: heads and rows scroll together. */ .ts-lanes { overflow-x: auto; padding-bottom: 0.75rem; .ts-board { overflow: visible; padding-bottom: 0; } } .ts-board--heads { margin-bottom: 0.5rem; .ts-column--head { min-height: 0; } } .ts-lane { margin-bottom: 1rem; } .ts-lane__title { position: sticky; left: 0; display: inline-flex; align-items: baseline; gap: 0.5rem; margin: 0 0 0.5rem; font-size: 0.875rem; } .ts-column--lane .ts-column__list { min-height: 3.5rem; } .ts-template-hint { margin: -0.25rem 0 0; font-size: 0.8125rem; }