.project-card{background:var(--surface);border:.5px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;height:100%;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--border-md);transform:translateY(-3px)}.project-card.wide{flex-direction:row;grid-column:span 2}.project-cover{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:190px;display:flex;position:relative;overflow:hidden}.project-card.wide .project-cover{width:300px;height:auto}.project-cover-grid{background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0}.project-cover-name{font-family:var(--font-mono);letter-spacing:.1em;opacity:.3;color:#fff;font-size:10px;position:absolute;top:14px;left:16px}.project-cover-badge{width:60px;height:60px;font-family:var(--font-mono);letter-spacing:.06em;z-index:2;background:#0003;border:.5px solid;border-radius:14px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.project-body{flex-direction:column;flex:1;padding:20px 22px 22px;display:flex}.project-card.wide .project-body{padding:28px 32px}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.project-name{font-size:17px;font-weight:500}.project-badge{font-family:var(--font-mono);letter-spacing:.06em;border:.5px solid;border-radius:4px;flex-shrink:0;margin-top:2px;margin-left:10px;padding:3px 9px;font-size:10px}.project-description{color:var(--muted);flex:1;margin-bottom:18px;font-size:13px;font-weight:300;line-height:1.72}.project-footer{justify-content:space-between;align-items:center;display:flex}.project-tags{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.project-tag{font-family:var(--font-mono);color:var(--hint);letter-spacing:.04em;font-size:10px}.project-link{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}
