/* Parameterized cover renderer: palette + state + density; no module-kind layouts. */
.module-cover-grid{--cover-height:158px;--cover-padding:14px;--cover-gap:10px;--cover-title-size:.9rem;--cover-icon-size:23px;--cover-status-size:23px;--cover-radius:14px;--cover-body-tint:5%;--cover-header-tint:12%;--cover-border-tint:28%;--cover-new-body-tint:12%;--cover-new-header-tint:24%;--cover-new-border-tint:65%}
.module-cover-grid[data-density="comfortable"]{--cover-height:178px;--cover-padding:18px;--cover-gap:12px;--cover-title-size:1rem}
.module-cover-grid[data-density="compact"]{--cover-height:148px;--cover-padding:12px;--cover-gap:8px;--cover-title-size:.85rem}
.module-cover[data-color="peach"]{--cover-accent:#bb7355}
.module-cover[data-color="sage"]{--cover-accent:#648665}
.module-cover[data-color="sky"]{--cover-accent:#557f9d}
.module-cover[data-color="lilac"]{--cover-accent:#8b6aab}
.module-cover[data-color="sun"]{--cover-accent:#a18430}
.module-cover[data-unread="true"]{--cover-body-tint:var(--cover-new-body-tint);--cover-header-tint:var(--cover-new-header-tint);--cover-border-tint:var(--cover-new-border-tint)}
.module-cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.module-cover{min-width:0;height:var(--cover-height);display:flex;flex-direction:column;gap:var(--cover-gap);overflow:hidden;padding:0 var(--cover-padding) var(--cover-padding);background:color-mix(in srgb,var(--cover-accent) var(--cover-body-tint),var(--surface));color:var(--text-primary);border:1px solid color-mix(in srgb,var(--cover-accent) var(--cover-border-tint),var(--line));border-radius:var(--cover-radius);text-decoration:none;transition:border-color .15s ease,background .15s ease}
.module-cover:hover{border-color:var(--cover-accent)}
.module-cover:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.cover-heading{display:flex;align-items:center;gap:8px;min-width:0;flex:0 0 43px;margin:0 calc(-1 * var(--cover-padding));padding:0 var(--cover-padding);background:color-mix(in srgb,var(--cover-accent) var(--cover-header-tint),var(--surface));border-bottom:1px solid color-mix(in srgb,var(--cover-accent) var(--cover-border-tint),var(--line))}
.cover-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;color:var(--text-primary)}
.cover-icon svg{width:var(--cover-icon-size);height:var(--cover-icon-size);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cover-title{font:700 var(--cover-title-size)/1.3 var(--ui-font);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.cover-status{margin-left:auto;color:var(--text-secondary);flex:0 0 var(--cover-status-size);display:grid;place-items:center}
.cover-status svg{width:var(--cover-status-size);height:var(--cover-status-size);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.module-cover[data-unread="true"] .cover-status{color:var(--text-primary)}
.module-cover[data-unread="true"] .cover-status circle{fill:color-mix(in srgb,var(--cover-accent) 45%,transparent)}
.cover-signal{min-width:0;min-height:42px;display:flex;align-items:center;gap:8px}
.cover-signal strong{font:500 1rem/1.35 var(--ui-font);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}
.cover-signal.is-numeric strong{font:400 2.2rem/1.1 Georgia,serif;letter-spacing:-.04em;white-space:nowrap;display:block;text-overflow:ellipsis;min-width:0}
.cover-signal>span{font-size:.72rem;color:var(--text-secondary);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cover-detail{margin:0;color:var(--text-secondary);font-size:.73rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:900px){.module-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.module-cover-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:420px){.module-cover-grid{--cover-padding:10px;--cover-gap:8px;--cover-title-size:.8rem;--cover-icon-size:21px;--cover-status-size:22px;gap:9px}.cover-heading{gap:5px}.cover-signal strong{font-size:.9rem}.cover-signal.is-numeric strong{font-size:1.9rem}}
@media(max-width:340px){.module-cover-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.module-cover{transition:none}}
