.bigstep-typing-fighter-page{overflow-x:hidden!important}.bigstep-typing-fighter-page .haru-page-title,.bigstep-typing-fighter-page .page-sidebar{display:none!important}.bigstep-typing-fighter-page .haru-page>.h-row,.bigstep-typing-fighter-page .page-content,.bigstep-typing-fighter-page .page-content-wrap,.bigstep-typing-fighter-page .entry-content,.bigstep-typing-fighter-page article.page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.bigstep-typing-fighter-page .page-content{flex:0 0 100%!important}
:root{--bstf-lime:#b8ff00;--bstf-bg:#080d0d;--bstf-card:#111818;--bstf-line:#32403f;--bstf-text:#f5f7f5;--bstf-muted:#93a09d}
body.bigstep-typing-fighter-page{background:#080d0d!important;color:var(--bstf-text)}.bigstep-typing-fighter-page .entry-header,.bigstep-typing-fighter-page .page-header{display:none}.bigstep-typing-fighter-page .site-main,.bigstep-typing-fighter-page .entry-content{max-width:none!important;margin:0!important;padding:0!important}
.bstf-app{max-width:1320px;margin:auto;padding:70px 24px 100px;font-family:Inter,Arial,sans-serif;color:var(--bstf-text)}.bstf-app *{box-sizing:border-box}.bstf-hero{text-align:center;margin-bottom:28px}.bstf-kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--bstf-lime);font-size:12px;font-weight:900;letter-spacing:2px}.bstf-kicker span{width:34px;height:1px;background:#40504d}.bstf-hero h1{font-size:clamp(52px,7vw,92px);line-height:.92;letter-spacing:-5px;margin:16px 0 12px;text-transform:uppercase}.bstf-hero h1 em{color:var(--bstf-lime);font-style:normal}.bstf-hero p{color:#c1cac7;font-size:17px}
.bstf-mode-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 26px}.bstf-mode-wrap>span{font-size:10px;color:var(--bstf-muted);font-weight:800;letter-spacing:1.5px}.bstf-mode{display:flex;padding:4px;background:#111817;border:1px solid var(--bstf-line);border-radius:14px}.bstf-mode button{border:0;background:transparent;color:#8d9996;padding:11px 22px;border-radius:10px;font:800 12px inherit;cursor:pointer}.bstf-mode button[aria-pressed=true]{background:var(--bstf-lime);color:#10150f;box-shadow:0 0 24px #b8ff0030}.bstf-mode-wrap small{color:#74817e;font-size:11px}
.bstf-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start}.bstf-game-card,.bstf-side section{background:linear-gradient(145deg,#131a1a,#0d1212);border:1px solid var(--bstf-line);border-radius:22px;overflow:hidden;box-shadow:0 20px 70px #0006}.bstf-game-top{display:grid;grid-template-columns:repeat(4,1fr);padding:14px 18px;border-bottom:1px solid var(--bstf-line);gap:10px}.bstf-game-top div{padding:5px 14px;border-right:1px solid #283332}.bstf-game-top div:last-child{border:0}.bstf-game-top small{display:block;color:#7f8c89;font-size:10px;font-weight:900;letter-spacing:1px}.bstf-game-top strong{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}
.bstf-arena{height:430px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 55%,#27331c 0,#101716 38%,#090d0d 74%)}.bstf-arena:before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(transparent,#000 30%,#000)}.bstf-arena:after{content:"";position:absolute;left:8%;right:8%;bottom:63px;height:2px;background:linear-gradient(90deg,transparent,#7d918b,transparent);box-shadow:0 12px 30px #b8ff0030}.bstf-round-label{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:900;color:#8e9c98;letter-spacing:3px}
.bstf-fighter{position:absolute;bottom:80px;width:135px;height:210px;filter:drop-shadow(0 22px 16px #0008);transition:.2s}.bstf-player{left:18%}.bstf-enemy{right:18%;transform:scaleX(-1)}.bstf-head{position:absolute;top:0;left:38px;width:62px;height:62px;border-radius:22px 22px 28px 28px;background:#f0b58a;border:5px solid #101515}.bstf-head:before{content:"";position:absolute;top:-8px;left:-3px;width:60px;height:24px;background:#171d1c;border-radius:20px 20px 5px 5px}.bstf-head:after{content:"•  •";position:absolute;top:20px;left:15px;color:#101515;font-weight:900;letter-spacing:10px}.bstf-body{position:absolute;top:55px;left:22px;width:92px;height:92px;border-radius:24px 24px 15px 15px;background:var(--bstf-lime);border:6px solid #101515;color:#101515;display:grid;place-items:center;font-size:40px;font-weight:1000}.bstf-enemy .bstf-body{background:#ff5b53;color:#fff}.bstf-arm{position:absolute;top:75px;left:97px;width:72px;height:24px;border-radius:20px;background:#f0b58a;border:5px solid #101515;transform:rotate(-25deg);transform-origin:left}.bstf-leg{position:absolute;top:137px;left:35px;width:28px;height:75px;border-radius:14px;background:#293332;border:5px solid #101515;box-shadow:45px 0 #293332}.bstf-fighter.is-hit{animation:bstfPunch .24s ease}.bstf-fighter.is-hurt{animation:bstfHurt .24s ease}.bstf-impact{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.2) rotate(-8deg);font-size:35px;font-weight:1000;color:var(--bstf-lime);text-shadow:3px 3px #111;opacity:0;z-index:4}.bstf-impact.show{animation:bstfPow .25s ease}.bstf-hp{position:absolute;bottom:22px;width:35%;font-size:9px;font-weight:900;color:#aab5b2}.bstf-hp-player{left:7%}.bstf-hp-enemy{right:7%;text-align:right}.bstf-hp i{display:block;height:8px;border:1px solid #41504d;border-radius:8px;overflow:hidden;margin-top:5px}.bstf-hp b{display:block;width:100%;height:100%;background:var(--bstf-lime);transition:.25s}.bstf-hp-enemy b{background:#ff5b53;margin-left:auto}
.bstf-type-zone{padding:24px 28px 28px;text-align:center;border-top:1px solid var(--bstf-line)}.bstf-type-zone>small{color:#788582;font-size:10px;font-weight:900;letter-spacing:2px}.bstf-word{font-size:clamp(28px,4vw,52px);font-weight:1000;letter-spacing:-1px;margin:8px 0 18px;text-transform:uppercase;color:#fff;min-height:61px}.bstf-input-row{display:grid;grid-template-columns:1fr 190px;gap:10px;max-width:720px;margin:auto}.bstf-input-row input{min-width:0;height:58px;border:1px solid #465552;border-radius:13px;background:#0b1010;color:#fff;padding:0 18px;font:700 18px inherit;outline:0}.bstf-input-row input:focus{border-color:var(--bstf-lime);box-shadow:0 0 0 3px #b8ff001a}.bstf-input-row button,.bstf-result button{height:58px;border:0;border-radius:13px;background:var(--bstf-lime);color:#10150f;font-weight:1000;cursor:pointer}.bstf-input-row svg{width:17px;fill:none;stroke:currentColor;stroke-width:2.5;vertical-align:middle}.bstf-feedback{height:18px;margin:12px 0 0;color:#84918e;font-size:12px}.bstf-feedback.good{color:var(--bstf-lime)}.bstf-feedback.bad{color:#ff726b}
.bstf-side{display:grid;gap:20px}.bstf-side section{padding:20px}.bstf-side-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.bstf-side-title h2{font-size:15px;margin:0;font-weight:1000}.bstf-side-title span{font-size:9px;color:#7e8b88}.bstf-rewards{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bstf-rewards li{display:grid;grid-template-columns:48px 1fr 45px;align-items:center;gap:12px;border:1px solid #35413f;border-radius:13px;padding:12px;transition:.25s}.bstf-rewards li>b{display:grid;place-items:center;width:44px;height:44px;border:1px solid #51605d;border-radius:10px;color:var(--bstf-lime);font-size:12px}.bstf-rewards strong,.bstf-rewards small{display:block}.bstf-rewards strong{font-size:12px}.bstf-rewards small{font-size:10px;color:#899693;margin-top:3px}.bstf-rewards em{font-style:normal;font-size:11px;font-weight:1000;color:#6f7c79;text-align:right}.bstf-rewards li.is-hit{border-color:var(--bstf-lime);background:#b8ff000d}.bstf-rewards li.is-hit em{color:var(--bstf-lime)}.bstf-guide ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bstf-guide li{display:flex;gap:11px;align-items:center}.bstf-guide li b{flex:0 0 34px;height:34px;display:grid;place-items:center;border:1px solid #668100;border-radius:9px;color:var(--bstf-lime);font-size:10px}.bstf-guide p{margin:0;color:#b2bcba;font-size:11px;line-height:1.45}
.bstf-result,.bstf-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px}.bstf-result[hidden],.bstf-modal[hidden]{display:none}.bstf-result-backdrop,.bstf-modal-backdrop{position:absolute;inset:0;background:#030606dd;backdrop-filter:blur(8px)}.bstf-result section,.bstf-modal>section{position:relative;width:min(430px,100%);padding:35px;text-align:center;background:#111818;border:1px solid #52625e;border-radius:22px;box-shadow:0 30px 100px #000}.bstf-result p,.bstf-modal-kicker{color:var(--bstf-lime);font-size:10px;font-weight:1000;letter-spacing:2px}.bstf-result h2{font-size:32px;margin:10px}.bstf-result>section>strong{display:block;font-size:42px;color:var(--bstf-lime)}.bstf-result [data-result-stats]{color:#9eaaa7;margin:8px 0 22px}.bstf-result button{width:100%}.bstf-modal-close{position:absolute;right:15px;top:12px;border:0;background:none;color:white;font-size:25px}.bstf-coupon{width:100%;padding:17px;border:1px dashed var(--bstf-lime);background:#0a0f0e;color:var(--bstf-lime);border-radius:12px;display:flex;justify-content:space-between}.bstf-shop-link{display:block;margin-top:15px;padding:15px;background:var(--bstf-lime);color:#10150f!important;border-radius:12px;font-weight:900}
@keyframes bstfPunch{50%{transform:translateX(55px) rotate(-4deg)}}@keyframes bstfHurt{50%{transform:translateX(-25px) rotate(-8deg);filter:brightness(2) saturate(3)}}@keyframes bstfPow{50%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(5deg)}} 
@media(max-width:900px){.bstf-app{padding:42px 14px 70px}.bstf-layout{grid-template-columns:1fr}.bstf-side{grid-template-columns:1fr 1fr}.bstf-arena{height:380px}.bstf-player{left:12%}.bstf-enemy{right:12%}}
@media(max-width:600px){.bstf-hero h1{font-size:48px;letter-spacing:-3px}.bstf-hero p{font-size:14px}.bstf-mode button{padding:10px 15px}.bstf-game-top{padding:10px 8px;gap:3px}.bstf-game-top div{padding:4px 7px}.bstf-game-top small{font-size:8px}.bstf-game-top strong{font-size:17px}.bstf-arena{height:310px}.bstf-fighter{transform:scale(.75);transform-origin:bottom}.bstf-player{left:2%}.bstf-enemy{right:2%;transform:scaleX(-1) scale(.75)}.bstf-type-zone{padding:18px 14px 22px}.bstf-word{font-size:27px;min-height:45px}.bstf-input-row{grid-template-columns:1fr}.bstf-input-row input,.bstf-input-row button{height:54px}.bstf-side{grid-template-columns:1fr}.bstf-result section,.bstf-modal>section{padding:28px 20px}.bstf-result>section>strong{font-size:32px}}
@media(prefers-reduced-motion:reduce){.bstf-app *{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Typing Fighter combat arena v2 */
.bstf-arena{height:500px;background:radial-gradient(ellipse at 50% 78%,#33421d 0,#131c17 30%,#070b0b 72%);isolation:isolate;perspective:900px}
.bstf-arena:before{background:linear-gradient(#b8ff000b 1px,transparent 1px),linear-gradient(90deg,#b8ff000b 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(transparent 8%,#000 58%,#000)}
.bstf-arena:after{bottom:72px;height:3px;background:linear-gradient(90deg,transparent,#b8ff00 25%,#9caaa5 50%,#ff5148 75%,transparent);box-shadow:0 0 45px #b8ff0045}
.bstf-stage-lights{position:absolute;inset:0;overflow:hidden;pointer-events:none}.bstf-stage-lights:before,.bstf-stage-lights:after{content:"";position:absolute;top:-30%;width:35%;height:120%;filter:blur(45px);opacity:.14;transform:rotate(18deg)}.bstf-stage-lights:before{left:2%;background:linear-gradient(transparent,#b8ff00,transparent)}.bstf-stage-lights:after{right:2%;background:linear-gradient(transparent,#ff352f,transparent);transform:rotate(-18deg)}
.bstf-round-label{z-index:8;padding:7px 14px;border:1px solid #52615d;border-radius:20px;background:#0a0e0ddd;color:#d7dedb;box-shadow:0 10px 30px #0008}
.bstf-fighter{bottom:76px;width:280px;height:370px;z-index:4;filter:drop-shadow(0 28px 18px #000b);transition:filter .2s}.bstf-player{left:7%}.bstf-enemy{right:7%;transform:none}.bstf-fighter img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:2;pointer-events:none;user-select:none}.bstf-aura{position:absolute;left:12%;right:12%;bottom:2%;height:35%;border-radius:50%;filter:blur(22px);opacity:.32;background:#b8ff00;transform:scaleY(.3);z-index:0}.bstf-enemy .bstf-aura{background:#ff3d34}.bstf-player:after,.bstf-enemy:after{content:"";position:absolute;left:20%;right:20%;bottom:5px;height:18px;background:#000b;filter:blur(9px);border-radius:50%;z-index:-1}
.bstf-player.attack-light{animation:bstfPlayerJab .46s cubic-bezier(.2,.9,.3,1)}.bstf-player.attack-heavy{animation:bstfPlayerHeavy .54s cubic-bezier(.15,.85,.2,1)}.bstf-enemy.attack-light{animation:bstfEnemyJab .48s cubic-bezier(.2,.9,.3,1)}.bstf-player.is-hurt{animation:bstfPlayerHurt .42s ease}.bstf-enemy.is-hurt{animation:bstfEnemyHurt .42s ease}.bstf-enemy.is-ko{animation:bstfEnemyKo .52s ease-in forwards}.bstf-enemy.is-spawn{animation:bstfEnemySpawn .55s ease-out}.bstf-arena.shake{animation:bstfShake .38s linear}.bstf-arena.shake-heavy{animation:bstfShakeHeavy .46s linear}
.bstf-impact{z-index:12;font-size:clamp(27px,4vw,48px);color:#fff;-webkit-text-stroke:2px #111;text-shadow:0 0 20px #b8ff00,5px 5px 0 #111}.bstf-impact.show{animation:bstfImpactV2 .45s ease-out}
.bstf-projectile{position:absolute;left:32%;top:47%;width:52px;height:52px;border-radius:50%;opacity:0;z-index:9;background:radial-gradient(circle,#fff 0 9%,#b8ff00 25%,#78ac00 55%,transparent 72%);box-shadow:0 0 18px #b8ff00,0 0 55px #b8ff00}.bstf-projectile.fire{animation:bstfProjectile .5s ease-in}
.bstf-damage{position:absolute;top:34%;z-index:14;font-size:25px;font-weight:1000;opacity:0;color:#fff;text-shadow:3px 3px 0 #111;-webkit-text-stroke:1px #111;pointer-events:none}.bstf-damage-player{left:20%}.bstf-damage-enemy{right:20%}.bstf-damage.show{animation:bstfDamage .68s ease-out}.bstf-damage.critical{font-size:32px;color:#b8ff00}
.bstf-spark{position:absolute;left:50%;top:47%;width:7px;height:7px;border-radius:50%;z-index:13;background:#b8ff00;box-shadow:0 0 12px currentColor;animation:bstfSpark var(--d) ease-out forwards}.bstf-spark.enemy{left:73%;color:#ffb000;background:#fff}.bstf-spark.player{left:27%;color:#b8ff00}.bstf-key-pop{position:absolute;left:27%;top:35%;z-index:15;width:30px;height:30px;display:grid;place-items:center;border:1px solid #b8ff00;border-radius:7px;background:#111b;color:#b8ff00;font:900 13px/1 Inter;animation:bstfKeyPop .5s ease-out forwards}
.bstf-hp{bottom:18px;z-index:16}.bstf-hp>i{height:10px;background:#080c0c}.bstf-hp>small{display:flex;align-items:center;gap:7px;margin-top:7px;color:#8e9a97;font-size:8px;letter-spacing:1px}.bstf-hp-enemy>small{flex-direction:row-reverse}.bstf-hp small em{display:block;flex:1;height:4px;border-radius:4px;background:#26302e;overflow:hidden}.bstf-hp small em b{height:100%;display:block;width:0;background:#b8ff00;transition:width .2s;box-shadow:0 0 10px #b8ff00}.bstf-hp-enemy small em b{width:100%;background:#ff5148}.bstf-hp-enemy small em b.is-danger{background:#fff;box-shadow:0 0 14px #ff2d26}
.bstf-battle-feed{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:17;color:#cbd2d0;font-size:9px;font-weight:900;letter-spacing:1.2px;white-space:nowrap}
.bstf-word{display:flex;justify-content:center;flex-wrap:wrap;gap:1px}.bstf-word span{display:inline-block;border-bottom:3px solid #303b38;min-width:.42em;transition:color .08s,border-color .08s,transform .08s}.bstf-word span.is-correct{color:#b8ff00;border-color:#b8ff00;transform:translateY(-2px);text-shadow:0 0 18px #b8ff0066}.bstf-word span.is-wrong{color:#ff5148;border-color:#ff5148;animation:bstfWrongChar .18s linear}.bstf-word span.is-pending{color:#eef2ef}
@keyframes bstfPlayerJab{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(105px) translateY(-5px) rotate(5deg)}55%{transform:translateX(95px) rotate(2deg)}}@keyframes bstfPlayerHeavy{0%,100%{transform:translateX(0) scale(1)}25%{transform:translateX(-20px) scale(.97)}55%{transform:translateX(145px) scale(1.07) rotate(7deg)}}@keyframes bstfEnemyJab{0%,100%{transform:translateX(0)}42%{transform:translateX(-105px) rotate(-5deg)}}@keyframes bstfPlayerHurt{30%{transform:translateX(-45px) rotate(-7deg);filter:brightness(2) saturate(2) drop-shadow(0 0 20px #ff3d34)}}@keyframes bstfEnemyHurt{30%{transform:translateX(45px) rotate(8deg);filter:brightness(2) saturate(2) drop-shadow(0 0 22px #b8ff00)}}@keyframes bstfEnemyKo{100%{transform:translateX(130px) translateY(70px) rotate(28deg) scale(.65);opacity:0;filter:blur(4px)}}@keyframes bstfEnemySpawn{0%{transform:translateX(120px) scale(.55);opacity:0;filter:blur(8px)}70%{transform:translateX(-10px) scale(1.04)}}@keyframes bstfShake{20%{transform:translateX(-6px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}@keyframes bstfShakeHeavy{15%{transform:translate(-11px,4px)}30%{transform:translate(12px,-4px)}50%{transform:translate(-8px,2px)}70%{transform:translate(7px,-2px)}}@keyframes bstfImpactV2{0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotate(-16deg)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.35) rotate(5deg)}100%{opacity:0;transform:translate(-50%,-70%) scale(1)}}@keyframes bstfProjectile{0%{opacity:0;transform:translateX(-50px) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translateX(390px) scale(1.5)}}@keyframes bstfDamage{0%{opacity:0;transform:translateY(15px) scale(.5)}25%{opacity:1;transform:translateY(-10px) scale(1.25)}100%{opacity:0;transform:translateY(-80px) scale(.9)}}@keyframes bstfSpark{to{opacity:0;transform:translate(var(--x),var(--y)) scale(.1)}}@keyframes bstfKeyPop{to{opacity:0;transform:translate(70px,-70px) rotate(14deg) scale(.6)}}@keyframes bstfWrongChar{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@media(max-width:900px){.bstf-arena{height:450px}.bstf-fighter{width:235px;height:330px}.bstf-player{left:2%}.bstf-enemy{right:2%}}
@media(max-width:600px){.bstf-arena{height:370px}.bstf-fighter{width:174px;height:255px;bottom:72px;transform:none;transform-origin:center}.bstf-player{left:-2%}.bstf-enemy{right:-2%;transform:none}.bstf-damage{top:32%;font-size:18px}.bstf-damage-player{left:13%}.bstf-damage-enemy{right:13%}.bstf-impact{top:43%}.bstf-hp{width:39%;bottom:14px}.bstf-battle-feed{bottom:44px;font-size:7px}.bstf-projectile{left:25%;top:43%}@keyframes bstfPlayerJab{0%,100%{transform:translateX(0)}45%{transform:translateX(54px) rotate(5deg)}}@keyframes bstfPlayerHeavy{0%,100%{transform:translateX(0)}50%{transform:translateX(72px) scale(1.06) rotate(6deg)}}@keyframes bstfEnemyJab{0%,100%{transform:translateX(0)}45%{transform:translateX(-54px) rotate(-5deg)}}@keyframes bstfProjectile{0%{opacity:0;transform:translateX(-30px) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translateX(210px) scale(1.3)}}}

/* Continuous combat stance */
.bstf-player{animation:bstfPlayerIdle 1.45s ease-in-out infinite;will-change:transform}
.bstf-enemy{animation:bstfEnemyIdle 1.18s ease-in-out infinite;will-change:transform}
.bstf-player img{animation:bstfPlayerBreathe 1.45s ease-in-out infinite;transform-origin:50% 72%}
.bstf-enemy img{animation:bstfEnemyBreathe 1.18s ease-in-out infinite;transform-origin:50% 72%}
.bstf-aura{animation:bstfAuraPulse 1.25s ease-in-out infinite}
.bstf-enemy .bstf-aura{animation-delay:-.55s}
.bstf-stage-lights:before{animation:bstfLightSweep 3.2s ease-in-out infinite}
.bstf-stage-lights:after{animation:bstfLightSweep 2.7s ease-in-out infinite reverse}
.bstf-app.is-fighting .bstf-player{animation-duration:.92s}
.bstf-app.is-fighting .bstf-enemy{animation:bstfEnemyPressure .82s ease-in-out infinite}
.bstf-app.is-fighting .bstf-fighter img{filter:saturate(1.08)}
@keyframes bstfPlayerIdle{0%,100%{transform:translate(0,0) rotate(-.7deg)}40%{transform:translate(7px,-9px) rotate(.8deg)}70%{transform:translate(-2px,-4px) rotate(0)}}@keyframes bstfEnemyIdle{0%,100%{transform:translate(0,0) rotate(.8deg)}45%{transform:translate(-9px,-7px) rotate(-1deg)}72%{transform:translate(-3px,-2px) rotate(.2deg)}}@keyframes bstfEnemyPressure{0%,100%{transform:translate(0,0) rotate(.8deg)}40%{transform:translate(-17px,-8px) rotate(-1.3deg)}65%{transform:translate(-9px,1px) rotate(.4deg)}}@keyframes bstfPlayerBreathe{0%,100%{transform:scale(1) skewX(0)}45%{transform:scale(1.018,.985) skewX(-.5deg)}}@keyframes bstfEnemyBreathe{0%,100%{transform:scale(1)}48%{transform:scale(1.025,.978) rotate(-.4deg)}}@keyframes bstfAuraPulse{0%,100%{opacity:.22;transform:scale(.88,.24)}50%{opacity:.5;transform:scale(1.15,.37)}}@keyframes bstfLightSweep{0%,100%{opacity:.08;transform:translateX(-18px) rotate(18deg)}50%{opacity:.22;transform:translateX(28px) rotate(21deg)}}
@media(max-width:600px){.bstf-player{animation-name:bstfPlayerIdleMobile}.bstf-enemy{animation-name:bstfEnemyIdleMobile}.bstf-app.is-fighting .bstf-enemy{animation-name:bstfEnemyPressureMobile}@keyframes bstfPlayerIdleMobile{0%,100%{transform:translate(0,0) rotate(-.5deg)}45%{transform:translate(5px,-7px) rotate(.7deg)}}@keyframes bstfEnemyIdleMobile{0%,100%{transform:translate(0,0) rotate(.5deg)}45%{transform:translate(-6px,-6px) rotate(-.8deg)}}@keyframes bstfEnemyPressureMobile{0%,100%{transform:translate(0,0)}45%{transform:translate(-11px,-7px) rotate(-1deg)}}}

/* Contact combat: fighters cross the gap and visibly exchange blows */
.bstf-player.attack-light{animation:bstfPlayerContact .68s cubic-bezier(.12,.78,.18,1)!important}
.bstf-player.attack-heavy{animation:bstfPlayerContactHeavy .78s cubic-bezier(.1,.82,.16,1)!important}
.bstf-enemy.attack-light{animation:bstfEnemyContact .7s cubic-bezier(.12,.78,.18,1)!important}
.bstf-player.is-hurt{animation:bstfPlayerHitV2 .56s ease!important}
.bstf-enemy.is-hurt{animation:bstfEnemyHitV2 .56s ease!important}
@keyframes bstfPlayerContact{0%,100%{transform:translateX(0) rotate(-.7deg)}18%{transform:translateX(-18px) rotate(-3deg)}42%,55%{transform:translateX(178px) translateY(-5px) rotate(7deg)}68%{transform:translateX(135px) rotate(3deg)}}@keyframes bstfPlayerContactHeavy{0%,100%{transform:translateX(0)}20%{transform:translateX(-30px) scale(.96) rotate(-5deg)}46%,62%{transform:translateX(212px) translateY(-12px) scale(1.08) rotate(10deg)}75%{transform:translateX(145px) rotate(4deg)}}@keyframes bstfEnemyContact{0%,100%{transform:translateX(0) rotate(.8deg)}18%{transform:translateX(18px) rotate(3deg)}43%,57%{transform:translateX(-178px) translateY(-4px) rotate(-7deg)}70%{transform:translateX(-130px) rotate(-3deg)}}@keyframes bstfPlayerHitV2{0%,100%{transform:translateX(0)}20%,45%{transform:translateX(-58px) rotate(-8deg);filter:brightness(2.2) saturate(2.4) drop-shadow(0 0 25px #ff3d34)}55%{transform:translateX(-58px) rotate(-8deg)}}@keyframes bstfEnemyHitV2{0%,100%{transform:translateX(0)}20%,45%{transform:translateX(62px) rotate(9deg);filter:brightness(2.2) saturate(2.2) drop-shadow(0 0 25px #b8ff00)}55%{transform:translateX(62px) rotate(9deg)}}
@media(max-width:600px){@keyframes bstfPlayerContact{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}43%,57%{transform:translateX(58px) translateY(-4px) rotate(6deg)}70%{transform:translateX(38px)}}@keyframes bstfPlayerContactHeavy{0%,100%{transform:translateX(0)}20%{transform:translateX(-12px) scale(.96)}46%,62%{transform:translateX(76px) translateY(-8px) scale(1.07) rotate(8deg)}}@keyframes bstfEnemyContact{0%,100%{transform:translateX(0)}20%{transform:translateX(8px)}43%,57%{transform:translateX(-58px) translateY(-4px) rotate(-6deg)}70%{transform:translateX(-38px)}}}
/* Typing field visibility: override theme form controls, including Safari */
.bstf-app .bstf-input-row input[data-typing-input]{background:#080d0d!important;background-color:#080d0d!important;color:#f7faf8!important;-webkit-text-fill-color:#f7faf8!important;caret-color:#b8ff00!important;border:2px solid #53615e!important;opacity:1!important;font-size:18px!important;font-weight:800!important;box-shadow:inset 0 0 0 1px #000,0 0 0 0 #b8ff0000!important}
.bstf-app .bstf-input-row input[data-typing-input]:focus{border-color:#b8ff00!important;box-shadow:inset 0 0 0 1px #000,0 0 0 4px #b8ff0020!important}
.bstf-app .bstf-input-row input[data-typing-input]::placeholder{color:#74807d!important;-webkit-text-fill-color:#74807d!important;opacity:1!important}
.bstf-word{gap:0!important;line-height:1.2}.bstf-word span{min-width:0!important;margin:0 .015em}.bstf-word span.is-space{width:.34em;border-bottom-color:transparent!important;margin:0}
@media(max-width:600px){.bstf-word{font-size:clamp(21px,6.8vw,27px)!important;letter-spacing:-.5px!important}.bstf-app .bstf-input-row input[data-typing-input]{font-size:17px!important}}
.bstf-app .bstf-input-row button[data-start],.bstf-app .bstf-input-row button[data-start]:hover,.bstf-app .bstf-input-row button[data-start]:focus,.bstf-app .bstf-input-row button[data-start]:active{background:#b8ff00!important;background-color:#b8ff00!important;color:#0a100d!important;-webkit-text-fill-color:#0a100d!important;border:0!important;box-shadow:0 0 0 0 #0000!important;outline:none!important}

/* Articulated pose combat v3 */
.bstf-fighter{width:300px;height:390px}
.bstf-fighter .bstf-pose{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:contain!important;opacity:0;visibility:hidden;animation:none!important;transform:none!important;transition:opacity .045s linear;z-index:2}
.bstf-player .bstf-pose{backface-visibility:hidden;-webkit-backface-visibility:hidden;image-rendering:auto;contain:paint}
.bstf-fighter .bstf-pose.is-active{opacity:1;visibility:visible}
.bstf-player.attack-light{animation:bstfPlayerPoseStrike .55s cubic-bezier(.18,.8,.24,1)!important}.bstf-player.attack-heavy{animation:bstfPlayerPoseHeavy .66s cubic-bezier(.16,.82,.2,1)!important}.bstf-enemy.attack-light{animation:bstfEnemyPoseStrike .56s cubic-bezier(.18,.8,.24,1)!important}.bstf-player.is-hurt{animation:bstfPlayerPoseHurt .55s ease!important}.bstf-enemy.is-hurt{animation:bstfEnemyPoseHurt .55s ease!important}
@keyframes bstfPlayerPoseStrike{0%,100%{transform:translateX(0)}22%{transform:translateX(-8px)}48%,62%{transform:translateX(76px)}}@keyframes bstfPlayerPoseHeavy{0%,100%{transform:translateX(0)}20%{transform:translateX(-12px)}48%,64%{transform:translate(92px,-8px) scale(1.04)}}@keyframes bstfEnemyPoseStrike{0%,100%{transform:translateX(0)}22%{transform:translateX(8px)}48%,62%{transform:translateX(-76px)}}@keyframes bstfPlayerPoseHurt{30%,62%{transform:translateX(-32px) rotate(-4deg);filter:brightness(1.55) saturate(1.5) drop-shadow(0 0 22px #ff3d34)}}@keyframes bstfEnemyPoseHurt{30%,62%{transform:translateX(32px) rotate(4deg);filter:brightness(1.55) saturate(1.5) drop-shadow(0 0 22px #b8ff00)}}
@media(max-width:900px){.bstf-fighter{width:250px;height:340px}}@media(max-width:600px){.bstf-fighter{width:182px;height:260px}.bstf-player{left:-4%}.bstf-enemy{right:-4%}@keyframes bstfPlayerPoseStrike{0%,100%{transform:translateX(0)}22%{transform:translateX(-4px)}48%,62%{transform:translateX(38px)}}@keyframes bstfPlayerPoseHeavy{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}48%,64%{transform:translate(47px,-5px) scale(1.03)}}@keyframes bstfEnemyPoseStrike{0%,100%{transform:translateX(0)}22%{transform:translateX(4px)}48%,62%{transform:translateX(-38px)}}}
/* Combat contact v4: face-off spacing, visible impact, delayed recoil */
.bstf-fighter{width:clamp(230px,34%,300px);height:clamp(310px,44%,390px)}
.bstf-player{left:15%}.bstf-enemy{right:15%}
.bstf-player.attack-light,.bstf-player.attack-heavy,.bstf-enemy.attack-light{z-index:12!important}
.bstf-player.is-hurt,.bstf-enemy.is-hurt{z-index:5!important}
.bstf-player.attack-light{animation:bstfPlayerContactV4 .62s cubic-bezier(.16,.82,.2,1)!important}
.bstf-player.attack-heavy{animation:bstfPlayerContactHeavyV4 .7s cubic-bezier(.14,.84,.18,1)!important}
.bstf-enemy.attack-light{animation:bstfEnemyContactV4 .62s cubic-bezier(.16,.82,.2,1)!important}
.bstf-player.is-hurt{animation:bstfPlayerRecoilV4 .58s ease!important}
.bstf-enemy.is-hurt{animation:bstfEnemyRecoilV4 .58s ease!important}
@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-12px)}46%,60%{transform:translateX(190px)}72%{transform:translateX(120px)}}
@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-18px) scale(.97)}46%,62%{transform:translate(205px,-8px) scale(1.04)}74%{transform:translateX(128px)}}
@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(12px)}46%,60%{transform:translateX(-190px)}72%{transform:translateX(-120px)}}
@keyframes bstfPlayerRecoilV4{0%,48%{transform:translateX(0);filter:none}60%,78%{transform:translateX(-46px) rotate(-5deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 22px #ff3d34)}100%{transform:translateX(0)}}
@keyframes bstfEnemyRecoilV4{0%,48%{transform:translateX(0);filter:none}60%,78%{transform:translateX(46px) rotate(5deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 22px #b8ff00)}100%{transform:translateX(0)}}
@media(max-width:1200px){.bstf-player{left:7%}.bstf-enemy{right:7%}@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-9px)}46%,60%{transform:translateX(130px)}72%{transform:translateX(82px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-12px) scale(.97)}46%,62%{transform:translate(144px,-7px) scale(1.04)}74%{transform:translateX(88px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(9px)}46%,60%{transform:translateX(-130px)}72%{transform:translateX(-82px)}}}
@media(max-width:900px){.bstf-fighter{width:230px;height:320px}.bstf-player{left:3%}.bstf-enemy{right:3%}@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-7px)}46%,60%{transform:translateX(108px)}72%{transform:translateX(68px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-10px) scale(.97)}46%,62%{transform:translate(120px,-6px) scale(1.04)}74%{transform:translateX(72px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(7px)}46%,60%{transform:translateX(-108px)}72%{transform:translateX(-68px)}}}
@media(max-width:600px){.bstf-fighter{width:182px;height:260px}.bstf-player{left:-2%}.bstf-enemy{right:-2%}@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-5px)}46%,60%{transform:translateX(78px)}72%{transform:translateX(48px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-7px) scale(.97)}46%,62%{transform:translate(86px,-5px) scale(1.035)}74%{transform:translateX(52px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(5px)}46%,60%{transform:translateX(-78px)}72%{transform:translateX(-48px)}}@keyframes bstfPlayerRecoilV4{0%,48%{transform:translateX(0);filter:none}60%,78%{transform:translateX(-28px) rotate(-4deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 18px #ff3d34)}100%{transform:translateX(0)}}@keyframes bstfEnemyRecoilV4{0%,48%{transform:translateX(0);filter:none}60%,78%{transform:translateX(28px) rotate(4deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 18px #b8ff00)}100%{transform:translateX(0)}}}

/* Contact distance calibration v4.1 */
@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-10px)}46%,60%{transform:translateX(120px)}72%{transform:translateX(76px)}}
@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-14px) scale(.97)}46%,62%{transform:translate(135px,-8px) scale(1.04)}74%{transform:translateX(82px)}}
@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(10px)}46%,60%{transform:translateX(-120px)}72%{transform:translateX(-76px)}}
@media(max-width:1200px){@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-6px)}46%,60%{transform:translateX(30px)}72%{transform:translateX(18px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-8px) scale(.97)}46%,62%{transform:translate(40px,-5px) scale(1.035)}74%{transform:translateX(22px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(6px)}46%,60%{transform:translateX(-30px)}72%{transform:translateX(-18px)}}}
@media(max-width:900px){@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-7px)}46%,60%{transform:translateX(110px)}72%{transform:translateX(68px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-10px) scale(.97)}46%,62%{transform:translate(122px,-6px) scale(1.04)}74%{transform:translateX(74px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(7px)}46%,60%{transform:translateX(-110px)}72%{transform:translateX(-68px)}}}
@media(max-width:600px){@keyframes bstfPlayerContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-5px)}46%,60%{transform:translateX(60px)}72%{transform:translateX(36px)}}@keyframes bstfPlayerContactHeavyV4{0%,100%{transform:translateX(0)}16%{transform:translateX(-7px) scale(.97)}46%,62%{transform:translate(68px,-5px) scale(1.035)}74%{transform:translateX(40px)}}@keyframes bstfEnemyContactV4{0%,100%{transform:translateX(0)}16%{transform:translateX(5px)}46%,60%{transform:translateX(-60px)}72%{transform:translateX(-36px)}}}
/* Impact timing v4.2: hold the defender at the contact point, recoil only after the strike lands */
@keyframes bstfPlayerRecoilV4{0%,60%{transform:translateX(0);filter:none}70%,84%{transform:translateX(-46px) rotate(-5deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 22px #ff3d34)}100%{transform:translateX(0)}}
@keyframes bstfEnemyRecoilV4{0%,60%{transform:translateX(0);filter:none}70%,84%{transform:translateX(46px) rotate(5deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 22px #b8ff00)}100%{transform:translateX(0)}}
@media(max-width:600px){@keyframes bstfPlayerRecoilV4{0%,60%{transform:translateX(0);filter:none}70%,84%{transform:translateX(-28px) rotate(-4deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 18px #ff3d34)}100%{transform:translateX(0)}}@keyframes bstfEnemyRecoilV4{0%,60%{transform:translateX(0);filter:none}70%,84%{transform:translateX(28px) rotate(4deg);filter:brightness(1.6) saturate(1.55) drop-shadow(0 0 18px #b8ff00)}100%{transform:translateX(0)}}}

/* Tap Fighter controls */
.bstf-mode{align-items:stretch}.bstf-mode button{display:flex;align-items:center;justify-content:center;min-height:46px;line-height:1;box-sizing:border-box}
.bstf-tap-zone{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 24px 26px}
.bstf-tap-sequence{display:flex;justify-content:center;align-items:center;gap:8px;min-height:70px;width:100%;overflow-x:auto;padding:4px 2px}
.bstf-tap-sequence>span:not(.bstf-seq-step){font-size:24px;font-weight:900;letter-spacing:1px;color:#c7d0ce}
.bstf-seq-step{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 58px;height:62px;border:1px solid #34423f;border-radius:12px;background:#101817;color:#98a4a1;transition:.18s}
.bstf-seq-step b{font-size:25px;line-height:1}.bstf-seq-step small{font-size:7px;font-weight:900;letter-spacing:.5px;margin-top:6px}
.bstf-seq-step.is-current{border-color:#b8ff00;color:#b8ff00;box-shadow:0 0 20px #b8ff0033;transform:translateY(-3px)}
.bstf-seq-step.is-done{background:#b8ff00;color:#111;border-color:#b8ff00}
.bstf-tap-controls{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;width:100%;max-width:700px}
.bstf-tap-controls button{min-height:74px;border:1px solid #394744;border-radius:14px;background:#111918;color:#e9efed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:900 11px/1 inherit;letter-spacing:.7px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:.15s}
.bstf-tap-controls button b{font-size:28px;line-height:1}.bstf-tap-controls button:not(:disabled):active,.bstf-tap-controls button.is-tapped{transform:scale(.94);border-color:#b8ff00;background:#1d2919;box-shadow:0 0 22px #b8ff0038}.bstf-tap-controls button:disabled{opacity:.38;cursor:not-allowed}
.bstf-start{height:52px;min-width:190px;border:0!important;border-radius:12px;background:#b8ff00!important;color:#111!important;font:900 13px/1 inherit;letter-spacing:.8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.bstf-start svg{width:17px;fill:none;stroke:currentColor;stroke-width:2}
.bstf-enemy .bstf-pose{transform:none!important}
.bstf-enemy .bstf-pose[data-pose="block"],.bstf-enemy .bstf-pose[data-pose="special"]{transform:none!important}
.bstf-fighter.is-blocking{animation:bstfBlockBrace .72s ease!important}.bstf-fighter .bstf-pose[data-pose="special"]{filter:drop-shadow(0 0 16px currentColor)}
@keyframes bstfBlockBrace{0%,100%{transform:translateX(0)}35%,70%{transform:translateX(-8px) scale(1.025)}}
@media(max-width:600px){.bstf-tap-zone{padding:17px 12px 22px;gap:11px}.bstf-tap-sequence{justify-content:flex-start;min-height:60px}.bstf-seq-step{flex-basis:50px;height:54px}.bstf-seq-step b{font-size:22px}.bstf-tap-controls{grid-template-columns:repeat(2,1fr);gap:8px}.bstf-tap-controls button{min-height:68px;font-size:10px}.bstf-tap-controls button b{font-size:25px}.bstf-mode button{min-height:44px;padding:10px 15px}}

/* Round-specific arenas */
.bstf-arena{background-image:linear-gradient(180deg,#05080838 0,#070b0b2e 42%,#070b0bc7 100%),var(--bstf-stage-bg);background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:inset 0 0 80px #0008}
.bstf-arena:before{z-index:1;opacity:.42}.bstf-arena:after{z-index:2}.bstf-stage-lights{z-index:2;mix-blend-mode:screen;opacity:.62}.bstf-round-label,.bstf-fighter,.bstf-impact,.bstf-damage,.bstf-hp,.bstf-battle-feed,.bstf-projectile{z-index:3}
.bstf-arena.is-stage-changing{animation:bstfStageShift .7s ease}
@keyframes bstfStageShift{0%{filter:brightness(1)}38%{filter:brightness(.28) saturate(.5)}72%{filter:brightness(1.35) saturate(1.25)}100%{filter:brightness(1)}}
@media(max-width:600px){.bstf-arena{box-shadow:inset 0 0 48px #0009}.bstf-stage-lights{opacity:.42}}

/* Direct arrow input: keyboard on desktop, tap the sequence on mobile */
.bstf-move-name{margin:7px 0 1px;color:var(--bstf-lime);font-size:13px;font-weight:1000;letter-spacing:2px}.bstf-input-hint{min-height:18px;color:#788582;font-size:9px;font-weight:900;letter-spacing:1.2px}.bstf-mobile-hint{display:none}
.bstf-tap-sequence{justify-content:center;overflow:visible}.bstf-seq-step{appearance:none;padding:0;cursor:pointer;font-family:inherit}.bstf-seq-step b{font-size:32px}.bstf-seq-step:disabled{cursor:default}.bstf-seq-step.is-current{cursor:pointer}.bstf-seq-step.is-current:hover{background:#18231a}.bstf-seq-step.is-done{opacity:.72}
@media(max-width:600px){.bstf-desktop-hint{display:none}.bstf-mobile-hint{display:inline}.bstf-tap-sequence{justify-content:center;gap:7px;overflow:visible}.bstf-seq-step{flex:1 1 0;max-width:68px;min-width:0;height:64px;touch-action:manipulation}.bstf-seq-step b{font-size:31px}.bstf-seq-step:not(.is-current):not(.is-done){opacity:.7}.bstf-move-name{font-size:12px}}

/* Game-owned UI: isolate every control from WordPress theme button styles */
.bstf-app button,.bstf-app button:hover,.bstf-app button:focus,.bstf-app button:active{font-family:Inter,Arial,sans-serif;text-transform:none;text-decoration:none;line-height:1;letter-spacing:normal;text-shadow:none;outline:0;-webkit-appearance:none;appearance:none}
.bstf-app .bstf-seq-step,.bstf-app .bstf-seq-step:hover,.bstf-app .bstf-seq-step:focus,.bstf-app .bstf-seq-step:active{display:block!important;position:relative!important;flex:0 0 74px!important;width:74px!important;height:74px!important;min-width:74px!important;min-height:74px!important;margin:0!important;padding:0!important;border:0!important;border-radius:16px!important;background-color:transparent!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;box-shadow:none!important;color:transparent!important;-webkit-text-fill-color:transparent!important;overflow:visible!important;transform:none}
.bstf-app .bstf-seq-step[data-arrow="U"]{background-image:url("arrow-button-up-v1.webp")!important}.bstf-app .bstf-seq-step[data-arrow="D"]{background-image:url("arrow-button-down-v1.webp")!important}.bstf-app .bstf-seq-step[data-arrow="L"]{background-image:url("arrow-button-left-v1.webp")!important}.bstf-app .bstf-seq-step[data-arrow="R"]{background-image:url("arrow-button-right-v1.webp")!important}.bstf-app .bstf-seq-step b{display:none!important}.bstf-app .bstf-seq-step:disabled{opacity:.46!important;filter:grayscale(.25) brightness(.7)}.bstf-app .bstf-seq-step.is-current{opacity:1!important;filter:brightness(1.18) drop-shadow(0 0 12px #b8ff0088)!important;animation:bstfArrowReady .8s ease-in-out infinite}.bstf-app .bstf-seq-step.is-done{opacity:.55!important;filter:saturate(.55) brightness(.8)!important}.bstf-app .bstf-seq-step.is-tapped{filter:brightness(1.55) drop-shadow(0 0 18px #b8ff00)!important;transform:scale(.9)!important}
.bstf-enemy.is-winding-up{filter:drop-shadow(0 0 24px #ff312b)!important;animation:bstfEnemyWindup .18s ease-in-out infinite alternate!important}.bstf-enemy.is-winding-up:before{content:"!";position:absolute;top:0;left:50%;z-index:20;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ff312b;color:#fff;font:1000 22px/1 Inter;box-shadow:0 0 22px #ff312b;transform:translateX(-50%)}
@keyframes bstfArrowReady{50%{filter:brightness(1.45) drop-shadow(0 0 20px #b8ff00)}}@keyframes bstfEnemyWindup{to{transform:translateX(-5px) scale(1.015)}}
@media(max-width:600px){.bstf-app .bstf-seq-step,.bstf-app .bstf-seq-step:hover,.bstf-app .bstf-seq-step:focus,.bstf-app .bstf-seq-step:active{flex:0 0 66px!important;width:66px!important;height:66px!important;min-width:66px!important;min-height:66px!important;border-radius:14px!important}.bstf-tap-sequence{gap:5px!important}}

/* Mobile visual balance: generated assets already contain their own glow */
@media(max-width:600px){
.bstf-arena{background-image:linear-gradient(180deg,#03060670 0,#05080858 42%,#050808e8 100%),var(--bstf-stage-bg)!important;box-shadow:inset 0 0 62px #000c!important}
.bstf-stage-lights{opacity:.2!important;mix-blend-mode:normal!important}.bstf-aura{opacity:.17!important;filter:blur(15px)!important}.bstf-fighter{filter:drop-shadow(0 18px 12px #000b)!important}
.bstf-app .bstf-seq-step,.bstf-app .bstf-seq-step:hover,.bstf-app .bstf-seq-step:focus,.bstf-app .bstf-seq-step:active{filter:brightness(.7) saturate(.82)!important;opacity:.78!important;animation:none!important}
.bstf-app .bstf-seq-step.is-current{filter:brightness(.9) saturate(.9) drop-shadow(0 0 5px #b8ff0055)!important;opacity:1!important;animation:none!important}.bstf-app .bstf-seq-step.is-done{filter:brightness(.58) saturate(.5)!important;opacity:.55!important}.bstf-app .bstf-seq-step.is-tapped{filter:brightness(1.02) drop-shadow(0 0 7px #b8ff0066)!important}
.bstf-mode button[aria-pressed=true]{box-shadow:0 0 12px #b8ff0028!important}.bstf-seq-step.is-current:hover{background-color:transparent!important}
}
.bstf-coupon{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;height:auto!important;padding:10px 11px 10px 16px!important}.bstf-coupon strong{min-width:0!important;overflow-wrap:anywhere!important;line-height:1.25!important;text-align:left!important}.bstf-coupon span{flex:none!important;white-space:nowrap!important}

/* Pre-fight canvas state */
.bstf-arena-start{position:absolute;inset:0;z-index:28;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px;text-align:center;background:radial-gradient(circle at 50% 50%,#101817c9 0,#050808e8 62%,#030505f5 100%);transition:opacity .25s,visibility .25s}
.bstf-arena-start small{color:#b8ff00;font-size:9px;font-weight:900;letter-spacing:2px}.bstf-arena-start strong{font-size:clamp(34px,5vw,56px);line-height:1;color:#fff;letter-spacing:-2px}.bstf-arena-start p{margin:0 0 5px;color:#aeb9b6;font-size:12px}.bstf-arena-start .bstf-start{position:static!important;min-width:220px!important}
.bstf-app:not(.is-game-focused) .bstf-fighter{opacity:.18;filter:grayscale(.7) brightness(.6)!important}.bstf-app:not(.is-game-focused) .bstf-type-zone{display:none}.bstf-app.is-game-focused .bstf-arena-start{opacity:0;visibility:hidden;pointer-events:none}.bstf-app.is-game-focused .bstf-fighter{opacity:1}
.bstf-app.is-game-focused.is-countdown .bstf-arena-start{opacity:1;visibility:visible;pointer-events:auto}.bstf-app.is-countdown .bstf-arena-start .bstf-start{display:none!important}.bstf-app.is-countdown .bstf-fighter{opacity:.42!important}.bstf-app.is-countdown .bstf-type-zone{pointer-events:none;opacity:.3}.bstf-app.is-countdown .bstf-arena-start strong{color:#b8ff00;text-shadow:0 0 28px #b8ff0077}
@media(max-width:600px){.bstf-arena-start{gap:7px;padding:18px}.bstf-arena-start strong{font-size:38px}.bstf-arena-start p{max-width:240px;font-size:10px}.bstf-arena-start .bstf-start{min-width:190px!important}.bstf-app:not(.is-game-focused) .bstf-arena{height:300px!important}}

/* Readable close combat: wind-up, contact, hit-stop, recoil — never spin */
.bstf-player.attack-light{animation:bstfPlayerStrikeClean .62s cubic-bezier(.16,.82,.2,1)!important;z-index:12!important}
.bstf-player.attack-heavy{animation:bstfPlayerStrikeHeavyClean .78s cubic-bezier(.16,.82,.2,1)!important;z-index:12!important}
.bstf-enemy.attack-light{animation:bstfEnemyStrikeClean .64s cubic-bezier(.16,.82,.2,1)!important;z-index:12!important}
.bstf-enemy.attack-heavy{animation:bstfEnemyStrikeHeavyClean .8s cubic-bezier(.16,.82,.2,1)!important;z-index:12!important}
.bstf-player.is-hurt{animation:bstfPlayerHitClean .58s ease!important}.bstf-enemy.is-hurt{animation:bstfEnemyHitClean .58s ease!important}
@keyframes bstfPlayerStrikeClean{0%,100%{transform:translateX(0)}18%{transform:translateX(-12px) scale(.98)}48%,62%{transform:translateX(118px) translateY(-3px) scale(1.03)}64%{transform:translateX(114px) translateY(-3px) scale(1.03)}78%{transform:translateX(42px)}}
@keyframes bstfPlayerStrikeHeavyClean{0%,100%{transform:translateX(0)}18%{transform:translateX(-20px) translateY(4px) scale(.96)}48%,66%{transform:translateX(136px) translateY(-9px) scale(1.08)}69%{transform:translateX(132px) translateY(-9px) scale(1.08)}82%{transform:translateX(48px)}}
@keyframes bstfEnemyStrikeClean{0%,100%{transform:translateX(0)}18%{transform:translateX(12px) scale(.98)}48%,62%{transform:translateX(-118px) translateY(-3px) scale(1.03)}64%{transform:translateX(-114px) translateY(-3px) scale(1.03)}78%{transform:translateX(-42px)}}
@keyframes bstfEnemyStrikeHeavyClean{0%,100%{transform:translateX(0)}18%{transform:translateX(20px) translateY(4px) scale(.96)}48%,66%{transform:translateX(-136px) translateY(-9px) scale(1.08)}69%{transform:translateX(-132px) translateY(-9px) scale(1.08)}82%{transform:translateX(-48px)}}
@keyframes bstfPlayerHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(-34px) rotate(-4deg);filter:brightness(1.65) saturate(1.6) drop-shadow(0 0 18px #ff3d34)}}
@keyframes bstfEnemyHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(34px) rotate(4deg);filter:brightness(1.65) saturate(1.6) drop-shadow(0 0 18px #b8ff00)}}
@media(max-width:600px){
@keyframes bstfPlayerStrikeClean{0%,100%{transform:translateX(0)}18%{transform:translateX(-6px) scale(.98)}48%,64%{transform:translateX(67px) translateY(-2px) scale(1.04)}67%{transform:translateX(64px) translateY(-2px) scale(1.04)}80%{transform:translateX(24px)}}
@keyframes bstfPlayerStrikeHeavyClean{0%,100%{transform:translateX(0)}18%{transform:translateX(-9px) translateY(2px) scale(.96)}48%,68%{transform:translateX(76px) translateY(-6px) scale(1.09)}71%{transform:translateX(72px) translateY(-6px) scale(1.09)}83%{transform:translateX(27px)}}
@keyframes bstfEnemyStrikeClean{0%,100%{transform:translateX(0)}18%{transform:translateX(6px) scale(.98)}48%,64%{transform:translateX(-67px) translateY(-2px) scale(1.04)}67%{transform:translateX(-64px) translateY(-2px) scale(1.04)}80%{transform:translateX(-24px)}}
@keyframes bstfEnemyStrikeHeavyClean{0%,100%{transform:translateX(0)}18%{transform:translateX(9px) translateY(2px) scale(.96)}48%,68%{transform:translateX(-76px) translateY(-6px) scale(1.09)}71%{transform:translateX(-72px) translateY(-6px) scale(1.09)}83%{transform:translateX(-27px)}}
@keyframes bstfPlayerHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(-24px) rotate(-4deg);filter:brightness(1.65) saturate(1.6) drop-shadow(0 0 15px #ff3d34)}}
@keyframes bstfEnemyHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(24px) rotate(4deg);filter:brightness(1.65) saturate(1.6) drop-shadow(0 0 15px #b8ff00)}}
}

/* Match structure: each opponent owns one arena; result stays inside the game card */
.bstf-game-card{position:relative}
.bstf-enemy .bstf-pose,.bstf-enemy .bstf-pose[data-pose="block"],.bstf-enemy .bstf-pose[data-pose="special"]{transform:none!important}
.bstf-game-card>.bstf-result{position:absolute;inset:0;z-index:40;border-radius:22px;overflow:hidden}
.bstf-game-card>.bstf-result .bstf-result-backdrop{position:absolute;inset:0;background:#030606e8;backdrop-filter:blur(6px)}
.bstf-game-card>.bstf-result section{max-height:calc(100% - 32px);overflow:auto}
@media(max-width:600px){.bstf-game-card>.bstf-result{padding:14px}.bstf-game-card>.bstf-result section{width:min(360px,100%);padding:24px 18px}.bstf-game-card>.bstf-result h2{font-size:27px}.bstf-game-card>.bstf-result>section>strong{font-size:30px}}

/* Isolate every game button state from the WordPress theme */
.bstf-app .bstf-mode button,.bstf-app .bstf-mode button:hover,.bstf-app .bstf-mode button:focus,.bstf-app .bstf-mode button:focus-visible,.bstf-app .bstf-mode button:active{background:transparent!important;background-color:transparent!important;background-image:none!important;color:#8d9996!important;-webkit-text-fill-color:#8d9996!important;border:0!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}
.bstf-app .bstf-mode button[aria-pressed="true"],.bstf-app .bstf-mode button[aria-pressed="true"]:hover,.bstf-app .bstf-mode button[aria-pressed="true"]:focus,.bstf-app .bstf-mode button[aria-pressed="true"]:focus-visible,.bstf-app .bstf-mode button[aria-pressed="true"]:active{background:#b8ff00!important;background-color:#b8ff00!important;background-image:none!important;color:#10150f!important;-webkit-text-fill-color:#10150f!important;box-shadow:0 0 18px #b8ff0028!important}
.bstf-app .bstf-start,.bstf-app .bstf-start:hover,.bstf-app .bstf-start:focus,.bstf-app .bstf-start:focus-visible,.bstf-app .bstf-start:active,.bstf-app .bstf-result button,.bstf-app .bstf-result button:hover,.bstf-app .bstf-result button:focus,.bstf-app .bstf-result button:focus-visible,.bstf-app .bstf-result button:active{background:#b8ff00!important;background-color:#b8ff00!important;background-image:none!important;color:#10150f!important;-webkit-text-fill-color:#10150f!important;border:0!important;box-shadow:none!important;transform:none!important;text-decoration:none!important}
.bstf-app .bstf-modal-close,.bstf-app .bstf-modal-close:hover,.bstf-app .bstf-modal-close:focus,.bstf-app .bstf-modal-close:focus-visible,.bstf-app .bstf-modal-close:active{background:transparent!important;background-color:transparent!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0!important;box-shadow:none!important;transform:none!important}
.bstf-app .bstf-coupon,.bstf-app .bstf-coupon:hover,.bstf-app .bstf-coupon:focus,.bstf-app .bstf-coupon:focus-visible,.bstf-app .bstf-coupon:active{background:#0a0f0e!important;background-color:#0a0f0e!important;background-image:none!important;color:#b8ff00!important;-webkit-text-fill-color:#b8ff00!important;border:1px dashed #b8ff00!important;box-shadow:none!important;transform:none!important}

/* Five-opponent ladder: visual identity changes only with the stage */
.bstf-arena[data-stage="1"] .bstf-enemy .bstf-pose{filter:saturate(1.12) contrast(1.04)!important}.bstf-arena[data-stage="1"] .bstf-enemy .bstf-aura{background:#ff3131!important}
.bstf-arena[data-stage="2"] .bstf-enemy .bstf-pose{filter:hue-rotate(245deg) saturate(1.35) contrast(1.08)!important}.bstf-arena[data-stage="2"] .bstf-enemy .bstf-aura{background:#a64dff!important}
.bstf-arena[data-stage="3"] .bstf-enemy .bstf-pose{filter:hue-rotate(42deg) saturate(1.45) brightness(1.1) contrast(1.08)!important}.bstf-arena[data-stage="3"] .bstf-enemy .bstf-aura{background:#ffd229!important}
.bstf-arena[data-stage="4"] .bstf-enemy .bstf-pose{filter:grayscale(.72) saturate(.35) brightness(1.5) contrast(1.04)!important}.bstf-arena[data-stage="4"] .bstf-enemy .bstf-aura{background:#e7f2ff!important}
.bstf-arena[data-stage="5"] .bstf-enemy .bstf-pose{filter:grayscale(.9) brightness(.38) contrast(1.65) drop-shadow(0 0 14px #7c24ff)!important}.bstf-arena[data-stage="5"] .bstf-enemy .bstf-aura{background:#35105f!important;opacity:.72!important}
.bstf-app .bstf-seq-step{touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;user-select:none!important}.bstf-app button[hidden]{display:none!important}

/* Canonical responsive pass: match bigstep.vn typography and keep gameplay compact */
.bstf-app,.bstf-app button,.bstf-app input,.bstf-app textarea,.bstf-app select{font-family:"Plus Jakarta Sans",sans-serif!important}
body.bstf-modal-open{overflow:hidden!important}
.bstf-app button:focus-visible,.bstf-app a:focus-visible{outline:2px solid #b8ff00!important;outline-offset:3px!important}
.bstf-modal{padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden}
.bstf-modal>section{max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}
.bstf-modal-close{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:grid!important;place-items:center!important}
.bstf-form-status{min-height:20px;color:#ff8b84;font-size:12px;line-height:1.5}
.bstf-claim-retry,.bstf-claim-retry:hover,.bstf-claim-retry:focus,.bstf-claim-retry:active{width:100%;min-height:48px;border:1px solid #b8ff00!important;border-radius:10px!important;background:transparent!important;color:#b8ff00!important;font-weight:900!important}
.bstf-shop-link{font-family:"Plus Jakarta Sans",sans-serif!important;text-align:center;text-decoration:none!important}
@media(min-width:901px){
.bstf-app{padding:48px 24px 80px}.bstf-hero{margin-bottom:20px}.bstf-mode-wrap{margin-bottom:20px}.bstf-game-top{padding:11px 18px}.bstf-game-top div{padding:3px 14px}.bstf-arena{height:460px}.bstf-tap-zone{gap:10px;padding:16px 24px 20px}.bstf-tap-sequence{min-height:70px}.bstf-feedback{margin-top:4px}
}
@media(min-width:901px) and (max-width:1200px){.bstf-app .bstf-seq-step,.bstf-app .bstf-seq-step:hover,.bstf-app .bstf-seq-step:focus,.bstf-app .bstf-seq-step:active{flex-basis:60px!important;width:60px!important;min-width:60px!important;height:60px!important;min-height:60px!important}}
@media(max-width:600px){
.bstf-app{padding:14px 10px 40px}.bstf-hero{margin-bottom:9px}.bstf-kicker{font-size:9px;letter-spacing:1.4px}.bstf-kicker span{width:22px}.bstf-hero h1{font-size:36px;line-height:.95;margin:6px 0 3px}.bstf-hero p{display:none}.bstf-mode-wrap{gap:4px;margin-bottom:10px}.bstf-mode-wrap>span{display:none}.bstf-mode-wrap small{font-size:9px;text-align:center;line-height:1.25}.bstf-mode button{min-height:42px!important;padding:8px 12px!important;font-size:11px!important}.bstf-app.is-game-focused{padding-top:8px}.bstf-app.is-game-focused .bstf-hero,.bstf-app.is-game-focused .bstf-mode-wrap{display:none}.bstf-app.is-game-focused .bstf-game-card{scroll-margin-top:92px}
.bstf-game-card{border-radius:16px}.bstf-game-top{min-height:58px;padding:7px 5px}.bstf-game-top div{padding:3px 5px}.bstf-game-top small{font-size:7px}.bstf-game-top strong{font-size:15px}
.bstf-arena{height:250px!important}.bstf-fighter{bottom:46px!important;width:145px!important;height:195px!important}.bstf-player{left:-2%!important}.bstf-enemy{right:-2%!important}.bstf-round-label{top:10px;padding:5px 10px;font-size:9px}.bstf-hp{bottom:10px}.bstf-battle-feed{bottom:35px;max-width:80%;overflow:hidden;text-overflow:ellipsis}.bstf-arena:after{bottom:52px}
.bstf-tap-zone{gap:6px;padding:9px 10px 11px}.bstf-tap-sequence{min-height:54px!important;gap:5px!important;padding:0!important;flex-wrap:wrap!important;overflow:hidden!important;align-content:center}.bstf-tap-sequence>span:not(.bstf-seq-step){font-size:12px!important;letter-spacing:1.4px;color:#9ca8a5}.bstf-app .bstf-seq-step,.bstf-app .bstf-seq-step:hover,.bstf-app .bstf-seq-step:focus,.bstf-app .bstf-seq-step:active{flex:0 0 56px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;border-radius:12px!important}.bstf-input-hint{min-height:13px;font-size:8px}.bstf-move-name{margin:1px 0 0}.bstf-start{height:44px!important;min-height:44px!important}.bstf-feedback{height:auto;min-height:16px;margin:1px 0 0;font-size:9px}
.bstf-modal>section{padding:25px 18px}.bstf-coupon{min-height:54px;align-items:center;gap:8px}.bstf-coupon strong{overflow-wrap:anywhere;text-align:left}.bstf-shop-link{min-height:48px;display:flex;align-items:center;justify-content:center}
}

/* K.O. poses and a readable two-sided projectile release */
.bstf-fighter .bstf-pose[data-pose="ko"]{inset:auto -26% -12px -26%!important;width:152%!important;height:auto!important;max-width:none!important;object-fit:contain!important;contain:paint}.bstf-player.is-ko,.bstf-enemy.is-ko{animation:bstfKoDrop .38s cubic-bezier(.2,.8,.2,1) both!important}.bstf-player.is-ko .bstf-aura,.bstf-enemy.is-ko .bstf-aura{opacity:.08!important}
@keyframes bstfKoDrop{0%{transform:translateY(-18px) rotate(0);filter:brightness(1.5)}55%{transform:translateY(7px) rotate(2deg)}100%{transform:translateY(0);filter:brightness(.72) saturate(.7)}}
.bstf-projectile.fire,.bstf-projectile.enemy-fire{width:64px;height:42px;border-radius:50%;opacity:0;filter:blur(.2px)}.bstf-projectile.fire:after,.bstf-projectile.enemy-fire:after{content:"";position:absolute;top:8px;width:96px;height:26px;border-radius:50%;filter:blur(7px)}.bstf-projectile.fire:after{right:38px;background:linear-gradient(90deg,transparent,#b8ff00)}.bstf-projectile.enemy-fire{left:auto;right:32%;background:radial-gradient(circle,#fff 0 9%,#ff3d34 25%,#a80000 55%,transparent 72%);box-shadow:0 0 20px #ff3d34,0 0 60px #ff3d34;animation:bstfEnemyProjectile .56s ease-in}.bstf-projectile.enemy-fire:after{left:38px;background:linear-gradient(90deg,#ff3d34,transparent)}
@keyframes bstfEnemyProjectile{0%{opacity:0;transform:translateX(30px) scale(.25)}18%{opacity:1}72%{opacity:1;transform:translateX(-210px) scale(1.15)}100%{opacity:0;transform:translateX(-250px) scale(1.6)}}
@media(max-width:600px){.bstf-fighter .bstf-pose[data-pose="ko"]{inset:auto -34% -7px -34%!important;width:168%!important}.bstf-projectile.fire{left:25%!important}.bstf-projectile.enemy-fire{left:auto!important;right:25%!important}@keyframes bstfEnemyProjectile{0%{opacity:0;transform:translateX(20px) scale(.25)}18%{opacity:1}72%{opacity:1;transform:translateX(-150px) scale(1.05)}100%{opacity:0;transform:translateX(-178px) scale(1.45)}}}
.bstf-enemy .bstf-pose[data-pose="special"]{inset:-4% -24% -4% -24%!important;width:148%!important;height:108%!important;max-width:none!important;object-fit:contain!important}
@media(max-width:600px){.bstf-enemy .bstf-pose[data-pose="special"]{inset:0 -30%!important;width:160%!important;height:100%!important}}
/* Generated horizontal K.O. sprites keep the same visual scale as standing poses */
.bstf-fighter .bstf-pose[data-pose="ko"]{inset:auto -6% -4px -6%!important;width:112%!important;height:auto!important}
@media(max-width:600px){.bstf-fighter .bstf-pose[data-pose="ko"]{inset:auto -5% -3px -5%!important;width:110%!important}}

/* Player ultimate cinematic: retain the generated scene, but composite it
 * inside the arena at fighter scale instead of stretching it edge-to-edge. */
.bstf-special-scene{position:absolute;left:4%;top:5%;z-index:10;display:block;width:76%;height:90%;object-fit:contain;object-position:left center;opacity:0;visibility:hidden;pointer-events:none;mix-blend-mode:screen;filter:saturate(1.15) contrast(1.08);transform:translateX(-3%) scale(.96);transform-origin:left center}
.bstf-special-scene.is-playing{visibility:visible;animation:bstfPlayerSpecialScene 1.7s cubic-bezier(.18,.76,.18,1) both}
.bstf-arena.is-player-special .bstf-player{opacity:0!important}
.bstf-arena.is-player-special .bstf-enemy{z-index:11!important}
@keyframes bstfPlayerSpecialScene{0%{opacity:0;transform:translateX(-5%) scale(.92);filter:brightness(1.8) saturate(1.35)}10%,76%{opacity:1;transform:translateX(0) scale(1);filter:brightness(1.05) saturate(1.18)}100%{opacity:0;transform:translateX(2%) scale(1.02);filter:brightness(1.35) saturate(1.22)}}
@media(max-width:600px){.bstf-special-scene{left:0;top:5%;width:92%;height:82%;object-position:left center}}
@media(prefers-reduced-motion:reduce){.bstf-special-scene.is-playing{animation-name:bstfPlayerSpecialSceneReduced}.bstf-special-scene{transform:none}@keyframes bstfPlayerSpecialSceneReduced{0%,100%{opacity:0}8%,88%{opacity:1}}}

/* Result card: separate campaign progress from round score. `kills` means a
 * fully cleared stage (two winning rounds), not an individual hit/round. */
.bstf-game-card>.bstf-result section{width:min(470px,100%);padding:32px;border-color:#465552;background:radial-gradient(circle at 50% 0,rgba(184,255,0,.08),transparent 38%),linear-gradient(180deg,#121918,#0d1312);box-shadow:0 28px 80px #000b,0 0 0 1px rgba(184,255,0,.04)}
.bstf-result section>p{margin:0;color:#b8ff00;letter-spacing:2.2px}.bstf-result h2{margin:10px 0 5px;color:#dce3e0;font-size:32px;letter-spacing:-1px}.bstf-result>section>[data-result-score]{margin-top:3px;font-size:44px;line-height:1.1;letter-spacing:-2px}
.bstf-result [data-result-stats]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:22px 0;color:#dfe7e4;text-align:left}
.bstf-result-stat{min-width:0;padding:11px 12px;border:1px solid #303b38;border-radius:11px;background:#0b100f}
.bstf-result-stat small{display:block;margin-bottom:5px;color:#7f8d89;font-size:8px;font-weight:900;letter-spacing:1px;line-height:1.25}
.bstf-result-stat strong{display:block;color:#f2f6f4;font-size:18px;font-weight:950;line-height:1.1}
.bstf-result-stat:nth-child(3) strong{color:#b8ff00}
.bstf-result-mode{grid-column:1/-1;padding:7px 10px;border:1px solid rgba(184,255,0,.2);border-radius:8px;color:#b8ff00;font-size:8px;font-weight:900;letter-spacing:1.2px;text-align:center}
.bstf-result [data-replay]{min-height:56px;border-radius:12px;font-size:13px;letter-spacing:.3px}
@media(max-width:600px){.bstf-game-card>.bstf-result section{padding:23px 16px}.bstf-result h2{font-size:26px}.bstf-result>section>[data-result-score]{font-size:34px}.bstf-result [data-result-stats]{gap:6px;margin:17px 0}.bstf-result-stat{padding:9px 10px}.bstf-result-stat strong{font-size:16px}.bstf-result [data-replay]{min-height:52px}}

/* Canonical mobile arena layout. Earlier pose generations left several
 * competing <=600px rules; this final pass gives every pose a safe frame,
 * restores the stage art, and reserves a clean HUD lane at the bottom. */
@media(max-width:600px){
	.bstf-arena{
		height:286px!important;
		background-image:linear-gradient(180deg,rgba(3,6,6,.08) 0,rgba(5,8,8,.08) 48%,rgba(5,8,8,.62) 100%),var(--bstf-stage-bg)!important;
		background-size:cover!important;
		background-position:center!important;
		box-shadow:inset 0 0 34px rgba(0,0,0,.48)!important;
	}
	.bstf-stage-lights{opacity:.32!important;mix-blend-mode:screen!important}
	.bstf-arena:before{opacity:.2!important}
	.bstf-arena:after{bottom:66px!important;opacity:.55}
	.bstf-fighter{
		bottom:67px!important;
		width:164px!important;
		height:213px!important;
		transform:none!important;
		filter:drop-shadow(0 13px 9px rgba(0,0,0,.68))!important;
	}
	.bstf-player{left:0!important}
	.bstf-enemy{right:0!important}
	.bstf-fighter .bstf-pose:not([data-pose="ko"]){inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}
	.bstf-enemy .bstf-pose[data-pose="special"]{inset:0 -12%!important;width:124%!important;height:100%!important}
	.bstf-fighter .bstf-pose[data-pose="ko"]{inset:auto 0 0!important;width:100%!important;height:auto!important;object-position:center bottom!important}
	.bstf-hp{bottom:8px!important;width:43%!important;height:47px!important;font-size:7.5px!important;line-height:1!important}
	.bstf-hp-player{left:4%!important}
	.bstf-hp-enemy{right:4%!important}
	.bstf-hp>span{display:block!important;height:11px!important;margin:0 0 3px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
	.bstf-hp>i{height:8px!important;margin:0!important}
	.bstf-hp>small{height:13px!important;margin-top:5px!important;font-size:6.5px!important;letter-spacing:.55px!important;white-space:nowrap!important}
	.bstf-battle-feed{left:50%!important;bottom:58px!important;width:auto!important;max-width:88%!important;padding:3px 7px!important;border-radius:999px!important;background:rgba(5,9,8,.72)!important;color:#dce5e2!important;font-size:6.5px!important;letter-spacing:.65px!important;line-height:1.2!important;text-align:center!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
	.bstf-round-label{top:8px!important;max-width:76%!important;padding:5px 9px!important;font-size:8px!important;line-height:1.2!important;white-space:normal!important;text-align:center!important}
	@keyframes bstfPlayerHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(-9px) rotate(-2deg);filter:brightness(1.55) saturate(1.45) drop-shadow(0 0 12px #ff3d34)}}
	@keyframes bstfEnemyHitClean{0%,100%{transform:translateX(0);filter:none}28%,64%{transform:translateX(9px) rotate(2deg);filter:brightness(1.55) saturate(1.45) drop-shadow(0 0 12px #b8ff00)}}
}

/* During a fight the mobile page still needs its title and full-strength art.
 * Asset URLs are independently versioned in PHP/JS so Safari cannot reuse a
 * previously cached 404 for a fighter pose or arena background. */
@media(max-width:600px){
	.bstf-app.is-game-focused{padding-top:14px!important}
	.bstf-app.is-game-focused .bstf-hero{display:block!important;margin-bottom:9px!important}
	.bstf-app.is-game-focused .bstf-hero .bstf-kicker{display:flex!important}
	.bstf-app.is-game-focused .bstf-hero h1{display:block!important;margin:6px 0 3px!important;font-size:36px!important;line-height:.95!important;letter-spacing:-2px!important}
	.bstf-app.is-game-focused .bstf-hero p{display:none!important}
	.bstf-app.is-game-focused .bstf-mode-wrap{display:none!important}
	.bstf-arena{background-image:linear-gradient(180deg,rgba(3,6,6,.015) 0,rgba(5,8,8,.02) 50%,rgba(5,8,8,.42) 100%),var(--bstf-stage-bg)!important}
	.bstf-player .bstf-pose{filter:saturate(1.14) contrast(1.07) brightness(1.04)!important}
	.bstf-arena[data-stage="1"] .bstf-enemy .bstf-pose{filter:saturate(1.18) contrast(1.07) brightness(1.04)!important}
}
/* Keep the player ultimate at fighter scale on every viewport. The generated
 * image already has an alpha channel, so blend-mode is unnecessary and can
 * wash the character out on some compositors. */
.bstf-special-scene{
	left:2%!important;
	top:auto!important;
	bottom:76px!important;
	width:58%!important;
	height:auto!important;
	max-height:76%!important;
	object-fit:contain!important;
	object-position:left bottom!important;
	mix-blend-mode:normal!important;
	filter:saturate(1.1) contrast(1.06)!important;
	transform-origin:left bottom!important;
}
@keyframes bstfPlayerSpecialScene{
	0%{opacity:0;transform:translateX(-3%) scale(.96);filter:brightness(1.35) saturate(1.22)}
	6%,88%{opacity:1;transform:translateX(0) scale(1);filter:brightness(1.03) saturate(1.12)}
	100%{opacity:0;transform:translateX(1%) scale(1.01);filter:brightness(1.18) saturate(1.15)}
}
@media(max-width:600px){
	.bstf-special-scene{
		left:0!important;
		bottom:67px!important;
		width:78%!important;
		max-height:74%!important;
	}
}
@media(prefers-reduced-motion:reduce){
	.bstf-special-scene.is-playing{
		visibility:visible!important;
		animation:bstfPlayerSpecialSceneStatic 1.7s linear both!important;
	}
	@keyframes bstfPlayerSpecialSceneStatic{from,to{opacity:1;transform:none;filter:saturate(1.1) contrast(1.06)}}
}
@media(max-width:600px){
	.bstf-app:not(.is-game-focused) .bstf-fighter{
		opacity:.78!important;
		filter:saturate(.9) brightness(.86) drop-shadow(0 13px 9px rgba(0,0,0,.68))!important;
	}
	.bstf-app:not(.is-game-focused) .bstf-arena-start{
		background:radial-gradient(circle at 50% 50%,rgba(10,16,15,.42) 0,rgba(4,7,7,.72) 68%,rgba(3,5,5,.88) 100%)!important;
	}
	.bstf-app.is-countdown .bstf-fighter{
		opacity:.72!important;
	}
}

/* Ultimate v2: keep the generated caster at the same visual scale as the
 * regular fighter, then let a separate energy bolt travel into the enemy. */
.bstf-special-scene{
	left:2%!important;
	bottom:76px!important;
	width:49%!important;
	max-height:68%!important;
}
@keyframes bstfPlayerSpecialScene{
	0%{opacity:0;transform:translateX(-1.5%);filter:brightness(1.38) saturate(1.2)}
	7%,76%{opacity:1;transform:translateX(0);filter:brightness(1.03) saturate(1.1)}
	100%{opacity:0;transform:translateX(.8%);filter:brightness(1.18) saturate(1.14)}
}
.bstf-projectile.fire{
	left:34%!important;
	top:43%!important;
	z-index:14!important;
	width:86px!important;
	height:46px!important;
	border-radius:50%!important;
	opacity:0;
	background:radial-gradient(circle at 72% 50%,#fff 0 10%,#efffc2 13%,#c8ff00 27%,rgba(184,255,0,.78) 44%,rgba(102,170,0,.32) 62%,transparent 74%)!important;
	box-shadow:0 0 16px #fff,0 0 34px #c8ff00,0 0 72px rgba(184,255,0,.86)!important;
	filter:none!important;
	animation:bstfPlayerBeamShot .72s cubic-bezier(.16,.72,.2,1) both!important;
}
.bstf-projectile.fire::after{
	content:""!important;
	position:absolute!important;
	top:7px!important;
	right:56px!important;
	width:170px!important;
	height:32px!important;
	border-radius:50%!important;
	background:linear-gradient(90deg,transparent 0,rgba(184,255,0,.12) 18%,rgba(184,255,0,.72) 68%,#efffc2 100%)!important;
	filter:blur(5px)!important;
	transform-origin:right center;
	animation:bstfBeamTail .72s ease-out both!important;
}
.bstf-projectile.fire::before{
	content:"";
	position:absolute;
	inset:-24px;
	border:3px solid rgba(220,255,120,.9);
	border-radius:50%;
	box-shadow:0 0 25px #c8ff00,inset 0 0 22px rgba(255,255,255,.9);
	opacity:0;
	animation:bstfBeamImpact .72s ease-out both;
}
@keyframes bstfPlayerBeamShot{
	0%{left:31%;opacity:0;transform:scale(.28,.48)}
	12%{left:35%;opacity:1;transform:scale(.82,.82)}
	68%{left:69%;opacity:1;transform:scale(1)}
	82%{left:72%;opacity:1;transform:scale(1.48)}
	100%{left:72%;opacity:0;transform:scale(2.15)}
}
@keyframes bstfBeamTail{
	0%{opacity:0;transform:scaleX(.16)}
	18%,70%{opacity:1;transform:scaleX(1)}
	100%{opacity:0;transform:scaleX(.4)}
}
@keyframes bstfBeamImpact{
	0%,64%{opacity:0;transform:scale(.25)}
	76%{opacity:1;transform:scale(.65)}
	100%{opacity:0;transform:scale(2.2)}
}
@media(max-width:600px){
	.bstf-special-scene{
		width:70%!important;
		max-height:66%!important;
		bottom:67px!important;
	}
	.bstf-projectile.fire{
		left:29%!important;
		top:43%!important;
		width:64px!important;
		height:36px!important;
	}
	.bstf-projectile.fire::after{
		top:6px!important;
		right:42px!important;
		width:94px!important;
		height:24px!important;
	}
	.bstf-projectile.fire::before{inset:-18px}
	@keyframes bstfPlayerBeamShot{
		0%{left:25%;opacity:0;transform:scale(.25,.45)}
		12%{left:29%;opacity:1;transform:scale(.78)}
		68%{left:67%;opacity:1;transform:scale(1)}
		82%{left:70%;opacity:1;transform:scale(1.38)}
		100%{left:70%;opacity:0;transform:scale(1.95)}
	}
}

/* Mobile clarity and iOS alpha-compositing repair. */
@media(max-width:600px){
	.bstf-app .bstf-seq-step,
	.bstf-app .bstf-seq-step:hover,
	.bstf-app .bstf-seq-step:focus,
	.bstf-app .bstf-seq-step:active{
		opacity:1!important;
		filter:brightness(.94) saturate(1)!important;
	}
	.bstf-app .bstf-seq-step.is-current{
		opacity:1!important;
		filter:brightness(1.1) saturate(1.04)!important;
		animation:none!important;
	}
	.bstf-app .bstf-seq-step.is-done{
		opacity:.5!important;
		filter:grayscale(1) brightness(.62) contrast(1.04)!important;
		box-shadow:none!important;
	}
	.bstf-app .bstf-seq-step.is-done::after{
		content:none!important;
		display:none!important;
	}
	.bstf-app .bstf-seq-step.is-tapped{
		filter:brightness(1.16) saturate(1.04)!important;
		transform:scale(.9)!important;
	}

	.bstf-fighter .bstf-pose{
		contain:none!important;
		backface-visibility:visible!important;
		-webkit-backface-visibility:visible!important;
	}
	.bstf-fighter .bstf-pose.is-active{
		opacity:1!important;
		visibility:visible!important;
		filter:none!important;
	}
}

/* Lightweight Web Audio control. */
.bstf-game-card{position:relative}
.bstf-sound-toggle,
.bstf-sound-toggle:hover,
.bstf-sound-toggle:focus,
.bstf-sound-toggle:active{
	position:absolute!important;
	top:12px!important;
	right:12px!important;
	z-index:25!important;
	display:grid!important;
	place-items:center!important;
	width:38px!important;
	height:38px!important;
	min-width:38px!important;
	min-height:38px!important;
	padding:0!important;
	border:1px solid rgba(184,255,0,.34)!important;
	border-radius:11px!important;
	background:rgba(6,12,10,.82)!important;
	color:#f5f8f6!important;
	-webkit-text-fill-color:#f5f8f6!important;
	box-shadow:none!important;
	font:400 17px/1 system-ui,sans-serif!important;
	transform:none!important;
	cursor:pointer!important;
	backdrop-filter:blur(5px);
	-webkit-backdrop-filter:blur(5px);
}
.bstf-sound-toggle[aria-pressed="false"]{opacity:.72!important;filter:grayscale(1)!important}
@media(max-width:600px){
	.bstf-sound-toggle,
	.bstf-sound-toggle:hover,
	.bstf-sound-toggle:focus,
	.bstf-sound-toggle:active{
		top:10px!important;
		right:8px!important;
		width:34px!important;
		height:34px!important;
		min-width:34px!important;
		min-height:34px!important;
		border-radius:9px!important;
		font-size:15px!important;
	}
}
/* Search-supporting copy below the playable surface. */
.bstf-seo-content {
  width: min(1120px, calc(100% - 32px));
  margin: 28px auto 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(200, 255, 0, .22);
  border-radius: 18px;
  background: #111716;
  color: #cbd3cf;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .2);
}

.bstf-seo-content :where(h2, h3) {
  margin: 0 0 12px;
  color: #f5f7f2;
  line-height: 1.22;
}

.bstf-seo-content h2 {
  font-size: clamp(24px, 3vw, 34px);
}

.bstf-seo-content h3 {
  margin-top: 24px;
  font-size: clamp(18px, 2vw, 22px);
}

.bstf-seo-content :where(p, li) {
  color: #b9c3be;
  font-size: 16px;
  line-height: 1.72;
}

.bstf-seo-content p {
  margin: 0 0 12px;
}

.bstf-seo-content ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.bstf-seo-content li::marker {
  color: #c8ff00;
}

@media (max-width: 600px) {
  .bstf-seo-content {
    width: calc(100% - 20px);
    margin-top: 18px;
    padding: 20px 18px;
    border-radius: 14px;
  }
}
