/* RC42: ONE MORE STEP — stadium, career and match presentation. */
:root{--oms-ink:#08181f;--oms-panel:#10252bd9;--oms-line:#9aab9733;--oms-gold:#e6d2a0;--oms-silver:#c7e7df;--oms-green:#a7e9bf;--oms-red:#e2a195}
body{background:#06151d url("assets/presentation/stadium.svg") center top/cover fixed;color:#f1f2e8}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(#06151d33,#06151d99 45%,#06151df2);pointer-events:none;z-index:-1}
body .wrap{max-width:860px;padding:26px max(18px,env(safe-area-inset-right)) 70px max(18px,env(safe-area-inset-left))}
.heroBrand{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--oms-line);padding-bottom:16px;margin-bottom:24px;gap:12px}.heroBrand .brand{font-size:11px;letter-spacing:.22em;color:var(--oms-gold)}.edition{font-size:10px;letter-spacing:.14em;color:#b2c9c4}
.heroTitle{font-weight:900;letter-spacing:-.055em;font-size:clamp(31px,7vw,58px);line-height:1.15;margin:12px 0}.heroTitle em{font-style:normal;color:var(--oms-gold)}.heroCaption{color:#adc1bf;font-size:12px;line-height:1.8;max-width:400px;margin-bottom:24px}
body:not([data-page="card"]) .card{background:linear-gradient(130deg,#183137e8,#081921ed);border:1px solid var(--oms-line);padding:clamp(20px,4vw,32px);border-radius:14px;box-shadow:0 25px 70px #0006;position:relative}
body:not([data-page="card"]) .card:not(.hidden){animation:panelArrive 450ms ease-out both}
body:not([data-page="card"]) .card:before{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,transparent,#d9d7ad88,transparent)}
body:not([data-page="card"]) button{border-radius:7px;background:linear-gradient(110deg,#c4b17b,#f0dfb3);color:#0d242a;min-height:48px;padding:16px;font-size:14px;transition:translate 130ms,background 130ms,box-shadow 130ms}
body:not([data-page="card"]) button:active{translate:0 2px}
body:not([data-page="card"]) button.alt{background:#0a1e27;color:#e8eee3;border:1px solid #7d9d8b40;text-align:left;position:relative;padding-left:22px}
#choices button.alt:before,#matchChoices button.alt:before{content:"";width:3px;position:absolute;left:0;top:30%;bottom:30%;background:var(--oms-gold);border-radius:4px}
#choices,#matchChoices{display:grid;gap:8px;margin-top:22px}#choices button,#matchChoices button{margin:0}
body:not([data-page="card"]) button:focus-visible{outline:2px solid var(--oms-green);outline-offset:4px}
body:not([data-page="card"]) input,body:not([data-page="card"]) select{border-radius:7px;background:#061922;border-color:#8caa9840;min-height:48px}#setup .grid{grid-template-columns:1fr 1fr;gap:18px 12px;margin-top:22px}#setup label{font-size:11px;letter-spacing:.03em;color:#c4cec0}#setup .sub{font-size:11px}
.kicker,.phase{color:#c5cfb4}.kicker{font-weight:500;letter-spacing:.15em}body:not([data-page="card"]) .title{font-size:clamp(24px,5vw,36px);letter-spacing:-.04em;line-height:1.2;margin:20px 0 12px}.text{color:#d8e3df;font-size:14px;line-height:1.95}.result{border:1px solid #9ebfa049;background:#081d27cc;border-radius:7px;padding:18px}.memory{background:#0b2028;border-radius:5px;border-left-color:var(--oms-gold);font-size:13px;line-height:1.8}.tag{border-radius:5px;background:#082029;border-color:#8aa8914d;padding:9px 12px}
.careerDeck{margin:14px 0 26px}.careerIdentity{display:flex;align-items:center;gap:12px;margin-bottom:16px}.careerMonogram{width:46px;height:46px;display:grid;place-items:center;border:1px solid #d6ce9c66;background:#d6ce9c11;border-radius:50%;font-size:11px;font-weight:700;color:var(--oms-gold)}.careerIdentity strong{font-size:19px;display:block;letter-spacing:-.025em}.careerIdentity small{font-size:11px;color:#a8beb6;display:block;margin-top:4px}
.chapterTrack{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;list-style:none;padding:0;margin:0}.chapterTrack li{padding:9px 2px;text-align:center;border-top:2px solid #8fa89922;color:#758e8a;font-size:9px;line-height:1.6}.chapterTrack li b{display:block;font-size:13px;font-weight:500;letter-spacing:.08em}.chapterTrack li.done{color:#c0d6c4;border-top-color:#90b69b}.chapterTrack li.current{color:#e4d6a4;border-top-color:#e4d6a4;background:linear-gradient(#e4d6a414,transparent)}
.careerStats{display:flex;gap:22px;margin:14px 0 0;font-size:11px;color:#afc4ba}.careerStats b{color:#e9eddf;font-size:17px;font-weight:500;margin-right:5px}.progress{height:3px;margin-top:18px}.progress span{box-shadow:0 0 14px #e7d2a055}.gradeUnlock{background:#0a222b!important;border-color:#76948044!important;line-height:1.8;font-size:12px}.skipbar{margin:14px 0}.skipbar button{padding:8px;min-height:38px;background:transparent;color:#9cb3ac;border:1px solid #78958044;font-weight:500;font-size:11px}
.matchBroadcast{font-size:10px;letter-spacing:.18em;color:#adc9c4;display:flex;justify-content:space-between;padding:0 0 14px;border-bottom:1px solid #a2bca044;margin-bottom:18px}.matchBroadcast i{font-style:normal;color:#d8cf9f}.hud{gap:16px;padding:10px 0 24px}.hud>div:first-child,.hud>div:last-child{font-size:12px;line-height:1.7}.hud>div:first-child:before,.hud>div:last-child:before{content:"";display:block;width:26px;height:30px;margin:0 auto 8px;background:linear-gradient(#cedec2,#526f69);clip-path:polygon(0 0,100% 0,92% 72%,50% 100%,8% 72%)}.hud>div:last-child:before{background:linear-gradient(#d2a393,#765c64)}.score{font-size:clamp(38px,10vw,64px);letter-spacing:.035em;color:#e9eadb;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.15}#clock{color:var(--oms-gold);margin-top:6px}.meter{height:4px;margin:8px 0 18px}.teamCard{background:#071e26!important;border-color:#91ad9544!important;border-radius:5px;font-size:11px}.matchOpening{background:#0b2029!important;border-radius:5px!important;border-color:#839d7f44!important}.scoreNotice{font-size:12px;border-radius:4px;padding:12px;background:#09232a}.decisionClock{font-size:11px;color:#d7d5b7;border:0;background:transparent;padding:8px 0;text-align:right}
.playSurface{background:radial-gradient(ellipse at 50% 5%,#2b493233,#04131eeb 65%),url("assets/presentation/stadium.svg") center/cover}
.playSurface .actionPanel,.playSurface .quickGame{border:1px solid #91b6a144;background:linear-gradient(#102c32f2,#081b25f5);border-radius:12px;padding:clamp(18px,4vw,28px);box-shadow:0 25px 90px #0009}
.momentType{font-size:10px!important;letter-spacing:.17em!important;color:#cdd5af!important}.situationTitle{font-size:clamp(24px,6vw,35px);letter-spacing:-.03em;color:#edf0df}.guideHint{font-size:17px;line-height:1.6;color:#e3eacb}.guideDetail{color:#b2cac0;line-height:1.7;font-size:12px}.chosenPlay{border-left:2px solid #d1c895;padding-left:12px;font-size:13px}.screenTapHint,.tapHint{letter-spacing:.08em;color:#b7cbb5;line-height:1.8;font-size:11px}.countdownNum{color:#e3d8ab;text-shadow:0 0 45px #e3d8ab44;font-weight:500}.playSurface.hasLimit:after{left:12%;right:12%;height:3px;background:#d4cf9c}
.footballField,.passField.cleanPitch,.defenseArena,.goalPicker,.controlDemo,.touchFootball,.voiceFootball{border-radius:8px!important;border-color:#adcab177!important;background:radial-gradient(ellipse at 50% 15%,#355e4844,transparent 75%),repeating-linear-gradient(0deg,#183c35 0 48px,#1c4539 48px 96px)!important;box-shadow:inset 0 0 50px #03181288,0 12px 30px #0004}
.footballField:after,.passField.cleanPitch:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,#f5f9b808,transparent);pointer-events:none}.pitchFigure small{font-size:10px;letter-spacing:.03em}.playerFigure{box-shadow:0 3px 7px #0005;filter:drop-shadow(0 2px 2px #0004)}.passTarget{box-shadow:none!important}.passBall,.pitchBall,.shotStart{filter:drop-shadow(0 0 6px #fbf0be88)}.spaceLane,.runLane,.dribbleSpace{border-color:#e4d5a77f;background:#e4d5a711}.kickGauge{height:17px;border-color:#91a88d88}.kickWindow{border-color:#e0e8b7;background:#d9e5b538}.screenTapHint:after{content:"";display:block;width:32px;height:1px;margin:8px auto;background:#d3d8b54d}
.goalCutin{background:radial-gradient(ellipse,#163e3555,#03121ef5 74%)}.goalCutin .goalCutinInner{width:min(94vw,700px);max-height:94svh;border-radius:10px;padding:clamp(20px,4vw,32px);border-color:#89baa077;background:linear-gradient(140deg,#183d37,#091d29)!important;box-shadow:0 0 70px #99d4ac22,0 30px 90px #000a}.goalCutin .footballCinema{height:clamp(170px,32svh,285px)}.goalCutin .cinemaPitch{fill:#17483d}.goalCutin .goalWord{font-weight:900;letter-spacing:-.05em;font-size:clamp(46px,14vw,100px)}.goalScorer{font-size:20px;letter-spacing:.04em}.goalScore{font-variant-numeric:tabular-nums;color:#e8ecdd;letter-spacing:.1em}.playLead{font-size:12px;letter-spacing:.09em}
.goalCutin.superGoal .goalCutinInner{background:linear-gradient(145deg,#40371e,#1a2d2b,#0b1d29)!important;border-color:#eddf9a;box-shadow:0 0 65px #f1d16b66,0 0 145px #b69d3022}.goalCutin.superGoal .cinemaFlight{stroke-width:6;filter:drop-shadow(0 0 10px #ffe398)}
.goalCutin .impactStreaks,.goalCutin .impactRings{opacity:.6}.goalCutin .superSeal{font-size:clamp(26px,10vw,56px);letter-spacing:.12em;opacity:.55}.goalCutin .superShutter{display:none}.goalCutin .specialSlash{font-size:clamp(16px,6vw,40px)}
.goalCutin.rainbowGoal[data-tier] .goalCutinInner{background:linear-gradient(115deg,#41223f,#273b22,#143a49,#352543)!important;border-color:#e9c5fc;box-shadow:-22px 0 75px #f4608366,22px 0 75px #54c8eb66,0 -16px 55px #f6dc8c55,0 20px 55px #8dd9ba66}.goalCutin.rainbowGoal[data-tier] .goalWord{background:linear-gradient(90deg,#ff8eac,#ffdc8b,#aee8b2,#82dbed,#bdacff,#ff8eac);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;text-shadow:none!important;animation:rainbowInk 5s linear infinite}.goalCutin.rainbowGoal .cinemaFlight{stroke:url(#rainbowTrail);stroke-width:8}
.goalCutin[data-kind="conceded"] .goalCutinInner{background:linear-gradient(135deg,#39252b,#101c2a)!important;box-shadow:0 0 38px #d99c981e;border-color:#ba8f9477}.goalCutin[data-kind="miss"] .goalCutinInner,.goalCutin[data-kind="kept"] .goalCutinInner{background:#0b242b!important;border-color:#8ea5a466;box-shadow:0 0 35px #7da8a41c}
.goalAura{position:absolute;inset:-30%;pointer-events:none;background:conic-gradient(from 0deg,transparent,#d9d69416,transparent,#a5d4b916,transparent);opacity:0;z-index:0}.goalCutin.impactArrived .goalAura{opacity:1;animation:auraTurn 8s linear infinite}.goalCutin .goalCutinInner{z-index:1}.goalCutin.rainbowGoal .goalAura{background:conic-gradient(transparent,#fa7aa32d,transparent,#ffe78c2d,transparent,#6be6c52d,transparent,#7ec6fc2d,transparent,#cb8aff2d,transparent)}
.impactRibbon{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;border:1px solid #deebbd33}.goalCutin.impactArrived .impactRibbon{animation:impactFrame 900ms ease-out both}
#omsParticles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:65}.inputRipple{position:fixed;width:40px;height:40px;border:1px solid #e2e8bb88;border-radius:50%;pointer-events:none;z-index:66;animation:inputRing 400ms ease-out forwards}
.growthToast{border-radius:8px;background:linear-gradient(120deg,#193c2bf5,#0c232bf5);border-color:#aec58e55;box-shadow:0 10px 38px #0005}.growthArrow{background:linear-gradient(90deg,#759b70,#d9e2ae);box-shadow:0 0 12px #bad88d44;animation:growthArrive 650ms ease-out both}.growthArrow.down{background:#b5a699}.growthName{font-size:11px}.growthToast strong{font-size:11px;letter-spacing:.1em;font-weight:500}
#yearEnd{min-height:350px;text-align:center;background:linear-gradient(135deg,#2e4030,#0b1f29)!important}.yearBanner{font-size:clamp(34px,7vw,54px);letter-spacing:-.05em;line-height:1.2;color:#e5d9ae;margin:20px 0 25px}#yearSummary .memory{text-align:left}#graduation{background:linear-gradient(130deg,#33402a,#132c31 48%,#081923)!important}#graduation .yearBanner{margin:20px 0 28px}#gradLine{font-size:14px;line-height:1.9;color:#d3dfd0}
.graduationHonour{padding:24px 0 18px;border-bottom:1px solid #c9cf9844;margin-bottom:24px}.graduationHonour .honourNumber{font-size:clamp(62px,15vw,95px);line-height:1;color:#e6dcb7;font-weight:500;letter-spacing:-.07em}.graduationHonour .honourLabel{font-size:10px;letter-spacing:.25em;color:#c9d4b8}.graduationHonour p{font-size:13px;line-height:1.8;color:#c5d2c0}.honourStats{display:flex;gap:22px;margin-top:20px}.honourStats span{font-size:11px;color:#9fbaab}.honourStats b{display:block;font-size:24px;color:#edead9;font-weight:500}
.archivePanel{border-top:1px solid #8fa68b40;margin-top:30px;padding-top:20px}.archivePanel summary{cursor:pointer;font-size:12px;letter-spacing:.06em;color:#d0d9bb;padding:12px 0}.archiveIntro{font-size:11px;color:#9fb5aa;line-height:1.8}.archiveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.archiveCard{background:linear-gradient(120deg,#23352b,#0b2129)!important;border:1px solid #879e7955!important;text-align:left!important;color:#e6e7d1!important;padding:18px!important;margin:0!important;min-height:135px}.archiveCard strong{display:block;font-size:18px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.archiveCard small{display:block;font-size:10px;color:#aebfa4;margin-top:8px}.archiveCard .archiveRating{float:right;font-size:31px;line-height:1;color:#dfd19c}.archiveMemory{display:block;border-top:1px solid #82977633;padding-top:10px;margin-top:13px;font-size:10px;line-height:1.7;color:#bac8b4}.archiveDetail{padding:18px;background:#0b242bd9;border:1px solid #869f7855;border-radius:8px}.archiveDetail h3{font-size:20px;color:#e5dfbc}.archiveDetail p{font-size:12px;color:#c7d6bd;line-height:1.8}.archiveDetail button{background:transparent;border:1px solid #96ad7f55;color:#dee3bd}
body[data-page="card"]{background:#08181f url("assets/presentation/stadium.svg") center top/cover fixed}body[data-page="card"] .pageHeader{padding:16px 0 24px;border-bottom:1px solid #96ac8a44;margin-bottom:25px}body[data-page="card"] h1{font-size:clamp(24px,5vw,40px);letter-spacing:-.045em}body[data-page="card"] .panel{background:linear-gradient(140deg,#183136,#0a202b);border-color:#8aab8340;border-radius:9px;padding:22px}body[data-page="card"] .eyebrow{color:#e1d1a5;font-size:10px;letter-spacing:.22em}body[data-page="card"] .btn{border-radius:6px}body[data-page="card"] .preview{background:#081c23ed}body[data-page="card"] .previewHint{color:#b2c6b1}body[data-page="card"] .card{box-shadow:0 24px 70px #0008,0 0 38px #d6d2a217;animation:cardArrival 700ms ease-out both}body[data-page="card"] .abilityGrid>div{background:#081f28;border-color:#7e9c7844}.collectionNote{padding:12px 0;margin-top:12px;border-top:1px solid #96ac7c33;color:#c6d7b7;font-size:11px;line-height:1.8}
@keyframes panelArrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardArrival{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}@keyframes inputRing{from{opacity:.6;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;transform:translate(-50%,-50%) scale(2.4)}}@keyframes growthArrive{from{opacity:0;transform:scaleX(.2);transform-origin:left}to{opacity:1;transform:scaleX(1)}}@keyframes impactFrame{from{opacity:.5;transform:scale(.85)}to{opacity:0;transform:scale(1.08)}}@keyframes auraTurn{to{transform:rotate(360deg)}}@keyframes rainbowInk{to{background-position:200% 0}}
@media(max-width:520px){body .wrap{padding-top:20px}.heroBrand{margin-bottom:20px}.heroTitle{font-size:38px}.card .hud{gap:8px}#setup .grid{grid-template-columns:1fr 1fr}#setup .grid label:first-child,#setup .grid label:nth-child(2){grid-column:1/-1}.careerStats{gap:15px}.archiveGrid{gap:8px}.archiveCard{padding:14px!important}.archiveCard strong{font-size:15px}.archiveCard .archiveRating{font-size:26px}.chapterTrack li{font-size:8px}.hud>div:first-child,.hud>div:last-child{font-size:10px}.playSurface .actionPanel,.playSurface .quickGame{padding:18px}body[data-page="card"] .panel{padding:18px}}
@media(max-height:620px){.playSurface .actionPanel,.playSurface .quickGame{padding:12px}.goalCutin .footballCinema{height:135px}.goalCutin .goalWord{font-size:50px}.goalCutin .goalCutinInner{padding:14px}.goalAura{display:none}}
@media(prefers-reduced-motion:reduce){body *,body *:before,body *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.goalAura,#omsParticles,.inputRipple,.impactRibbon{display:none!important}.growthArrow{transform:none!important}.goalCutin.rainbowGoal[data-tier] .goalWord{animation:none!important}}
/* Keep goal confirmation at contact; colour travel does not reveal GOAL early. */
.goalCutin.rainbowGoal[data-tier]:not(.linkedAssist) .goalWord{animation:directionalWord 650ms var(--hit) both,rainbowInk 5s linear infinite}
.goalCutin.rainbowGoal[data-tier].linkedAssist[data-phase="pass"] .goalWord{animation:linkedGoalWord 700ms 400ms both,rainbowInk 5s linear infinite}
.goalCutin.rainbowGoal[data-tier].linkedAssist[data-phase="shot"] .goalWord,.goalCutin.rainbowGoal[data-tier].linkedAssist[data-phase="goal"] .goalWord{animation:linkedGoalWord 700ms both,rainbowInk 5s linear infinite}
@media(prefers-reduced-motion:reduce){body .playSurface.hasLimit:after{animation-duration:var(--limit)!important;animation-iteration-count:1!important}}
body[data-career="active"] .heroTitle,body[data-career="active"] .heroCaption{display:none}
body[data-career="active"] .heroBrand{margin-bottom:8px}

/* Gold confirmation pauses at an apparent save; its stored ending is a goal. */
.playReveal[data-confirmed="goal"] .continuationCard{border:1px solid #edcb7666;box-shadow:0 0 36px #e7be4222}
.playReveal[data-confirmed="goal"][data-stage="hold"] .continuationPitch{filter:saturate(.35)}
.playReveal[data-confirmed="goal"][data-stage="continue"] .continuationPitch{filter:none;box-shadow:inset 0 0 32px #e5bc4444}
.playReveal[data-confirmed="goal"] .screenTapHint{color:#e9d394}

.pkStyles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 12px}.pkStyles .pkStyle{font-size:12px;padding:9px 5px;min-height:44px;border:1px solid #809d9455;background:#102a31;color:#e1eae4}.pkStyles .pkStyle.selected{border-color:#d9d28b;background:#324234;color:#fff5c9}.shotKeeper{transition:left .3s ease-out}.goalCutin[data-technique="panenka"] .cinemaBall{animation-name:panenkaFlight}@keyframes panenkaFlight{0%{transform:translate(50px,150px)}50%{transform:translate(149px,62px) scale(.9)}100%{transform:translate(292px,42px)}}

/* Hold the uncertain ball and dim the scene until a deliberate tap. */
.continuationCard{position:relative;overflow:hidden}.freezeHalo{position:absolute;inset:5px;border:1px solid #d4e4e333;border-radius:16px;pointer-events:none;opacity:0}.playReveal[data-stage="hold"] .freezeHalo{opacity:1;box-shadow:inset 0 0 36px #aec5c51c}.playReveal[data-stage="hold"] .continuationPitch{filter:saturate(.3);}.playReveal[data-stage="hold"] .continuationCard *{animation-play-state:paused!important}.playReveal[data-reversal="yes"][data-stage="continue"] .freezeHalo,.playReveal[data-reversal="yes"][data-stage="shot"] .freezeHalo{opacity:1;border-color:#dbeeee;box-shadow:inset 0 0 22px #7ce0bd55,0 0 22px #c6abe166;animation:reversalOpen 700ms ease-out both}.playReveal[data-reversal="yes"][data-stage="continue"] #revealDoubt,.playReveal[data-reversal="yes"][data-stage="shot"] #revealDoubt{color:#edf5f0}.reversalHighlight .goalAura{opacity:.85}.goalCutin.reversalHighlight:not(.rainbowGoal) .goalCutinInner{border-color:#bee9dd;box-shadow:0 0 40px #b5e8dd44}@keyframes reversalOpen{from{transform:scale(.96);opacity:.35}to{transform:scale(1);opacity:1}}

/* Rainbow choices promise a goal explicitly; unlike gold, they skip actions. */
#matchChoices button.rainbowChoice{position:relative;border:2px solid #eae0ff!important;background:linear-gradient(115deg,#67334f,#4d4b2b,#245c47,#254d69,#543963)!important;color:#fff!important;box-shadow:-5px 0 16px #ed82af66,5px 0 16px #69d8e866,inset 0 0 15px #ffffff22;font-weight:800;animation:rainbowChoiceGlow 3.2s ease-in-out infinite}#matchChoices button.rainbowChoice:before{display:none!important}.rainbowPromise{display:block;font-size:10px;letter-spacing:.04em;font-weight:600;margin-top:7px;color:#fff3d5}.goalCutin.instantRainbow.rainbowGoal[data-tier] .cinemaBall{animation-duration:650ms!important;animation-delay:0ms!important}.goalCutin.instantRainbow .cinemaFlight{animation-duration:700ms!important;animation-delay:0ms!important}.goalCutin.instantRainbow .goalCutinInner{box-shadow:-24px 0 75px #ed769d77,24px 0 75px #62c8f077,0 -18px 65px #efdf9977,0 18px 65px #87e6ba66}.goalCutin.instantRainbow .playLead{font-size:14px;color:#f5eac1}@keyframes rainbowChoiceGlow{0%,100%{box-shadow:-5px 0 16px #ed82af66,5px 0 16px #69d8e866,inset 0 0 15px #ffffff22}50%{box-shadow:-8px 0 24px #ed82af88,8px 0 24px #69d8e888,inset 0 0 18px #ffffff33}}@media(prefers-reduced-motion:reduce){#matchChoices button.rainbowChoice{animation:none!important}}

.celebrationPanel{padding:14px 0 0;border-top:1px solid #c9d0b344;margin-top:14px}.celebrationHeading{font-size:12px;letter-spacing:.08em;color:#e4d6ae}.celebrationMessage{font-size:12px;line-height:1.7;min-height:21px;margin:8px 0 12px;color:#e6e9df}.celebrationChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.celebrationChoice{font-size:11px;padding:10px 5px;min-height:44px;color:#edf4e7;background:#1b3637;border:1px solid #9eb7a755}.celebrationSkip{grid-column:1/-1;font-size:10px;padding:7px;color:#bdc9c0;background:transparent;border:0;min-height:36px}@media(max-height:700px){.goalCutin:has(.celebrationPanel:not(.hidden)) .footballCinema{height:100px}.goalCutin:has(.celebrationPanel:not(.hidden)) .goalWord{font-size:48px}}

.goalCutin .goalCutinInner{overflow-y:auto;overscroll-behavior:contain}

/* School-age joy is small and directed at teammates, teachers and families. */
.celebrationPanel[data-level="elementary"] .celebrationMessage{font-size:13px}

.goalPerspective{text-align:left;border-left:2px solid #cbdcbd77;padding:4px 10px;margin:10px 0;background:#071d2580}.goalPerspective p{font-size:10px;line-height:1.6;color:#ceddd5;margin:4px 0}.celebrationPanel[data-level="elementary"] .celebrationHeading{color:#f2dfa9}.goalCutin:has(.celebrationPanel:not(.hidden)) .footballCinema{height:110px}@media(max-height:700px){.goalPerspective p{margin:2px 0;font-size:10px}}

/* A finite silent focus scene occupies the existing goal build-up, adding no wait. */
.zonePrelude[hidden]{display:none!important}.zonePrelude{position:absolute;inset:0;z-index:8;background:radial-gradient(ellipse at 50% 54%,#173337ee,#02090dfc 78%);display:grid;place-items:center;pointer-events:none}.zoneFocus{width:min(90vw,540px);text-align:center}.zonePitch{width:100%;height:min(43svh,340px);overflow:visible}.zoneLine{font-size:14px;letter-spacing:.15em;color:#d6e5dd;line-height:1.8;margin:0 0 12px}.zoneName{font-size:12px;color:#c0d7c9;letter-spacing:.12em}.zoneQuiet{font-size:24px;letter-spacing:.25em;color:#f0ead4;margin:15px 0}.zoneFigure{animation:zoneApproach var(--zoneDuration) ease-out both;transform-origin:94px 180px}.zoneLeg{animation:zoneStep 1250ms ease-in-out 2;transform-origin:94px 155px}.zoneArm{animation:zoneArmMove 1250ms ease-in-out 2;transform-origin:94px 130px}.zoneBall{animation:zoneBallMove var(--zoneDuration) ease-in-out both}.zoneHeartbeat{animation:zonePulse 850ms ease-in-out 4;transform-origin:94px 139px}.zoneAim{opacity:0;animation:zoneAimAppear var(--zoneDuration) ease-out both}.zoneRunning .superSpectacle,.zoneRunning .specialSpectacle,.zoneRunning .goalAura{opacity:0!important}.zonePrelude[data-tier="rainbow"] .zoneAim{stroke:url(#rainbowTrail)}@keyframes zoneApproach{0%{transform:translate(-14px,5px) scale(.97)}70%{transform:translate(0,0) scale(1)}100%{transform:translate(7px,-1px) scale(1)}}@keyframes zoneStep{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(5deg)}}@keyframes zoneArmMove{0%,100%{transform:rotate(2deg)}50%{transform:rotate(-4deg)}}@keyframes zoneBallMove{0%{transform:translate(-6px,4px)}75%{transform:translate(0,0)}100%{transform:translate(13px,-9px)}}@keyframes zonePulse{0%,100%{opacity:.24;transform:scale(.88)}35%{opacity:.7;transform:scale(1.02)}55%{opacity:.4;transform:scale(.96)}}@keyframes zoneAimAppear{0%,35%{opacity:0}70%,100%{opacity:.65}}@media(prefers-reduced-motion:reduce){.zonePrelude{display:none!important}.zoneFigure,.zoneLeg,.zoneArm,.zoneBall,.zoneHeartbeat,.zoneAim{animation:none!important}}

.celebrationActions{margin-top:12px}.celebrationActions .celebrationSkip{width:100%;min-height:44px;border:1px solid #9fb8a655;border-radius:5px;color:#e5ece2;background:#173133;font-size:12px}.celebrationChosen .celebrationMessage{padding:16px;border-left:3px solid #e0d1a0;background:#142e2b;border-radius:4px;line-height:1.9;color:#edf2e7}

.zoneHeartbeat{transform-origin:110px 186px}.celebrationChosen .screenTapHint{margin-top:18px}

/* Brightness opens at impact; anticipation stays dark and outcomes remain concealed. */
.goalCutin.impactArrived.superGoal:before{content:"";position:absolute;inset:10%;border-radius:50%;border:2px solid #fff0b888;box-shadow:0 0 36px #e7cb6888,inset 0 0 28px #e7cb6844;pointer-events:none;animation:impactBloom 950ms ease-out both}.goalCutin.impactArrived.rainbowGoal:before{border-color:#fff0e9;box-shadow:-28px 0 55px #ff86b477,28px 0 55px #79dfff77,0 -28px 55px #ffe89d66,0 28px 55px #9ae6ba66}.goalCutin.impactArrived.superGoal:after{content:"";position:absolute;inset:-20%;pointer-events:none;background:conic-gradient(from 10deg,transparent 0deg,#fff0a52c 5deg,transparent 12deg,transparent 35deg,#fff0a526 40deg,transparent 47deg,transparent 80deg,#fff0a52c 85deg,transparent 92deg,transparent 160deg,#fff0a524 165deg,transparent 175deg,transparent 260deg,#fff0a52c 265deg,transparent 275deg);animation:impactRaysOpen 1100ms ease-out both}.goalCutin.impactArrived.rainbowGoal:after{background:conic-gradient(from 10deg,transparent,#f791bb3b,transparent,#ffe39233,transparent,#83e1b83b,transparent,#88dafa3b,transparent,#c7a1fa3b,transparent)}.goalCutin.impactArrived .goalWord{filter:drop-shadow(0 0 14px #c6efca55)}.goalCutin.impactArrived.rainbowGoal[data-tier] .goalWord{filter:drop-shadow(-4px 0 12px #e995c355) drop-shadow(4px 0 12px #95e0eb55)}@keyframes impactBloom{from{transform:scale(.55);opacity:0}35%{opacity:.85}to{transform:scale(1.3);opacity:0}}@keyframes impactRaysOpen{from{transform:scale(.7) rotate(-8deg);opacity:0}25%{opacity:.8}to{transform:scale(1.1) rotate(5deg);opacity:0}}@media(prefers-reduced-motion:reduce){.goalCutin.impactArrived:before,.goalCutin.impactArrived:after{display:none!important}}

/* Saved rare goal entrances: freeze the pitch or cut it to black until a fresh tap. */
.playReveal[data-variant^="freeze-"][data-stage="hold"] .continuationCard{filter:saturate(.15);box-shadow:0 0 55px #adcbc522}.playReveal[data-variant^="freeze-"][data-stage="hold"] .continuationPitch{transition:none!important}.playReveal[data-variant^="freeze-"][data-stage="pass"] .freezeHalo{opacity:1;box-shadow:inset 0 0 28px #a6e5d344;animation:reversalOpen 700ms ease-out both}.playReveal[data-variant="blackout-goal"]{background:#000!important}.playReveal[data-variant="blackout-goal"][data-stage="play"] .continuationCard{animation:blackoutCut 240ms ease-in both}.playReveal[data-variant="blackout-goal"][data-stage="hold"] .continuationCard{background:transparent!important;border-color:transparent;box-shadow:none}.playReveal[data-variant="blackout-goal"][data-stage="hold"] .continuationPitch,.playReveal[data-variant="blackout-goal"][data-stage="hold"] .momentType,.playReveal[data-variant="blackout-goal"][data-stage="hold"] .freezeHalo{visibility:hidden}.playReveal[data-variant="blackout-goal"][data-stage="hold"] #revealDoubt{color:#d7dedb}.playReveal[data-variant="blackout-goal"][data-stage="continue"] .continuationPitch{filter:none;box-shadow:0 0 50px #eddb8766;animation:blackoutReturn 450ms ease-out both}@keyframes blackoutCut{0%{opacity:1;transform:scaleY(1)}75%{opacity:.5;transform:scaleY(.04)}100%{opacity:0;transform:scaleY(.01)}}@keyframes blackoutReturn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.playReveal[data-variant="blackout-goal"] .continuationCard,.playReveal[data-variant="blackout-goal"] .continuationPitch{animation:none!important}}

.zonePrelude[data-character="passion"]{background:radial-gradient(ellipse,#3c2b20ed,#02090dfc 78%)}.zonePrelude[data-character="passion"] .zoneHeartbeat{animation-duration:700ms}.zonePrelude[data-character="calm"]{background:radial-gradient(ellipse,#18323ded,#02090dfc 78%)}.zonePrelude[data-character="calm"] .zoneHeartbeat{animation-duration:1100ms}.zonePrelude[data-character="creative"]{background:radial-gradient(ellipse,#342739ed,#02090dfc 78%)}.zonePrelude[data-character="team"]{background:radial-gradient(ellipse,#193a2bed,#02090dfc 78%)}

#revealDoubt:empty{display:none}

/* Ball and trail share sampled quadratic coordinates, with a fixed attacking direction. */
.goalCutin[data-flight="varied"] .cinemaBall{animation-name:omsVariedFlight!important}

@keyframes omsVariedFlight{0%{transform:translate(var(--fx0),var(--fy0)) scale(var(--fs0))}5%{transform:translate(var(--fx1),var(--fy1)) scale(var(--fs1))}10%{transform:translate(var(--fx2),var(--fy2)) scale(var(--fs2))}15%{transform:translate(var(--fx3),var(--fy3)) scale(var(--fs3))}20%{transform:translate(var(--fx4),var(--fy4)) scale(var(--fs4))}25%{transform:translate(var(--fx5),var(--fy5)) scale(var(--fs5))}30%{transform:translate(var(--fx6),var(--fy6)) scale(var(--fs6))}35%{transform:translate(var(--fx7),var(--fy7)) scale(var(--fs7))}40%{transform:translate(var(--fx8),var(--fy8)) scale(var(--fs8))}45%{transform:translate(var(--fx9),var(--fy9)) scale(var(--fs9))}50%{transform:translate(var(--fx10),var(--fy10)) scale(var(--fs10))}55%{transform:translate(var(--fx11),var(--fy11)) scale(var(--fs11))}60%{transform:translate(var(--fx12),var(--fy12)) scale(var(--fs12))}65%{transform:translate(var(--fx13),var(--fy13)) scale(var(--fs13))}70%{transform:translate(var(--fx14),var(--fy14)) scale(var(--fs14))}75%{transform:translate(var(--fx15),var(--fy15)) scale(var(--fs15))}80%{transform:translate(var(--fx16),var(--fy16)) scale(var(--fs16))}85%{transform:translate(var(--fx17),var(--fy17)) scale(var(--fs17))}90%{transform:translate(var(--fx18),var(--fy18)) scale(var(--fs18))}95%{transform:translate(var(--fx19),var(--fy19)) scale(var(--fs19))}100%{transform:translate(var(--fx20),var(--fy20)) scale(var(--fs20))}}
@media(prefers-reduced-motion:reduce){.goalCutin[data-flight="varied"] .cinemaBall{animation:none!important;transform:translate(var(--fx20),var(--fy20)) scale(var(--fs20))}}

.goalCutin.linkedAssist[data-phase="shot"] .footballCinema,.goalCutin.linkedAssist[data-phase="goal"] .footballCinema{display:block}
.goalCutin.linkedAssist[data-phase="shot"] .passConnection,.goalCutin.linkedAssist[data-phase="goal"] .passConnection,.goalCutin.linkedAssist[data-phase="shot"] .impactStage,.goalCutin.linkedAssist[data-phase="goal"] .impactStage{display:none}
.goalCutin[data-flight="varied"] .cinemaBoot,.goalCutin[data-flight="varied"] .cinemaGlove{display:none}

.passGoal{position:absolute;left:35%;top:3px;width:30%;height:25px;border:1px solid #d8ece3;background:repeating-linear-gradient(90deg,transparent 0 9px,#d8ece32a 10px 11px);pointer-events:none;z-index:1;text-align:center}.passGoal span{font-size:10px;color:#edf6f1;line-height:22px;text-shadow:0 1px 3px #001b15}.passField.cleanPitch .attackDirection{top:32px;font-size:10px;color:#d7e7dd}.cinemaGoalLabel{font-size:9px;fill:#dcece4;letter-spacing:.04em}

.continuationGoalLabel{position:absolute;left:50%;top:6%;transform:translateX(-50%);font-size:11px;color:#edf6f1;text-shadow:0 1px 4px #061916;pointer-events:none}.continuationGoalLabel.ownEnd{top:auto;bottom:4%}

body[data-career="active"] .archivePanel{display:none}

/* Apex awakening: a single flash, expanding rainbow light, then a slow finish. */
.awakeningFlash,.awakeningWave,.awakeningRays,.awakeningCracks{display:none;pointer-events:none;position:absolute;inset:0;z-index:8}
.playReveal.awakening .awakeningFlash{display:block;background:radial-gradient(circle at var(--awake-x,50%) var(--awake-y,48%),#fffbeaee 0,#eefaff80 22%,#d8deff33 48%,transparent 72%);animation:awakeFlash 260ms ease-out both}
.playReveal.awakening .awakeningWave{display:block;inset:10%;border-radius:50%;border:3px solid #eefcff;box-shadow:-24px 0 65px #ff81babb,24px 0 65px #77e8ffbb,0 -24px 55px #ffe695aa,0 24px 55px #98f7b1aa;transform-origin:var(--awake-x,50%) var(--awake-y,48%);animation:awakeWave 1300ms cubic-bezier(.15,.6,.2,1) both}
.playReveal.awakening .awakeningRays{display:block;inset:-25%;z-index:1;background:conic-gradient(from 0deg,transparent 0deg,#ff7cae55 12deg,transparent 24deg,transparent 44deg,#ffe68d55 56deg,transparent 68deg,transparent 94deg,#9df0b955 106deg,transparent 118deg,transparent 154deg,#8fe7ff66 166deg,transparent 178deg,transparent 214deg,#c2a2ff66 226deg,transparent 238deg,transparent 294deg,#ffb2d155 306deg,transparent 318deg);animation:awakeRays 1500ms ease-out both}
.playReveal.awakening[data-variant="blackout-goal"] .awakeningCracks{display:block;z-index:7;width:100%;height:100%;fill:none;stroke:#e8faff;stroke-width:.4;filter:drop-shadow(0 0 7px #9bdfff);animation:awakeCracks 650ms ease-out both}
.playReveal.awakening .continuationCard{position:relative;z-index:3;border-color:#ecd6ff;box-shadow:-18px 0 60px #eb7eb455,18px 0 60px #74daf855}
.playReveal[data-apex="yes"][data-stage="hold"] .pitchBall{filter:drop-shadow(0 0 7px #edddff)}
.playReveal.awakening .pitchBall{filter:drop-shadow(-3px 0 8px #ff7eb2) drop-shadow(3px 0 8px #83e7ff) drop-shadow(0 0 15px #fff2bd);transition-duration:1250ms;transition-timing-function:cubic-bezier(.13,.57,.5,1)}
.playReveal.awakening[data-stage="pass"] .pitchBall,.playReveal.awakening[data-stage="return"] .pitchBall{transition-duration:550ms}
.playReveal.awakening .continuationPitch{background:radial-gradient(ellipse at 50% 25%,#9cb9be55,transparent 75%),repeating-linear-gradient(0deg,#1b3c3b 0 48px,#254946 48px 96px)!important}
.goalCutin.apexGoal .goalCutinInner{border-color:#fff0fa;box-shadow:-28px 0 95px #f88ac388,28px 0 95px #86dfff88,0 -20px 70px #ffe5a566,0 20px 70px #a9efbe66}
.goalCutin.apexImpact:before{inset:5%;background:radial-gradient(ellipse,#fffdf3b0 0,#e8f6ff44 30%,transparent 65%);border:3px solid #fff1f6;box-shadow:-45px 0 110px #ff8cc8aa,45px 0 110px #85e9ffaa,0 -30px 80px #ffe39988,0 30px 80px #98efb588;animation:apexGoalBloom 1300ms ease-out both}
.goalCutin.apexImpact:after{animation:awakeRays 1500ms ease-out both}
.goalCutin.apexImpact .goalWord{animation:apexWordRelease 950ms cubic-bezier(.12,.76,.23,1) both}
@keyframes awakeFlash{0%{opacity:.85}100%{opacity:0}}
@keyframes awakeWave{0%{opacity:.9;transform:scale(.15)}65%{opacity:.7}100%{opacity:0;transform:scale(1.65)}}
@keyframes awakeRays{0%{opacity:0;transform:scale(.65) rotate(-7deg)}18%{opacity:.95}100%{opacity:0;transform:scale(1.18) rotate(7deg)}}
@keyframes awakeCracks{0%{opacity:0;stroke-dasharray:150;stroke-dashoffset:150}35%{opacity:1;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:0}}
@keyframes apexGoalBloom{0%{opacity:1;transform:scale(.45)}30%{opacity:.9}100%{opacity:0;transform:scale(1.4)}}
@keyframes apexWordRelease{0%{transform:scale(1.8);opacity:.25}35%{transform:scale(.94);opacity:1}65%{transform:scale(1.06)}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.playReveal.awakening .awakeningFlash,.playReveal.awakening .awakeningWave,.playReveal.awakening .awakeningRays,.playReveal.awakening .awakeningCracks{display:none!important}.playReveal.awakening .pitchBall{transition:none!important}.goalCutin.apexImpact:before,.goalCutin.apexImpact:after{display:none!important}.goalCutin.apexGoal .goalWord{animation:none!important}}

.dribbleTrail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dribbleTrail polyline{fill:none;stroke:#cee8db88;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#swipeField .pitchBall{transition:none}.feintBadge{position:absolute;left:0;right:0;bottom:5%;text-align:center;color:#fff0bd;font-size:13px;font-weight:800;pointer-events:none}.superDribble{border-color:#fae6a2!important;box-shadow:inset 0 0 30px #e9cf6544,0 0 35px #e6cc6055!important}.superDribble .dribbleTrail polyline{stroke:#ffe5a0;stroke-width:4;filter:drop-shadow(0 0 7px #ffcf69)}.superDribble .pitchBall{filter:drop-shadow(0 0 12px #ffdd85)}

.strategyPanel{padding:12px 0;color:#d6d9b4;font-size:12px;line-height:1.7}.strategyPanel button{display:inline-block;width:auto;min-height:36px;padding:8px 10px;margin:5px 5px 0 0;font-size:11px}.strategyPanel small{display:block}
