:root{--color-primary: #4caf50;--color-primary-dark: #45a049;--color-secondary: #4286f4;--color-secondary-dark: #373b44;--color-text: #333;--color-text-light: #666;--color-background: #fff;--color-background-alt: #f5f5f5;--color-border: #ddd;--color-assistant-border: rgba(255, 255, 255, .1);--color-assistant-suggestion-title: rgba(255, 255, 255, .7);--skill-color-1: #7986cb;--skill-color-2: #90caf9;--skill-color-3: #5c6bc0;--skill-color-4: #42a5f5;--skill-color-5: #4286f4;--skill-color-6: #66bb6a;--skill-color-7: #4caf50;--skill-color-8: #bbdefb;--gradient-primary: linear-gradient( 45deg, var(--color-primary), var(--color-primary-dark) );--gradient-background: linear-gradient( 135deg, var(--color-secondary-dark) 0%, var(--color-secondary) 100% );--gradient-primary: linear-gradient(270deg, #4286f4, #4caf50);--gradient-skill-discovery: linear-gradient( 90deg, var(--skill-color-2), var(--skill-color-8) );--gradient-skill-beginner: linear-gradient( 90deg, var(--skill-color-1), var(--skill-color-2) );--gradient-skill-learning: linear-gradient( 90deg, var(--skill-color-3), var(--skill-color-4) );--gradient-skill-competent: linear-gradient( 90deg, var(--skill-color-5), var(--skill-color-6) );--gradient-skill-solid: linear-gradient( 90deg, var(--skill-color-4), var(--skill-color-7) );--spacing-xs: 5px;--spacing-s: 10px;--spacing-m: 15px;--spacing-l: 20px;--spacing-xl: 25px;--spacing-xxl: 40px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-circle: 50%;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 5px 15px rgba(76, 175, 80, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1);--shadow-card: 0 6px 12px rgba(0, 0, 0, .1);--shadow-modal: 0 40px 80px rgba(0, 0, 0, .2);--transition-fast: .3s ease;--transition-medium: .5s ease;--transition-slow: .8s ease;--transition-bezier: .6s cubic-bezier(.34, 1.56, .64, 1);--z-index-background: -1;--z-index-normal: 1;--z-index-header: 998;--z-index-modal: 999;--z-index-modal-content: 1000;--z-index-loader: 9999;--header-height: 80px;--footer-height: 80px;--container-max-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden;min-height:100%}body{font-family:Poppins,sans-serif;background:var(--gradient-background);color:#fff;line-height:1.6;padding-top:120px;width:100%;position:relative}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif;font-weight:600;cursor:default}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}button,[role=button],.btn,.clickable{cursor:pointer}img{max-width:100%;height:auto}ul,ol{list-style:none}button,input,textarea{font:inherit;border:none;outline:none}#root{min-height:100vh;display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.content-container{opacity:0;transition:opacity var(--transition-slow);height:100%;width:100%;max-width:100vw;overflow-x:hidden;flex:1;display:flex;flex-direction:column}.content-container.visible{opacity:1}.App{display:flex;flex-direction:column;min-height:100vh;flex:1}main{flex:1;display:flex;flex-direction:column}.app,section,.container,.projects-page,.projects-grid{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.project-card{width:100%;box-sizing:border-box}canvas,.particle-container{max-width:100vw;overflow:hidden}@media (max-width: 1024px){body{padding-top:0}section,.container{padding-left:1rem!important;padding-right:1rem!important}}@media (min-width: 768px) and (max-width: 1024px){body{width:100vw;overflow-x:hidden}.content-container,#root,.app,section{width:100%;max-width:100vw;overflow-x:hidden}}h1{font-size:3rem;color:var(--color-primary);margin:0;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:font-size var(--transition-bezier)}h2{font-size:2.5rem;margin-top:var(--spacing-xxl);color:var(--color-primary)}h3{font-size:1.6rem;margin-bottom:var(--spacing-m)}h4{color:var(--color-text-light);font-size:1.1rem;margin-bottom:var(--spacing-m)}p{margin-bottom:var(--spacing-m)}@media (max-width: 1024px){h1{font-size:2.5rem}h2{font-size:2rem;margin-top:60px}}@media (max-width: 768px){h1{font-size:2.2rem}h2{font-size:1.8rem;margin-top:60px}}@media (max-width: 480px){body{font-size:14px}h1{font-size:1.8rem}h2{font-size:1.5rem;margin-top:40px}h3{font-size:1.3rem}}.btn{display:inline-block;text-decoration:none;font-weight:700;padding:var(--spacing-m) var(--spacing-l);border:2px solid var(--color-primary);color:var(--color-primary);border-radius:var(--border-radius-md);transition:color .3s ease,background-position .3s ease,transform .3s ease,box-shadow .3s ease,border-color .3s ease;white-space:nowrap;background:linear-gradient(to right,var(--color-primary) 50%,transparent 50%);background-size:200% 100%;background-position:right bottom;margin-bottom:var(--spacing-l);cursor:pointer;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-primary);opacity:0;z-index:-1;transition:opacity .3s ease}.btn:hover{color:#fff;background-position:left bottom;transform:translateY(-3px);box-shadow:0 5px 15px #4caf504d;border-color:var(--color-primary)}.btn:hover:before{opacity:1}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none;border-color:#4caf504d}.btn-primary{border-color:var(--color-primary);color:var(--color-primary)}.btn-primary:hover{color:#fff;border-color:var(--color-primary)}.btn-icon{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}@media (max-width: 768px){.btn{padding:var(--spacing-s) var(--spacing-l);font-size:.95rem}}@media (max-width: 480px){.btn{padding:var(--spacing-xs) var(--spacing-m);font-size:.7rem}}.project-card{background-color:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);overflow:hidden;width:100%;height:100%;display:flex;flex-direction:column;cursor:pointer;position:relative;z-index:var(--z-index-normal);transition:transform .3s ease,box-shadow .3s ease;will-change:transform,box-shadow}.project-card.active,.project-card.active:hover{transform:translate(-50%)!important;box-shadow:var(--shadow-modal)!important}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.project-image{width:100%;height:200px;min-height:200px;max-height:200px;object-fit:contain;background-color:var(--color-background-alt);padding:10px;flex-shrink:0;transition:all var(--transition-bezier)}.project-info{height:100%;padding:25px;display:flex;flex-direction:column;gap:40px;transition:all var(--transition-bezier)}.project-info h3{font-size:1.6rem;margin:0;color:var(--color-text);transform:translateY(0);transition:all var(--transition-bezier)}.project-info h4{color:var(--color-text-light);font-size:1.1rem;margin:0}.project-info p{color:var(--color-text-light);font-size:1.1rem;line-height:1.6;opacity:0;max-height:0;transform:translateY(20px);transition:all .7s cubic-bezier(.34,1.56,.64,1);display:none}.tech-icons{display:flex;gap:15px;align-items:center}.tech-icons img{width:40px;height:40px;object-fit:contain;transition:transform .3s ease}.tech-icons img:hover{transform:scale(1.2)}.tech-icons-btn-container{display:flex;justify-content:space-between;align-items:center;margin-top:auto;width:100%}.close-button{position:absolute;top:15px;right:15px;width:35px;height:35px;background-color:var(--color-primary);color:#fff;border-radius:50%;border:none;cursor:pointer;opacity:0;transform:scale(.5) rotate(-180deg);transition:all var(--transition-bezier);display:flex;align-items:center;justify-content:center;line-height:0;padding:0;z-index:1001}.close-button:before,.close-button:after{content:"";position:absolute;width:18px;height:2px;background-color:#fff;transform-origin:center}.close-button:before{transform:rotate(45deg)}.close-button:after{transform:rotate(-45deg)}.close-button:hover{background-color:var(--color-primary);transform:scale(1.1) rotate(90deg)}.project-card:not(.active) .close-button{display:none}.project-card.active{position:fixed!important;top:5%!important;left:50%!important;width:90%!important;max-width:1200px!important;height:90vh!important;transform:translate(-50%)!important;z-index:var(--z-index-modal-content)!important;cursor:default;overflow-y:auto;display:flex;flex-direction:column;box-shadow:var(--shadow-modal)!important;background-color:var(--color-background)!important;transition:none!important;pointer-events:auto!important;transform-style:flat!important;margin:0!important;padding:0!important;will-change:unset!important;backface-visibility:hidden!important;-webkit-font-smoothing:subpixel-antialiased!important}.project-card.active:hover{transform:translate(-50%)!important;box-shadow:var(--shadow-modal)!important;outline:none!important}.project-card.active:focus,.project-card.active:active{transform:translate(-50%)!important;box-shadow:var(--shadow-modal)!important;outline:none!important}.project-card.active::-webkit-scrollbar{width:8px}.project-card.active::-webkit-scrollbar-track{background:#f8f9fa;border-radius:4px}.project-card.active::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.project-card.active .project-image{height:300px;min-height:280px;object-fit:contain;flex-shrink:0;pointer-events:auto!important;position:relative;z-index:1001}.project-card.active .project-info{flex:1;overflow-y:auto;padding:60px;display:flex;flex-direction:column;gap:20px}.project-card.active .project-info p{opacity:1;max-height:none;height:auto;transform:translateY(0);margin:15px 0;display:block;color:var(--color-text-light)}.project-card.active .project-info h3{transform:translateY(0)}.project-card.active .close-button{opacity:1;transform:scale(1) rotate(0)}.projects-overlay{display:none;position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;background-color:#000c;z-index:var(--z-index-modal);opacity:0;transition:opacity .3s ease;pointer-events:auto!important;will-change:opacity}.projects-overlay.active{display:block!important;opacity:1!important}@media (min-width: 1024px){.projects-overlay.active{top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important}}body.gallery-open{overflow:hidden!important;height:100%!important;pointer-events:auto!important}.gallery-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#000000e6;display:flex;justify-content:center;align-items:center;z-index:9999!important;animation:fadeIn .3s ease;pointer-events:auto!important;width:100%!important;height:100%!important}.gallery-modal{position:relative;max-width:90%;max-height:90vh;display:flex;justify-content:center;align-items:center}.gallery-image{max-width:100%;max-height:85vh;object-fit:contain;border-radius:4px;box-shadow:0 5px 20px #0000004d}.gallery-counter{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);background-color:var(--color-primary);color:#fff;padding:5px 15px;border-radius:15px;font-size:14px}.gallery-nav{position:fixed!important;top:50%!important;transform:translateY(-50%)!important;width:45px;height:45px;background-color:var(--color-primary);border:none;border-radius:50%;cursor:pointer;opacity:.9;transition:opacity .3s,transform .3s;z-index:calc(var(--z-index-modal) + 15);box-shadow:0 0 15px #0000004d;display:flex;justify-content:center;align-items:center}.gallery-nav svg{position:relative;stroke:#fff;stroke-width:3;width:25px;height:25px;display:flex;justify-content:center;align-items:center}.gallery-nav.prev svg{transform:translate(-1px)}.gallery-nav.next svg{transform:translate(1px)}.gallery-nav.prev{left:220px!important}.gallery-nav.next{right:220px!important}.gallery-nav:hover{opacity:1;transform:translateY(-50%) scale(1.1)!important;box-shadow:0 0 20px #00000080}.close-gallery-button{position:fixed!important;top:60px!important;right:90px!important;width:36px;height:36px;border-radius:50%;background-color:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s,transform .3s;z-index:calc(var(--z-index-modal) + 15);box-shadow:0 0 15px #0000004d}.close-gallery-button:before,.close-gallery-button:after{content:"";position:absolute;width:18px;height:2px;background-color:#fff}.close-gallery-button:before{transform:rotate(45deg)}.close-gallery-button:after{transform:rotate(-45deg)}.close-gallery-button:hover{background-color:var(--color-primary-dark, var(--color-primary));transform:scale(1.1);box-shadow:0 0 20px #00000080}.view-gallery-button{position:absolute;top:230px;right:15px;z-index:1002;background-color:var(--color-primary);color:#fff;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.view-gallery-button:hover{transform:scale(1.1);background-color:var(--color-primary-dark, var(--color-primary))}.gallery-modal-overlay.device-tablet.orientation-landscape .gallery-modal{max-width:85%}.gallery-modal-overlay.device-tablet.orientation-landscape .gallery-image{max-height:70vh}.gallery-modal-overlay.device-mobile .gallery-nav{width:36px;height:36px}@keyframes scaleIn{0%{transform:scale(.9)}to{transform:scale(1)}}@media (min-width: 1900px){.gallery-nav.prev{left:calc(50% - 950px)!important}.gallery-nav.next{right:calc(50% - 950px)!important}}@media (min-width: 1400px) and (max-width: 1899px){.gallery-nav.prev{left:calc(50% - 700px)!important}.gallery-nav.next{right:calc(50% - 700px)!important}}@media (min-width: 1024px) and (max-width: 1366px) and (orientation: landscape){.gallery-nav.prev{left:30px!important}.gallery-nav.next{right:30px!important}.gallery-nav{width:50px;height:50px;opacity:1}.gallery-nav:before{width:16px;height:16px}}@media screen and (min-width: 1360px) and (max-width: 1370px){.gallery-nav.prev{left:40px!important}.gallery-nav.next{right:40px!important}.gallery-nav{z-index:10001!important;opacity:1!important;pointer-events:auto!important;position:fixed!important}}@media (max-width: 1023px) and (orientation: landscape){.gallery-nav.prev{left:20px!important}.gallery-nav.next{right:20px!important}.gallery-nav{width:45px;height:45px;opacity:1}.close-gallery-button{top:20px!important;right:20px!important}}@media (max-width: 1075px){.tech-icons{gap:12px}.tech-icons img{width:28px;height:28px}.gallery-nav.prev{left:15px!important}.gallery-nav.next{right:15px!important}}@media (max-width: 768px){.project-card.active{transform:none!important;position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;margin:0!important;z-index:9999!important;transition:none!important}.project-card.active:hover,.project-card.active:focus,.project-card.active:active{transform:none!important}.project-card.active .project-info{padding:20px}.project-card.active .project-image{height:200px;min-height:200px;cursor:default}.project-card.active .project-image:hover{transform:none}.close-button{top:10px;right:10px;width:32px;height:32px}.gallery-nav{width:36px;height:36px;opacity:1}.gallery-image{max-height:70vh}}@media (max-width: 480px){.tech-icons-btn-container{flex-direction:column;align-items:flex-start;gap:15px}.project-card .project-image,.project-card.active .project-image{cursor:default!important}.tech-icons{width:100%;flex-wrap:wrap;justify-content:flex-start;margin-bottom:5px}.tech-icons img{width:24px;height:24px;margin-right:8px;margin-bottom:8px}.tech-icons-btn-container .btn{width:100%;text-align:center;padding:10px 0;margin-top:5px}.project-card.active{width:100%!important;height:100%!important;top:0!important;left:0!important;transform:none!important;border-radius:0!important;overflow-y:auto}.project-card.active .project-info{padding:20px}.project-card.active .project-image{height:200px;min-height:200px;cursor:default}.project-card.active .project-image:hover{transform:none}.close-button{top:10px;right:10px;width:32px;height:32px}.view-gallery-button{top:150px;right:10px}.gallery-nav{width:36px;height:36px;opacity:1}.gallery-image{max-height:70vh}.gallery-nav.prev{left:10px!important;width:34px!important;height:34px!important}.gallery-nav.next{right:10px!important;width:34px!important;height:34px!important}.close-gallery-button{top:10px!important;right:10px!important}}@media (max-width: 320px){.tech-icons img{width:20px;height:20px}.project-card.active .project-info{padding:15px}}form{max-width:600px;margin:0 auto;font-weight:700;font-family:Poppins,sans-serif}form label{display:block;margin-bottom:var(--spacing-xs)}form input,form textarea{width:100%;padding:12px;margin-bottom:20px;border:2px solid var(--color-text-light);border-radius:var(--border-radius-md);transition:all var(--transition-fast);background:var(--color-background);font-size:1.5rem}form input:focus,form textarea:focus{outline:none;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}form input::placeholder,form textarea::placeholder{color:var(--color-text-light);font-style:italic;font-size:1rem;opacity:.7;transition:all var(--transition-fast)}form input:focus::placeholder,form textarea:focus::placeholder{opacity:0;transform:translate(10px)}form button{background-color:var(--color-primary);color:var(--color-text);font-size:18px;padding:12px 24px;border:none;border-radius:var(--border-radius-md);cursor:pointer;margin:0 auto;display:block;width:200px;transform:translateY(0);transition:all var(--transition-fast)}form button:hover{box-shadow:0 8px 16px #4caf504d;transform:translateY(-3px)}form input.error,form textarea.error{border-color:#ff5252;background-color:#ff52520d}.field-error{color:#ff5252;font-size:.85rem;margin-top:-15px;margin-bottom:15px;display:block}.label-container{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:var(--spacing-xs)}.character-counter{font-size:.85rem;font-weight:400;transition:color .3s ease}.character-counter.valid{color:var(--color-primary)}.character-counter.invalid{color:#ff5252}.form-error{background-color:#ff52521a;border-left:3px solid #ff5252;color:#ff5252;padding:10px 15px;margin-bottom:20px;border-radius:var(--border-radius-md);font-weight:400}form button:disabled{background-color:#7db987;opacity:.7;cursor:not-allowed;transform:translateY(0);box-shadow:none}form button:disabled:hover{box-shadow:none;transform:translateY(0)}.error-message{color:#ff5252;font-size:.85rem;margin-top:-15px;margin-bottom:15px;display:block}.recaptcha-container{margin-bottom:20px;display:flex;flex-direction:column;align-items:flex-start}.recaptcha-container .error-message{color:#ff5252;font-size:.85rem;margin-top:5px;margin-bottom:0;display:block}.recaptcha-container iframe{margin-bottom:10px}.global-error-message{background-color:#ff52521a;border-left:3px solid #ff5252;color:#ff5252;padding:10px 15px;margin-bottom:20px;border-radius:var(--border-radius-md);font-weight:400}.recaptcha-section{display:flex;align-items:center;justify-content:center;margin:0 auto;padding:8px 12px;background-color:#53ba5f1a;border-radius:4px;width:100%;max-width:600px}.recaptcha-text{display:flex;align-items:center;color:#fff;font-size:.85rem;font-weight:400;opacity:.8}.recaptcha-text a{color:var(--color-primary);text-decoration:none;margin-left:5px;font-size:.85rem;transition:opacity .3s}.recaptcha-text a:hover{opacity:1;text-decoration:underline}.recaptcha-logo{display:inline-flex;align-items:center;margin-right:8px}.recaptcha-logo img{width:40px;height:40px;vertical-align:middle}.grecaptcha-badge{visibility:hidden!important;opacity:0!important}@media (max-width: 768px){form{width:100%;padding:15px;max-width:100%}form label{font-size:1.2rem;margin-bottom:10px}form input,form textarea{padding:15px;font-size:1.2rem;margin-bottom:20px;border-width:2px}form input::placeholder,form textarea::placeholder{font-size:1.1rem}.character-counter,.error-message,.field-error{font-size:1rem}form button{width:100%;padding:15px;font-size:1.2rem;margin-top:10px}.label-container{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:8px}.character-counter{margin-top:5px}.recaptcha-container{align-items:center}.recaptcha-section{padding:8px 10px;margin-top:20px}.recaptcha-text,.recaptcha-text a{font-size:.8rem}.recaptcha-logo img{width:18px;height:18px}}@media (max-width: 480px){form input,form textarea{padding:16px;font-size:16px}form label{font-size:1.1rem}.recaptcha-container{align-items:center;width:100%}.recaptcha-container .error-message{font-size:1rem;margin-top:8px;text-align:center;width:100%}.recaptcha-section{padding:6px 8px;margin-top:0}.recaptcha-text{font-size:.75rem}.recaptcha-text a{font-size:.75rem;margin-left:3px}}.header{display:flex;justify-content:center;align-items:center;width:100%;max-width:100vw;position:fixed;top:0;left:0;background-color:var(--color-background);z-index:var(--z-index-header);transition:all var(--transition-bezier);flex-direction:column;overflow-x:hidden;box-sizing:border-box}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-max-width);width:100%;margin:-10px auto;padding:0 var(--spacing-xxl);box-sizing:border-box}.left-section{display:flex;align-items:center;gap:1rem;flex-wrap:nowrap}.left-section h1{font-size:2.5rem;white-space:nowrap;margin:0;cursor:default}.logo-link{text-decoration:none;display:flex;align-items:center}.header .header-nav{display:flex;align-items:center;margin-left:auto}.logo-perso{display:flex;justify-content:center;align-items:center;width:150px;height:150px}.logo-perso img{width:100%;height:100%;object-fit:contain}.mobile-nav{flex-direction:column;background-color:var(--color-background);position:fixed;top:0;right:0;width:80%;max-width:300px;height:70vh;max-height:500px;border-bottom-left-radius:15px;box-shadow:var(--shadow-sm);z-index:var(--z-index-modal);transform:translate(100%);transition:transform .3s ease,opacity .3s ease;opacity:0;pointer-events:none;overflow-y:auto;display:none}.mobile-nav-open{opacity:1!important;transform:translate(0)!important;pointer-events:auto!important}.mobile-nav-header{display:flex;justify-content:end;align-items:center;padding:15px;border-bottom:1px solid rgba(0,0,0,.1)}.mobile-logo{display:flex;align-items:center;gap:10px}.mobile-logo span{font-weight:700;font-size:1.1rem}.mobile-close{font-size:44px;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease;color:var(--color-primary)}.mobile-close:hover{background-color:#0000001a}.mobile-nav-links{list-style:none;padding:15px;margin:0}.mobile-nav-links li{margin-bottom:10px}.mobile-nav-links a{text-decoration:none;color:var(--color-text);font-weight:700;display:block;padding:12px 15px;border-radius:5px;transition:background-color .3s ease,color .3s ease}.mobile-nav-links a:hover{background-color:#53ba5f1a;color:var(--color-primary)}.mobile-nav-links a.active{color:var(--color-primary);background-color:#53ba5f1a}.desktop-only{display:flex}.mobile-only{display:none}.mobile-nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:calc(var(--z-index-modal) - 1);display:none}.mobile-nav-overlay.active,.mobile-nav-open~.mobile-nav-overlay{display:block}.mobile-switches-container{padding:15px;border-top:1px solid rgba(0,0,0,.1);margin-top:10px}.mobile-switches-container .toggle-item{display:flex;align-items:center;margin-bottom:15px;padding:8px 15px;border-radius:5px;background-color:#00000008}.mobile-switches-container .toggle-icon{font-size:1.2rem;margin-right:10px}.mobile-switches-container .switch-wrapper{display:flex;align-items:center;margin-left:auto}.mobile-switches-container .toggle-label{margin-left:10px;font-weight:500}.menu-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;z-index:101;padding:10px}.menu-hamburger span{height:3px;width:25px;background-color:var(--color-primary);margin-bottom:4px;border-radius:2px;transition:transform .3s ease,opacity .3s ease}.menu-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-hamburger.active span:nth-child(2){opacity:0}.menu-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-content{padding-top:100px}.title-page{margin-top:90px;text-align:center;padding:60px 20px;cursor:default;background:transparent;position:relative;overflow:hidden;max-width:100%}.title-page h1{font-family:Montserrat,sans-serif;font-size:3rem;font-weight:600;background:linear-gradient(45deg,var(--color-primary),var(--color-primary-dark));-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;margin-top:-50px;padding:10px 0;letter-spacing:1px;display:inline-block}.title-page h1:before{content:"";position:absolute;left:50%;bottom:0;width:5px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:translate(-50%);border-radius:2px;animation:lineWidth 3s ease-in-out infinite}.animations-disabled .title-page h1:before{animation-play-state:paused!important}@keyframes lineWidth{0%,to{width:5px}50%{width:600px}}@media (max-width: 1300px){.left-section h1{font-size:2rem}}@media (max-width: 1090px){.header-content{padding:0 var(--spacing-l)}.left-section h1{font-size:1.8rem}}@media (max-width: 1024px){@keyframes lineWidth{50%{width:500px}}.title-page h1{font-size:2.5rem;margin-top:40px}}@media (max-width: 900px){.left-section h1{font-size:1.5rem}.logo-perso{width:70px;height:70px}}@media (max-width: 768px){.header{padding:var(--spacing-s);position:relative}.header-content{justify-content:space-between;padding:0 var(--spacing-m);margin:0 auto}.left-section{gap:.8rem;justify-content:center}.left-section h1{font-size:1.3rem;margin:0;padding:0}.header .header-nav{display:none}.logo-perso{width:80px;height:80px;margin:0}.desktop-only{display:none}.mobile-only{display:flex}.mobile-nav{display:flex!important}.title-page{margin-top:0;padding:0 1rem}.title-page h1{font-size:2rem;text-align:center}.profile-photo-container{margin-top:20px}.switches-bar.home-only{display:none}section{padding-top:20px}.menu-hamburger{display:flex;margin:0}.switches-bar.desktop-only{display:none}.mobile-switches-container{display:block}.main-content{padding-top:20px}@keyframes lineWidth{50%{width:350px}}}@media (max-width: 480px){.header{padding:var(--spacing-xs)}.header-content{padding:0 var(--spacing-s);margin:0 auto}.logo-perso{width:80px;height:80px}.left-section{gap:.5rem}.left-section h1{font-size:1.1rem}@keyframes lineWidth{50%{width:280px}}}.footer{padding:var(--spacing-m) var(--spacing-l);margin-top:0;background-color:var(--color-background-alt);border-top:1px solid var(--color-border);width:100%;position:relative;z-index:10;box-sizing:border-box;height:auto;flex-shrink:0}.footer-container{display:flex;justify-content:center;align-items:center;max-width:var(--container-max-width);margin:0 auto;width:100%}.copyright{font-size:.9rem;color:var(--color-text-light);margin:0;text-align:center}@media (max-width: 768px){.footer{padding:var(--spacing-s) var(--spacing-s)}.footer-container{padding:15px 10px}.copyright{font-size:.8rem}}@media (max-width: 480px){.footer{padding:var(--spacing-xs) var(--spacing-xs)}.copyright{font-size:.75rem;line-height:1.4}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease}.modal{background-color:var(--color-background);padding:2rem;border-radius:var(--border-radius-lg);max-width:400px;width:90%;text-align:center;animation:slideIn .3s ease;border:2px solid var(--color-primary)}.modal h3{font-size:2rem;margin-bottom:1.5rem;color:var(--color-primary)}.modal p{margin-bottom:1rem;color:var(--color-text);font-size:1.1rem}.modal .redirect-text{font-size:.9rem;color:var(--color-text-light);font-style:italic;margin-top:1.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.modal{padding:1.5rem;max-width:350px}.modal h3{font-size:1.8rem;margin-bottom:1.2rem}}@media (max-width: 480px){.modal{padding:1rem;width:95%}.modal h3{font-size:1.5rem;margin-bottom:1rem}.modal p{font-size:1rem;margin-bottom:.8rem}.modal .redirect-text{font-size:.8rem;margin-top:1rem}}.header-nav ul{display:flex;list-style:none;gap:2rem;padding:0;margin:0}.header-nav ul li a{color:var(--color-text);text-decoration:none;font-size:1.1rem;transition:color var(--transition-fast);padding:.5rem}.header-nav ul li a:hover{color:var(--color-primary)}.header-nav ul li a.active{color:var(--color-primary);font-weight:700}nav a{position:relative;padding-bottom:3px;cursor:default}nav a:before{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width var(--transition-fast);transform-origin:left}nav a:hover:before{width:100%}nav a.active:before{width:100%}.switches-bar{display:flex;justify-content:center;align-items:center;padding:8px 0;width:100%;background-color:var(--color-background);position:fixed;top:125px;left:0;z-index:990;box-shadow:0 1px 2px #0000001a}.home-only{display:flex}.simple-nav-switchs{display:none!important}.toggle-item{display:flex;align-items:center;margin:0 10px}.toggle-icon{font-size:16px;margin:0 5px;cursor:default}.switch-wrapper{display:flex;align-items:center}.toggle-label{font-size:12px;margin-left:8px;white-space:nowrap;cursor:default}.mobile-switches-container{padding:15px;margin-top:auto;border-top:1px solid rgba(0,0,0,.1)}.mobile-switches-container .toggle-item{display:flex;align-items:center;margin-bottom:15px}.mobile-switches-container .toggle-item:last-child{margin-bottom:0}.mobile-switches-container .toggle-icon{margin-right:10px;font-size:1.2rem}@media (max-width: 1300px){.switches-bar{top:125px}}@media (max-width: 900px){.switches-bar{top:50px}.header-nav ul li a{font-size:15px}}@media (max-width: 768px){.header-nav ul{display:none}nav a{font-size:.9rem}.switches-bar{top:68px;padding:3px 0;position:absolute}.toggle-label{display:none}}@media (min-width: 769px){.mobile-switches-container{display:none}}@media (max-width: 480px){.switches-bar{top:50px}}.scroll-to-top{position:fixed;bottom:115px;right:20px;width:40px;height:40px;border-radius:50%;background-color:#53ba5f;color:#fff;border:3px solid rgba(255,255,255,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s ease-in-out;z-index:999;box-shadow:0 8px 24px #0000004d;transform:translateY(20px)}.scroll-to-top.visible{opacity:1;transform:translateY(0);animation:floatUpDown 1.5s ease-in-out infinite}.scroll-to-top:hover{background-color:#449d4f;transform:translateY(-5px);animation-play-state:paused}@keyframes floatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width: 480px){.scroll-to-top{bottom:130px;right:10px;width:45px;height:45px}}@media (min-width: 481px) and (max-width: 767px){.scroll-to-top{bottom:135px;right:15px;width:50px;height:50px}}@media (min-width: 768px) and (max-width: 1439px){.scroll-to-top{bottom:150px;right:30px;width:50px;height:50px}}@media (min-width: 1440px){.scroll-to-top{display:none!important}}.ai-assistant-fab{position:fixed;bottom:20px;right:20px;width:60px;height:60px;min-width:60px;min-height:60px;border-radius:50%;border:none;background:var(--gradient-primary);color:#fff;font-size:1.5rem;cursor:pointer;box-shadow:var(--shadow-lg);z-index:calc(var(--z-index-modal) + 2);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;padding:0;aspect-ratio:1}.ai-assistant-fab.active{background:var(--gradient-skill-competent);bottom:20px;right:20px;background-size:200% 200%;animation:gradientMove 6s ease infinite}.ai-assistant-fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-modal)}.ai-assistant-fab.thinking{animation:aiPulse 2s infinite ease-in-out}@keyframes aiPulse{0%,to{transform:scale(1);box-shadow:var(--shadow-lg)}50%{transform:scale(1.1);box-shadow:var(--shadow-modal)}}.ai-message-badge{position:absolute;top:-5px;right:-5px;background:#ff4757;color:#fff;border-radius:50%;width:22px;height:22px;min-width:22px;min-height:22px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 2px 6px #ff475766;aspect-ratio:1;border:2px solid #fff;z-index:1}.ai-assistant-widget{position:fixed;bottom:90px;right:20px;width:380px;max-height:calc(100vh - 120px);background:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-modal);z-index:var(--z-index-modal);overflow:hidden;border:1px solid var(--color-border);animation:aiSlideInUp var(--transition-fast) var(--transition-bezier);display:flex;flex-direction:column}.ai-assistant-widget:after{content:"";position:absolute;bottom:-10px;right:30px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid var(--color-background);z-index:1}@keyframes aiSlideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-assistant-header{background:var(--gradient-primary);color:#fff;padding:var(--spacing-l);display:flex;justify-content:space-between;align-items:center;background-size:200% 200%;animation:gradientMove 6s ease infinite}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.ai-assistant-title{display:flex;align-items:center;gap:var(--spacing-m);flex:1}.ai-icon{font-size:1.25rem;opacity:.9}.ai-title-text h3{margin:0;font-size:1rem;font-weight:600;font-family:Montserrat,sans-serif}.ai-title-text p{margin:0;font-size:.8rem;opacity:.8;font-family:Poppins,sans-serif}.ai-header-actions{display:flex;gap:var(--spacing-s)}.ai-clear-btn{background:#fff3;border:none;color:#fff;padding:var(--spacing-s);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);font-size:.8rem;display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.ai-clear-btn:hover{background:#ffffff4d;transform:scale(1.05)}.ai-assistant-messages{flex:1;min-height:200px;max-height:calc(100vh - 300px);overflow-y:auto;padding:var(--spacing-l);display:flex;flex-direction:column;gap:var(--spacing-m);background:var(--color-background-alt)}.ai-assistant-messages::-webkit-scrollbar{width:4px}.ai-assistant-messages::-webkit-scrollbar-track{background:transparent}.ai-assistant-messages::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--border-radius-sm)}.ai-message{display:flex;margin-bottom:var(--spacing-s)}.ai-message.user{justify-content:flex-end}.ai-message.assistant{justify-content:flex-start}.ai-message-content{max-width:80%;padding:var(--spacing-m) var(--spacing-l);border-radius:18px;font-size:.9rem;line-height:1.4;word-wrap:break-word;font-family:Poppins,sans-serif;position:relative}.ai-message.user .ai-message-content{background:var(--gradient-primary);color:#fff;margin-left:var(--spacing-l)}.ai-message.assistant .ai-message-content{background:var(--color-background);color:var(--color-text);border:1px solid var(--color-border);margin-right:var(--spacing-l)}.ai-message-time{font-size:.7rem;opacity:.6;margin-top:var(--spacing-xs);text-align:right;font-family:Poppins,sans-serif}.ai-typing-indicator{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) 0}.ai-typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:aiTyping 1.4s infinite ease-in-out both}.ai-typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes aiTyping{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-typing-text{font-size:.8rem;opacity:.7;margin-top:var(--spacing-xs);font-style:italic;font-family:Poppins,sans-serif}.ai-assistant-input{padding:var(--spacing-l);border-top:1px solid var(--color-border);background:var(--color-background);display:flex;gap:var(--spacing-s);align-items:center;box-sizing:border-box}.ai-assistant-input input{flex:1;min-width:0;padding:var(--spacing-m) var(--spacing-l);border:1px solid var(--color-border);border-radius:20px;font-size:.9rem;background:var(--color-background-alt);color:var(--color-text);outline:none;transition:all var(--transition-fast);font-family:Poppins,sans-serif;box-sizing:border-box}.ai-assistant-input input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--shadow-md);background:var(--color-background)}.ai-assistant-input input:disabled{opacity:.6;cursor:not-allowed}.ai-assistant-input button{width:40px;height:40px;min-width:40px;min-height:40px;border:none;border-radius:50%;background:var(--gradient-primary);color:var(--color-background);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-size:.9rem;padding:0;aspect-ratio:1;flex-shrink:0}.ai-assistant-input button:hover:not(:disabled){transform:scale(1.05);box-shadow:var(--shadow-md)}.ai-assistant-input button.ready{background:var(--color-primary);animation:aiReadyPulse 2s infinite ease-in-out}@keyframes aiReadyPulse{0%,to{box-shadow:var(--shadow-sm)}50%{box-shadow:var(--shadow-lg)}}.ai-assistant-input button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-quick-suggestions{padding:var(--spacing-m) var(--spacing-l);background:var(--color-background-alt);border-top:1px solid var(--color-border)}.ai-suggestions-title{font-size:.8rem;color:var(--color-text-light);margin-bottom:var(--spacing-s);font-weight:500;font-family:Montserrat,sans-serif}.ai-suggestions-list{display:flex;gap:var(--spacing-s);flex-wrap:wrap}.ai-suggestions-list button{background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);padding:var(--spacing-s) var(--spacing-m);border-radius:var(--border-radius-lg);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-family:Poppins,sans-serif;position:relative;overflow:hidden;text-overflow:ellipsis}.ai-suggestions-list button:after{content:"→";margin-left:.5rem;opacity:0;transition:all var(--transition-fast);transform:translate(-5px)}.ai-suggestions-list button:hover{background:var(--gradient-primary);color:var(--color-background);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ai-suggestions-list button:hover:after{opacity:1;transform:translate(0)}.ai-suggestions-list button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-suggestions-list button:disabled:after{display:none}.ai-suggestions-reset{margin-top:var(--spacing-s);text-align:center}.ai-reset-suggestions{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-light);padding:var(--spacing-xs) var(--spacing-m);border-radius:var(--border-radius-lg);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast);font-family:Poppins,sans-serif}.ai-reset-suggestions:hover:not(:disabled){background:var(--color-background-alt);color:var(--color-text);border-style:solid}.ai-reset-suggestions:disabled{opacity:.5;cursor:not-allowed}.github-indicator{font-size:.8rem;opacity:.8;margin-left:.25rem;animation:githubPulse 2s infinite ease-in-out}@keyframes githubPulse{0%,to{opacity:.8}50%{opacity:1}}.ai-message-content a{color:var(--color-primary);text-decoration:underline;font-weight:500}.ai-message-content a:hover{color:var(--color-primary-dark)}.tech-icon{width:16px;height:16px;margin-right:6px;vertical-align:middle;transition:transform .2s ease}.ai-suggestions-list button:hover .tech-icon{transform:scale(1.1)}.tech-icon.react{color:#61dafb}.tech-icon.js{color:#f7df1e}.tech-icon.github{color:var(--color-text)}.tech-icon.formation{color:#8b5cf6}.ai-assistant-fab.mobile{bottom:15px;right:15px;width:50px;height:50px;min-width:50px;min-height:50px;font-size:1.25rem}.ai-assistant-fab.mobile.active{bottom:15px;right:15px}.ai-assistant-widget.mobile{width:calc(100vw - 30px);right:15px;bottom:75px;max-height:calc(100vh - 100px)}.ai-assistant-widget.mobile:after{right:30px}.ai-assistant-widget.tablet{width:350px;max-height:calc(100vh - 120px)}@media (max-width: 768px){.ai-assistant-widget{width:calc(100vw - 20px);right:10px;max-width:none;max-height:70dvh;bottom:70px}.ai-assistant-widget:after{right:25px}.ai-assistant-messages{min-height:120px;max-height:calc(70dvh - 180px);padding:12px}.ai-assistant-header{padding:12px 16px}.ai-assistant-input{padding:12px 16px;gap:8px}.ai-assistant-input input{padding:10px 14px;font-size:.9rem}.ai-assistant-input button{width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0}.ai-quick-suggestions{padding:10px 16px}.ai-suggestions-list{gap:8px;justify-content:space-between}.ai-suggestions-list button{font-size:.85rem;padding:10px 14px;flex:1;min-width:0;min-height:40px;display:flex;align-items:center;justify-content:center;text-align:center}.ai-suggestions-list button:after{display:none}.ai-message-content{max-width:90%;padding:10px 14px;font-size:.9rem}}@media (max-width: 480px){.ai-assistant-fab{bottom:15px;right:15px;width:52px;height:52px;min-width:52px;min-height:52px;font-size:1.3rem}.ai-assistant-fab.active{bottom:15px;right:15px}.ai-assistant-widget{width:calc(100vw - 16px);right:8px;left:8px;bottom:75px;max-height:65dvh}.ai-assistant-widget:after{right:30px}.ai-assistant-messages{padding:10px;min-height:100px;max-height:calc(65dvh - 160px);gap:8px}.ai-message-content{max-width:92%;padding:8px 12px;font-size:.9rem}.ai-assistant-header{padding:10px 14px;background-size:200% 200%;animation:gradientMove 6s ease infinite}.ai-title-text h3{font-size:.95rem}.ai-title-text p{font-size:.75rem}.ai-assistant-input{padding:10px 14px;gap:8px}.ai-assistant-input input{padding:12px 16px;font-size:.9rem;min-height:20px}.ai-assistant-input button{width:40px;height:40px;min-width:40px;min-height:40px;font-size:.9rem}.ai-quick-suggestions{padding:8px 14px}.ai-suggestions-list{gap:6px;flex-direction:column}.ai-suggestions-list button{font-size:.9rem;padding:12px 16px;width:100%;min-height:44px;flex:none;white-space:normal;text-align:center;line-height:1.2}.tech-icon{width:14px;height:14px;margin-right:8px}.ai-reset-suggestions{padding:8px 16px;font-size:.8rem;min-height:36px}}@media (max-width: 360px){.ai-assistant-widget{width:calc(100vw - 12px);right:6px;left:6px;max-height:60dvh}.ai-assistant-messages{min-height:80px;max-height:calc(60dvh - 140px)}.ai-suggestions-list button{font-size:.85rem;padding:10px 14px;min-height:40px}}@supports (-webkit-touch-callout: none){@media (max-width: 768px){.ai-assistant-widget{max-height:60vh}.ai-assistant-messages{max-height:calc(60vh - 160px)}}}[data-theme=dark] .ai-assistant-widget,body.dark-mode .ai-assistant-widget{background:var(--color-secondary-dark);border-color:var(--color-assistant-border)}[data-theme=dark] .ai-assistant-messages,body.dark-mode .ai-assistant-messages{background:#0000004d}[data-theme=dark] .ai-message.assistant .ai-message-content,body.dark-mode .ai-message.assistant .ai-message-content{background:var(--color-secondary-dark);color:#fff;border-color:var(--color-assistant-border)}[data-theme=dark] .ai-assistant-input,body.dark-mode .ai-assistant-input{background:var(--color-secondary-dark);border-color:var(--color-assistant-border)}[data-theme=dark] .ai-assistant-input input,body.dark-mode .ai-assistant-input input{background:#0000004d;color:#fff;border-color:var(--color-assistant-border)}[data-theme=dark] .ai-quick-suggestions,body.dark-mode .ai-quick-suggestions{background:#0000004d;border-color:var(--color-assistant-border)}[data-theme=dark] .ai-suggestions-list button,body.dark-mode .ai-suggestions-list button{background:var(--color-secondary-dark);color:#fff;border-color:var(--color-assistant-border)}[data-theme=dark] .ai-suggestions-list button:hover,body.dark-mode .ai-suggestions-list button:hover{background:var(--gradient-primary)}[data-theme=dark] .ai-suggestions-list button:disabled,body.dark-mode .ai-suggestions-list button:disabled{opacity:.4}[data-theme=dark] .ai-suggestions-title,body.dark-mode .ai-suggestions-title{color:var(--color-assistant-suggestion-title)}[data-theme=dark] .ai-message-content a,body.dark-mode .ai-message-content a,[data-theme=dark] .ai-message-content a:hover,body.dark-mode .ai-message-content a:hover{color:var(--skill-color-6)}[data-theme=dark] .ai-reset-suggestions,body.dark-mode .ai-reset-suggestions{border-color:#fff3;color:#fff9}[data-theme=dark] .ai-reset-suggestions:hover:not(:disabled),body.dark-mode .ai-reset-suggestions:hover:not(:disabled){background:#ffffff1a;color:#ffffffe6;border-color:#ffffff4d}.ai-assistant-widget{animation:aiSlideInUp .3s cubic-bezier(.34,1.56,.64,1)}.ai-message{animation:aiMessageAppear .3s ease-out}@keyframes aiMessageAppear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-assistant-fab:focus,.ai-clear-btn:focus,.ai-assistant-input button:focus,.ai-suggestions-list button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.ai-assistant-fab{box-shadow:var(--shadow-card)}.ai-assistant-widget{box-shadow:var(--shadow-modal)}.ai-message.user .ai-message-content{background:var(--gradient-skill-solid)}@media (max-width: 480px) and (orientation: portrait){.ai-assistant-widget{max-height:calc(100dvh - env(safe-area-inset-bottom) - env(safe-area-inset-top) - 80px)}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:25px;margin-top:20px;width:100%;position:relative;padding:15px}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;list-style:none;margin-top:20px;padding:0}@media (max-width: 1024px){.tech-grid{grid-template-columns:repeat(3,1fr);gap:15px}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:15px;padding:10px}.tech-grid{grid-template-columns:repeat(3,1fr);gap:15px}}@media (max-width: 480px){.projects-grid{padding:5px}.tech-grid{grid-template-columns:repeat(2,1fr);gap:10px}}section{padding:5px 20px;max-width:var(--container-max-width);margin:0 auto;width:100%;scroll-margin-top:115px;box-sizing:border-box;overflow-x:hidden}.section-navigation{margin-top:30px;padding:15px;text-align:center}.section-navigation a{color:var(--color-primary-dark);font-weight:500;text-decoration:none;transition:color var(--transition-medium)}.section-navigation a:hover{color:var(--color-text);text-decoration:underline}#about{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:1200px;margin:0 auto;padding:2rem;box-sizing:border-box}.profile{display:flex;align-items:center;justify-content:space-around;margin-bottom:80px;width:100%;box-sizing:border-box;padding:0}.profile-text{flex:1;margin-right:20px;width:100%;cursor:default}.profile-text p{line-height:1.6;font-size:x-large;margin:0;padding:0;cursor:default}.profile-photo{width:450px;height:450px;border-radius:50%}.profile-photo-container{flex:1;display:flex;justify-content:flex-end}.about-title{font-weight:700;font-size:2rem;margin-bottom:80px;cursor:default}.career-container{display:flex;justify-content:center;align-items:stretch;gap:0;margin:20px auto;padding:15px 20px;width:100%;max-width:1000px;box-sizing:border-box;cursor:default}.career-section{flex:1;max-width:none;display:flex;flex-direction:column;align-items:center;text-align:center}.career-text{line-height:1.6;font-size:medium;text-align:left;padding:0 15px;cursor:default;max-width:400px;margin:0 auto}.career-divider{width:3px;height:auto;align-self:stretch;background:linear-gradient(to bottom,transparent,var(--color-primary),transparent);margin:0 30px;cursor:default;flex-shrink:0}.why-me-section{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:var(--spacing-xxl) auto;padding:0 var(--spacing-l);box-sizing:border-box}.why-me-section h3{text-align:center;margin-bottom:40px;font-size:2rem;font-weight:700}#about>h3{text-align:center;margin:var(--spacing-xxl) auto;font-size:2rem;font-weight:700;width:100%}.qualities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);padding:0;max-width:1000px;margin:0 auto;width:100%;justify-items:center}.quality-card{background:#ffffff0d;border:1px solid rgba(76,175,80,.2);border-radius:var(--border-radius-lg);padding:30px 20px;text-align:center;transition:all var(--transition-fast);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:default;width:100%;max-width:450px;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.quality-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#4caf501a,#4caf500d);opacity:0;transition:opacity var(--transition-fast)}.quality-card:hover:before{opacity:1}.quality-icon{font-size:2.5rem;margin-bottom:var(--spacing-m);display:block;transform:scale(1);transition:transform var(--transition-fast);position:relative;z-index:1}.quality-card:hover .quality-icon{transform:scale(1.1)}.quality-title{font-size:1.3rem;margin-bottom:var(--spacing-m);font-weight:600;color:var(--color-primary);position:relative;z-index:1}.quality-description{line-height:1.6;font-size:medium;opacity:.9;position:relative;z-index:1;margin:0}@media (max-width: 1024px){.profile-photo{width:300px;height:300px}.career-container{flex-direction:column;gap:20px;align-items:center;margin:15px 0;padding:10px 20px}.qualities-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:800px;padding:0 10px}.quality-card{padding:25px 15px}}@media (max-width: 768px){#about{padding:1rem}.profile{flex-direction:column-reverse;gap:30px;padding:0;margin:0}.profile-text{margin-right:0;padding:0}.profile-text p{font-size:large;text-align:left}.profile-photo{width:220px;height:220px}.profile-photo-container{width:100%;justify-content:center}.about-title{font-size:1.8rem;margin-bottom:15px}.career-section{max-width:100%;text-align:center}.career-text{padding:0 15px}.career-divider{width:90%;height:3px;margin:15px 0 50px;background:linear-gradient(to right,transparent,var(--color-primary),transparent)}.qualities-grid{grid-template-columns:1fr;gap:20px;padding:0 15px;max-width:450px;justify-items:center}.quality-card{padding:25px 20px}.quality-title{font-size:1.2rem}.quality-description{font-size:small}}@media (max-width: 480px){#about{padding:.5rem}.profile-text p{font-size:medium}.profile-photo{width:200px;height:200px}.about-title{font-size:1.5rem;margin-bottom:10px}.career-divider{width:100%}.qualities-grid{padding:0 10px;max-width:380px;justify-items:center}.quality-card{padding:20px 15px}.quality-icon{font-size:2rem;margin-bottom:12px}.quality-title{font-size:1.1rem;margin-bottom:12px}}#technologies{padding:3rem 2rem;text-align:center;min-height:calc(100vh - 180px);color:#fff;position:relative;display:flex;flex-direction:column;justify-content:center}#technologies h2{font-size:2.5rem;color:#53ba5f;margin-bottom:2.5rem;font-weight:600;cursor:default}#technologies ul{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:1000px;margin:0 auto 2rem;padding:0;list-style:none}#technologies li{background-color:#fff;border-radius:10px;padding:1.5rem 1rem 1rem;box-shadow:0 5px 15px #0000001a;display:flex;flex-direction:column;align-items:center;transition:transform .3s ease,box-shadow .3s ease;width:180px;height:200px;position:relative}#technologies li:hover{box-shadow:0 20px 40px #0003}.tech-logo{width:60px;height:60px;margin-bottom:1rem;object-fit:contain;box-shadow:0 10px 20px #0003}#technologies p{margin:0;color:#333;font-weight:500;cursor:default}.skill-content{display:flex;flex-direction:column;align-items:center;width:100%;flex:1}.skill-level{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:auto;position:absolute;bottom:15px;left:0;right:0}.skill-bar-container{width:80%;height:6px;background-color:#e0e0e0;border-radius:3px;overflow:hidden;position:relative;margin:0 auto}.skill-bar{height:100%;background:linear-gradient(90deg,#53ba5f,#8ee897);border-radius:3px;transition:width 1s ease-in-out}.skill-text{font-size:.65rem;color:#666;margin-top:4px;font-weight:500;text-align:center}.link-nav{display:inline-block;margin:0 .5rem;color:#53ba5f;text-decoration:none;position:relative;transition:all .3s ease}.link-nav:after{content:"";position:absolute;width:0;height:2px;bottom:-3px;left:0;background-color:#53ba5f;transition:width .3s ease}.link-nav:hover:after{width:100%}.animations-disabled .skill-bar,.animations-disabled #technologies li{transition:none!important}.animations-disabled #technologies li:hover{transform:none!important;box-shadow:0 5px 15px #0000001a!important}.technologies-legend{margin-top:2rem;padding:1rem;background:#ffffff1a;border-radius:8px;max-width:600px;margin:2rem auto 0}.technologies-legend h4{color:#53ba5f;font-size:1rem;margin-bottom:.5rem}.legend-colors{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.legend-item{font-size:.8rem;color:#fff;padding:.2rem .5rem;border-radius:4px}.legend-very-solid{background:var(--gradient-skill-very-solid)}.legend-solid{background:var(--gradient-skill-solid)}.legend-competent{background:var(--gradient-skill-competent)}.legend-learning{background:var(--gradient-skill-learning)}.legend-beginner{background:var(--gradient-skill-beginner)}.legend-discovery{background:var(--gradient-skill-discovery)}@media (max-width: 1024px){#technologies ul{gap:1rem}#technologies li{width:calc(33.33% - 1rem);max-width:180px;height:200px}}@media (max-width: 768px){#technologies li{width:calc(50% - 1rem);max-width:170px;height:190px}.tech-logo{width:56px;height:56px}.skill-level{bottom:12px}}@media (max-width: 640px){#technologies h2{font-size:2rem;margin-bottom:1.5rem}#technologies li{padding:1.2rem .8rem .8rem;width:calc(50% - .5rem);height:180px;margin-bottom:1rem}.skill-bar-container{height:5px}.skill-level{bottom:10px}}@media (max-width: 480px){#technologies{padding:2rem 1rem}#technologies h2{font-size:1.8rem;margin-bottom:1.2rem}#technologies ul{gap:.8rem}#technologies li{width:calc(50% - .4rem);height:160px;max-width:none;padding:1rem .6rem .6rem}.tech-logo{width:48px;height:48px;margin-bottom:.6rem}.skill-level{bottom:8px}.skill-text{font-size:.6rem}.technologies-legend{padding:.8rem;margin:1.5rem auto 0}.legend-colors{gap:.5rem}.legend-item{font-size:.7rem;padding:.1rem .3rem}}#contact{display:flex;flex-direction:column;align-items:center;padding:2rem;width:100%;box-sizing:border-box}.contact-page{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5rem}.contact-section{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;box-sizing:border-box}.cv-container{display:flex;justify-content:center;align-items:center;width:100%}.cv-section{text-align:center;margin:40px auto;padding:40px;background:#ffffff0d;border-radius:15px;border:1px solid rgba(83,186,95,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:800px;width:85%}.cv-section h3{color:var(--color-primary, #53ba5f);margin-bottom:15px;font-size:1.7rem;font-weight:600}.cv-section p{margin-bottom:30px;opacity:.9;font-size:1.1rem;line-height:1.5}.cv-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;background:transparent;color:var(--color-primary, #53ba5f);border:2px solid var(--color-primary, #53ba5f);border-radius:8px;font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s ease;text-transform:none;position:relative;overflow:hidden;z-index:1}.cv-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-primary, #53ba5f);transition:left .3s ease;z-index:-1;border-radius:6px}.cv-btn:hover{color:#fff;text-decoration:none;transform:scale(1.05)}.cv-btn:hover:before{left:0}#contactForm .btn,button[type=submit].btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:transparent;color:var(--color-primary, #53ba5f);border:2px solid var(--color-primary, #53ba5f);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:none;position:relative;overflow:hidden;z-index:1;text-decoration:none}#contactForm .btn:before,button[type=submit].btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-primary, #53ba5f);transition:left .3s ease;z-index:-1;border-radius:6px}#contactForm .btn:hover,button[type=submit].btn:hover{color:#fff;transform:scale(1.05);text-decoration:none}#contactForm .btn:hover:before,button[type=submit].btn:hover:before{left:0}#contactForm .btn:disabled,button[type=submit].btn:disabled{opacity:.6;cursor:not-allowed;transform:none}#contactForm .btn:disabled:before,button[type=submit].btn:disabled:before{transform:translate(-100%)}.cv-btn span,.share-toggle-btn span{position:relative;z-index:1}.share-toggle-btn svg{position:relative;z-index:1}.cv-icon{font-size:1.2rem;position:relative;z-index:1}.form-section{text-align:center;margin:40px auto;padding:40px;background:#ffffff0d;border-radius:15px;border:1px solid rgba(83,186,95,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:900px;width:85%}.form-section h3{color:var(--color-primary, #53ba5f);margin-bottom:15px;font-size:1.7rem;font-weight:600}.form-section p{margin-bottom:30px;opacity:.9;font-size:1.1rem;line-height:1.5}.contact-content{width:100%;display:flex;flex-direction:column;align-items:center;gap:2rem}.footer{width:100%;flex-shrink:0;position:relative;bottom:0;left:0}.social-section{text-align:center;margin:40px auto;padding:40px;background:#ffffff0d;border-radius:15px;border:1px solid rgba(83,186,95,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:800px;width:85%}.social-section h3{color:var(--color-primary, #53ba5f);margin-bottom:15px;font-size:1.7rem;font-weight:600}.social-section p{margin-bottom:30px;opacity:.9;font-size:1.1rem;line-height:1.5}.social-links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap}.social-item{position:relative;display:inline-block}.social-links a{display:flex;align-items:center;justify-content:center;width:55px;height:55px;border-radius:50%;background-color:var(--color-background);color:var(--color-primary);font-size:1.4rem;transition:all .3s ease;border:1px solid var(--color-primary);cursor:pointer;text-decoration:none;padding:0}.social-links a:hover{color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #53ba5f4d}.social-links a.github:hover{background-color:#333;border-color:#333;box-shadow:0 8px 20px #3333334d}.social-links a.linkedin:hover{background-color:#0077b5;border-color:#0077b5;box-shadow:0 8px 20px #0077b54d}.social-links a.twitter:hover{background-color:#1da1f2;border-color:#1da1f2;box-shadow:0 8px 20px #1da1f24d}.tooltip{position:absolute;top:-35px;left:50%;transform:translate(-50%);background-color:#000;color:#fff;font-size:12px;padding:6px 12px;border-radius:4px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:100;pointer-events:none;font-weight:500;letter-spacing:.3px;box-shadow:0 2px 8px #0000004d}.tooltip:before{content:"";position:absolute;bottom:-5px;left:50%;transform:translate(-50%);border-width:5px 5px 0 5px;border-style:solid;border-color:#000000 transparent transparent transparent}.social-item a:hover .tooltip{opacity:1;visibility:visible}.share-section{text-align:center;margin:40px auto;padding:40px;background:#ffffff0d;border-radius:15px;border:1px solid rgba(83,186,95,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:800px;width:85%}.share-section h3{color:var(--color-primary, #53ba5f);margin-bottom:15px;font-size:1.7rem;font-weight:600}.share-section p{margin-bottom:30px;opacity:.9;font-size:1.1rem;line-height:1.5}.share-container{position:relative;display:inline-block}.share-toggle-btn{display:inline-flex;align-items:center;gap:12px;padding:12px 24px;background:transparent;color:var(--color-primary, #53ba5f);border:2px solid var(--color-primary, #53ba5f);border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:none;position:relative;overflow:hidden;z-index:1}.share-toggle-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-primary, #53ba5f);transition:left .3s ease;z-index:-1;border-radius:6px}.share-toggle-btn:hover{color:#fff;transform:scale(1.05)}.share-toggle-btn:hover:before{left:0}.share-options{position:absolute;top:-70px;left:50%;transform:translate(-50%);display:flex;gap:10px;background:#fff;border-radius:15px;padding:15px;box-shadow:0 10px 30px #0003;border:1px solid rgba(0,0,0,.1);z-index:1000;animation:slideUp .3s ease-out}.share-options:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white}.share-option{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px;border-radius:10px;text-decoration:none;color:#333;transition:all .3s ease;background:transparent;border:none;cursor:pointer;min-width:60px}.share-option:hover{transform:translateY(-2px);background:#0000000d}.share-option svg{font-size:1.2rem;margin-bottom:2px}.share-option span{font-size:.75rem;font-weight:500;white-space:nowrap}.share-option.twitter:hover{color:#1da1f2}.share-option.facebook:hover{color:#4267b2}.share-option.linkedin:hover{color:#0077b5}.share-option.email:hover{color:#db4437}.share-option.copy:hover{color:#333}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 1024px){.contact-section{padding:1rem}.cv-container{flex-direction:column}.cv-section,.social-section,.share-section,.form-section{margin:35px auto;padding:35px;width:90%}}@media (max-width: 768px){#contact{padding:1rem}.contact-page,#contact{padding:20px 10px}.cv-container{margin:15px 0}#contactForm{width:100%;text-align:left}.cv-section,.social-section,.share-section,.form-section{margin:30px auto;padding:30px;max-width:100%;width:90%}.cv-section h3,.social-section h3,.share-section h3,.form-section h3{font-size:1.5rem}.social-links{gap:15px}.social-links a{width:45px;height:45px;font-size:1.2rem}.share-options{top:-60px;padding:10px;gap:8px}.share-option{min-width:50px;padding:8px}.share-option svg{font-size:1rem}.share-option span{font-size:.7rem}.tooltip{display:none}}@media (max-width: 480px){#contact{padding:.5rem}.contact-page,#contact{padding:15px 5px}.cv-section,.social-section,.share-section,.form-section{margin:25px auto;padding:20px;width:95%}.cv-btn{padding:12px 24px;font-size:.9rem}.cv-btn,.share-toggle-btn,#contactForm .btn,button[type=submit].btn{padding:8px 16px;font-size:.8rem;gap:8px}.cv-icon{font-size:1rem}.share-toggle-btn svg{font-size:1rem}.cv-section h3,.social-section h3,.share-section h3,.form-section h3{font-size:1.3rem}.social-links{gap:12px}.social-links a{width:42px;height:42px;font-size:1.1rem}.share-toggle-btn{padding:10px 20px;font-size:.9rem}.share-options{flex-wrap:wrap;max-width:280px}.share-option{min-width:45px;padding:6px}}.projects-page{padding:20px 0}.projects-page h2{color:var(--color-primary);text-align:center;margin:120px 50px 0;cursor:default}.projects-page .section-navigation{margin-top:40px;text-align:center}.project-detail-section{margin-top:30px}.projects-page .project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.background-animation{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-index-background);pointer-events:none}.page-transition-enter{opacity:0}.page-transition-enter-active{opacity:1;transition:opacity .3s}.page-transition-exit{opacity:1}.page-transition-exit-active{opacity:0;transition:opacity .3s}.animation-toggle{position:fixed;top:20px;right:20px;z-index:var(--z-index-modal);display:flex;align-items:center;justify-content:flex-end}.animation-toggle-wrapper{position:relative;display:inline-block}.animation-toggle-tooltip{position:absolute;top:-30px;right:0;background-color:#000000b3;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;transition:opacity var(--transition-fast)}.animation-toggle-wrapper:hover .animation-toggle-tooltip{opacity:1}.toggle-text{margin-left:10px;font-size:14px;color:var(--text-color, #333)}.switches-container{position:absolute;right:80px;display:flex;gap:15px;z-index:100;padding:8px 15px;border-radius:20px}.toggle-item,.switch-wrapper{display:flex;align-items:center}.toggle-label{font-size:12px;color:#fff;margin-left:8px;white-space:nowrap;text-shadow:0 0 3px rgba(0,0,0,.8),0 0 5px rgba(0,0,0,.6);font-weight:700}.toggle-icon{font-size:16px;margin:0 5px}.switch{position:relative;display:inline-block;width:40px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#ccccccb3;transition:.4s;border-radius:34px;box-shadow:0 0 5px #0000004d}.slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:0 0 3px #0000004d}input:checked+.slider{background-color:var(--color-primary)}input:focus+.slider{box-shadow:0 0 1px var(--color-primary)}input:checked+.slider:before{transform:translate(18px)}@media screen and (max-width: 768px){.switches-container{right:50px;top:60px}}:root{--background-color: transparent;--text-color: #fff;--primary-color: #53ba5f;--secondary-color: #6c757d;--accent-color: #ffc107;--border-color: transparent;--form-background: #fff;--form-text: #333}.dark-theme{--background-color: #212529;--text-color: #f8f9fa;--primary-color: #53ba5f;--secondary-color: #adb5bd;--accent-color: #ffc107;--border-color: #495057;--form-background: #333;--form-text: #fff}section{background-color:var(--background-color);color:var(--text-color);transition:background-color .3s,color .3s}.custom-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--gradient-background);display:flex;justify-content:center;align-items:center;z-index:var(--z-index-loader);transition:opacity .6s ease;overflow:hidden;--mouse-x: 50%;--mouse-y: 50%}.custom-loader.fade-out{opacity:0;pointer-events:none}.gradient-background{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),rgba(76,175,80,.15) 0%,rgba(44,62,80,0) 70%);transition:background var(--transition-fast)}.floating-elements,.code-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.floating-circle{position:absolute;width:var(--circle-size);height:var(--circle-size);border-radius:var(--border-radius-circle);background-color:rgba(76,175,80,var(--circle-opacity));left:var(--circle-x);top:var(--circle-y);transform:translate(-50%,-50%);animation:float-circle var(--circle-duration) infinite alternate ease-in-out;filter:blur(5px)}.code-line{position:absolute;height:1px;width:var(--line-width);background-color:rgba(76,175,80,var(--line-opacity));left:var(--line-left);top:var(--line-top);transform:translateY(-50%) rotate(var(--line-rotate));animation:pulse-line var(--line-duration) infinite alternate ease-in-out;animation-delay:var(--line-delay);filter:blur(1px)}.loader-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:700px;padding:var(--spacing-xxl);z-index:2}.logo-container{margin-bottom:var(--spacing-xxl);position:relative;z-index:150}.logo-img{display:flex;justify-content:center;align-items:center;width:200px;height:200px;border-radius:var(--border-radius-circle);background:#ffffff1a;border:3px solid rgba(76,175,80,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-fast)}.logo-img img{animation:logo-pulse-img 2s infinite alternate ease-in-out;box-shadow:0 0 15px #4caf50b3;transition:all var(--transition-fast);max-width:100%;height:auto;border-radius:var(--border-radius-circle)}.logo-intensify{border-color:#4caf50cc!important;background:#fff3!important;box-shadow:0 0 30px #4caf5099}.logo-intensify img{animation:logo-pulse-intense-img .4s infinite ease-in-out;box-shadow:0 0 30px #4caf50,0 0 50px #4caf5099}.logo-descending{animation:logo-grow-and-fade .4s forwards ease-in-out;z-index:3}.logo-descending img{animation:none!important;box-shadow:0 0 80px #fff,0 0 120px #53ff6b!important;position:relative;z-index:150}.logo-text{font-size:5rem;font-weight:700;color:#fff;text-shadow:0 0 15px rgba(76,175,80,.7);animation:pulse-logo 2s infinite alternate ease-in-out}.logo-placeholder{width:180px;height:180px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.logo-skeleton{width:100px;height:100px;background:linear-gradient(90deg,#ffffff1a 25%,#ffffff4d,#ffffff1a 75%);background-size:200% 100%;border-radius:50%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.logo-img.logo-loading{opacity:.7;filter:blur(1px);transform:scale(.95);transition:all .3s ease}.logo-img.logo-loaded{opacity:1;filter:blur(0);transform:scale(1);transition:all .3s ease}.logo-img img{transition:opacity .3s ease,transform .3s ease;will-change:transform,opacity}.loader-text{text-align:center;margin-bottom:var(--spacing-xxl)}.loader-text h1{font-size:3rem;color:#fff;margin-bottom:var(--spacing-l);font-weight:600;text-shadow:0 0 10px rgba(76,175,80,.5)}.loader-text p{font-size:1.6rem;color:var(--color-primary);min-height:36px;text-shadow:0 0 8px rgba(76,175,80,.4);animation:fade-message var(--transition-fast)}.progress-container{width:100%;height:16px;background-color:#ffffff1a;border-radius:var(--border-radius-sm);overflow:visible;position:relative;margin-bottom:var(--spacing-m);box-shadow:var(--shadow-md)}.progress-bar{height:100%;background:var(--gradient-primary);width:0;transition:width .08s ease;position:relative;overflow:hidden;box-shadow:0 0 15px #4caf50cc}.progress-bar-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:1rem;font-weight:700;text-shadow:0 0 4px rgba(0,0,0,.8);width:100%;text-align:center;z-index:10;pointer-events:none;line-height:0}.progress-glow{position:absolute;inset:0 auto 0 0;width:60px;background:linear-gradient(90deg,#fff0,#fffc,#fff0);animation:glow-slide 1.5s linear infinite}.explosion-flash,.explosion-core,.shockwaves-container,.particles-container,.rays-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;visibility:hidden;opacity:0}.explosion-core{width:10px;height:10px;border-radius:50%;background:#fff;top:calc(50% + 75px);left:50%;transform:translate(-50%,-50%) scale(0);box-shadow:0 0 50px #fffc;z-index:90}.shockwaves-container{z-index:80;display:flex;justify-content:center;align-items:center}.particles-container{z-index:70}.rays-container{z-index:60}.custom-loader.exploding .explosion-flash,.custom-loader.exploding .explosion-core,.custom-loader.exploding .shockwaves-container,.custom-loader.exploding .particles-container,.custom-loader.exploding .rays-container{visibility:visible}.shockwave{position:absolute;width:0;height:0;border-radius:50%;border:10px solid rgba(83,255,107,.8);top:calc(50% + 75px);left:50%;transform:translate(-50%,-50%) scale(0);opacity:0;box-shadow:0 0 50px #53ff6b99,0 0 100px #53ff6b4d inset}.explosion-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#53ff6b;top:calc(50% + 75px);left:50%;transform:translate(-50%,-50%) rotate(var(--angle)) scale(0);opacity:0;box-shadow:0 0 20px #53ff6bcc}.explosion-ray{position:absolute;width:2px;height:0;background:rgba(83,255,107,var(--ray-opacity));top:calc(50% + 75px);left:50%;transform-origin:center bottom;transform:translate(-50%) rotate(var(--ray-angle)) scaleY(0);opacity:0;box-shadow:0 0 var(--ray-glow) rgba(83,255,107,calc(var(--ray-opacity) * .8));z-index:60}@keyframes float-circle{0%{transform:translate(-50%,-50%)}to{transform:translate(calc(-50% + var(--circle-drift-x)),calc(-50% + var(--circle-drift-y)))}}@keyframes pulse-line{0%{opacity:var(--line-opacity);width:var(--line-width)}50%{opacity:calc(var(--line-opacity) * 1.5);width:calc(var(--line-width) * 1.2)}to{opacity:var(--line-opacity);width:var(--line-width)}}@keyframes pulse-logo{0%{text-shadow:0 0 15px rgba(76,175,80,.7);transform:scale(1)}to{text-shadow:0 0 25px rgba(76,175,80,.9),0 0 40px rgba(76,175,80,.4);transform:scale(1.05)}}@keyframes logo-pulse-img{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1);filter:brightness(1.2)}}@keyframes logo-pulse-intense-img{0%,to{transform:scale(1);filter:brightness(1.8)}50%{transform:scale(1.1);filter:brightness(2.3)}}@keyframes logo-grow-and-fade{0%{transform:scale(1);opacity:1;filter:brightness(1.8)}40%{transform:scale(2.5);opacity:.9;filter:brightness(2.5)}70%{transform:scale(4);opacity:.6;filter:brightness(3)}to{transform:scale(5);opacity:0;filter:brightness(3.5)}}@keyframes fade-message{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-slide{0%{transform:translate(-100%)}to{transform:translate(1000%)}}@keyframes mega-flash{0%{background-color:transparent;opacity:0}5%{background-color:#fff;opacity:1}15%{background-color:#8cff96e6;opacity:1}30%{background-color:#53ff6bcc;opacity:.7}to{background-color:transparent;opacity:0}}@keyframes core-explosion{0%{transform:translate(-50%,-50%) scale(0);opacity:0}10%{transform:translate(-50%,-50%) scale(12);background:#fff;box-shadow:0 0 150px 80px #fff;opacity:1}30%{transform:translate(-50%,-50%) scale(40);background:#53ff6b;box-shadow:0 0 300px 150px #53ff6b,0 0 500px 300px #53ff6b99;opacity:.95}to{transform:translate(-50%,-50%) scale(0);opacity:0}}@keyframes logo-mega-explosion{0%{transform:scale(1);text-shadow:0 0 15px rgba(83,186,95,.7);color:#fff}20%{transform:scale(2);color:#fff;text-shadow:0 0 30px rgba(255,255,255,1),0 0 60px rgba(83,255,107,1),0 0 120px rgba(83,255,107,.5)}to{transform:scale(0);opacity:0}}@keyframes text-mega-explosion{0%{transform:scale(1);opacity:1}20%{transform:scale(1.3);color:#fff;text-shadow:0 0 30px rgba(255,255,255,1)}to{transform:scale(0);opacity:0}}@keyframes progress-container-explode{0%{transform:scale(1);height:10px}20%{transform:scale(1.2,3);height:30px;box-shadow:0 0 50px #53ff6b}to{transform:scale(0);opacity:0}}@keyframes progress-explode{0%{background:linear-gradient(90deg,#53ba5f,#79d984)}20%{background:linear-gradient(90deg,#fff,#d9ffdf);box-shadow:0 0 50px #fff,0 0 100px #53ff6b}to{opacity:0}}@keyframes percentage-explode{0%{transform:scale(1);opacity:1}20%{transform:scale(2);color:#fff;text-shadow:0 0 20px rgba(255,255,255,1),0 0 40px rgba(83,255,107,1)}to{transform:scale(0);opacity:0}}@keyframes shockwave-expand{0%{width:0;height:0;opacity:0;border-width:15px}15%{opacity:.9}to{width:calc(15vw * (1 + var(--wave-index)));height:calc(15vh * (1 + var(--wave-index)));border-width:1px;opacity:0}}@keyframes shockwave-expand-ultra{0%{width:0;height:0;opacity:0;border-width:20px}20%{opacity:1}to{width:250vw;height:250vh;border-width:1px;opacity:0}}@keyframes particle-explode{0%{transform:translate(-50%,-50%) rotate(var(--angle)) scale(0);width:4px;height:4px;opacity:0}10%{opacity:1;width:var(--size);height:var(--size);box-shadow:0 0 30px #53ff6b}to{transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--distance)) rotate(var(--rotation)) scale(0);opacity:0}}@keyframes particle-explode-ultra{0%{transform:translate(-50%,-50%) rotate(var(--angle)) scale(0);width:4px;height:4px;opacity:0}10%{opacity:1;width:calc(var(--size) * 1.5);height:calc(var(--size) * 1.5);box-shadow:0 0 50px #53ff6b,0 0 80px #53ff6b80}to{transform:translate(-50%,-50%) rotate(var(--angle)) translate(calc(var(--distance) * 1.5)) rotate(calc(var(--rotation) * 1.5)) scale(0);opacity:0}}@keyframes ray-shoot{0%{height:0;width:2px;opacity:0;transform:translate(-50%) rotate(var(--ray-angle)) scaleY(0)}15%{opacity:var(--ray-opacity);width:var(--ray-width)}to{height:200vh;width:var(--ray-width);opacity:0;transform:translate(-50%) rotate(var(--ray-angle)) scaleY(1)}}@keyframes ray-shoot-ultra{0%{height:0;width:4px;opacity:0;transform:translate(-50%) rotate(var(--ray-angle)) scaleY(0)}20%{opacity:1;width:calc(var(--ray-width) * 3)}to{height:300vh;width:calc(var(--ray-width) * 3);opacity:0;transform:translate(-50%) rotate(var(--ray-angle)) scaleY(1.5)}}.custom-loader.exploding .explosion-flash{animation:mega-flash .8s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .explosion-core{animation:core-explosion 1s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .logo-text,.custom-loader.exploding .logo-img img{animation:logo-mega-explosion .6s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .loader-text h1,.custom-loader.exploding .loader-text p{animation:text-mega-explosion .5s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .progress-container{animation:progress-container-explode .4s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .progress-bar{animation:progress-explode .4s cubic-bezier(.1,0,.9,1) forwards}.custom-loader.exploding .progress-percentage{animation:percentage-explode .6s cubic-bezier(.2,.4,.9,1) forwards}.custom-loader.exploding .shockwave{animation:shockwave-expand 1s cubic-bezier(.1,0,.9,1) forwards;animation-delay:var(--wave-delay)}.custom-loader.exploding .explosion-particle{animation:particle-explode var(--duration) cubic-bezier(.1,0,.9,1) forwards;animation-delay:var(--delay)}.custom-loader.exploding .explosion-ray{animation:ray-shoot 1s cubic-bezier(.1,0,.9,1) forwards;animation-delay:var(--ray-delay)}.custom-loader.ultra-explosion .shockwave{animation:shockwave-expand-ultra .8s cubic-bezier(.1,0,.9,1) forwards;animation-delay:calc(var(--wave-delay) * .5)}.custom-loader.ultra-explosion .explosion-particle{animation:particle-explode-ultra var(--duration) cubic-bezier(.1,0,.9,1) forwards;animation-delay:calc(var(--delay) * .5)}.custom-loader.ultra-explosion .explosion-ray{animation:ray-shoot-ultra .8s cubic-bezier(.1,0,.9,1) forwards;animation-delay:calc(var(--ray-delay) * .5)}@media (max-width: 768px){.loader-text h1{font-size:2.2rem}.loader-text p{font-size:1.3rem}.logo-text{font-size:4rem}.logo-img{width:150px;height:150px}.logo-img img{width:120px;height:120px}}@media (max-width: 480px){.loader-text h1{font-size:1.8rem;margin-bottom:15px}.loader-text p{font-size:1.1rem}.logo-text{font-size:3.5rem}.progress-container{height:12px}.logo-img{width:120px;height:120px;margin-bottom:20px}.logo-img img{width:90px;height:90px}.loader-content{padding:20px}}.custom-loader.exploding .explosion-flash,.custom-loader.exploding .explosion-core,.custom-loader.exploding .shockwaves-container,.custom-loader.exploding .particles-container,.custom-loader.exploding .rays-container{visibility:visible!important;opacity:1!important}.private-stats-container{max-width:600px;margin:50px auto;padding:30px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;font-family:Arial,sans-serif;box-shadow:0 10px 30px #0000004d}.private-stats-header{text-align:center;margin-bottom:30px;font-size:2rem;font-weight:700}.private-stats-card{background:#ffffff1a;padding:20px;border-radius:10px;margin-bottom:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.private-stats-number{font-size:3rem;font-weight:700;color:#4caf50;text-align:center;margin:10px 0}.private-stats-label{text-align:center;opacity:.9;font-size:1.1rem}.private-stats-owner-status{padding:15px;border-radius:8px;margin-bottom:20px;text-align:center;font-weight:700}.private-stats-owner-status.active{background:#4caf5033;border:1px solid #4caf50}.private-stats-owner-status.inactive{background:#f4433633;border:1px solid #f44336}.private-stats-toggle{color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:700;width:100%;margin-bottom:15px;transition:all .3s ease}.private-stats-toggle.owner-mode{background:#4caf50}.private-stats-toggle.visitor-mode{background:#f44336}.private-stats-toggle:hover{opacity:.8}.private-stats-refresh-btn{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:700;width:100%;margin-top:10px;transition:all .3s ease}.private-stats-refresh-btn:hover{background:#45a049}.private-stats-info{background:#ffffff1a;padding:15px;border-radius:8px;font-size:.9rem;opacity:.8;margin-top:20px}.private-stats-loading{text-align:center;font-size:1.2rem;opacity:.8}
