@charset "UTF-8";:root{--grad-a: #ffccd9;--grad-b: #ff99b2;--grad-c: #ff7b9c;--grad-d: #ffb3c1;--text: #4d3a3a;--muted: #a68787;--bg: #fff6f9;--card: #ffffff;--primary: #ff7bac;--accent: #ffc7d2;--radius: 16px;--shadow: 0 10px 20px rgba(0,0,0,.08)}[data-theme=dark]{--grad-a: #2a1a1f;--grad-b: #3a1a25;--grad-c: #4a1a2a;--grad-d: #5a1a2f;--text: #e8e8e8;--muted: #b0b0b0;--bg: #1a1a1a;--card: #2d2d2d;--primary: #ff7bac;--accent: #ffc7d2;--radius: 16px;--shadow: 0 10px 20px rgba(0,0,0,.3);--border-light: #4a1a2a;--border-medium: #5a1a2f;--surface-elevated: #3a1a25;--surface-hover: #4a1a2a}[data-theme=dark] body{background-color:var(--bg);background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="10" cy="10" r="2" fill="%234a1a2a"/><circle cx="30" cy="20" r="3" fill="%233a1a25"/><circle cx="15" cy="30" r="2.5" fill="%235a1a2f"/><circle cx="25" cy="5" r="1.5" fill="%232a1a1f"/></svg>')}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Quicksand,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:18px;line-height:1.7;background-color:var(--bg);background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><circle cx="10" cy="10" r="2" fill="%23ffb3c1"/><circle cx="30" cy="20" r="3" fill="%23ffdee9"/><circle cx="15" cy="30" r="2.5" fill="%23ffd1dc"/><circle cx="25" cy="5" r="1.5" fill="%23ffe4e1"/></svg>');background-repeat:repeat;background-size:40px 40px;transition:background-color .3s ease,color .3s ease}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{max-width:1100px;margin:0 auto;padding:20px 1.25rem}h1,h2,h3{font-family:Quicksand,sans-serif;font-weight:700}h1{font-size:clamp(2rem,5vw,3rem);font-weight:700}h2{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}h3{font-size:clamp(1.3rem,3vw,2rem);font-weight:600}p,li,span{font-size:1.1rem}header{background:linear-gradient(-45deg,var(--grad-a),var(--grad-b),var(--grad-c),var(--grad-d));background-size:400% 400%;animation:grad 16s ease infinite;color:#fff;position:relative;z-index:10;overflow:hidden;width:100%}header:not(:first-of-type){display:none!important}@keyframes grad{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.header-controls{display:flex;align-items:center;gap:1rem}.desktop-theme-toggle .theme-toggle{background:#fffffff2!important;border:2px solid var(--primary, #ff7bac)!important;color:var(--primary, #ff7bac)!important;box-shadow:0 4px 12px #0003!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}[data-theme=dark] .desktop-theme-toggle .theme-toggle{background:#2d2d2df2!important;border:2px solid var(--primary, #ff7bac)!important;color:var(--primary, #ff7bac)!important;box-shadow:0 4px 12px #0006!important}.logo{font-weight:800;letter-spacing:.3px}.nav-links{display:flex;gap:1rem;list-style:none}.nav-links a{color:#fff;font-weight:600;opacity:.9;transition:.25s}.nav-links a:hover{opacity:1;color:var(--accent)}.hamburger{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{display:block;height:3px;width:100%;background:#fff;border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{display:grid;place-items:center;text-align:center;padding:2rem 0 3rem}.profile{width:150px;height:150px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--shadow);transform:scale(.9);opacity:0;animation:pop .9s .4s forwards}@keyframes pop{to{transform:scale(1);opacity:1}}.hero h1{margin:.75rem 0 0;font-size:clamp(1.6rem,2.5vw,2.2rem)}.hero p{max-width:680px;margin:.5rem auto 1rem;opacity:.95}.hero .buttons{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:.5rem}.btn{background:#fff;color:var(--primary);padding:.7rem 1.2rem;border-radius:999px;font-weight:700;box-shadow:0 2px 8px #00000026;transition:transform .2s,box-shadow .2s,background .2s,color .2s;cursor:pointer;text-decoration:none;display:inline-block;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}[data-theme=dark] .btn{background:var(--card);color:var(--primary);box-shadow:0 2px 8px #0000004d}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0003;background:var(--accent);color:#333}[data-theme=dark] .btn:hover{background:var(--accent);color:#333;box-shadow:0 8px 18px #0006}.petal{position:absolute;top:-10px;width:12px;height:12px;border-radius:50%;opacity:.8;pointer-events:none;animation:fall 8s linear infinite}.flower{position:absolute;top:-50px;pointer-events:none;animation:fall linear infinite;transform-origin:center}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:.8}50%{transform:translateY(50vh) rotate(180deg) translate(20px);opacity:.9}to{transform:translateY(100vh) rotate(360deg) translate(-20px);opacity:0}}.hero,nav,.logo,h1,p,.buttons{position:relative;z-index:1}section{padding:3rem 0}section h2{font-size:clamp(1.4rem,2.2vw,1.8rem);margin:0 0 .75rem;position:relative}section h2:after{content:"\1f338";position:absolute;margin-left:8px;font-size:1.2rem;animation:brillar 2s infinite alternate}@keyframes brillar{0%{opacity:.5}to{opacity:1}}.muted i{margin-left:.3rem;color:#ff6f91}[data-theme=dark] .muted i{color:#ff7bac}.reveal{opacity:0;transform:translateY(28px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal.show{opacity:1;transform:none}.reveal.slide-left{transform:translate(-50px)}.reveal.slide-left.show{transform:translate(0)}.reveal.slide-right{transform:translate(50px)}.reveal.slide-right.show{transform:translate(0)}.reveal.scale{transform:scale(.8)}.reveal.scale.show{transform:scale(1)}.btn.loading{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-notification{position:fixed;top:20px;right:20px;background:#f8d7da;color:#721c24;padding:1rem;border-radius:8px;border:1px solid #f5c6cb;z-index:10000;max-width:400px;box-shadow:0 4px 12px #00000026;animation:slideInRight .3s ease-out}.error-content{display:flex;align-items:center;gap:.5rem}.error-content button{background:none;border:none;color:inherit;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s}.error-content button:hover{background:#0000001a}.offline-indicator{position:fixed;top:0;left:0;right:0;background:#ff6b6b;color:#fff;text-align:center;padding:.5rem;z-index:10001;transform:translateY(-100%);transition:transform .3s ease}.offline-indicator.show{transform:translateY(0)}.icon-yarn{width:36px;height:36px;display:inline-block;vertical-align:middle;margin:0 4px}.timeline{position:relative;margin:2rem 0}.timeline:before{content:"";position:absolute;left:22px;top:0;bottom:0;width:3px;background:#eaeaf1;z-index:1}[data-theme=dark] .timeline:before{background:#4a1a2a}.t-item{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:flex-start;margin:1rem 0}.t-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#2a3a8f;border:1px solid #dfe6ff;position:relative;z-index:2}[data-theme=dark] .t-icon{background:#4a1a2a;color:#ffc7d2;border:1px solid #5a1a2f}.t-card{background:var(--card);border:1px solid #eee;border-radius:var(--radius);padding:1rem;box-shadow:0 4px 12px #0000000f}[data-theme=dark] .t-card{border:1px solid #4a1a2a;box-shadow:0 4px 12px #0000004d}.t-card h3{margin:.1rem 0 .3rem;font-size:1.05rem;color:var(--text)!important}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.skill-card{background:var(--card);border:1px solid #eee;border-radius:var(--radius);padding:1rem}[data-theme=dark] .skill-card{border:1px solid #4a1a2a}.skill-title{display:flex;align-items:center;gap:.5rem;font-weight:800;margin-bottom:.5rem;color:var(--text)!important}.skill-list{display:grid;gap:.4rem}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border:1px solid #e6e6ee;border-radius:999px;background:var(--card);font-weight:600;width:max-content;color:var(--text)}[data-theme=dark] .badge{border:1px solid #4a1a2a!important;color:#e8e8e8!important}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem;margin-top:1rem}.card{background:var(--card);border:1px solid #eee;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px #0000000f;cursor:pointer;transform:translateY(0);transition:transform .35s,box-shadow .35s,opacity .7s;display:flex;flex-direction:column;position:relative;max-height:300px}[data-theme=dark] .card{border:1px solid #4a1a2a;box-shadow:0 4px 14px #0000004d}.card:hover{transform:translateY(-8px);box-shadow:0 14px 28px #00000029}[data-theme=dark] .card:hover{box-shadow:0 14px 28px #0006}.image-container{width:100%;height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f8f9fa;border-bottom:1px solid #eee;position:relative;max-width:100%;box-sizing:border-box}[data-theme=dark] .image-container{background:#3a1a25;border-bottom:1px solid #4a1a2a}.project-image{width:80%;max-width:200px;height:auto;max-height:100px;object-fit:contain;border-radius:8px}.icon-svg,.card img[src*=Python-Emblem],.card img[src*="java.png"],.card img[src*=devicon]{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.card-body{display:flex;flex-direction:column;flex:1;padding:1rem}.card-body h3{margin:.2rem 0;font-size:1.05rem;color:var(--text)!important}.card-body .stack{font-size:.9rem;color:#445}[data-theme=dark] .card-body .stack{color:#b0b0b0!important}.pill{display:inline-block;margin-top:.5rem;padding:.35rem .6rem;border-radius:999px;background:#f3f7ff;border:1px solid #e3eaff;font-weight:700;color:#2a3a8f}[data-theme=dark] .pill{background:#3a1a25!important;border:1px solid #4a1a2a!important;color:#ffb3c1!important}.future{background:linear-gradient(180deg,#fafbff,transparent)}[data-theme=dark] .future{background:linear-gradient(180deg,#2d2d2d,transparent)}.future .goal{background:var(--card);border:1px solid #eee;border-radius:var(--radius);padding:1rem;display:flex;gap:.75rem;align-items:flex-start;box-shadow:0 6px 18px #00000014}[data-theme=dark] .future .goal{border:1px solid #4a1a2a;box-shadow:0 6px 18px #0000004d}.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}.links{display:flex;flex-wrap:wrap;gap:.5rem}.cta{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.2rem;border-radius:12px;background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,123,172,.2);font-weight:600;text-decoration:none;color:var(--text);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;min-width:120px;justify-content:center}.cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,123,172,.1),transparent);transition:left .5s ease}.cta:hover{color:#fff;background:linear-gradient(135deg,var(--primary),#ff8fa3);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px #ff7bac66;border-color:var(--primary)}.cta:hover:before{left:100%}.cta i{font-size:1rem;color:var(--primary);transition:all .3s ease;flex-shrink:0}.cta:hover i{color:#fff;transform:scale(1.1)}[data-theme=dark] .cta{background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid rgba(255,123,172,.3);color:var(--text)}[data-theme=dark] .cta:hover{background:linear-gradient(135deg,var(--primary),#ff8fa3);box-shadow:0 8px 25px #ff7bac99}[data-theme=dark] .cta i{color:var(--primary)}[data-theme=dark] .cta:hover i{color:#fff;transform:scale(1.1)}form{display:grid;gap:.7rem}input,textarea{padding:.75rem;border:1px solid #ddd;border-radius:12px;font:inherit;background:var(--card);color:var(--text)}[data-theme=dark] input,[data-theme=dark] textarea{border:1px solid #4a1a2a}button[type=submit]{background:var(--primary);color:#fff;border:0;padding:.8rem 1rem;border-radius:12px;font-weight:800;cursor:pointer}button[type=submit]:hover{background:#ffb3c1}[data-theme=dark] button[type=submit]:hover{background:#ffc7d2;color:#333}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;padding:.75rem;margin-bottom:1rem}[data-theme=dark] .error-message{color:#ff6b6b;background:#4a1a2a;border:1px solid #5a1a2f}.success-message{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:.75rem;margin-bottom:1rem}[data-theme=dark] .success-message{color:#4ade80;background:#2a1a1f;border:1px solid #3a1a25}.modal{display:none;position:fixed;inset:0;z-index:50;background:#000000a6;align-items:center;justify-content:center;padding:1rem}.modal .box{background:var(--card);border-radius:16px;max-width:720px;width:100%;overflow:hidden;border:1px solid #eee;box-shadow:0 20px 40px #00000026}[data-theme=dark] .modal .box{border:1px solid #4a1a2a;box-shadow:0 20px 40px #00000080}.box-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #eee;background:linear-gradient(135deg,#f8f9fa,#fff)}[data-theme=dark] .box-head{border-bottom:1px solid #4a1a2a;background:linear-gradient(135deg,#2d2d2d,#3a1a25)}.box-head h2,.box-head h3{color:var(--text);font-size:1.5rem;font-weight:700;margin:0}[data-theme=dark] .box-head h2,[data-theme=dark] .box-head h3{color:var(--text);font-weight:700}.box-body{padding:1.5rem;color:var(--text);background:var(--card)}[data-theme=dark] .box-body{background:var(--card);color:var(--text)}.box-body p{color:var(--text);line-height:1.6;margin-bottom:1rem}.box-body h3{color:var(--text);margin-bottom:.5rem}.box-body ul{color:var(--text)}.box-body li{color:var(--text);margin-bottom:.5rem}.modal .box .box-head #m-title{color:var(--text)!important;font-weight:700!important;text-shadow:none!important;opacity:1!important;filter:none!important}[data-theme=dark] .modal .box .box-head #m-title{color:#e0e0e0!important;font-weight:700!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important;opacity:1!important;filter:none!important}.close{border:0;background:#f2f2f7;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;color:#333;transition:all .3s ease;font-weight:700;font-size:1.2rem;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .close{background:#4a1a2a;color:#e8e8e8;border:2px solid #5a1a2f;box-shadow:0 2px 8px #0000004d}.close:hover{background:#e0e0e0;transform:scale(1.1);color:#000;box-shadow:0 4px 12px #0003}[data-theme=dark] .close:hover{background:#ff7bac;color:#fff;border-color:#ff7bac;transform:scale(1.1);box-shadow:0 4px 12px #ff7bac66}footer{background:var(--grad-c);color:#fff;text-align:center;padding:1.5rem 0;margin-top:2rem;position:relative}.footer-container{display:flex;flex-direction:column;align-items:center;gap:.6rem}.footer-social a{margin:0 .4rem;font-size:1.2rem;color:#fff;transition:color .3s}.footer-social a:hover{color:var(--grad-a)}.made-with i{color:#fff;margin:0 3px}.gustos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.gusto-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}[data-theme=dark] .gusto-card{border:1px solid #4a1a2a}.gusto-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #00000026}[data-theme=dark] .gusto-card:hover{box-shadow:0 12px 24px #0006}.gusto-card i,.gusto-card img{font-size:2rem;color:var(--primary);margin-bottom:.5rem}.gusto-card h3{margin:.3rem 0;color:var(--text)}@media (max-width: 820px){.contact{grid-template-columns:1fr}}@media (max-width: 768px){.nav-links{position:absolute;top:60px;right:0;background:var(--card);flex-direction:column;width:200px;padding:1rem;box-shadow:0 8px 20px #0000001a;display:none;border-radius:12px;border:1px solid #eee}[data-theme=dark] .nav-links{border:1px solid #4a1a2a;box-shadow:0 8px 20px #0000004d}.nav-links.active{display:flex}.nav-links a{color:var(--text);padding:.5rem 0}.nav-links .theme-toggle-item{display:flex;justify-content:center;align-items:center;padding:1rem 0;border-top:1px solid #eee;margin-top:.5rem;background:#ffffff0d;border-radius:8px;margin:.5rem .5rem 0}[data-theme=dark] .nav-links .theme-toggle-item{border-top:1px solid #4a1a2a;background:#0000001a}.nav-links .theme-toggle-item app-theme-toggle{display:flex;justify-content:center}.nav-links .theme-toggle-item .theme-toggle{background:#fffffff2!important;border:2px solid var(--primary, #ff7bac)!important;color:var(--primary, #ff7bac)!important;box-shadow:0 4px 12px #0003!important}[data-theme=dark] .nav-links .theme-toggle-item .theme-toggle{background:#2d2d2df2!important;border:2px solid var(--primary, #ff7bac)!important;color:var(--primary, #ff7bac)!important;box-shadow:0 4px 12px #0006!important}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger span{display:block;height:3px;width:100%;background:#fff;border-radius:2px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.profile{display:none}#historia{padding-top:50px}.muted{display:block}.petal-container{position:absolute;inset:0;z-index:0;pointer-events:none}header nav{position:relative;z-index:10}header .hero{position:relative;z-index:5}}@media (max-width: 500px){.card img{width:70%;max-width:150px}}#scrollTopBtn{position:fixed!important;bottom:40px!important;right:40px!important;width:60px!important;height:60px!important;background:#ff7bac!important;color:#fff!important;border:3px solid #fff!important;border-radius:50%!important;font-size:18px!important;font-weight:700!important;cursor:pointer!important;z-index:99999999!important;transition:opacity .3s ease-in-out,transform .3s ease!important;box-shadow:0 6px 20px #0006!important;display:flex!important;align-items:center!important;justify-content:center!important;opacity:0!important;pointer-events:none!important;transform:translateY(20px)!important;-webkit-user-select:none!important;user-select:none!important}#scrollTopBtn.show{opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}#scrollTopBtn.show:hover{background:var(--accent)!important;transform:translateY(0) scale(1.1)!important;box-shadow:0 8px 20px #0000004d!important}[data-theme=dark] #scrollTopBtn.show:hover{background:var(--accent)!important;color:#333!important;box-shadow:0 8px 20px #00000080!important}.profile{border:4px solid #ffb3c1;box-shadow:0 4px 12px #ffb3c14d}[data-theme=dark] .profile{border:4px solid #ff7bac;box-shadow:0 4px 12px #ff7bac66}.card{position:relative}.card:hover:after{content:"\2728";position:absolute;top:5px;right:5px;font-size:1.2rem;animation:brillar 1s ease-in-out infinite alternate}#downloadBtn{background:linear-gradient(135deg,#ffb3c1,#ffe4e1);color:#333;font-weight:700;border-radius:12px;position:relative;overflow:hidden;transition:all .3s ease}[data-theme=dark] #downloadBtn{background:linear-gradient(135deg,#4a1a2a,#5a1a2f);color:#ffc7d2}#downloadBtn:hover{transform:scale(1.05);background:linear-gradient(135deg,#ffe4e1,#ffb3c1)}[data-theme=dark] #downloadBtn:hover{background:linear-gradient(135deg,#5a1a2f,#4a1a2a)}
