/* Terrains de jeu : le panneau interactif en haut de chaque fiche de jeu (terrain.js) */
.terrain{position:relative;display:block;overflow:hidden;height:clamp(230px,36vh,330px);background:#0b0a09;border:1px solid rgba(255,255,255,.09);cursor:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;isolation:isolate;container-type:size;--c:#e0b24a;--rc:#fff;font-family:'DM Sans',system-ui,sans-serif}
.terrain>*{position:absolute}
.terrain::before,.terrain::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;opacity:0;transition:opacity .3s}
.tr-bg{inset:-2%;background:#16120e center/cover no-repeat;filter:brightness(.42) saturate(1.05);transform-origin:var(--mx,50%) var(--my,50%);transition:transform .22s cubic-bezier(.2,.7,.2,1),filter .4s}
.tr-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 32%,rgba(0,0,0,.5))}
.tr-decals,.tr-fx{left:0;top:0;width:100%;height:100%;pointer-events:none}
.tr-decals{z-index:1;transform-origin:var(--mx,50%) var(--my,50%);transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.tr-scene{inset:0;z-index:2;pointer-events:none;transform-origin:var(--mx,50%) var(--my,50%);transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.tr-scene>*{position:absolute}
.tr-fx{z-index:4}
.tr-hud{inset:0;padding:0 14px 12px;z-index:6;display:flex;align-items:flex-end;justify-content:flex-end;gap:14px;pointer-events:none;color:#fff}
.tr-hud:empty{display:none}
.tr-feed{right:12px;top:44px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}
.tr-feed p{margin:0;padding:4px 9px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.12);font:600 12px 'DM Sans',sans-serif;color:#eee;display:flex;align-items:center;gap:6px;animation:trFeed .25s ease-out;transition:opacity .4s}
.tr-feed p.out{opacity:0}
.tr-nums{inset:0;z-index:6;pointer-events:none}
.tr-ban{inset:0;z-index:8;display:grid;place-items:center;pointer-events:none}
.tr-ban>*{grid-area:1/1}
.tr-aide{left:12px;top:10px;z-index:6;margin:0;max-width:calc(100% - 150px);padding:5px 9px;background:rgba(0,0,0,.55);border-left:2px solid var(--c);font:600 11px/1.35 'DM Sans',sans-serif;letter-spacing:.02em;color:#e9e1d2;pointer-events:none}
.tr-reset{right:10px;top:9px;z-index:9;padding:6px 10px;background:rgba(0,0,0,.55);color:#e9e1d2;border:1px solid rgba(255,255,255,.18);border-radius:0;font:600 11px 'DM Sans',sans-serif;cursor:pointer}
.tr-reset:hover,.tr-reset:focus-visible{background:#2a2119;outline:1px solid var(--c)}

/* Réticules */
.tr-ret{left:0;top:0;width:0;height:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .15s}
.tr-in .tr-ret{opacity:1}
.tr-ret.tr-retour{transition:opacity .15s,transform .24s cubic-bezier(.2,.7,.2,1)}
.tr-ret::before,.tr-ret::after{content:"";position:absolute}
.r-croix::before,.r-val::before,.r-cs::before,.r-cod::before,.r-bf::before,.r-pip::before{left:-13px;top:-13px;width:26px;height:26px;background:linear-gradient(var(--rc),var(--rc)) 50% 0/2px 8px no-repeat,linear-gradient(var(--rc),var(--rc)) 50% 100%/2px 8px no-repeat,linear-gradient(var(--rc),var(--rc)) 0 50%/8px 2px no-repeat,linear-gradient(var(--rc),var(--rc)) 100% 50%/8px 2px no-repeat;filter:drop-shadow(0 0 1px #000) drop-shadow(0 0 1px #000)}
.r-val{--rc:#00ffff}
.r-val::before{left:-10px;top:-10px;width:20px;height:20px;background-size:2px 6px,2px 6px,6px 2px,6px 2px}
.r-cs{--rc:#4bff4b}
.r-cod::before{left:-20px;top:-20px;width:40px;height:40px;background-size:2px 11px,2px 11px,11px 2px,11px 2px}
.r-bf{--rc:#f2f2f2}.r-bf::after{left:-2px;top:-2px;width:4px;height:4px;background:#ff5a1a}
.r-pip{--rc:#1aff80}.r-pip::before{filter:drop-shadow(0 0 4px #1aff80)}
.r-point::before,.r-gta::before,.r-rdr::before,.r-rust::before,.r-hitman::before{left:-3px;top:-3px;width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 0 1.5px rgba(0,0,0,.7)}
.r-re::before,.r-laser::before{left:-3px;top:-3px;width:6px;height:6px;background:#ff1a1a;border-radius:50%;box-shadow:0 0 6px 2px rgba(255,26,26,.8)}
.r-halo::before{left:-17px;top:-17px;width:34px;height:34px;border:2px solid #7fd3ff;border-radius:50%;box-shadow:0 0 6px rgba(127,211,255,.6)}
.r-halo::after{left:-2px;top:-2px;width:4px;height:4px;background:#7fd3ff;border-radius:50%}
.r-fn::before{left:-12px;top:-12px;width:24px;height:24px;border:2px solid #fff;border-radius:50%;filter:drop-shadow(0 0 1px #000)}
.r-fn::after{left:-1.5px;top:-1.5px;width:3px;height:3px;background:#fff;border-radius:50%}
.r-spl::before{left:-16px;top:-16px;width:32px;height:32px;border:3px solid #e850a8;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.5)}
.r-spl::after{left:-4px;top:-4px;width:8px;height:8px;background:#e850a8;border-radius:50%}
.r-doom::before{left:-15px;top:-15px;width:30px;height:30px;border:2px solid #ff3a1a;border-radius:50%;box-shadow:0 0 8px rgba(255,58,26,.6)}
.r-poing::before,.r-main::before{left:-16px;top:-16px;width:32px;height:32px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.r-carre::before{left:-9px;top:-9px;width:18px;height:18px;background:linear-gradient(#fff,#fff) 50% 50%/2px 18px no-repeat,linear-gradient(#fff,#fff) 50% 50%/18px 2px no-repeat;mix-blend-mode:difference}
.r-oeil::before{left:-18px;top:-11px;width:36px;height:22px;border:2px solid #f6d77a;border-radius:50%/50%;box-shadow:0 0 10px rgba(246,215,122,.5)}
.r-oeil::after{left:-5px;top:-5px;width:10px;height:10px;background:#f6d77a;border-radius:50%}
.r-scan::before,.r-cp::before,.r-viseur::before{left:-20px;top:-20px;width:40px;height:40px;--b:#5ce1ff;background:linear-gradient(var(--b),var(--b)) 0 0/10px 2px no-repeat,linear-gradient(var(--b),var(--b)) 0 0/2px 10px no-repeat,linear-gradient(var(--b),var(--b)) 100% 0/10px 2px no-repeat,linear-gradient(var(--b),var(--b)) 100% 0/2px 10px no-repeat,linear-gradient(var(--b),var(--b)) 0 100%/10px 2px no-repeat,linear-gradient(var(--b),var(--b)) 0 100%/2px 10px no-repeat,linear-gradient(var(--b),var(--b)) 100% 100%/10px 2px no-repeat,linear-gradient(var(--b),var(--b)) 100% 100%/2px 10px no-repeat}
.r-cp::before{--b:#fcee0a}
.r-viseur::before{left:-40px;top:-28px;width:80px;height:56px;--b:#fff}
.r-viseur::after{left:-3px;top:-3px;width:6px;height:6px;border:1px solid #fff;border-radius:50%}
.r-lunette::before{left:-130px;top:-130px;width:260px;height:260px;border-radius:50%;box-shadow:0 0 0 2px #000,0 0 0 3000px rgba(2,2,2,.94),inset 0 0 40px 8px rgba(0,0,0,.85);background:linear-gradient(#000,#000) 50% 0/1px 100% no-repeat,linear-gradient(#000,#000) 0 50%/100% 1px no-repeat}
.r-lunette::after{left:-2px;top:-2px;width:4px;height:4px;background:#ff2a2a;border-radius:50%}
@media (max-width:640px){.r-lunette::before{left:-90px;top:-90px;width:180px;height:180px}}

/* Lunette : on zoome là où l'on vise */
.tr-lunette .tr-bg{transform:scale(2.2)}
.tr-lunette .tr-decals,.tr-lunette .tr-scene{transform:scale(2.2)}

/* Chiffres */
.tr-num{position:absolute;transform:translate(-50%,-50%);font:800 24px/1 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.7),0 0 8px rgba(0,0,0,.6);white-space:nowrap;animation:trNum 1.05s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes trNum{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}12%{opacity:1;transform:translate(-50%,-70%) scale(1.15)}30%{transform:translate(-50%,-90%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),-260%) scale(.92)}}
.tr-num.crit{font-size:31px;color:#ffe14d}
.tr-num.val{font-weight:700;letter-spacing:.02em}.tr-num.val.crit{color:#ff4655}
.tr-num.cs{font-size:19px;color:#e6e6e6}.tr-num.cs.crit{color:#ff4b4b}
.tr-num.fn{font:800 italic 28px/1 'Barlow Condensed',sans-serif;-webkit-text-stroke:1.2px #10131c;text-shadow:0 3px 0 #10131c}.tr-num.fn.crit{color:#ffd23f}
.tr-num.fn-mat{font-size:18px;color:#d9ab6c}
.tr-num.cs-argent{font-size:22px;color:#6cd36c}
.tr-num.ds,.tr-num.er{font:600 20px 'Cormorant Garamond',serif;color:#f3e3c3;letter-spacing:.06em}.tr-num.ds.crit,.tr-num.er.crit{color:#ffcf7a}
.tr-num.mc{font:400 18px/1 monospace;color:#fff;text-shadow:2px 2px 0 #3f3f3f}
.tr-num.tt{font:700 16px 'DM Sans',sans-serif;color:#fff;text-shadow:1px 1px 0 #000}
.tr-num.or{color:#ffd23f}
.tr-num.ville{font:600 13px 'DM Sans',sans-serif;color:#9ff0b4}
.tr-num.roi{font:700 16px 'Cormorant Garamond',serif;color:#ffe9a8}
.tr-num.sub{font:600 13px 'DM Sans',sans-serif;color:#5ce1ff;letter-spacing:.04em}
.tr-num.cp{font:700 15px 'Barlow Condensed',sans-serif;color:#fcee0a;letter-spacing:.12em;text-transform:uppercase}
.tr-num.wd{font:700 15px 'Barlow Condensed',sans-serif;color:#46c0c7;text-transform:uppercase}
.tr-num.hit{font:700 13px 'DM Sans',sans-serif;color:#fff;letter-spacing:.14em;text-transform:uppercase}
.tr-num.pubg{font:800 26px 'Barlow Condensed',sans-serif;color:#f2c14e;letter-spacing:.06em}
.tr-num.ark{font:700 15px 'DM Sans',sans-serif;color:#c79bff}
.tr-num.hl{font:700 26px 'DM Sans',sans-serif;color:#ff9d00}
.tr-num.arc{font:700 14px 'Barlow Condensed',sans-serif;color:#ff6a1a;letter-spacing:.1em;text-transform:uppercase}
.tr-num.fo{font:700 18px monospace;color:#1aff80;text-shadow:0 0 6px rgba(26,255,128,.6)}
.tr-num.re{color:#ff6b6b}.tr-num.bond{color:#e8e8e8;font-weight:600}.tr-num.halo{color:#9fd6ff}.tr-num.frag{color:#ff7aa2}.tr-num.cod{color:#fff}

/* Bannières */
.tr-b{position:relative;text-align:center;color:#fff;animation:trBan var(--d,1.6s) cubic-bezier(.2,.7,.2,1) forwards}
@keyframes trBan{0%{opacity:0;transform:scale(1.4)}10%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:scale(.98)}}
.tr-flash{position:absolute!important;inset:0;animation:trFlash linear forwards}
@keyframes trFlash{from{opacity:1}to{opacity:0}}
.tr-b.combo{justify-self:end;align-self:start;margin:52px 18px 0 0;font:800 italic 20px 'Barlow Condensed',sans-serif;color:#ffe14d;text-shadow:2px 2px 0 #000;animation-duration:.7s}
.tr-b.combo b{font-size:40px}
.tr-b.combo.mk{color:#ffd23f}
.tr-b.combo.bat{color:#e6e6e6}

/* Moteur : états */
.terrain.tr-gyro::before{opacity:1;animation:trGyro .44s steps(1) infinite}
@keyframes trGyro{0%{box-shadow:inset 90px 0 80px -60px rgba(255,20,40,.55)}50%{box-shadow:inset -90px 0 80px -60px rgba(30,90,255,.55)}}
.terrain.tr-mort .tr-bg{filter:brightness(.18) grayscale(.6)}
.terrain.tr-mort::after{opacity:1;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 30%,rgba(0,0,0,.75))}

/* Cible d'entraînement */
.tr-bot{left:50%;bottom:3%;height:80%;aspect-ratio:100/220;translate:-50% 0}
.tr-bot svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 100%;animation:trSpawn .35s ease-out}
.tr-bot::after{content:"";position:absolute;left:-10%;right:-10%;bottom:-3%;height:6%;background:radial-gradient(ellipse at center,rgba(0,0,0,.55),transparent 70%);z-index:-1}
.tr-bot.hit svg{animation:trHit .16s ease-out}
.tr-bot.mort svg{animation:trMort 1.4s cubic-bezier(.4,0,.6,1) forwards}
.tr-bot.strafe{animation:trStrafe 4.8s ease-in-out infinite}
.tr-bot.strafe.mort{animation-play-state:paused}
@keyframes trStrafe{0%,18%,100%{translate:calc(-50% - 24cqw) 0}46%,68%{translate:calc(-50% + 24cqw) 0}}
@keyframes trHit{0%{filter:brightness(2.6) drop-shadow(0 0 6px #fff);transform:translateX(4px) rotate(1.5deg)}100%{filter:none;transform:none}}
@keyframes trMort{0%{transform:none}25%{transform:rotate(-7deg)}62%{transform:rotate(84deg) translate(8%,6%);opacity:1}86%{opacity:1}100%{transform:rotate(84deg) translate(8%,6%);opacity:0}}
@keyframes trSpawn{from{opacity:0;transform:translateY(6%)}to{opacity:1;transform:none}}
.tr-bot.tr-adv{left:64%;animation:trGarde 1.1s ease-in-out infinite}
@keyframes trGarde{50%{transform:translateY(-2.5%)}}
.tr-bot.ejecte{transition:transform .9s cubic-bezier(.3,.2,.2,1),opacity .9s;transform:translate(160%,-140%) rotate(70deg);opacity:0;animation:none}
.tr-bot.fo-goule svg{filter:saturate(.55) sepia(.35) brightness(.9)}

/* Corps à corps */
.tr-taille{width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border-top:4px solid var(--ac);border-right:2px solid transparent;transform:rotate(var(--ar));filter:drop-shadow(0 0 6px var(--ac));animation:trArc .32s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes trArc{0%{opacity:0;transform:rotate(calc(var(--ar) - 70deg)) scale(.7)}30%{opacity:1}100%{opacity:0;transform:rotate(calc(var(--ar) + 40deg)) scale(1.08)}}
.tr-cible{left:50%;bottom:4%;translate:-50% 0;background:center bottom/contain no-repeat;transition:opacity .4s,filter .3s}
.tr-cible.hit{animation:trHit .16s ease-out}
.tr-cible.fond{opacity:0;filter:blur(3px) brightness(2)}
.tr-cible.hk-geo{height:58%;aspect-ratio:120/100;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100'%3E%3Cpath d='M6 100 L16 52 L40 26 L70 22 L98 40 L114 100Z' fill='%232a2730'/%3E%3Cpath d='M16 52 L40 26 L70 22 L60 44 L30 60Z' fill='%233a3642'/%3E%3Cg fill='%23e9dfc0' stroke='%23161418' stroke-width='1.5'%3E%3Cpath d='M42 56l8-6 8 4-2 9-9 2z'/%3E%3Cpath d='M70 62l7-5 7 4-2 8-8 1z'/%3E%3Cpath d='M54 78l6-4 6 3-1 7-7 1z'/%3E%3Cpath d='M86 80l5-4 6 3-1 6-6 1z'/%3E%3Cpath d='M28 76l6-4 6 3-1 7-7 1z'/%3E%3C/g%3E%3C/svg%3E")}
.tr-cible.ss-pelerin{height:62%;aspect-ratio:90/120;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 120'%3E%3Cpath d='M30 10 L36 30 M60 10 L54 30' stroke='%23d9cdb4' stroke-width='4' stroke-linecap='round'/%3E%3Cellipse cx='45' cy='38' rx='16' ry='14' fill='%23d9cdb4'/%3E%3Cellipse cx='39' cy='38' rx='3.5' ry='5' fill='%23120f0c'/%3E%3Cellipse cx='51' cy='38' rx='3.5' ry='5' fill='%23120f0c'/%3E%3Cpath d='M22 120 L30 54 Q45 46 60 54 L68 120Z' fill='%236b3a2c'/%3E%3Cpath d='M30 54 Q45 46 60 54 L58 66 Q45 60 32 66Z' fill='%23854a37'/%3E%3C/svg%3E")}
.tr-cible.cd-soldat,.tr-cible.sifu-voyou{height:76%;aspect-ratio:100/180;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 180'%3E%3Ccircle cx='50' cy='20' r='14' fill='%23221c17'/%3E%3Cpath d='M26 42 Q50 34 74 42 L70 104 H30 Z' fill='%23221c17'/%3E%3Cpath d='M26 44 L12 96 L20 98 L30 58Z M74 44 L88 96 L80 98 L70 58Z' fill='%23221c17'/%3E%3Cpath d='M31 104h16v76H31z M53 104h16v76H53z' fill='%23221c17'/%3E%3C/svg%3E")}
.tr-cible.sifu-voyou{filter:drop-shadow(0 0 1px rgba(255,255,255,.2))}

.tr-counter-strike-2 .tr-bg::before,.tr-call-of-duty-black-ops .tr-bg::before,.tr-halo .tr-bg::before,.tr-fragpunk .tr-bg::before,.tr-007-first-light .tr-bg::before,.tr-resident-evil .tr-bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(214,200,172,.34),rgba(150,138,116,.3)),repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 64px),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 1px,transparent 1px 128px)}
/* ---------- Valorant ---------- */
.tr-valorant .tr-bg{filter:brightness(.42) saturate(.9)}
.tr-valorant .tr-bg::after{background:linear-gradient(rgba(220,225,230,.22),rgba(160,165,170,.18))}
.tr-valorant .tr-bg::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 60px)}
.tr-mun{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:6px;text-align:right}
.tr-mun b{font:800 38px/1 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.tr-mun span{font:600 17px 'Barlow Condensed',sans-serif;color:rgba(255,255,255,.65)}
.tr-mun small{grid-column:1/-1;font:700 10px 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.tr-valorant .tr-mun b{color:#ece8e1}
.tr-vkills{display:flex;gap:3px;align-self:center}
.tr-vkills i{width:10px;height:10px;background:#ff4655;transform:rotate(45deg)}
.tr-b.val{display:flex;flex-direction:column;align-items:center;gap:6px;align-self:end;margin-bottom:22%;animation-duration:1.5s}
.tr-b.val .v-ico{position:relative;width:64px;height:64px;display:grid;place-items:center;border:3px solid #ece8e1;transform:rotate(45deg);background:rgba(15,25,35,.6);box-shadow:0 0 18px rgba(255,70,85,.35)}
.tr-b.val .v-ico.hs{border-color:#ff4655;box-shadow:0 0 24px rgba(255,70,85,.75)}
.tr-b.val .v-ico span{transform:rotate(-45deg);display:flex;gap:3px}
.tr-b.val .v-ico b{width:5px;height:16px;background:#ece8e1}
.tr-b.val .v-ico.hs b{background:#ff4655}
.tr-b.val strong{font:800 italic 34px 'Barlow Condensed',sans-serif;letter-spacing:.14em;color:#ff4655;text-shadow:0 0 14px rgba(255,70,85,.7)}

/* ---------- CS2 ---------- */
.tr-counter-strike-2 .tr-bg{filter:brightness(.4) sepia(.25)}
.tr-argent{font:700 22px 'Barlow Condensed',sans-serif;color:#7ee07e;text-shadow:0 1px 3px #000;align-self:flex-end;margin-bottom:6px}
.tr-feed .ct{color:#8cb4ff;font-weight:700}.tr-feed .t{color:#ecc35d;font-weight:700}
.tr-feed i.ak{width:34px;height:10px;background:linear-gradient(90deg,#ddd 0 62%,transparent 62% 66%,#ddd 66%);clip-path:polygon(0 30%,100% 20%,100% 60%,70% 60%,62% 100%,52% 100%,56% 60%,0 70%)}
.tr-feed i.hs{width:12px;height:12px;border:2px solid #ff4b4b;border-radius:50%;position:relative}
.tr-feed i.hs::after{content:"";position:absolute;inset:3px;background:#ff4b4b;border-radius:50%}

/* ---------- Call of Duty : hitmarker ---------- */
.tr-hm{width:22px;height:22px;margin:-11px 0 0 -11px;background:linear-gradient(45deg,transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#fff 46% 54%,transparent 54%);-webkit-mask:radial-gradient(circle,transparent 4px,#000 4.5px);mask:radial-gradient(circle,transparent 4px,#000 4.5px);filter:drop-shadow(0 0 1px #000);animation:trHm .26s ease-out forwards}
.tr-hm.kill{background:linear-gradient(45deg,transparent 46%,#ff3030 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#ff3030 46% 54%,transparent 54%)}
@keyframes trHm{from{transform:scale(1.4)}to{transform:scale(1);opacity:0}}
.tr-b.cod{align-self:start;margin-top:60px;padding:8px 18px;background:rgba(0,0,0,.6);border-left:3px solid #f2c14e;font:700 18px 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase}

/* ---------- Compteurs ---------- */
.tr-cpt{display:flex;flex-direction:column;align-items:flex-end;padding:6px 10px;background:rgba(0,0,0,.5);border-right:2px solid var(--c)}
.tr-cpt small{font:700 9px 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.tr-cpt b{font:800 24px/1.05 'Barlow Condensed',sans-serif;color:#fff}

/* ---------- Fortnite ---------- */
.tr-fortnite .tr-bg{filter:brightness(.55) saturate(1.3)}
.tr-faible{width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:radial-gradient(circle,#e8fbff 0 22%,#4fd1ff 24% 52%,rgba(79,209,255,0) 70%);box-shadow:0 0 18px #4fd1ff;animation:trPulse 1s ease-in-out infinite}
@keyframes trPulse{50%{transform:scale(.82);opacity:.8}}
.tr-mur{width:84px;height:84px;margin:-42px 0 0 -42px;background:repeating-linear-gradient(0deg,#a2743f 0 12px,#7d562c 12px 14px);border:3px solid #5c3d1e;box-shadow:0 10px 24px rgba(0,0,0,.6),inset 0 0 0 2px rgba(255,255,255,.08);animation:trMur .35s cubic-bezier(.2,.9,.3,1.3)}
@keyframes trMur{from{transform:scaleY(.1) translateY(40%);opacity:.3}to{transform:none;opacity:1}}
.tr-fnmat{display:grid;grid-template-columns:auto auto;gap:3px 8px;align-items:center;padding:8px 10px;background:rgba(16,19,28,.72)}
.tr-fnmat i{width:18px;height:18px}
.tr-fnmat i.w{background:linear-gradient(135deg,#d9ab6c,#8a6235)}
.tr-fnmat i.b{background:linear-gradient(135deg,#d07a5c,#7a3b2b)}
.tr-fnmat i.m{background:linear-gradient(135deg,#d0d6dc,#6a737c)}
.tr-fnmat b{font:800 italic 18px/1 'Barlow Condensed',sans-serif;color:#fff}
.tr-b.fn-msg{align-self:end;margin-bottom:16%;padding:6px 14px;background:rgba(16,19,28,.8);font:700 italic 18px 'Barlow Condensed',sans-serif}

/* ---------- Minecraft, Terraria ---------- */
.tr-minecraft .tr-bg,.tr-minecraft-legends .tr-bg,.tr-terraria .tr-bg{filter:brightness(.62) saturate(1.15)}
.tr-blocs{left:0;top:0;width:100%;height:100%;image-rendering:pixelated}
.tr-hotbar{display:flex;gap:0;padding:2px;background:#8b8b8b;box-shadow:inset 0 0 0 2px #000}
.tr-hotbar i{position:relative;width:30px;height:30px;background:#8b8b8b;box-shadow:inset 2px 2px 0 #373737,inset -2px -2px 0 #fff}
.tr-hotbar i.on{outline:3px solid #fff;outline-offset:-1px;z-index:1}
.tr-hotbar i.on::before{content:"";position:absolute;inset:7px;background:linear-gradient(135deg,#a7774a 0 50%,#6b4a2b 50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.tr-hotbar b{position:absolute;right:2px;bottom:0;font:400 13px monospace;color:#fff;text-shadow:1px 1px 0 #3f3f3f}
@media (max-width:640px){.tr-hotbar i{width:22px;height:22px}}

/* ---------- GTA ---------- */
.tr-etoiles{display:flex;gap:4px;align-self:flex-start}
.tr-etoiles i{width:22px;height:22px;background:rgba(255,255,255,.18);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.tr-etoiles i.on{background:#fff;animation:trEtoile .5s steps(1) 4}
@keyframes trEtoile{50%{background:rgba(255,255,255,.3)}}
.tr-etoiles.vc i.on{background:#ffd23f}
.tr-b.gta{font:800 italic clamp(54px,12cqw,110px)/1 'Barlow Condensed',sans-serif;letter-spacing:.02em;text-transform:lowercase;color:#c5252c;-webkit-text-stroke:2px #000;text-shadow:0 4px 0 #000;--d:2.6s;animation-name:trWasted}
.tr-b.gta.vc{color:#4fb6ff;font-style:normal}
@keyframes trWasted{0%,22%{opacity:0;transform:scale(1.1)}34%{opacity:1;transform:scale(1)}88%{opacity:1}100%{opacity:0}}
.terrain.tr-wasted .tr-bg,.terrain.tr-wasted .tr-decals,.terrain.tr-wasted .tr-scene{filter:grayscale(1) brightness(.55) contrast(1.1);transition:filter 1s}
.terrain.tr-wasted .tr-bg{transform:scale(1.08)}
.tr-b.tel{align-self:start;justify-self:start;margin:50px 0 0 14px;padding:10px 14px;background:#1e2a33;border-left:3px solid #5fb0e0;font:600 14px 'DM Sans',sans-serif;text-align:left;max-width:70%}
.tr-b.tel small{display:block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#9fc4dc;margin-bottom:3px}

.tr-gta-v .tr-hud,.tr-gta-iv .tr-hud,.tr-gta-vice-city .tr-hud{align-items:flex-start;padding-top:44px}
/* ---------- Dark Souls, Elden Ring ---------- */
.tr-ds .tr-bg,.tr-er .tr-bg{filter:brightness(.34) saturate(.8)}
.tr-souls{position:absolute;left:14px;top:46px;display:flex;flex-direction:column;gap:4px;width:min(260px,46%)}
.tr-souls i{display:block;height:7px;background:rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.tr-souls i b{display:block;height:100%;transition:width .12s}
.tr-souls i.vie b{background:linear-gradient(#b3261e,#7a140f)}
.tr-souls i.endu{width:80%}.tr-souls i.endu b{background:linear-gradient(#3e9a3a,#24631f)}
.tr-ames,.tr-runes{padding:5px 12px;background:rgba(0,0,0,.55);border:1px solid rgba(243,227,195,.25);font:600 20px 'Cormorant Garamond',serif;color:#f3e3c3;letter-spacing:.04em}
.tr-runes::before{content:"";display:inline-block;width:12px;height:12px;margin-right:8px;border:1.5px solid #f3d27a;transform:rotate(45deg)}
.tr-boss{position:absolute;left:50%;bottom:26px;width:min(560px,74%);translate:-50% 0;text-align:left}
.tr-boss span{font:500 15px 'Cormorant Garamond',serif;color:#f3e3c3;text-shadow:0 1px 3px #000}
.tr-boss i{display:block;height:6px;margin-top:3px;background:rgba(0,0,0,.65);box-shadow:0 0 0 1px rgba(201,162,74,.45)}
.tr-boss i b{display:block;height:100%;background:linear-gradient(#a3201a,#6e110c);transition:width .2s}
.tr-b.souls{font:500 clamp(40px,8cqw,74px)/1 'Cormorant Garamond',serif;letter-spacing:.24em;color:#a51d1d;text-transform:uppercase;text-shadow:0 0 22px rgba(0,0,0,.9);--d:2.8s;animation-name:trSouls;padding:18px 0;width:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.78) 20% 80%,transparent)}
@keyframes trSouls{0%{opacity:0;letter-spacing:.14em}25%{opacity:1}85%{opacity:1;letter-spacing:.3em}100%{opacity:0;letter-spacing:.32em}}
.tr-b.felled{font:500 clamp(30px,6cqw,56px)/1 'Cormorant Garamond',serif;letter-spacing:.18em;color:#f3d27a;text-shadow:0 0 18px rgba(243,210,122,.6);--d:2.6s;animation-name:trSouls;padding:16px 0;width:100%;background:linear-gradient(90deg,transparent,rgba(0,0,0,.7) 20% 80%,transparent)}
.tr-b.souls-msg{align-self:start;margin-top:90px;padding:4px 14px;background:rgba(0,0,0,.6);font:500 15px 'Cormorant Garamond',serif;color:#f3e3c3;--d:.9s}

.tr-cumul{position:absolute;z-index:6;right:calc(50% - min(280px,37%));bottom:42px;font:600 20px 'Cormorant Garamond',serif;color:#f3e3c3;text-shadow:0 1px 4px #000;opacity:0;pointer-events:none}
.tr-cumul.on{animation:trCumul 1.6s ease-out forwards}.tr-cumul.crit{color:#ffcf7a}
@keyframes trCumul{0%{opacity:0;transform:translateY(4px)}8%{opacity:1;transform:none}75%{opacity:1}100%{opacity:0}}
.tr-ds .tr-ames,.tr-er .tr-runes{align-self:flex-end;margin-bottom:34px}
.tr-ds .tr-hud,.tr-er .tr-hud{padding-bottom:0}
/* ---------- Hollow Knight, Silksong ---------- */
.tr-hk .tr-bg{filter:brightness(.32) saturate(.7) hue-rotate(-10deg)}
.tr-ss .tr-bg{filter:brightness(.36) saturate(.9)}
.tr-hkhud{position:absolute;left:14px;top:44px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}
.tr-hkhud .ame,.tr-hkhud .soie{grid-row:1/3;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 50% 70%,#f2f2f2 0 40%,#1a1a1a 42%);box-shadow:0 0 0 3px #e6e6e6,0 0 12px rgba(255,255,255,.35)}
.tr-hkhud .soie{border-radius:0;transform:rotate(45deg) scale(.8);background:linear-gradient(0deg,#e8e0d0 0 55%,#2a1a1a 55%);box-shadow:0 0 0 3px #e6d9c0}
.tr-hkhud span{display:flex;gap:4px}
.tr-hkhud .masque{width:16px;height:20px;background:#f2f2f2;border-radius:50% 50% 45% 45%/60% 60% 40% 40%;box-shadow:inset 0 -6px 0 rgba(0,0,0,.08)}
.tr-hkhud.ss .masque{background:#efe6d4}
.tr-hkhud b{display:flex;align-items:center;gap:6px;font:600 18px 'Cormorant Garamond',serif;color:#f2f2f2}
.tr-hkhud .geo{width:14px;height:14px;background:#d9cfa8;clip-path:polygon(50% 0,100% 35%,82% 100%,18% 100%,0 35%)}
.tr-hkhud .chap{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7e0,#c7b07a)}

/* ---------- Red Dead : Dead Eye ---------- */
.terrain.tr-deadeye .tr-bg{filter:sepia(1) saturate(1.8) hue-rotate(-18deg) brightness(.48) contrast(1.15)}
.terrain.tr-deadeye::after{opacity:1;background:radial-gradient(ellipse at center,rgba(0,0,0,0) 35%,rgba(120,20,0,.55))}
.tr-x{width:22px;height:22px;margin:-11px 0 0 -11px;background:linear-gradient(45deg,transparent 42%,#e0201a 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,#e0201a 42% 58%,transparent 58%);filter:drop-shadow(0 0 4px rgba(224,32,26,.8));animation:trX .2s ease-out}
@keyframes trX{from{transform:scale(2);opacity:0}}
.tr-dejauge{width:120px;height:8px;background:rgba(0,0,0,.6);border:1px solid #c9a46a}
.tr-dejauge i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8a1d0e,#e0201a)}

/* ---------- Battlefield, Rainbow Six, DOOM ---------- */
.tr-fumi{width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:radial-gradient(circle,rgba(255,60,40,.9),rgba(255,60,40,0) 70%);animation:trFumi 1.1s ease-out forwards}
@keyframes trFumi{to{transform:scale(3.2) translateY(-20%);opacity:.2}}
.tr-c4{width:26px;height:16px;margin:-8px 0 0 -13px;background:#3a3f36;border:1px solid #11140f;box-shadow:0 3px 6px rgba(0,0,0,.6)}
.tr-c4::after{content:"";position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:#ff2a2a;animation:trLed .5s steps(1) infinite}
@keyframes trLed{50%{opacity:.15}}
.tr-b.bf{font:800 26px 'Barlow Condensed',sans-serif;letter-spacing:.2em;color:#f2f2f2;padding:6px 18px;border-top:2px solid #ff5a1a;border-bottom:2px solid #ff5a1a;background:rgba(0,0,0,.5)}
.tr-b.doom{font:800 italic clamp(40px,9cqw,80px)/1 'Barlow Condensed',sans-serif;color:#ff3a1a;letter-spacing:.06em;text-shadow:0 0 24px rgba(255,58,26,.8),0 4px 0 #300}

/* ---------- Splatoon ---------- */
.tr-splatoon-2 .tr-bg{filter:brightness(.5) saturate(1.2)}
.tr-proj.goutte-encre{left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50% 50% 50% 0;background:var(--ic,#e850a8);box-shadow:0 0 6px var(--ic,#e850a8)}
.tr-turf{position:relative;width:min(240px,50cqw);height:14px;background:rgba(0,0,0,.55);border:2px solid #fff}
.tr-turf i{display:block;height:100%;transition:width .2s}
.tr-turf b{position:absolute;right:-2px;top:-24px;font:800 italic 18px 'Barlow Condensed',sans-serif;color:#fff;text-shadow:2px 2px 0 #000}
.tr-b.spl{font:800 italic clamp(40px,9cqw,76px)/1 'Barlow Condensed',sans-serif;color:#fff;-webkit-text-stroke:3px #1a1a1a;text-shadow:5px 5px 0 #e850a8;transform:rotate(-6deg)}

/* ---------- Combat ---------- */
.tr-vie{position:absolute;left:14px;top:44px;width:min(320px,52%)}
.tr-vie span{display:block;margin-bottom:3px;font:800 italic 16px 'Barlow Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:1px 1px 0 #000}
.tr-vie i{display:block;height:14px;background:#5b0d0d;border:2px solid #f5f5f5;transform:skewX(-14deg)}
.tr-vie i b{display:block;height:100%;background:linear-gradient(#ffe14d,#e0a400);transition:width .18s}
.tr-vie.mk i b{background:linear-gradient(#4bd24b,#1f8a1f)}
.tr-vie.bat i{transform:none;border-color:#7a8ea8}.tr-vie.bat i b{background:#c9d6e8}
.tr-b.sf-ko{font:800 italic clamp(70px,16cqw,140px)/1 'Barlow Condensed',sans-serif;color:#ffd23f;-webkit-text-stroke:3px #a11;text-shadow:0 6px 0 #400;--d:2.4s}
.tr-b.mk{font:800 clamp(30px,7cqw,60px)/1 'Cormorant Garamond',serif;letter-spacing:.12em;color:#e0201a;text-shadow:0 0 18px rgba(0,0,0,.9),0 3px 0 #000}
.tr-b.mk.big{font-size:clamp(46px,11cqw,98px);color:#ffd23f;-webkit-text-stroke:1px #6a0000}
.tr-b.bh{font:800 italic clamp(60px,12cqw,110px)/1 'Barlow Condensed',sans-serif;color:#fff;-webkit-text-stroke:3px #2a6ee0}
.tr-b.bat{align-self:start;margin-top:70px;font:700 22px 'Barlow Condensed',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9d6e8}

/* ---------- Ballon ---------- */
.tr-ballon{left:0;top:0;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fafafa,#a9b0b8 60%,#5a6168);box-shadow:inset 0 0 0 2px rgba(0,0,0,.25),0 8px 16px rgba(0,0,0,.45)}
.tr-ballon::after{content:"";position:absolute;inset:6px;border-radius:50%;background:repeating-conic-gradient(rgba(0,0,0,.18) 0 15deg,transparent 15deg 60deg)}
.tr-ballon.foot{background:radial-gradient(circle at 35% 30%,#fff,#e2e2e2 60%,#9a9a9a)}
.tr-ballon.foot::after{background:radial-gradient(circle,#1a1a1a 0 18%,transparent 19%),repeating-conic-gradient(#1a1a1a 0 12deg,transparent 12deg 72deg);opacity:.75}
.tr-ballon.basket{background:radial-gradient(circle at 35% 30%,#ffae5a,#e06a14 60%,#9a4208)}
.tr-ballon.basket::after{inset:0;background:linear-gradient(90deg,transparent 48%,#2a1406 48% 52%,transparent 52%),linear-gradient(0deg,transparent 48%,#2a1406 48% 52%,transparent 52%)}
.tr-but{right:0;top:35%;bottom:0;width:26px;border:4px solid #ff8a1a;border-right:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 2px,transparent 2px 8px)}
.tr-but.rl{box-shadow:0 0 18px rgba(255,138,26,.6)}
.tr-but.fc{border-color:#fff}
.tr-but.nba{top:28%;bottom:auto;height:10px;width:46px;border:3px solid #ff5a1a;border-right:0;background:none;box-shadow:none}
.tr-score{position:absolute;left:50%;top:10px;translate:-50% 0;display:flex;align-items:stretch;font:800 20px/1 'Barlow Condensed',sans-serif;color:#fff}
.tr-score b,.tr-score span{padding:6px 12px;background:rgba(0,0,0,.6)}
.tr-score.rl b.b{background:#2a6ee0}.tr-score.rl b.o{background:#e0761a}
.tr-score span{font-size:14px;display:grid;place-items:center}
.tr-b.rl{font:800 italic clamp(60px,13cqw,120px)/1 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 0 30px #2a6ee0,0 4px 0 #0a2a6e}
.tr-b.rl-chat{align-self:start;justify-self:start;margin:48px 0 0 14px;padding:4px 10px;background:rgba(0,0,0,.6);font:600 13px 'DM Sans',sans-serif;color:#7fc0ff}
.tr-b.fc,.tr-b.nba{font:800 italic clamp(50px,11cqw,100px)/1 'Barlow Condensed',sans-serif;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.6)}

/* ---------- Among Us ---------- */
.tr-among-us .tr-bg{filter:brightness(.35)}
.tr-urgence{left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;border:8px solid #9aa2a8;background:radial-gradient(circle at 40% 35%,#ff6a6a,#d0141c 55%,#7a0a0e);box-shadow:0 10px 0 #5a6268,0 18px 26px rgba(0,0,0,.7),inset 0 -8px 14px rgba(0,0,0,.35);display:grid;place-items:center;pointer-events:none;padding:0}
.tr-urgence span{font:800 10px 'Barlow Condensed',sans-serif;letter-spacing:.14em;color:rgba(255,255,255,.85)}
.tr-urgence.pressé{transform:translateY(6px);box-shadow:0 4px 0 #5a6268,0 10px 18px rgba(0,0,0,.7),inset 0 -8px 14px rgba(0,0,0,.35)}
.tr-b.au{display:flex;flex-direction:column;font:800 italic clamp(44px,10cqw,92px)/.9 'Barlow Condensed',sans-serif;color:#fff;-webkit-text-stroke:2px #000;text-shadow:0 5px 0 #000;--d:2.2s}
.tr-b.au b:first-child{color:#ff3a3a}
.tr-b.au-vote{font:600 clamp(16px,3cqw,24px) 'DM Sans',sans-serif;color:#fff;letter-spacing:.04em;padding:10px 18px;background:rgba(0,0,0,.75);--d:2.4s}
.tr-b.au-msg{font:600 14px 'DM Sans',sans-serif;padding:6px 12px;background:rgba(0,0,0,.7)}

/* ---------- Dead by Daylight ---------- */
.tr-dead-by-daylight .tr-bg{filter:brightness(.28) saturate(.6)}
.tr-skill{left:50%;top:47%;width:120px;height:120px;margin:-60px 0 0 -60px;display:grid;place-items:center}
.tr-skill svg{width:100%;height:100%}
.tr-skill .f{fill:none;stroke:rgba(255,255,255,.8);stroke-width:2}
.tr-skill .z{fill:none;stroke:#fff;stroke-width:7}
.tr-skill .a{stroke:#e0201a;stroke-width:3;stroke-linecap:round}
.tr-skill b{position:absolute;bottom:-22px;font:600 11px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.tr-skill.ok .f{stroke:#fff;filter:drop-shadow(0 0 6px #fff)}
.tr-skill.ko .f{stroke:#e0201a;filter:drop-shadow(0 0 8px #e0201a)}
.tr-dbd{position:absolute;left:14px;top:46px;width:min(240px,48%)}
.tr-dbd i{display:block;height:6px;background:#e6e6e6;transition:width .25s;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.tr-dbd small{display:block;margin-top:4px;font:600 10px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.tr-b.dbd{align-self:start;margin-top:30%;font:600 15px 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.tr-b.dbd.ko{color:#e0201a}

/* ---------- God of War, Spider-Man, Ghostrunner, Ghost of Tsushima ---------- */
.tr-proj{left:0;top:0}
.tr-proj.hache{width:40px;height:40px;margin:-20px 0 0 -20px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M19 6h3v32h-3z' fill='%236b4a2b'/%3E%3Cpath d='M22 4c8 0 14 5 14 12s-6 11-14 10z' fill='%23cfe6f2' stroke='%237aa8c2' stroke-width='1.5'/%3E%3Cpath d='M24 9l8 6' stroke='%239fd6ff' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(159,214,255,.7))}
.tr-proj.hache.plantee{filter:drop-shadow(0 0 10px rgba(159,214,255,.9))}
.tr-b.gow{font:600 clamp(26px,5cqw,40px) 'Cormorant Garamond',serif;color:#f2e6cf;letter-spacing:.08em;text-shadow:0 2px 8px #000}
.tr-fil{height:2px;margin-top:-1px;background:linear-gradient(90deg,rgba(255,255,255,.5),#fff);transform-origin:0 50%;box-shadow:0 0 4px rgba(255,255,255,.7);animation:trFil .5s ease-out forwards}
@keyframes trFil{0%{clip-path:inset(0 100% 0 0)}25%{clip-path:inset(0 0 0 0);opacity:1}100%{opacity:0}}
.tr-gr{left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;background:#17e0e0;transform-origin:center;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 0 8px #17e0e0);transition:transform .12s cubic-bezier(.2,.9,.2,1)}
.tr-dash{height:3px;margin-top:-1.5px;background:linear-gradient(90deg,rgba(23,224,224,0),#17e0e0 70%,#fff);transform-origin:0 50%;animation:trFil .45s ease-out forwards}
.terrain.tr-ralenti .tr-bg{filter:brightness(.4) saturate(.3) hue-rotate(160deg)}
.terrain.tr-ralenti::after{opacity:1;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,40,60,.6))}
.terrain.tr-nb .tr-bg{filter:grayscale(1) contrast(1.5) brightness(.5)}
.terrain.tr-nb::after{opacity:1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px)}
.tr-coupe{left:0;right:0;height:3px;margin-top:-1.5px;background:linear-gradient(90deg,transparent,#fff 20% 80%,transparent);box-shadow:0 0 14px #fff;animation:trCoupe .7s ease-out forwards}
@keyframes trCoupe{0%{clip-path:inset(0 100% 0 0)}20%{clip-path:inset(0 0 0 0)}100%{opacity:0}}

/* ---------- The King Is Watching ---------- */
.tr-champ{bottom:16%;width:22%;height:34%;translate:-50% 0;border:1px solid rgba(255,255,255,.18);transition:box-shadow .2s,filter .2s;filter:brightness(.55) saturate(.6)}
.tr-champ.ble{background:repeating-linear-gradient(90deg,#c9a23a 0 6px,#a8842a 6px 12px)}
.tr-champ.bois{background:radial-gradient(circle at 30% 40%,#2f6b2a 0 14%,transparent 15%),radial-gradient(circle at 70% 60%,#2f6b2a 0 16%,transparent 17%),radial-gradient(circle at 45% 75%,#3c7f34 0 12%,transparent 13%),#1f3b1b}
.tr-champ.or{background:radial-gradient(circle at 50% 60%,#ffd23f 0 8%,transparent 9%),radial-gradient(circle at 30% 40%,#e0b630 0 6%,transparent 7%),#3a3530}
.tr-champ.vu{filter:none;box-shadow:0 0 0 2px #f6d77a,0 0 26px rgba(246,215,122,.55)}
.tr-roi{position:absolute;left:14px;top:44px;display:flex;gap:12px;padding:6px 12px;background:rgba(20,15,8,.7);border:1px solid rgba(246,215,122,.35);font:600 14px 'Cormorant Garamond',serif;color:#f3e3c3}
.tr-roi b{font-weight:700;color:#ffe9a8}

/* ---------- Geometry Dash, Jetpack Joyride, Cuphead ---------- */
.tr-geometry-dash .tr-bg{filter:brightness(.4) saturate(1.4) hue-rotate(200deg)}
.tr-cube{left:0;top:0;width:30px;height:30px;background:linear-gradient(#ffe14d,#ffe14d) 50% 50%/40% 40% no-repeat,#2dbe60;border:3px solid #000;box-shadow:0 0 12px rgba(45,190,96,.6)}
.tr-sol{left:0;right:0;height:3px;background:#fff;box-shadow:0 0 10px #4fd1ff}
.tr-pic{left:0;top:0;width:26px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'%3E%3Cpath d='M13 1.5 L24.5 25 H1.5Z' fill='%23050505' stroke='%23fff' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.tr-gd{position:absolute;left:50%;top:14px;translate:-50% 0;font:800 26px 'Barlow Condensed',sans-serif;color:#fff;-webkit-text-stroke:1px #000;text-shadow:2px 2px 0 #000}
.tr-barry{left:0;top:0;width:40px;height:52px}
.tr-barry svg{display:block;width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.tr-jj{position:absolute;left:50%;top:12px;translate:-50% 0;font:800 24px 'Barlow Condensed',sans-serif;color:#fff;text-shadow:2px 2px 0 #000}
.terrain.tr-vieux .tr-bg{filter:sepia(.85) brightness(.55) contrast(1.15)}
.terrain.tr-vieux::after{opacity:1;background:radial-gradient(ellipse at center,transparent 40%,rgba(40,25,10,.65)),repeating-radial-gradient(circle at 30% 40%,rgba(0,0,0,.05) 0 1px,transparent 1px 3px)}
.tr-proj.pois{width:16px;height:8px;margin:-4px 0 0 -8px;border-radius:50%;background:radial-gradient(#fff 0 30%,#7fc0ff 60%,rgba(127,192,255,0) 75%)}
.tr-rose{width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffd0ea,#ff4fb3 60%,#b01f78);box-shadow:0 0 14px rgba(255,79,179,.8);animation:trPulse .9s ease-in-out infinite}
.tr-cuphp{position:absolute;left:14px;top:44px;width:min(260px,48%);font:800 13px 'Barlow Condensed',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f3e3c3}
.tr-cuphp i{display:block;height:10px;margin-top:3px;background:rgba(0,0,0,.5);border:2px solid #f3e3c3}
.tr-cuphp i b{display:block;height:100%;background:#d0141c;transition:width .15s}
.tr-b.cup{font:800 clamp(30px,6cqw,52px)/1 'Cormorant Garamond',serif;color:#f3e3c3;text-shadow:3px 3px 0 #3a1a0a;letter-spacing:.06em}
.tr-b.cup.big{font-size:clamp(40px,9cqw,80px);font-style:italic;--d:2.4s}

/* ---------- Objets à ramasser ---------- */
.tr-item{width:32px;height:32px;margin:-16px 0 0 -16px;animation:trApparait .3s ease-out,trFlotte 2.4s ease-in-out .3s infinite;transition:transform .25s,opacity .25s}
.tr-item.pris{transform:scale(1.6);opacity:0;animation:none}
@keyframes trApparait{from{transform:scale(0);opacity:0}}
@keyframes trFlotte{50%{transform:translateY(-5px)}}
.tr-item.poisson{width:38px;height:20px;margin:-10px 0 0 -19px;background:radial-gradient(circle at 75% 40%,#111 0 8%,transparent 9%),linear-gradient(90deg,transparent 0 22%,#ff9a3c 22%);border-radius:0 50% 50% 0;clip-path:polygon(0 0,24% 50%,0 100%,24% 70%,100% 100%,100% 0,24% 30%);animation:trApparait .3s ease-out,trNage 3s ease-in-out .3s infinite}
@keyframes trNage{50%{transform:translate(14px,-4px)}}
.tr-item.cible-cp,.tr-item.cible-rouge{width:28px;height:44px;margin:-22px 0 0 -14px;background:radial-gradient(circle at 50% 18%,#222 0 16%,transparent 17%),linear-gradient(#222,#222) 50% 85%/60% 62% no-repeat}
.tr-item.cible-cp{outline:2px solid #fcee0a;outline-offset:4px;filter:drop-shadow(0 0 6px rgba(252,238,10,.5))}
.tr-item.cible-rouge{filter:drop-shadow(0 0 6px #c0171f) drop-shadow(0 0 2px #c0171f)}
.tr-item.appareil{width:26px;height:18px;margin:-9px 0 0 -13px;background:#2b3338;border:2px solid #46c0c7;box-shadow:0 0 10px rgba(70,192,199,.6)}
.tr-item.appareil::after{content:"";position:absolute;right:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#e0201a}
.tr-item.tresor{width:22px;height:22px;margin:-11px 0 0 -11px;background:radial-gradient(circle,#fff 0 12%,rgba(255,230,140,.9) 20%,transparent 60%);animation:trApparait .3s ease-out,trBrille 1.2s ease-in-out .3s infinite}
@keyframes trBrille{50%{transform:scale(.55) rotate(45deg);opacity:.6}}
.tr-item.lum{width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fffbe0,#ffe14d 55%,rgba(255,225,77,0) 72%);box-shadow:0 0 14px rgba(255,225,77,.8)}
.tr-item.stud{width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#c0c6cc 50%,#7a828a);box-shadow:inset 0 -3px 0 rgba(0,0,0,.25)}
.tr-item.stud[data-v="100"]{background:radial-gradient(circle at 40% 35%,#fff7cf,#ffd23f 50%,#b08a12)}
.tr-item.stud[data-v="1000"]{background:radial-gradient(circle at 40% 35%,#dff1ff,#3fa0ff 50%,#1a4f9a)}
.tr-item.emeraude{width:22px;height:30px;margin:-15px 0 0 -11px;background:linear-gradient(135deg,#a8ffb8,#17b34a 50%,#0a6a2a);clip-path:polygon(50% 0,100% 30%,100% 70%,50% 100%,0 70%,0 30%)}
.tr-item.epave{width:52px;height:12px;margin:-6px 0 0 -26px;background:repeating-linear-gradient(90deg,#9a7448 0 16px,#7d5a32 16px 18px);animation:trApparait .3s ease-out,trVague 2.2s ease-in-out .3s infinite}
@keyframes trVague{50%{transform:translateY(-4px) rotate(3deg)}}
.tr-item.article{width:26px;height:32px;margin:-16px 0 0 -13px;background:linear-gradient(transparent 65%,#fff 65% 92%,transparent 92%),linear-gradient(90deg,#3a8ee0,#2563a8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.tr-item.couronne{width:34px;height:26px;margin:-13px 0 0 -17px;background:linear-gradient(#ffe14d,#e0a400);clip-path:polygon(0 30%,25% 60%,50% 0,75% 60%,100% 30%,90% 100%,10% 100%)}
.tr-item.collecteur{width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3b0,#ffc61a 55%,#a37a00);box-shadow:0 0 0 2px #6b4f00}
.tr-item.champion{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid #e0201a;background:radial-gradient(circle,#4a2020,#1a0a0a)}
.tr-item.champion::before{content:"";position:absolute;left:-4px;right:-4px;top:-10px;height:4px;background:linear-gradient(90deg,#e0201a 70%,#333 70%)}
.tr-item.garniture{width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:40% 40% 50% 50%;background:radial-gradient(circle at 35% 45%,#000 0 7%,transparent 8%),radial-gradient(circle at 65% 45%,#000 0 7%,transparent 8%),#ffd23f;box-shadow:inset 0 -4px 0 #e0a400}
.tr-item.coeur{width:26px;height:24px;margin:-12px 0 0 -13px;background:#ff5a8a;clip-path:path('M13 24 L2 12 A6 6 0 0 1 13 4 A6 6 0 0 1 24 12 Z')}
.tr-item.colis{width:30px;height:24px;margin:-12px 0 0 -15px;background:linear-gradient(90deg,transparent 44%,#e6c88a 44% 56%,transparent 56%),#b07d3a;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.tr-item.prise{width:24px;height:18px;margin:-9px 0 0 -12px;border-radius:45% 55% 50% 40%;background:#e07a2a;box-shadow:inset -3px -3px 0 rgba(0,0,0,.25)}
.tr-item.drone{width:40px;height:22px;margin:-11px 0 0 -20px;background:radial-gradient(circle at 50% 55%,#ff6a1a 0 14%,#1a1a1a 15% 22%,transparent 23%),linear-gradient(#e8e1d0,#b5ad9a);border-radius:40% 40% 30% 30%;animation:trApparait .3s ease-out,trDrone 1.6s ease-in-out .3s infinite}
.tr-item.drone::before,.tr-item.drone::after{content:"";position:absolute;top:-4px;width:16px;height:3px;background:rgba(220,220,220,.7);animation:trHelice .12s linear infinite}
.tr-item.drone::before{left:-10px}.tr-item.drone::after{right:-10px}
@keyframes trDrone{50%{transform:translate(10px,-6px)}}
@keyframes trHelice{50%{transform:scaleX(.3)}}

/* ---------- Divers ---------- */
.tr-sale{left:0;top:0;width:100%;height:100%}
.tr-pow{transform:translate(-50%,-50%) rotate(-8deg);font:800 italic 34px 'Barlow Condensed',sans-serif;color:#ffe14d;-webkit-text-stroke:2px #1a1a1a;text-shadow:4px 4px 0 #e0201a;animation:trPow .7s ease-out forwards}
@keyframes trPow{0%{transform:translate(-50%,-50%) rotate(-8deg) scale(.3)}25%{transform:translate(-50%,-50%) rotate(-8deg) scale(1.15)}100%{transform:translate(-50%,-80%) rotate(-8deg) scale(1);opacity:0}}
.tr-polaroid{width:96px;height:110px;margin:-55px 0 0 -48px;padding:6px 6px 22px;background:#f7f4ee;background-clip:content-box;box-shadow:0 0 0 6px #f7f4ee,0 10px 22px rgba(0,0,0,.5);background-size:cover;background-position:center;transform:rotate(var(--r));animation:trPhoto .4s ease-out}
.tr-polaroid::after{content:attr(data-t);position:absolute;left:0;right:0;bottom:-2px;font:700 11px 'DM Sans',sans-serif;color:#222;text-align:center}
@keyframes trPhoto{from{transform:rotate(var(--r)) scale(1.4);opacity:0}}
.tr-horizon{inset:0;overflow:hidden}
.tr-horizon .ciel{position:absolute;left:-50%;top:-50%;width:200%;height:200%;background:linear-gradient(#2f7dd6 50%,#7a5230 50%);opacity:.55;transition:transform .15s}
.tr-horizon .ciel::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#fff}
.tr-horizon .maquette{position:absolute;left:50%;top:50%;width:120px;height:6px;margin:-3px 0 0 -60px;background:linear-gradient(90deg,#ffd23f 0 38%,transparent 38% 62%,#ffd23f 62%)}
.tr-horizon .maquette::after{content:"";position:absolute;left:50%;top:-3px;width:12px;height:12px;margin-left:-6px;background:#ffd23f;border-radius:50%}
.fo-pc{display:flex;align-items:baseline;gap:6px;padding:2px 8px;translate:0 -50%;background:rgba(0,30,10,.75);border:1px solid #1aff80;font:600 12px monospace;color:#1aff80;white-space:nowrap}
.fo-pc b{font-size:16px}
.terrain.tr-vats .tr-bg{filter:brightness(.38) sepia(1) hue-rotate(70deg) saturate(2)}
.terrain.tr-vats::after{opacity:1;background:repeating-linear-gradient(0deg,rgba(26,255,128,.06) 0 1px,transparent 1px 3px)}
.tr-pa{position:relative;width:min(220px,46cqw);font:600 11px monospace;color:#1aff80;text-align:right}
.tr-pa small{position:absolute;left:0;top:0;font-size:11px}
.tr-pa i{display:block;height:8px;margin:16px 0 4px;border:1px solid #1aff80}
.tr-pa i b{display:block;height:100%;background:#1aff80;transition:width .2s;margin-left:auto}
.terrain.tr-glitch .tr-bg{animation:trGlitch .4s steps(4)}
@keyframes trGlitch{25%{transform:translate(6px,-2px);filter:brightness(.6) hue-rotate(90deg)}50%{transform:translate(-5px,3px)}75%{transform:translate(3px,0);filter:brightness(.6) saturate(3)}}
.tr-torpeur{width:min(200px,42cqw);text-align:right}
.tr-torpeur small{font:700 10px 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#c79bff}
.tr-torpeur i{display:block;height:8px;margin-top:3px;background:rgba(0,0,0,.6);border:1px solid #c79bff}
.tr-torpeur i b{display:block;height:100%;background:#9a5ce0;transition:width .2s}
.tr-bouclier{width:min(200px,40cqw);height:10px;border:1px solid #7fd3ff;background:rgba(0,0,0,.4);align-self:flex-start}
.tr-bouclier i{display:block;height:100%;background:linear-gradient(90deg,#4fb6ff,#9fe0ff)}

/* Bannières génériques des autres jeux */
.tr-b.hit,.tr-b.unc,.tr-b.cr,.tr-b.lol,.tr-b.pizza,.tr-b.sg,.tr-b.peak,.tr-b.ark,.tr-b.pubg,.tr-b.fh,.tr-b.pc,.tr-b.sifu,.tr-b.mr,.tr-b.bond,.tr-b.re,.tr-b.arc,.tr-b.frag,.tr-b.raft,.tr-b.spl-msg{padding:8px 20px;background:rgba(0,0,0,.66);border-top:2px solid var(--c);font:800 clamp(20px,4.4cqw,34px)/1.1 'Barlow Condensed',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.tr-b.hit{border-color:#c0171f;letter-spacing:.3em;font-weight:600}
.tr-b.lol{color:#f0e6d2;border-color:#c8aa6e;font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:.12em}
.tr-b.unc{font-family:'Cormorant Garamond',serif;text-transform:none;font-style:italic;letter-spacing:.06em}
.tr-b.bond{font-family:'Cormorant Garamond',serif;text-transform:none;letter-spacing:.1em;font-weight:600}
.tr-b.re{font-family:'Cormorant Garamond',serif;text-transform:none;color:#e9d6a8}
.tr-b.pizza{transform:rotate(-4deg);color:#ffe14d;background:#6a1a8a}
.tr-b.pubg{color:#f2c14e;text-transform:uppercase}

@media (max-width:640px){
  .terrain{height:clamp(220px,46vw,280px)}
  .tr-aide{font-size:10px;max-width:calc(100% - 120px)}
  .tr-mun b{font-size:30px}
  .tr-souls,.tr-hkhud,.tr-vie,.tr-dbd,.tr-roi,.tr-cuphp{top:56px}
}
@media (prefers-reduced-motion:reduce){
  .tr-bot.strafe,.tr-item,.tr-bot.tr-adv{animation:none}
}

/* Place dans les fiches */
.gd-terrain{grid-column:1/-1;margin:0 0 4px}
.f-terrain{grid-column:1/-1}
/* Tireurs : le mur d'entraînement reste lisible sous l'assombrissement */
.tr-counter-strike-2 .tr-bg,.tr-call-of-duty-black-ops .tr-bg,.tr-halo .tr-bg,.tr-fragpunk .tr-bg,.tr-007-first-light .tr-bg,.tr-resident-evil .tr-bg{filter:brightness(.62) saturate(.85)}
/* Where Winds Meet : du papier de riz pour l'encre */
.tr-wwm .tr-bg{filter:grayscale(.6) brightness(.9)}
.tr-wwm .tr-bg::after{background:linear-gradient(rgba(238,228,206,.8),rgba(226,214,188,.84)),repeating-linear-gradient(90deg,rgba(120,100,70,.05) 0 2px,transparent 2px 9px)}
.tr-wwm .tr-aide{color:#2a2118;background:rgba(238,228,206,.85)}
.tr-wwm .tr-cpt{background:rgba(30,24,18,.75)}
