@import"https://fonts.googleapis.com/css2?family=Cutive+Mono&display=swap";@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{cursor:url(/asset/cursor.png) 0 0,auto}a,button,[role=button],input[type=button],input[type=submit],summary,label,select{cursor:url(/asset/cursor.png) 0 0,pointer}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#333;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;background-color:#111;background-image:url(/assets/background-JfxGx4Qh.png);background-size:cover;background-repeat:no-repeat}html,body,#root{height:100%}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 2rem;display:flex;align-items:center;justify-content:space-between}.navbar-container{max-width:1400px;width:100%;display:flex;justify-content:center;align-items:center;margin:0 auto}.navbar-logo{position:absolute;left:2rem;top:2.6rem;font-family:Cutive Mono,monospace;font-size:1rem;font-weight:600;color:#fff;text-decoration:none;letter-spacing:.5px}.nav-menu{display:flex;list-style:none;gap:.2rem;margin:0;padding:.7rem;background-color:#121413;border:1px solid #434040;border-radius:13px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-item{margin:0}.nav-link{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:400;transition:all .3s ease;font-size:.95rem;padding:.3rem .8rem;border-radius:4px;border:1px solid transparent}.nav-icon{width:1.1rem;height:1.1rem;object-fit:contain;display:block;transition:transform .2s ease}.nav-link.active{background-color:#22242363;border:1px solid transparent}.nav-link:hover{background-color:#222423;border:1px solid #303030;opacity:1}@media(max-width:1024px){.nav-menu{gap:.5rem;padding:.6rem 1rem}.nav-link{gap:.4rem;padding:.4rem .6rem;font-size:.85rem}.nav-icon{width:1rem;height:1rem}}@media(max-width:768px){.navbar-container{flex-direction:column;gap:1rem}.nav-menu{flex-wrap:wrap;gap:.5rem;justify-content:center}}.footer{display:flex;flex-direction:column;align-items:center;background-color:#111;color:#fff;padding:50px;text-align:center}.footer-links{display:flex;gap:40px;margin-bottom:20px}.footer-links a{display:flex;align-items:center;justify-content:center;background-color:#00ffa21c;height:42px;width:42px;border:1px solid #00FFA2;border-radius:8px;cursor:pointer}.contact-footer,.contact-footer a{color:#ffffff8b;text-decoration:none}.copy-footer{color:#ffffff8b;max-width:450px;width:100%;border-top:1px solid rgba(255,255,255,.25);margin-top:20px;padding-top:20px}.linkedin{background-image:url(data:image/png;base64,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);background-size:23px;background-position:center;background-repeat:no-repeat}.github{background-image:url(data:image/png;base64,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);background-size:23px;background-position:center;background-repeat:no-repeat}.twitter{background-image:url(data:image/png;base64,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);background-size:23px;background-position:center;background-repeat:no-repeat}.reddit{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAABDCAYAAADHyrhzAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAACDRJREFUeAHdW91100gUvjMjO9k3UwGiArIV4FRAeN5DHFeQUEGSCoAKYkMBQAWYCggVICrA7O45C5Zm7t6rH5BjaWYky47Ddw44tkbSzKc7918CtoB9vArjWA2FgIdoIESBIf08EABheRwCRPQxFyDmNPYahfggjYzi/l/XsAUI2BCC+PWQlvfYIB7dXHQLRDTVGUjxTgdP38KG0CkZA7wa/J0EpwLNGX+FzSBiYno9ffldjCPoEJ2Qsf8fbQOlzkkSTmCrEJMuSVmLjJIkXMCtohtSWpPBOgHRXMH6+qArRLScS90/nkBLNCYjkwZ1LhDPYCfRXkoakcG6IVHyDZnAA9htRL2eOWxKiDcZmZKU7+H2t8U8/xe6xkkwh3F/7O2jSJ9BvcXVwe0TISa0uD91f3SP/j3QPXMPwIwhc9SqMDAgP6pkOgJPOCVjFySCSBjTE55UHqT5Sdq6wrJ1hZCHSe/pDBywkrELRAiEy2RvdGEdRPNUSn6EekfPa8tYt8ku6IikbybOQX+MI3qqU8sI3jJvgCyhZUw9GTJ+9Rxuh4iInLjLVD+wXvC0CCjlzDEkVLF6YxsQVP2oFq9O4Bb8CGnMs3h//AJaQGAyR6c9wKH8/urM7B9X3mPlbNYTdNI5bBmaJKEtEQwUgVdgKCSec0qh6tgKGYtAncKWtwdLBJSUG7v6JJ3v1WL6tW7iKzD4GPwwoNzKVdWBJWuSW4/PsF1E7DcUX2Q8JVcfLn4eRfFW7x0/sV2gzbyrzO2SZGRh+LZhLou/WFctEcEQeCTj17XzKpn/RkBcVQXixkW3LRWQWwx2ryFYTD9a4p6Io1IJ6lr1FvMkCUID8GidRNJN6fhpTfLkDGwTglN5ORHpw7AHgCHN78pAAiZmgTZrZ6Zy6ZgV30vbBIewZaDBb8XfcS+4hUiY1lxyxFLJCOIrStRs3IJw1pssBn4yxkRCqrlGPSsO6jgh8YcnmEAopQxJbh4iIBO0qVxqit4PdUISmZr0lAxENWq4RbzCaBLja3r870j+ZklvPLONZZda5xGoKf3MEbM2MCSCRo48im9ovwQjgU3yi3y+rMWnn8G5MDEzRr8zezAp9jkjlSojT2jAqDwWhL50EtAUHJBJeVG615wU6MugD5NyIocJNCjPaNwj8Mh7kBJ/wGsSPlbEy02m6wRSPU/6+hl0nMKvupcUcHTzwVSNU4odLLs+LKyKUMnrIzCmNoBZJ17YFbA3ayNEGkFrPH4hhTHD+suIyV0ngqF7mj3YWgkivfGQPyXVM+9bLnIJvwNYH5BuqR+QSY2klH9YedzAu43v/S0i6YNNwlPzLbHGjku2CL8TWDrY1FdjwM4Xe6Bh5WFZv8fuKhBE7Zr2iZAAOgZX3P6liptBHIrs5tN1Sn6MtJRp8JT7OtiL3UQFPr1P3YHcFW4E9ln+iTmc5klnVyEMKQS/b3pPWyljNv3Ipl8UITYexLE8IYK80v/LsK+pNmlIIvUQGiLPh4Q3f+cqfda80hAcRBnzvPJQVvT2Bnul4IhzmIyo+hAOGy0gjf4s/RlojqAhlA6GUO9Oh03mZyBNZ9bie1pbsSBl31FrKF3NOo57uaAhhDZWsa51C24gzfa7GmnI2pAFFbYqUyhJB3gnZTsGbS+rRTOonRYv7y17br1PbnLZ6friGMgK633GrgVZVaueWGneQkOgAtuDAt23H5eL6SlJN+dHXVKbckBOl/Ap2YesFFxbBqWpsxiUAa8pHFuQpgAoO151jIh/6fKQacwFeIDbLPlTav0r2+TCvoNhHYzfcmlw6UbkyVK+4BBaQvf1mEzbdPma8DLpj86sJ2YPzkvfIZjr/Lppcuerz4mkYMaxjwNFEwkSOKC0/7xJs4gVnC8JIEwCeoq2HEaOLJXpV0IoMvSZ04UclIGzqYNT8/QxcY3jCyelrHMnIJ2U1DemrAKllykvZ+hTMoQ0E2LRo8MFj+ipP/N5MmWQRj/HzAyG5NmG2SSgUozLLdP0ZS4kREnv+Bk0BF3Hq9woODov5sn/seipOA3MXFtlECzkWeKpmAoYTL4JoDwpuFuFfrVWYzbYQGM3PvcrQp+x8Z7+qaAzpysLb6c+J6OAU29HLIfpc7asRUqAFKeza6f6RK8yab5FouL7Tw+U6lQT8MNALVSjuICRp94i7xOICL03OoGGaNJkg6iXsl+/3PFU63s+PUcxuPqc8Vzr1MRGrqGchG5FBDlZDZp1I703XvJhlmITIfxznhyJNiaEC0X90YPcF4lWrsk+ScumFW5xFAANzlt1EFf0mfoxnfiY2QIo5EXbXEXqCwgYsD/i6z9UIZWIRkQs94QUWFXupBxVnBaVGijJbl918EXbPva8ghbd/H01hKeng2AaPmk88QrmOgRHo5RV+9iUCO4rrYtpas2++vHqDStKaI5o3VcdbMhe7WDT2aqFonJ7FKj3gbLtwl23IbRDJISgwE1N133hjvMpiyQYcbZMtH+jIUoDRstWtjuE7jZk74mw2aa8wSepxHUQJFGdfuGF67g/MKAP+G3Hjl74I0tpDl1dAS7vOCvvQ0rIJkD66Vd9potFV8G3eO4kg0GK8Wr7L+N1A69G/GKsa4CrZWGX0bSdwkpGvkWcOcQdxJx0xJOmnUO1ZNxVIjgpnfTME+jqhb07TIQ7N2pB5VsF6Ysqd4iIIsBbh4jsOiXs0BuKXui6q3CpCp+3TIew49hUa+VySwJSQO3leWwfKQGoP6TtSC1DfReWyNDGXJD77dNIukmknb4CqdIn8AtV6WZawWxTBJRRKQe3VWjmtoBtLLoO/wNsDQL3KTZumQAAAABJRU5ErkJggg==);background-size:23px;background-position:center;background-repeat:no-repeat}:root{--loading-bg-dark: #111111;--loading-text-teal: #00ffb3;--loading-text-green: #00FFA2;--loading-crt-flicker: rgba(0, 255, 85, .02)}.loading-screen,.loading-screen *{box-sizing:border-box}.loading-screen{position:fixed;inset:0;z-index:9999;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--loading-bg-dark);color:var(--loading-text-green);font-family:Share Tech Mono,monospace}.loading-screen:before{content:"";position:absolute;inset:0;z-index:100;pointer-events:none;background:linear-gradient(#12101000 50%,#00000040 50%),linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f);background-size:100% 4px,6px 100%}.loading-screen:after{content:"";position:absolute;inset:0;z-index:101;pointer-events:none;background:radial-gradient(circle,#0000 60%,#0009)}.loading-screen__crt-flicker{position:absolute;inset:0;z-index:99;pointer-events:none;background-color:var(--loading-crt-flicker);animation:loading-flicker .15s infinite}.loading-screen__container{position:relative;z-index:10;display:flex;flex-direction:column;gap:2rem;width:min(92%,900px)}.loading-screen__header{display:flex;flex-direction:column;gap:.5rem}.loading-screen__path{margin:0;color:#888;font-size:.9rem;letter-spacing:2px}.loading-screen__glitch-wrapper{position:relative}.loading-screen__title{margin:0;position:relative;display:inline-block;color:var(--loading-text-teal);font-size:clamp(2rem,5vw,3rem);font-weight:700;text-shadow:0 0 10px rgba(0,255,179,.5)}.loading-screen__glitch:before,.loading-screen__glitch:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:var(--loading-bg-dark)}.loading-screen__glitch:before{left:2px;text-shadow:-2px 0 red;clip:rect(44px,450px,56px,0);animation:loading-glitch-a 5s infinite linear alternate-reverse}.loading-screen__glitch:after{left:-2px;text-shadow:-2px 0 blue;clip:rect(44px,450px,56px,0);animation:loading-glitch-b 5s infinite linear alternate-reverse}.loading-screen__progress-section{display:flex;flex-direction:column;gap:.5rem}.loading-screen__progress-label{margin:0;color:var(--loading-text-teal);font-size:1.1rem}.loading-screen__progress-bar-container{display:flex;align-items:center;gap:0;color:var(--loading-text-green);white-space:pre;font-size:1.15rem}.loading-screen__spinner{display:inline-block;width:20px;color:var(--loading-text-teal)}.loading-screen__progress-percent{width:45px;margin-left:10px;text-align:right}.loading-screen__ascii{position:absolute;top:10%;right:-10%;z-index:1;margin:0;white-space:pre;pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--loading-text-green);font-size:.5rem;line-height:.8;opacity:.05}@keyframes loading-flicker{0%{opacity:.9}50%{opacity:.8}to{opacity:1}}@keyframes loading-glitch-a{0%{clip:rect(10px,9999px,86px,0)}20%{clip:rect(32px,9999px,14px,0)}40%{clip:rect(93px,9999px,64px,0)}60%{clip:rect(12px,9999px,89px,0)}80%{clip:rect(74px,9999px,23px,0)}to{clip:rect(43px,9999px,5px,0)}}@keyframes loading-glitch-b{0%{clip:rect(65px,9999px,100px,0)}20%{clip:rect(12px,9999px,54px,0)}40%{clip:rect(89px,9999px,32px,0)}60%{clip:rect(45px,9999px,87px,0)}80%{clip:rect(21px,9999px,65px,0)}to{clip:rect(98px,9999px,12px,0)}}@media(max-width:768px){.loading-screen__ascii{display:none}.loading-screen__progress-bar-container{font-size:1rem}}.accueil-container{display:flex;min-height:100vh;justify-content:center;align-items:center;width:100%;padding:100px 3rem 5rem;gap:clamp(2rem,4vw,5rem);box-sizing:border-box}.accueil-content{display:flex;flex-direction:column;flex:0 1 500px;min-width:0;gap:20px}.accueil-content h1{font-size:clamp(2rem,4vw,3em);color:#00ffa2;line-height:1.2}.accueil-content>p{font-family:Cutive Mono,monospace;font-size:.9em;font-weight:500;color:#00ffa2a4;max-width:38ch}.name{color:#fff}.background-image{flex:0 1 420px;min-width:0;aspect-ratio:1 / 1;max-height:min(65vh,500px);background-image:url(/assets/bg-BPrTQL5g.gif);background-size:80%;background-position:center;background-repeat:no-repeat;opacity:.7}.buttons{display:flex;flex-wrap:wrap;gap:16px}.buttons a{padding:10px 28px;text-decoration:none;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap}.btn{color:#00ffa2;border:2px solid #00FFA2;transition:background-color .25s,color .25s}.btn:hover{background-color:#00ffa2;color:#000}.btn-secondary{color:#000;border:2px solid #00FFA2;background:linear-gradient(to right,#02c17b 50%,#00ffa2 50%);background-size:200% 100%;background-position:right center;transition:background-position .35s ease,border-color .25s}.btn-secondary:hover{background-position:left center;border-color:#02c17b;color:#000}.accueil-terminal{--term-green: #00FFA2;--term-bg: #0d1a12}.terminal-window{width:100%;height:220px;background-color:var(--term-bg);border:2px solid var(--term-green);box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;overflow:hidden;position:relative;font-family:Courier New,Courier,monospace;color:var(--term-green)}.terminal-window:before{content:" ";display:block;position:absolute;inset:0;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);background-size:100% 3px,3px 100%;z-index:2;pointer-events:none}.terminal-header{background-color:#00ffa2;color:#000;padding:3px 15px;display:flex;gap:25px;font-size:11px;font-weight:700;-webkit-user-select:none;user-select:none;flex-shrink:0;z-index:1}.terminal-header .menu-item:hover{text-decoration:underline;cursor:pointer}.terminal-content{flex:1;padding:12px 15px;font-size:11px;line-height:1.4;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#222 var(--term-bg);z-index:1}.terminal-content::-webkit-scrollbar{width:4px}.terminal-content::-webkit-scrollbar-track{background:var(--term-bg)}.terminal-content::-webkit-scrollbar-thumb{background:#2a2a2a}.terminal-output .line,.terminal-content>.line{margin-bottom:2px;white-space:pre-wrap;word-break:break-all;animation:terminalFadeIn .1s ease-out forwards}.terminal-output .hit{color:var(--term-green)}.terminal-output .get{color:#87ff87}.terminal-output .warn{color:#ffeb3b}.terminal-output .info{color:#00bcd4}.terminal-output .success{color:#4caf50;font-weight:700}.cursor{display:inline-block;width:8px;height:13px;background-color:var(--term-green);animation:terminalBlink 1s step-end infinite;vertical-align:middle;margin-left:3px}@keyframes terminalBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes terminalFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;flex-direction:column;line-height:1.6;background:linear-gradient(180deg,#00ffa212,#00ffa205);border-top:3px solid #00FFA2;max-width:50rem;width:calc(100% - 4rem);margin:0 auto 40px;padding:10px 1em}.section-header h2{font-size:1.5em;color:#fff;margin:0}.section-header p{font-size:.7em;font-weight:500;color:#fff9;margin:0}.skill-section{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0 0 60px;padding:0}.skill-block{border-bottom:1px solid rgba(0,255,162,.1);display:flex;flex-direction:column}.skill-title{display:flex;align-items:center;border:1px solid rgba(0,255,162,.1);padding:1.25rem 1.5rem;min-height:8rem}.skill-title-content{display:flex;flex-direction:column;gap:.35rem}.skill-title-content h3{color:#fff;margin:0;font-size:1rem}.skill-title-content p{font-size:.8rem;color:#ffffff80;line-height:1.5;max-width:260px;margin:0}.skill-chart{border:1px solid rgba(0,255,162,.1);border-top:none;border-bottom:none;padding:1.5rem;display:flex;align-items:center}.left{justify-content:flex-end}.right{justify-content:flex-start}.skill-chart.left,.skill-chart.right{justify-content:center}@media(max-width:900px){.accueil-container{flex-direction:column;align-items:center;padding:110px 2rem 4rem;gap:2rem;min-height:unset}.background-image{flex:none;width:min(70vw,320px);max-height:320px;order:-1}.accueil-content{flex:none;width:100%;max-width:540px;align-items:center;text-align:center}.accueil-content>p{max-width:100%}.buttons{justify-content:center}.skill-section{grid-template-columns:1fr;padding:0 1rem}.skill-title-content p{max-width:100%}.left,.right{justify-content:center}.section-header{width:calc(100% - 2rem)}}@media(max-width:540px){.accueil-container{padding:100px 1.25rem 3rem}.terminal-window{height:190px}.terminal-header{gap:14px}.terminal-content{font-size:10.5px}.buttons{flex-direction:column;width:100%}.buttons a{text-align:center}}.title-bar-container{display:flex;justify-content:center;width:100%;margin-bottom:40px;padding:0 2rem;box-sizing:border-box}.title-bar{display:flex;height:fit-content;max-width:50rem;width:100%;flex-direction:column;line-height:1.6;background:linear-gradient(180deg,#00ffa212,#00ffa205);border-top:3px solid #00FFA2;padding:10px 1em}.title-bar h2{font-size:1.5em;color:#fff;margin:0}.title-bar p{font-size:.7em;font-weight:500;color:#fff9;margin:0}.parcours-page{position:relative;width:100%;min-height:100vh;padding-top:105px;padding-bottom:5rem;color:#e8f6f0}.parcours-scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,255,162,.016) 3px,rgba(0,255,162,.016) 4px);pointer-events:none;z-index:0}.parcours-content{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 2rem}.parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.parcours-col{display:flex;flex-direction:column;gap:0}.col-header{margin-bottom:2rem}.col-header__eyebrow{display:block;font-family:Cutive Mono,monospace;font-size:.72rem;color:#00ffa2;letter-spacing:.2em;margin-bottom:.3rem}.col-header__title{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;color:#fff;margin:0;line-height:1.1}.timeline{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding-left:2rem;border-left:1px solid rgba(0,255,162,.18)}.timeline:after{content:"";position:absolute;bottom:0;left:-1px;width:1px;height:4rem;background:linear-gradient(to bottom,rgba(0,255,162,.18),transparent)}.timeline-item{position:relative}.timeline-dot{position:absolute;left:calc(-2rem - 4px);top:1.1rem;width:9px;height:9px;border-radius:50%;background:#00ffa24d;border:1px solid rgba(0,255,162,.4);z-index:1}.timeline-dot--active{background:#00ffa2;border-color:#00ffa2;box-shadow:0 0 0 3px #00ffa226;animation:dot-pulse 2.5s ease-in-out infinite}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 3px #00ffa226,0 0 6px #00ffa266}50%{box-shadow:0 0 0 6px #00ffa214,0 0 14px #00ffa299}}.ticket{position:relative;overflow:hidden;background:#08120ee0;border:1px solid rgba(0,255,162,.1);border-radius:.65rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s,transform .22s;cursor:default}.ticket:hover{border-color:#00ffa261;box-shadow:0 0 0 1px #00ffa20f,0 0 30px #00ffa212,0 10px 40px #0006;transform:translate(5px)}.ticket--active{border-color:#00ffa22e}.ticket:after{content:"";position:absolute;left:0;top:0;width:100%;height:55px;background:linear-gradient(180deg,transparent 0%,rgba(0,255,162,.07) 50%,transparent 100%);transform:translateY(-100%);pointer-events:none}.ticket:hover:after{animation:ticket-scan .7s ease-in-out}@keyframes ticket-scan{0%{transform:translateY(-100%)}to{transform:translateY(2000%)}}.ticket__top-bar{display:flex;align-items:center;justify-content:space-between;padding:.45rem 1rem;background:#00000047;border-bottom:1px solid rgba(0,255,162,.08)}.ticket__id{font-family:Cutive Mono,monospace;font-size:.62rem;letter-spacing:.16em;color:#00ffa273}.ticket__status{display:flex;align-items:center;gap:.35rem;font-family:Cutive Mono,monospace;font-size:.6rem;font-weight:700;letter-spacing:.14em;color:#e8f6f04d}.ticket__status--active{color:#00ffa2}.ticket__body{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.65rem}.ticket__header{display:flex;flex-direction:column;gap:.2rem}.ticket__title{margin:0;font-size:.95rem;font-weight:700;color:#fff;line-height:1.3}.ticket__subtitle{margin:0;font-size:.72rem;color:#e8f6f073;font-family:Cutive Mono,monospace}.ticket__institution{font-size:.85rem;font-weight:600;color:#00ffa2;letter-spacing:.02em}.ticket__badges{display:flex;flex-wrap:wrap;gap:.4rem}.ticket__badge{display:inline-flex;align-items:center;gap:.35rem;font-family:Cutive Mono,monospace;font-size:.62rem;color:#e8f6f080;background:#ffffff08;border:1px solid rgba(232,246,240,.1);border-radius:20px;padding:.18rem .6rem;white-space:nowrap}.ticket__badge-icon{font-size:.7rem;color:#00ffa280}.ticket__badge--type{color:#00ffa2b3;border-color:#00ffa233;background:#00ffa20d}.ticket__desc{margin:0;font-size:.78rem;color:#e8f6f07a;line-height:1.65;padding-top:.2rem;border-top:1px solid rgba(255,255,255,.05)}.ticket__skills{display:flex;flex-wrap:wrap;gap:.4rem}.ticket__skill-tag{font-family:Cutive Mono,monospace;font-size:.62rem;color:#00ffa2;border:1px solid rgba(0,255,162,.3);border-radius:4px;padding:.15rem .5rem;background:#00ffa20f}@media(max-width:860px){.parcours-grid{grid-template-columns:1fr;gap:3.5rem}.ticket:hover{transform:translate(3px)}}@media(max-width:540px){.parcours-page{padding-top:95px;padding-bottom:3rem}.parcours-content{padding:0 1rem}.timeline{padding-left:1.5rem}.timeline-dot{left:calc(-1.5rem - 4px)}}.projet-page{position:relative;width:100%;min-height:100vh;padding:100px 2rem 4rem;color:#e8f6f0;overflow:hidden}.projet-scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,255,162,.016) 3px,rgba(0,255,162,.016) 4px);pointer-events:none;z-index:0}.projet-header{position:relative;z-index:1;max-width:1200px;margin:0 auto 2.5rem}.projet-header__eyebrow{font-family:Cutive Mono,monospace;font-size:.75rem;color:#00ffa2;letter-spacing:.2em;margin-bottom:.5rem}.projet-header__title{font-size:clamp(2rem,4vw,3.2rem);color:#fff;line-height:1;margin:0 0 .5rem}.projet-header__title span{color:#00ffa2}.projet-header__desc{font-size:.9rem;color:#e8f6f080;margin:0}.projet-dashboard{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:320px 1fr;gap:1.25rem;align-items:start}.projet-sidebar{border:1px solid rgba(0,255,162,.14);background:#08120ee0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:.75rem;overflow:hidden}.projet-sidebar__label{font-family:Cutive Mono,monospace;font-size:.65rem;letter-spacing:.22em;color:#00ffa2;padding:.7rem 1rem;border-bottom:1px solid rgba(0,255,162,.1);background:#00ffa20a}.projet-list{list-style:none;margin:0;padding:.5rem;display:flex;flex-direction:column;gap:.2rem}.projet-item{all:unset;width:100%;box-sizing:border-box;display:flex;overflow:hidden;border-radius:.5rem;border:1px solid transparent;cursor:pointer;transition:border-color .2s,background .2s}.projet-item:hover{border-color:#00ffa22e;background:#00ffa20f}.projet-item--active{border-color:#00ffa252;background:#00ffa214}.projet-item__active-bar{width:3px;flex-shrink:0;background:transparent;transition:background .2s,box-shadow .2s}.projet-item--active .projet-item__active-bar{background:#00ffa2;box-shadow:0 0 8px #00ffa2b3}.projet-item__content{padding:.8rem .85rem;flex:1;min-width:0}.projet-item__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.45rem}.projet-item__tag{font-family:Cutive Mono,monospace;font-size:.62rem;color:#00ffa2;border:1px solid rgba(0,255,162,.38);border-radius:20px;padding:.08rem .45rem;background:#00ffa20f;white-space:nowrap}.projet-item__title{font-size:.88rem;font-weight:700;color:#fff;margin-bottom:.2rem}.projet-item__desc{font-size:.72rem;color:#e8f6f073;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.projet-display{position:sticky;top:100px}.browser-window{border:1px solid rgba(0,255,162,.14);background:#08120ef0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:.75rem;overflow:hidden;box-shadow:0 0 70px #0000008c}.browser-bar{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;background:#00ffa20a;border-bottom:1px solid rgba(0,255,162,.1)}.browser-dots{display:flex;gap:.38rem;flex-shrink:0}.browser-dot{width:10px;height:10px;border-radius:50%;display:block}.browser-dot--red{background:#ff5f57}.browser-dot--yellow{background:#febc2e}.browser-dot--green{background:#28c840}.browser-url{flex:1;min-width:0;font-family:Cutive Mono,monospace;font-size:.7rem;color:#e8f6f066;background:#00000052;padding:.28rem .7rem;border-radius:4px;border:1px solid rgba(255,255,255,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.browser-open-btn{flex-shrink:0;font-family:Cutive Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.08em;color:#00ffa2;border:1px solid rgba(0,255,162,.4);border-radius:4px;padding:.28rem .7rem;text-decoration:none;background:#00ffa214;transition:background .2s,box-shadow .2s}.browser-open-btn:hover{background:#00ffa22e;box-shadow:0 0 14px #00ffa24d}.browser-content{height:480px;display:flex;align-items:stretch;overflow:hidden;position:relative}.browser-preview-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:stretch;background:#080f0b}.browser-preview-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;opacity:0;transition:opacity .4s ease}.browser-preview-img--ready{opacity:1}.browser-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#08120ef7}.browser-error__icon{font-size:2rem;color:#febc2e;filter:drop-shadow(0 0 8px rgba(254,188,46,.4))}.browser-error__text{font-family:Cutive Mono,monospace;font-size:.85rem;color:#e8f6f080;margin:0}.browser-error__link{font-family:Cutive Mono,monospace;font-size:.75rem;color:#00ffa2;border:1px solid rgba(0,255,162,.4);border-radius:4px;padding:.35rem .9rem;text-decoration:none;background:#00ffa214;transition:background .2s}.browser-error__link:hover{background:#00ffa22e}.browser-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#08120ef5;z-index:2;pointer-events:none}.browser-loading__spinner{display:block;width:32px;height:32px;border:2px solid rgba(0,255,162,.15);border-top-color:#00ffa2;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.browser-loading__text{font-family:Cutive Mono,monospace;font-size:.72rem;color:#00ffa299;letter-spacing:.1em}.project-info-strip{margin-top:1rem;display:flex;gap:1.5rem;align-items:flex-start;border:1px solid rgba(0,255,162,.12);background:#08120ee0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:.75rem;padding:1.25rem 1.5rem;animation:fade-in .2s ease}.project-info-strip__left{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.project-info-strip__meta{display:flex;align-items:center;gap:.75rem}.project-info-strip__status{font-family:Cutive Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.1em}.project-info-strip__year{font-family:Cutive Mono,monospace;font-size:.7rem;color:#e8f6f061}.project-info-strip__title{margin:0;font-size:1.05rem;font-weight:700;color:#fff}.project-info-strip__details{margin:0;font-size:.8rem;color:#e8f6f08c;line-height:1.65}.project-info-strip__stack{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.project-info-strip__stack-label{font-family:Cutive Mono,monospace;font-size:.65rem;color:#00ffa2;letter-spacing:.12em}.project-info-strip__stack-tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.project-info-strip__stack-tag{font-family:Cutive Mono,monospace;font-size:.68rem;color:#e8f6f0bf;border:1px solid rgba(0,255,162,.14);border-radius:4px;padding:.18rem .55rem;background:#ffffff08;white-space:nowrap}.browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:4rem 2rem;gap:1.25rem}.globe-icon{width:96px;height:96px;color:#00ffa2;animation:globe-pulse 3s ease-in-out infinite}@keyframes globe-pulse{0%,to{opacity:.65;filter:drop-shadow(0 0 8px rgba(0,255,162,.3))}50%{opacity:1;filter:drop-shadow(0 0 18px rgba(0,255,162,.55)) drop-shadow(0 0 36px rgba(0,255,162,.2))}}.browser-empty__text{font-family:Cutive Mono,monospace;font-size:.95rem;color:#00ffa2;letter-spacing:.07em;margin:0}.browser-empty__hint{font-size:.78rem;color:#e8f6f059;margin:0}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.projet-page{padding:100px 1rem 3rem}.projet-dashboard{grid-template-columns:1fr}.projet-display{position:static}.browser-content{height:380px}.project-info-strip{flex-direction:column;gap:1rem}.project-info-strip__stack{align-items:flex-start}.project-info-strip__stack-tags{justify-content:flex-start}}@media(max-width:480px){.browser-bar{gap:.5rem;padding:.6rem .75rem}.browser-content{height:300px}.browser-empty{padding:2.5rem 1rem}.project-info-strip{padding:1rem}}.veille-container{position:relative;display:flex;flex-direction:column;width:100%;padding-top:105px;padding-bottom:5rem;color:#e8f6f0}.veille-scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,255,162,.016) 3px,rgba(0,255,162,.016) 4px);pointer-events:none;z-index:0}.veille-content{position:relative;z-index:1;max-width:1200px;width:100%;margin:0 auto;padding:0 2rem;display:flex;flex-direction:column;gap:3.5rem}.veille-section__heading{font-size:clamp(1.1rem,2.2vw,1.45rem);font-weight:700;color:#fff;margin:0 0 1.5rem;padding-bottom:.7rem;border-bottom:1px solid rgba(0,255,162,.14)}.veille-section__heading:before{content:"// ";font-family:Cutive Mono,monospace;font-size:.85em;color:#00ffa2;font-weight:400}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.article-card{display:flex;flex-direction:column;background:#08120ee0;border:1px solid rgba(0,255,162,.12);border-radius:.75rem;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s,transform .22s}.article-card:hover{border-color:#00ffa252;box-shadow:0 10px 40px #0006,0 0 20px #00ffa20d;transform:translateY(-3px)}.article-card__img{height:175px;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:#060f0c;background-image:linear-gradient(rgba(0,255,162,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,162,.055) 1px,transparent 1px);background-size:28px 28px}.article-card__img:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.18) 2px,rgba(0,0,0,.18) 3px);pointer-events:none;z-index:1}.article-card__img:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:1}.article-card__img-label{position:relative;z-index:2;font-family:Cutive Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#00ffa273;border:1px solid rgba(0,255,162,.18);padding:.28rem .75rem;border-radius:4px;background:#0000004d}.article-card__img-corner{position:absolute;z-index:2;width:14px;height:14px}.article-card__img-corner--tl{top:8px;left:8px;border-top:1.5px solid rgba(0,255,162,.35);border-left:1.5px solid rgba(0,255,162,.35)}.article-card__img-corner--br{bottom:8px;right:8px;border-bottom:1.5px solid rgba(0,255,162,.35);border-right:1.5px solid rgba(0,255,162,.35)}.article-card__body{flex:1;padding:1rem 1rem .85rem;display:flex;flex-direction:column;gap:.55rem}.article-card__tags{display:flex;flex-wrap:wrap;gap:.38rem}.article-card__meta-tag{font-family:Cutive Mono,monospace;font-size:.61rem;color:#e8f6f07a;border:1px solid rgba(232,246,240,.1);border-radius:20px;padding:.1rem .55rem;background:#ffffff06;white-space:nowrap}.article-card__title{margin:0;font-size:.95rem;font-weight:700;color:#fff;line-height:1.3}.article-card__desc{margin:0;font-size:.77rem;color:#e8f6f07a;line-height:1.65;flex:1}.article-card__btn{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.78rem 1rem;background:#00ffa2;color:#000;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-decoration:none;border-radius:0;flex-shrink:0;transition:background .2s}.article-card__btn:hover{background:#00e090}.article-card__btn-icon{font-size:.85rem;line-height:1}@media(max-width:768px){.veille-content{padding:0 1rem;gap:2.5rem}.articles-grid{grid-template-columns:1fr}}@media(max-width:480px){.veille-container{padding-top:90px}}.bts-sio{width:100%;min-height:100vh;padding:105px 1rem 3rem;color:#e8f6f0}.bts-sio-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.bts-skills-header{border-left:3px solid #00FFA2;padding:1rem 0 .25rem 1rem}.bts-skills-header h2{margin:0 0 .25rem;font-size:1.25rem;color:#f3fff9}.bts-skills-header p{margin:0;font-size:.82rem;color:#e8f6f08c}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.skill-card{display:flex;flex-direction:column;background:#08120ec7;border:1px solid rgba(0,255,162,.12);border-radius:.75rem;padding:1.25rem;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s,box-shadow .25s}.skill-card:hover,.skill-card--expanded{border-color:#00ffa24d;box-shadow:0 0 28px #00ffa20f}.skill-card__header{display:flex;align-items:center;gap:.6rem}.skill-card__id{font-family:Cutive Mono,monospace;font-size:1rem;font-weight:700;color:#00ffa2;text-shadow:0 0 8px rgba(0,255,162,.5)}.skill-card__badge{font-family:Cutive Mono,monospace;font-size:.6rem;font-weight:700;letter-spacing:.14em;color:#00ffa2;border:1px solid rgba(0,255,162,.55);border-radius:20px;padding:.1rem .55rem;background:#00ffa212}.skill-card__title{margin:0;font-size:.88rem;font-weight:600;color:#fff;line-height:1.35}.skill-card__desc{margin:0;font-size:.76rem;color:#e8f6f080;line-height:1.5;flex:1}.skill-card__toggle{all:unset;margin-top:auto;padding-top:.6rem;border-top:1px solid rgba(0,255,162,.1);display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:100%;box-sizing:border-box}.skill-card__toggle-text{font-family:Cutive Mono,monospace;font-size:.65rem;color:#00ffa299;letter-spacing:.06em;transition:color .2s}.skill-card__toggle:hover .skill-card__toggle-text{color:#00ffa2}.skill-card__chevron{font-size:.9rem;color:#00ffa299;transition:transform .25s,color .2s;display:inline-block}.skill-card__chevron--up{transform:rotate(180deg);color:#00ffa2}.skill-card__detail{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease}.skill-card__detail--visible{max-height:80px;opacity:1}.skill-card__context{margin:0;padding-top:.6rem;font-family:Cutive Mono,monospace;font-size:.72rem;color:#00ffa2;line-height:1.5}.bts-sio-frame-shell{position:relative;overflow:hidden;width:90%;margin:0 auto;border:1px solid rgba(0,255,162,.16);border-radius:1rem;background:#030b0c80;padding:.65rem;box-shadow:0 25px 70px #00000061}.bts-sio-frame-shell object{border-radius:.5rem}@media(max-width:900px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.bts-sio{padding:105px .75rem 2rem}.bts-sio-content{gap:1rem}.skills-grid{grid-template-columns:1fr}.bts-sio-frame-shell{width:100%}}.contact-page{width:100%;min-height:100vh;display:flex;align-items:center;padding:120px 2rem 4rem;color:#e8f6f0}.contact-content{display:flex;align-items:flex-start;gap:5rem;max-width:1100px;width:100%;margin:0 auto}.contact-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5rem}.contact-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;color:#fff;line-height:1.15;margin:0}.contact-text p{font-size:.9rem;color:#e8f6f08c;line-height:1.7;max-width:38ch;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;margin:0}.contact-form{flex:1;min-width:0;display:flex;flex-direction:column;gap:.85rem}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;background:#08120ecc;border:1px solid rgba(0,255,162,.15);border-radius:10px;color:#e8f6f0;font-size:.88rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#e8f6f04d}.contact-form input:focus,.contact-form textarea:focus{border-color:#00ffa280;box-shadow:0 0 0 3px #00ffa212}.contact-identity{display:flex;gap:.85rem}.contact-form textarea{resize:vertical;min-height:160px}.form-status{font-size:.82rem;color:#00ffa2;margin:0;padding:.5rem 0}.contact-form button[type=submit]{padding:.85rem 1.5rem;background:#00ffa2;color:#000;font-size:.88rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;letter-spacing:.03em;transition:background .2s,box-shadow .2s;align-self:flex-start}.contact-form button[type=submit]:hover{background:#00e090;box-shadow:0 0 20px #00ffa24d}@media(max-width:820px){.contact-page{align-items:flex-start;padding:110px 1.5rem 4rem}.contact-content{flex-direction:column;gap:2.5rem}.contact-text p{max-width:100%}.contact-form button[type=submit]{width:100%;align-self:stretch}}@media(max-width:480px){.contact-identity{flex-direction:column}.contact-title{font-size:1.9rem}}:root{--crt-scanline-soft: rgba(0, 255, 179, .035);--crt-flicker-soft: rgba(0, 255, 85, .018)}.site-crt{position:relative;min-height:100%;isolation:isolate}.site-crt:before{content:"";position:fixed;inset:0;z-index:40;pointer-events:none;background:linear-gradient(#12101000 50%,#0003 50%),linear-gradient(90deg,#ff000009,#00ff0004,#0000ff09);background-size:100% 4px,6px 100%;opacity:.65}.site-crt:after{content:"";position:fixed;inset:0;z-index:41;pointer-events:none;background:radial-gradient(circle at center,#0000 62%,#00000073),linear-gradient(to bottom,rgba(0,255,179,.03),transparent 38%,transparent 62%,rgba(0,255,179,.03))}.site-crt__flicker{position:fixed;inset:0;z-index:39;pointer-events:none;mix-blend-mode:screen;background-color:var(--crt-flicker-soft);animation:site-crt-flicker .15s infinite}@keyframes site-crt-flicker{0%{opacity:.8}50%{opacity:.62}to{opacity:.9}}@media(max-width:768px){.site-crt:before{opacity:.52}.site-crt:after{background:radial-gradient(circle at center,#0000 70%,#0000005c)}}.page{width:100%;margin:0 auto;min-height:100vh}
