.labs-hero[data-astro-cid-7bqc3cms]{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:var(--space-sm);background:transparent}.labs-hero-content[data-astro-cid-7bqc3cms]{position:relative;z-index:10;max-width:var(--width-wide);margin:0 auto;padding:0 var(--gutter) var(--space-md);display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}.labs-badge[data-astro-cid-7bqc3cms]{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;backdrop-filter:blur(12px);box-shadow:inset 0 1px 2px #ffffff1a}.labs-badge-dot[data-astro-cid-7bqc3cms]{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 8px #34d399cc;flex-shrink:0}.labs-badge-text[data-astro-cid-7bqc3cms]{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.625rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:#a7f3d0}.labs-title[data-astro-cid-7bqc3cms]{font-size:clamp(3.5rem,12vw,8rem);font-weight:500;letter-spacing:-.05em;line-height:1;color:#fff;filter:drop-shadow(0 25px 50px rgba(0,0,0,.5));margin:0}.labs-title-accent[data-astro-cid-7bqc3cms]{background:linear-gradient(to right,#6ee7b7,#67e8f9,#a1a1aa);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;font-weight:300}.labs-desc[data-astro-cid-7bqc3cms]{font-size:clamp(1rem,2vw,1.125rem);color:#a1a1aa;max-width:var(--width-text);margin:0;margin-inline:auto;font-weight:300;line-height:1.7;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.labs-projects[data-astro-cid-2oz4nvfo]{position:relative;z-index:10;padding:0 var(--gutter) var(--space-md);background:transparent}.labs-projects-inner[data-astro-cid-2oz4nvfo]{max-width:var(--width-wide);margin:0 auto;display:flex;flex-direction:column;gap:6rem}@media(min-width:768px){.labs-projects-inner[data-astro-cid-2oz4nvfo]{gap:10rem}}.project-row[data-astro-cid-2oz4nvfo]{display:flex;flex-direction:column;gap:2.5rem;align-items:center}@media(min-width:768px){.project-row[data-astro-cid-2oz4nvfo]{flex-direction:row;gap:5rem;align-items:center}.project-row--reverse[data-astro-cid-2oz4nvfo]{flex-direction:row-reverse}}.project-img-outer[data-astro-cid-2oz4nvfo]{position:relative;width:100%;flex-shrink:0}@media(min-width:768px){.project-img-outer[data-astro-cid-2oz4nvfo]{width:58%}}.project-img-glow[data-astro-cid-2oz4nvfo]{position:absolute;inset:-20%;background:radial-gradient(ellipse at center,rgba(139,92,246,.18) 0%,transparent 70%);border-radius:50%;pointer-events:none;z-index:0;filter:blur(20px)}.project-img-wrap[data-astro-cid-2oz4nvfo]{position:relative;width:100%;border-radius:1.25rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-top-color:#fff3;box-shadow:0 24px 60px #0009,0 0 0 1px #8b5cf61f,inset 0 1px #ffffff14;background:#111113;z-index:1}.browser-chrome[data-astro-cid-2oz4nvfo]{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:#1a1a1d;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.browser-dots[data-astro-cid-2oz4nvfo]{display:flex;gap:.375rem;flex-shrink:0}.dot[data-astro-cid-2oz4nvfo]{width:.625rem;height:.625rem;border-radius:50%}.dot-red[data-astro-cid-2oz4nvfo]{background:#ff5f57}.dot-yellow[data-astro-cid-2oz4nvfo]{background:#febc2e}.dot-green[data-astro-cid-2oz4nvfo]{background:#28c840}.browser-url[data-astro-cid-2oz4nvfo]{flex:1;display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:.375rem;color:#52525b;min-width:0}.browser-url[data-astro-cid-2oz4nvfo] svg[data-astro-cid-2oz4nvfo]{flex-shrink:0}.browser-url-text[data-astro-cid-2oz4nvfo]{font-family:var(--font-mono, monospace);font-size:.625rem;color:#52525b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em}.project-img-screen[data-astro-cid-2oz4nvfo]{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden}.project-img[data-astro-cid-2oz4nvfo]{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.project-img-placeholder[data-astro-cid-2oz4nvfo]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#3f3f46;background:#0e0e0e;aspect-ratio:4 / 3}.project-img-placeholder[data-astro-cid-2oz4nvfo] svg[data-astro-cid-2oz4nvfo]{opacity:.4}.project-img-placeholder[data-astro-cid-2oz4nvfo] span[data-astro-cid-2oz4nvfo]{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;opacity:.4}.project-badge[data-astro-cid-2oz4nvfo]{position:absolute;bottom:1rem;left:1rem;z-index:2;display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:9999px;background:#0009;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px)}.project-badge-icon[data-astro-cid-2oz4nvfo]{flex-shrink:0}.icon-cyan[data-astro-cid-2oz4nvfo]{color:#22d3ee}.icon-emerald[data-astro-cid-2oz4nvfo]{color:#10b981}.icon-purple[data-astro-cid-2oz4nvfo]{color:#a78bfa}.project-badge-text[data-astro-cid-2oz4nvfo]{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.5625rem;text-transform:uppercase;letter-spacing:.12em;color:#d4d4d8}.project-content[data-astro-cid-2oz4nvfo]{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:0}@media(min-width:768px){.project-content[data-astro-cid-2oz4nvfo]{width:42%}}.project-title[data-astro-cid-2oz4nvfo]{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:500;letter-spacing:-.04em;color:#fff;margin:0 0 1.25rem;line-height:1}.project-desc[data-astro-cid-2oz4nvfo]{font-size:1rem;color:#a1a1aa;font-weight:300;line-height:1.75;margin:0 0 2rem}.project-tags[data-astro-cid-2oz4nvfo]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}.project-tag[data-astro-cid-2oz4nvfo]{padding:.3rem .75rem;border-radius:9999px;border:1px solid rgba(139,92,246,.2);background:#8b5cf60f;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#a78bfa}.project-actions[data-astro-cid-2oz4nvfo]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.project-github-btn[data-astro-cid-2oz4nvfo]{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.75rem;border-radius:9999px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-top-color:#fff3;border-left-color:#ffffff26;box-shadow:0 8px 32px #0000004d,inset 0 1px 2px #ffffff1a;backdrop-filter:blur(40px);color:#d4d4d8;font-size:.9375rem;text-decoration:none;transition:all .25s ease}.project-github-btn[data-astro-cid-2oz4nvfo]:hover{background:#ffffff0f;border-color:#fff3;color:#fff;box-shadow:0 8px 32px #ffffff14,inset 0 1px 4px #ffffff4d}.github-icon[data-astro-cid-2oz4nvfo]{color:#71717a;transition:color .25s ease;flex-shrink:0}.project-github-btn[data-astro-cid-2oz4nvfo]:hover .github-icon[data-astro-cid-2oz4nvfo]{color:#d4d4d8}.arrow-icon[data-astro-cid-2oz4nvfo]{color:#52525b;transition:color .25s ease,transform .25s ease;flex-shrink:0}.project-github-btn[data-astro-cid-2oz4nvfo]:hover .arrow-icon[data-astro-cid-2oz4nvfo]{color:#d4d4d8;transform:translate(2px,-2px)}.project-live-btn[data-astro-cid-2oz4nvfo]{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 1.75rem;border-radius:9999px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-top-color:#8b5cf659;box-shadow:0 8px 32px #8b5cf61a;color:#c4b5fd;font-size:.9375rem;text-decoration:none;transition:all .25s ease}.project-live-btn[data-astro-cid-2oz4nvfo]:hover{background:#8b5cf626;border-color:#8b5cf666;color:#ddd6fe;box-shadow:0 8px 32px #8b5cf633}.live-icon[data-astro-cid-2oz4nvfo]{color:#a78bfa;flex-shrink:0;transition:color .25s ease}.project-live-btn[data-astro-cid-2oz4nvfo]:hover .live-icon[data-astro-cid-2oz4nvfo]{color:#c4b5fd}.project-live-btn[data-astro-cid-2oz4nvfo] .arrow-icon[data-astro-cid-2oz4nvfo]{color:#a78bfa80;transition:color .25s ease,transform .25s ease;flex-shrink:0}.project-live-btn[data-astro-cid-2oz4nvfo]:hover .arrow-icon[data-astro-cid-2oz4nvfo]{color:#c4b5fd;transform:translate(2px,-2px)}
