:root{--bg: #0b0c10;--fg: #eaeaea;--accent: #66fcf1;--muted: rgba(197, 198, 199, .3);--muted-solid: #c5c6c7;--font-body: "Inter", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--font-head: "Space Grotesk", "Inter", system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body{height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.6}html.scroll-locked,body.scroll-locked{overflow:hidden!important;touch-action:none!important;-webkit-overflow-scrolling:auto!important}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid rgba(102,252,241,.1)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent) 0%,rgba(102,252,241,.5) 100%);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--accent);box-shadow:0 0 10px #66fcf180}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg)}.pin-spacer{max-width:100vw!important;overflow:hidden!important}body.hide-scrollbar,body.hide-scrollbar *,html:has(body.hide-scrollbar){scrollbar-width:none!important;-ms-overflow-style:none!important}body.hide-scrollbar::-webkit-scrollbar,body.hide-scrollbar *::-webkit-scrollbar,html:has(body.hide-scrollbar)::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;background:transparent!important}a{color:inherit;text-decoration:none;transition:color .3s ease}a:hover{color:var(--accent)}.container{max-width:1200px;margin:0 auto;padding:0 28px}.text-center{text-align:center}.frame{transition:background .5s ease;overflow-x:hidden;max-width:100vw}.overlay{position:fixed;inset:0;background:#0000;pointer-events:none;transition:background .6s ease}.project-bg-overlay{position:fixed;inset:0;z-index:0;background-size:cover;background-position:center;filter:blur(20px) brightness(.5);opacity:0;transition:opacity .8s ease,background-image .8s ease;pointer-events:none;background-color:var(--bg)}.project-bg-overlay:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,transparent 40%,var(--bg) 100%)}.kv-fixed{position:fixed;top:20px;left:30px;font-weight:900;font-size:28px;letter-spacing:.08em;font-family:var(--font-head);color:var(--fg);z-index:100;opacity:1;transition:opacity .4s ease}.menu a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.menu a:hover:after,.menu a.active:after{width:100%}.menu a.active{color:var(--accent)}.menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:transparent;border:none;cursor:pointer;padding:4px;z-index:101}.hamburger-line{display:block;width:100%;height:2px;background:var(--fg);transition:all .3s ease}.menu-toggle.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active .hamburger-line:nth-child(2){opacity:0}.menu-toggle.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.menu-toggle{display:flex}.menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;flex-direction:column;justify-content:center;align-items:center;gap:30px;background:#0b0c10fa;backdrop-filter:blur(20px);transition:right .4s ease;z-index:100;padding:20px}.menu.open{right:0}.menu a{font-size:1.2rem;padding:12px 0}.section-title-centered{font-size:clamp(1.2rem,5vw,2.5rem)}.mis-floating{font-size:inherit}.container{padding-left:20px;padding-right:20px}.section{padding:60px 0;min-height:auto}.sobre-mi-section{min-height:100vh}.sobre-mi-wrapper{min-height:auto;padding:40px 0}.about-content{padding:0 10px}#contacto{padding-bottom:100px}.contact-wrapper{padding:0 10px}.contact-form{width:100%}.timeline-wrapper{flex-direction:column}.timeline-right{order:-1;margin-bottom:30px}.timeline-left{padding-left:20px}#timeline{padding-left:30px}#timeline li:before{left:-30px}.section-title{padding-left:10px}}.section{min-height:100vh;display:flex;flex-direction:column;padding:100px 0;opacity:1;transform:translateY(0)}.section-title{font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:32px;font-size:clamp(1.5rem,4vw,2.5rem);transition:color .4s ease;font-family:var(--font-head)}.section-title.hl{color:var(--accent)}.section-title-centered{font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:40px;font-size:clamp(1.5rem,4vw,2.5rem);font-family:var(--font-head);color:var(--accent);text-align:center;width:100%}.mis-floating{display:inline-block;margin-right:.3em;will-change:transform}.proyectos-mis-space{display:inline-block;width:0;overflow:hidden;transition:width .3s ease}.typewriter-text{display:inline-block;overflow:hidden;white-space:nowrap;width:0;opacity:0}.typewriter-text.revealed{opacity:1}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 0 100px;opacity:1!important}.hero-content{position:relative;z-index:1}.title{font-size:clamp(60px,15vw,150px);line-height:.9;font-family:var(--font-head);font-weight:700;color:var(--fg);background:linear-gradient(135deg,var(--fg) 30%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.title-char{display:inline-block;background:linear-gradient(135deg,var(--fg) 30%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;will-change:transform,opacity,filter}.subtitle{margin-top:20px;color:var(--muted-solid);font-size:clamp(.9rem,2vw,1.2rem);letter-spacing:.15em;font-weight:500;text-transform:uppercase}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.7;transition:opacity .3s ease;cursor:pointer}.scroll-indicator:hover{opacity:1}.scroll-text{font-size:.75rem;letter-spacing:.2em;color:var(--muted-solid);font-weight:500}.scroll-arrows{display:flex;flex-direction:column;align-items:center;gap:-8px}.scroll-arrows .chevron{color:var(--accent);animation:bounce 2s infinite}.scroll-arrows .chevron:nth-child(1){animation-delay:0s;opacity:.5}.scroll-arrows .chevron:nth-child(2){animation-delay:.15s;margin-top:-12px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(8px)}60%{transform:translateY(4px)}}.scroll-indicator-sobremi{position:absolute;bottom:30px;left:50%;transform:translate(-50%);opacity:.5}.scroll-indicator-sobremi .chevron{color:var(--accent);animation:bounce 2s infinite}.sobre-mi-section{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;position:relative}.sobre-mi-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:80vh;padding:40px 0;width:100%;max-width:1100px;margin:0 auto}.about-layout{display:flex;align-items:center;justify-content:space-between;gap:60px;width:100%}.about-content{flex:1;max-width:800px}.profile-image-container{flex-shrink:0;position:relative}.profile-image-container:before{content:"";position:absolute;inset:-15px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(102,252,241,.6) 60deg,transparent 120deg,rgba(102,252,241,.4) 180deg,transparent 240deg,rgba(102,252,241,.5) 300deg,transparent 360deg);animation:rotate-glow 4s linear infinite;z-index:-1;filter:blur(8px)}.profile-image-container:after{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(102,252,241,.15) 0%,transparent 70%);z-index:-1;animation:pulse-glow 3s ease-in-out infinite}@keyframes rotate-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.profile-image{width:250px;height:250px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:3px solid rgba(102,252,241,.5);box-shadow:0 0 30px #66fcf14d,0 0 60px #66fcf126,inset 0 0 20px #66fcf11a;transition:transform .4s ease,box-shadow .4s ease;position:relative;z-index:1}.profile-image:hover{transform:scale(1.08);box-shadow:0 0 50px #66fcf180,0 0 80px #66fcf140,inset 0 0 30px #66fcf126}@media(max-width:768px){.about-layout{flex-direction:column-reverse;gap:50px}.profile-image{width:180px;height:180px}.about-content{max-width:100%;text-align:center}.social-icons{justify-content:center}}.about-text{font-size:1.15rem;line-height:1.8;color:var(--muted-solid);margin-bottom:24px;transition:color .6s ease}.about-text.dimmed{color:#64646e80}.about-text strong{color:var(--accent);font-weight:600}.highlight-word{transition:color .6s ease,text-shadow .6s ease;font-weight:600}.highlight-word.active{color:var(--accent)!important;text-shadow:0 0 30px rgba(102,252,241,.6),0 0 60px rgba(102,252,241,.3)}.social-icons{display:flex;gap:20px;margin-top:32px;justify-content:flex-start}.social-icons-centered{justify-content:center;width:100%;margin-top:40px}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--muted-solid);transition:all .3s ease}.social-link:hover{background:#66fcf126;border-color:var(--accent);color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 25px #66fcf14d}.social-link:hover svg{fill:var(--accent)}.social-link svg{width:22px;height:22px}.social-icons.dimmed .social-link{color:#64646e66;border-color:#64646e33}.cv-link{width:auto;padding:0 16px;gap:8px;border-radius:24px;background:linear-gradient(135deg,#66fcf11a,#66fcf10d);border:1px solid rgba(102,252,241,.3);color:var(--accent);position:relative;overflow:hidden}.cv-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,252,241,.2),transparent);transition:left .5s ease}.cv-link:hover:before{left:100%}.cv-link:hover{background:linear-gradient(135deg,#66fcf140,#66fcf126);border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 25px #66fcf166,0 0 15px #66fcf133}.cv-link svg{stroke:var(--accent);fill:none;width:20px;height:20px;transition:transform .3s ease}.cv-link:hover svg{transform:translateY(2px);animation:download-bounce .6s ease infinite}@keyframes download-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.cv-text{font-size:.85rem;font-weight:600;letter-spacing:.1em;color:var(--accent)}.chip{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}.skill-tag{padding:8px 16px;border-radius:50px;border:1px solid rgba(102,252,241,.3);background:#66fcf10d;color:var(--fg);font-size:.9rem;transition:all .3s ease}.skill-tag:hover{background:#66fcf126;border-color:var(--accent)}.mis-fx{position:fixed;left:0;top:0;z-index:9;font-weight:700;font-size:22px;letter-spacing:.06em;opacity:0;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.card{flex:1;border:1px solid rgba(197,198,199,.15);border-radius:24px;backdrop-filter:blur(10px);transition:transform .4s ease,border-color .4s ease,box-shadow .4s ease;padding:0;background-color:#ffffff08;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden;position:relative}.skill-card{padding:24px;border-radius:16px}.card-content{width:100%;padding:20px 24px;background:linear-gradient(to top,rgba(11,12,16,.98) 0%,rgba(11,12,16,.85) 40%,rgba(11,12,16,.4) 70%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;opacity:1;transition:opacity .3s ease;margin-top:auto}.card:hover{transform:translateY(-4px);border-color:#66fcf14d;box-shadow:0 20px 40px #0000004d}.project-name{font-size:1.25rem;font-weight:600;margin-bottom:8px}.project-desc{color:var(--muted-solid);font-size:.95rem;margin-bottom:16px}.btns{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.btn{padding:12px 24px;border-radius:12px;border:1px solid rgba(197,198,199,.2);background:#ffffff0d;color:var(--fg);cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.btn:hover{background:#ffffff1a;border-color:#c5c6c766;transform:translateY(-2px)}.btn-primary{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-primary:hover{background:#4de0d5;box-shadow:0 10px 30px #66fcf14d}.section-title-mobile{display:none}.embla{position:relative;overflow:visible;padding:20px 0}.embla__viewport{overflow:hidden;border-radius:24px}.embla__container{display:flex;gap:24px;padding:20px 0}.embla__slide{flex:0 0 45%;min-width:280px;opacity:.5;transform:scale(.95);transition:all .5s cubic-bezier(.4,0,.2,1)}.embla__slide.is-snapped{opacity:1;transform:scale(1);z-index:2}.embla__slide .card{height:100%;display:flex;flex-direction:column}.embla__controls{display:flex;justify-content:center;gap:16px;margin-top:32px}.embla__btn{padding:14px 28px;border-radius:50px;border:1px solid rgba(197,198,199,.2);background:#ffffff0d;color:var(--fg);cursor:pointer;transition:all .3s ease;font-weight:500}.embla__btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.experiencia-section{padding:0!important;min-height:100vh!important;overflow:hidden}.experiencia-section .section-title-centered{padding:40vh 20px 40px;margin-bottom:50px}.experiencia-title{will-change:transform,opacity,clip-path}.experiencia-title .exp-letter{display:inline-block;color:var(--accent)}#contactame-title{color:transparent}#contactame-title .contact-letter{display:inline-block;color:#66fcf114;transition:color .4s ease,text-shadow .4s ease;will-change:color,text-shadow}#contactame-title .contact-letter.lit{color:var(--accent);text-shadow:0 0 10px rgba(102,252,241,.9),0 0 30px rgba(102,252,241,.7),0 0 60px rgba(102,252,241,.5)}#contacto{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:100px;padding-bottom:100px}#contact-wrapper{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease;display:flex;flex-direction:column;align-items:center;width:100%}#contact-wrapper.visible{opacity:1;transform:translateY(0)}#contact-wrapper input,#contact-wrapper textarea{transition:border-color .4s ease,box-shadow .4s ease}#contact-wrapper input.lit,#contact-wrapper textarea.lit{border-color:var(--accent);box-shadow:0 0 15px #66fcf14d,inset 0 0 10px #66fcf11a}#contact-wrapper input.lit::-moz-placeholder,#contact-wrapper textarea.lit::-moz-placeholder{color:var(--accent);opacity:1}#contact-wrapper input.lit::placeholder,#contact-wrapper textarea.lit::placeholder{color:var(--accent);opacity:1}#contact-submit{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,background-color .3s ease;display:block;margin:20px auto 0}#contact-submit.visible{opacity:1;transform:translateY(0)}.timeline-vertical{position:relative;width:100%;overflow-x:hidden}.timeline-line{position:absolute;left:50%;top:0;transform:translate(-50%);width:3px;height:0;background:var(--accent);box-shadow:0 0 20px #66fcf199,0 0 40px #66fcf14d;z-index:10;pointer-events:none}.timeline-item{min-height:100vh;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;position:relative;padding:60px 80px;opacity:1}.timeline-item:nth-child(odd){justify-content:flex-end;padding-right:54.1%;padding-left:20px}.timeline-item:nth-child(2n){justify-content:flex-start;padding-left:54.5%;padding-right:20px}.timeline-item.active{opacity:1}.timeline-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.1) scaleY(1.8);width:20px;height:20px;background:var(--accent);border:3px solid var(--accent);border-radius:50%;z-index:15;opacity:0;transition:transform .6s cubic-bezier(.34,1.56,.64,1),opacity .3s ease-out,box-shadow .4s ease-out,background .3s ease}.timeline-item.active .timeline-dot{transform:translate(-50%,-50%) scale(1) scaleY(1);opacity:1;background:var(--accent);box-shadow:0 0 20px #66fcf199,0 0 40px #66fcf14d,inset 0 0 10px #fff3}.timeline-branch{display:none}.timeline-item:nth-child(odd) .timeline-branch{left:auto;right:50%;margin-right:-36px;margin-top:-17px;clip-path:inset(0 0 0 100%)}.timeline-item:nth-child(2n) .timeline-branch{right:auto;left:50%;margin-left:-27px;margin-top:-12px;clip-path:inset(0 100% 0 0)}.timeline-item.active .timeline-branch,.timeline-item.drawn .timeline-branch{clip-path:inset(0 0 0 0);opacity:1}.timeline-content{max-width:500px;text-align:center;background:#0b0c10e6;border:none;border-radius:20px;padding:40px;backdrop-filter:blur(10px);transition:all .5s ease;margin-top:80px}.timeline-item.active .timeline-content{border-color:var(--accent);box-shadow:0 20px 60px #0006,0 0 40px #66fcf11a}.timeline-content .chip{color:var(--accent);font-size:1rem;font-weight:600;margin-bottom:12px;letter-spacing:.05em}.timeline-content h3{font-size:1.8rem;font-weight:700;margin-bottom:16px;color:var(--fg)}.timeline-content .timeline-desc{color:var(--muted-solid);font-size:1rem;line-height:1.7;margin:0}@media(max-width:900px){.timeline-line,.timeline-dot{left:30px}.timeline-item,.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){justify-content:flex-start;padding:60px 20px 60px 70px}.timeline-item .timeline-content{transform:translate(-30px);opacity:0;transition:transform .5s ease-out,opacity .5s ease-out}.timeline-item.active .timeline-content{transform:translate(0);opacity:1}.timeline-content{max-width:100%;padding:30px;text-align:left}.timeline-content h3{font-size:1.4rem}}.contact-wrapper{display:flex;justify-content:center;width:100%}.contact-form{display:grid;gap:20px;width:100%;max-width:520px}.contact-form input,.contact-form textarea{padding:16px 20px;border-radius:16px;border:1px solid rgba(197,198,199,.15);background:#ffffff08;color:var(--fg);font-size:1rem;font-family:inherit;transition:all .3s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 30px #66fcf11a}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:#c5c6c780}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#c5c6c780}.contact-form button{justify-self:start}@media(max-width:880px){.nav{height:56px}.menu{gap:12px;font-size:.75rem}.title{font-size:clamp(48px,12vw,80px)}.embla__slide{flex:0 0 85%}.timeline-wrapper{grid-template-columns:1fr;gap:40px}.timeline-right{position:static;order:-1}.section{padding:60px 0}}.section-combo{position:relative;min-height:100vh;width:100%;max-width:100vw;overflow:hidden;display:flex;flex-direction:column;align-items:center}.morphing-title{position:relative;z-index:10;text-align:center;margin-top:150px;margin-bottom:60px}.combo-section{position:absolute;top:0;left:0;right:0;width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;box-sizing:border-box}#habilidades.combo-section{max-width:none;margin:0 auto}@media(min-width:769px){#habilidades #skills-grid{max-width:1000px;width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(6,1fr);gap:24px}#habilidades #skills-grid .skill-card:nth-child(1){grid-column:1 / 3}#habilidades #skills-grid .skill-card:nth-child(2){grid-column:3 / 5}#habilidades #skills-grid .skill-card:nth-child(3){grid-column:5 / 7}#habilidades #skills-grid .skill-card:nth-child(4){grid-column:2 / 4}#habilidades #skills-grid .skill-card:nth-child(5){grid-column:4 / 6}}#habilidades{z-index:2}#proyectos.combo-section{z-index:1;opacity:0;pointer-events:none}.glow-reveal{opacity:0;text-shadow:none;transition:opacity .4s ease,text-shadow .6s ease}.glow-reveal.active{opacity:1;text-shadow:0 0 20px rgba(102,252,241,.8),0 0 40px rgba(102,252,241,.5),0 0 60px rgba(102,252,241,.3)}.proyectos-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;padding:80px 20px}.proyectos-title{text-align:center;width:100%;display:flex;justify-content:center;gap:0;margin-bottom:230px}.carousel-wrapper{display:flex;align-items:center;justify-content:center;width:100%;max-width:1400px;gap:20px;margin-top:260px}.carousel-arrow{background:#0b0c10cc;border:1px solid rgba(102,252,241,.3);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--accent);transition:all .3s ease;flex-shrink:0;z-index:20}.carousel-arrow:hover{background:#66fcf126;border-color:var(--accent);box-shadow:0 0 20px #66fcf14d;transform:scale(1.1)}.carousel-arrow:active{transform:scale(.95)}.carousel-arrow svg{stroke:currentColor}.carousel-arrow-vertical,.continue-arrow,.section-nav-btn{display:none}.carousel-3d{flex:1;height:450px;perspective:1200px;overflow:visible;position:relative;display:flex;align-items:center;justify-content:center}.carousel-track{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1)}.carousel-slide{position:absolute;left:50%;top:50%;width:550px;height:320px;margin-left:-275px;margin-top:-160px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1),opacity .6s ease,filter .6s ease;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none}.carousel-slide .card{width:100%;height:100%;background-color:#0b0c10f2;background-size:cover;background-position:center top;background-repeat:no-repeat;border:1px solid rgba(102,252,241,.15);border-radius:20px;padding:0;display:flex;flex-direction:column;justify-content:flex-end;backdrop-filter:blur(10px);transition:border-color .4s ease,box-shadow .4s ease;overflow:hidden;position:relative}.carousel-slide.active .card{border-color:var(--accent);box-shadow:0 20px 60px #00000080,0 0 40px #66fcf126}.carousel-slide .project-name{font-size:1.4rem;font-weight:700;color:var(--fg);margin-bottom:15px}.carousel-slide .project-desc{color:var(--muted-solid);font-size:.95rem;line-height:1.6;margin-bottom:25px;flex-grow:1}.carousel-slide .btns{display:flex;gap:12px;justify-content:center}.carousel-slide .btn{padding:10px 20px;font-size:.85rem}.carousel-indicators{display:flex;justify-content:center;gap:12px;margin-top:30px}.carousel-indicator{width:10px;height:10px;border-radius:50%;background:#66fcf133;border:none;cursor:pointer;transition:all .3s ease}.carousel-indicator.active{background:var(--accent);box-shadow:0 0 10px #66fcf180}.info-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#0b0c10cc;border:1px solid rgba(102,252,241,.4);color:var(--accent);font-family:Georgia,serif;font-size:16px;font-style:italic;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:15;backdrop-filter:blur(5px)}.info-btn:hover{background:#66fcf133;border-color:var(--accent);transform:scale(1.1);box-shadow:0 0 15px #66fcf166}.info-btn.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.info-popup{position:absolute;top:50px;right:12px;width:200px;max-width:calc(100% - 24px);background:#0b0c10f2;border:1px solid rgba(102,252,241,.3);border-radius:12px;padding:16px;z-index:20;backdrop-filter:blur(15px);box-shadow:0 10px 40px #00000080,0 0 20px #66fcf11a;opacity:0;visibility:hidden;transform:translateY(-10px) scale(.95);transform-origin:top right;transition:all .3s cubic-bezier(.23,1,.32,1);pointer-events:none}.info-popup.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.info-popup-header{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(102,252,241,.2)}.info-popup-tools{display:flex;flex-wrap:wrap;gap:8px}.tool-tag{padding:6px 12px;border-radius:20px;background:#66fcf11a;border:1px solid rgba(102,252,241,.25);color:var(--fg);font-size:.75rem;font-weight:500;transition:all .2s ease}.tool-tag:hover{background:#66fcf133;border-color:var(--accent)}html{scroll-padding-top:64px}@media(max-width:880px){html{scroll-padding-top:56px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .8s ease forwards}#DistorsionContainer{position:absolute;width:100%;height:100%;overflow:hidden}canvas{position:absolute;top:0;left:0;width:100%;height:100%}.skill-card-header{display:flex;align-items:center;margin-bottom:12px}.skill-card-title{font-weight:600;color:var(--accent);font-size:1rem}.skill-tag-preview,.skill-expand-btn{display:none}.skill-card-content{display:block}@media(max-width:768px){.mobile-custom-scrollbar{position:fixed;top:0;right:0;width:6px;height:100vh;height:100dvh;background:#0b0c104d;z-index:9998;pointer-events:none;opacity:1;transition:opacity .4s ease-out}.mobile-custom-scrollbar.hidden{opacity:0}.mobile-custom-scrollbar-thumb{position:absolute;top:0;right:0;width:100%;min-height:50px;background:linear-gradient(180deg,var(--accent) 0%,rgba(102,252,241,.5) 100%);border-radius:3px;box-shadow:0 0 8px #66fcf166;transition:top .05s linear,opacity .4s ease-out}html.has-custom-scrollbar,html.has-custom-scrollbar body{scrollbar-width:none!important}html.has-custom-scrollbar::-webkit-scrollbar,html.has-custom-scrollbar body::-webkit-scrollbar{display:none!important;width:0!important}html{overflow-y:scroll!important;overflow-x:hidden!important;scrollbar-width:thin!important;scrollbar-color:rgba(102,252,241,.6) var(--bg)!important}html::-webkit-scrollbar{display:block!important;width:8px!important;-webkit-appearance:none!important}html::-webkit-scrollbar-track{background:var(--bg)!important}html::-webkit-scrollbar-thumb{background:#66fcf199!important;border-radius:4px!important;min-height:40px!important}body,body.hide-scrollbar{scrollbar-width:thin!important;-ms-overflow-style:scrollbar!important}body::-webkit-scrollbar,body.hide-scrollbar::-webkit-scrollbar,body.hide-scrollbar *::-webkit-scrollbar{display:block!important;width:8px!important}body::-webkit-scrollbar-thumb,body.hide-scrollbar::-webkit-scrollbar-thumb,body.hide-scrollbar *::-webkit-scrollbar-thumb{background:#66fcf199!important;border-radius:4px!important}@keyframes breath{0%,to{color:#66fcf180;text-shadow:0 0 5px rgba(102,252,241,.2)}50%{color:#66fcf1;text-shadow:0 0 20px rgba(102,252,241,.8),0 0 40px rgba(102,252,241,.5),0 0 60px rgba(102,252,241,.3)}}.highlight-word.mobile-breath{animation:breath 3s ease-in-out infinite;font-weight:600}.highlight-word.mobile-breath:nth-of-type(1){animation-delay:0s}.highlight-word.mobile-breath:nth-of-type(2){animation-delay:.6s}.highlight-word.mobile-breath:nth-of-type(3){animation-delay:1.2s}.highlight-word.mobile-breath:nth-of-type(4){animation-delay:1.8s}.highlight-word.mobile-breath:nth-of-type(5){animation-delay:2.4s}.contact-letter.mobile-breath{animation:breath 3s ease-in-out infinite}.contact-letter.mobile-breath:nth-child(1),.contact-letter.mobile-breath:nth-child(2),.contact-letter.mobile-breath:nth-child(3),.contact-letter.mobile-breath:nth-child(4),.contact-letter.mobile-breath:nth-child(5),.contact-letter.mobile-breath:nth-child(6),.contact-letter.mobile-breath:nth-child(7),.contact-letter.mobile-breath:nth-child(8),.contact-letter.mobile-breath:nth-child(9),.contact-letter.mobile-breath:nth-child(10){animation-delay:0s}@keyframes typewriter-blink{0%,50%{opacity:1}51%,to{opacity:0}}.title.mobile-typewriter{position:relative;display:inline-block;opacity:1!important}.title.mobile-typewriter .typewriter-text{display:inline-block;opacity:1!important;width:auto!important;visibility:visible!important;color:var(--fg);background:linear-gradient(135deg,var(--fg) 30%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font:inherit;min-height:1em}.title.mobile-typewriter .typewriter-cursor{display:inline-block;opacity:1;color:var(--accent);animation:typewriter-blink .7s infinite;font-weight:300;margin-left:2px;text-shadow:0 0 10px var(--accent),0 0 20px var(--accent);-webkit-text-fill-color:var(--accent)}@keyframes glitch-scanlines{0%{background-position:0 0}to{background-position:0 -100%}}@keyframes glitch-distort{0%,to{transform:translate(0);filter:none}10%{transform:translate(-3px) skew(-1deg)}20%{transform:translate(3px) skew(1deg)}30%{transform:translate(-2px)}40%{transform:translate(2px) skew(-.5deg)}50%{transform:translate(-1px)}60%{transform:translate(2px) skew(.5deg)}70%{transform:translate(-3px)}80%{transform:translate(1px)}90%{transform:translate(-2px) skew(-.5deg)}}@keyframes glitch-reveal{0%,70%,to{opacity:0}75%,90%{opacity:1}}@keyframes scan-pass{0%{top:-10%;opacity:0}5%{opacity:1}45%{top:110%;opacity:1}50%,to{top:110%;opacity:0}}.title.mobile-glitch{position:relative;display:inline-block}@keyframes glitch-hide-main{0%,70%,to{opacity:1}75%,90%{opacity:0}}.title.mobile-glitch .glitch-text-main{display:inline-block;position:relative;animation:glitch-distort .3s infinite,glitch-hide-main 3s infinite;text-shadow:-2px 0 rgba(255,255,255,.8),2px 0 #00ffff}.title.mobile-glitch .glitch-text-alt{position:absolute;left:0;top:0;width:100%;text-align:center;color:var(--fg);animation:glitch-reveal 3s infinite,glitch-distort .3s infinite;text-shadow:-2px 0 rgba(255,255,255,.8),2px 0 #00ffff,0 0 20px var(--accent)}.title.mobile-glitch:before{content:"";position:absolute;top:-10%;left:-5%;width:110%;height:4px;background:linear-gradient(90deg,transparent 0%,rgba(102,252,241,.8) 20%,rgba(255,255,255,.9) 50%,rgba(102,252,241,.8) 80%,transparent 100%);box-shadow:0 0 10px #66fcf1cc,0 0 20px #66fcf166;animation:scan-pass 5s infinite;z-index:10;pointer-events:none}.title.mobile-glitch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent 0px,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);animation:glitch-scanlines .5s linear infinite;pointer-events:none;opacity:.3}.hero{padding-bottom:120px}.title{font-size:clamp(40px,12vw,70px)}.subtitle{font-size:clamp(.65rem,2.5vw,.9rem);letter-spacing:.1em;padding:0 15px}.scroll-indicator{display:none!important}.sobre-mi-wrapper{padding:20px 0;min-height:auto}.about-layout{flex-direction:column-reverse;gap:30px}.profile-image{width:140px;height:140px}.profile-image-container:before{inset:-10px}.about-text{font-size:.95rem;line-height:1.7;text-align:center}.sobre-mi-section{text-align:center;padding:40px 20px;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}@keyframes float-card{0%,to{transform:translateY(0) scale(1);box-shadow:0 4px 15px #66fcf11a}50%{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px #66fcf140}}@keyframes glow-pulse{0%,to{border-color:#66fcf133}50%{border-color:#66fcf180}}.skill-card{animation:float-card 4s ease-in-out infinite,glow-pulse 4s ease-in-out infinite}.skill-card:nth-child(1){animation-delay:0s}.skill-card:nth-child(2){animation-delay:.5s}.skill-card:nth-child(3){animation-delay:1s}.skill-card-header{display:flex;align-items:center;gap:10px;cursor:pointer}.skill-card-title{font-weight:600;color:var(--accent);font-size:.9rem;flex-shrink:0}.skill-tag-preview{display:block;flex:1;font-size:.75rem;color:#ffffff80;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-expand-btn{background:#66fcf11a;border:1px solid rgba(102,252,241,.3);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;color:var(--accent)}.skill-expand-btn:hover,.skill-expand-btn:active{background:#66fcf133;border-color:var(--accent)}.skill-expand-btn svg{transition:transform .3s ease}.skill-card-content{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease,opacity .3s ease;opacity:0;padding-top:0}.skill-card.expanded .skill-card-content{max-height:200px;opacity:1;padding-top:15px}.skill-card.expanded .skill-expand-btn svg{transform:rotate(45deg)}.skill-card.expanded .skill-tag-preview{display:none}.skill-card.expanded .skill-expand-btn{background:#66fcf14d}.timeline-line,.timeline-dot,.timeline-branch{display:none!important}.timeline-vertical{padding-left:0}.timeline-item{padding-left:0;margin-left:0}.timeline-content{margin-left:0;width:100%}#contacto{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}#contacto .section-title{margin-bottom:30px}.contact-wrapper{width:100%;max-width:400px}#footer-scene{min-height:100vh!important;height:100vh!important}.sobre-mi-section .section-title,.sobre-mi-section .section-title-left{text-align:center;width:100%}.about-layout{align-items:center;justify-content:center}.about-content{align-items:center}.social-icons-centered{margin-top:25px;gap:15px;justify-content:center}.social-link{width:42px;height:42px}.cv-link{width:auto!important;height:42px;padding:0 14px;gap:6px;border-radius:21px}.cv-link svg{display:block!important;width:18px;height:18px;flex-shrink:0}.cv-text{font-size:.85rem;font-weight:600}.kv-fixed{font-size:50px;top:15px;left:20px}.section-combo{min-height:auto;padding:0;display:flex;flex-direction:column;overflow-x:hidden;max-width:100vw}.project-bg-overlay{display:block!important;position:fixed;inset:0;z-index:-1;opacity:0;transition:opacity .6s ease,background-image .6s ease;filter:blur(15px) brightness(.4);background-size:cover;background-position:center;pointer-events:none}.morphing-title{display:none!important}.combo-section{position:relative!important;inset:auto!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 15px;min-height:100vh;width:100%;opacity:1!important;pointer-events:auto!important}.habilidades-title-mobile{display:block!important;font-size:clamp(1.3rem,6vw,2rem);font-weight:700;color:var(--accent);text-align:center;margin-bottom:30px;letter-spacing:.1em}#proyectos.combo-section{padding:40px 15px;min-height:100vh;justify-content:center;position:relative;z-index:2}#habilidades #skills-grid{display:grid;grid-template-columns:1fr;gap:15px;padding:0 15px;width:100%;max-width:380px;margin:0 auto}.skill-card{padding:20px;width:100%;min-height:70px}.proyectos-section{position:relative;min-height:100vh;height:auto;padding:30px 15px 60px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow:hidden;max-width:100vw}.section-title-mobile{display:block!important;font-size:clamp(1.3rem,6vw,2rem);font-weight:700;color:var(--accent);text-align:center;letter-spacing:.1em;position:absolute;top:30px;left:0;right:0;z-index:100;margin:0;opacity:1!important;visibility:visible!important;pointer-events:none;transform:none!important}#proyectos-title-mobile{top:20px}.carousel-wrapper{margin-top:80px!important;flex-direction:column;gap:15px;padding:0!important;position:relative;width:100%;max-width:320px}.carousel-arrow{display:none!important}.carousel-3d{width:100%;height:520px;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative;margin:20px auto 0;perspective:1000px;transform-style:preserve-3d;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.carousel-track{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative;transform-style:preserve-3d}.carousel-slide{position:absolute!important;left:50%!important;top:50%!important;margin-left:0!important;margin-top:0!important;width:calc(100vw - 40px);max-width:340px;height:420px;transition:transform .35s ease-out,opacity .3s ease-out;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style paint;min-height:280px}#proyectos-title-mobile,#proyectos .section-title-mobile{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important;filter:none!important}.carousel-3d,.carousel-track,#carousel-3d,#carousel-track{opacity:1!important;visibility:visible!important}#proyectos.combo-section{opacity:1!important;visibility:visible!important;pointer-events:auto!important}.carousel-slide{min-height:280px;visibility:visible!important}.carousel-slide.active{z-index:10;opacity:1;filter:none}.carousel-slide.active .card{transform:scale(1);border-color:var(--accent);box-shadow:0 20px 50px #0009,0 0 40px #66fcf133}.carousel-slide.active:after{content:"↑ Desliza ↓";position:absolute;bottom:-40px;left:50%;transform:translate(-50%);font-size:.75rem;color:#66fcf199;letter-spacing:.1em}body.carousel-swiping .section-title-mobile,body.carousel-swiping #proyectos-title-mobile{opacity:1!important;visibility:visible!important;transform:none!important;filter:none!important}body.carousel-swiping #proyectos,body.carousel-swiping .combo-section,body.carousel-swiping .carousel-3d,body.carousel-swiping .carousel-track,body.carousel-swiping .carousel-wrapper{opacity:1!important;visibility:visible!important;transform:none!important}body.carousel-swiping .carousel-slide{visibility:visible!important;transition:none!important}body.carousel-swiping .carousel-slide .card,body.carousel-swiping .carousel-3d,body.carousel-swiping .carousel-track,body.carousel-swiping #proyectos,body.carousel-swiping .proyectos-section{transition:none!important}body.carousel-swiping .project-bg-overlay{filter:blur(10px) brightness(.3)!important;transition:none!important}#contacto{min-height:100vh!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:60px 20px!important}#contacto .section-title{margin-bottom:40px;font-size:clamp(1.8rem,8vw,2.5rem);animation:led-breath-text 3s ease-in-out infinite}@keyframes led-breath-text{0%,to{color:#66fcf1b3;text-shadow:0 0 10px rgba(102,252,241,.3)}50%{color:#66fcf1;text-shadow:0 0 20px rgba(102,252,241,.8),0 0 40px rgba(102,252,241,.5),0 0 60px rgba(102,252,241,.3)}}#contacto .contact-wrapper{width:100%;max-width:400px}@keyframes led-breath{0%,to{border-color:#66fcf166;box-shadow:0 0 5px #66fcf133,inset 0 0 10px #66fcf10d}50%{border-color:#66fcf1;box-shadow:0 0 20px #66fcf199,0 0 40px #66fcf14d,inset 0 0 15px #66fcf11a}}#contacto #contact-name{animation:led-breath 3s ease-in-out infinite;animation-delay:.4s;border:2px solid rgba(102,252,241,.4);background:#66fcf10d;transition:none}#contacto #contact-email{animation:led-breath 3s ease-in-out infinite;animation-delay:.8s;border:2px solid rgba(102,252,241,.4);background:#66fcf10d;transition:none}#contacto #contact-message{animation:led-breath 3s ease-in-out infinite;animation-delay:1.2s;border:2px solid rgba(102,252,241,.4);background:#66fcf10d;transition:none}#contacto input::-moz-placeholder,#contacto textarea::-moz-placeholder{color:#66fcf199}#contacto input::placeholder,#contacto textarea::placeholder{color:#66fcf199}#contacto .btn-primary{animation:led-breath 3s ease-in-out infinite;animation-delay:1.6s;border:2px solid rgba(102,252,241,.4)}.contact-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 20px;min-height:200px}.contact-spinner{width:40px;height:40px;border:3px solid rgba(102,252,241,.2);border-top-color:var(--accent);border-radius:50%;animation:spinner-rotate .8s linear infinite}.contact-loading p{color:var(--muted-solid);font-size:1rem}.contact-result{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px 20px;text-align:center;min-height:200px}.contact-result p{font-size:1.1rem;line-height:1.6}.contact-result-success{color:#66fcf1}.contact-result-warning{color:#ffc107}.contact-result-error{color:#ff6b6b}.section-nav-btn{display:none!important}.section-nav-btn:hover,.section-nav-btn:active{background:#66fcf133;border-color:var(--accent);transform:translate(-50%) scale(1.05)}.section-nav-up{top:15px}.section-nav-down{bottom:25px;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #66fcf14d}50%{box-shadow:0 0 20px #66fcf199}}.experiencia-section{padding:40px 0!important;margin-top:100px}.experiencia-section .section-title-centered{padding:60px 15px 30px;margin-bottom:20px;font-size:clamp(1.3rem,6vw,2rem)}.timeline-vertical{padding:0 15px}.timeline-line{left:20px}.timeline-dot{left:20px;width:16px;height:16px}.timeline-item{min-height:auto;padding:40px 15px 40px 50px!important}.timeline-item:nth-child(odd),.timeline-item:nth-child(2n){justify-content:flex-start;padding-left:50px!important;padding-right:15px!important}.timeline-content{max-width:100%;padding:25px 20px;margin-top:0;text-align:left}.timeline-content .chip{font-size:.85rem}.timeline-content h3{font-size:1.25rem}.timeline-content .timeline-desc{font-size:.9rem}#contacto{padding:60px 20px;min-height:auto}#contactame-title{font-size:clamp(1.3rem,6vw,2rem);margin-bottom:30px}.contact-wrapper{padding:0}.contact-form{max-width:100%}.contact-form input,.contact-form textarea{padding:14px 16px;font-size:.95rem}.contact-form button{width:100%;padding:14px 20px}#footer-scene{height:40vh}#canvas-container{width:100%}#fixed-kv{font-size:clamp(30px,10vw,60px)!important;top:15px!important;left:20px!important}}@media(max-width:400px){.carousel-slide{width:calc(100vw - 40px);max-width:290px;height:280px}}.carousel-slide .card{padding:0;border-radius:16px;box-shadow:0 15px 50px #0009;height:100%;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center top;background-repeat:no-repeat;overflow:hidden}.carousel-slide .card .card-content{padding:16px 20px;background:linear-gradient(to top,rgba(11,12,16,.98) 0%,rgba(11,12,16,.9) 50%,rgba(11,12,16,.3) 85%,transparent 100%)}.carousel-slide .project-name{font-size:1.15rem}.carousel-slide .project-desc{font-size:.85rem;line-height:1.5;margin-bottom:12px}.carousel-slide .btns{flex-direction:row;gap:8px;justify-content:flex-start}.carousel-slide .btn{padding:8px 14px;font-size:.8rem;text-align:center}@media(max-width:400px){.container{padding-left:12px;padding-right:12px}.title{font-size:clamp(35px,14vw,55px)}.profile-image{width:120px;height:120px}.about-text{font-size:.88rem}.skill-card{padding:14px}.skill-tag{padding:6px 12px;font-size:.8rem}.timeline-content{padding:20px 15px}}@media(max-height:500px)and (orientation:landscape){.hero{min-height:auto;padding:40px 20px}.scroll-indicator{display:none}.sobre-mi-section{min-height:auto}.timeline-item{min-height:auto;padding:30px 15px 30px 50px!important}}@media(hover:none)and (pointer:coarse){.btn{min-height:44px;min-width:44px}.social-link{min-width:44px;min-height:44px}.carousel-arrow{min-width:48px;min-height:48px}.card:hover,.btn:hover{transform:none}.btn:active{transform:scale(.97);opacity:.9}.carousel-arrow:active{transform:scale(.95);background:#66fcf133}}.doc-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.doc-modal.active{opacity:1;visibility:visible}.doc-modal-content{background:#14161cf2;border:1px solid rgba(102,252,241,.3);border-radius:20px;padding:40px 30px;max-width:400px;width:90%;text-align:center;box-shadow:0 25px 80px #00000080,0 0 60px #66fcf11a;transform:scale(.9) translateY(20px);transition:transform .3s ease}.doc-modal.active .doc-modal-content{transform:scale(1) translateY(0)}.doc-modal-icon{margin-bottom:20px;color:var(--accent)}.doc-modal-icon svg{width:56px;height:56px}.doc-modal-title{font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--fg);margin:0 0 12px}.doc-modal-text{color:var(--muted-solid);font-size:.95rem;margin:0 0 16px;line-height:1.5}.doc-modal-project{color:var(--accent);font-weight:600;font-size:.9rem;margin:0 0 24px;padding:10px 16px;background:#66fcf11a;border-radius:8px;border:1px solid rgba(102,252,241,.2)}.doc-modal-buttons{display:flex;gap:12px;justify-content:center}.doc-modal-buttons .btn{min-width:100px;padding:12px 24px}.doc-modal-form{width:100%}.doc-modal-input{width:100%;padding:14px 16px;margin-bottom:20px;background:#66fcf10d;border:2px solid rgba(102,252,241,.3);border-radius:8px;color:var(--fg);font-size:1rem;transition:border-color .3s ease,box-shadow .3s ease}.doc-modal-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 15px #66fcf14d}.doc-modal-input::-moz-placeholder{color:#66fcf180}.doc-modal-input::placeholder{color:#66fcf180}.doc-modal-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.doc-modal-spinner{width:40px;height:40px;border:3px solid rgba(102,252,241,.2);border-top-color:var(--accent);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.doc-modal-loading p{color:var(--muted-solid);font-size:.95rem}.doc-modal-result{text-align:center;padding:10px 0 20px}.doc-modal-result p{margin-bottom:20px;line-height:1.6;font-size:.95rem}.doc-modal-success{color:#66fcf1}.doc-modal-warning{color:#ffc107}.doc-modal-error{color:#ff6b6b}.demo-popup{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#000c;backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.demo-popup.active{opacity:1;visibility:visible}.demo-popup-content{background:var(--card-bg);border:1px solid var(--accent);border-radius:16px;padding:40px 30px;text-align:center;max-width:320px;transform:scale(.9);transition:transform .3s ease;box-shadow:0 20px 60px #66fcf133}.demo-popup.active .demo-popup-content{transform:scale(1)}.demo-popup-icon{font-size:48px;display:block;margin-bottom:16px}.demo-popup-content p{color:var(--text);font-size:1.1rem;margin-bottom:24px;line-height:1.5}.demo-redirect-content{max-width:380px}.demo-redirect-title{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--accent);margin:0 0 16px;letter-spacing:.02em}.demo-redirect-note{font-size:.9rem!important;color:var(--muted-solid)!important;margin-bottom:28px!important}.demo-redirect-buttons{display:flex;gap:12px;justify-content:center}.demo-redirect-buttons .btn{min-width:110px;padding:12px 24px}.official-title{color:#4ade80!important}.official-redirect-content .demo-popup-icon{background:linear-gradient(135deg,#4ade8033,#4ade800d)}.official-redirect-content .btn-primary{background:linear-gradient(135deg,#16a34a,#22c55e)}.official-redirect-content .btn-primary:hover{background:linear-gradient(135deg,#15803d,#16a34a);box-shadow:0 6px 30px #4ade8066}.streamlit-title{color:#a78bfa!important}.streamlit-demo-content .demo-popup-icon{background:linear-gradient(135deg,#a78bfa33,#8b5cf60d)}.streamlit-demo-content .demo-redirect-note{font-size:.85rem!important;line-height:1.5!important}.streamlit-demo-content .btn-primary{background:linear-gradient(135deg,#7c3aed,#8b5cf6)}.streamlit-demo-content .btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#7c3aed);box-shadow:0 6px 30px #8b5cf666}.project-info-title{color:#deb887!important}.project-info-content .demo-popup-icon{background:linear-gradient(135deg,#deb88733,#8b45131a)}.project-info-content .demo-redirect-note{color:peru!important;font-size:.9rem!important}.project-info-content .btn-primary{background:linear-gradient(135deg,#8b4513,#d2691e)}.project-info-content .btn-primary:hover{background:linear-gradient(135deg,sienna,peru);box-shadow:0 6px 30px #deb88766}.redirect-loading{position:fixed;inset:0;z-index:100000;background:var(--bg);display:none;justify-content:center;align-items:center;opacity:0;transition:opacity .3s ease}.redirect-loading.active{display:flex;opacity:1}.loading-content{display:flex;flex-direction:column;align-items:center;gap:24px;animation:loadingFadeIn .5s ease forwards}@keyframes loadingFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.loading-logo{width:120px;height:120px;animation:logoPulse 1.5s ease-in-out infinite}.kv-logo-img{width:100%;height:100%;border-radius:50%;animation:logoRotateIn .8s ease forwards}@keyframes logoRotateIn{0%{opacity:0;transform:scale(.5) rotate(-180deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes logoPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(102,252,241,.3))}50%{transform:scale(1.05);filter:drop-shadow(0 0 40px rgba(102,252,241,.6))}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 20px rgba(102,252,241,.3))}50%{filter:drop-shadow(0 0 50px rgba(102,252,241,.8))}}.loading-spinner{width:40px;height:40px;border:3px solid rgba(102,252,241,.2);border-top-color:var(--accent);border-radius:50%;animation:spinnerRotate .8s linear infinite}@keyframes spinnerRotate{to{transform:rotate(360deg)}}.loading-text{font-family:var(--font-head);font-size:1.1rem;color:var(--accent);letter-spacing:.1em;animation:textBlink 1.5s ease-in-out infinite}@keyframes textBlink{0%,to{opacity:1}50%{opacity:.5}}
