.cards { --column-gap: 2cqi; --row-gap: 2cqi; font-size: 0.9cqi; display: grid; background-color: var(--color-container); grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(100%/2 - var(--column-gap) * 2)), 1fr)); justify-items: center; margin-block: 0; padding: 3cqi; view-transition-name: cards-container; > * { flex-shrink: 1; } .card { max-inline-size: 50cqi; } @media (min-width: 70ch) { grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(100%/3 - var(--column-gap) * 2)), 1fr)); font-size: 0.7cqi; .card { max-inline-size: 33cqi; } } } .card { --block-space: 1em; --column-gap: 0.5em; --inline-space: 0.5em; --row-gap: 0.5em; aspect-ratio: 15/7; background-color: color-mix(in srgb, var(--bubble-color) 4%, var(--color-bg)); color: color-mix(in srgb, var(--bubble-color) 40%, var(--color-ink)); font-size: 1em; max-inline-size: 100ch; z-index: 1; .card__container & { inline-size: 60cqi; @media (max-width: 70ch) { inline-size: 100dvw; } } } .card__actions { position: absolute; inset: 1.4em auto auto -4em; z-index: 1; } .card__actions--right { inset: 1.4em -3.5em auto auto; } .card__actions-container { background-color: var(--color-bg); margin-block: -1em 1em; padding: 1em 2em; position: relative; z-index: 0; .btn { --btn-background: var(--bubble-color); --btn-color: var(--color-ink-reversed); } .btn--plain { --btn-color: var(--bubble-color); text-decoration: underline; } .bubble__pop-message { color: var(--bubble-color); } } .card__actions-wrapper { font-size: 1.33cqi; } .cards .card__assignees:not(:has(.avatar)) { .txt-uppercase { display: none; } } .card__background { inset: 0; position: absolute; z-index: -1; img { block-size: 100%; inline-size: 100%; object-fit: cover; object-position: center; opacity: 0.2; transition: opacity 0.2s ease-in-out; } @media (hover: hover) { .card:hover & { img { opacity: 1; } } } } .card__body { padding-inline: 1em; } .card__body-header { flex: 2 1 75%; padding-block: 1em; } .card__bucket { background-color: var(--bubble-color); font-weight: 800; letter-spacing: 0.5ch; padding: 0.5em 1em; } .card__container { background-color: var(--color-container); display: inline-block; font-size: 1.33cqi; padding: 2cqi 3cqi 3cqi; } .card__container--pointing { --arrow-size: 20em; --aspect-ratio: 7; position: relative; margin-block-end: calc(var(--arrow-size) / var(--aspect-ratio)); &::after { aspect-ratio: var(--aspect-ratio); background: var(--color-container); clip-path: polygon(50% 100%, 100% 0, 0 0); inline-size: var(--arrow-size); content: ""; display: block; inset-block-start: 99%; inset-inline-start: 50%; position: absolute; transform: translateX(-50%); } } .card__delete-btn { .cards & { display: none; } } .card__footer { margin-block-end: 1em; padding-inline-end: 1em; } .card__header { padding-inline-end: 0.7em; } .card__hide-on-index { .cards & { display: none; } } .card__link { --hover-size: 0; content: ""; inset: 0; position: absolute; z-index: -1; .cards & { z-index: 1; } } .card__meta { --border-color: var(--bubble-color); --row-gap: 0.25em; font-size: 0.9em; margin-inline-start: 1em; strong { font-size: 1.1em; font-weight: 900; } .separator { height: calc(2lh + 2ex); } } .card__people { margin-inline-start: 1em; span { font-size: 0.9em; } } .card__stages { flex: 1 1 25%; font-size: 0.8em; padding-block: 1em; } .card__tags { color: var(--bubble-color); } .card__tag { color: var(--bubble-color); font-weight: 700; } .card__title { --hover-size: 0; --input-border-radius: 0; font-size: 2.5em; font-weight: 900; line-height: 1.1; min-block-size: 3lh; text-wrap: balance; .cards & { pointer-events: none; } .card__title-field { &:is(textarea) { &::placeholder { color: inherit; opacity: 0.5; } } } .card__title-link { --lines: 3; color: inherit; } } .card-count__selector { font-size: 1cqi; inset: 0.5cqi 0.5cqi auto auto; position: absolute; text-align: start; .popup { inset: 1em 1em auto auto; } } .input.boost__input { --input-border-radius: 0; --input-border-size: 0; --input-padding: 0; color: inherit; font-size: 1.1em !important; font-weight: inherit; inline-size: min-content; max-inline-size: 3ch; min-inline-size: 1ch; @supports (field-sizing: content) { field-sizing: content; } } .card__popped { align-items: center; aspect-ratio: 7/4; border: 0.4rem solid var(--bubble-color); position: absolute; inset: auto 2em 2em auto; justify-content: space-between; padding: 0.5em 1em; transform: rotate(-10deg); z-index: 1; } .card__popped-title { color: var(--color-ink-reversed); font-size: 1.5em; font-weight: 900; text-shadow: -2px -2px 0 var(--bubble-color), 2px -2px 0 var(--bubble-color), -2px 2px 0 var(--bubble-color), 2px 2px 0 var(--bubble-color); }