/* ONE MORE STEP RC78: agency, chain, own-goal and comeback presentation */
.matchTitle,.matchText,.guideHint,.guideDetail,.chosenPlay,.situationTitle,.goalWord,.goalScorer,#highlightCaption,.celebrationHeading,.celebrationMessage,.omsMotionCaption{
  line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:balance;
}
.matchText,.guideDetail,#highlightCaption,.omsMotionCaption{line-height:1.72;letter-spacing:.015em}
.matchTitle,.situationTitle{line-height:1.35;letter-spacing:.02em}

#comboHud[data-chain-count="0"]{opacity:.72}
#comboHud[data-chain-level="blue"],#comboHud[data-chain-level="red"]{font-weight:800;letter-spacing:.045em}
#comboHud[data-chain-level="gold"],#comboHud[data-chain-level="rainbow"]{font-weight:950;letter-spacing:.075em;transform:scale(1.02)}
#comboHud[data-chain-level="gold"]{text-shadow:0 0 12px #f0d58c88}
#comboHud[data-chain-level="rainbow"]{text-shadow:-3px 0 12px #f08bb788,3px 0 12px #84dff088}

.comboCutin{background:radial-gradient(circle at 50% 45%,#245d52f2,#06141cf9 66%,#010609 100%)}
.comboCutin strong{font-size:clamp(48px,14vw,90px)!important;font-weight:1000!important;letter-spacing:-.035em!important;text-shadow:0 0 18px #9ff0c788,0 0 55px #74d8bb44;animation:omsChainPunch .62s cubic-bezier(.16,.8,.24,1) both!important}
.comboCutin:after{content:"KEEP THE FLOW";position:absolute;left:0;right:0;top:62%;text-align:center;font-size:12px;font-weight:850;letter-spacing:.28em;color:#d9eee5;animation:omsChainSub .62s ease-out both}
@keyframes omsChainPunch{0%{opacity:0;transform:scale(1.55) skewX(-8deg)}28%{opacity:1;transform:scale(.92) skewX(-4deg)}58%{transform:scale(1.05) skewX(-2deg)}100%{opacity:0;transform:scale(1)}}
@keyframes omsChainSub{0%,22%{opacity:0;transform:translateY(12px)}50%,80%{opacity:1;transform:none}100%{opacity:0}}

.chanceCutin{background:radial-gradient(circle at 50% 46%,#6b421af2,#190c07fa 62%,#030506 100%)}
.chanceCutin strong{font-size:clamp(54px,16vw,102px)!important;font-weight:1000!important;letter-spacing:-.055em!important;text-shadow:0 0 18px #ffd890aa,0 0 65px #ff9d4544}
.chanceCutin:after{content:"決めるのは、あなたの操作";position:absolute;left:18px;right:18px;top:64%;text-align:center;font-size:12px;font-weight:800;letter-spacing:.06em;color:#fff0ce;animation:chanceFocus .7s both}

.goalCutin.playerGoal{background:radial-gradient(circle at 50% 42%,#18392fe8 0,#061018f5 45%,#010307fc 100%)!important}
.goalCutin.playerGoal .goalCutinInner{width:min(96vw,720px)!important;border:2px solid #f9e6a4!important;box-shadow:0 0 32px #fff1b455,0 0 95px #d3b75855,inset 0 0 45px #f2d57a16!important;overflow:visible!important}
.goalCutin.playerGoal .goalWord{font-size:clamp(78px,22vw,142px)!important;line-height:.9!important;height:auto!important;min-height:0!important;color:#fffdf2!important;text-shadow:4px 5px 0 #173b35,0 0 24px #fff2ad,0 0 78px #efc85a99!important;animation:omsGoalSlam .88s cubic-bezier(.12,.82,.22,1) both!important}
.goalCutin.playerGoal .goalScorer{font-size:clamp(24px,7vw,38px)!important;height:auto!important;max-height:none!important;line-height:1.2!important;color:#fff7d2;font-weight:1000!important;letter-spacing:.04em}
.goalCutin.playerGoal .footballCinema{filter:saturate(1.25) brightness(1.08)}
.goalCutin.playerGoal:before{content:"";position:absolute;inset:-25%;pointer-events:none;background:conic-gradient(from 12deg,transparent 0 15deg,#fff2ad42 18deg,transparent 23deg,transparent 49deg,#96f0cd35 53deg,transparent 59deg,transparent 102deg,#fff2ad42 107deg,transparent 115deg,transparent 168deg,#9ee7ff32 172deg,transparent 180deg,transparent 245deg,#fff2ad3d 250deg,transparent 258deg);animation:omsGoalRays 1.45s ease-out both}
.goalCutin.playerGoal:after{content:"";position:absolute;left:50%;top:44%;width:36vmin;height:36vmin;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fff1b5aa;box-shadow:0 0 70px #ffe69b88,inset 0 0 60px #fff0aa44;pointer-events:none;animation:omsGoalRing 1.05s ease-out both}
@keyframes omsGoalSlam{0%{opacity:0;transform:scale(2.15) rotate(-4deg)}26%{opacity:1;transform:scale(.88) rotate(1deg)}50%{transform:scale(1.10)}72%{transform:scale(.98)}100%{transform:scale(1)}}
@keyframes omsGoalRays{0%{opacity:0;transform:scale(.6) rotate(-8deg)}18%{opacity:.95}100%{opacity:0;transform:scale(1.14) rotate(7deg)}}
@keyframes omsGoalRing{0%{opacity:1;transform:translate(-50%,-50%) scale(.16)}55%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(2.35)}}

.omsPlayerGoalStamp{position:absolute;z-index:12;top:12px;left:50%;transform:translateX(-50%);max-width:90%;padding:6px 11px;border:1px solid #ffe7a788;border-radius:999px;background:#071815d9;color:#fff3c5;font-size:10px;font-weight:900;letter-spacing:.16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.omsMomentBanner{position:absolute;z-index:11;left:50%;top:12%;transform:translateX(-50%) rotate(-3deg);width:max-content;max-width:92vw;padding:8px 18px;border-top:2px solid #fff2b6;border-bottom:2px solid #fff2b6;background:#07110ddd;color:#fff9df;font-size:clamp(24px,8vw,54px);font-weight:1000;font-style:italic;letter-spacing:-.045em;text-shadow:0 0 18px #ffdb79;box-shadow:0 0 38px #f5ce7050;animation:omsMomentDrop .75s cubic-bezier(.15,.8,.25,1) both}
.goalCutin.comebackGoal .omsMomentBanner,.goalCutin.equalizerGoal .omsMomentBanner,.goalCutin.leadGoal .omsMomentBanner{background:linear-gradient(90deg,#6c1717e8,#121718e8);border-color:#ffe5a2;box-shadow:0 0 65px #ff8d515e}
@keyframes omsMomentDrop{0%{opacity:0;transform:translate(-50%,-90px) scale(1.35) rotate(-8deg)}45%{opacity:1;transform:translate(-50%,6px) scale(.95) rotate(-2deg)}70%{transform:translate(-50%,-2px) scale(1.04) rotate(-3deg)}100%{transform:translateX(-50%) scale(1) rotate(-3deg)}}

.goalCutin.teamGoalQuiet .goalCutinInner{width:min(86vw,500px)!important;box-shadow:0 0 24px #8fc9c12c!important}
.goalCutin.teamGoalQuiet .goalWord{font-size:clamp(42px,12vw,72px)!important;text-shadow:0 0 18px #9ecdc766!important}

.omsChainStamp{position:absolute;z-index:13;right:12px;bottom:12px;display:grid;gap:1px;justify-items:end;padding:7px 10px;border:1px solid #bfe7d766;border-radius:8px;background:#061514df;box-shadow:0 0 24px #8fe0bd33;pointer-events:none;animation:omsChainBadge .46s cubic-bezier(.15,.8,.25,1) both}
.omsChainStamp strong{font-size:16px;line-height:1;color:#e7fff4;letter-spacing:.04em}.omsChainStamp span{font-size:8px;color:#bae4d2;letter-spacing:.16em;font-weight:850}
.goalCutin.sparkPlay .omsChainStamp{border-color:#ffe1a6;background:#231b0edf;box-shadow:0 0 36px #ffcf7555}.goalCutin.sparkPlay .omsChainStamp strong{color:#fff0bd}.goalCutin.sparkPlay .omsChainStamp span{color:#ffd680}
.omsChainStamp.chainBreak{border-color:#f2a4a477;background:#261013e8;box-shadow:0 0 28px #d85b5b44}.omsChainStamp.chainBreak strong{color:#ffd1d1}.omsChainStamp.chainBreak span{color:#e8b7b7}
.goalCutin.sparkPlay .goalCutinInner{box-shadow:0 0 48px #f3d17840,inset 0 0 36px #f5d78610}
@keyframes omsChainBadge{from{opacity:0;transform:translate(22px,12px) scale(.72)}to{opacity:1;transform:none}}

@media(max-height:700px){
  .goalCutin.playerGoal .goalWord{font-size:clamp(62px,18vw,105px)!important}
  .omsMomentBanner{top:8%;font-size:clamp(22px,7vw,42px)}
  .omsPlayerGoalStamp{top:7px}
  .omsChainStamp{bottom:7px;right:7px}
}
@media(prefers-reduced-motion:reduce){
  .comboCutin strong,.comboCutin:after,.goalCutin.playerGoal .goalWord,.goalCutin.playerGoal:before,.goalCutin.playerGoal:after,.omsMomentBanner,.omsChainStamp{animation:none!important}
}