*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;margin:0;overflow-x:hidden}
#tir51Container{width:100%}
#tir51Container *{box-sizing:border-box}

.tir51Hidden{display:none!important}
.tir51Visible{display:block}
.tir51FadeIn{animation:tir51FadeIn .6s ease forwards}
.tir51FadeOut{animation:tir51FadeOut .6s ease forwards}

@keyframes tir51FadeIn{from{opacity:0}to{opacity:1}}
@keyframes tir51FadeOut{from{opacity:1}to{opacity:0}}

#tir51Intro{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;width:100%;text-align:center}
#tir51IntroImage{width:90%;max-width:500px;overflow:hidden;border:2px solid rgba(214,180,106,.7);border-radius:18px;box-shadow:0 0 30px rgba(214,180,106,.25),0 15px 40px rgba(0,0,0,.45);line-height:0}
#tir51IntroImage img{display:block;width:100%;height:auto}
#tir51IntroContent{max-width:900px;margin:auto}
#tir51IntroTitre{margin:0 0 20px;font-size:clamp(2rem,4vw,3rem);font-weight:normal;color:#f0d88a}
#tir51IntroTexte{margin:0;line-height:1.5;font-size:1rem}
#tir51BtnStart{margin-top:30px}
.btntir{display:inline-flex!important;justify-content:center;align-items:center}

#tir51Game{width:100%;max-width:100%;overflow:hidden;text-align:center}

#tir51Selection{display:flex;justify-content:center;align-items:flex-start;gap:clamp(5px,1.5vw,20px);width:100%;margin:0}
.tir51Slot{flex:0 1 auto;width:auto;min-width:0;display:flex;flex-direction:column;align-items:center}
.tir51SlotTitle{margin:0;font-size:clamp(.68rem,1.5vw,1.05rem);font-weight:normal;color:#f0d88a;text-align:center;line-height:1.2;white-space:normal}

.tir51SelectedCard{width:clamp(45px,10vw,82px);aspect-ratio:189/347;border:2px dashed rgba(255,255,255,.20);border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);transition:.4s;overflow:hidden;position:relative}
.tir51SelectedCard img{display:block;width:100%;height:100%;object-fit:contain;background:#16130d}

#tir51RibbonContainer{width:100%;overflow-x:auto;overflow-y:hidden;margin:15px auto 25px;padding:35px 0 25px;scrollbar-width:thin;scroll-behavior:smooth;display:flex;justify-content:center}
#tir51Ribbon{display:flex;align-items:flex-end;justify-content:center;width:max-content;padding:0}
.tir51RibbonCard{position:relative;width:clamp(28px,7vw,105px);aspect-ratio:189/347;flex-shrink:0;margin-left:clamp(-45px,-4vw,-18px);cursor:pointer;transition:transform .30s ease,margin-bottom .30s ease,filter .30s ease,opacity .30s ease,box-shadow .30s ease;user-select:none;z-index:1}
.tir51RibbonCard:first-child{margin-left:0}
.tir51RibbonCard img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.45);pointer-events:none}
.tir51RibbonCard:hover{transform:translateY(-18px);z-index:50;box-shadow:0 14px 28px rgba(0,0,0,.45)}
.tir51RibbonCard.tir51Chosen{opacity:0;pointer-events:none;cursor:default;transform:none}
.tir51RibbonCard.tir51Chosen img{visibility:hidden}
#tir51Ribbon.tir51Locked{pointer-events:none}
#tir51Ribbon.tir51Locked .tir51RibbonCard{cursor:default;filter:grayscale(.55)}
#tir51Ribbon.tir51Locked .tir51RibbonCard:hover{transform:none}

#tir51RibbonContainer.tir51RibbonHide{animation:tir51RibbonHide .8s ease forwards}
@keyframes tir51RibbonHide{0%{opacity:1;transform:translateY(0)}60%{opacity:.5}100%{opacity:0;transform:translateY(20px);visibility:hidden;height:0;margin:0;padding:0}}

