.portfolio-section.svelte-s3x3qx.svelte-s3x3qx{padding:5rem 0;background-color:#070c13}.section-header.svelte-s3x3qx.svelte-s3x3qx{margin-bottom:3rem}.section-title.svelte-s3x3qx.svelte-s3x3qx{font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;color:#f0f6fc;margin-top:.5rem;line-height:1.2;letter-spacing:-.02em}.accent.svelte-s3x3qx.svelte-s3x3qx{color:#64ffda}.projects-grid.svelte-s3x3qx.svelte-s3x3qx{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.projects-grid.svelte-s3x3qx.svelte-s3x3qx{grid-template-columns:repeat(2,1fr)}}.project-card.svelte-s3x3qx.svelte-s3x3qx{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;transition:border-color .3s ease,transform .3s ease}.project-card.svelte-s3x3qx.svelte-s3x3qx:hover{border-color:#64ffda40}.project-image-wrap.svelte-s3x3qx.svelte-s3x3qx{position:relative;overflow:hidden;aspect-ratio:16 / 9}.project-image.svelte-s3x3qx.svelte-s3x3qx{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.project-card.svelte-s3x3qx:hover .project-image.svelte-s3x3qx{transform:scale(1.04)}.project-overlay.svelte-s3x3qx.svelte-s3x3qx{position:absolute;inset:0;background:rgba(5,10,15,.75);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.project-card.svelte-s3x3qx:hover .project-overlay.svelte-s3x3qx{opacity:1}.overlay-btn.svelte-s3x3qx.svelte-s3x3qx{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:#64ffda;color:#050a0f;border-radius:100px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s ease}.overlay-btn.svelte-s3x3qx.svelte-s3x3qx:hover{background:#4de6c4}.project-body.svelte-s3x3qx.svelte-s3x3qx{padding:1.5rem}.tech-chips.svelte-s3x3qx.svelte-s3x3qx{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.tech-chip.svelte-s3x3qx.svelte-s3x3qx{display:inline-block;padding:.2rem .65rem;background:rgba(100,255,218,.06);border:1px solid rgba(100,255,218,.15);border-radius:100px;font-size:.7rem;color:#64748b;font-weight:500}.project-name.svelte-s3x3qx.svelte-s3x3qx{font-size:1.1rem;font-weight:700;color:#f0f6fc;margin-bottom:.5rem}.project-desc.svelte-s3x3qx.svelte-s3x3qx{font-size:.875rem;color:#64748b;line-height:1.6;margin-bottom:1.25rem}.project-links.svelte-s3x3qx.svelte-s3x3qx{display:flex;align-items:center;gap:.75rem}.link-primary.svelte-s3x3qx.svelte-s3x3qx{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:#64ffda;color:#050a0f;border-radius:100px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .2s ease}.link-primary.svelte-s3x3qx.svelte-s3x3qx:hover{background:#4de6c4}.link-secondary.svelte-s3x3qx.svelte-s3x3qx{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1px solid rgba(255,255,255,.12);color:#94a3b8;border-radius:100px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s ease}.link-secondary.svelte-s3x3qx.svelte-s3x3qx:hover{border-color:#ffffff4d;color:#e2e8f0}.project-terminal.svelte-s3x3qx.svelte-s3x3qx{aspect-ratio:16 / 9;background:#060b10;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow:hidden}.terminal-titlebar.svelte-s3x3qx.svelte-s3x3qx{display:flex;align-items:center;gap:6px;padding:.6rem .875rem;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.05);flex-shrink:0}.tb-dot.svelte-s3x3qx.svelte-s3x3qx{display:block;width:10px;height:10px;border-radius:50%;opacity:.8}.tb-file.svelte-s3x3qx.svelte-s3x3qx{margin-left:.5rem;font-size:.7rem;color:#475569;font-family:Geist Sans,ui-monospace,monospace;letter-spacing:.02em}.terminal-body.svelte-s3x3qx.svelte-s3x3qx{flex:1;padding:1rem 1.1rem;margin:0;font-family:Geist Sans,ui-monospace,Cascadia Code,monospace;font-size:clamp(.65rem,1.4vw,.78rem);line-height:1.7;overflow:hidden;white-space:pre;color:#64748b}.tc.svelte-s3x3qx.svelte-s3x3qx{color:#3d5066}.tk.svelte-s3x3qx.svelte-s3x3qx{color:#64ffda}.ts.svelte-s3x3qx.svelte-s3x3qx{color:#a855f7}.tf.svelte-s3x3qx.svelte-s3x3qx{color:#f0f6fc;font-weight:600}.tn.svelte-s3x3qx.svelte-s3x3qx{color:#f97316}.project-card--placeholder.svelte-s3x3qx.svelte-s3x3qx{min-height:300px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.015);border-style:dashed;border-color:#ffffff1a}.project-card--placeholder.svelte-s3x3qx.svelte-s3x3qx:hover{transform:none;border-color:#64ffda26}.placeholder-inner.svelte-s3x3qx.svelte-s3x3qx{text-align:center;padding:2rem}.placeholder-icon.svelte-s3x3qx.svelte-s3x3qx{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:rgba(100,255,218,.06);border:1px solid rgba(100,255,218,.15);border-radius:14px;color:#64ffda;margin-bottom:1rem}.placeholder-title.svelte-s3x3qx.svelte-s3x3qx{font-size:1rem;font-weight:700;color:#94a3b8;margin-bottom:.5rem}.placeholder-desc.svelte-s3x3qx.svelte-s3x3qx{font-size:.82rem;color:#475569}.progress-bar.svelte-1978hit{position:fixed;top:0;left:0;height:2px;width:0%;background:linear-gradient(to right,#64ffda,#a855f7);z-index:10000;pointer-events:none}
