.project-card[data-v-2e9c4c86]{cursor:pointer;transition:var(--transition-slow);border:1px solid var(--color-border);background-color:var(--color-bg-card);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-card[data-v-2e9c4c86] .vui-card-content{flex-direction:column;flex:1;display:flex}.project-card[data-v-2e9c4c86]:hover{background-color:var(--color-bg-raised)}.project-card:hover .project-card__icon[data-v-2e9c4c86]{color:var(--color-accent);transform:scale(1.1)}.project-card--compact .project-card__content[data-v-2e9c4c86]{gap:var(--space-m)}.project-card--ultra-compact[data-v-2e9c4c86]{border-radius:var(--border-radius-m);flex-direction:row;align-items:center;height:40px;padding:6px 8px;display:flex}.project-card--ultra-compact[data-v-2e9c4c86]:hover{transform:none;box-shadow:0 2px 8px #0000001a}.project-card--latest[data-v-2e9c4c86]{border:1px solid var(--color-border);border-radius:var(--border-radius-l);background:var(--color-bg-subtle)}.project-card--latest[data-v-2e9c4c86]:before{display:none}.project-card--latest .project-card__content[data-v-2e9c4c86]{padding:var(--space-l)}.project-card--latest .project-card__description[data-v-2e9c4c86]{font-size:var(--font-size-l);margin-top:var(--space-m)}.project-card--latest .project-card__icon[data-v-2e9c4c86]{width:40px;height:40px}.project-card--latest .project-card__icon svg[data-v-2e9c4c86]{font-size:20px}.project-card__content[data-v-2e9c4c86]{gap:var(--space-m);flex-direction:column;flex:1;width:100%;display:flex;position:relative}.project-card--ultra-compact .project-card__content[data-v-2e9c4c86]{flex:none;display:block}.project-card__body[data-v-2e9c4c86]{gap:var(--space-m);flex-direction:column;flex:1;justify-content:space-between;display:flex;position:relative}.project-card__body-top[data-v-2e9c4c86]{gap:var(--space-xxs);flex-direction:column;display:flex}.project-card__icon[data-v-2e9c4c86]{border-radius:var(--border-radius-pill);width:32px;height:32px;color:var(--color-text-light);transition:var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.project-card__icon svg[data-v-2e9c4c86]{font-size:16px}.project-card__banner[data-v-2e9c4c86]{border-radius:var(--border-radius-m);background:0 0;width:100%;height:140px;position:relative;overflow:hidden}.project-card--compact .project-card__banner[data-v-2e9c4c86]{height:120px}.project-card__banner-surface[data-v-2e9c4c86]{border-radius:inherit;transform:var(--banner-placeholder-transform,scale(1));opacity:0;background-position:50%;background-size:cover;transition:none;position:absolute;inset:0}.project-card__banner-surface--image[data-v-2e9c4c86]{transform:scale(1)}.project-card__banner-surface--loaded[data-v-2e9c4c86]{opacity:1;transition:opacity var(--transition-slow)}.project-card__banner-skeleton[data-v-2e9c4c86]{background:var(--color-bg-raised);border-radius:inherit;pointer-events:none;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse-2e9c4c86;position:absolute;inset:0}.project-card:hover .project-card__banner-surface--image[data-v-2e9c4c86]{transition:var(--transition-fast)}.project-card__banner-badge[data-v-2e9c4c86]{background-color:var(--color-bg-lowered);border:1px solid var(--color-border-weak);color:var(--color-text-invert);border-radius:var(--border-radius-pill);font-size:var(--font-size-xxs);text-transform:uppercase;padding:5px 8px;position:absolute;top:12px;left:12px}.project-card__title[data-v-2e9c4c86]{font-weight:var(--font-weight-bold);color:var(--color-text);transition:var(--transition-fast)}.project-card:hover .project-card__title[data-v-2e9c4c86]{color:var(--color-accent)}.project-card__title--compact[data-v-2e9c4c86]{font-size:var(--font-size-xl)}.project-card__meta[data-v-2e9c4c86]{opacity:.8;font-size:var(--font-size-s);margin-top:var(--space-xs)}.project-card__date[data-v-2e9c4c86]{color:var(--color-text-light);font-size:var(--font-size-s);flex-shrink:0}.project-card__link-indicator[data-v-2e9c4c86]{color:var(--color-accent);align-items:center;gap:2px;display:flex}.project-card__link-indicator svg[data-v-2e9c4c86]{font-size:var(--font-size-s)}.project-card__tags-left[data-v-2e9c4c86]{flex:1;min-width:0}.project-card__description[data-v-2e9c4c86]{color:var(--color-text-light);line-height:1.6;font-size:var(--font-size-m);margin:0}.project-card--compact .project-card__description[data-v-2e9c4c86]{font-size:var(--font-size-s);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.project-card__ultra-compact-content[data-v-2e9c4c86]{width:100%;height:100%}.project-card__ultra-compact-main[data-v-2e9c4c86]{flex:1;min-width:0}.project-card__ultra-compact-icon[data-v-2e9c4c86]{color:var(--color-accent);font-size:var(--font-size-s);flex-shrink:0}.project-card__ultra-compact-title[data-v-2e9c4c86]{font-size:var(--font-size-s);font-weight:var(--font-weight-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;line-height:1;overflow:hidden}.project-card__ultra-compact-latest[data-v-2e9c4c86]{background:var(--color-accent);color:#000;border-radius:var(--border-radius-xs);font-size:var(--font-size-xxs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.2px;flex-shrink:0;padding:2px 4px;line-height:1}.project-card__ultra-compact-date[data-v-2e9c4c86]{color:var(--color-text-light);font-size:var(--font-size-xs);flex-shrink:0;line-height:1}@keyframes pulse-2e9c4c86{0%,to{opacity:1}50%{opacity:.5}}
