.project-section.svelte-1bujsem{flex-direction:column;gap:1rem;min-width:0;display:flex}.project-head.svelte-1bujsem{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.project-head.svelte-1bujsem h1:where(.svelte-1bujsem){color:var(--on-surface,#1d1b1e);letter-spacing:-.02em;margin:0;font-size:1.7rem;line-height:1.2}.project-head.svelte-1bujsem p:where(.svelte-1bujsem){color:var(--on-surface-variant,#5d5b5e);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.project-tools.svelte-1bujsem{border-bottom:1px solid var(--outline-variant,#0000001f);flex-direction:column;gap:.65rem;padding-bottom:.9rem;display:flex}.project-search.svelte-1bujsem{width:min(100%,30rem);position:relative}.project-search.svelte-1bujsem input:where(.svelte-1bujsem){box-sizing:border-box;border:1px solid var(--outline-variant,#0000001f);background:var(--surface-container-low,#f7f3f6);width:100%;color:var(--on-surface,#1d1b1e);font:inherit;border-radius:999px;padding:.5rem 2.2rem .5rem .85rem;font-size:.8rem}.project-search.svelte-1bujsem button:where(.svelte-1bujsem){width:1.6rem;height:1.6rem;color:var(--on-surface-variant,#5d5b5e);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:1rem;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.project-chips.svelte-1bujsem{flex-wrap:wrap;gap:.35rem;display:flex}.project-chips.svelte-1bujsem button:where(.svelte-1bujsem){border:1px solid var(--outline-variant,#0000001f);background:var(--surface-container-low,#f7f3f6);color:var(--on-surface-variant,#5d5b5e);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem .65rem;font-size:.7rem}.project-chips.svelte-1bujsem button.active:where(.svelte-1bujsem){background:var(--primary-container,#ffdada);color:var(--on-primary-container,#3a0000);border-color:#0000}.project-grid.svelte-1bujsem{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));align-items:start;gap:.85rem;display:grid}.project-card.svelte-1bujsem{border:1px solid var(--outline-variant,#0000001f);background:var(--card-bg,var(--surface-container-low,#f7f3f6));border-radius:.9rem;flex-direction:column;display:flex;overflow:hidden}.project-card--featured.svelte-1bujsem{border-color:var(--primary,#8a3a3a)}.project-cover.svelte-1bujsem{aspect-ratio:16/9;background:var(--surface-container,#f1edf0);overflow:hidden}.project-cover.svelte-1bujsem img:where(.svelte-1bujsem){object-fit:cover;width:100%;height:100%}.project-body.svelte-1bujsem{flex-direction:column;gap:.35rem;min-width:0;padding:.8rem .9rem .95rem;display:flex}.project-title-row.svelte-1bujsem{align-items:flex-start;gap:.5rem;min-width:0;display:flex}.project-icon.svelte-1bujsem{background:var(--surface-container,#f1edf0);width:2.5rem;height:2.5rem;color:var(--on-surface,#1d1b1e);border-radius:.55rem;flex:none;place-items:center;font-size:.9rem;font-weight:700;display:grid}.project-title-row.svelte-1bujsem>div:where(.svelte-1bujsem){flex:1;min-width:0}.project-title-row.svelte-1bujsem h2:where(.svelte-1bujsem){color:var(--on-surface,#1d1b1e);margin:0;font-size:.92rem;line-height:1.35}.project-year.svelte-1bujsem{color:var(--on-surface-variant,#5d5b5e);font-size:.66rem}.project-featured.svelte-1bujsem{background:var(--warning-soft,#fff3d6);color:var(--warning,#7a4d00);border-radius:999px;flex:none;padding:.05rem .35rem;font-size:.62rem}.project-phase.svelte-1bujsem{background:var(--surface-container,#f1edf0);color:var(--primary,#8a3a3a);border-radius:999px;align-self:flex-start;padding:.1rem .5rem;font-size:.66rem}.project-summary.svelte-1bujsem{color:var(--on-surface-variant,#5d5b5e);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.76rem;line-height:1.55;display:-webkit-box;overflow:hidden}.project-tech.svelte-1bujsem{color:var(--on-surface-variant,#5d5b5e);flex-wrap:wrap;gap:.3rem;font-size:.65rem;display:flex}.project-tech.svelte-1bujsem span:where(.svelte-1bujsem){border:1px solid var(--outline-variant,#0000001f);border-radius:999px;padding:.1rem .4rem}.project-actions.svelte-1bujsem{gap:.45rem;margin-top:.1rem;display:flex}.project-actions.svelte-1bujsem a:where(.svelte-1bujsem){color:var(--primary,#8a3a3a);font-size:.7rem;text-decoration:none}.project-actions.svelte-1bujsem a:where(.svelte-1bujsem):hover{text-decoration:underline}.project-empty.svelte-1bujsem{text-align:center;color:var(--on-surface-variant,#5d5b5e);border:1px dashed var(--outline-variant,#0000001f);border-radius:.9rem;padding:3rem 1rem;font-size:.8rem}.project-sr.svelte-1bujsem{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
