html{scroll-behavior:smooth}main{width:960px;max-width:calc(100% - 2em);margin:0 auto}.reveal-up{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1)}.reveal-up.is-visible{opacity:1;transform:translateY(0)}.reveal-zoom{opacity:0;transform:scale(.95);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1)}.reveal-zoom.is-visible{opacity:1;transform:scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}section{padding:6rem 0;border-bottom:1px solid #eaeaea}section:last-of-type{border-bottom:none}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:3rem}.section-number{font-size:3rem;font-weight:800;color:rgba(var(--accent),.15);line-height:1}.section-title{font-size:2.2rem;color:rgb(var(--black));margin:0;line-height:1}.subsection-title{font-size:1.5rem;color:rgb(var(--black));margin:2rem 0 1rem;border-bottom:2px solid rgba(var(--accent),.2);padding-bottom:.5rem;display:inline-block}.soft-skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.soft-skill-card{background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:1.5rem;display:flex;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.soft-skill-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0000000d;border-color:rgba(var(--accent),.3)}.skill-icon{font-size:2rem;line-height:1}.skill-content h4{margin:0 0 .3rem;font-size:1.1rem;color:rgb(var(--accent))}.skill-content p{font-size:.9rem;color:rgb(var(--gray-dark));margin-bottom:1rem;line-height:1.4}.skill-proof{background:#f8f9fa;padding:.8rem;border-radius:8px;font-size:.85rem;color:rgb(var(--black));border-left:3px solid rgb(var(--accent))}.skill-proof strong{color:rgb(var(--accent))}.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:80vh;padding:4rem 0}.profile-pic{width:180px;height:180px;border-radius:50%;object-fit:cover;margin-bottom:1.5rem;border:4px solid white;box-shadow:0 10px 25px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.profile-pic:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 15px 35px #00000026}.hero h1{font-size:3.5rem;margin-bottom:.5rem;line-height:1.1}.hero h2{font-size:1.6rem;color:rgb(var(--accent));font-weight:500;margin-bottom:1.5rem}.hero p{font-size:1.2rem;color:rgb(var(--gray-dark));max-width:650px;margin:0 auto 2rem;line-height:1.6}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.btn-secondary{display:inline-block;padding:.8rem 1.8rem;border-radius:30px;font-weight:700;font-size:1.05rem;text-decoration:none!important;transition:all .2s ease}.btn-secondary{background-color:#f8f9fa!important;color:#111827!important;border:2px solid #e5e7eb!important}.btn-secondary:hover{background-color:#fff!important;border-color:#d1d5db!important;transform:translateY(-3px);box-shadow:0 6px 20px #00000014}@media(max-width:720px){.hero{min-height:auto;padding:6rem 0 4rem}.hero h1{font-size:2.8rem}.hero-actions{flex-direction:column;width:100%;max-width:300px;margin:1rem auto 0}}.passions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.passion-card{background:#fdfdfd;padding:1.5rem;border-radius:12px;text-align:center;border:1px solid #eaeaea;transition:transform .2s ease,box-shadow .2s ease}.passion-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000000d;border-color:rgba(var(--accent),.3)}.passion-card span{font-size:2.5rem;display:block;margin-bottom:.5rem}.passion-card h4{margin:0 0 .5rem;font-size:1.2rem;color:rgb(var(--accent))}.passion-card p{font-size:.95rem;margin:0;color:rgb(var(--gray-dark))}@media(max-width:600px){.passions-grid{grid-template-columns:1fr}}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.skill-category h3{font-size:1.3rem;margin-bottom:1rem;color:rgb(var(--black));border-bottom:2px solid rgb(var(--accent));padding-bottom:.5rem;display:inline-block}.skill-tags{display:flex;flex-wrap:wrap;gap:.8rem}.skill-tag{display:flex;align-items:center;gap:.4rem;background:#f4f4f4;padding:.5rem 1rem;border-radius:8px;font-size:.95rem;color:rgb(var(--black));font-weight:500;transition:all .2s ease;border:1px solid transparent}.skill-tag:hover{transform:translateY(-3px);background:#fff;border-color:rgba(var(--accent),.3);box-shadow:0 4px 10px #0000000d}.timelines-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}@media(max-width:992px){.timelines-wrapper{grid-template-columns:1fr 1fr}}@media(max-width:768px){.timelines-wrapper{grid-template-columns:1fr;gap:3rem}}.timeline-column h3{font-size:1.5rem;color:rgb(var(--black));margin-bottom:2rem;display:flex;align-items:center;gap:.5rem}.timeline{position:relative;padding-left:1.5rem;border-left:3px solid rgba(var(--accent),.3)}.timeline-item{position:relative;margin-bottom:2.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-1.65rem;top:0;width:16px;height:16px;background:#fff;border:3px solid rgb(var(--accent));border-radius:50%}.timeline-date{font-weight:700;color:rgb(var(--accent));margin-bottom:.3rem;font-size:.85rem}.timeline-title{font-size:1.1rem;font-weight:700;margin:0 0 .2rem}.timeline-subtitle{font-size:.95rem;color:rgb(var(--gray-dark));font-style:italic;margin-bottom:.5rem}.timeline-item p{font-size:.9rem;margin:0;color:rgb(var(--gray-dark))}.other-jobs-list{list-style:none;padding:0;margin:0}.other-jobs-list li{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px dashed #eaeaea}.other-jobs-list li:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.job-title{font-weight:700;font-size:1.1rem;color:rgb(var(--black));margin-bottom:.2rem}.job-meta{font-size:.9rem;color:rgb(var(--gray))}.project-filters{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-bottom:3rem}.filter-btn{background:#fff;border:2px solid #eaeaea;color:rgb(var(--gray-dark));font-weight:700;padding:.6rem 1.2rem;border-radius:20px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:rgb(var(--accent));color:rgb(var(--accent))}.filter-btn.active{background:rgb(var(--accent));border-color:rgb(var(--accent));color:#fff}ul.project-grid{display:flex;flex-wrap:wrap;gap:2rem;list-style-type:none;margin:0;padding:0}ul.project-grid li{width:calc(50% - 1rem);transition:opacity .3s ease,transform .3s ease}ul.project-grid li img{margin-bottom:1rem;border-radius:12px;width:100%;height:auto;transition:box-shadow .2s ease}.project-card{cursor:pointer;display:block;padding:1rem;border-radius:16px;background:transparent;border:1px solid transparent;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),background .3s ease,border-color .3s ease}.project-card:hover{background:#fff;transform:translateY(-6px);box-shadow:0 14px 28px #00000014;border-color:#eaeaea}.project-card:hover h4,.project-card:hover .date{color:rgb(var(--accent))}.project-card:hover img{box-shadow:0 6px 16px #00000014;transform:scale(1.01)}.title{margin:0 0 .5rem;color:rgb(var(--black));line-height:1.2;transition:color .2s ease}.date{margin:0;color:rgb(var(--gray));transition:color .2s ease}@media(max-width:720px){ul.project-grid li{width:100%;text-align:center}}dialog{padding:0;border:none;border-radius:16px;box-shadow:0 20px 60px #00000080;width:95vw;max-width:1200px;height:95vh;max-height:95vh;background:#fff}dialog::backdrop{background:#000000b3;backdrop-filter:blur(6px)}.modal-wrapper{display:flex;flex-direction:column;height:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:#fff;border-bottom:1px solid #eaeaea;position:sticky;top:0;z-index:10;border-radius:16px 16px 0 0}.modal-header h2{margin:0;font-size:1.5rem;color:rgb(var(--black))}.close-btn{background:#ff4757;color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .2s ease,transform .2s ease;box-shadow:0 4px 10px #ff47574d}.close-btn:hover{background:#ff6b81;transform:scale(1.05)}.modal-body{padding:2rem;overflow-y:auto;flex:1}.modal-hero-image{width:100%;height:400px;object-fit:cover;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.modal-prose{max-width:800px;margin:0 auto;line-height:1.7;color:#333;font-size:1.05rem;text-align:left!important}.modal-prose p,.modal-prose h3,.modal-prose h4{text-align:left!important}.modal-prose h3{color:rgb(var(--accent));margin-top:2.5rem;margin-bottom:1rem;font-size:1.4rem;border-bottom:2px solid rgba(var(--accent),.2);padding-bottom:.5rem}.modal-prose blockquote{background:#f9f9f9;border-left:4px solid rgb(var(--accent));padding:1rem 1.5rem;margin:2rem 0;font-style:italic;border-radius:0 8px 8px 0}.modal-prose ul,.modal-prose ol{text-align:left!important;padding-left:1.5rem!important;margin-bottom:1.5rem}.modal-prose li{width:auto!important;text-align:left!important;display:list-item!important;margin-bottom:.5rem}@media(max-width:768px){.modal-header{padding:1rem}}@media(max-width:768px){.modal-header h2{font-size:1.2rem}}@media(max-width:768px){.modal-body{padding:1rem}}@media(max-width:768px){.modal-hero-image{height:250px}}@media(max-width:768px){.close-btn span{display:none}}.project-gallery{display:grid!important;gap:1rem;margin:2rem 0;align-items:stretch}.web-gallery{grid-template-columns:repeat(2,1fr)!important}.mobile-gallery{grid-template-columns:repeat(4,1fr)!important}.project-gallery p{display:flex;flex-direction:column;margin:0!important;background-color:#f8f9fa;padding:.5rem;border-radius:8px;border:1px solid #eaeaea}.project-gallery p strong{display:block;text-align:center!important;margin-bottom:.5rem;font-size:.85rem;color:#333}.web-gallery p img{width:100%;aspect-ratio:16 / 9;object-fit:cover;object-position:top;border-radius:4px}.mobile-gallery p img{width:100%;aspect-ratio:9 / 19;object-fit:contain;background-color:#fff;border-radius:4px}.project-gallery p img:hover{transform:scale(1.03);box-shadow:0 4px 12px #0000001a;transition:transform .2s ease,box-shadow .2s ease}@media(max-width:768px){.web-gallery,.mobile-gallery{grid-template-columns:repeat(2,1fr)!important}}.project-gallery p img{cursor:zoom-in}.project-gallery p img.zoomed-img{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)!important;width:auto!important;height:auto!important;max-width:90vw!important;max-height:90vh!important;z-index:999999;box-shadow:0 0 0 100vmax #000000d9;cursor:zoom-out;border-radius:4px;background-color:#fff}.results-buttons-group{display:flex;gap:.8rem;margin-top:1rem;flex-wrap:wrap}.btn-small{background:#f4f4f4;border:1px solid #eaeaea;color:rgb(var(--black));padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-small:hover{background:rgb(var(--accent));color:#fff;border-color:rgb(var(--accent));transform:translateY(-2px);box-shadow:0 4px 10px #0000001a}.rank-banner{background:rgba(var(--accent),.1);color:rgb(var(--accent));padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;font-size:1.1rem;text-align:center;border:1px solid rgba(var(--accent),.2)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.results-table{width:100%;border-collapse:collapse;text-align:left;min-width:500px}.results-table th,.results-table td{padding:1rem;border-bottom:1px solid #eaeaea}.results-table th{background-color:#f8f9fa;color:rgb(var(--gray-dark));font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.results-table tr:last-child td{border-bottom:none}.results-table tr:hover td{background-color:#fdfdfd}.status-badge{display:inline-flex;align-items:center;gap:.6rem;background-color:rgba(var(--accent),.1);color:rgb(var(--accent));padding:.5rem 1.2rem;border-radius:50px;font-size:.95rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(var(--accent),.2)}.status-dot{width:10px;height:10px;background-color:#10b981;border-radius:50%;box-shadow:0 0 #10b98166;animation:pulse-dot 2s infinite cubic-bezier(.66,0,0,1)}@keyframes pulse-dot{to{box-shadow:0 0 0 10px #10b98100}}.btn-primary{display:inline-block;padding:.8rem 1.8rem;border-radius:30px;font-weight:700;font-size:1.05rem;text-decoration:none!important;transition:all .2s ease;background-color:#2563eb!important;color:#fff!important;border:2px solid #2563eb!important;box-shadow:0 4px 15px #2563eb4d}.btn-primary:hover{background-color:transparent!important;color:#2563eb!important;transform:translateY(-3px);box-shadow:0 6px 20px #2563eb26}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.card-tag{background:rgba(var(--accent),.08);color:rgb(var(--accent));padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;border:1px solid rgba(var(--accent),.15)}.project-links{margin-top:1.2rem;display:flex;justify-content:flex-start}.github-link{display:inline-flex;align-items:center;gap:.4rem;color:rgb(var(--gray-dark));font-size:.85rem;font-weight:700;text-decoration:none;padding:.4rem .8rem;border-radius:6px;background:#f4f4f4;border:1px solid #eaeaea;transition:all .2s ease;position:relative;z-index:2}.github-link:hover{background:#111827;color:#fff;border-color:#111827;transform:translateY(-2px)}html.dark body{background-color:#111827;color:#f9fafb}html.dark section{border-bottom-color:#374151}html.dark .section-title,html.dark .subsection-title,html.dark h1,html.dark h2,html.dark h3,html.dark h4{color:#f9fafb}html.dark p,html.dark .timeline-item p,html.dark .skill-content p{color:#d1d5db}html.dark .timeline-subtitle,html.dark .job-meta{color:#9ca3af}html.dark .soft-skill-card,html.dark .passion-card,html.dark .project-card,html.dark .skill-proof{background-color:#1f2937;border-color:#374151;color:#f9fafb}html.dark .project-card:hover,html.dark .soft-skill-card:hover,html.dark .passion-card:hover{background-color:#374151;border-color:rgb(var(--accent))}html.dark .filter-btn{background-color:#1f2937;color:#d1d5db;border-color:#374151}html.dark .filter-btn.active{background-color:rgb(var(--accent));color:#fff;border-color:rgb(var(--accent))}html.dark .btn-secondary,html.dark .btn-small{background-color:#1f2937!important;color:#f9fafb!important;border-color:#374151!important}html.dark .btn-secondary:hover,html.dark .btn-small:hover{background-color:#374151!important;border-color:rgb(var(--accent))!important}html.dark dialog{background-color:#1f2937;color:#f9fafb}html.dark .modal-header{background-color:#1f2937;border-bottom-color:#374151}html.dark .modal-header h2,html.dark .modal-header h3{color:#f9fafb}html.dark .modal-prose{color:#d1d5db}html.dark .results-table th{background-color:#374151;color:#f9fafb;border-bottom-color:#4b5563}html.dark .results-table td{border-bottom-color:#374151;color:#d1d5db}html.dark .results-table tr:hover td{background-color:#4b5563}html.dark .results-table tr td[colspan="3"]{background-color:#111827!important;color:#9ca3af}html.dark .skill-tag{background-color:#374151;color:#f9fafb}html.dark .github-link{background-color:#374151;color:#f9fafb;border-color:#4b5563}html.dark .github-link:hover{background-color:rgb(var(--accent));border-color:rgb(var(--accent))}html.dark header,html.dark footer{background:#111827!important;border-color:#374151!important}html.dark header a,html.dark footer a,html.dark header span{color:#e5e7eb!important;transition:color .2s ease}html.dark header a:hover,html.dark footer a:hover{color:rgb(var(--accent))!important}html.dark header svg,html.dark footer svg{color:#e5e7eb!important;fill:currentColor}html.dark body,html.dark main,html.dark .hero{background:#111827!important}html.dark .job-title{color:#f9fafb!important}.lang-btn{text-decoration:none;font-size:1rem;font-weight:700;padding:.4rem .8rem;border-radius:8px;background:rgba(var(--gray),.1);color:rgb(var(--black));transition:background .2s}.lang-btn:hover{background:rgba(var(--gray),.2)}.relative-hero{position:relative;overflow:hidden}.hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.6;pointer-events:none}.hero-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
