.block-cards { display: grid; gap: var(--space-lg); grid-template-columns: 1fr; margin-bottom: var(--space-md); } .block-card { background: var(--overlay-subtle); border: var(--border-s) solid var(--accent-subtle); border-radius: var(--radius-md); display: flex; flex-direction: column; overflow: hidden; padding: var(--space-lg); position: relative; transition: border-color var(--transition-fast) ease; } .block-card::before { background: var(--card-accent); content: ""; height: var(--space-xs); left: 0; position: absolute; right: 0; top: 0; } .block-card:hover { border-color: var(--card-accent); } .block-card-header { display: flex; flex-direction: column; gap: var(--space-md); margin-bottom: var(--space-md); } .block-card-icon { color: var(--card-accent); font-size: var(--font-xl); line-height: 1; } .block-card-titles { display: flex; flex-direction: column; gap: var(--space-xs); } .block-card-title { color: var(--white); font-family: var(--font-family-heading); font-size: var(--font-lg); margin: 0; } .block-card-badges { align-items: center; display: flex; gap: var(--space-sm); } .block-card-badge { background: var(--card-accent); border-radius: var(--radius-sm); color: var(--banes-lab-main); font-size: var(--font-xs); font-weight: var(--font-weight-semibold); padding: var(--space-xs) var(--space-md); width: fit-content; } .block-card-file { align-items: center; background: var(--overlay-medium); border: var(--border-s) solid var(--accent-subtle); border-radius: var(--radius-sm); color: var(--text-light-gray); display: flex; font-size: var(--font-sm); height: var(--space-xl); justify-content: center; transition: all var(--transition-fast) ease; width: var(--space-xl); } .block-card-file:hover { background: var(--card-accent); border-color: var(--card-accent); color: var(--banes-lab-main); } .block-card-spdx { background: var(--banes-lab-main); border: var(--border-s) solid var(--accent-subtle); border-radius: var(--radius-sm); color: var(--text-light-gray); font-family: var(--font-family-mono); font-size: var(--font-xs); margin-bottom: var(--space-md); overflow-wrap: break-word; padding: var(--space-xs) var(--space-sm); word-break: break-all; } .block-card-description { color: var(--text-light-gray); font-size: var(--font-md); line-height: var(--line-height-loose); margin-bottom: var(--space-lg); } .block-card-group { margin-bottom: var(--space-md); } .block-card-rules-title { color: var(--banes-lab-accent); font-size: var(--font-sm); font-weight: var(--font-weight-semibold); margin: 0 0 var(--space-sm); text-transform: uppercase; } .block-card-rules { display: flex; flex-direction: column; gap: var(--space-xs); list-style: none; margin: 0; padding: 0; } .block-card-rules li { align-items: flex-start; color: var(--text-light-gray); display: flex; font-size: var(--font-sm); gap: var(--space-sm); } .block-card-rules i { flex-shrink: 0; margin-top: var(--space-xxs); } .block-card-rules.permitted i { color: var(--success-primary); } .block-card-rules.restricted i { color: var(--danger-primary); } .block-card-action { background: var(--card-accent); border-radius: var(--radius-sm); color: var(--banes-lab-main); cursor: pointer; font-size: var(--font-md); font-weight: var(--font-weight-semibold); margin-top: auto; padding: var(--space-sm) var(--space-md); text-align: center; transition: opacity var(--transition-fast) ease; } .block-card-action:hover { opacity: var(--opacity-dim); } @media (width >= 30rem) { .block-card-header { flex-direction: row; } .block-card-icon { font-size: var(--font-hero); } } @media (width >= 48rem) { .block-cards { grid-template-columns: repeat(2, 1fr); } }