.project-card[data-astro-cid-y2vllrex]{cursor:pointer;flex-direction:column;height:100%;display:flex;position:relative}.project-card__link-overlay[data-astro-cid-y2vllrex]{z-index:1;border-radius:inherit;position:absolute;inset:0}.project-card__image[data-astro-cid-y2vllrex]{aspect-ratio:16/9;background-color:var(--color-background-secondary);border:1px solid var(--color-border-subtle);position:relative;overflow:hidden}.project-card__ai-badge{top:var(--space-2);left:var(--space-2);z-index:2;align-items:center;gap:var(--space-1);color:#ffffffb3;filter:drop-shadow(0 1px 2px #000c);font-size:var(--text-xs);cursor:help;font-weight:500;transition:transform .2s,color .2s;display:flex;position:absolute}.project-card__ai-badge:hover{color:#fff;transform:scale(1.1)}.project-card__ai-badge .ai-tooltip{margin-top:var(--space-2);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;width:max-content;max-width:200px;box-shadow:var(--shadow-md);text-align:left;filter:none;background-color:#000000f2;font-weight:400;line-height:1.4;transition:opacity .2s,visibility .2s;position:absolute;top:100%;left:0}.project-card__ai-badge:hover .ai-tooltip{opacity:1;visibility:visible}.project-card__image[data-astro-cid-y2vllrex]:before{content:"";z-index:1;pointer-events:none;--c:#ffffff8c;background:linear-gradient(var(--c), var(--c)) top left / 1px 12px no-repeat, linear-gradient(var(--c), var(--c)) top left / 12px 1px no-repeat, linear-gradient(var(--c), var(--c)) top right / 1px 12px no-repeat, linear-gradient(var(--c), var(--c)) top right / 12px 1px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 1px 12px no-repeat, linear-gradient(var(--c), var(--c)) bottom left / 12px 1px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 1px 12px no-repeat, linear-gradient(var(--c), var(--c)) bottom right / 12px 1px no-repeat;opacity:0;transition:opacity var(--transition-base);position:absolute;inset:10px}.project-card[data-astro-cid-y2vllrex]:hover .project-card__image[data-astro-cid-y2vllrex]:before{opacity:1}.project-card__image[data-astro-cid-y2vllrex] img[data-astro-cid-y2vllrex]{object-fit:cover;filter:saturate(.85);width:100%;height:100%;transition:filter var(--transition-slow)}.project-card[data-astro-cid-y2vllrex]:hover .project-card__image[data-astro-cid-y2vllrex] img[data-astro-cid-y2vllrex]{filter:saturate()}.project-card__image--default[data-astro-cid-y2vllrex]{--_bg:var(--color-background);--_star1:var(--color-text-muted);--_star2:var(--color-primary);--_glow:var(--color-primary);background: radial-gradient(2px 2px at 10% 15%, var(--_star2) 50%, transparent 100%), radial-gradient(2px 2px at 25% 70%, var(--_star1) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 40% 30%, var(--_star2) 50%, transparent 100%), radial-gradient(2px 2px at 55% 85%, var(--_star1) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 70% 20%, var(--_star2) 50%, transparent 100%), radial-gradient(2px 2px at 85% 55%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 15% 45%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 50% 50%, var(--_star2) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 90% 10%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 35% 90%, var(--_star2) 50%, transparent 100%), radial-gradient(1px 1px at 60% 40%, var(--_star1) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 5% 80%, var(--_star2) 50%, transparent 100%), radial-gradient(1px 1px at 75% 65%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 95% 35%, var(--_star2) 50%, transparent 100%), radial-gradient(1.5px 1.5px at 45% 5%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 20% 25%, var(--_star1) 50%, transparent 100%), radial-gradient(1px 1px at 80% 80%, var(--_star2) 50%, transparent 100%),  radial-gradient(ellipse at 30% 40%, color-mix(in srgb, var(--_glow) 8%, transparent) 0%, transparent 60%), radial-gradient(ellipse at 70% 60%, color-mix(in srgb, var(--_glow) 5%, transparent) 0%, transparent 50%),  var(--_bg);position:relative}.project-card__image--default[data-astro-cid-y2vllrex]:after{content:"";opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5H3a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-10a1 1 0 0 0-1-1h-3.5l-1.72-2.58A1 1 0 0 0 14.95 3H9.05a1 1 0 0 0-.83.42L6.5 6.5z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3Cline x1='2' y1='2' x2='22' y2='22'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card__content[data-astro-cid-y2vllrex]{gap:var(--space-3);padding-block:var(--space-5) 0;flex-direction:column;flex-grow:1;display:flex}.project-card__title[data-astro-cid-y2vllrex]{font-size:var(--text-2xl);color:var(--color-text);transition:color var(--transition-fast);order:1;font-weight:400}.project-card[data-astro-cid-y2vllrex]:hover .project-card__title[data-astro-cid-y2vllrex]{color:var(--color-primary)}.project-card__date[data-astro-cid-y2vllrex]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);order:0}.project-card__description[data-astro-cid-y2vllrex]{font-size:var(--text-base);color:var(--color-text-secondary);order:2;line-height:1.6}.project-card__tags[data-astro-cid-y2vllrex]{gap:var(--space-1) var(--space-3);flex-wrap:wrap;order:3;margin-block-start:auto;display:flex}.project-card__tag[data-astro-cid-y2vllrex]{padding:0}.project-tag[data-astro-cid-y2vllrex]{font-family:var(--font-mono);font-size:var(--text-xs);min-height:24px;color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);z-index:2;background:0 0;border:none;padding:.25rem 0;position:relative}.project-tag[data-astro-cid-y2vllrex]:before{content:"#";opacity:.6}.project-tag[data-astro-cid-y2vllrex]:hover{color:var(--color-primary)}.project-card__actions[data-astro-cid-y2vllrex]{gap:var(--space-6);order:4;align-items:center;display:flex}.project-card__read-more[data-astro-cid-y2vllrex],.project-card__external[data-astro-cid-y2vllrex]{font-size:var(--text-sm);color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:.25em;font-weight:500}.project-card[data-astro-cid-y2vllrex]:hover .project-card__read-more[data-astro-cid-y2vllrex]{text-decoration-color:var(--color-primary)}.project-card__external[data-astro-cid-y2vllrex]{z-index:2;transition:text-decoration-color var(--transition-fast);padding-block:.3rem;display:inline-block;position:relative}.project-card__external[data-astro-cid-y2vllrex]:hover{color:var(--color-text);text-decoration-color:var(--color-primary)}
