/* Scènes plein écran (scenes.js) : une par univers. Tout est en CSS (transformations, opacité, filtres),
   plus un canvas pour les particules. La scène s'efface d'elle-même en fin de course. */
.sc{position:fixed;inset:0;z-index:2000;overflow:hidden;background:#000;color:#fff;cursor:pointer;animation:scIn .18s ease both}
.sc.sc-fin{animation:scOut .25s ease forwards}
@keyframes scIn{from{opacity:0}}
@keyframes scOut{to{opacity:0}}
.sc>*{position:absolute;pointer-events:none}
.sc-bg{inset:0;background:center/cover no-repeat}
.sc-cv{inset:0;width:100%;height:100%}
.sc-passer{right:18px;bottom:14px;margin:0;font:600 11px 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);animation:scIn .4s .8s both}
.sc-vig{inset:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.85) 100%)}
.sc-vig.rouge{background:radial-gradient(ellipse at center,transparent 30%,rgba(120,0,0,.75) 100%);animation:scBat 1s ease-in-out infinite}
.sc-scan{inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px);mix-blend-mode:multiply}
.sc-flash{inset:0;background:#fff;animation:scFlash .5s ease-out both}
.sc-flash.rouge{background:#c8102e;animation-duration:.7s}
@keyframes scFlash{from{opacity:1}to{opacity:0}}
.sc-dim{filter:brightness(.45) saturate(.9)}
.sc-sombre{filter:brightness(.32) contrast(1.2)}
.sc-froid{filter:brightness(.55) saturate(.6) hue-rotate(170deg)}
.sc-nb{filter:grayscale(1) contrast(1.35) brightness(.75);animation:scZoom 2.6s ease-out both}
.sc-sepia{filter:sepia(.9) contrast(1.2) brightness(.8);animation:scZoom 2.9s ease-out both}
.sc-orange{filter:brightness(.4) sepia(.6) saturate(2) hue-rotate(-15deg)}
.sc-rouge{filter:brightness(.4) sepia(1) saturate(4) hue-rotate(-30deg)}
.sc-ancien{filter:sepia(1) contrast(1.4) brightness(.85);animation:scFlick .12s steps(2) infinite,scZoom 2.7s ease-out both}
.sc-kb{animation:scKb 2.4s ease-out both;filter:brightness(.55)}
@keyframes scZoom{from{transform:scale(1.04)}to{transform:scale(1.14)}}
@keyframes scKb{from{transform:scale(1.18) translate(2%,1%)}to{transform:scale(1.04)}}
@keyframes scFlick{50%{opacity:.86}}
@keyframes scBat{50%{opacity:.6}}

/* GTA : wasted. Ralenti, la couleur s'en va, le mot tombe */
.sc-wz{animation:scWz 2.7s cubic-bezier(.2,.6,.2,1) both}
@keyframes scWz{0%{transform:scale(1.04);filter:none}35%{filter:saturate(.25) contrast(1.15) brightness(.85)}100%{transform:scale(1.22) rotate(-1.2deg);filter:saturate(0) contrast(1.3) brightness(.62) blur(2px)}}
.sc-wt{left:0;right:0;top:50%;margin:0;transform:translateY(-50%);text-align:center;font:800 italic clamp(70px,14vw,190px)/1 'Barlow Condensed',sans-serif;letter-spacing:.02em;text-transform:lowercase;color:#b3202a;-webkit-text-stroke:3px #120202;paint-order:stroke fill;text-shadow:0 6px 0 #120202,0 0 40px rgba(0,0,0,.8);animation:scWasted 2.7s cubic-bezier(.2,.9,.2,1) both}
@keyframes scWasted{0%,26%{opacity:0;transform:translateY(-50%) scale(1.5);letter-spacing:.4em;filter:blur(8px)}40%{opacity:1;transform:translateY(-50%) scale(1);letter-spacing:.02em;filter:blur(0)}100%{opacity:1;transform:translateY(-50%) scale(1.03)}}

.sc-bande{left:0;right:0;top:50%;height:clamp(110px,18vw,230px);transform:translateY(-50%);background:linear-gradient(transparent,rgba(0,0,0,.78) 22%,rgba(0,0,0,.78) 78%,transparent);animation:scIn .4s .7s both}
/* Vice City : mission passed, néons */
.sc-vhs{filter:saturate(1.8) contrast(1.1) brightness(.7) hue-rotate(-10deg)}
.sc-mp{left:0;right:0;top:46%;margin:0;transform:translateY(-50%);text-align:center;font:800 italic clamp(54px,9vw,120px)/1 'Barlow Condensed',sans-serif;text-transform:lowercase;color:#ff4fb3;text-shadow:0 0 18px #ff4fb3,0 0 50px #ff2a8a,3px 3px 0 #2a0018;animation:scPop .6s .25s cubic-bezier(.2,1.6,.4,1) both}
.sc-mp small{display:block;margin-top:14px;font:700 clamp(22px,3vw,38px) 'Barlow Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#4ff0ff;text-shadow:0 0 16px #17b2c0}
@keyframes scPop{from{opacity:0;transform:translateY(-50%) scale(.4)}}

/* Fortnite : Victoire Royale */
.sc-victoire{background:radial-gradient(circle at 50% 48%,#3c7bff 0,#1b2f9e 38%,#0b0f3a 75%)}
.sc-rayons{left:50%;top:48%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(rgba(255,255,255,.14) 0 6deg,transparent 6deg 18deg);animation:scTourne 9s linear infinite}
@keyframes scTourne{to{transform:rotate(360deg)}}
.sc-vr{left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;animation:scPunch .7s .1s cubic-bezier(.2,1.7,.4,1) both}
.sc-vr b{display:block;font:800 clamp(90px,16vw,220px)/.85 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 8px 0 #0b1a6a,0 0 40px rgba(255,255,255,.6)}
.sc-vr span{display:inline-block;margin-top:10px;padding:10px 34px;font:800 clamp(40px,7vw,96px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.02em;color:#ffe766;background:linear-gradient(#1a3fbf,#0b1f7a);transform:skewX(-8deg);box-shadow:0 10px 0 #071248,0 0 0 4px #ffd23f inset;text-shadow:0 4px 0 #8a5a00}
@keyframes scPunch{0%{opacity:0;transform:translateY(-50%) scale(.3)}100%{opacity:1;transform:translateY(-50%) scale(1)}}

/* Valorant : spike posé */
.sc-shard{left:-20%;width:140%;height:34%;background:#ff4655;transform-origin:left;animation:scShard .55s cubic-bezier(.7,0,.2,1) both}
.sc-shard.a{top:12%;clip-path:polygon(0 0,100% 30%,100% 55%,0 100%);animation-delay:.05s}
.sc-shard.b{top:40%;height:20%;background:#0f1923;clip-path:polygon(0 20%,100% 0,100% 100%,0 70%);animation-delay:.15s}
.sc-shard.c{top:62%;clip-path:polygon(0 30%,100% 0,100% 70%,0 100%);opacity:.85;animation-delay:.22s}
@keyframes scShard{from{transform:scaleX(0) skewX(-20deg)}to{transform:scaleX(1) skewX(-20deg)}}
.sc-sp{left:0;right:0;top:50%;margin:0;transform:translateY(-50%);text-align:center;font:800 clamp(46px,8vw,110px)/1 'Barlow Condensed',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#ece8e1;text-shadow:0 0 30px rgba(0,0,0,.6);animation:scIn .3s .5s both}
.sc-ring{left:50%;top:50%;width:min(60vmin,520px);aspect-ratio:1;margin:calc(min(60vmin,520px) / -2) 0 0 calc(min(60vmin,520px) / -2);border-radius:50%;border:3px solid rgba(255,70,85,.9);box-shadow:0 0 30px #ff4655;animation:scRing 2s .5s ease-out both}
@keyframes scRing{from{transform:scale(.4);opacity:0}30%{opacity:1}to{transform:scale(1.25);opacity:0}}

/* CS2 : la bombe */
.sc-radio{left:6%;top:12%;margin:0;padding:10px 14px;background:rgba(0,0,0,.6);border-left:4px solid #de9b35;font:700 clamp(22px,3.2vw,40px) 'DM Sans',sans-serif;color:#fff;overflow:hidden;white-space:nowrap;animation:scType 1s steps(22) both}
@keyframes scType{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.sc-c4{left:50%;top:56%;width:220px;height:120px;margin:-60px 0 0 -110px;border:3px solid #3d4a2a;background:linear-gradient(#5a6b3a,#2f3a1e);box-shadow:0 30px 60px rgba(0,0,0,.7)}
.sc-c4 i{position:absolute;right:16px;top:14px;width:16px;height:16px;border-radius:50%;background:#ff2020;box-shadow:0 0 20px #ff2020;animation:scBlink .5s steps(2) infinite}
.sc-c4 span{position:absolute;left:18px;bottom:16px;padding:4px 10px;background:#0b1a0b;font:700 30px 'Courier New',monospace;color:#3cff3c}
@keyframes scBlink{50%{opacity:.15}}

/* Minecraft : l'image se reconstruit en blocs, puis le succès */
.sc-pix{inset:0;width:100%;height:100%;image-rendering:pixelated}
.sc-toast{right:4%;top:6%;display:flex;gap:16px;align-items:center;min-width:min(420px,86vw);padding:14px 18px;background:#212121;border:4px solid #555;box-shadow:inset -4px -4px 0 #0f0f0f,inset 4px 4px 0 #3c3c3c;animation:scToast 2.5s .7s both}
.sc-toast i{width:44px;height:44px;flex:none;background:linear-gradient(135deg,#5b9a3b 0 50%,#7a5230 50%);box-shadow:inset 0 0 0 4px rgba(0,0,0,.25)}
.sc-toast b{display:block;font:700 22px 'Courier New',monospace;color:#ffff55}
.sc-toast span{display:block;font:600 18px 'Courier New',monospace;color:#fff}
@keyframes scToast{0%{transform:translateX(120%)}14%,86%{transform:none}100%{transform:none}}

/* Dark Souls : feu de camp */
.sc-feu{background:#030201}
.sc-flamme{left:50%;bottom:-20%;width:90vmin;height:90vmin;margin-left:-45vmin;border-radius:50%;background:radial-gradient(circle,rgba(255,170,70,.75) 0,rgba(220,90,20,.35) 30%,transparent 62%);animation:scFlamme 3s ease-out both}
@keyframes scFlamme{0%{opacity:0;transform:scale(.4)}40%{opacity:1}100%{transform:scale(1.15)}}
.sc-souls{left:0;right:0;top:44%;margin:0;text-align:center;font:500 clamp(40px,6.4vw,92px) 'Cormorant Garamond',Georgia,serif;letter-spacing:.24em;text-transform:uppercase;color:#f6d79a;text-shadow:0 0 30px rgba(230,150,60,.9),0 0 80px rgba(220,110,30,.6);animation:scSouls 3s ease both}
.sc-souls::before{content:"";position:absolute;left:10%;right:10%;top:50%;height:30%;margin-top:-15%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.6),transparent);z-index:-1}
@keyframes scSouls{0%,15%{opacity:0;letter-spacing:.5em}45%,80%{opacity:1;letter-spacing:.24em}100%{opacity:0}}

/* Elden Ring : grâce */
.sc-gr{left:0;right:0;top:46%;margin:0;text-align:center;font:500 clamp(32px,5vw,74px) 'Cormorant Garamond',Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:#fbe7a8;text-shadow:0 0 30px rgba(255,214,120,.95),0 0 90px rgba(255,200,90,.6);animation:scSouls 2.9s ease both}
.sc-faisceau{left:50%;top:-10%;width:30vw;height:130%;margin-left:-15vw;background:linear-gradient(90deg,transparent,rgba(255,226,140,.5),transparent);filter:blur(10px);animation:scFaisceau 2.9s ease-out both}
@keyframes scFaisceau{from{opacity:0;transform:scaleX(.1)}40%{opacity:1}to{opacity:.7;transform:scaleX(1)}}

/* Hollow Knight, Silksong : fils de soie */
.sc-soie{background:radial-gradient(circle at 50% 45%,#16263a,#03060b 70%)}
.sc-soie.sc-rouge-fil{background:radial-gradient(circle at 50% 45%,#3a0f14,#0b0304 70%)}
.sc-fils{inset:0;width:100%;height:100%}
.sc-fils path{fill:none;stroke:#eaf6ff;stroke-width:.35;stroke-dasharray:180;stroke-dashoffset:180;filter:drop-shadow(0 0 1.5px #bfe3f2);animation:scFil .9s cubic-bezier(.6,0,.2,1) forwards}
.sc-rouge-fil .sc-fils path{stroke:#ff3b48;filter:drop-shadow(0 0 1.5px #ff3b48)}
.sc-fils path:nth-child(2){animation-delay:.25s}.sc-fils path:nth-child(3){animation-delay:.45s}
@keyframes scFil{to{stroke-dashoffset:0}}
.sc-hk{left:0;right:0;top:44%;margin:0;text-align:center;font:500 clamp(48px,8vw,120px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em;color:#fff;text-shadow:0 0 30px rgba(170,210,230,.6);animation:scSouls 2.7s .2s ease both}
.sc-hk small{display:block;margin-top:14px;font:italic 500 clamp(20px,2.6vw,32px) 'Cormorant Garamond',Georgia,serif;letter-spacing:.04em;color:#bfe3f2}
.sc-rouge-fil .sc-hk small{color:#ff8a92}

/* Red Dead : Dead Eye */
.sc-x{width:56px;height:56px;margin:-28px 0 0 -28px;background:linear-gradient(45deg,transparent 44%,#c0141c 44% 56%,transparent 56%),linear-gradient(-45deg,transparent 44%,#c0141c 44% 56%,transparent 56%);filter:drop-shadow(0 0 6px #ff2020);animation:scX .3s cubic-bezier(.2,1.6,.4,1) both}
@keyframes scX{from{transform:scale(2.4);opacity:0}}
.sc-de{left:5%;bottom:8%;margin:0;font:700 italic clamp(28px,4vw,52px) 'Cormorant Garamond',Georgia,serif;color:#e8d5b0;text-shadow:0 2px 10px #000;animation:scIn .4s .3s both}

/* Glitch : Cyberpunk, Watch Dogs */
.sc-gl1{filter:brightness(.6) saturate(1.4)}
.sc-gl2{mix-blend-mode:screen;opacity:.7;filter:hue-rotate(160deg) saturate(3);animation:scGl 2.4s steps(1) infinite}
.sc-gl3{mix-blend-mode:screen;opacity:.6;filter:hue-rotate(-60deg) saturate(3);animation:scGl 1.9s steps(1) infinite reverse}
@keyframes scGl{0%{clip-path:inset(10% 0 70% 0);transform:translate(14px)}10%{clip-path:inset(55% 0 25% 0);transform:translate(-18px)}20%{clip-path:inset(30% 0 52% 0);transform:translate(9px)}30%{clip-path:inset(78% 0 6% 0);transform:translate(-8px)}40%{clip-path:inset(4% 0 88% 0);transform:translate(20px)}50%,100%{clip-path:inset(100% 0 0 0)}}
.sc-glt{left:0;right:0;top:48%;margin:0;text-align:center;font:800 clamp(46px,8vw,120px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--c,#fcee0a);text-shadow:4px 0 0 #00f0ff,-4px 0 0 #ff003c;animation:scGlt .9s steps(2) infinite}
@keyframes scGlt{50%{transform:translate(3px,-2px) skewX(6deg)}}

/* Among Us : éjecté */
.sc-eject{background:#000}
.sc-crew{left:-20%;top:40%;width:110px;height:140px;animation:scVol 3s linear both}
.sc-crew::before{content:"";position:absolute;inset:0;background:var(--c);border-radius:46% 46% 30% 30% / 40% 40% 24% 24%;box-shadow:inset -12px -8px 0 rgba(0,0,0,.25)}
.sc-crew::after{content:"";position:absolute;left:-18px;top:46px;width:26px;height:60px;background:var(--c);border-radius:8px;filter:brightness(.8)}
.sc-crew i{position:absolute;right:-6px;top:26px;width:70px;height:40px;border-radius:20px;background:linear-gradient(#bfe6f5,#5ca7c7);box-shadow:inset -6px -4px 0 rgba(0,0,0,.2)}
@keyframes scVol{from{transform:translateX(0) rotate(0)}to{transform:translateX(150vw) rotate(720deg)}}
.sc-amogus{left:0;right:0;top:64%;margin:0;text-align:center;font:500 clamp(24px,3.4vw,44px) 'DM Sans',sans-serif;color:#fff;overflow:hidden;white-space:nowrap;animation:scType 1.2s 1s steps(30) both}

/* Rocket League, FC : le but */
.sc-but{background:radial-gradient(circle,#1d2c4a,#05070d 70%)}
.sc-goal{left:0;right:0;top:46%;margin:0;transform:translateY(-50%);text-align:center;font:800 italic clamp(70px,13vw,180px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;text-shadow:0 0 40px var(--c),6px 6px 0 #000;animation:scPunch .6s .1s cubic-bezier(.2,1.7,.4,1) both}

/* Splatoon : l'encre */
.sc-encre{background:#13072a}
.sc-ink{left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;background:radial-gradient(circle at 30% 40%,var(--c) 0 18%,transparent 18.4%),radial-gradient(circle at 62% 30%,var(--c) 0 14%,transparent 14.3%),radial-gradient(circle at 55% 64%,var(--c) 0 24%,transparent 24.3%),radial-gradient(circle at 26% 70%,var(--c) 0 12%,transparent 12.3%),radial-gradient(circle at 78% 58%,var(--c) 0 13%,transparent 13.3%);animation:scInk .7s cubic-bezier(.2,1.4,.4,1) both}
.sc-ink.b{animation-delay:.45s;transform:rotate(140deg)}
@keyframes scInk{from{transform:scale(.1) rotate(var(--r,0))}}
.sc-fresh{left:0;right:0;top:44%;margin:0;text-align:center;font:800 clamp(56px,10vw,140px)/1 'Barlow Condensed',sans-serif;color:#fff;-webkit-text-stroke:4px #13072a;paint-order:stroke fill;transform:rotate(-6deg);animation:scPop .5s 1s cubic-bezier(.2,1.6,.4,1) both}

/* Street Fighter, Mortal Kombat : K.O., Fatality */
.sc-k{left:0;right:0;top:50%;margin:0;transform:translateY(-50%);text-align:center;font:800 italic clamp(100px,20vw,280px)/1 'Barlow Condensed',sans-serif;color:#ffd23f;-webkit-text-stroke:5px #7a0b0b;paint-order:stroke fill;text-shadow:0 10px 0 #5a0505,0 0 50px rgba(255,80,0,.7);animation:scKo .5s .5s cubic-bezier(.2,1.8,.4,1) both,scShake .4s 1s both}
.sc-k.mk{font-style:normal;font-size:clamp(70px,12vw,170px);letter-spacing:.06em;text-transform:uppercase;color:#c8102e;-webkit-text-stroke:2px #000;text-shadow:0 0 30px #ff0000,0 8px 0 #000}
@keyframes scKo{from{opacity:0;transform:translateY(-50%) scale(3)}}
@keyframes scShake{25%{transform:translate(-8px,-50%)}50%{transform:translate(8px,calc(-50% + 4px))}75%{transform:translate(-4px,-50%)}}

/* FPS : mire et marqueurs de touche */
.sc-mire{left:50%;top:50%;width:70px;height:70px;margin:-35px 0 0 -35px;background:linear-gradient(#fff,#fff) 50% 0/3px 22px no-repeat,linear-gradient(#fff,#fff) 50% 100%/3px 22px no-repeat,linear-gradient(#fff,#fff) 0 50%/22px 3px no-repeat,linear-gradient(#fff,#fff) 100% 50%/22px 3px no-repeat;filter:drop-shadow(0 0 3px #000)}
.sc-hit{width:46px;height:46px;margin:-23px 0 0 -23px;background:linear-gradient(45deg,transparent 46%,#fff 46% 54%,transparent 54%) 0 0/40% 40% no-repeat,linear-gradient(-45deg,transparent 46%,#fff 46% 54%,transparent 54%) 100% 0/40% 40% no-repeat,linear-gradient(-45deg,transparent 46%,#fff 46% 54%,transparent 54%) 0 100%/40% 40% no-repeat,linear-gradient(45deg,transparent 46%,#fff 46% 54%,transparent 54%) 100% 100%/40% 40% no-repeat;opacity:0;animation:scHit .35s ease-out both}
@keyframes scHit{0%{opacity:1;transform:scale(.6)}100%{opacity:0;transform:scale(1.3)}}
.sc-tr{left:0;right:0;bottom:16%;margin:0;text-align:center;font:800 clamp(34px,5.5vw,76px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#fff;text-shadow:0 0 20px #000;animation:scPop .5s 1.25s cubic-bezier(.2,1.6,.4,1) both}

/* Horreur : le cœur bat */
.sc-pouls{inset:0;box-shadow:inset 0 0 160px 60px var(--c);animation:scPouls 2.8s ease-in both}
@keyframes scPouls{0%{opacity:.2}8%{opacity:1}20%{opacity:.35}33%{opacity:1}43%{opacity:.4}53%{opacity:1}62%{opacity:.45}70%{opacity:1}78%{opacity:.5}86%,100%{opacity:1}}
.sc-peur{left:0;right:0;top:46%;margin:0;text-align:center;font:italic 500 clamp(34px,5vw,70px) 'Cormorant Garamond',Georgia,serif;color:#f0d0c0;text-shadow:0 0 20px #000;animation:scIn .6s 1s both}

/* Mer : vague, bulles, aileron */
.sc-vague{left:0;right:0;bottom:-2%;width:100%;height:46%;animation:scVague 2.8s cubic-bezier(.3,.7,.2,1) both}
.sc-vague path{fill:rgba(20,110,160,.82)}
@keyframes scVague{from{transform:translateY(100%)}to{transform:none}}
.sc-aileron{left:-10%;bottom:30%;width:0;height:0;border-left:30px solid transparent;border-right:50px solid transparent;border-bottom:80px solid #2c3640;animation:scAileron 2.6s .4s linear both}
@keyframes scAileron{to{transform:translateX(120vw)}}
.sc-mer{left:0;right:0;top:30%;margin:0;text-align:center;font:800 clamp(44px,7.5vw,104px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;text-shadow:0 0 30px rgba(0,0,0,.7);animation:scPop .6s .9s cubic-bezier(.2,1.5,.4,1) both}

/* Spider-Man : toile */
.sc-web{inset:0;width:100%;height:100%}
.sc-web path{fill:none;stroke:rgba(255,255,255,.85);stroke-width:.3;stroke-dasharray:160;stroke-dashoffset:160;animation:scFil .5s ease-out forwards}
.sc-web .r path{animation-delay:.3s}

/* God of War : la hache */
.sc-axe{left:-12%;top:38%;width:120px;height:120px;background:linear-gradient(135deg,#d9e7f2 0 40%,#7f95a8 40% 55%,transparent 55%),linear-gradient(#5a3a22,#5a3a22) 46% 50%/14% 90% no-repeat;border-radius:10% 60% 10% 10%;filter:drop-shadow(0 0 14px #9fd6ff);animation:scHache .75s cubic-bezier(.4,0,.8,.6) both}
@keyframes scHache{from{transform:translateX(0) rotate(0)}to{transform:translateX(60vw) rotate(1440deg)}}
.sc-boy{left:0;right:0;top:56%;margin:0;text-align:center;font:500 clamp(70px,12vw,170px)/1 'Cormorant Garamond',Georgia,serif;color:#e8f2fa;text-shadow:0 0 30px rgba(120,190,255,.6);animation:scIn .4s .85s both,scShake .3s .78s both}

/* Katana : vent et coupe */
.sc-vent{inset:0;background:repeating-linear-gradient(100deg,transparent 0 60px,rgba(255,255,255,.08) 60px 62px);animation:scVent 1.2s linear infinite}
@keyframes scVent{to{background-position:300px 0}}
.sc-coupe{left:-10%;top:52%;width:120%;height:3px;background:linear-gradient(90deg,transparent,#fff 40%,#fff 60%,transparent);box-shadow:0 0 18px #fff;transform:rotate(-14deg) scaleX(0);transform-origin:left;animation:scCoupe .25s 1.1s cubic-bezier(.7,0,.2,1) forwards}
@keyframes scCoupe{to{transform:rotate(-14deg) scaleX(1)}}
.sc-kat{left:0;right:0;top:20%;margin:0;text-align:center;font:500 clamp(34px,5vw,64px) 'Cormorant Garamond',Georgia,serif;color:#fff;animation:scIn .5s 1.4s both}

/* 007 : le canon */
.sc-point{left:-4%;top:50%;width:46px;height:46px;margin-top:-23px;border-radius:50%;background:#fff;box-shadow:0 0 20px #fff;animation:scPoint 1.05s cubic-bezier(.4,0,.6,1) both}
@keyframes scPoint{0%{transform:translateX(0)}60%{transform:translateX(52vw)}100%{transform:translateX(50vw) scale(9);opacity:0}}
.sc-barillet{left:50%;top:50%;width:64vmin;height:64vmin;margin:-32vmin 0 0 -32vmin;border-radius:50%;background:center/cover no-repeat;box-shadow:0 0 0 200vmax #050505,inset 0 0 60px #000;opacity:0;animation:scBarillet 1.8s 1.05s cubic-bezier(.2,.8,.2,1) both}
.sc-barillet::after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(rgba(0,0,0,.45) 0 7deg,transparent 7deg 30deg)}
@keyframes scBarillet{from{opacity:1;transform:scale(.15)}to{opacity:1;transform:scale(1)}}
.sc-bond{left:0;right:0;bottom:10%;margin:0;text-align:center;font:500 italic clamp(30px,4vw,54px) 'Cormorant Garamond',Georgia,serif;color:#f3ead9;animation:scIn .5s 2s both}

/* Looney Tunes : l'iris qui se ferme */
.sc-diaph{left:50%;top:50%;width:150vmax;height:150vmax;margin:-75vmax 0 0 -75vmax;border-radius:50%;box-shadow:0 0 0 200vmax #000;background:transparent;animation:scIris 1.8s .3s cubic-bezier(.6,0,.4,1) both}
@keyframes scIris{to{transform:scale(.06)}}
.sc-folks{left:0;right:0;top:44%;margin:0;text-align:center;font:500 italic clamp(40px,6vw,86px) 'Cormorant Garamond',Georgia,serif;color:#fff;text-shadow:0 0 20px #c8102e;animation:scIn .4s 2s both}
.sc-diaph::before{content:"";position:absolute;inset:-2%;border-radius:50%;box-shadow:0 0 0 40px #c8102e,0 0 0 80px #000,0 0 0 120px #c8102e}

/* The King Is Watching : l'œil */
.sc-oeil-g{left:50%;top:48%;width:min(70vw,640px);height:min(36vw,330px);margin:calc(min(36vw,330px) / -2) 0 0 calc(min(70vw,640px) / -2);border-radius:50%;background:#fff;box-shadow:0 0 80px rgba(255,220,120,.4);animation:scOeil 2.8s ease both;overflow:hidden}
.sc-oeil-g i{position:absolute;left:50%;top:50%;width:38%;aspect-ratio:1;margin:-19% 0 0 -19%;border-radius:50%;background:radial-gradient(circle,#000 0 30%,#3a7bd5 31% 70%,#1d3f73 71%);animation:scRegard 2.8s ease-in-out both}
@keyframes scOeil{0%{transform:scaleY(.02)}18%{transform:scaleY(1)}86%{transform:scaleY(1)}92%{transform:scaleY(.05)}100%{transform:scaleY(1)}}
@keyframes scRegard{20%{transform:none}40%{transform:translateX(-45%)}60%{transform:translateX(45%)}80%,100%{transform:none}}
.sc-roi{left:0;right:0;bottom:12%;margin:0;text-align:center;font:500 italic clamp(30px,4.4vw,60px) 'Cormorant Garamond',Georgia,serif;color:#ffd27a;animation:scIn .5s 1s both}

/* Cartoon : rebond et couleurs */
.sc-toon{left:0;right:0;top:50%;margin:0;transform:translateY(-50%);text-align:center;font:800 clamp(56px,10vw,140px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:var(--c);-webkit-text-stroke:5px #1a1206;paint-order:stroke fill;text-shadow:8px 8px 0 #1a1206;animation:scToon 1.2s cubic-bezier(.3,1.8,.4,1) both,scWobble .5s 1.2s ease-in-out 2}
@keyframes scToon{from{opacity:0;transform:translateY(-50%) scale(.2) rotate(-20deg)}}
@keyframes scWobble{25%{transform:translateY(-50%) rotate(-4deg) scale(1.05)}75%{transform:translateY(-50%) rotate(4deg) scale(.97)}}

/* DOOM : l'enfer */
.sc-brasier{left:0;right:0;bottom:0;height:55%;background:linear-gradient(transparent,rgba(255,60,10,.55) 60%,rgba(255,150,40,.8));animation:scBat .25s steps(2) infinite}
.sc-doom{left:0;right:0;top:44%;margin:0;text-align:center;font:800 clamp(64px,11vw,160px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:#ff2a1a;text-shadow:0 0 30px #ff2a1a,6px 6px 0 #1a0000;animation:scKo .4s .2s cubic-bezier(.2,1.8,.4,1) both,scShake .25s .6s 3 both}

/* Hitman, caisse : le code-barres */
.sc-barres{left:50%;top:40%;width:min(60vw,540px);height:120px;margin-left:calc(min(60vw,540px) / -2);background:repeating-linear-gradient(90deg,#fff 0 3px,transparent 3px 6px,#fff 6px 7px,transparent 7px 12px,#fff 12px 16px,transparent 16px 19px);animation:scType .9s steps(18) both}
.sc-laser{left:0;right:0;top:40%;height:3px;background:#ff2020;box-shadow:0 0 16px #ff2020;animation:scScanBas 1.1s .2s ease-in-out both}
@keyframes scScanBas{from{transform:translateY(0)}to{transform:translateY(120px)}}
.sc-sa{left:0;right:0;top:60%;margin:0;text-align:center;font:800 clamp(40px,6.4vw,90px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#fff;animation:scIn .4s 1.3s both}
.sc-sa::first-letter{color:#c0171f}

/* Fallout, Half-Life : écran cathodique */
.sc-pipboy{background:#020a03}
.sc-crt{inset:4%;border-radius:4% / 6%;background:radial-gradient(ellipse at center,#0d2b12,#020a03 80%);box-shadow:inset 0 0 80px rgba(0,0,0,.9)}
.sc-crt::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px);border-radius:inherit}
.sc-boot{position:absolute;left:8%;right:8%;top:40%;margin:0;font:700 clamp(26px,4vw,52px)/1.3 'Courier New',monospace;color:#3cff6a;text-shadow:0 0 10px #3cff6a;overflow:hidden;animation:scType 1.8s .3s steps(32) both}

/* Cuphead, vieux films : pellicule des années 30 */
.sc-rayures{inset:0;background:repeating-linear-gradient(90deg,transparent 0 23%,rgba(255,255,255,.25) 23% 23.2%,transparent 23.2% 61%,rgba(0,0,0,.4) 61% 61.15%,transparent 61.15%);animation:scRay .2s steps(3) infinite}
@keyframes scRay{33%{transform:translateX(3%)}66%{transform:translateX(-5%)}}
.sc-carton{left:50%;top:50%;width:min(80vw,760px);padding:34px 40px;transform:translate(-50%,-50%);border:6px double #f4e9d0;background:rgba(20,12,4,.85);text-align:center;animation:scPop .6s .3s cubic-bezier(.2,1.4,.4,1) both}
.sc-carton p{margin:0;font:500 italic clamp(30px,4.6vw,62px)/1.15 'Cormorant Garamond',Georgia,serif;color:#f4e9d0}
.sc-carton p:empty::before{content:"Fin";font-style:normal;letter-spacing:.3em;text-transform:uppercase}

/* Viseur de caméra */
.sc-viseur{inset:5%;border:2px solid rgba(255,255,255,.8);background:linear-gradient(#fff,#fff) 50% 50%/40px 2px no-repeat,linear-gradient(#fff,#fff) 50% 50%/2px 40px no-repeat}
.sc-viseur b{position:absolute;left:24px;top:20px;padding-left:24px;font:700 26px 'Courier New',monospace;color:#fff;background:radial-gradient(circle at 9px 50%,#ff2020 8px,transparent 9px);animation:scBlink 1s steps(2) infinite}
.sc-tc{position:absolute;right:24px;bottom:20px;font:700 22px 'Courier New',monospace;color:#fff}

/* Vitesse : feux de départ, tunnel */
.sc-tunnel{left:50%;top:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;background:repeating-conic-gradient(rgba(255,255,255,.18) 0 1deg,transparent 1deg 9deg);-webkit-mask-image:radial-gradient(circle,transparent 8%,#000 40%);mask-image:radial-gradient(circle,transparent 8%,#000 40%);animation:scTunnel .5s 1.4s linear infinite;opacity:0}
@keyframes scTunnel{from{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1.6)}}
.sc-feux{left:50%;top:30%;display:flex;gap:18px;margin-left:-114px;padding:16px;background:#111;border:3px solid #333}
.sc-feux i{width:56px;height:56px;border-radius:50%;background:#2a0505;animation:scFeu .2s both}
.sc-feux i:nth-child(1){animation-delay:.2s}.sc-feux i:nth-child(2){animation-delay:.6s}.sc-feux i:nth-child(3){animation-delay:1s}
@keyframes scFeu{to{background:#ff2020;box-shadow:0 0 30px #ff2020}}
.sc-go{left:0;right:0;top:56%;margin:0;text-align:center;font:800 italic clamp(90px,15vw,210px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#3cff6a;text-shadow:0 0 40px #3cff6a,6px 6px 0 #000;animation:scPunch .4s 1.4s cubic-bezier(.2,1.8,.4,1) both}

/* Éclat héroïque : anneaux */
.sc-anneaux i{position:absolute;left:50%;top:50%;width:40vmin;height:40vmin;margin:-20vmin 0 0 -20vmin;border-radius:50%;border:6px solid var(--c);box-shadow:0 0 40px var(--c2),inset 0 0 40px var(--c2);animation:scRing 1.6s ease-out both}
.sc-anneaux i:nth-child(2){animation-delay:.25s;border-color:var(--c2)}.sc-anneaux i:nth-child(3){animation-delay:.5s}
.sc-penta{left:0;right:0;top:50%;margin:0;transform:translateY(-50%);text-align:center;font:800 clamp(70px,12vw,170px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--c);text-shadow:0 0 40px var(--c),5px 5px 0 #000;animation:scPunch .5s .4s cubic-bezier(.2,1.7,.4,1) both}

/* Sabre laser */
.sc-lame{left:50%;top:15%;width:12px;height:70%;margin-left:-6px;border-radius:6px;background:#fff;box-shadow:0 0 12px 4px var(--c),0 0 40px 12px var(--c);transform:scaleY(0);transform-origin:bottom;animation:scLame .45s .2s cubic-bezier(.2,.9,.2,1) forwards,scHum .08s .7s steps(2) infinite}
@keyframes scLame{to{transform:scaleY(1)}}
@keyframes scHum{50%{opacity:.88}}
.sc-force{left:0;right:0;bottom:8%;margin:0;text-align:center;font:500 italic clamp(28px,4vw,54px) 'Cormorant Garamond',Georgia,serif;color:#fff;animation:scIn .5s 1s both}

/* Matrix */
.sc-pluie{inset:0;width:100%;height:100%}
.sc-matrix{left:0;right:0;top:46%;margin:0;padding:12px;text-align:center;font:700 clamp(28px,4.6vw,60px) 'Courier New',monospace;color:#d6ffe0;background:rgba(0,0,0,.6);overflow:hidden;white-space:nowrap;animation:scType 1.4s .6s steps(24) both}

/* Mission impossible : la mèche */
.sc-cordon{left:0;right:0;bottom:22%;height:6px;background:repeating-linear-gradient(90deg,#e8dcc4 0 10px,#b9a888 10px 14px)}
.sc-cordon i{position:absolute;left:0;top:-14px;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#fff 0,#ffd27a 30%,#ff7a1a 55%,transparent 70%);box-shadow:0 0 30px 10px rgba(255,140,40,.8);animation:scMeche 2.3s linear both}
.sc-cordon::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:#111;animation:scBrule 2.3s linear both}
@keyframes scMeche{to{left:calc(100% - 34px)}}
@keyframes scBrule{to{width:100%}}
.sc-mi{left:0;right:0;top:34%;margin:0;text-align:center;font:700 clamp(30px,4.6vw,62px) 'Courier New',monospace;color:#fff;animation:scType 1.4s .2s steps(26) both}

/* Squid Game */
.sc-soleil{background:#0f1712}
.sc-feu-v{inset:0;animation:scFeuV 2.9s steps(1) both}
@keyframes scFeuV{0%{background:#0c4a2a}55%,100%{background:#5a0a14}}
.sc-formes{left:50%;top:22%;width:min(70vw,620px);transform:translateX(-50%);overflow:visible}
.sc-formes *{fill:none;stroke:#ff2d7a;stroke-width:9;stroke-linejoin:round;opacity:0;animation:scIn .25s both}
.sc-formes circle{animation-delay:.1s}.sc-formes path{animation-delay:.35s}.sc-formes rect{animation-delay:.6s}
.sc-sq{left:0;right:0;top:66%;margin:0;text-align:center;font:800 clamp(40px,6.6vw,92px)/1 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;animation:scIn .4s .9s both}

/* Titre de film : bandes noires et générique */
.sc-bandes{inset:0;background:linear-gradient(#000,#000) 0 0/100% 12% no-repeat,linear-gradient(#000,#000) 0 100%/100% 12% no-repeat;animation:scBandes .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes scBandes{from{background-size:100% 50%,100% 50%}}
.sc-tt{left:6%;right:6%;bottom:18%;margin:0;font:800 clamp(56px,9vw,130px)/.9 'Barlow Condensed',sans-serif;text-transform:uppercase;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.8);animation:scTitre .9s .4s cubic-bezier(.2,.8,.2,1) both}
.sc-tt::before{content:"";display:block;width:90px;height:6px;margin-bottom:18px;background:var(--c)}
.sc-tt small{display:block;margin-top:14px;font:italic 500 clamp(22px,3vw,38px) 'Cormorant Garamond',Georgia,serif;text-transform:none;color:#f3ead9}
@keyframes scTitre{from{opacity:0;transform:translateY(30px);letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.sc{display:none}}
