.projects-page-container{width:min(100% - 48px, var(--content-width));flex-direction:column;gap:32px;margin-inline:auto;padding-top:clamp(64px,8vw,96px);padding-bottom:clamp(60px,8vw,96px);display:flex}@media (max-width:640px){.projects-page-container{width:min(100% - 32px, var(--content-width));gap:24px;padding-top:clamp(84px,18vw,96px);padding-bottom:48px}}.projects-page-header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:760px;margin-inline:auto;display:flex}.projects-page-eyebrow{font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);background:#6c8cff14;border:1px solid #6c8cff33;border-radius:9999px;padding:4px 14px;font-size:.8rem;font-weight:600;display:inline-block}.projects-page-title{letter-spacing:-.035em;color:#fff;background:linear-gradient(#fff 40%,#ffffffb3 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:800;line-height:1.1}.projects-page-description{color:#94a3b8;max-width:620px;font-size:clamp(.95rem,1.4vw,1.08rem);line-height:1.6}.project-search-container{width:100%;max-width:640px;margin-inline:auto}.project-search-input-wrapper{background:var(--surface);border:1px solid #ffffff1f;border-radius:14px;align-items:center;width:100%;padding:4px 14px;transition:border-color .2s,box-shadow .2s,background-color .2s;display:flex;position:relative;box-shadow:0 4px 20px #00000040}.project-search-input-wrapper:focus-within{background:var(--surface-hover);border-color:#6c8cff99;box-shadow:0 8px 30px #00000059,0 0 20px #6c8cff26}.project-search-icon{color:var(--muted);flex-shrink:0;margin-right:12px;transition:color .18s}.project-search-input-wrapper:focus-within .project-search-icon{color:var(--primary)}.project-search-input{width:100%;height:48px;color:var(--foreground);background:0 0;border:none;outline:none;padding:0;font-family:inherit;font-size:.96rem}.project-search-input::placeholder{color:#64748b;opacity:.85}.project-search-clear-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:8px;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.project-search-clear-btn:hover{color:#fff;background:#ffffff29;transform:scale(1.08)}.technology-filters-section{flex-direction:column;gap:14px;width:100%;max-width:980px;margin-inline:auto;display:flex}.technology-filters-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.technology-filters-heading{color:#cbd5e1;align-items:center;gap:8px;font-size:.88rem;font-weight:500;display:inline-flex}.technology-filters-icon{color:var(--primary)}.technology-filters-title{color:#94a3b8}.technology-filters-badge{font-family:var(--font-geist-mono), monospace;color:var(--primary);background:#6c8cff26;border:1px solid #6c8cff59;border-radius:9999px;padding:2px 8px;font-size:.72rem;font-weight:600}.technology-filters-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.technology-filters-search-wrapper{background:var(--surface);border:1px solid #ffffff1a;border-radius:9999px;align-items:center;width:200px;height:32px;padding:0 12px;transition:all .18s;display:flex;position:relative}.technology-filters-search-wrapper:focus-within{background:var(--surface-hover);border-color:#6c8cff8c;width:240px;box-shadow:0 0 12px #6c8cff26}.technology-filters-search-icon{color:var(--muted);flex-shrink:0;margin-right:6px;transition:color .15s}.technology-filters-search-wrapper:focus-within .technology-filters-search-icon{color:var(--primary)}.technology-filters-search-input{width:100%;height:100%;color:var(--foreground);background:0 0;border:none;outline:none;font-family:inherit;font-size:.78rem}.technology-filters-search-input::placeholder{color:#64748b}.technology-filters-search-clear{width:18px;height:18px;color:var(--muted);cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;padding:0;transition:all .12s;display:inline-flex}.technology-filters-search-clear:hover{color:#fff;background:#fff3}.technology-filters-clear-btn{color:#f87171;cursor:pointer;background:#f8717114;border:1px solid #f8717140;border-radius:9999px;align-items:center;gap:6px;height:32px;padding:5px 12px;font-size:.8rem;font-weight:500;transition:background-color .15s,border-color .15s,transform .15s;display:inline-flex}.technology-filters-clear-btn:hover{background:#f8717129;border-color:#f8717180;transform:translateY(-1px)}.technology-filters-empty{text-align:center;color:var(--muted);background:#ffffff05;border:1px dashed #ffffff14;border-radius:12px;padding:24px 16px;font-size:.85rem}.technology-filters-pills-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:4px 0;display:flex}.technology-filter-pill{background:var(--surface);border:1px solid color-mix(in srgb, var(--filter-accent) 45%, transparent);color:#e2e8f0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:9999px;outline:none;align-items:center;gap:7px;height:36px;padding:0 14px;font-size:.82rem;font-weight:500;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 2px 8px #0003}.technology-filter-pill:hover{border-color:var(--filter-accent);background:color-mix(in srgb, var(--filter-accent) 14%, var(--surface));color:#fff;box-shadow:0 4px 12px #00000040, 0 0 10px color-mix(in srgb, var(--filter-accent) 18%, transparent)}.technology-filter-pill-selected{box-shadow:0 3px 12px color-mix(in srgb, var(--filter-accent) 35%, transparent), 0 0 10px color-mix(in srgb, var(--filter-accent) 20%, transparent);font-weight:600;background:var(--filter-accent)!important;border-color:var(--filter-accent)!important;color:#fff!important}.technology-filter-icon{object-fit:contain;flex-shrink:0;width:15px;height:15px}.technology-filter-fallback-icon{width:15px;height:15px;color:var(--filter-accent,var(--primary));background:color-mix(in srgb, var(--filter-accent,var(--primary)) 20%, #ffffff0d);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.technology-filter-pill-selected .technology-filter-fallback-icon{color:#fff;background:#fff3}.project-grid-tech-chip-fallback-icon{width:13px;height:13px;color:var(--chip-accent,var(--primary));background:color-mix(in srgb, var(--chip-accent,var(--primary)) 16%, #ffffff0d);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:.58rem;font-weight:700;line-height:1;display:inline-flex}.technology-filter-label{line-height:1}.projects-results-bar{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-block:8px 0;display:flex}.projects-results-count{font-family:var(--font-geist-mono), monospace;color:#94a3b8;font-size:.85rem;font-weight:500}.projects-results-count-number{color:var(--primary);font-weight:700}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%;display:grid}.project-grid-card-wrapper{min-width:0;transition:opacity .2s}.project-grid-card-wrapper.card-hidden{opacity:0}.project-grid-card-wrapper.card-visible{opacity:1}.project-grid-card-wrapper .project-grid-card{height:100%}@media (max-width:1080px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media (max-width:680px){.projects-grid{grid-template-columns:1fr;gap:18px}}.project-grid-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:16px;outline:none;flex-direction:column;width:100%;height:100%;transition:border-color .25s,background-color .25s,box-shadow .25s,transform .3s cubic-bezier(.25,.46,.45,.94);display:flex;overflow:hidden;box-shadow:0 4px 20px #00000040}.project-grid-card:hover,.project-grid-card:focus-visible{background:var(--surface-hover);border-color:#6c8cff6b;transform:translateY(-2px);box-shadow:0 10px 28px #00000059,0 0 16px #6c8cff14}.project-grid-card-cover-wrap{background:#0d1017;border-bottom:1px solid #ffffff0f;flex-shrink:0;width:100%;height:200px;position:relative;overflow:hidden}.project-grid-card-cover{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.project-grid-card:hover .project-grid-card-cover{transform:scale(1.03)}.project-grid-card-overlay{pointer-events:none;background:linear-gradient(#0b0d121a 0%,#0b0d1273 100%);position:absolute;inset:0}.project-grid-card-fallback{background:radial-gradient(circle at 50% 30%,#6c8cff29 0%,#0c0f16 80%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-grid-card-fallback-pattern{background-image:linear-gradient(#6c8cff0f 1px,#0000 1px),linear-gradient(90deg,#6c8cff0f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.project-grid-card-fallback-glow{filter:blur(20px);background:radial-gradient(circle,#6c8cff47 0%,#0000 70%);border-radius:50%;width:140px;height:140px;position:absolute}.project-grid-card-fallback-content{z-index:2;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.project-grid-card-fallback-icon{width:44px;height:44px;color:var(--primary);background:#6c8cff1f;border:1px solid #6c8cff4d;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 14px #6c8cff26}.project-grid-card-fallback-name{font-family:var(--font-geist-mono), monospace;color:#cbd5e1;letter-spacing:.03em;font-size:.82rem;font-weight:600}.project-grid-card-actions{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.project-grid-action-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#0b0d12d1;border:1px solid #ffffff2e;border-radius:8px;outline:none;justify-content:center;align-items:center;width:32px;height:32px;transition:all .18s;display:inline-flex}.project-grid-action-btn:hover,.project-grid-action-btn:focus-visible{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6c8cff66}.project-grid-card-body{flex-direction:column;flex:1;gap:12px;padding:18px 20px;display:flex}.project-grid-card-header{flex-direction:column;gap:6px;display:flex}.project-grid-card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-grid-card-title{color:var(--foreground);letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.project-grid-card-arrow{color:var(--muted);opacity:.6;flex-shrink:0;transition:transform .18s,color .18s,opacity .18s}.project-grid-card:hover .project-grid-card-arrow{color:var(--primary);opacity:1;transform:translate(2px,-2px)}.project-grid-card-summary{color:#94a3b8;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:3.9em;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}.project-grid-card-highlights{background:#ffffff05;border:1px solid #ffffff0d;border-radius:8px;padding:6px 10px}.project-grid-highlights-list{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.project-grid-highlight-item{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;align-items:flex-start;gap:6px;font-size:.74rem;line-height:1.35;display:flex;overflow:hidden}.project-grid-highlight-bullet{color:var(--primary);font-size:.8rem;line-height:1.2}.project-grid-card-tech{border-top:1px solid #ffffff0f;margin-top:auto;padding-top:12px}.project-grid-tech-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-grid-tech-chip{border:1px solid color-mix(in srgb, var(--chip-accent) 28%, #ffffff14);color:#cbd5e1;cursor:pointer;background:#ffffff08;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.72rem;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.project-grid-tech-chip:hover{background:color-mix(in srgb, var(--chip-accent) 15%, transparent);border-color:var(--chip-accent);color:#fff;transform:translateY(-1px)}.project-grid-tech-chip-icon{object-fit:contain;width:13px;height:13px}.project-grid-tech-more{font-family:var(--font-geist-mono), monospace;color:var(--muted);border:1px solid var(--border);background:#ffffff09;border-radius:6px;padding:3px 6px;font-size:.7rem}.projects-empty-state{text-align:center;background:var(--surface);border:1px dashed #ffffff24;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:14px;margin-top:12px;padding:56px 24px;display:flex}.projects-empty-icon-box{width:68px;height:68px;color:var(--primary);background:#6c8cff1a;border:1px solid #6c8cff40;border-radius:18px;justify-content:center;align-items:center;margin-bottom:4px;display:flex;box-shadow:0 4px 20px #6c8cff26}.projects-empty-title{color:var(--foreground);font-size:1.35rem;font-weight:700}.projects-empty-description{color:var(--muted);max-width:480px;font-size:.92rem;line-height:1.55}.projects-empty-clear-btn{height:42px;margin-top:8px;padding:0 20px;font-size:.86rem}
