.archive-hero[data-astro-cid-4oe6ki4l] h1[data-astro-cid-4oe6ki4l]{margin-bottom:var(--space-2)}.archive-hero[data-astro-cid-4oe6ki4l] .lede[data-astro-cid-4oe6ki4l]{font-family:var(--font-display);color:var(--fg-muted);font-size:var(--text-lede);line-height:var(--leading-snug);max-width:56ch}.archive-stats[data-astro-cid-4oe6ki4l]{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-subtle)}.archive-toolbar[data-astro-cid-4oe6ki4l]{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);align-items:flex-start;padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-4)}.facet[data-astro-cid-4oe6ki4l]{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.facet-label[data-astro-cid-4oe6ki4l]{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-subtle)}.chips[data-astro-cid-4oe6ki4l]{display:flex;flex-wrap:wrap;gap:.4rem}.chip[data-astro-cid-4oe6ki4l]{font-family:var(--font-sans);font-size:var(--text-sm);border:1px solid var(--border);background:transparent;color:var(--fg-muted);padding:.3rem .85rem;border-radius:999px;cursor:pointer;transition:all var(--transition)}.chip[data-astro-cid-4oe6ki4l]:hover{border-color:var(--fg-muted);color:var(--fg)}.chip--active[data-astro-cid-4oe6ki4l]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.archive-grid[data-astro-cid-4oe6ki4l]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:var(--space-4)}.card[data-astro-cid-4oe6ki4l]{border:1px solid var(--border);background:var(--bg);transition:border-color var(--transition)}.card[data-astro-cid-4oe6ki4l]:hover{border-color:var(--fg-muted)}.card__link[data-astro-cid-4oe6ki4l]{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}.card__cover[data-astro-cid-4oe6ki4l]{position:relative;aspect-ratio:4 / 3;background:var(--bg-elevated);overflow:hidden}.card__cover[data-astro-cid-4oe6ki4l] img[data-astro-cid-4oe6ki4l]{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.18,1)}.card__link[data-astro-cid-4oe6ki4l]:hover .card__cover[data-astro-cid-4oe6ki4l] img[data-astro-cid-4oe6ki4l]{transform:scale(1.04)}.card__cover-placeholder[data-astro-cid-4oe6ki4l]{position:absolute;inset:0;display:grid;place-items:center;color:var(--fg-subtle);font-family:var(--font-display);font-size:3rem}.card__type[data-astro-cid-4oe6ki4l]{position:absolute;top:.65rem;left:.65rem;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;padding:.2rem .55rem;background:var(--bg);color:var(--fg);border:1px solid var(--border);text-transform:uppercase}.card__type--thesis[data-astro-cid-4oe6ki4l]{color:var(--fg);border-color:var(--fg)}.card__type--project[data-astro-cid-4oe6ki4l]{color:var(--fg-muted)}.card__type--coursework[data-astro-cid-4oe6ki4l]{color:var(--fg-subtle)}.card__body[data-astro-cid-4oe6ki4l]{padding:var(--space-3);display:flex;flex-direction:column;gap:.35rem;flex:1}.card__meta[data-astro-cid-4oe6ki4l]{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.05em;color:var(--fg-subtle)}.card__title[data-astro-cid-4oe6ki4l]{margin:0;font-family:var(--font-display);font-size:var(--text-h4);line-height:var(--leading-tight);letter-spacing:-.012em}.card__subtitle[data-astro-cid-4oe6ki4l]{margin:0;font-family:var(--font-display);font-size:var(--text-sm);color:var(--fg-muted)}.card__summary[data-astro-cid-4oe6ki4l]{margin:.4rem 0 0;color:var(--fg-muted);font-size:var(--text-sm);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.card__tools[data-astro-cid-4oe6ki4l]{margin:.7rem 0 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--fg-subtle)}.archive-empty[data-astro-cid-4oe6ki4l]{text-align:center;color:var(--fg-muted);padding:var(--space-5) 0}.archive-foot[data-astro-cid-4oe6ki4l]{margin-top:var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-subtle);text-align:center}
