.prematch-launch{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:18px;margin:14px 0;border:1px solid #ff790075;border-left:4px solid #ff7900;background:linear-gradient(115deg,#163c36,#071d1f);color:#fff;cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s}
.prematch-launch:hover{border-color:#dfff35;transform:translateY(-2px)}
.prematch-launch img{width:52px;height:64px;object-fit:cover;object-position:center 35%;border-radius:5px;border:1px solid #ff7900}
.prematch-launch span{flex:1}.prematch-launch small{display:block;font-size:9px;letter-spacing:.14em;color:#dfff35;font-weight:700}.prematch-launch strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:24px;margin:5px 0}.prematch-launch b{float:right;color:#ff7900}.prematch-launch em{font-style:normal;font-size:12px;color:#c1d1cb}
.modal:has(.prematch-card){padding:0!important;overflow:auto;background:#071d1f!important;max-width:510px!important;border:1px solid #658078!important}
.prematch-card{position:relative;isolation:isolate;color:#fff;background:#071d1f;overflow:hidden;animation:prematch-enter .48s cubic-bezier(.2,.8,.2,1) both;text-align:left}
.prematch-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border:1px solid #ffffff50;background:#071d1fcc;color:white;font-size:26px;cursor:pointer}
.prematch-hero{padding:28px 28px 23px;background:radial-gradient(ellipse at 100% 0,#ff790029,transparent 65%),linear-gradient(135deg,#1c433a,#071d1f);border-top:5px solid #ff7900;border-bottom:1px solid #ffffff20}
.prematch-eyebrow{display:block;padding-right:32px;color:#dfff35;font-size:10px;font-weight:800;letter-spacing:.16em}
.prematch-coach{display:flex;gap:18px;align-items:center;margin:24px 0 18px}.prematch-portrait{padding:4px;border:1px solid #ff7900;border-radius:12px 12px 12px 0;box-shadow:8px 8px 0 #ff790015;transform:rotate(-3deg)}
.prematch-portrait img{display:block;width:88px;height:112px;object-fit:cover;object-position:center 35%;border-radius:7px 7px 7px 0}
.prematch-coach-name{display:block;font-size:24px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:.07em}.prematch-coach-role{display:block;margin-top:6px;color:#c1d1cb;font-size:12px}
.prematch-hero h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(30px,8vw,44px);line-height:1.03;letter-spacing:-.035em;margin:0 0 12px;font-weight:800;overflow-wrap:anywhere}.prematch-hero h2 span{color:#ff9100}.prematch-hero p{font-size:13px;margin:0;color:#c1d1cb}
.prematch-body{padding:22px 28px}.prematch-section{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.13em;font-weight:800;color:#b5c6bf}.prematch-section span:first-child{color:#dfff35}
.prematch-objectives{list-style:none;padding:0;margin:12px 0 20px}.prematch-objectives li{display:flex;align-items:center;gap:14px;background:#ffffff06;border-bottom:1px solid #ffffff15;padding:14px 10px;animation:prematch-enter .55s ease both}.prematch-objectives li:nth-child(2){animation-delay:.08s}.prematch-objectives li:nth-child(3){animation-delay:.16s}.prematch-number{font-size:23px;color:#ff9100;font-family:'Bricolage Grotesque',sans-serif;font-weight:800}.prematch-objectives strong{font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.prematch-mantra{border-left:2px solid #dfff35;padding:2px 0 2px 14px;margin-bottom:22px}.prematch-mantra>span{font-size:9px;letter-spacing:.15em;color:#dfff35}.prematch-mantra p{font-size:15px;line-height:1.55;margin:7px 0;color:#c1d1cb}.prematch-mantra strong{color:white}
.prematch-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:17px 16px;border:0;background:#ff7900;color:#071d1f;font:800 15px 'Bricolage Grotesque',sans-serif;cursor:pointer}.prematch-ready:hover{background:#ff942e}.prematch-ready span{font-size:24px}.prematch-footnote{text-align:center;font-size:10px;color:#afc1bb;margin:12px 0 0}
@keyframes prematch-enter{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
@media(max-width:380px){.prematch-hero{padding:24px 18px 20px}.prematch-body{padding:20px 18px}.prematch-eyebrow{font-size:8px}.prematch-ready{font-size:13px}}
@media(prefers-reduced-motion:reduce){.prematch-card,.prematch-objectives li{animation:none}.prematch-launch{transition:none}.prematch-launch:hover{transform:none}}

/* Carte autonome : aucun héritage de l'en-tête global de l'application. */
.modal-backdrop:has(.prematch-card){align-items:center;padding:12px;perspective:1400px;background:rgba(0,12,14,.88)}
.modal:has(.prematch-card){width:min(100%,540px);max-height:calc(100dvh - 24px);border-radius:22px!important;border:1px solid #ff970080!important;box-shadow:0 24px 90px #000b,0 0 55px #ff790022;animation:prematch-flight .9s cubic-bezier(.16,.8,.22,1) both}
.prematch-card{animation:none;background:linear-gradient(150deg,#12332f,#071d1f 60%)}
.prematch-hero{display:block;position:relative;top:auto;z-index:auto;width:100%;box-sizing:border-box;padding:26px 26px 20px;border-top:0;background:radial-gradient(ellipse at 100% 0,#ff790035,transparent 70%);overflow:hidden}
.prematch-hero:after{content:"";position:absolute;width:180px;height:180px;border:1px solid #dfff3518;border-radius:50%;right:-65px;bottom:-110px;pointer-events:none}
.prematch-eyebrow{font-size:9px;letter-spacing:.17em;padding-right:42px}
.prematch-close{top:16px;right:16px;border-radius:50%;width:34px;height:34px;line-height:28px;background:#071d1f}
.prematch-coach{gap:14px;margin:20px 0 18px;min-width:0}
.prematch-portrait{flex:none;box-shadow:5px 5px 0 #ff790025}
.prematch-portrait img{width:64px;height:80px}
.prematch-coach-name{font-size:21px;letter-spacing:.12em}
.prematch-coach-role{font-size:12px}
.prematch-hero h2{display:block;width:100%;font-size:clamp(32px,7.8vw,46px);line-height:1.05;overflow-wrap:normal;word-break:normal;margin:0 0 12px}
.prematch-hero h2 span{overflow-wrap:break-word}
.prematch-body{padding:18px 26px 20px}
.prematch-objectives{display:grid;gap:8px;margin:12px 0 18px}
.prematch-objectives li{padding:12px;gap:12px;align-items:flex-start;border:1px solid #ffffff16;border-radius:10px;background:linear-gradient(110deg,#ffffff08,#ffffff03);animation:prematch-objective .45s ease both;animation-delay:.65s}
.prematch-objectives li:nth-child(2){animation-delay:.73s}.prematch-objectives li:nth-child(3){animation-delay:.81s}.prematch-objectives li:nth-child(4){animation-delay:.89s}
.prematch-number{font-size:20px;line-height:1.4;flex:none}
.prematch-objectives strong{font-size:14px;line-height:1.45;min-width:0}
.prematch-mantra{margin-bottom:18px;padding-left:12px}.prematch-mantra p{font-size:14px;line-height:1.45}
.prematch-ready{border-radius:10px;box-shadow:0 6px 22px #ff790024}
.prematch-close:focus-visible,.prematch-ready:focus-visible{outline:3px solid #dfff35;outline-offset:3px}
@keyframes prematch-flight{0%{opacity:0;transform:translate3d(-38vw,40vh,-850px) scale(.04) rotate(-240deg)}12%{opacity:1;transform:translate3d(-22vw,22vh,-550px) scale(.16) rotate(-150deg)}45%{opacity:1;transform:translate3d(0,-20px,80px) scale(1.09) rotate(7deg)}62%{transform:translate3d(0,10px,0) scale(.96) rotate(-3deg)}80%{transform:translate3d(0,-4px,0) scale(1.018) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes prematch-objective{from{opacity:0;transform:translateX(15px)}to{opacity:1;transform:none}}
@media(max-width:380px){.prematch-hero{padding:24px 18px 16px}.prematch-body{padding:16px 18px}.prematch-hero h2{font-size:34px}.prematch-objectives strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.modal:has(.prematch-card),.prematch-objectives li{animation:none!important}}

/* Entrée unique : projection, onde d'impact et reflet, sans flash répété. */
.modal-backdrop:has(.prematch-card){isolation:isolate;overflow:hidden;perspective:1000px}
.modal-backdrop:has(.prematch-card)::before,
.modal-backdrop:has(.prematch-card)::after{content:"";position:absolute;pointer-events:none;z-index:0;left:50%;top:50%;width:min(85vw,650px);aspect-ratio:1;border-radius:50%;opacity:0}
.modal-backdrop:has(.prematch-card)::before{border:3px solid #ff8a00;box-shadow:0 0 35px #ff790080,inset 0 0 35px #ff790050;animation:prematch-impact .85s .32s ease-out both}
.modal-backdrop:has(.prematch-card)::after{background:repeating-conic-gradient(from 8deg,transparent 0deg 25deg,#ff8a0060 26deg 27deg,transparent 28deg 40deg);mask-image:radial-gradient(circle,transparent 30%,black 45%,transparent 70%);animation:prematch-rays 1s .25s ease-out both}
.modal:has(.prematch-card){position:relative;z-index:1;transform-origin:50% 60%;animation:prematch-flight 1.15s cubic-bezier(.2,.65,.3,1) both,prematch-glow 1.4s ease-out both}
.prematch-card::before{content:"";position:absolute;inset:-30% -70%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 43%,#ffd08726 49%,#ffffff20 50%,transparent 57%);opacity:0;animation:prematch-sheen .75s .6s ease-out both}
.prematch-objectives li{animation-delay:.82s}.prematch-objectives li:nth-child(2){animation-delay:.9s}.prematch-objectives li:nth-child(3){animation-delay:.98s}.prematch-objectives li:nth-child(4){animation-delay:1.06s}
@keyframes prematch-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}18%{opacity:.75}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
@keyframes prematch-rays{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-15deg)}25%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(2.7) rotate(10deg)}}
@keyframes prematch-glow{0%,25%{box-shadow:0 20px 80px #000b,0 0 0 #ff790000}48%{box-shadow:0 25px 90px #000b,0 0 65px #ff790080}100%{box-shadow:0 24px 90px #000b,0 0 55px #ff790022}}
@keyframes prematch-sheen{0%{opacity:0;transform:translateX(-50%)}20%{opacity:1}100%{opacity:0;transform:translateX(50%)}}
@media(prefers-reduced-motion:reduce){
 .modal:has(.prematch-card),.prematch-objectives li{animation:none!important}
 .modal-backdrop:has(.prematch-card)::before,.modal-backdrop:has(.prematch-card)::after,.prematch-card::before{display:none;animation:none!important}
}
