body,html{background-color:#f8f9fa;min-height:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}body.dark{--bg-color:#000;--text-color:#fff}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#f8f9fa;--secondary-color:#212529;--accent-color:#fff;--extra:#e9ecef;--text-color:#111827;--text-secondary:#374151;--primary-color-dark:#0f1117;--secondary-color-dark:#1a1a2e;--accent-color-dark:#1e1e2e;--extra-dark:#2a2a3a;--text-color-dark:#f9fafb;--text-secondary-dark:#d1d5db}*,:after,:before{box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none}[role=button],a,button{cursor:pointer}.App{background-color:#f8f9fa;background-color:var(--primary-color);color:#111827;color:var(--text-color);min-height:100vh;text-align:center;transition:background-color .3s,color .3s}.App.dark{--primary-color:#0f1117;--secondary-color:#1a1a2e;--accent-color:#1e1e2e;--extra:#2a2a3a;--text-color:#f9fafb;--text-secondary:#d1d5db}.App.dark .cert-card,.App.dark .project,.App.dark .skill-group{background-color:#1e1e2e;color:#f9fafb}.App.dark .modal-tools ul li,.App.dark .skill-group ul li{background-color:#312e81;color:#c7d2fe}.App.dark .cert-card h3{color:#f9fafb}.App.dark .cert-code{color:#9ca3af}.App.dark .modal-card{background-color:#1e1e2e}.App.dark .modal-desc,.App.dark .modal-value p{color:#d1d5db}.App.dark .modal-body h3,.App.dark .project h3,.App.dark .project p{color:#f9fafb}.App.dark .card-hint{color:#818cf8}header{background-color:#212529;background-color:var(--secondary-color);color:#fff;font-size:18px;height:3.5rem;padding:0 2rem;position:fixed;top:0;z-index:1000}header,nav{width:100%}header,nav,nav ul{align-items:center;display:flex}nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;margin:0;padding:0}nav a{border-bottom:2px solid #0000;color:#adb5bd;font-size:.95rem;padding-bottom:2px;text-decoration:none;transition:color .2s}nav a:hover{color:#fff}nav a.nav-active{border-bottom-color:#818cf8;color:#fff}.dark-toggle{background:#ffffff1a;border:1px solid #fff3;border-radius:999px;color:#fff;font-size:.8rem;padding:.25rem .75rem;transition:background .2s;white-space:nowrap}.dark-toggle:hover{background:#fff3}main{margin:0 auto;max-width:1200px;padding:5.5rem clamp(1rem,5vw,6rem) 4rem;width:100%}main h1{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}main p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .55s ease-out,transform .55s ease-out}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width:900px){main{padding:5rem clamp(1rem,4vw,3rem) 3rem}}@media (max-width:600px){header{height:auto;min-height:3rem;padding:.6rem 1rem}nav ul{font-size:14px;gap:.2rem .6rem}.dark-toggle{font-size:.72rem;padding:.2rem .5rem}main{padding:4.5rem 1rem 2rem}}.about{background-color:var(--primary-color);padding:2rem 1rem 3rem}.about h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:1rem}.about p{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.6;margin:0 auto;max-width:700px;padding:0 .5rem}.about img{border-radius:50%;display:block;height:clamp(8rem,25vw,16rem);margin:0 auto 1.5rem;object-fit:cover;width:clamp(8rem,25vw,16rem)}.portfolio{background-color:var(--primary-color);padding:2rem 1rem 3rem}.portfolio h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:3rem}.project-grid{grid-gap:2rem;align-items:stretch;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));justify-items:center}.project{background-color:#eef2ff;border-radius:.5rem;box-shadow:0 2px 12px #00000014;cursor:pointer;display:flex;flex-direction:column;height:100%;max-width:420px;padding:1.25rem;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.project:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-4px)}.project h3{font-size:clamp(1rem,2vw,1.15rem);margin:0 0 .5rem}.project p{flex-grow:1;font-size:clamp(.875rem,1.2vw,1rem);line-height:1.5;margin:0 0 1rem}.card-hint{color:#4f46e5;display:block;font-size:.85rem;font-weight:600;letter-spacing:.02em;margin-top:.75rem;transition:opacity .2s}.project:hover .card-hint{opacity:.7}.project img{aspect-ratio:4/3;border-radius:.375rem;object-fit:cover;width:100%}@media (max-width:480px){.project-grid{grid-template-columns:1fr}.project{max-width:100%}}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0009;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:2000}.modal-card{animation:modal-in .2s ease-out;background-color:#eef2ff;border-radius:.75rem;box-shadow:0 24px 64px #00000059;max-height:90vh;max-width:680px;overflow-y:auto;position:relative;width:100%}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-card>img{border-radius:.75rem .75rem 0 0;display:block;max-height:280px;object-fit:cover;width:100%}.modal-close{align-items:center;background:#00000073;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.9rem;height:2rem;justify-content:center;position:absolute;right:.75rem;top:.75rem;transition:background .2s;width:2rem}.modal-close:hover{background:#000000b3}.modal-body{padding:1.5rem;text-align:left}.modal-body h3{font-size:1.5rem;margin:0 0 .75rem}.modal-desc{color:#374151;font-size:1rem;line-height:1.75;margin:0 0 1.5rem}.modal-label{color:#4f46e5;font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.modal-tools{margin-bottom:1.25rem}.modal-tools ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:.5rem 0 0;padding:0}.modal-tools ul li{background-color:#c7d2fe;border-radius:999px;color:#312e81;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.modal-value p{color:#374151;font-size:1rem;line-height:1.75;margin:.5rem 0 0}.contact{background-color:var(--primary-color);padding:2rem 1rem 4rem}.contact h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.5rem}.social-media{flex-wrap:wrap;gap:1rem;margin-top:2rem}.social-media,.social-media a{display:flex;justify-content:center}.social-media a{align-items:center;border-radius:25%;color:#333;height:clamp(2.5rem,5vw,3.5rem);padding:.5rem;text-decoration:none;transition:transform .2s ease-in-out,opacity .2s ease-in-out;width:clamp(2.5rem,5vw,3.5rem)}.social-media a:hover{opacity:.75;transform:translateY(-3px)}.social-media a img{height:100%;width:100%}.skills{padding:2rem 1rem 3rem}.skills h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:2rem}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));text-align:left}.skill-group{background-color:#eef2ff;border-radius:.5rem;box-shadow:0 2px 8px #0000000f;padding:1.25rem}.skill-group h3{color:#4f46e5;font-size:.75rem;font-weight:700;letter-spacing:.07em;margin:0 0 .75rem;text-transform:uppercase}.skill-group ul{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.skill-group ul li{background-color:#c7d2fe;border-radius:999px;color:#312e81;font-size:.85rem;font-weight:500;padding:.25rem .65rem}.certifications{padding:2rem 1rem 3rem}.certifications h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:2rem}.cert-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.cert-card{background-color:#fff;border-radius:.5rem;border-top:4px solid #ccc;box-shadow:0 2px 8px #00000012;padding:1.25rem 1.25rem 1.5rem;text-align:left}.cert-issuer{font-size:.75rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.cert-card h3{color:#111827;font-size:1rem;margin:.4rem 0 .3rem}.cert-code{color:#6b7280;font-size:.8rem;font-weight:500}.footer{background-color:var(--secondary-color);color:#adb5bd;font-size:.875rem;padding:1.25rem 1rem;text-align:center}
/*# sourceMappingURL=main.7d9881e2.css.map*/