/* RC72 foundation: one projection, compact choices and one short result. */
.renewalResult .goalCutinInner{height:96svh!important;max-height:96svh!important;width:min(96vw,560px)!important;padding:calc(env(safe-area-inset-top,0px) + 14px) 18px calc(env(safe-area-inset-bottom,0px) + 10px)!important;grid-template-rows:minmax(0,1fr) auto auto auto auto 24px;gap:9px;background:linear-gradient(150deg,#102f30,#091b27)!important;border:1px solid #91c7b755;border-radius:18px;box-shadow:0 0 60px #aadfc211}
.renewalResult .playLead{display:none!important}.renewalResult .footballCinema.omsRecovered{grid-row:1;grid-column:1;display:grid!important;grid-template-rows:56px minmax(0,1fr);overflow:hidden!important}.renewalResult .omsSkillRail{height:56px}.renewalResult .omsMotionPitch{grid-row:2;aspect-ratio:1;border-radius:16px!important}.renewalResult .goalWord{grid-row:2;font-size:clamp(40px,13vw,74px)!important;min-height:1em;line-height:1.05;color:#eef7ed}.renewalResult .goalScorer{grid-row:3;line-height:1.4;font-size:16px;height:auto;min-height:0}.renewalResult .goalScorer:empty{display:none}
.renewalResult #highlightCaption{grid-row:4;white-space:normal;height:auto;min-height:0;max-height:none;overflow:visible;font-size:12px;line-height:1.5;margin:0;color:#d3e8dd}.renewalResult #highlightCaption:empty{display:none!important}.renewalResult #assistCredit{display:block!important;grid-row:4;font-size:13px;color:#d9e6bc;margin:0;line-height:1.5;max-height:none}.renewalResult #assistCredit:empty{display:none!important}.renewalResult .goalScore{grid-row:5;font-size:23px;line-height:1.2}.renewalResult #highlightNext{grid-row:6;line-height:24px;font-size:10px;letter-spacing:.16em}
.renewalResult .renewalSeal{font-size:17px;left:0;right:0;bottom:0;line-height:32px;background:linear-gradient(transparent,#071e25);letter-spacing:.15em}.renewalResult .recoveredTrail{animation:foundationTrace var(--motion-duration) linear both;opacity:.75;filter:drop-shadow(0 0 4px #baf4ff);stroke-dasharray:inherit}.renewalResult[data-result-phase="result"] .recoveredTrail{opacity:.3}.renewalResult .omsNetHit{animation:netSlow 850ms var(--contact-time) ease-out both}.renewalResult[data-owner="team"] .goalWord{font-size:clamp(36px,11vw,62px)!important}.renewalResult[data-sequence="pass"] .footballCinema:after,.renewalResult[data-sequence="shot"] .footballCinema:after{display:block!important;content:'PASS';position:absolute;left:0;right:0;top:62px;text-align:center;color:#cce2d7;font-size:10px;letter-spacing:.22em}.renewalResult[data-sequence="shot"] .footballCinema:after{content:'SHOT'}
body.choosing #match{justify-content:center;gap:7px;padding:18px 16px;background:linear-gradient(155deg,#143a34,#0b2230)}body.choosing #match .hud{padding:6px 0 10px;min-height:58px}.choosing #matchChoices{flex:0 1 auto!important;grid-auto-rows:64px!important;align-content:start!important;gap:10px!important;margin:14px 0 0!important}body.choosing #matchChoices button{height:100%;max-height:none;min-height:44px;padding:10px 14px;display:flex;align-items:center;gap:12px;font-size:15px;line-height:1.3;animation:none!important;transform:none!important;-webkit-text-fill-color:currentColor;border-radius:10px}body.choosing #matchChoices button:before{content:attr(data-icon);position:static;display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;min-height:28px;margin:0;padding:0;inset:auto;border-radius:6px;background:#daeee610;color:inherit;opacity:.8;font-size:19px;transform:none;box-shadow:none}
body.choosing #match .comboHud{white-space:normal;font-size:10px;line-height:1.3;max-height:28px}body.choosing .possessionMap{display:none!important}body.choosing #matchText{max-height:3em;font-size:12px;line-height:1.5}body.choosing #matchTitle{margin:14px 0 0;font-size:22px;line-height:1.3}body.choosing #decisionClock{font-size:26px;line-height:30px}body.choosing #matchYear{color:#b5cdc0;margin-top:9px}
#matchOpening:not(.hidden){position:fixed;inset:0;z-index:80;background:radial-gradient(ellipse at 50% 65%,#174537,#051722 75%);gap:25px;animation:panelArrive .45s ease-out both;overflow:hidden}#matchOpening:not(.hidden):before{content:'';position:absolute;left:-20%;right:-20%;top:62%;height:1px;background:linear-gradient(90deg,transparent,#a5d6bc88,transparent);transform:rotate(-12deg);pointer-events:none}.openingIdentity{font-size:10px;letter-spacing:.28em;color:#adc9bb}#matchOpening strong{font-size:clamp(40px,13vw,68px);font-style:italic;letter-spacing:-.035em;line-height:1.1;color:#f0efcf}#matchOpening .openingScore{font-size:12px;line-height:1.7;max-width:90%;color:#c4d9cd}#matchOpening .openingBall{width:24px;height:24px;margin:24px 0;filter:drop-shadow(0 0 15px #cfefda66);animation:openingRoll 1200ms ease-out both}#matchOpening .openingTap{font-size:10px;letter-spacing:.16em}
@keyframes openingRoll{from{transform:translate(-35px,10px) rotate(-130deg);opacity:0}35%{opacity:1}to{transform:translate(22px,-2px) rotate(95deg);opacity:1}}
@media(max-height:650px){body.choosing #match{padding:12px 14px;gap:5px}body.choosing #matchChoices{grid-auto-rows:52px!important;gap:8px!important;margin-top:10px!important}body.choosing #match .hud{padding:3px 0;min-height:48px}body.choosing #matchTitle{margin-top:8px;font-size:19px}body.choosing #matchYear{margin-top:4px}.renewalResult .goalCutinInner{gap:6px;padding-top:10px!important;padding-bottom:8px!important}.renewalResult .goalWord{font-size:40px!important}.renewalResult .footballCinema.omsRecovered{grid-template-rows:52px minmax(0,1fr)}.renewalResult .omsSkillRail{height:52px}}
@media(orientation:landscape) and (max-height:520px){body.choosing #match{display:grid;grid-template-columns:1fr 1.25fr;grid-template-rows:40px 18px 60px auto auto;align-content:center;gap:6px 16px}body.choosing #decisionClock{grid-column:1;grid-row:1}body.choosing #matchYear{grid-column:1;grid-row:2;margin:0}body.choosing #match .hud{grid-column:1;grid-row:3}body.choosing #matchTitle{grid-column:1;grid-row:4;margin:0}body.choosing #matchText{grid-column:1;grid-row:5}body.choosing #matchChoices{grid-column:2;grid-row:1/span 5;grid-auto-rows:48px!important;margin:0!important}.choosing #match .comboHud{display:none}.renewalResult .goalCutinInner{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr auto auto auto 24px;column-gap:18px;width:min(96vw,840px)!important}.renewalResult .footballCinema.omsRecovered{grid-column:1;grid-row:1/span 5;grid-template-rows:48px minmax(0,1fr)}.renewalResult .omsSkillRail{height:48px}.renewalResult .goalWord{grid-column:2;grid-row:1;align-self:end;font-size:38px!important}.renewalResult .goalScorer{grid-column:2;grid-row:2}.renewalResult #highlightCaption,.renewalResult #assistCredit{grid-column:2;grid-row:3}.renewalResult .goalScore{grid-column:2;grid-row:4}.renewalResult #highlightNext{grid-column:2;grid-row:5}.renewalResult .renewalSeal{font-size:12px}}
@media(prefers-reduced-motion:reduce){.renewalResult .recoveredTrail{animation:none!important;stroke-dashoffset:var(--trace20)!important}.renewalResult .renewalGlass{display:none}#matchOpening .openingBall{animation:none}.renewalResult .cinemaTravel{animation:none!important;transform:translate(var(--mx20),var(--my20)) scale(var(--ms20,1))}}

@keyframes foundationTrace{0%{stroke-dashoffset:var(--trace0)}5%{stroke-dashoffset:var(--trace1)}10%{stroke-dashoffset:var(--trace2)}15%{stroke-dashoffset:var(--trace3)}20%{stroke-dashoffset:var(--trace4)}25%{stroke-dashoffset:var(--trace5)}30%{stroke-dashoffset:var(--trace6)}35%{stroke-dashoffset:var(--trace7)}40%{stroke-dashoffset:var(--trace8)}45%{stroke-dashoffset:var(--trace9)}50%{stroke-dashoffset:var(--trace10)}55%{stroke-dashoffset:var(--trace11)}60%{stroke-dashoffset:var(--trace12)}65%{stroke-dashoffset:var(--trace13)}70%{stroke-dashoffset:var(--trace14)}75%{stroke-dashoffset:var(--trace15)}80%{stroke-dashoffset:var(--trace16)}85%{stroke-dashoffset:var(--trace17)}90%{stroke-dashoffset:var(--trace18)}95%{stroke-dashoffset:var(--trace19)}100%{stroke-dashoffset:var(--trace20)}}
/* Keep the full-screen intro fixed while only its typography moves. */
#matchOpening:not(.hidden){animation:none!important;transform:none!important}#matchOpening strong{animation:panelArrive .45s ease-out both}
.renewalResult .goalWord{line-height:1.2;min-height:1.2em;padding:3px 0;overflow-wrap:anywhere}.renewalResult .goalScorer{overflow-wrap:anywhere}
.renewalResult .goalScore{font-size:23px!important;line-height:1.5!important}.renewalResult .goalScorer{font-size:16px!important;line-height:1.5!important}
/* Skill labels stay inside a reserved rail, including their entry frame. */
.renewalResult .footballCinema.omsRecovered.hasSkill{grid-template-rows:80px minmax(0,1fr)}.renewalResult .hasSkill .omsSkillRail{height:80px;min-height:0;margin:0}.renewalResult .skillActive{animation:none!important;transform:none!important;min-width:0;padding:6px 10px;margin:0;line-height:1.2}.renewalResult .skillActive small{font-size:8px;line-height:1.2}.renewalResult .skillActive strong{font-size:14px;line-height:1.3;margin:2px 0}.renewalResult .skillActive span{display:block!important;font-size:10px;line-height:1.3;margin:2px 0 0;overflow-wrap:anywhere}
/* Keep colour and icon geometry in one fixed card layout. */
body.choosing #matchChoices button:before{display:grid!important}body.choosing #matchChoices .rainbowPromise{display:none!important}body.choosing #matchChoices button.chanceChoice:not(.rainbowChoice){background:linear-gradient(120deg,#51401c,#705827,#51401c)!important;color:#fff0c1!important}body.choosing #matchChoices button.rainbowChoice,body.choosing[data-combo="rainbow"] #matchChoices button{background:linear-gradient(115deg,#633b50,#675b36,#325b48,#2a546b,#554a78)!important;color:#fff!important}body.choosing[data-combo="blue"] #matchChoices button:not(.chanceChoice):not(.rainbowChoice){background:#193c50!important}body.choosing[data-combo="red"] #matchChoices button:not(.chanceChoice):not(.rainbowChoice){background:#4a2d36!important}body.choosing[data-combo="gold"] #matchChoices button:not(.rainbowChoice){background:linear-gradient(120deg,#51401c,#705827,#51401c)!important;color:#fff0c1!important}
/* RC73: action-only uniforms, clear ownership and a dedicated goal-area camera. */
#matchOpening:not(.hidden):before{display:none!important}#matchOpening strong{font-style:normal;font-size:clamp(36px,12vw,60px);letter-spacing:.04em}#matchOpening .openingScore{font-size:15px;line-height:1.8;text-align:center;max-width:88%}
.renewalResult .cinemaActor{opacity:1;filter:drop-shadow(0 3px 3px #0006)}.renewalResult[data-result-phase="result"] .cinemaActor{opacity:0;transition:opacity .35s}.renewalResult .cinemaWorld{transform-box:view-box;transform-origin:180px 85px}.renewalResult [data-camera="own-goal"] .cinemaWorld{transform-origin:180px 300px}.renewalResult [data-area-time]:not([data-area-time="-1"]) .cinemaWorld{animation:goalAreaCamera .4s var(--area-time) ease-out both}.renewalResult .cinemaArea{opacity:0;animation:areaLabel .3s var(--area-time) both}
@keyframes goalAreaCamera{from{transform:scale(1)}to{transform:scale(1.25)}}@keyframes areaLabel{to{opacity:1}}
.renewalResult[data-sequence] .footballCinema:after{display:block!important;content:'あなたのプレー';position:absolute;left:0;right:0;top:84px;text-align:center;color:#f4ffe8;font-size:11px;letter-spacing:.04em;text-shadow:0 1px 4px #000}.renewalResult[data-sequence="pass"] .footballCinema:after{content:'あなた → 味方へパス'}.renewalResult[data-sequence="team-shot"] .footballCinema:after{content:'味方FWがシュート！'}.renewalResult[data-sequence="shot"] .footballCinema:after{content:'あなたのシュート！'}.renewalResult[data-sequence="team-action"] .footballCinema:after,.renewalResult[data-sequence="team-pass"] .footballCinema:after{content:'味方のプレー'}.renewalResult[data-sequence="opponent-pass"] .footballCinema:after{content:'相手のラストパス → 守備へ戻る'}.renewalResult[data-sequence="opponent-shot"] .footballCinema:after{content:'相手がシュート → セーブに届かず'}.renewalResult[data-sequence="opponent-action"] .footballCinema:after{content:'相手のプレー'}
.renewalResult.comebackGoal .goalCutinInner{background:radial-gradient(ellipse at 50% 40%,#68472d,#251e3b 55%,#071f30)!important;border-color:#ffe9a2;box-shadow:0 0 70px #ffe07366}.renewalResult.comebackGoal .goalWord{color:#fff0b0;text-shadow:0 0 28px #ffc848}.renewalResult.comebackGoal #highlightCaption,.renewalResult.leadGoal #highlightCaption{font-size:24px;font-weight:900;color:#ffe6a1}.renewalResult.scoreArrived.comebackGoal .goalScore{animation:scoreFlip .6s ease-out both}.renewalResult.scoreArrived.comebackGoal .goalCutinInner{animation:comebackPulse .5s ease-out both}
@keyframes scoreFlip{0%{transform:scale(.8);filter:brightness(3)}60%{transform:scale(1.15)}100%{transform:scale(1);filter:brightness(1)}}@keyframes comebackPulse{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}}
body.choosing #matchGrowthToast{position:static;margin:0;padding:5px 9px;font-size:11px;line-height:1.3;max-height:45px;overflow:auto;flex:0 0 auto;animation:none;border-width:1px}body.choosing #matchGrowthToast strong{font-size:12px}body.choosing #matchText{max-height:3em}body.choosing #matchChoices{margin-top:8px!important}
@media(orientation:landscape) and (max-height:520px){body.choosing #matchGrowthToast{grid-column:1;grid-row:6;max-height:30px}.renewalResult .goalWord{font-size:32px!important}.renewalResult.comebackGoal #highlightCaption{font-size:18px}}
@media(prefers-reduced-motion:reduce){.renewalResult .cinemaWorld{animation:none!important;transform:scale(1)!important}.renewalResult.comebackGoal .goalScore,.renewalResult.comebackGoal .goalCutinInner{animation:none!important}}
/* Controls use the same recognizable uniform shape as the action cinema. */
.playSurface .playerFigure{display:block!important;width:30px!important;height:32px!important;background:#9edfff!important;border:0!important;border-radius:0!important;clip-path:polygon(30% 0,42% 8%,58% 8%,70% 0,100% 27%,82% 48%,72% 36%,72% 100%,28% 100%,28% 36%,18% 48%,0 27%)!important;box-shadow:none!important;filter:drop-shadow(0 2px 2px #0005)}.playSurface .playerFigure.orangeFigure,.playSurface .playerFigure.passOpponent{background:#ffac72!important}.playSurface .passTarget .playerFigure{background:#b9ebbd!important;margin:auto}.playSurface .pitchFigure:before{display:none!important}.playSurface .passSelf small{display:block;margin-top:3px}.playSurface .passField{overflow:visible!important}.playSurface .passTarget{min-width:44px;min-height:44px}
/* Finish inside the penalty area without reversing the attack direction. */
@keyframes goalAreaCamera{from{transform:matrix(1,0,0,1,0,0)}to{transform:matrix(2,0,0,2,-180,15)}}
.renewalResult .cinemaWorld{transform-origin:0 0!important}.renewalResult [data-camera="own-goal"][data-area-time]:not([data-area-time="-1"]) .cinemaWorld{animation-name:ownAreaCamera}
@keyframes ownAreaCamera{from{transform:matrix(1,0,0,1,0,0)}to{transform:matrix(1.7,0,0,1.7,-126,-280)}}
.renewalResult .omsMotionPitch{overflow:hidden!important}
@media(max-height:650px) and (orientation:portrait){body.choosing #match:has(#matchGrowthToast:not(.hidden)) #matchChoices{grid-auto-rows:48px!important;gap:8px!important}body.choosing #match:has(#matchGrowthToast:not(.hidden)){padding-top:10px;padding-bottom:10px}body.choosing #match:has(#matchGrowthToast:not(.hidden)) #matchTitle{margin-top:6px}}
body.choosing #matchGrowthToast{max-height:none;overflow:visible}body.choosing #matchGrowthToast .growthRows{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;margin-top:3px}body.choosing #matchGrowthToast .growthRow{grid-template-columns:minmax(0,1fr) 28px;gap:5px;font-size:10px;line-height:12px}body.choosing #matchGrowthToast .growthName{font-size:10px;line-height:12px}body.choosing #matchGrowthToast .growthTrack{height:10px}body.choosing #matchGrowthToast .growthArrow{height:3px;min-width:12px}body.choosing #matchGrowthToast .growthArrow:after{border-left-width:4px;border-top-width:3px;border-bottom-width:3px;right:-3px}
@media(max-height:650px) and (orientation:portrait){body.choosing #match:has(#matchGrowthToast:not(.hidden)) #matchChoices{grid-auto-rows:44px!important;gap:6px!important}body.choosing #match:has(#matchGrowthToast:not(.hidden)) .hud{min-height:42px;padding:0}body.choosing #match:has(#matchGrowthToast:not(.hidden)) #matchText{font-size:11px}}
.playSurface .passField[data-restart="corner"]:after{content:'';position:absolute;left:0;top:0;width:20px;height:20px;border-right:1px solid #dcefe899;border-bottom:1px solid #dcefe899;border-radius:0 0 100% 0;pointer-events:none}.playSurface .passField[data-restart="corner"][data-corner-side="right"]:after{left:auto;right:0;border-right:0;border-left:1px solid #dcefe899;border-radius:0 0 0 100%}
