/* Pipes en bois fixées à un chariot : chaque cible reste physiquement sur son rail. */
.tracks{overflow:visible}
.pipe-target{width:clamp(28px,3cqw,50px);height:clamp(72px,8.4cqw,140px);transform:translate(-50%,-74%) scale(var(--scale,1));transform-origin:50% 74%;overflow:visible}
.pipe-target::after{content:"";position:absolute;z-index:4;left:50%;bottom:21%;width:50%;height:7%;border:1px solid #33271d;border-radius:4px;background:linear-gradient(#d1d0c6,#666965 48%,#272b29 52%,#92958e);box-shadow:-7px 4px 0 -4px #171a19,7px 4px 0 -4px #171a19;transform:translateX(-50%)}
.pipe-target .bowl{
  z-index:2;left:5%;top:0;bottom:auto;width:72%;height:24%;
  border:3px solid #4e2410;border-radius:42% 42% 30% 34%;
  background:linear-gradient(90deg,#6f2d10,#e08a39 45%,#98491d 72%,#4b1e0d);
  box-shadow:inset -5px -3px 0 rgba(35,13,4,.24),inset 4px 2px 0 rgba(255,218,151,.42)
}
.pipe-target .bowl::before{
  content:"";position:absolute;left:3%;right:3%;top:-11%;height:30%;
  border:3px solid #4e2410;border-radius:50%;
  background:radial-gradient(ellipse,#17100c 0 42%,#49301d 45% 57%,#a85a24 60%)
}
.pipe-target .bowl::after{
  content:"";position:absolute;left:30%;top:-75%;width:38%;height:62%;
  border-left:3px solid rgba(245,235,215,.9);border-radius:50%;
  filter:drop-shadow(6px -4px 0 rgba(245,235,215,.55));transform:rotate(9deg)
}
.pipe-target .stem{
  z-index:1;left:38%;top:20%;bottom:auto;width:22%;height:78%;
  border:3px solid #4e2410;border-top:0;border-radius:0 0 12px 12px;
  background:linear-gradient(90deg,#64270e,#d88032 48%,#7a3214);transform:none
}
.pipe-target .stem::after{
  content:"";position:absolute;left:-25%;right:auto;bottom:-3%;width:150%;height:7%;
  border-radius:8px;background:#5c3926;transform:none
}
.pipe-target.hit .bowl{transform:rotate(-35deg) translate(-9px,12px)}
.pipe-target.hit .stem{transform:rotate(24deg) translate(7px,8px)}
.pipe-target.white .bowl,.pipe-target.tiny-white .bowl{border-color:#665b48;background:linear-gradient(90deg,#b9b09d,#f4f0df 42%,#d6cebb 68%,#8e826c)}
.pipe-target.white .stem,.pipe-target.tiny-white .stem{border-color:#665b48;background:repeating-linear-gradient(90deg,#a99f89 0 3px,#eee9d7 4px 8px,#c9bea7 9px 12px)}
.pipe-target.blue .bowl{border-color:#123d57;background:linear-gradient(90deg,#174b68,#3e91b3 42%,#246b8c 70%,#102e44)}
.pipe-target.blue .stem{border-color:#123d57;background:repeating-linear-gradient(90deg,#17445e 0 3px,#4c9cba 4px 8px,#246781 9px 12px)}
.pipe-target.red .bowl{border-color:#641d18;background:linear-gradient(90deg,#721e19,#d8513c 42%,#a52e27 70%,#48120f)}
.pipe-target.red .stem{border-color:#641d18;background:repeating-linear-gradient(90deg,#721e19 0 3px,#df6049 4px 8px,#a52e27 9px 12px)}
.point-burst{position:absolute;color:#ffe36a;font:900 clamp(18px,2.2cqw,36px)/1 Impact,sans-serif;text-shadow:2px 2px 0 #54220c;transform:translate(-50%,-50%);animation:points-up .8s ease-out forwards}
@keyframes points-up{to{opacity:0;transform:translate(-50%,-180%) scale(1.35)}}
.gun-cylinders{display:flex;gap:5px}.second-cylinder{transform:scale(.86)}
.revolver-hud.dual{box-shadow:0 0 0 4px #e8b936,6px 7px 0 rgba(41,18,6,.42)}
.revolver-hud small{grid-column:1/-1;color:#66310f;font-size:.58rem;font-weight:1000;letter-spacing:.1em}
.wanted-event{position:absolute;z-index:50;inset:0;display:grid;place-items:center;background:rgba(50,23,7,.58);backdrop-filter:blur(2px);cursor:default}
.wanted-curtain{position:relative;display:flex;align-items:center;gap:clamp(14px,3cqw,42px);width:min(780px,86%);padding:clamp(14px,2.5cqw,35px);border:6px solid #6a3414;border-radius:16px;color:#351707;background:linear-gradient(135deg,#f7d989,#d99e46);box-shadow:14px 16px 0 rgba(45,18,5,.48);animation:poster-unfold .72s cubic-bezier(.2,1.3,.45,1)}
.wanted-curtain::before,.wanted-curtain::after{content:"";position:absolute;z-index:-1;left:5%;top:-4%;width:35%;height:108%;border:3px solid #734019;background:#d5a557;transform:rotate(-7deg)}
.wanted-curtain::after{left:12%;transform:rotate(6deg)}
.wanted-curtain img{width:min(43%,310px);max-height:72cqh;object-fit:contain;filter:drop-shadow(7px 9px 4px rgba(48,20,5,.42))}
.wanted-curtain div{flex:1;text-align:center}.wanted-curtain span,.wanted-curtain small{display:block;font-weight:1000;letter-spacing:.14em;color:#9b2f1f}.wanted-curtain strong{display:block;margin:10px 0;font:900 clamp(32px,5cqw,76px)/.9 Impact,sans-serif;color:#087f82}.wanted-curtain p{font:800 clamp(15px,1.8cqw,25px)/1.25 Georgia,serif}
@keyframes poster-unfold{from{opacity:0;transform:scaleY(.06) rotate(-3deg)}to{opacity:1;transform:none}}
/* Esquive très lisible du forain lorsqu'il est pris pour cible. */
.operator.dodge{z-index:26;animation:old-man-dodge 1.25s cubic-bezier(.2,.9,.25,1)}
.operator.dodge img{animation:old-man-surprise 1.25s ease;filter:drop-shadow(0 12px 10px rgba(0,0,0,.65)) drop-shadow(0 0 10px #ffe08a)}
.operator.dodge::before{content:"";position:absolute;z-index:30;left:48%;top:27%;width:105%;height:5px;border-radius:5px;background:linear-gradient(90deg,#fff8bd,#ffbd42 55%,transparent);box-shadow:0 0 8px #fff,0 0 18px #ff9e30;transform:rotate(-9deg);animation:bullet-streak .34s ease-out forwards;pointer-events:none}
.operator.pipe-broken::after{top:17%;right:0;width:42px;height:11px;box-shadow:0 0 7px #ffc85b;animation:fragment 1s ease-out forwards}
.game-window.old-man-dodged{animation:dodge-flash .32s ease}
@keyframes old-man-dodge{0%,12%{transform:none}27%{transform:translate(43%,32%) rotate(19deg) scale(.95)}58%{transform:translate(39%,39%) rotate(14deg) scale(.91)}76%{transform:translate(18%,13%) rotate(5deg)}100%{transform:none}}
@keyframes old-man-surprise{0%,100%{filter:drop-shadow(0 12px 10px rgba(0,0,0,.65))}20%,58%{filter:drop-shadow(0 16px 12px rgba(0,0,0,.8)) drop-shadow(0 0 12px #ffe08a)}}
@keyframes bullet-streak{0%{opacity:0;transform:translateX(-35%) rotate(-9deg) scaleX(.1)}25%{opacity:1}100%{opacity:0;transform:translateX(55%) rotate(-9deg) scaleX(1.25)}}
@keyframes dodge-flash{45%{filter:brightness(1.35) saturate(1.2)}100%{filter:none}}
