@font-face{font-family:Reno Mono;src:url(/assets/RenoMono-ccIORrUn.woff2) format("woff2");font-weight:400;font-style:normal}.preloader,#preloader{position:fixed!important;top:0;left:0;width:100vw;height:100vh;display:flex!important;justify-content:center!important;align-items:center!important;background-color:#1a1a1a;z-index:9999}body::-webkit-scrollbar{display:none}body{background-color:#1a1a1a;color:#fff;font-family:Reno Mono,monospace;margin:0;padding:0;display:flex;justify-content:center;align-items:center;min-height:100vh;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}#root{width:100%;display:flex;flex-direction:column}.cursor{display:inline-block;width:10px;height:1.2em;background-color:#fff;vertical-align:middle;margin-left:4px;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.navbar{position:fixed;top:0;left:0;width:100%;padding:2rem 3rem;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;z-index:100;animation:fadeIn 1s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.navbar a{color:#fff;text-decoration:none;font-size:1.1rem;font-family:Reno Mono,monospace;transition:text-shadow .2s ease;font-variant-numeric:tabular-nums}.navbar a:hover{text-shadow:0 0 8px rgba(255,255,255,.8)}.nav-center{display:flex;gap:3rem}.play-container{position:relative;width:100vw;height:100vh;overflow:hidden;background-color:#1a1a1a}.game-canvas{display:block}.game-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#1a1a1ae6;border:1px solid #ffffff;padding:3rem;text-align:center;z-index:10;min-width:400px}.game-overlay h2{margin-top:0;letter-spacing:2px}.game-overlay p{line-height:1.5;margin-bottom:1rem}.score-display{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:1.5rem;font-weight:700;z-index:10;pointer-events:none}.glitch-button{background:transparent;color:#fff;border:none;font-family:Reno Mono,monospace;font-size:1.2rem;cursor:pointer;margin-top:2rem;transition:text-shadow .2s}.glitch-button:hover{text-shadow:0 0 10px rgba(255,255,255,.8)}.about-container{width:100%;display:block}.about-hero{height:100vh;display:flex;justify-content:center;align-items:center;padding:0 2rem;box-sizing:border-box}.about-content{display:flex;flex-wrap:wrap;gap:4rem;max-width:1200px;width:100%;align-items:center}.about-text{flex:1;min-width:300px}.about-text p{line-height:1.6;margin-bottom:1.5rem;color:#ccc}.about-image-terminal{flex:1;min-width:300px;display:flex;justify-content:center;align-items:center}.about-single-column{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;box-sizing:border-box}.terminal-window{width:100%;max-width:450px;height:420px;background-color:#111;border:1px solid #333333;border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column}.terminal-header{background-color:#222;padding:.5rem 1rem;display:flex;align-items:center;gap:8px;border-bottom:1px solid #333333;flex-shrink:0}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background-color:#ff5f56}.dot.yellow{background-color:#ffbd2e}.dot.green{background-color:#27c93f}.terminal-title{margin-left:auto;margin-right:auto;color:#888;font-size:.8rem;font-family:sans-serif}.terminal-body{padding:1.5rem;font-family:Reno Mono,monospace;font-size:.9rem;flex-grow:1;display:flex;flex-direction:column}.prompt-path{color:#0f0;margin-right:8px}.loading-text{color:#888;margin-top:.5rem;margin-bottom:1rem;animation:flash 1.5s infinite}.glitch-image{max-width:100%;height:220px;object-fit:cover;border:1px solid #333333;filter:grayscale(100%) contrast(120%);animation:fadeIn .5s ease-in;display:block}@keyframes flash{0%,to{opacity:1}50%{opacity:.5}}.glitch-hover-text{position:relative;display:inline-block;transition:text-shadow .2s ease,color .2s ease}.glitch-hover-text:hover{text-shadow:2px 0 0 rgba(0,255,0,.8),-2px 0 0 rgba(255,0,255,.8),0 0 8px rgba(255,255,255,.8);animation:textGlitch .2s infinite linear alternate-reverse}@keyframes textGlitch{0%{transform:translate(0);text-shadow:2px 0 0 rgba(0,255,0,.8),-2px 0 0 rgba(255,0,255,.8)}25%{transform:translate(-1px,1px);text-shadow:-2px 0 0 rgba(0,255,0,.8),2px 0 0 rgba(255,0,255,.8)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px);text-shadow:2px 0 0 rgba(0,255,0,.8),-2px 0 0 rgba(255,0,255,.8)}to{transform:translate(1px,1px)}}.projects-page{width:100%;box-sizing:border-box;padding:8rem 3rem 4rem;min-height:100vh;background-color:#1a1a1a;display:flex;flex-direction:column}.projects-title{font-size:2rem;letter-spacing:4px;margin-bottom:2rem;color:#fff;font-weight:400;text-transform:uppercase}.tab-selector{display:flex;gap:.25rem;width:calc(100% + 6rem);margin-left:-3rem;padding-left:3rem;border-bottom:1px solid #333333;margin-bottom:3rem;box-sizing:border-box}.tab-item{background-color:#0a0a0a;border:1px solid #333333;border-bottom:none;color:#fff;opacity:.5;font-family:Reno Mono,monospace;font-size:.9rem;cursor:pointer;padding:.8rem 1.5rem;margin-bottom:-1px;transition:all .3s ease}.tab-item.active{background-color:#000;opacity:1;border-color:#333;border-bottom:1px solid #000000;text-shadow:0 0 8px rgba(255,255,255,.8)}.tab-item:hover:not(.active){opacity:1;background-color:#111}@media (max-width: 768px){.tab-selector{width:calc(100% + 4rem);margin-left:-2rem;padding-left:2rem;overflow-x:auto}.tab-item{padding:.6rem 1rem;font-size:.8rem;white-space:nowrap}}.projects-repeater{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card{box-sizing:border-box;border:1px solid #222222;padding:1.5rem;background-color:#050505;transition:border-color .3s ease;cursor:pointer}.project-card:hover{border-color:#fff}.card-inner img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;margin-bottom:1.5rem;filter:grayscale(100%);transition:filter .3s ease}.project-card:hover img{filter:grayscale(0%)}.project-info h3{font-size:1.1rem;margin-bottom:.25rem;color:#fff;letter-spacing:1px}.project-info span{display:block;font-size:.75rem;color:#fff;opacity:.5;text-transform:uppercase}.terminal-fetching{font-family:Reno Mono,monospace;font-size:1rem;color:#fff;margin-top:1rem}.terminal-fetching .prompt-path{color:#0f0;margin-right:.5rem}@media (max-width: 768px){.projects-page{padding:6rem 2rem 2rem}.tab-line{width:calc(100% + 4rem);margin-left:-2rem}.tab-selector{gap:1rem}}.site-footer{width:100%;box-sizing:border-box;padding:4rem 3rem;background-color:#000;border-top:1px solid #333333;display:flex;justify-content:space-between;align-items:flex-end;font-family:Reno Mono,monospace;margin-top:auto}.footer-left{display:flex;flex-direction:column;gap:.5rem}.footer-name{color:#fff;font-size:1.2rem;letter-spacing:2px}.footer-role{color:#888;font-size:.8rem;margin-bottom:1rem}.footer-socials{display:flex;gap:1.5rem}.footer-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.footer-catchphrase{color:#0f0;font-size:1.1rem;letter-spacing:3px}.footer-copyright{color:#555;font-size:.75rem}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:1.5rem}.footer-menu{display:flex;gap:1.5rem}.footer-clock{color:#888;font-size:.9rem}.footer-link{color:#fff;text-decoration:none;font-size:.9rem;transition:text-shadow .2s ease,opacity .2s ease;opacity:.7}.footer-link:hover{opacity:1;text-shadow:0 0 8px rgba(255,255,255,.8)}@media (max-width: 900px){.site-footer{flex-direction:column;align-items:center;gap:3rem;padding:3rem 2rem}.footer-left,.footer-right{align-items:center}.footer-menu{flex-wrap:wrap;justify-content:center}}.interactive-map-wrapper{width:100vw;min-height:100vh;background-color:#000;display:flex;justify-content:center;align-items:center;overflow-y:auto;overflow-x:hidden}.map-aspect-container{position:relative;width:100vw;max-width:100%}.map-aspect-container.desktop-ratio{aspect-ratio:16 / 9;max-height:100vh}.map-aspect-container.mobile-ratio{aspect-ratio:9 / 16;max-height:none}.map-background-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;z-index:1}.map-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.map-svg-container svg{width:100%;height:100%;perspective-origin:xMidYMid meet}.map-scale-layer{transition:transform .3s ease,opacity .3s ease!important;transform-box:fill-box;transform-origin:center}.map-scale-layer.is-hovered{transform:scale(.92)}@media (max-width: 1024px){.interactive-map-wrapper{padding:0;margin:0}.map-aspect-container.mobile-ratio{width:100vw!important;max-width:100vw!important;height:auto!important}}.massif-map-wrapper{position:relative;width:100vw;height:100vh;background-color:#1e2023;color:#fff;font-family:Inter,sans-serif;overflow:hidden}.massif-global-logo{position:absolute;top:1.5rem;left:2rem;height:95px;width:auto;z-index:100;pointer-events:auto}.massif-hamburger{position:absolute;top:2.5rem;right:2rem;background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;width:32px;height:22px;padding:0;pointer-events:auto;z-index:110}.massif-hamburger .bar{width:100%;height:3px;background-color:#a6c46b;transition:all .3s ease;border-radius:2px;display:block}.massif-hamburger.is-active .bar:nth-child(1){transform:translateY(9.5px) rotate(45deg)}.massif-hamburger.is-active .bar:nth-child(2){opacity:0}.massif-hamburger.is-active .bar:nth-child(3){transform:translateY(-9.5px) rotate(-45deg)}.massif-side-menu{position:absolute;top:0;right:0;transform:translate(100%);width:320px;height:100vh;background:#f0f0f0;border-left:1px solid rgba(0,0,0,.1);z-index:105;padding:7rem 2rem 2rem;box-sizing:border-box;transition:transform .3s ease-in-out;display:flex;flex-direction:column;justify-content:center}.massif-side-menu.is-open{transform:translate(0)}.massif-side-menu ul{list-style:none;padding:0;margin:0}.massif-side-menu li{margin-bottom:.85rem}.massif-menu-item{display:flex;justify-content:flex-start;align-items:center;gap:1rem;text-decoration:none;color:#1e2023b3;font-size:.95rem;font-weight:500;text-align:left;transition:.2s}.massif-menu-item:hover,.massif-menu-item.is-active{color:#1e2023}.massif-menu-item.is-active .massif-menu-text{text-decoration:underline;text-underline-offset:4px}.massif-menu-icon{width:22px;height:22px;opacity:.9}.massif-content-container{width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:70px 20px 20px;box-sizing:border-box}.massif-contained-map-wrapper{width:100%;max-width:700px;display:flex;flex-direction:column;align-items:center;gap:1rem}.massif-map-aspect{position:relative;width:100%;line-height:0}.massif-map-image{width:100%;height:auto;max-height:70vh;object-fit:contain;display:block}.massif-map-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.massif-map-svg svg{width:100%;height:100%;display:block}.massif-map-title{font-family:Garamond,EB Garamond,serif;font-style:italic;font-weight:700;font-size:1.8rem;color:#fff;margin:0;text-align:center}.massif-hors-secteur-title{font-family:Josefin Sans,sans-serif;font-size:2.2rem;font-weight:600;color:#fff;margin:0;text-align:center;text-decoration:underline;text-underline-offset:8px}.massif-hors-secteur-list{list-style:none;padding:0;margin:2.5rem 0 0;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.massif-hors-secteur-link{font-family:Josefin Sans,sans-serif;font-size:1.8rem;color:#fff;text-decoration:none;transition:color .2s ease,transform .2s ease;display:block}.massif-hors-secteur-link:hover{color:#a6c46b;transform:scale(1.05)}
