@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Courier+Prime&display=swap";@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css";*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#0a0a0a;--bg-card:#141414;--accent:#22d3ee;--accent-glow:#22d3ee4d;--text-primary:#f5f5f5;--text-secondary:#a3a3a3;--font-main:"Poppins", sans-serif;--font-mono:"Courier Prime", monospace}html{scroll-behavior:smooth}body{font-family:var(--font-main);background:var(--bg-dark);color:var(--text-primary);line-height:1.6}.section__title{color:var(--text-primary);margin-bottom:2rem;font-size:2.5rem;display:inline-block;position:relative}.section__title:after{content:"";background:var(--accent);width:60px;height:3px;box-shadow:0 0 10px var(--accent-glow);position:absolute;bottom:-8px;left:0}.nav{z-index:1000;padding:1rem 2rem;transition:all .3s;position:fixed;top:0;left:0;right:0}.nav--scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0af2;box-shadow:0 2px 20px #00000080}.nav__container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.nav__logo{color:var(--accent);text-shadow:0 0 10px var(--accent-glow);font-size:1.8rem;font-weight:700;text-decoration:none}.nav__logo img{object-fit:cover;border-radius:50%;width:40px;height:40px}.nav__links{gap:2rem;list-style:none;display:flex}.nav__link{color:var(--text-primary);font-weight:500;text-decoration:none;transition:color .3s;position:relative}.nav__link:hover{color:var(--accent)}.nav__link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav__link:hover:after{width:100%}.hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero__video{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero__overlay{background:linear-gradient(#0a0a0ab3,#0a0a0ae6);width:100%;height:100%;position:absolute;top:0;left:0}.hero__content{z-index:1;text-align:center;position:relative}.hero__title{flex-direction:column;gap:.5rem;font-size:4rem;display:flex}.hero__name{color:var(--text-primary);font-weight:700}.hero__brand{color:var(--accent);text-shadow:0 0 10px var(--accent-glow);font-size:1.5rem;font-weight:600}.hero__subtitle{color:var(--accent);text-shadow:0 0 20px var(--accent-glow);font-weight:600}.hero__text{color:var(--text-secondary);margin-top:1rem;font-size:1.2rem}.sobre-mi{background:var(--bg-dark);padding:6rem 2rem}.sobre-mi__container{grid-template-columns:1fr 1.5fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.sobre-mi__image img{width:100%;max-width:400px;box-shadow:0 0 30px var(--accent-glow);border-radius:10px}.sobre-mi__content{padding:2rem 0}.sobre-mi__description{color:var(--accent);margin-bottom:1.5rem;font-size:1.2rem}.sobre-mi__content p{color:var(--text-secondary);margin-bottom:1rem}.sobre-mi__info{flex-wrap:wrap;gap:2rem;margin-top:2rem;display:flex}.sobre-mi__item{flex-direction:column;gap:.3rem;display:flex}.sobre-mi__label{color:var(--accent);text-transform:uppercase;font-size:.9rem;font-weight:600}.habilidades{background:linear-gradient(to bottom, var(--bg-dark), #0f0f0f);padding:6rem 2rem}.habilidades__container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;max-width:1200px;margin:0 auto;display:grid}.habilidades__category{background:var(--bg-card);border:1px solid #ffffff0d;border-radius:10px;padding:2rem}.habilidades__category-title{color:var(--accent);margin-bottom:1.5rem;font-size:1.3rem}.habilidades__grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1.5rem;display:grid}.habilidades__skill{background:#ffffff08;border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;transition:all .3s;display:flex}.habilidades__skill:hover{box-shadow:0 5px 20px var(--accent-glow);background:#22d3ee1a;transform:translateY(-5px)}.habilidades__skill i{font-size:2rem}.habilidades__skill span{color:var(--text-secondary);font-size:.85rem}.proyectos{background:var(--bg-dark);padding:6rem 2rem}.proyectos__grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.proyecto-card{perspective:1000px;cursor:pointer;height:300px}.proyecto-card__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.proyecto-card.flipped .proyecto-card__inner{transform:rotateY(180deg)}.proyecto-card__front,.proyecto-card__back{backface-visibility:hidden;border-radius:10px;width:100%;height:100%;position:absolute;overflow:hidden}.proyecto-card__front{background:var(--bg-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.proyecto-card__icon{justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1rem;display:flex}.proyecto-card__icon img{object-fit:contain;width:100%;height:100%}.proyecto-card__front h3{color:var(--text-primary);margin-bottom:.5rem}.proyecto-card__domain{color:var(--text-secondary);font-size:.85rem}.proyecto-card__back{background:var(--bg-card);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;transform:rotateY(180deg)}.proyecto-card__back h3{color:var(--accent);margin-bottom:1rem}.proyecto-card__back p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem}.proyecto-card__techs{gap:1rem;margin-bottom:1.5rem;display:flex}.proyecto-card__tech i{font-size:1.8rem}.proyecto-card__btn{border:2px solid var(--accent);color:var(--accent);background:0 0;border-radius:5px;padding:.8rem 2rem;text-decoration:none;transition:all .3s;display:inline-block}.proyecto-card__btn:hover{background:var(--accent);color:var(--bg-dark);box-shadow:0 0 20px var(--accent-glow)}.contacto{background:linear-gradient(to bottom, #0f0f0f, var(--bg-dark));padding:6rem 2rem 2rem}.contacto__container{text-align:center;max-width:800px;margin:0 auto}.contacto__info{flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:3rem;display:flex}.contacto__item{color:var(--text-secondary);align-items:center;gap:.5rem;display:flex}.contacto__item i{color:var(--accent)}.contacto__form{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}.contacto__form input,.contacto__form textarea{background:var(--bg-card);color:var(--text-primary);font-family:var(--font-main);border:1px solid #ffffff1a;border-radius:5px;padding:1rem}.contacto__form input:focus,.contacto__form textarea:focus{border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow);outline:none}.contacto__form textarea{resize:vertical;min-height:150px}.contacto__btn{background:var(--accent);color:var(--bg-dark);cursor:pointer;border:none;border-radius:5px;padding:1rem 2rem;font-weight:600;transition:all .3s}.contacto__btn:hover{box-shadow:0 0 20px var(--accent-glow);transform:translateY(-2px)}.contacto__btn:disabled{opacity:.7;cursor:not-allowed}.contacto__success,.contacto__error{text-align:center;border-radius:5px;margin-bottom:1rem;padding:1rem}.contacto__success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d}.contacto__error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d}.contacto__social{justify-content:center;gap:2rem;margin-bottom:3rem;display:flex}.contacto__social a{color:var(--text-secondary);font-size:1.5rem;transition:all .3s}.contacto__social a:hover{color:var(--accent);transform:translateY(-3px)}.contacto__bottom{text-align:center;color:var(--text-secondary);border-top:1px solid #ffffff0d;padding-top:2rem;font-size:.9rem}@media (width<=768px){.hero__title{font-size:2.5rem}.sobre-mi__container{grid-template-columns:1fr;gap:2rem}.nav__links{display:none}.proyecto-card:hover .proyecto-card__inner{transform:rotateY(180deg)}}.admin-login{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.admin-login__container{background:var(--bg-card);text-align:center;border-radius:10px;width:100%;max-width:400px;padding:3rem}.admin-login__container h1{color:var(--accent);margin-bottom:2rem}.admin-login__container input{background:var(--bg-dark);width:100%;color:var(--text-primary);font-family:var(--font-main);border:1px solid #ffffff1a;border-radius:5px;margin-bottom:1rem;padding:1rem}.admin-login__container button{background:var(--accent);width:100%;color:var(--bg-dark);cursor:pointer;border:none;border-radius:5px;padding:1rem;font-weight:600;transition:all .3s}.admin-login__container button:hover{box-shadow:0 0 20px var(--accent-glow)}.admin-login__error{color:#ef4444;margin-bottom:1rem}.admin{min-height:100vh;padding:6rem 2rem 2rem}.admin__header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto 3rem;padding-bottom:1rem;display:flex}.admin__header-left{flex-direction:column;gap:.3rem;display:flex}.admin__header h1{color:var(--accent);font-size:1.8rem}.admin__user-email{color:var(--text-secondary);font-size:.85rem}.admin__logout{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:5px;padding:.5rem 1.5rem;transition:all .3s}.admin__logout:hover{background:var(--accent);color:var(--bg-dark)}.admin__main{grid-template-columns:1fr 1.5fr;gap:3rem;max-width:1200px;margin:0 auto;display:grid}.admin__main:has(.admin__messages-section){display:block}.admin__tabs{gap:1rem;max-width:1200px;margin:0 auto 2rem;display:flex}.admin__tab{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.5rem;padding:1rem 2rem;font-weight:500;transition:all .3s;display:flex}.admin__tab:hover{border-color:var(--accent);color:var(--text-primary)}.admin__tab.active{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.admin__badge{color:#fff;background:#ef4444;border-radius:10px;padding:.2rem .5rem;font-size:.75rem}.admin__form-section{background:var(--bg-card);border-radius:10px;height:fit-content;padding:2rem}.admin__form-section h2{color:var(--accent);margin-bottom:1.5rem}.admin__add-btn{background:var(--accent);width:100%;color:var(--bg-dark);cursor:pointer;border:none;border-radius:5px;padding:1rem;font-weight:600;transition:all .3s}.admin__add-btn:hover{box-shadow:0 0 20px var(--accent-glow)}.admin__form{flex-direction:column;gap:1.5rem;display:flex}.admin__field{flex-direction:column;gap:.5rem;display:flex}.admin__field label{color:var(--text-secondary);font-size:.9rem}.admin__field input,.admin__field textarea{background:var(--bg-dark);color:var(--text-primary);font-family:var(--font-main);border:1px solid #ffffff1a;border-radius:5px;padding:.8rem}.admin__field input:focus,.admin__field textarea:focus{border-color:var(--accent);outline:none}.admin__field textarea{resize:vertical;min-height:100px}.admin__techs{flex-wrap:wrap;gap:.5rem;display:flex}.admin__tech-btn{background:var(--bg-dark);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;border:1px solid #ffffff1a;border-radius:5px;padding:.5rem 1rem;font-size:.8rem;transition:all .3s}.admin__tech-btn.active{background:var(--accent);color:var(--bg-dark);border-color:var(--accent)}.admin__actions{gap:1rem;display:flex}.admin__submit{background:var(--accent);color:var(--bg-dark);cursor:pointer;border:none;border-radius:5px;flex:1;padding:.8rem;font-weight:600;transition:all .3s}.admin__submit:hover{box-shadow:0 0 20px var(--accent-glow)}.admin__cancel{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:5px;padding:.8rem 1.5rem;transition:all .3s}.admin__cancel:hover{border-color:var(--text-secondary)}.admin__list-section{background:var(--bg-card);border-radius:10px;padding:2rem}.admin__list-section h2{color:var(--accent);margin-bottom:1.5rem}.admin__list{flex-direction:column;gap:1rem;display:flex}.admin__item{background:var(--bg-dark);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.admin__item-info{flex:1}.admin__item-info h3{color:var(--text-primary);margin-bottom:.5rem}.admin__item-info p{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem}.admin__item-url{color:var(--accent);margin-bottom:.5rem;font-size:.8rem;display:block}.admin__item-techs{flex-wrap:wrap;gap:.5rem;display:flex}.admin__tech-tag{color:var(--accent);text-transform:uppercase;background:#22d3ee1a;border-radius:3px;padding:.2rem .5rem;font-size:.75rem}.admin__item-actions{gap:.5rem;display:flex}.admin__edit,.admin__delete{cursor:pointer;border:none;border-radius:5px;padding:.5rem 1rem;font-size:.85rem;transition:all .3s}.admin__edit{background:var(--accent);color:var(--bg-dark)}.admin__edit:hover{box-shadow:0 0 15px var(--accent-glow)}.admin__delete{color:#fff;background:#ef4444}.admin__delete:hover{box-shadow:0 0 15px #ef44444d}.admin__mark-read{background:var(--accent);color:var(--bg-dark);cursor:pointer;border:none;border-radius:5px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.admin__mark-read:hover{box-shadow:0 0 15px var(--accent-glow)}.admin__messages-section{background:var(--bg-card);border-radius:10px;padding:2rem}.admin__messages-section h2{color:var(--accent);margin-bottom:1.5rem}.admin__messages{flex-direction:column;gap:1rem;display:flex}.admin__message{background:var(--bg-dark);border-left:4px solid var(--text-secondary);border-radius:8px;padding:1.5rem}.admin__message.unread{border-left-color:var(--accent);background:#22d3ee0d}.admin__message-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.admin__message-from{flex-direction:column;gap:.25rem;display:flex}.admin__message-from strong{color:var(--text-primary);font-size:1.1rem}.admin__message-from span{color:var(--accent);font-size:.9rem}.admin__message-date{color:var(--text-secondary);font-size:.8rem}.admin__message-body{margin-bottom:1rem}.admin__message-body p{color:var(--text-secondary);line-height:1.6}.admin__message-actions{gap:.5rem;display:flex}.proyectos__loading{text-align:center;color:var(--text-secondary);padding:3rem}.admin__error{color:#ef4444;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.admin__error p{margin-bottom:.5rem}.admin__error p:last-child{color:var(--text-secondary);font-size:.9rem}.admin__empty{color:var(--text-secondary);text-align:center;padding:2rem}@media (width<=768px){.admin__main{grid-template-columns:1fr}.admin__item{flex-direction:column;align-items:flex-start}.admin__item-actions{width:100%;margin-top:1rem}.admin__edit,.admin__delete{flex:1}.admin__tabs{flex-direction:column}.admin__tab{justify-content:center;width:100%}.admin__message-header{flex-direction:column;gap:.5rem}.admin__message-actions{flex-direction:column}.admin__mark-read,.admin__delete{text-align:center;width:100%}}
