/* Cockfight arena v1 — modern blue fighting ring (override for .cf-floor; crowd/ring untouched) */
.cf-arena{background:#070b21}
.cf-ring{box-shadow:inset 0 -150px 190px -90px rgba(37,99,235,.40)}
.cf-floor{
  height:46%;
  background:
    radial-gradient(44% 48% at 50% 44%, rgba(125,211,252,.32), rgba(125,211,252,0) 72%),
    radial-gradient(40% 34% at 50% 50%, rgba(0,0,0,0) 0 93.5%, rgba(165,210,255,.95) 94.5% 97.5%, rgba(0,0,0,0) 99%),
    radial-gradient(22% 18% at 50% 50%, rgba(0,0,0,0) 0 90%, rgba(165,210,255,.55) 92% 96%, rgba(0,0,0,0) 99%),
    linear-gradient(180deg, rgba(0,0,0,0) 0 24%, rgba(125,211,252,.55) 24% calc(24% + 2px), rgba(0,0,0,0) calc(24% + 2px) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.05) 0 1px, rgba(255,255,255,0) 1px 16px),
    linear-gradient(180deg,#2452cc 0%,#1b3ea3 38%,#112769 72%,#0a1a4e 100%);
}
.cf-floor:before{
  height:4px;opacity:1;
  background:linear-gradient(90deg,#22d3ee 0%,#7dd3fc 35%,#ffffff 50%,#7dd3fc 65%,#22d3ee 100%);
  box-shadow:0 0 10px rgba(56,189,248,.95),0 0 26px rgba(56,189,248,.55),0 6px 22px rgba(56,189,248,.35);
}
.cf-floor:after{
  top:0;bottom:0;height:100%;
  background:
    radial-gradient(60% 90% at 50% 100%, rgba(2,6,23,.55), rgba(2,6,23,0) 70%),
    linear-gradient(90deg, rgba(2,6,23,.45) 0%, rgba(2,6,23,0) 18%, rgba(2,6,23,0) 82%, rgba(2,6,23,.45) 100%);
}

/* gamecock v2 pivots (geometry of the new rooster) */
.cf-fighter.is-idle .cf-tail{transform-origin:78px 124px}
.cf-fighter.is-win .cf-wing{transform-origin:120px 94px}
.cf-fighter.is-attack .cf-head{transform-origin:124px 92px}
.cf-fighter.is-hit-head .cf-head{transform-origin:150px 70px}
.cf-fighter.is-kick .cf-leg--f{transform-origin:128px 136px}
.cf-fighter.is-kick .cf-leg--b{transform-origin:100px 136px}

/* ===== cockfight v3: taunt dance, dizzy, dust, stars, notes, rope flash ===== */
@keyframes cf-dance{0%,100%{transform:translate(0,0) rotate(0)}12%{transform:translate(-5%,-13%) rotate(-9deg)}25%{transform:translate(0,0) rotate(0)}37%{transform:translate(5%,-13%) rotate(9deg)}50%{transform:translate(0,0) rotate(0)}62%{transform:translate(-5%,-16%) rotate(-11deg)}75%{transform:translate(0,0) rotate(0)}87%{transform:translate(5%,-16%) rotate(11deg)}}
.cf-fighter.is-dance{animation:cf-dance 1.15s ease-in-out}
@keyframes cf-dance-flap{from{transform:rotate(0)}to{transform:rotate(-38deg)}}
.cf-fighter.is-dance .cf-wing{animation:cf-dance-flap .2s ease-in-out infinite alternate;transform-origin:120px 94px}
@keyframes cf-dance-tail{0%,100%{transform:rotate(0)}50%{transform:rotate(-16deg)}}
.cf-fighter.is-dance .cf-tail{animation:cf-dance-tail .28s ease-in-out infinite;transform-origin:78px 124px}
@keyframes cf-dance-head{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(9deg)}}
.cf-fighter.is-dance .cf-head{animation:cf-dance-head .28s ease-in-out infinite;transform-origin:124px 92px}
@keyframes cf-dance-leg{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
.cf-fighter.is-dance .cf-leg--f{animation:cf-dance-leg .28s ease-in-out infinite alternate;transform-origin:128px 136px}
.cf-fighter.is-dance .cf-leg--b{animation:cf-dance-leg .28s ease-in-out infinite alternate-reverse;transform-origin:100px 136px}
@keyframes cf-dizzy{0%,100%{transform:rotate(0) translateX(0)}25%{transform:rotate(-5deg) translateX(-3%)}50%{transform:rotate(3deg) translateX(2%)}75%{transform:rotate(-4deg) translateX(-2%)}}
.cf-fighter.is-dizzy{animation:cf-dizzy .9s ease-in-out infinite}
@keyframes cf-dizzy-head{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
.cf-fighter.is-dizzy .cf-head{animation:cf-dizzy-head .55s ease-in-out infinite;transform-origin:124px 92px}
/* dust under the feet */
.cf-fighter:after{content:"";position:absolute;left:6%;right:6%;bottom:-2%;height:18%;border-radius:50%;background:radial-gradient(ellipse at 50% 70%,rgba(190,210,255,.65),rgba(190,210,255,0) 70%);opacity:0;pointer-events:none;z-index:-1}
@keyframes cf-dust{0%{opacity:0;transform:scale(.4)}25%{opacity:.9}100%{opacity:0;transform:scale(1.9) translateY(-6%)}}
.cf-fighter.is-kick:after,.cf-fighter.is-attack:after,.cf-fighter.is-hit-head:after,.cf-fighter.is-hit-body:after{animation:cf-dust .6s ease-out}
.cf-fighter.is-dance:after{animation:cf-dust .55s ease-out 2}
/* dizzy stars */
.cf-feather.cf-feather--star{width:16px;height:16px;border-radius:0;background:none;margin:-8px 0 0 -8px;z-index:6;animation:cf-star 1.1s linear forwards}
.cf-feather--star:before{content:"\2605";position:absolute;left:0;top:0;width:16px;line-height:16px;text-align:center;font-size:15px;color:#ffe27a;text-shadow:0 0 6px #ffb020,0 0 2px #fff}
@keyframes cf-star{0%{transform:rotate(var(--rot)) translateX(var(--dx)) scale(.3);opacity:0}15%{opacity:1;transform:rotate(calc(var(--rot) + 60deg)) translateX(var(--dx)) scale(1)}100%{transform:rotate(calc(var(--rot) + 380deg)) translateX(var(--dx)) scale(.7);opacity:0}}
/* music notes */
.cf-feather.cf-feather--note{width:18px;height:22px;border-radius:0;background:none;z-index:6;animation:cf-note 1.15s ease-out forwards}
.cf-feather--note:before{content:"\266A";position:absolute;left:0;top:0;font-size:20px;font-weight:700;color:#fff;text-shadow:0 0 6px rgba(125,211,252,.9),0 2px 2px rgba(0,0,0,.4)}
.cf-feather--note2:before{content:"\266B";color:#ffe27a;text-shadow:0 0 6px rgba(255,190,60,.9),0 2px 2px rgba(0,0,0,.4)}
@keyframes cf-note{0%{transform:translate(0,0) rotate(0) scale(.5);opacity:0}20%{opacity:1;transform:translate(calc(var(--dx) * .3),calc(var(--dy) * .3)) rotate(var(--rot)) scale(1.05)}100%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--rot) * -1)) scale(1);opacity:0}}
/* neon rope flash on a landed hit */
@keyframes cf-rope-flash{0%{box-shadow:0 0 22px rgba(255,255,255,.95),0 0 60px rgba(56,189,248,.95),0 8px 30px rgba(56,189,248,.6)}100%{box-shadow:0 0 10px rgba(56,189,248,.95),0 0 26px rgba(56,189,248,.55),0 6px 22px rgba(56,189,248,.35)}}
.cf-arena:has(.cf-impact--hit) .cf-floor:before,.cf-arena:has(.cf-impact--ko) .cf-floor:before{animation:cf-rope-flash .6s ease-out}
