@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&display=swap";:root{--bg: #ffffff;--text: #0a0a0a;--muted: #6b7280;--card: #ffffff;--border: #e5e7eb;--accent-soft: #fef5f5;--accent: #f08e8e;--accent-strong: #e66868}.dark{--bg: #0b0b0c;--text: #f5f5f5;--muted: #9ca3af;--card: #111113;--border: #2a2a2a;--accent-soft: #1a1415;--accent: #f08e8e}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{font-family:Inter,system-ui,sans-serif;background-color:var(--bg);color:var(--text);transition:background-color .3s,color .3s}html{scroll-behavior:smooth}body::-webkit-scrollbar{width:0px;background:transparent}body{-ms-overflow-style:none;scrollbar-width:none}#root{width:100%;overflow-x:hidden}.app-container{min-height:100vh;width:100%;overflow-x:hidden;background-color:var(--bg);color:var(--text);position:relative;padding:0;margin:0}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--bg);border-bottom:1px solid var(--border);width:100%;overflow:hidden}.navbar-container{max-width:1280px;margin:0 auto;padding:0 1rem;width:100%;overflow:hidden}.navbar-content{display:flex;align-items:center;justify-content:space-between;height:4rem;overflow:hidden}.navbar-logo{font-size:1.25rem;font-weight:700;background:linear-gradient(0deg,#e65656,#e76161,#b94a4a);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s ease-in-out infinite}.navbar-desktop{display:none;align-items:center;gap:1rem}.navbar-divider{height:1.5rem;width:1px;background-color:var(--border)}.navbar-link{background:none;border:none;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;padding-bottom:.25rem;position:relative;transition:opacity .3s}.navbar-link:hover{opacity:.7}.navbar-link.active{color:var(--accent);border-bottom:2px solid var(--accent)}.navbar-theme-btn{padding:.5rem;border-radius:9999px;background-color:var(--card);border:1px solid var(--border);cursor:pointer;transition:transform .3s;color:var(--text);display:flex;align-items:center;justify-content:center}.navbar-theme-btn:hover{transform:scale(1.1)}.navbar-mobile{display:flex;align-items:center;gap:.5rem}.navbar-menu-btn{padding:.5rem;background:none;border:none;cursor:pointer;color:var(--text)}.navbar-mobile-panel{position:fixed;top:4rem;right:0;height:100vh;width:16rem;background-color:var(--card);border-left:1px solid var(--border);transform:translate(100%);transition:transform .3s}.navbar-mobile-panel.open{transform:translate(0)}.navbar-mobile-links{display:flex;flex-direction:column;padding:1.5rem;gap:1rem}.navbar-mobile-link{text-align:left;font-size:1.125rem;font-weight:500;color:var(--text);background:none;border:none;padding:.5rem 0 .5rem 1rem;cursor:pointer;transition:color .3s}.navbar-mobile-link.active{color:var(--accent);border-left:2px solid var(--accent);padding-left:.75rem}.navbar-overlay{position:fixed;inset:0;top:4rem;background-color:#00000080}.hero-section{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background-color:var(--bg);width:100%;overflow-x:hidden}.hero-container{max-width:56rem;margin:0 auto;text-align:center;width:100%;padding:0 1rem;animation:fadeUp .8s ease-out;margin-top:10rem}.hero-title{font-size:3rem;font-weight:900;margin-bottom:1.5rem;font-family:system-ui,sans-serif;background:linear-gradient(90deg,#804444,#ec6262,#844c4c);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 7s ease-in-out infinite;text-shadow:0 0 30px rgba(230,104,104,.3);letter-spacing:-.02em}.hero-subtitle{font-size:1.125rem;margin-bottom:3rem;color:var(--muted)}.hero-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;max-width:42rem;margin-left:auto;margin-right:auto}.hero-tag{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background-color:var(--accent-soft);color:var(--text)}.hero-tag-text{font-size:.875rem;font-weight:500}.hero-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border-radius:.75rem;background-color:var(--accent-strong);color:#fff;font-weight:600;border:none;cursor:pointer;box-shadow:0 10px 15px -3px #0000001a;transition:transform .3s}.hero-cta:hover{transform:scale(1.05)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}.section{padding:5rem 1rem;background-color:var(--bg);width:100%;overflow-x:hidden}.section-container{max-width:1280px;margin:0 auto;width:100%;padding:0 1rem}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:1.875rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.section-description{font-size:1rem;color:var(--muted)}.section-meta{font-size:.875rem;margin-top:.5rem;color:var(--muted)}.filter-container{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:4rem}.filter-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;border:1px solid var(--border);cursor:pointer;transition:all .3s;background-color:var(--card);color:var(--text)}.filter-btn.active{background-color:var(--accent);color:#fff}.grid{display:grid;gap:1.5rem;grid-template-columns:1fr;width:100%;max-width:100%}.loading-text{text-align:center;padding:3rem 0;color:var(--muted)}.card{border-radius:.75rem;padding:1.5rem;background-color:var(--card);border:1px solid var(--border);transition:all .3s;height:100%;display:flex;flex-direction:column;position:relative;max-width:100%;overflow:hidden}.card:hover{transform:scale(1.03);box-shadow:0 10px 15px -3px #0000001a}.card-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;background-color:var(--accent);color:#fff}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.card-title{font-size:1.25rem;font-weight:700;color:var(--text);padding-right:5rem}.card-description{font-size:.875rem;margin-bottom:1rem;color:var(--muted);flex-grow:1}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.card-tag{padding:.25rem .5rem;border-radius:.5rem;font-size:.75rem;font-weight:500;background-color:var(--accent-soft);color:var(--text)}.card-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-status{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:.25rem;background-color:var(--accent-soft);color:var(--text)}.card-stars{display:flex;align-items:center;gap:.25rem;color:var(--muted);font-size:.75rem}.card-link{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--accent);text-decoration:none;margin-top:auto;transition:opacity .3s}.card-link:hover{opacity:.7}.skill-card-icon{width:3rem;height:3rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;background-color:var(--accent-soft);margin-bottom:1rem}.skill-card-title{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.skill-card-tech{padding:.25rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;background-color:var(--accent-soft);color:var(--text)}.contact-section{padding:5rem 1rem;background-color:var(--bg);width:100%;overflow-x:hidden}.contact-container{max-width:56rem;margin:0 auto;text-align:center;width:100%;padding:0 1rem}.contact-email{display:inline-block;font-size:1.5rem;font-weight:700;margin-bottom:2rem;color:var(--accent);text-decoration:none;transition:opacity .3s}.contact-email:hover{opacity:.7}.contact-socials{display:flex;justify-content:center;gap:1.5rem;margin-top:3rem;margin-bottom:2rem}.contact-social-link{padding:.75rem;border-radius:9999px;background-color:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:transform .3s;text-decoration:none;color:var(--text)}.contact-social-link:hover{transform:scale(1.1)}.contact-resume-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border-radius:.75rem;background-color:var(--accent-strong);color:#fff;font-weight:600;border:none;cursor:pointer;text-decoration:none;transition:transform .3s}.contact-resume-btn:hover{transform:scale(1.05)}.about-container{max-width:80rem;margin:0 auto;width:100%;padding:0 1rem}.about-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}.about-content{display:flex;flex-direction:column;gap:1.5rem;color:var(--muted)}.about-text{font-size:1rem;line-height:1.75}.about-illustration{display:flex;align-items:flex-start;justify-content:center;margin-top:-5.1rem}.illustration-image{width:100%;max-width:400px;height:auto;object-fit:contain}.about-resume-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;background-color:var(--card);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:transform .3s}.about-resume-btn:hover{transform:scale(1.05)}.footer{padding:2rem 1rem;text-align:center;background-color:var(--bg);border-top:1px solid var(--border)}.footer-text{font-size:.875rem;color:var(--muted)}@media(min-width:640px){.navbar-container{padding:0 1rem}.hero-section{padding:4rem 1rem 1rem}.hero-container{padding:0 1rem}.hero-title{font-size:3.75rem}.hero-subtitle{font-size:1.25rem}.section{padding:5rem 1rem}.section-container{padding:0 1rem}.section-title{font-size:2.25rem}.section-description,.about-text{font-size:1.125rem}.contact-email{font-size:1.875rem}}@media(min-width:768px){.navbar-desktop{display:flex}.navbar-mobile{display:none}.about-layout{grid-template-columns:1.2fr .8fr;gap:3rem}.grid{grid-template-columns:repeat(2,1fr);gap:2rem}.section{padding:6rem 1rem}.section-container{padding:0 1.5rem}}@media(min-width:1024px){.navbar-container{padding:0 2rem}.navbar-desktop{gap:1.5rem}.hero-section{padding:4rem 1rem 1rem}.hero-container{padding:0 2rem}.hero-title{font-size:4.5rem}.hero-subtitle{font-size:1.5rem}.section{padding:6rem 1rem}.section-container{padding:0 2rem}.grid{grid-template-columns:repeat(3,1fr)}.grid.two-col{grid-template-columns:repeat(2,1fr)}.contact-email{font-size:2.25rem}}@media(min-width:1280px){.navbar-desktop{gap:2rem}.contact-email{font-size:3rem}}
