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