@layer components { .card { --card-padding-inline: var(--inline-space-double); --card-padding-block: var(--block-space); --border-color: transparent; --border-radius: 0.2em; --border-size: 0; aspect-ratio: var(--card-aspect-ratio, auto); background-color: color-mix(in srgb, var(--card-color) 4%, var(--color-canvas)); border-radius: 0.5em; box-shadow: var(--shadow); color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); display: flex; flex-direction: column; inline-size: 100%; padding: var(--card-padding-block) var(--card-padding-inline); position: relative; text-align: start; z-index: 1; .avatar { --avatar-size: 2.75em; } } .card--golden.card--doing { --border-color: var(--color-canvas) !important; --lch-golden: var(--lch-yellow-light); background-color: var(--color-canvas); background-image: linear-gradient(60deg, oklch(var(--lch-golden) / 0.35) 0%, oklch(var(--lch-golden) / 0.15) 20%, oklch(var(--lch-golden) / 0) 60%, oklch(var(--lch-golden) / 0.5) 100% ); box-shadow: 0 0 0.5em 0.2em oklch(var(--lch-golden) / 0.35), 0 0 1em 0.4em oklch(var(--lch-golden) / 0.35) !important; outline: 1px solid oklch(var(--lch-golden) / 0.35); @media (prefers-color-scheme: dark) { --lch-golden: var(--lch-blue-medium); } } .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:not([src=""]) { opacity: 1; } } } } .card__link { --hover-size: 0; content: ""; inset: 0; position: absolute; z-index: -1; } .card__header { margin-block-start: calc(-1 * var(--card-padding-block)); margin-inline-start: calc(-1 * var(--card-padding-inline)); } .card__collection { background-color: var(--card-color); border-radius: var(--border-radius) 0 var(--border-radius) 0; font-weight: 800; letter-spacing: 0.4ch; padding: var(--block-space-half) var(--inline-space-double); } .card__tags { align-items: center; color: var(--card-color); display: flex; } .card__tag { color: var(--card-color); font-weight: 700; } .card__body { padding-block: var(--card-padding-block); } .card__description { house-md-toolbar, .house-md-content { color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); } .house-md-content { min-block-size: 3lh; padding: var(--block-space-half) var(--inline-space) 0 0; } & ~ .btn { --btn-background: var(--card-color); --btn-color: var(--color-ink-reversed); } } .card__content { flex: 2 1 auto; } .card__title { --hover-size: 0; --input-border-radius: 0; --input-color: color-mix(in srgb, var(--card-color) 40%, var(--color-ink)); --lines: 3; color: inherit; font-size: var(--text-xx-large); font-weight: 900; line-height: 1.2; min-block-size: 3lh; text-wrap: balance; .card-perma__bg & { min-block-size: unset; } .card-field__title { &:is(textarea)::placeholder { color: inherit; opacity: 0.5; } } .card__title-link { color: inherit; } } .card__stages { display: flex; flex: 0 1 auto; flex-direction: column; justify-self: end; max-inline-size: 20ch; padding-block: var(--block-space-half); } .card--new-card-button:is(.btn) { --btn-padding: var(--block-space) var(--inline-space-double); --btn-border-size: 0; --btn-color: var(--color-link); --btn-icon-size: 1em; --card-padding-block: calc(var(--block-space) * 1.25); box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-link) 20%, var(--color-canvas)); color: var(--btn-color); font-weight: 700; } .card__move-button { --btn-background: color-mix(in srgb, inherit 40%, var(--color-ink)); margin-block-start: calc(var(--block-space) * 1.2); margin-inline-end: calc(var(--inline-space) * -4); padding-inline-end: var(--inline-space); } .card__meta { --border: 1px solid var(--card-color); align-items: center; display: flex; max-inline-size: 100%; min-inline-size: 0; } .card__meta-grid { display: grid; grid-template-columns: auto auto; } .card__meta-item { text-transform: uppercase; strong, .local-time-value { font-weight: 900; } &:nth-child(odd) { border-inline-end: var(--border); padding-inline-end: var(--inline-space); } &:nth-child(even) { padding-inline-start: var(--inline-space); } /* First two */ &:nth-child(-n+2) { border-block-end: var(--border); padding-block-end: 0.25ch; } /* Last two */ &:nth-child(n+3) { padding-block-start: 0.25ch; } } .card__closed { align-items: center; aspect-ratio: 8/5; background-color: var(--color-canvas); border: var(--block-space-half) solid var(--card-color); border-radius: 0.2em; color: var(--card-color); display: flex; flex-direction: column; inset: auto var(--block-space) var(--block-space-double) auto; justify-content: space-between; max-inline-size: 25ch; min-inline-size: 18ch; mix-blend-mode: multiply; padding: var(--block-space-half) calc(var(--inline-space) * 1.5); position: absolute; transform: rotate(-10deg); @media (prefers-color-scheme: dark) { mix-blend-mode: screen; } } .card__closed-by { border-block-end: 1px dashed currentcolor; } .card__closed-title { color: var(--color-ink-inverted); font-size: 1.5em; font-weight: 900; line-height: 1.2; text-align: center; text-shadow: -2px -2px 0 var(--card-color), 2px -2px 0 var(--card-color), -2px 2px 0 var(--card-color), 2px 2px 0 var(--card-color); } }