.project-card.project-card--blue { --project-accent: var(--primary); --project-glow: var(--glow-blue); } .project-card.project-card--gold { --project-accent: var(--warm); --project-glow: var(--glow-gold); } .project-card.project-card--mint { --project-accent: var(--accent); --project-glow: var(--glow-mint); } .project-card.project-card--purple { --project-accent: #b876d3; --project-glow: var(--glow-purple); } .project-card.project-card--red { --project-accent: var(--danger); --project-glow: var(--glow-red); } .project-card.project-card--cyan { --project-accent: #7fb4ca; --project-glow: var(--glow-cyan); } .project-card.project-card--green { --project-accent: #98bb6c; --project-glow: var(--glow-green); } .project-card.project-card--pink { --project-accent: #d27e99; --project-glow: var(--glow-pink); } .project-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; } .project-card { --project-accent: var(--accent); --project-glow: var(--glow-mint); display: flex; flex-direction: column; min-height: 220px; padding: 22px; border: 1px solid color-mix(in srgb, var(--project-accent) 36%, var(--border)); border-radius: 8px; background: linear-gradient(140deg, var(--project-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(--project-accent); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28); transform: translateY(-2px); } .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(--project-accent) 56%, var(--border)); color: var(--project-accent); text-transform: uppercase; } .project-card__status { margin-left: auto; background-color: rgba(31, 31, 40, 0.52); color: var(--text-soft); } .project-card__title { margin-top: 22px; color: var(--text); font-size: 1.75rem; } .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; } .project-card__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 24px; } .project-card__links a { border-bottom: 1px solid currentColor; color: var(--project-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; } }