#tir51InfoBar{display:inline-block;width:auto;max-width:90%;margin:15px;padding:14px 18px;box-sizing:border-box;background:rgba(255,255,255,.05);border:1px solid rgba(216,199,155,.25);border-radius:8px;text-align:center}
#tir51InfoText{width:100%;max-width:100%;margin:0;overflow-wrap:break-word;font-size:1rem;line-height:1.5;color:#e6d7b2;transition:opacity .4s ease}

.tir51CardFlip{width:100%;height:100%;perspective:1000px}
.tir51CardInner{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}
.tir51CardFront,.tir51CardBack{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:10px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tir51CardFront img,.tir51CardBack img{display:block;width:100%;height:100%;object-fit:contain}
.tir51CardBack{transform:rotateY(180deg)}
.tir51Flipped .tir51CardInner{transform:rotateY(180deg)}

#tir51ReadingContent{display:flex;align-items:flex-start;justify-content:center;gap:clamp(25px,5vw,60px);width:100%;margin-top:30px}
#tir51ReadingCard{flex:0 0 auto;width:clamp(130px,18vw,180px);display:flex;flex-direction:column;align-items:center}
#tir51BigCardContainer{width:100%;padding:0;border-radius:18px;background:radial-gradient(circle,rgba(240,216,138,.35),rgba(240,216,138,0) 70%);border:1px solid rgba(216,199,155,.35);box-shadow:0 0 35px rgba(214,180,106,.25)}
#tir51BigCardImage{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.55)}
#tir51CardTitle{text-align:center;color:#f0d88a;font-size:clamp(.9rem,1.8vw,1.4rem);font-weight:normal;letter-spacing:2px;text-transform:uppercase}
#tir51ReadingText{flex:1;max-width:700px}

#tir51DefinitionBlock,#tir51AnswerBlock{background:rgba(255,255,255,.05);border:1px solid rgba(216,199,155,.25);border-radius:14px;padding:15px;box-shadow:0 8px 25px rgba(0,0,0,.25)}
#tir51AnswerBlock{margin-top:15px}
.tir51BlockTitle{margin:0;color:#f0d88a;font-size:1.25rem;font-weight:normal;letter-spacing:1px}
#tir51DefinitionText,#tir51AnswerText{line-height:1.5;color:#e6d7b2;font-size:1rem}

.tir51Disabled{pointer-events:none}
.tir51Invisible{visibility:hidden}
.tir51Transparent{opacity:0}
.tir51Opaque{opacity:1}

@media(max-width:700px){
#tir51Selection{gap:5px;margin-top:15px}
.tir51SelectedCard{width:60px}
.tir51SlotTitle{font-size:.72rem}
#tir51RibbonContainer{justify-content:center}
#tir51Ribbon{justify-content:center}
.tir51RibbonCard{width:clamp(28px,8vw,48px);margin-left:clamp(-35px,-6vw,-18px)}
#tir51ReadingContent{flex-direction:column;align-items:center;gap:30px}
#tir51ReadingCard{width:180px}
#tir51ReadingText{width:100%;max-width:none}
#tir51DefinitionBlock,#tir51AnswerBlock{padding:18px}
#tir51BtnStart{margin-bottom:80px!important}
#tir51AnswerBlock{margin-bottom:70px}
#tir51InfoBar{margin:15px auto 50px!important}
}

@media(max-width:420px){
.tir51SelectedCard{width:52px}
.tir51SlotTitle{font-size:.65rem}
.tir51RibbonCard{width:clamp(24px,8vw,34px);margin-left:clamp(-30px,-6vw,-15px)}
}

@media(max-width:380px){
#tir51Selection{gap:3px}
.tir51SelectedCard{width:47px}
.tir51SlotTitle{font-size:.6rem}
#tir51ReadingCard{width:140px}
#tir51CardTitle{font-size:1.1rem}
}