.project-detail[data-astro-cid-uyx72fka]{padding:2rem 1rem 5rem}@media (min-width: 768px){.project-detail[data-astro-cid-uyx72fka]{padding:2rem 1rem 8rem}}.container[data-astro-cid-uyx72fka]{width:min(100%,56rem);margin:0 auto}.back-link[data-astro-cid-uyx72fka]{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-sm);color:var(--muted-foreground);text-decoration:none;margin-bottom:2rem;transition:color .2s}.back-link[data-astro-cid-uyx72fka]:hover{color:var(--primary)}.project-header[data-astro-cid-uyx72fka]{margin-bottom:3rem}.badges[data-astro-cid-uyx72fka]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.badge[data-astro-cid-uyx72fka]{padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500;border-radius:.5rem}.badge-primary[data-astro-cid-uyx72fka]{background-color:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary)}.badge-secondary[data-astro-cid-uyx72fka]{background-color:var(--slide);color:var(--muted-foreground)}.title[data-astro-cid-uyx72fka]{font-size:clamp(var(--text-2xl),4vw,var(--text-5xl));font-weight:var(--font-bold);line-height:1.1;margin:0 0 1rem;color:var(--foreground)}.subtitle[data-astro-cid-uyx72fka]{font-size:var(--text-xl);font-weight:600;color:var(--foreground);margin:0 0 1rem}.description[data-astro-cid-uyx72fka]{font-size:var(--text-lg);color:var(--muted-foreground);line-height:1.7;margin:0 0 1.5rem}.tags[data-astro-cid-uyx72fka]{display:flex;flex-wrap:wrap;gap:.5rem}.tag[data-astro-cid-uyx72fka]{padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500;color:var(--muted-foreground);background-color:var(--slide);border-radius:9999px;border:1px solid var(--border)}.action-buttons[data-astro-cid-uyx72fka]{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.action-btn[data-astro-cid-uyx72fka]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:var(--text-sm);font-weight:500;border-radius:.5rem;text-decoration:none;transition:all .2s;border:1px solid transparent}.btn-website[data-astro-cid-uyx72fka]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.btn-website[data-astro-cid-uyx72fka]:hover{background-color:color-mix(in srgb,var(--primary) 90%,black);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn[data-astro-cid-uyx72fka] svg[data-astro-cid-uyx72fka]{flex-shrink:0;stroke:#fff}.hero-image[data-astro-cid-uyx72fka]{border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:3rem}.hero-image[data-astro-cid-uyx72fka] img[data-astro-cid-uyx72fka]{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block;border-radius:1.5rem}.modules-section[data-astro-cid-uyx72fka]{padding:5rem 1rem;background-color:color-mix(in srgb,var(--slide) 50%,transparent)}.section-title[data-astro-cid-uyx72fka]{font-size:var(--text-2xl);font-weight:var(--font-bold);text-align:center;margin-bottom:3rem;color:var(--foreground)}.modules-container[data-astro-cid-uyx72fka]{display:flex;flex-direction:column;gap:4rem}.module-group[data-astro-cid-uyx72fka]{display:flex;flex-direction:column;gap:2rem}.group-title[data-astro-cid-uyx72fka]{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--foreground);margin:0;padding-bottom:1rem;border-bottom:2px solid var(--border)}.modules-list[data-astro-cid-uyx72fka]{display:flex;flex-direction:column;gap:4rem}.module-item[data-astro-cid-uyx72fka]{display:flex;flex-direction:column;gap:2rem;align-items:center}@media (min-width: 1024px){.module-item[data-astro-cid-uyx72fka]{flex-direction:row;gap:4rem}.module-item[data-astro-cid-uyx72fka].reversed{flex-direction:row-reverse}}.module-image-wrapper[data-astro-cid-uyx72fka]{width:100%;flex:1;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;background-color:var(--slide)}.module-image-wrapper[data-astro-cid-uyx72fka].multiple-images{display:flex;flex-direction:column;gap:.5rem}.module-image[data-astro-cid-uyx72fka]{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.module-content[data-astro-cid-uyx72fka]{flex:1;display:flex;flex-direction:column;gap:1rem}.module-title[data-astro-cid-uyx72fka]{font-size:var(--text-xl);font-weight:600;color:var(--foreground);margin:0}.module-description[data-astro-cid-uyx72fka]{font-size:var(--text-base);color:var(--muted-foreground);line-height:1.6;margin:0}.module-features[data-astro-cid-uyx72fka]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.features-title[data-astro-cid-uyx72fka]{font-size:var(--text-base);font-weight:600;color:var(--foreground);margin:0 0 1rem}.features-list[data-astro-cid-uyx72fka]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.feature-item[data-astro-cid-uyx72fka]{font-size:var(--text-sm);color:var(--muted-foreground);line-height:1.5;padding-left:1.25rem;position:relative}.feature-item[data-astro-cid-uyx72fka]:before{content:"•";position:absolute;left:0;color:var(--primary);font-weight:700;font-size:1.2em}.feature-title[data-astro-cid-uyx72fka]{font-weight:500;color:var(--foreground)}.feature-description[data-astro-cid-uyx72fka]{color:var(--muted-foreground)}.tech-section[data-astro-cid-uyx72fka]{padding:5rem 1rem}.tech-grid[data-astro-cid-uyx72fka]{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width: 640px){.tech-grid[data-astro-cid-uyx72fka]{grid-template-columns:repeat(2,1fr)}}.tech-card[data-astro-cid-uyx72fka]{padding:1.5rem;border-radius:1rem;background-color:color-mix(in srgb,var(--slide) 50%,transparent)}.tech-label[data-astro-cid-uyx72fka]{font-size:var(--text-sm);font-weight:600;color:var(--foreground);margin:0 0 .5rem}.tech-value[data-astro-cid-uyx72fka]{font-size:var(--text-base);color:var(--muted-foreground);margin:0}.tech-stack-card[data-astro-cid-uyx72fka]{padding:1.5rem;border-radius:1rem;background-color:color-mix(in srgb,var(--slide) 50%,transparent)}.tech-stack[data-astro-cid-uyx72fka]{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.tech-badge[data-astro-cid-uyx72fka]{padding:.5rem 1rem;font-size:var(--text-sm);font-weight:500;background-color:var(--card);color:var(--foreground);border-radius:.5rem;box-shadow:0 1px 3px #0000001a}
