/* Habillage "néon" partagé par les pages projets — même univers que la page d'accueil */
:root{--bg:#04050D;--bg2:#080A1C;--surface:rgba(16,20,46,.62);--surface2:rgba(255,255,255,.04);--txt:#EEF1FF;--muted:#9CA5CC;--bord:rgba(150,165,255,.16);--acc:#3BF0FF;
  --grad:linear-gradient(100deg,#3BF0FF 0%,#8B5CFF 45%,#FF4FD8 80%,#3BF0FF 100%);--rayon:20px;color-scheme:dark}
html{background:var(--bg);overflow-x:clip}
body{font-family:'Manrope',system-ui,sans-serif;background:var(--bg);overflow-x:clip}
h1,h2,h3,.logo{font-family:'Unbounded',system-ui,sans-serif}
#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(139,92,255,.20),rgba(59,240,255,.06) 40%,transparent 65%);transform:translate(-50%,-50%);left:-600px;top:-600px;mix-blend-mode:screen}
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);z-index:100;box-shadow:0 0 12px #3BF0FF}
header,section,footer{position:relative;z-index:2}
header{background:rgba(4,5,13,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--bord);z-index:60}
.logo{font-weight:600;font-size:15px;letter-spacing:.02em;gap:12px}
.logo .mk{width:34px;height:34px;border-radius:10px;position:relative;flex:none}
.logo .mk img{width:100%;height:100%;display:block;border-radius:10px}
.logo .mk::after{content:"";position:absolute;inset:-4px;border-radius:13px;border:1px solid rgba(59,240,255,.4);animation:neo-ping 2.6s ease-out infinite}
@keyframes neo-ping{0%{opacity:.9;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
@keyframes neo-holo{to{background-position:-220% 0}}
.btn{font-weight:700;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.btn-p{color:#05060F!important;background:var(--grad);background-size:220% 100%;animation:neo-holo 5s linear infinite;box-shadow:0 10px 40px -8px rgba(139,92,255,.75)}
.btn-g{background:rgba(255,255,255,.03)}
.btn-g:hover{border-color:rgba(59,240,255,.6);box-shadow:0 0 30px -6px rgba(59,240,255,.5)}
.kicker,.typ-head .k{font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:none;letter-spacing:0;color:#3BF0FF}
.page-head h1{font-family:'Unbounded',system-ui,sans-serif;background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:neo-holo 7s linear infinite;width:fit-content}
.group-banner{background:var(--surface)!important;border:1px solid var(--bord)!important;border-radius:22px;backdrop-filter:blur(12px);position:relative;overflow:hidden}
.group-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(59,240,255,.10),rgba(139,92,255,.14),rgba(255,79,216,.08));pointer-events:none}
.group-banner>*{position:relative}
.group-banner .gk{font-family:'JetBrains Mono',ui-monospace,monospace;text-transform:none;letter-spacing:0}
.group-banner .gk.real{background:rgba(59,240,255,.12);color:#3BF0FF}
.group-banner .gk.demo{background:rgba(255,79,216,.12);color:#FF8BE6}
.proj{background:var(--surface);border:1px solid var(--bord);border-radius:22px;backdrop-filter:blur(10px);transform-style:preserve-3d;transition:transform .25s ease-out,border-color .3s,box-shadow .3s}
.proj:hover{border-color:rgba(59,240,255,.45);box-shadow:0 30px 80px -30px rgba(59,240,255,.45)}
.proj .vignette{font-family:'Unbounded',system-ui,sans-serif;font-weight:600;overflow:hidden}
.proj .vignette::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.22),transparent 50%);opacity:0;transition:opacity .3s}
.proj:hover .vignette::after{opacity:1}
.proj .tg{font-family:'JetBrains Mono',ui-monospace,monospace;background:transparent;border-color:var(--bord);border-radius:99px}
.proj .open{color:#3BF0FF}
.badge-demo{font-family:'JetBrains Mono',ui-monospace,monospace;background:rgba(4,5,13,.7);border-color:rgba(255,79,216,.5);color:#FFC2F1}
@media (max-width:860px){.liens{background:rgba(6,7,18,.97)}.glow{display:none}}
@media (prefers-reduced-motion:reduce){.btn-p,.page-head h1,.logo .mk::after{animation:none}}
