.projects-page{max-width:var(--content-max-width);padding:var(--space-xl)var(--space-lg);min-height:100vh;margin:0 auto;position:relative}.projects-page .grid-bg{background-image:linear-gradient(var(--border)1px,transparent 1px),linear-gradient(90deg,var(--border)1px,transparent 1px);opacity:.15;z-index:-1;pointer-events:none;background-size:40px 40px;position:absolute;inset:0}.projects-page .sys-header{padding:var(--space-md)0;border-bottom:1px solid var(--border);margin-bottom:var(--space-lg);text-transform:uppercase;letter-spacing:1px;font-weight:700;font-size:var(--font-size-subtitle);justify-content:space-between;display:flex}.projects-page .sys-title{align-items:center;gap:var(--space-sm);display:flex}.projects-page .sys-meta{font-size:var(--font-size-xs);color:var(--text-secondary)}.repo-controls{border-bottom:1px dashed var(--arch-border);flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:0 0 20px;display:flex}.control-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.control-label{color:var(--arch-muted);text-transform:uppercase;align-items:center;gap:5px;font-size:.75rem;display:flex}.filter-btn{border:1px solid var(--arch-border);color:var(--arch-muted);font-family:var(--arch-font);font-size:var(--font-size-xs);cursor:pointer;text-transform:uppercase;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:6px 12px;transition:all .2s;display:flex}.filter-btn:hover,.filter-btn.active{border-color:var(--arch-accent);color:var(--arch-accent);background:#0000001a}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding-bottom:40px;display:grid}@media (max-width:768px){.projects-page{padding:var(--space-lg)var(--space-md)}.repo-controls{flex-direction:column;gap:1rem}.projects-page .sys-header{flex-direction:column;align-items:flex-start;gap:.5rem}}@media (max-width:640px){.repo-grid{grid-template-columns:1fr}}.repo-card{background:var(--bg-primary);border:1px solid var(--arch-border);flex-direction:column;min-height:220px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative}.repo-card:hover{border-color:var(--arch-accent);transform:translateY(-2px);box-shadow:4px 4px #0000001a}.repo-header{border-bottom:1px solid var(--arch-border);background:#00000005;justify-content:space-between;align-items:center;padding:15px;display:flex}.repo-title{font-weight:700;font-size:var(--font-size-subtitle);color:var(--arch-text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:10px;max-width:200px;display:flex;overflow:hidden}.repo-body{font-size:var(--font-size-body);color:var(--arch-muted);flex-direction:column;flex:1;gap:15px;padding:15px;line-height:1.5;display:flex}.repo-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;margin:0;display:-webkit-box;overflow:hidden}.repo-tags{flex-wrap:wrap;gap:6px;margin-top:auto;display:flex}.tech-tag{font-size:var(--font-size-xs);border:1px solid var(--arch-border);color:var(--arch-muted);font-family:var(--font-primary);padding:2px 6px}.repo-footer{border-top:1px dashed var(--arch-border);font-size:var(--font-size-small);color:var(--arch-muted);justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.stat-group{gap:15px;display:flex}.stat-item{align-items:center;gap:5px;display:flex}.repo-link{color:var(--arch-accent);text-transform:uppercase;font-weight:700;font-size:var(--font-size-xs);align-items:center;gap:5px;text-decoration:none;display:flex}.repo-link:hover{text-decoration:underline}.projects-loading,.projects-error{justify-content:center;align-items:center;gap:var(--space-md);min-height:300px;color:var(--text-secondary);font-size:var(--font-size-body);flex-direction:column;display:flex}.projects-error{color:var(--text-primary)}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lang-tag{border-color:var(--arch-accent);color:var(--arch-accent)}@media (max-width:480px){.projects-page{padding:var(--space-md)var(--space-sm)}.repo-grid{grid-template-columns:1fr;gap:12px}.repo-card{min-height:180px}.repo-header{padding:12px}.repo-title{font-size:var(--font-size-xs)}.repo-body{font-size:var(--font-size-xxs);padding:12px}.repo-controls{flex-direction:column;gap:.75rem}.filter-btn{font-size:var(--font-size-xxs);padding:4px 8px}}@media (max-width:320px){.projects-page{padding:var(--space-sm)var(--space-xs)}.projects-page .sys-header{font-size:var(--font-size-body);padding:var(--space-sm)0}.projects-page .sys-meta{font-size:.6rem}.repo-grid{gap:8px}.repo-card{min-height:160px}.repo-header{padding:8px}.repo-title{max-width:150px;font-size:.85rem}.repo-body{gap:10px;padding:8px;font-size:.75rem}.repo-description{-webkit-line-clamp:2;line-clamp:2}.tech-tag{padding:1px 4px;font-size:.6rem}.repo-footer{padding:8px;font-size:.65rem}.stat-group{gap:8px}.repo-link{font-size:.6rem}.filter-btn{padding:3px 6px;font-size:.6rem}.control-label{font-size:.6rem}}
