/* MemoMilo · Tournois v241 — design « Arène » (couleurs du jeu : ciel, turquoise, or). */
.mq-tp{--tn-ink:#0f3a4a;--tn-ink2:#55719c;--tn-ink3:#8aa6b4;--tn-teal:#14b8a6;--tn-turq:#0fa3b4;--tn-gold:#fbbf24;--tn-coral:#f43f5e;--tn-glass:rgba(255,255,255,.82);--tn-shadow:0 10px 30px rgba(6,60,85,.16);--tn-out:cubic-bezier(.2,.9,.25,1);--tn-spring:cubic-bezier(.34,1.56,.64,1)}
.tn241-coin{display:inline-block;width:1.05em;height:1.05em;border-radius:50%;vertical-align:-.16em;background:radial-gradient(circle at 35% 30%,#fff7c2 0 12%,#ffd84d 30%,#f5a70b 70%,#c9780a 100%);box-shadow:inset 0 -2px 0 rgba(150,80,0,.35),0 2px 4px rgba(160,90,0,.3)}
.tn241-h2{display:flex;align-items:center;gap:8px;margin:22px 4px 10px;font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--tn-ink2)}
.tn241-cap{margin-left:auto;font-size:11px;letter-spacing:.04em;font-weight:800;color:var(--tn-ink3);text-transform:none}
.tn241-live-dot{display:inline-flex;align-items:center;gap:6px;color:#e11d48}
.tn241-live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#e11d48;animation:tn241ping 1.6s infinite}
@keyframes tn241ping{0%{box-shadow:0 0 0 0 rgba(225,29,72,.6)}70%{box-shadow:0 0 0 8px rgba(225,29,72,0)}100%{box-shadow:0 0 0 0 rgba(225,29,72,0)}}
.tn241-note{margin:10px 4px 0;font-size:12px;line-height:1.45;color:var(--tn-ink2);font-weight:800}
.tn241-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 14px;border-radius:20px;background:var(--tn-glass);box-shadow:0 0 0 1.5px rgba(255,255,255,.9) inset,var(--tn-shadow);text-align:center;color:var(--tn-ink2);font-size:13px;font-weight:800}
.tn241-empty span{font-size:26px}
.tn241-empty p{margin:0;line-height:1.45}

/* ---------- Accueil ---------- */
.tn241-hero{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:30px;color:#fff;background:radial-gradient(120% 90% at 85% 0%,rgba(255,255,255,.35),transparent 55%),linear-gradient(150deg,#0b8797 0%,#0fa3b4 40%,#22c7d6 75%,#56dbe8 100%);box-shadow:0 0 0 1.5px rgba(255,255,255,.55) inset,0 20px 44px rgba(9,110,130,.35);isolation:isolate}
.tn241-hero::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:tn241shine 4s ease-in-out infinite;pointer-events:none;z-index:-1}
@keyframes tn241shine{0%,55%{left:-60%}100%{left:130%}}
.tn241-hero-cup{position:absolute;right:-12px;top:-8px;width:146px;height:146px;object-fit:contain;filter:drop-shadow(0 14px 22px rgba(0,50,70,.35));animation:tn241float 5s ease-in-out infinite;z-index:-1}
@keyframes tn241float{50%{transform:translateY(-8px) rotate(-2deg)}}
.tn241-hero small{font-size:11px;letter-spacing:.2em;font-weight:900;opacity:.92}
.tn241-hero h2{margin:4px 0;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.02em;color:#fff;text-shadow:0 3px 12px rgba(0,60,80,.3)}
.tn241-hero p{margin:0;max-width:190px;font-size:13.5px;line-height:1.35;font-weight:800;color:#fff;opacity:.96}
.tn241-prize{display:flex;gap:8px;margin-top:16px}
.tn241-prize>div{flex:1;padding:8px 6px 7px;border-radius:16px;text-align:center;background:rgba(255,255,255,.18);box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
.tn241-prize b{display:flex;align-items:center;justify-content:center;gap:5px;font-size:19px;font-weight:900}
.tn241-prize small{display:block;font-size:10px;letter-spacing:.12em;opacity:.9}
.tn241-prize .is-gold{background:linear-gradient(180deg,rgba(255,228,138,.5),rgba(251,191,36,.28));box-shadow:0 0 0 1.5px rgba(255,236,170,.9) inset,0 6px 18px rgba(245,158,11,.35)}
.tn241-prize.is-training{display:block;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.18);font-weight:900}
.tn241-prize.is-training small{display:block;margin-top:2px;font-size:11px;opacity:.85}
.tn241-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.tn241-btn-main,.tn241-btn-ghost{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:0;border-radius:18px;font:inherit;font-weight:900;font-size:15.5px;cursor:pointer;transition:transform .15s var(--tn-out)}
.tn241-btn-main:active,.tn241-btn-ghost:active{transform:scale(.97)}
.tn241-btn-main{grid-column:1/-1;min-height:62px;color:#fff;background:linear-gradient(180deg,#22d3c5,#0fa3b4 55%,#0b8797);box-shadow:0 -3px 0 rgba(0,0,0,.12) inset,0 10px 24px rgba(15,163,180,.38),0 0 0 1.5px rgba(255,255,255,.35) inset;font-size:17px}
.tn241-btn-main span{text-align:left;line-height:1.1}
.tn241-btn-main small{display:block;font-size:11.5px;font-weight:800;opacity:.92}
.tn241-btn-ghost{color:var(--tn-ink);background:rgba(255,255,255,.92);box-shadow:var(--tn-shadow)}
.tn241-btn-main .mq-tp-ic,.tn241-btn-ghost .mq-tp-ic{width:20px;height:20px}
.tn241-publics{display:flex;flex-direction:column;gap:10px}
.tn241-pcard{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;overflow:hidden;border-radius:22px;background:var(--tn-glass);box-shadow:0 0 0 1.5px rgba(255,255,255,.9) inset,var(--tn-shadow)}
.tn241-pcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--m,#0fa3b4)}
.tn241-pcard-av .mq-tp-avatar{width:56px;height:56px;border-radius:18px}
.tn241-pcard-copy strong{display:block;font-size:15px;font-weight:900;color:var(--tn-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-pcard-copy small{display:block;font-size:11px;color:var(--tn-ink2);font-weight:800}
.tn241-chips{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0}
.tn241-chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:900;background:rgba(15,58,74,.06);color:var(--tn-ink2);white-space:nowrap}
.tn241-chip.is-mode{background:color-mix(in srgb,var(--m) 14%,#fff);color:color-mix(in srgb,var(--m) 78%,#000)}
.tn241-chip.is-coin{background:#fff7e0;color:#92400e}
.tn241-meter{height:6px;border-radius:6px;background:rgba(15,58,74,.08);overflow:hidden;margin:4px 0 3px}
.tn241-meter i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#2dd4bf,#0fa3b4)}
.tn241-pcard-act{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tn241-btn-join{min-height:40px;padding:0 14px;border:0;border-radius:14px;font:inherit;font-weight:900;font-size:13.5px;color:#fff;background:linear-gradient(180deg,#22d3c5,#0fa3b4);box-shadow:0 6px 14px rgba(15,163,180,.32);cursor:pointer}
.tn241-btn-join:disabled{opacity:.45}
.tn241-text{border:0;background:none;font:inherit;font-size:11px;font-weight:800;color:var(--tn-ink3);text-decoration:underline;cursor:pointer}
.tn241-ai{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tn241-aicard{position:relative;display:flex;flex-direction:column;align-items:center;padding:10px 8px 12px;border:0;border-radius:22px;font:inherit;color:var(--tn-ink);background:var(--tn-glass);box-shadow:0 0 0 1.5px rgba(255,255,255,.9) inset,var(--tn-shadow);cursor:pointer;transition:transform .2s var(--tn-out)}
.tn241-aicard:active{transform:scale(.97)}
.tn241-aicard img{width:80px;height:80px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(6,60,85,.2))}
.tn241-aicard b{font-size:15px;font-weight:900;margin-top:2px}
.tn241-aicard.is-expert{box-shadow:0 0 0 1.5px rgba(244,63,94,.35) inset,var(--tn-shadow)}
.tn241-tag{position:absolute;top:8px;right:8px;padding:3px 7px;border-radius:999px;font-size:9.5px;font-weight:900;letter-spacing:.1em;background:#ffe4e6;color:#e11d48}
.tn241-rw{display:inline-flex;align-items:center;gap:5px;margin-top:6px;height:26px;padding:0 10px;border-radius:999px;font-size:12.5px;font-weight:900;background:rgba(15,58,74,.06);color:var(--tn-ink3)}
.tn241-rw.is-yes{background:linear-gradient(180deg,#fff3c4,#ffe08a);color:#7a4300;box-shadow:0 0 0 1px #f8cf5b inset}

/* ---------- Vestiaire ---------- */
.tn241-reward-banner{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:12px 14px;border-radius:20px;background:linear-gradient(135deg,#fff8e1,#fff1c2);box-shadow:0 0 0 1.5px #fde68a inset,0 8px 20px rgba(245,158,11,.18);color:#7c4a03}
.tn241-reward-banner.is-training{background:linear-gradient(135deg,#eef6ff,#e3efff);box-shadow:0 0 0 1.5px #c7dcf7 inset;color:#1e3a5f}
.tn241-reward-cup{font-size:26px;line-height:1}
.tn241-reward-banner small{display:block;font-size:10px;letter-spacing:.14em;font-weight:900;opacity:.8}
.tn241-reward-banner strong{display:block;font-size:14.5px;font-weight:900;margin:2px 0 3px}
.tn241-reward-banner em{display:block;font-style:normal;font-size:11px;line-height:1.4;opacity:.8;font-weight:800}

/* ---------- Tableau : adversaire, résultats ---------- */
.tn241-nextop{display:flex;align-items:center;gap:10px;margin:4px 0 12px;padding:10px 12px;border-radius:20px;background:var(--tn-glass);box-shadow:0 0 0 2px rgba(251,191,36,.6) inset,0 8px 20px rgba(251,191,36,.2)}
.tn241-nextop>.mq-tp-avatar{width:46px;height:46px;border-radius:50%;flex:none}
.tn241-nextop>div{flex:1;min-width:0}
.tn241-nextop small{display:block;font-size:9.5px;letter-spacing:.16em;font-weight:900;color:var(--tn-ink2)}
.tn241-nextop b{display:block;font-size:16px;font-weight:900;color:var(--tn-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-nextop span{font-size:11.5px;font-weight:800;color:var(--tn-ink2)}
.tn241-spy,.tn241-watch{min-height:40px;padding:0 12px;border:0;border-radius:13px;font:inherit;font-weight:900;font-size:13px;color:#fff;background:linear-gradient(180deg,#334155,#0f3a4a);box-shadow:0 6px 14px rgba(15,58,74,.3);cursor:pointer;white-space:nowrap}
.tn241-nextop.is-pend{display:block;text-align:center}
.tn241-pendvs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-top:8px}
.tn241-pendvs em{font-style:normal;font-weight:900;color:var(--tn-coral)}
.tn241-pendvs button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border:0;border-radius:18px;font:inherit;background:#f3f9fa;cursor:pointer}
.tn241-pendvs .mq-tp-avatar{width:50px;height:50px;border-radius:50%}
.tn241-pendvs b{font-size:13px;max-width:100%}
.tn241-pendvs span{font-size:11px;padding:3px 9px;border-radius:999px;background:#0f3a4a;color:#fff;font-weight:900}
.tn241-watch{margin:10px auto 0;display:block}
.tn241-mini-spy{display:inline-grid;place-items:center;width:30px;height:30px;margin-top:4px;border:0;border-radius:10px;background:rgba(15,58,74,.08);font-size:15px;cursor:pointer}
.tn241-statbtn{background:linear-gradient(180deg,#fff7e0,#ffe9a8)!important;color:#7c4a03!important}
.tn241-results{margin-top:6px}
.tn241-rm{position:relative;display:block;width:100%;margin-bottom:8px;padding:10px 34px 10px 12px;border:0;border-radius:18px;font:inherit;text-align:left;background:var(--tn-glass);box-shadow:0 0 0 1.5px rgba(255,255,255,.9) inset,0 6px 16px rgba(6,60,85,.1);cursor:pointer}
.tn241-rm-who{display:grid;grid-template-columns:24px minmax(0,1fr) auto minmax(0,1fr) 24px;align-items:center;gap:7px;font-size:12.5px;font-weight:900;color:var(--tn-ink3)}
.tn241-rm-who .mq-tp-avatar{width:24px;height:24px;border-radius:50%}
.tn241-rm-who span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-rm-who span.w{color:var(--tn-ink)}
.tn241-rm-who .is-r{text-align:right}
.tn241-rm-who b{color:var(--tn-ink)}
.tn241-rm small{display:block;margin-top:5px;font-size:10.5px;font-weight:800;color:var(--tn-ink2)}
.tn241-rm>i{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal}

/* ---------- Fiches : statistiques et espionnage ---------- */
.tn241-sheet{max-height:86vh;display:flex;flex-direction:column}
.tn241-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.tn241-sheet-head h2{margin:0;font-size:20px}
.tn241-sheet-body{overflow-y:auto;scrollbar-width:none;padding-bottom:6px}
.tn241-sheet-body::-webkit-scrollbar{display:none}
.tn241-shead{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:10px}
.tn241-shead>div{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px}
.tn241-shead>div.is-r{justify-content:flex-end}
.tn241-shead .mq-tp-avatar{width:32px;height:32px;border-radius:50%;flex:none}
.tn241-shead b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tn-ink)}
.tn241-shead em{font-style:normal;font-size:18px;font-weight:900;color:var(--tn-ink)}
.tn241-schips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tn241-schips small{width:100%;font-size:10.5px;letter-spacing:.12em;font-weight:900;color:var(--tn-ink2)}
.tn241-schips span{padding:5px 9px;border-radius:999px;font-size:11.5px;font-weight:900;background:#fff7e0;color:#92400e;box-shadow:0 0 0 1px #fde68a inset}
.tn241-srows{display:flex;flex-direction:column;gap:9px}
.tn241-srow{display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:8px}
.tn241-srow>b{font-size:14px;font-weight:900;color:var(--tn-ink2);white-space:nowrap}
.tn241-srow>b.is-r{text-align:right}
.tn241-srow>b.is-best{color:var(--tn-ink)}
.tn241-srow>b.is-best::after{content:" ★";font-size:10px;color:#f59e0b}
.tn241-srow>b.is-r.is-best::after{content:""}
.tn241-srow>b.is-r.is-best::before{content:"★ ";font-size:10px;color:#f59e0b}
.tn241-sl span{display:block;margin-bottom:3px;text-align:center;font-size:10.5px;letter-spacing:.06em;font-weight:800;color:var(--tn-ink2)}
.tn241-sbar{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:3px;height:8px}
.tn241-sbar::before{content:"";grid-column:1/-1;grid-row:1;border-radius:8px;background:#e9f2f4}
.tn241-sbar i{grid-row:1;display:block;width:0;height:100%;transition:width .9s var(--tn-out)}
.tn241-sbar i.l{grid-column:1;justify-self:end;border-radius:8px 0 0 8px;background:linear-gradient(90deg,#5eead4,#14b8a6)}
.tn241-sbar i.r{grid-column:2;justify-self:start;border-radius:0 8px 8px 0;background:linear-gradient(90deg,#fb7185,#fda4af)}
.tn241-sbar i.go{width:var(--w)}
.tn241-scout-head{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#0f3a4a,#155e75);color:#fff}
.tn241-scout-head::after{content:"CONFIDENTIEL";position:absolute;right:-28px;top:14px;transform:rotate(30deg);padding:3px 30px;font-size:9px;letter-spacing:.2em;font-weight:900;background:#e11d48}
.tn241-scout-head .mq-tp-avatar{width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.85);flex:none}
.tn241-scout-head small{font-size:9.5px;letter-spacing:.18em;opacity:.75;font-weight:900}
.tn241-scout-head b{display:block;font-size:18px;font-weight:900}
.tn241-scout-head span{font-size:11.5px;opacity:.85;font-weight:800}
.tn241-scout .tn241-empty{margin-top:10px}
.tn241-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.tn241-tags span{padding:5px 10px;border-radius:999px;font-size:12px;font-weight:900;background:#eef2ff;color:#3730a3}
.tn241-bars{display:flex;flex-direction:column;gap:8px}
.tn241-bars>div{display:grid;grid-template-columns:76px 1fr 30px;align-items:center;gap:8px;font-size:12px;font-weight:800;color:var(--tn-ink2)}
.tn241-g{height:9px;border-radius:9px;background:#e7f1f3;overflow:hidden}
.tn241-g i{display:block;width:0;height:100%;border-radius:9px;background:linear-gradient(90deg,#38bdf8,#6366f1);transition:width 1s var(--tn-out)}
.tn241-g i.go{width:var(--w)}
.tn241-bars b{text-align:right;color:var(--tn-ink)}
.tn241-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.tn241-kpis div{padding:10px 6px;border-radius:14px;background:#f3f9fa;text-align:center}
.tn241-kpis b{display:block;font-size:17px;color:var(--tn-ink)}
.tn241-kpis small{font-size:10.5px;color:var(--tn-ink2);font-weight:800}
.tn241-tip{margin-top:12px;padding:10px 12px;border-radius:14px;background:#fff7e0;font-size:12.5px;line-height:1.4;color:#7c4a03;font-weight:800}
.tn241-hist{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.tn241-hist small{font-size:10.5px;letter-spacing:.12em;font-weight:900;color:var(--tn-ink2)}
.tn241-hm{display:grid;grid-template-columns:24px 26px minmax(0,1fr) auto 20px;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:13px;font:inherit;text-align:left;font-size:12.5px;background:#f3f9fa;cursor:pointer}
.tn241-hm>span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#fff;font-size:11px;font-weight:900}
.tn241-hm>span.w{background:#16a34a}.tn241-hm>span.l{background:#e11d48}
.tn241-hm .mq-tp-avatar{width:26px;height:26px;border-radius:50%}
.tn241-hm em{font-style:normal;font-weight:900}
.tn241-hm i{font-style:normal}

/* ---------- Pendant la manche ---------- */
.tn241-eye{position:absolute;top:8px;right:8px;z-index:12;display:flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 6px;border-radius:999px;background:rgba(15,58,74,.88);color:#fff;font-size:12px;font-weight:900;box-shadow:0 6px 16px rgba(15,58,74,.3);pointer-events:none}
.tn241-eye[hidden]{display:none}
.tn241-eye-ico{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e11d48;font-size:12px}
.tn241-eye b{font-size:13px}
.tn241-eye.is-bump{animation:tn241bump .6s var(--tn-spring)}
@keyframes tn241bump{40%{transform:scale(1.18)}}
.tn241-combo{position:absolute;left:50%;top:44%;z-index:30;padding:12px 26px 14px;border-radius:26px;text-align:center;white-space:nowrap;color:#fff;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.3);background:radial-gradient(120% 140% at 50% 0%,rgba(255,255,255,.45),transparent 60%),linear-gradient(160deg,#fbbf24,#f97316);box-shadow:0 0 0 2px rgba(255,255,255,.7) inset,0 20px 50px rgba(249,115,22,.55)}
.tn241-combo.is-op{background:radial-gradient(120% 140% at 50% 0%,rgba(255,255,255,.4),transparent 60%),linear-gradient(160deg,#fb7185,#be123c);box-shadow:0 0 0 2px rgba(255,255,255,.6) inset,0 20px 50px rgba(225,29,72,.5)}
.tn241-combo.is-me.lv4,.tn241-combo.is-me.lv5{background:radial-gradient(120% 140% at 50% 0%,rgba(255,255,255,.45),transparent 60%),linear-gradient(120deg,#8b5cf6,#ec4899,#f59e0b)}
.tn241-combo small{display:block;font-size:12px;letter-spacing:.22em;font-weight:900}
.tn241-combo b{display:block;font-size:54px;line-height:1;font-weight:900;text-shadow:0 4px 0 rgba(0,0,0,.12),0 0 24px rgba(255,255,255,.6)}
.tn241-combo b span{display:inline-block;animation:tn241cl .5s var(--tn-spring) both;animation-delay:calc(var(--i) * 60ms + 120ms)}
@keyframes tn241cl{from{transform:translateY(30px) scale(.2);opacity:0}}
.tn241-combo em{display:inline-block;margin-top:4px;padding:3px 10px;border-radius:999px;font-style:normal;font-size:13px;font-weight:900;background:rgba(255,255,255,.25)}
.tn241-combo.is-on{animation:tn241comboin 1.5s var(--tn-out) forwards}
@keyframes tn241comboin{0%{transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0}14%{transform:translate(-50%,-50%) scale(1.12) rotate(2deg);opacity:1}24%{transform:translate(-50%,-50%) scale(1)}78%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-90%) scale(.85);opacity:0}}
.tn241-sweep{position:absolute;inset:-10px;z-index:29;border-radius:20px;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 35%,rgba(255,236,170,.75) 50%,transparent 65%);transform:translateX(-120%)}
.tn241-sweep.is-on{animation:tn241sweep .8s ease-out}
@keyframes tn241sweep{0%{transform:translateX(-120%);opacity:1}100%{transform:translateX(120%);opacity:1}}
.tn241-quake{animation:tn241quake .45s}
@keyframes tn241quake{20%{transform:translate(-3px,1px) rotate(-.4deg)}40%{transform:translate(3px,-1px) rotate(.4deg)}60%{transform:translate(-2px,0)}80%{transform:translate(2px,0)}}
.tn241-wave{position:absolute;z-index:28;width:20px;height:20px;margin:-10px 0 0 -10px;border:3px solid #fbbf24;border-radius:50%;pointer-events:none;animation:tn241wave .7s ease-out forwards}
.tn241-wave.is-op{border-color:#fb7185}
@keyframes tn241wave{to{transform:scale(7);opacity:0;border-width:1px}}
.mq-card.tn241-gold{box-shadow:0 0 0 3px #fbbf24,0 0 22px rgba(251,191,36,.85)!important;border-radius:12px}

/* ---------- Écran de fin de manche / de match ---------- */
.tn241-vic{position:relative;min-height:100%;display:flex;flex-direction:column;gap:14px;padding:calc(max(14px,env(safe-area-inset-top)) + 18px) 16px calc(24px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;color:#fff;background:radial-gradient(130% 70% at 50% 18%,rgba(255,236,170,.6),rgba(14,90,110,.92) 60%,#0a3c4c);scrollbar-width:none}
.tn241-vic::-webkit-scrollbar{display:none}
.tn241-vic.is-lost{background:radial-gradient(130% 70% at 50% 18%,rgba(255,200,210,.35),rgba(60,40,70,.94) 60%,#1d1a30)}
.tn241-vic.is-draw,.tn241-vic.is-more{background:radial-gradient(130% 70% at 50% 18%,rgba(190,240,255,.45),rgba(14,90,110,.92) 60%,#0a3c4c)}
.tn241-rays{position:absolute;left:50%;top:-140px;width:760px;height:760px;margin-left:-380px;pointer-events:none;opacity:0;transition:opacity 1s .2s;background:repeating-conic-gradient(from 0deg,rgba(255,240,190,.45) 0 7deg,rgba(255,255,255,0) 7deg 20deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 58%);mask:radial-gradient(circle,#000 0,transparent 58%);animation:tn241spin 26s linear infinite}
@keyframes tn241spin{to{transform:rotate(360deg)}}
.tn241-vic.is-on .tn241-rays{opacity:.9}
.tn241-vic.is-lost .tn241-rays{display:none}
.tn241-vhero{position:relative;text-align:center}
.tn241-medal{position:relative;width:146px;height:146px;margin:0 auto;opacity:0;transform:translateY(-120px) scale(.4) rotate(-20deg)}
.tn241-vic.is-on .tn241-medal{animation:tn241medal 1s .15s var(--tn-spring) forwards}
@keyframes tn241medal{to{opacity:1;transform:none}}
.tn241-medal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 16px 30px rgba(180,110,0,.55));animation:tn241float 4s 1.2s ease-in-out infinite}
.tn241-medal>span{display:grid;place-items:center;width:100%;height:100%;font-size:84px}
.tn241-medal::before{content:"";position:absolute;inset:-14px;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.9),rgba(255,236,170,0) 65%);animation:tn241halo 2.2s ease-in-out infinite}
@keyframes tn241halo{50%{transform:scale(1.12);opacity:.7}}
.tn241-vic.is-lost .tn241-medal::before{background:radial-gradient(circle,rgba(255,180,190,.5),transparent 65%)}
.tn241-medal i{position:absolute;width:14px;height:14px;background:#fff;opacity:0;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:tn241twk 1.6s ease-in-out infinite}
.tn241-medal .s1{left:4%;top:18%;animation-delay:1.2s}.tn241-medal .s2{right:2%;top:6%;width:18px;height:18px;animation-delay:1.5s}.tn241-medal .s3{right:10%;bottom:12%;animation-delay:1.9s}
@keyframes tn241twk{0%,100%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}}
.tn241-vic.is-lost .tn241-medal i{display:none}
.tn241-kick{margin-top:6px;font-size:11px;letter-spacing:.24em;font-weight:900;opacity:0;animation:tn241up .5s .7s forwards}
.tn241-word{margin:2px 0 0;font-size:46px;line-height:1.02;font-weight:900;letter-spacing:.02em;color:#fff}
.tn241-vic.is-more .tn241-word,.tn241-vic.is-draw .tn241-word{font-size:36px}
.tn241-word span{display:inline-block;opacity:0;background:linear-gradient(180deg,#fff7c2,#fbbf24 55%,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 rgba(150,80,0,.35)) drop-shadow(0 10px 22px rgba(245,158,11,.5))}
.tn241-word .sp{width:.3em}
.tn241-vic.is-on .tn241-word span{animation:tn241letter .6s var(--tn-spring) forwards;animation-delay:calc(.75s + var(--i,0) * 60ms)}
.tn241-vic.is-lost .tn241-word span{background:linear-gradient(180deg,#ffe4e6,#fb7185);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 4px 0 rgba(120,20,40,.35))}
.tn241-vic.is-draw .tn241-word span,.tn241-vic.is-more .tn241-word span{background:linear-gradient(180deg,#ffffff,#a5f3fc);-webkit-background-clip:text;background-clip:text}
@keyframes tn241letter{0%{opacity:0;transform:translateY(40px) scale(.3) rotate(-14deg)}100%{opacity:1;transform:none}}
@keyframes tn241up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tn241-sub{display:inline-block;margin-top:10px;padding:7px 16px;border-radius:999px;font-size:14px;font-weight:900;background:rgba(255,255,255,.2);box-shadow:0 0 0 1.5px rgba(255,255,255,.5) inset;opacity:0;animation:tn241up .5s 1.4s forwards}
.tn241-vic.is-win:not(.is-more) .tn241-sub{background:linear-gradient(90deg,rgba(20,184,166,.9),rgba(15,163,180,.9))}
.tn241-vscore{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;opacity:0;animation:tn241up .5s 1.1s forwards}
.tn241-vscore>div{display:flex;flex-direction:column;align-items:center;gap:3px;width:96px}
.tn241-vscore .mq-tp-avatar{width:62px;height:62px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 8px 18px rgba(0,0,0,.25)}
.tn241-vscore .is-w .mq-tp-avatar{box-shadow:0 0 0 3.5px #fbbf24,0 0 26px rgba(251,191,36,.9)}
.tn241-vscore b{max-width:100%;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-vscore small{font-size:11px;opacity:.85;font-weight:800}
.tn241-vscore em{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-style:normal;font-size:40px;font-weight:900;text-shadow:0 4px 14px rgba(0,0,0,.25)}
.tn241-vscore em i{font-style:normal;opacity:.6}
.tn241-vscore em small{width:100%;text-align:center;font-size:10px;letter-spacing:.16em;margin-top:-6px}
.tn241-tie{max-width:330px;margin:12px auto 0;padding:7px 12px;border-radius:12px;font-size:12px;font-weight:800;background:rgba(255,255,255,.16);opacity:0;animation:tn241up .5s 1.3s forwards}
.tn241-road{display:flex;align-items:center;justify-content:center;max-width:380px;margin:18px auto 0}
.tn241-road.is-champ span{padding:7px 14px;border-radius:999px;font-size:12px;font-weight:900;background:rgba(255,255,255,.18)}
.tn241-rs{display:flex;flex-direction:column;align-items:center;gap:4px;width:66px;opacity:0;animation:tn241up .4s forwards;animation-delay:var(--d)}
.tn241-rs i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-style:normal;font-size:13px;font-weight:900;background:rgba(255,255,255,.25);box-shadow:0 0 0 1.5px rgba(255,255,255,.5) inset}
.tn241-rs.is-ok i{background:#14b8a6;box-shadow:0 0 0 2px #fff inset,0 0 14px rgba(20,184,166,.8)}
.tn241-rs.is-ko i{background:#e11d48}
.tn241-rs.is-now i{background:#38bdf8}
.tn241-rs.is-next i{background:#fbbf24;color:#5a3000;animation:tn241next 1.2s ease-in-out infinite}
@keyframes tn241next{50%{box-shadow:0 0 0 6px rgba(251,191,36,.35)}}
.tn241-rs small{font-size:9.5px;opacity:.92;white-space:nowrap;font-weight:800}
.tn241-rl{position:relative;flex:1;height:3px;margin-bottom:16px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.3)}
.tn241-rl.is-ok::after{content:"";position:absolute;inset:0;background:#2dd4bf;transform:scaleX(0);transform-origin:left;animation:tn241rl .5s forwards;animation-delay:var(--d)}
@keyframes tn241rl{to{transform:none}}
.tn241-vview{margin-top:12px;font-size:12px;font-weight:800;opacity:.85}
.tn241-panel{position:relative;padding:12px 12px 14px;border-radius:26px;color:var(--tn-ink);background:linear-gradient(180deg,#fff,#f2fbfb);box-shadow:0 18px 50px rgba(6,60,85,.3);opacity:0;transform:translateY(40px);animation:tn241up .6s 1.7s var(--tn-out) forwards}
.tn241-vtabs{display:flex;gap:6px;margin-bottom:10px;padding:4px;border-radius:16px;background:#eef7f8}
.tn241-vtabs button{flex:1;min-height:38px;border:0;border-radius:12px;font:inherit;font-size:13px;font-weight:900;color:var(--tn-ink2);background:none;cursor:pointer}
.tn241-vtabs button.is-sel{color:var(--tn-ink);background:#fff;box-shadow:0 4px 12px rgba(6,60,85,.12)}
.tn241-vact{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;animation:tn241up .5s 2s forwards}
.tn241-main{width:100%;min-height:58px;border:0;border-radius:18px;font:inherit;font-size:17px;font-weight:900;color:#fff;background:linear-gradient(180deg,#22d3c5,#0fa3b4 55%,#0b8797);box-shadow:0 -3px 0 rgba(0,0,0,.12) inset,0 10px 24px rgba(15,163,180,.38);cursor:pointer}
.tn241-vic.is-win:not(.is-more) .tn241-main{color:#5a3000;background:linear-gradient(180deg,#ffe48a,#fbbf24 55%,#f59e0b);box-shadow:0 -3px 0 rgba(120,60,0,.18) inset,0 10px 24px rgba(245,158,11,.4)}
.tn241-vact small{font-size:11.5px;font-weight:800;opacity:.8}
.tn241-vic .tn241-nextop{margin:0}
@media (prefers-reduced-motion:reduce){.tn241-hero::after,.tn241-hero-cup,.tn241-rays,.tn241-medal img,.tn241-combo,.tn241-sweep,.tn241-quake{animation:none!important}.tn241-vic *{animation-duration:.01ms!important;animation-delay:0s!important}}

/* ---------- Thème clair « couleurs du jeu » pour les skins claires (Lagon, Océan, Ambre) ---------- */
.mq-shell:is([data-skin="jade"],[data-skin="ocean"],[data-skin="ambre"]) .mq-tp.mq-tp-v3,.mq-shell:not([data-skin]) .mq-tp.mq-tp-v3{--mp-bg:#e3f5fb;--mp-panel:rgba(255,255,255,.88);--mp-panel2:#f2fbfb;--mp-ink:#0f3a4a;--mp-dim:#55719c;--mp-accent:#0fa3b4;--mp-accent2:#14b8a6;--mp-contrast:#ffffff;--mp-hero:#0fa3b4;--mp-hero2:#22c7d6;--mp-glow:rgba(20,184,166,.18);--mp-border:rgba(17,94,116,.12);--mp-light:rgba(15,58,74,.05);--mp-gold:#f59e0b;--elite-edge:rgba(17,94,116,.14);--elite-quiet:rgba(15,58,74,.05);--elite-shade:rgba(6,60,85,.12);--elite-surface:rgba(255,255,255,.88);--elite-surface-raised:#f2fbfb;background:linear-gradient(180deg,#5fcdf3 0%,#9be2f9 22%,#dcf2fc 58%,#f1faf3 100%)!important;color:#0f3a4a!important}
/* Priorité sur les styles « elite » hérités des écrans de tournoi. */
.mq-tp .tn241-hero h2,.mq-tp .tn241-hero p,.mq-tp .tn241-hero small{color:#fff!important}
.mq-tp .tn241-btn-main{color:#fff!important;background:linear-gradient(180deg,#22d3c5,#0fa3b4 55%,#0b8797)!important;border:0!important;box-shadow:0 -3px 0 rgba(0,0,0,.12) inset,0 10px 24px rgba(15,163,180,.38),0 0 0 1.5px rgba(255,255,255,.35) inset!important}
.mq-tp .tn241-btn-ghost{color:#0f3a4a!important;background:rgba(255,255,255,.92)!important;border:0!important}
.mq-tp .tn241-btn-join{color:#fff!important;background:linear-gradient(180deg,#22d3c5,#0fa3b4)!important;border:0!important}
.mq-tp .tn241-spy,.mq-tp .tn241-watch{color:#fff!important;background:linear-gradient(180deg,#334155,#0f3a4a)!important;border:0!important}
.mq-tp .tn241-main{color:#fff!important;background:linear-gradient(180deg,#22d3c5,#0fa3b4 55%,#0b8797)!important;border:0!important}
.mq-tp .tn241-vic.is-win:not(.is-more) .tn241-main{color:#5a3000!important;background:linear-gradient(180deg,#ffe48a,#fbbf24 55%,#f59e0b)!important}
.mq-tp .tn241-vtabs button{background:none!important;border:0!important;color:#55719c!important}
.mq-tp .tn241-vtabs button.is-sel{background:#fff!important;color:#0f3a4a!important}
.mq-tp .tn241-pendvs button,.mq-tp .tn241-hm,.mq-tp .tn241-rm,.mq-tp .tn241-aicard{border:0!important}
.mq-tp .tn241-pendvs button,.mq-tp .tn241-hm{background:#f3f9fa!important;color:#0f3a4a!important}
.mq-tp .tn241-rm{background:rgba(255,255,255,.86)!important;color:#0f3a4a!important}
.mq-tp .tn241-aicard{background:rgba(255,255,255,.86)!important;color:#0f3a4a!important}
.tn241-h2{flex-wrap:nowrap;white-space:nowrap}
.tn241-h2 .tn241-cap{overflow:hidden;text-overflow:ellipsis}
.mq-tp .tn241-vic h1,.mq-tp .tn241-vic .tn241-kick,.mq-tp .tn241-vic .tn241-sub,.mq-tp .tn241-vic .tn241-vscore b,.mq-tp .tn241-vic .tn241-vscore small{color:#fff!important}
.mq-tp .tn241-panel h2,.mq-tp .tn241-sheet h2{color:#0f3a4a!important}
.mq-shell:is([data-skin="jade"],[data-skin="ocean"],[data-skin="ambre"]) .mq-tp :is(.mp-hero,.mp221-hero,.mq-elite-feature),.mq-shell:is([data-skin="jade"],[data-skin="ocean"],[data-skin="ambre"]) .mq-tp :is(.mp-hero,.mp221-hero,.mq-elite-feature) :is(h1,h2,h3,p,span,small,b,strong){color:#fff!important}
.mq-tp .tn241-mini-spy{width:auto;height:26px;padding:0 9px;margin-top:5px;border:0!important;border-radius:999px;font-size:11px;font-weight:900;color:#fff!important;background:linear-gradient(180deg,#334155,#0f3a4a)!important;white-space:nowrap}
.mq-shell:is([data-skin="jade"],[data-skin="ocean"],[data-skin="ambre"]) .mq-tp .mp-identity input[data-first]{min-height:42px;padding:0 12px;border:1.5px solid rgba(17,94,116,.18);border-radius:12px;background:#fff;color:#0f3a4a;font:inherit;font-weight:800}

/* ---------- Tirage au sort avec les cartes du jeu ---------- */
.tn241-draw h2{margin:4px 0 14px}
.tn241-deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:420px;margin:0 auto 6px;perspective:900px}
.tn241-dcard{position:relative;aspect-ratio:3/4;animation:tn241deal .7s var(--tn-spring) both;animation-delay:calc(var(--i) * 90ms)}
@keyframes tn241deal{0%{transform:translateY(-120px) rotate(-14deg) scale(.4);opacity:0}100%{transform:none;opacity:1}}
.tn241-din{position:absolute;inset:0;transform-style:preserve-3d;animation:tn241flip .6s var(--tn-out) forwards;animation-delay:calc(1.1s + var(--i) * 260ms)}
@keyframes tn241flip{to{transform:rotateY(180deg)}}
.tn241-dface{position:absolute;inset:0;overflow:hidden;border:2px solid #f2fffb;border-radius:13px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 6px 14px rgba(6,60,85,.22)}
.tn241-dback{display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.35),transparent 42%),linear-gradient(160deg,#5fe0d2,#14b8a6 48%,#0d8f9e)}
.tn241-dback::before{content:"";width:36%;aspect-ratio:1;background:#eafffb;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);opacity:.92}
.tn241-dfront{transform:rotateY(180deg);background:linear-gradient(160deg,#0f7f8f,#0d5d69)}
.tn241-dpic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tn241-dwho{position:absolute;left:4px;right:4px;bottom:4px;display:flex;align-items:center;gap:4px;padding:3px 6px 3px 3px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 6px rgba(0,0,0,.25);color:#0f3a4a}
.tn241-dwho .mq-tp-avatar{width:20px;height:20px;border-radius:50%;flex:none}
.tn241-dwho b{min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-dcard.is-me .tn241-dfront{box-shadow:0 0 0 3px #fbbf24,0 0 22px rgba(251,191,36,.7)}
.tn241-duels{display:flex;flex-direction:column;gap:7px;width:100%;max-width:420px;margin:12px auto}
.tn241-duel{display:grid;grid-template-columns:30px minmax(0,1fr) auto minmax(0,1fr) 30px;align-items:center;gap:8px;padding:8px 12px;border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 6px 16px rgba(6,60,85,.12);opacity:0;animation:tn241up .5s var(--tn-spring) forwards;animation-delay:calc(2.5s + var(--i) * 220ms);text-align:left}
.tn241-duel.is-mine{box-shadow:0 0 0 2px #fbbf24 inset,0 8px 20px rgba(251,191,36,.3)}
.tn241-duel .mq-tp-avatar{width:30px;height:30px;border-radius:50%}
.tn241-duel span{min-width:0;font-size:13px;font-weight:900;color:#0f3a4a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tn241-duel span.is-r{text-align:right}
.tn241-duel small{display:block;font-size:9px;letter-spacing:.1em;color:#8aa6b4}
.tn241-duel b{font-size:11px;color:#f43f5e}
