.title-with-logo.svelte-pjs8s{display:flex;justify-content:center;width:100%}.logo-link.svelte-pjs8s{text-decoration:none;display:block}.project-logo-container.svelte-pjs8s{width:140px;height:140px;display:flex;align-items:center;justify-content:center;opacity:.9;transition:all .3s ease;padding:12px;border-radius:16px;margin-bottom:1rem}.logo-link.svelte-pjs8s:hover .project-logo-container:where(.svelte-pjs8s){box-shadow:0 8px 20px rgba(var(--shadow-rgb),.07)}.project-logo.svelte-pjs8s{max-width:100%;max-height:100%;object-fit:contain}.card:hover .project-logo-container.svelte-pjs8s{opacity:1;transform:scale(1.05)}.logo-link.svelte-pjs8s:hover .project-logo-container:where(.svelte-pjs8s){box-shadow:0 8px 20px #00000040}body.dark-mode .project-logo-container.light-background.svelte-pjs8s{background-color:#fff;border-radius:16px}.star-icon.svelte-pjs8s{color:var(--star-color);margin-right:.3rem}.github-stars-badge.svelte-pjs8s{height:20px;transition:opacity .2s ease}.github-stars-badge.svelte-pjs8s:hover{opacity:.8}.project-description.svelte-pjs8s{margin-bottom:2rem;line-height:1.7;flex-grow:1;font-size:1.05rem;color:var(--light-text-secondary)}body.dark-mode .project-description.svelte-pjs8s{color:var(--dark-text-secondary)}.project-features.svelte-pjs8s{margin-bottom:1.5rem}.project-features.svelte-pjs8s ul:where(.svelte-pjs8s){padding-left:0;margin:0;list-style:none}.project-features.svelte-pjs8s li:where(.svelte-pjs8s){margin-bottom:.9rem;line-height:1.6;position:relative;padding-left:1.8rem;display:flex;align-items:flex-start}.project-features.svelte-pjs8s li:where(.svelte-pjs8s):before{content:"";position:absolute;left:0;top:.5rem;width:.5rem;height:.5rem;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:50%;box-shadow:0 2px 4px rgba(var(--shadow-rgb),.08)}body.dark-mode .project-features.svelte-pjs8s li:where(.svelte-pjs8s):before{background:linear-gradient(135deg,var(--primary-light),var(--primary-lighter));box-shadow:0 2px 4px rgba(var(--shadow-rgb),.12)}.project-features.svelte-pjs8s li:where(.svelte-pjs8s):hover:before{transform:scale(1.2);transition:transform .2s ease}.project-tech.svelte-pjs8s{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-links.svelte-pjs8s{display:flex;gap:1rem;margin-top:auto}.github-link.svelte-pjs8s,.website-link.svelte-pjs8s{padding:.8rem 1.5rem;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s ease;display:inline-flex;align-items:center;box-shadow:0 6px 15px #0000001a;position:relative;overflow:hidden;z-index:1}.github-link.svelte-pjs8s{background-color:var(--github-bg);color:#fff}.github-link.svelte-pjs8s:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--github-bg),var(--github-bg-hover));opacity:0;transition:opacity .3s ease;z-index:-1}.github-link.svelte-pjs8s:hover{box-shadow:0 8px 20px #0003}.github-link.svelte-pjs8s:hover:before{opacity:1}.website-link.svelte-pjs8s{background-color:var(--primary);color:#fff}.website-link.svelte-pjs8s:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));opacity:0;transition:opacity .3s ease;z-index:-1}.website-link.svelte-pjs8s:hover{box-shadow:0 8px 20px rgba(var(--shadow-rgb),.12)}.website-link.svelte-pjs8s:hover:before{opacity:1}body.dark-mode .website-link.svelte-pjs8s{background-color:var(--primary-light)}body.dark-mode .website-link.svelte-pjs8s:before{background:linear-gradient(90deg,var(--primary-light),var(--primary-lighter))}.link-icon.svelte-pjs8s{display:inline-flex;align-items:center;margin-right:.5rem}.github-icon-img.svelte-pjs8s{margin-right:.6rem}.projects-intro.svelte-75j9a{max-width:900px;margin:2rem auto 4rem;padding:2rem;background:linear-gradient(135deg,var(--light-bg-alt),rgba(233,242,255,.5));border-radius:12px;display:flex;align-items:center;gap:1.5rem;box-shadow:0 8px 30px rgba(var(--shadow-rgb),.05);transition:box-shadow .3s ease}.projects-intro.svelte-75j9a:hover{box-shadow:0 12px 40px rgba(var(--shadow-rgb),.07)}body.dark-mode .projects-intro.svelte-75j9a{background:linear-gradient(135deg,var(--dark-bg-alt),rgba(13,37,72,.5));box-shadow:0 8px 30px #0000004d}body.dark-mode .projects-intro.svelte-75j9a:hover{box-shadow:0 12px 40px #0006}.intro-icon.svelte-75j9a{font-size:2.5rem;min-width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:20px;color:#fff;box-shadow:0 8px 20px rgba(var(--shadow-rgb),.08)}body.dark-mode .intro-icon.svelte-75j9a{background:linear-gradient(135deg,var(--primary-light),var(--primary-lighter));box-shadow:0 8px 20px rgba(var(--shadow-rgb),.08)}.projects-intro.svelte-75j9a p:where(.svelte-75j9a){font-size:1.1rem;line-height:1.7;margin:0;color:var(--light-text-secondary)}body.dark-mode .projects-intro.svelte-75j9a p:where(.svelte-75j9a){color:var(--dark-text-secondary)}.projects-container.svelte-75j9a{max-width:1200px;margin:0 auto;padding:2rem 2rem 5rem;display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 768px){.projects-container.svelte-75j9a{grid-template-columns:repeat(2,1fr);gap:2.5rem}}.more-projects.svelte-75j9a{text-align:center;padding:5rem 2rem;background:linear-gradient(to bottom,var(--light-bg),var(--light-bg-alt));position:relative}body.dark-mode .more-projects.svelte-75j9a{background:linear-gradient(to bottom,var(--dark-bg),var(--dark-bg-alt))}.more-projects-content.svelte-75j9a{max-width:700px;margin:0 auto;padding:3rem;background-color:var(--light-bg-card);border-radius:12px;box-shadow:0 15px 40px #0000001a;position:relative;z-index:1}body.dark-mode .more-projects-content.svelte-75j9a{background-color:var(--dark-bg-card);box-shadow:0 15px 40px #0000004d}.more-projects-icon.svelte-75j9a{font-size:2rem;width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:50%;color:#fff;box-shadow:0 10px 25px rgba(var(--shadow-rgb),.1)}body.dark-mode .more-projects-icon.svelte-75j9a{background:linear-gradient(135deg,var(--primary-lighter),var(--primary-light))}.more-projects.svelte-75j9a h2:where(.svelte-75j9a){font-size:2.2rem;margin-bottom:1.5rem;background:linear-gradient(90deg,var(--primary),var(--primary-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}body.dark-mode .more-projects.svelte-75j9a h2:where(.svelte-75j9a){background:linear-gradient(90deg,var(--primary-light),var(--primary-lighter));-webkit-background-clip:text;background-clip:text}.more-projects.svelte-75j9a p:where(.svelte-75j9a){max-width:600px;margin:0 auto 2.5rem;font-size:1.15rem;line-height:1.7;color:var(--light-text-secondary)}body.dark-mode .more-projects.svelte-75j9a p:where(.svelte-75j9a){color:var(--dark-text-secondary)}.explore-buttons.svelte-75j9a{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.github-profile-link.svelte-75j9a,.static-analysis-link.svelte-75j9a{display:inline-flex;align-items:center;gap:.8rem;background-color:var(--github-bg, #24292e);color:#fff;padding:1rem 2rem;border-radius:50px;font-weight:600;font-size:1.1rem;text-decoration:none;transition:all .3s ease;box-shadow:0 8px 20px #0003}.static-analysis-link.svelte-75j9a{background-color:var(--primary)}.github-profile-link.svelte-75j9a:hover,.static-analysis-link.svelte-75j9a:hover{box-shadow:0 12px 25px #00000040}.github-profile-link.svelte-75j9a:hover{background-color:var(--github-bg-hover, #2f363d)}.static-analysis-link.svelte-75j9a:hover{background-color:var(--primary-dark)}.github-icon.svelte-75j9a,.sa-icon.svelte-75j9a{font-weight:700;margin-right:.8rem;display:flex;align-items:center;justify-content:center}@media (max-width: 767px){.projects-container.svelte-75j9a{padding:2rem 1.5rem 4rem;gap:2.5rem}.projects-intro.svelte-75j9a{flex-direction:column;text-align:center;padding:1.5rem;margin-bottom:3rem}.intro-icon.svelte-75j9a{margin-bottom:1rem}.more-projects-content.svelte-75j9a{padding:2rem 1.5rem}.more-projects.svelte-75j9a h2:where(.svelte-75j9a){font-size:1.8rem}.github-profile-link.svelte-75j9a{padding:.8rem 1.5rem;font-size:1rem}}
