header[data-v-f19be5a1]{background:#fff;border-radius:0 0 16px 16px;box-shadow:0 2px 8px #0000000a;width:100%;position:relative;z-index:100}.navbar[data-v-f19be5a1]{display:flex;justify-content:center;align-items:center;padding:0 32px;height:70px;max-width:1200px;margin:0 auto;position:relative}.navbar-left[data-v-f19be5a1]{display:flex;align-items:center;gap:15px;position:absolute;left:32px}.logo[data-v-f19be5a1]{width:40px;height:40px;border-radius:50%;background:#f5f8fa;object-fit:cover}.toggle[data-v-f19be5a1]{width:40px;height:24px;background:#add8e6;border-radius:12px;position:relative;cursor:pointer;transition:background .3s}.toggle-circle[data-v-f19be5a1]{width:20px;height:20px;background:url(/img/weather.png) no-repeat center center;background-size:cover;border-radius:50%;position:absolute;left:2px;top:2px;transition:left .3s,background .3s}.toggle.active[data-v-f19be5a1]{background-color:gray}.toggle.active .toggle-circle[data-v-f19be5a1]{left:18px;background:url(/img/moon.png) no-repeat center center;background-color:#fff;background-size:cover}.navbar-links[data-v-f19be5a1]{display:flex;gap:30px;list-style:none;padding:0;margin:0}.navbar-links a[data-v-f19be5a1]{color:#222;text-decoration:none;font-size:1.1rem;font-weight:500;padding-bottom:5px;position:relative;transition:color .3s}.navbar-links a[data-v-f19be5a1]:after{content:"";display:block;height:3px;width:0;background:#3f51b5;border-radius:2px;position:absolute;left:0;bottom:0;transition:width .3s}.navbar-links a[data-v-f19be5a1]:hover:after,.navbar-links a.page_courante[data-v-f19be5a1]:after{width:100%}.navbar-links a.page_courante[data-v-f19be5a1]{color:#3f51b5}body.dark-theme{background:#222}body.dark-theme{color:#3f51b5}@media(max-width:768px){.navbar[data-v-f19be5a1]{flex-direction:column;height:auto;padding:15px;gap:15px}.navbar-left[data-v-f19be5a1]{position:static;align-self:center;margin-bottom:5px}.navbar-links[data-v-f19be5a1]{width:100%;justify-content:center;gap:20px;border-top:1px solid rgba(0,0,0,.1);padding-top:15px}body.dark-theme{border-top:1px solid rgba(255,255,255,.1)}}footer[data-v-653975dc]{margin-top:100px;position:relative;width:100%;background:#3586ff;min-height:150px;display:flex;justify-content:center;align-items:center;flex-direction:column;padding-bottom:20px;padding-top:50px}.footer-top[data-v-653975dc]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 24px;width:100%;z-index:1001;position:relative;gap:15px}.contact-link[data-v-653975dc],.footer-update[data-v-653975dc]{color:#fff;text-decoration:none;font-weight:300;margin:0}.contact-link[data-v-653975dc]{font-size:1.1rem;font-weight:500}.footer-update[data-v-653975dc]{font-size:.8rem;opacity:.8}.social-icon[data-v-653975dc]{display:flex;gap:20px;list-style:none;padding:0;margin:0}.social-icon__item img[data-v-653975dc]{width:30px;transition:transform .3s}.social-icon__item img[data-v-653975dc]:hover{transform:scale(1.2)}.wave[data-v-653975dc]{position:absolute;top:-100px;left:0;width:100%;height:100px;background:url(/img/wave.png);background-size:1000px 100px}.wave#wave1[data-v-653975dc]{z-index:1000;opacity:1;bottom:0;animation:animateWaves-653975dc 4s linear infinite}.wave#wave2[data-v-653975dc]{z-index:999;opacity:.5;bottom:10px;animation:animate-653975dc 4s linear infinite!important}.wave#wave3[data-v-653975dc]{z-index:1000;opacity:.2;bottom:15px;animation:animateWaves-653975dc 3s linear infinite}.wave#wave4[data-v-653975dc]{z-index:999;opacity:.7;bottom:20px;animation:animate-653975dc 3s linear infinite}@keyframes animateWaves-653975dc{0%{background-position-x:1000px}to{background-position-x:0px}}@keyframes animate-653975dc{0%{background-position-x:-1000px}to{background-position-x:0px}}html,body{width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif;background-color:#fff!important}.titrepresentation{display:flex;align-items:center;position:relative;justify-content:flex-start;margin-top:50px;text-align:center}.titrepresentation img{width:100%;height:300px;object-fit:cover;display:block}.titrepresentation-text{position:absolute;top:50%;right:5%;transform:translateY(-50%);width:350px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;pointer-events:none}.titrepresentation-text h1,.titrepresentation-text h2{background:#000000b3;color:#fff;font-family:Georgia,sans-serif;margin:0 0 10px;padding:10px 20px;width:100%;text-align:right;border-radius:8px;pointer-events:auto}.presentation-container{display:flex;align-items:stretch;max-width:1100px;margin:0 auto;width:100%;min-height:600px;gap:0}.profil,.droite{flex:1 1 0;display:flex;flex-direction:column;justify-content:flex-start;background:#f5f8fa;padding:24px;border-radius:8px;box-sizing:border-box;margin-top:50px}.profil .profil-header{display:block;width:50%;height:auto;object-fit:contain;border-radius:8px;margin:0 auto 30px}.barre-verticale{width:3px;background:#b0bec5;height:auto;min-height:400px;align-self:stretch;margin:50px 30px 0;border-radius:2px}.droite{gap:32px;margin-left:0}.competences,.passions{background:#f5f8fa;padding:24px;border-radius:8px;width:100%;box-sizing:border-box;flex:1 1 0;display:flex;flex-direction:column}.competences h2,.passions h2,.profil h2{font-size:1.8rem;margin-bottom:20px;text-align:center;color:#333}.competences-generales{text-align:left;margin-left:20px;list-style-type:disc;padding-left:20px}.competences-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:20px;justify-items:center;margin-top:20px}.icon{width:80px;height:80px;display:flex;justify-content:center;align-items:center;border:2px solid #ccc;border-radius:8px;transition:transform .3s ease,box-shadow .3s ease;background:#fff}.icon:hover{transform:scale(1.1);box-shadow:0 4px 8px #0003}.icon img{max-width:60%;max-height:60%}.btn-cv{display:flex;justify-content:center;align-items:center;margin:20px auto;width:100%;max-width:400px;padding:10px 20px;background:#b0bec5;color:#222;border:none;border-radius:5px;text-decoration:none;font-weight:700;cursor:pointer;transition:background .2s}.btn-cv:hover{background:#90a4ae}.parcours-container{display:flex;justify-content:center;align-items:flex-start;gap:40px;margin:60px auto 0;width:90%;max-width:900px}.parcours-col{flex:1;text-align:center;padding:0 24px}.parcours-col ul{padding-left:0;list-style:none}.parcours-col li{text-align:left;margin-bottom:15px;line-height:1.6}.barre-verticale-parcours{width:2px;background:#b0bec5;min-height:320px;align-self:stretch;margin:0 16px;border-radius:2px}.barre-horizontale{height:3px;background:#b0bec5;width:100%;max-width:1100px;margin:40px auto;border-radius:2px}@media(max-width:800px){.parcours-container{flex-direction:column;gap:0}.barre-verticale-parcours{display:none}}.onglets-projets{display:flex;justify-content:center;align-items:center;gap:32px;margin:32px 0}.onglet{background:none;border:none;font-size:1.1rem;color:#222;padding:8px 16px;cursor:pointer;border-radius:10px;border-bottom:2px solid transparent;transition:border-color .3s,color .3s}.onglet.actif{color:#3f51b5;border-bottom:2.5px solid #3f51b5}.projets-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:1100px;margin:40px auto;justify-items:stretch;padding:0 20px}.projet-lien{text-decoration:none;display:flex;height:100%;color:inherit}.projet-card{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;height:100%;box-shadow:0 4px 12px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(0,0,0,.05)}.projet-card:hover{transform:translateY(-8px);box-shadow:0 12px 20px #0000001a}.projet-icone{width:80px;height:80px;margin-bottom:16px;object-fit:contain}.projet-card h3{font-size:1.2rem;font-weight:700;color:#222;margin-bottom:8px;min-height:50px;display:flex;align-items:center;justify-content:center}.projet-card .projet-date{font-size:.9rem;color:#555;margin-bottom:16px}.projet-card .projet-description{font-size:1rem;color:#444;line-height:1.4;flex-grow:1;display:flex;align-items:flex-start;justify-content:center}.container-projet{max-width:900px;margin:0 auto;padding:20px}.presentation-projet{display:flex;align-items:stretch;gap:20px;margin-bottom:20px;min-height:200px}.presentation-part{flex:1;text-align:justify}.barre-verticale-projet{width:2px;background-color:#b0bec5;min-height:100%}.objectif-technologies{display:flex;justify-content:space-between;margin-top:20px;gap:20px}.objectif,.technologies{flex:1;padding:15px;border-radius:8px}.fonctions{margin-top:20px;background-color:#f5f5f5;padding:15px;border-radius:8px}.realisation-content{display:flex;align-items:center;gap:20px;margin-top:20px}.realisation-content img{width:50%;border-radius:8px;cursor:pointer}.buttons{display:flex;justify-content:center;gap:20px;margin-top:20px}.btn-github,.btn-retour{display:inline-block;padding:10px 20px;background-color:#333;color:#fff;text-decoration:none;border-radius:5px;font-weight:700}body.dark-theme{background-color:#181818!important;color:#f5f5f5}body.dark-theme header{background:#222}body.dark-theme .navbar-links a{color:#f5f5f5!important}body.dark-theme .navbar-links a.page_courante{color:#3f51b5!important}body.dark-theme .profil,body.dark-theme .competences,body.dark-theme .passions,body.dark-theme .onglets-projets button,body.dark-theme .fonctions,body.dark-theme .realisation{background:#23272b;color:#f5f5f5}body.dark-theme .projet-card{background:#23272b;border-color:#444}body.dark-theme .projet-card h3{color:#fff}body.dark-theme .projet-card .projet-date{color:#ccc}body.dark-theme .projet-card .projet-description{color:#ddd}body.dark-theme .fonctions h3,body.dark-theme .realisation h3{color:#fff}body.dark-theme .fonctions-list li{color:#ddd}body.dark-theme h1,body.dark-theme h2{color:#fff}.popup{display:flex;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#000000e6;justify-content:center;align-items:center}.popup-content{max-width:90%;max-height:90%;border-radius:8px}.close-popup{position:absolute;top:20px;right:30px;color:#fff;font-size:40px;font-weight:700;cursor:pointer;z-index:2001}.technologies-icons{display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:flex-start;margin-top:15px}.technologies-icons .icon{width:60px;height:60px}@media(max-width:900px){.titrepresentation img{height:200px}.titrepresentation-text{width:90%;right:auto;left:50%;top:50%;transform:translate(-50%,-50%);align-items:center;text-align:center}.titrepresentation-text h1,.titrepresentation-text h2{width:100%;text-align:center;font-size:1.2rem;padding:10px;background:#0009}.presentation-container{flex-direction:column;height:auto;padding:0 15px;gap:0}.barre-verticale{display:none}.profil,.droite{width:100%;margin-top:20px;padding:20px;flex:none}.profil{border-bottom:2px solid #b0bec5;margin-bottom:20px}.profil .profil-header{width:150px;height:150px;margin:0 auto 20px}.competences-icons{grid-template-columns:repeat(4,1fr);gap:15px}.icon{width:60px;height:60px}.btn-cv{width:90%;margin:30px auto}}@media(max-width:450px){.competences-icons{grid-template-columns:repeat(3,1fr)}.titrepresentation-text h1{font-size:1.1rem}.titrepresentation-text h2{font-size:.9rem}}.competences-icons[data-v-3eff6e75]{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:20px}.competences-icons .icon[data-v-3eff6e75]{background-color:#000;width:60px;height:60px;display:flex;justify-content:center;align-items:center;border-radius:8px;transition:transform .3s ease}.competences-icons .icon[data-v-3eff6e75]:hover{transform:translateY(-5px)}.competences-icons .icon a[data-v-3eff6e75]{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.competences-icons .icon img[data-v-3eff6e75]{width:40px;height:40px;object-fit:contain}.projets-container[data-v-27ed883d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:1100px;margin:40px auto 120px;align-items:stretch}.projet-lien[data-v-27ed883d]{text-decoration:none;display:flex;height:100%;color:inherit}.projet-card[data-v-27ed883d]{background:#fff;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;height:80%;box-shadow:0 4px 12px #0000001a;border:1px solid rgba(255,255,255,.1);transition:transform .3s ease,box-shadow .3s ease}.projet-card[data-v-27ed883d]:hover{transform:translateY(-5px);box-shadow:0 8px 16px #00000026}.projet-description[data-v-27ed883d]{flex-grow:1;display:flex;align-items:center;justify-content:center}body.dark-theme{background:#2a2e33;border-color:#444;color:#f5f5f5}.popup[data-v-33df78d1]{display:flex}.project-status[data-v-33df78d1]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-33df78d1]{width:25px;height:25px;object-fit:contain}.popup[data-v-d723a9f1]{display:flex}.project-status[data-v-d723a9f1]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-d723a9f1]{width:25px;height:25px;object-fit:contain}.popup[data-v-8d4aa0c3]{display:flex}.project-status[data-v-8d4aa0c3]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-8d4aa0c3]{width:25px;height:25px;object-fit:contain}.popup[data-v-17e931cf]{display:flex}.status-icon[data-v-17e931cf]{width:25px;height:25px;object-fit:contain}.project-status[data-v-17e931cf]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.popup[data-v-1afb847f]{display:flex}.project-status[data-v-1afb847f]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-1afb847f]{width:25px;height:25px;object-fit:contain}.popup[data-v-19055c45]{display:flex}.project-status[data-v-19055c45]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-19055c45]{width:25px;height:25px;object-fit:contain}.popup[data-v-095eacd3]{display:flex}.project-status[data-v-095eacd3]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-095eacd3]{width:25px;height:25px;object-fit:contain}.popup[data-v-51dff65f]{display:flex}.project-status[data-v-51dff65f]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-51dff65f]{width:25px;height:25px;object-fit:contain}.btn-github.disabled[data-v-51dff65f]{pointer-events:none;opacity:.6;cursor:not-allowed;text-decoration:none}.popup[data-v-b5030d46]{display:flex}.project-status[data-v-b5030d46]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}.status-icon[data-v-b5030d46]{width:25px;height:25px;object-fit:contain}.popup[data-v-121b28f9]{display:flex}.project-status[data-v-121b28f9]{display:flex;align-items:center;gap:10px;margin-top:15px;font-weight:700}body.dark-theme{color:#f5f5f5}.status-icon[data-v-121b28f9]{width:25px;height:25px;object-fit:contain}.btn-github.disabled[data-v-121b28f9]{pointer-events:none;opacity:.6;cursor:not-allowed;text-decoration:none}.error-content[data-v-1c60bf22]{text-align:center;padding:40px 20px;max-width:800px;margin:0 auto}.error-title[data-v-1c60bf22]{color:#d9534f;margin-bottom:20px;font-size:2em}.contact-box[data-v-1c60bf22]{margin-top:40px;padding:20px;background-color:#f9f9f9;border-radius:8px;border:1px solid #ddd}body.dark-theme{background-color:#2a2e33;border-color:#444}p[data-v-1c60bf22]{font-size:1.1em;line-height:1.6;margin-bottom:15px}.contact-intro[data-v-7745494e]{text-align:center;margin-bottom:30px}.contact-intro p[data-v-7745494e]{max-width:600px;margin:15px auto 0;line-height:1.6}.form-container[data-v-7745494e]{max-width:700px;margin:0 auto;padding:20px}.contact-form[data-v-7745494e]{display:flex;flex-direction:column;gap:20px}.form-row[data-v-7745494e]{display:flex;justify-content:space-between}.form-row .form-group[data-v-7745494e]{width:48%;flex:none}.form-group[data-v-7745494e]{display:flex;flex-direction:column;gap:8px}label[data-v-7745494e]{font-weight:700;font-size:.95rem;color:#333}input[data-v-7745494e],textarea[data-v-7745494e]{width:100%;box-sizing:border-box;padding:12px 15px;border:1px solid #ccc;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s,box-shadow .3s;background-color:#fff}input[data-v-7745494e]:focus,textarea[data-v-7745494e]:focus{outline:none;border-color:#3586ff;box-shadow:0 0 0 3px #3586ff33}.form-submit[data-v-7745494e]{display:flex;justify-content:center;margin-top:10px}.btn-github[data-v-7745494e]:disabled{opacity:.7;cursor:not-allowed;transform:none}.status-message[data-v-7745494e]{text-align:center;padding:15px;border-radius:8px;margin-top:20px;font-weight:700}.status-message.success[data-v-7745494e]{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.status-message.error[data-v-7745494e]{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.fade-enter-active[data-v-7745494e],.fade-leave-active[data-v-7745494e]{transition:opacity .5s ease}.fade-enter-from[data-v-7745494e],.fade-leave-to[data-v-7745494e]{opacity:0}@media(max-width:600px){.form-row[data-v-7745494e]{flex-direction:column}.form-row .form-group[data-v-7745494e]{width:100%}}input[data-v-7745494e]:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #fff inset!important;-webkit-text-fill-color:#333!important;transition:background-color 5000s ease-in-out 0s}body.dark-theme .contact-form label{color:#f5f5f5!important}body.dark-theme .contact-form input,body.dark-theme .contact-form textarea{background-color:#f5f5f5!important;border-color:#555!important;color:#f5f5f5!important}body.dark-theme .contact-form input:focus,body.dark-theme .contact-form textarea:focus{border-color:#3586ff!important}body.dark-theme .contact-form input::placeholder,body.dark-theme .contact-form textarea::placeholder,body.dark-theme .contact-form input::-webkit-input-placeholder,body.dark-theme .contact-form textarea::-webkit-input-placeholder,body.dark-theme .contact-form input::-moz-placeholder,body.dark-theme .contact-form textarea::-moz-placeholder{color:#000!important;opacity:1!important}body.dark-theme .contact-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px #2a2e33 inset!important;-webkit-text-fill-color:#f5f5f5!important}body.dark-theme .status-message.success{background-color:#28a74533!important;color:#28a745!important;border-color:#28a745!important}body.dark-theme .status-message.error{background-color:#dc354533!important;color:#dc3545!important;border-color:#dc3545!important}
