.projects{padding-bottom:clamp(4.5rem,10vw,7rem)}.projects__toolbar{position:sticky;top:var(--nav-height);z-index:10;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 0;margin-bottom:.5rem;background:#0a0a0cd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.projects__filters{display:flex;flex-wrap:wrap;gap:.4rem}.projects__filter{display:inline-flex;align-items:center;gap:.5rem;height:38px;padding:0 .95rem;font-size:.875rem;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;transition:color var(--transition),background-color var(--transition),border-color var(--transition)}.projects__filter:hover{color:var(--text);border-color:var(--border-strong)}.projects__filter.is-active{color:#0a0a0c;background:var(--text);border-color:var(--text)}.projects__filter-count{font-family:var(--font-mono);font-size:.72rem;opacity:.6}.projects__search{position:relative;display:flex;align-items:center;flex:0 1 300px;min-width:220px;height:40px;padding:0 .85rem;gap:.55rem;color:var(--text-dim);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;transition:border-color var(--transition),box-shadow var(--transition)}.projects__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #8b7cff26}.projects__search input{flex:1;min-width:0;height:100%;font-size:.9rem;background:none;border:none;outline:none;color:var(--text)}.projects__search input::placeholder{color:var(--text-dim)}.projects__search input::-webkit-search-cancel-button{display:none}.projects__search-clear{display:grid;place-items:center;color:var(--text-muted)}.projects__count{margin:1.25rem 0 1.5rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-dim)}.projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.pcard:hover{border-color:var(--border-strong);transform:translateY(-4px);box-shadow:0 24px 50px -24px #000c}.pcard__media{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--border)}.pcard__media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .7s var(--ease)}.pcard:hover .pcard__media img{transform:scale(1.04)}.pcard__body{display:flex;flex-direction:column;flex:1;padding:1.35rem 1.35rem 1.2rem}.pcard__cats{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);margin-bottom:.6rem}.pcard__title{font-size:1.08rem;letter-spacing:-.02em;line-height:1.3;margin-bottom:.6rem}.pcard__title button{text-align:left;font-weight:inherit;letter-spacing:inherit;line-height:inherit;transition:color var(--transition)}.pcard__title button:hover{color:var(--accent-strong)}.pcard__summary{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pcard__tech{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem}.pcard__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border)}.pcard__more{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;color:var(--text)}.pcard__more svg{transition:transform var(--transition)}.pcard__more:hover svg{transform:translate(2px,-2px)}.pcard__gh{display:grid;place-items:center;width:34px;height:34px;color:var(--text-muted);border-radius:50%;transition:color var(--transition),background-color var(--transition)}.pcard__gh:hover{color:var(--text);background:#ffffff0f}.pcard__gh--private,.pcard__gh--private:hover{color:var(--text-dim);background:none;cursor:help}.projects__empty{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 1rem;text-align:center;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.projects__reset{font-size:.9rem;font-weight:500;color:var(--accent-strong)}@media(max-width:1024px){.projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.projects__toolbar{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.projects__filters{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scrollbar-width:none}.projects__filters::-webkit-scrollbar{display:none}.projects__filter{flex-shrink:0}.projects__search{flex:1 1 100%}.projects__grid{grid-template-columns:minmax(0,1fr)}}
