:root{--night:#07070d;--deep:#0f1422;--ember:#ff3b2f;--blood:#b00022;--neon:#ff4d4d;--teal:#1ee3c1;--ash:#c7ced8;--glass:rgba(10,12,18,.72);--display:"Impact" , "Haettenschweiler" , "Franklin Gothic Heavy" , sans-serif;--mono:"Courier New" , "Courier" , monospace;--serif:"Garamond" , "Times New Roman" , serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%}body{font-family: var(--serif);color:#f7f2e9;background:radial-gradient(1200px 900px at 20% 10%,#1f2a3d 0%,#0f1422 40%,#07070d 70%) , linear-gradient(180deg,#0b0e16 0%,#08060f 48%,#280010 65%,#110006 100%);overflow:hidden;position:fixed;inset:0}body::before,body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}body::before{background-image:radial-gradient(circle at 20% 30%,rgba(255,255,255,.04) 0 2px,transparent 3px) , radial-gradient(circle at 80% 70%,rgba(255,255,255,.03) 0 1px,transparent 2px) , repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 2px 4px);opacity:.35;mix-blend-mode:screen}body::after{background:linear-gradient(180deg,rgba(255,60,46,.08),rgba(0,0,0,.4));opacity:.55}body.upside{background:radial-gradient(1000px 800px at 10% 20%,#2b1422 0%,#0f0a16 55%,#06060c 100%) , linear-gradient(180deg,#120009 0%,#08060f 55%,#26000a 100%)}body.upside::after{background:linear-gradient(180deg,rgba(255,30,30,.18),rgba(0,0,0,.7));opacity:.85}#three,#game{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1;width:100vw;height:100vh}#three{z-index:1;display:none}#game{z-index:1}.cinema-bars{position:fixed;inset:0;pointer-events:none;z-index:2}.cinema-bars::before,.cinema-bars::after{content:"";position:absolute;left:0;width:100%;height:10vh;background:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,0))}.cinema-bars::after{bottom:0;transform:rotate(180deg)}.cinema-bars::before{top:0}.film-grain{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:.25;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px) , repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 4px) , radial-gradient(circle at 20% 30%,rgba(255,255,255,.04),transparent 60%);mix-blend-mode:screen;animation:grain .5s steps(2) infinite}.crosshair{position:fixed;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%);z-index:4;pointer-events:none}.crosshair::before,.crosshair::after{content:"";position:absolute;background:rgba(255,255,255,.8);box-shadow:0 0 10px rgba(255,59,47,.4)}.crosshair::before{width:2px;height:22px;left:50%;top:0;transform:translateX(-50%)}.crosshair::after{width:22px;height:2px;left:0;top:50%;transform:translateY(-50%)}.hud{position:fixed;inset:0;padding:1.2rem 2rem 2.4rem;display:flex;flex-direction:column;justify-content:space-between;gap:1rem;z-index:3;pointer-events:none}.hud-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.2rem}.hud-row:first-child,.hud-row:last-child{background:linear-gradient(90deg,rgba(6,8,12,.7),rgba(8,10,16,.4),rgba(6,8,12,.7));border:1px solid rgba(255,255,255,.06);padding:.5rem 1rem}.hud-title{font-family: var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:1.1rem;color:#fdf1e7;text-shadow:0 0 12px rgba(255,59,47,.6)}.hud-status{display:flex;flex-wrap:wrap;gap:1rem;font-family: var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ash)}.hud-bars{display:grid;gap:.6rem;min-width:220px}.bar{display:grid;gap:.35rem;font-family: var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:.6rem}.bar-track{width:200px;height:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);overflow:hidden}.bar-fill{height:100%;width:100%;background:linear-gradient(90deg,rgba(255,59,47,.9),rgba(176,0,34,.9));box-shadow:0 0 12px rgba(255,59,47,.6)}.bar-fill.energy{background:linear-gradient(90deg,rgba(30,227,193,.9),rgba(0,140,120,.9));box-shadow:0 0 12px rgba(30,227,193,.6)}.hud-abilities{display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;font-family: var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:#f1e8dd}.hud-row:first-child{padding-top:.4rem}.hud-row:last-child{padding-bottom:1rem}.hud-mission{align-items:flex-end}.mission,.collect{font-family: var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:#f8efe4;background:rgba(8,10,16,.6);border:1px solid rgba(255,255,255,.08);padding:.45rem .7rem}.collect{color:var(--teal)}.intro{position:fixed;inset:0;background:linear-gradient(180deg,rgba(6,7,12,.9),rgba(14,6,12,.94));display:grid;place-items:center;z-index:5;transition:opacity .6s ease , transform .6s ease}.intro.hidden{opacity:0;transform:scale(1.02);pointer-events:none}.intro-inner{width:min(720px,90vw);background:rgba(8,10,16,.7);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 40px rgba(5,5,10,.6);padding:2.6rem 2.4rem;text-align:center;display:grid;gap:1.3rem}.st-logo{display:grid;gap:.6rem}.st-title{font-family: var(--display);letter-spacing:.16em;font-size:clamp(2.6rem,7vw,4.6rem);text-transform:uppercase;position:relative;color:#fdf1e7;text-shadow:0 0 12px rgba(255,59,47,.65) , 0 0 35px rgba(255,20,20,.6) , 0 0 80px rgba(176,0,34,.5)}.st-title::before,.st-title::after{content:attr(data-text);position:absolute;inset:0;opacity:.7}.st-title::before{color:var(--neon);transform:translate(4px,-2px);clip-path:inset(0 0 55% 0);animation:glitch 3s infinite}.st-title::after{color:#fdf1e7;transform:translate(-3px,2px);clip-path:inset(45% 0 0 0);animation:glitch 2.6s infinite reverse}.st-line{height:2px;background:linear-gradient(90deg,transparent,rgba(255,59,47,.9),transparent);box-shadow:0 0 12px rgba(255,59,47,.8)}.st-line-top{width:70%;margin:0 auto}.st-line-bottom{width:90%;margin:0 auto}.intro-tag{font-family: var(--mono);text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;color:var(--ash)}.intro-copy{line-height:1.6;color:#e7e0d4}.intro-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.btn{font-family: var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:.8rem 1.6rem;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fef1e3;cursor:pointer;transition:transform .3s ease , box-shadow .3s ease}.btn.primary{background:linear-gradient(120deg,rgba(255,59,47,.9),rgba(176,0,34,.9));border-color:rgba(255,90,90,.7);box-shadow:0 0 25px rgba(255,70,70,.5)}.btn.ghost{background:rgba(9,12,19,.5);border-color:rgba(255,255,255,.15)}.btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 0 20px rgba(255,80,80,.4)}.intro-help{font-family: var(--mono);font-size:.6rem;text-transform:uppercase;letter-spacing:.2em;color:var(--ash);display:grid;gap:.5rem}.intro-warning{font-family: var(--mono);text-transform:uppercase;letter-spacing:.3em;font-size:.55rem;color:rgba(255,90,90,.8)}.intro.show-error .intro-warning{color:#ffbaba}.intro.show-error .intro-warning::after{content:" - Chargement bloque, verifier le cache navigateur.";display:block;margin-top:.35rem;letter-spacing:.12em;color:rgba(255,210,210,.85)}.notification{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%);font-family: var(--mono);text-transform:uppercase;letter-spacing:.2em;font-size:.65rem;background:rgba(8,10,16,.7);border:1px solid rgba(255,255,255,.1);padding:.6rem 1.2rem;opacity:0;z-index:4;transition:opacity .3s ease}.notification.show{opacity:1}@keyframes glitch {
  0%, 100% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(3px, -1px);
  }
  40% {
    transform: translate(-4px, 1px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(-2px, -2px);
  }
}@keyframes grain {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-1%, 1%);
  }
  100% {
    transform: translate(1%, -1%);
  }
}@media (max-width:900px){.hud{padding:1rem 1.2rem}.hud-status{gap:.6rem}.bar-track{width:160px}}@media (max-width:600px){.intro-inner{padding:2rem 1.6rem}.hud-abilities{gap:.6rem 1rem}}