.project-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; } .project-card { display: flex; flex-direction: column; min-height: 220px; padding: 22px; border: 1px solid color-mix(in srgb, var(--card-accent) 36%, var(--border)); border-radius: 8px; background: linear-gradient(140deg, var(--card-glow), transparent 48%), linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent), var(--surface); box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2); transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease; } .project-card:hover { border-color: var(--card-accent); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28); transform: translateY(-5px); } .project-card__header { display: flex; align-items: center; gap: 12px; } .project-card__index { color: var(--text-soft); font-family: monospace; font-size: 0.82rem; } .project-card__key, .project-card__status { border-radius: 8px; padding: 4px 8px; font-size: 0.82rem; font-weight: 700; } .project-card__key { border: 1px solid color-mix(in srgb, var(--card-accent) 56%, var(--border)); color: var(--card-accent); text-transform: uppercase; } .project-card__status { margin-left: auto; background-color: rgba(31, 31, 40, 0.52); color: var(--text-soft); font-family: var(--fonts-monospace); } .project-card__title { margin-top: 22px; color: var(--text); font-size: clamp(1.6rem, 2.4vw, 1.9rem); line-height: 1; } .project-card__description { margin-top: 8px; color: var(--text-soft); line-height: 1.55; } .project-card__stack { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; } .project-card__stack span { border-radius: 8px; border: 1px solid var(--card-glow); padding: 5px 9px; background-color: rgba(31, 31, 40, 0.42); color: var(--card-accent); font-size: 0.9rem; font-family: var(--fonts-monospace); font-style: italic; } .project-card__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 24px; font-family: var(--fonts-monospace); } .project-card__links a { border-bottom: 1px solid currentColor; color: var(--card-accent); font-weight: 700; text-decoration: none; } .project-empty { grid-column: 1 / -1; border: 1px solid var(--border); border-radius: 8px; padding: 18px; color: var(--text-soft); } @media (max-width: 780px) { .project-grid { grid-template-columns: 1fr; } }