/* =========================================================================
   MemoQuest 6.31.1 — interface partagée et thèmes isolés
   Règle structurelle : chaque écran est une colonne flexible bornée.
   Rien ne peut déborder, rien ne peut se superposer.
   ========================================================================= */

.mq-shell {
	--ciel-1: #4bc3f0;
	--ciel-2: #8ddcf8;
	--ciel-3: #d9f0fc;
	--ciel-4: #eef8f0;
	--sable: #f6e7c9;

	--blanc: #ffffff;
	--encre: #153c7a;
	--encre-2: #55719c;
	--encre-3: #93a9c6;

	--turq: #16c4ce;
	--turq-2: #0fa3b4;
	--bleu: #2e86e0;
	--bleu-2: #1f6ac0;
	--degrade: linear-gradient(105deg, #16c4ce 0%, #2e86e0 100%);

	--or: #ffc02e;
	--or-2: #e8951c;
	--vert: #4cc93f;
	--vert-2: #2e9e23;
	--rouge: #f04438;
	--orange: #ff8a3d;

	--past-menthe: #e4f7ef;
	--past-bleu: #e7f1fe;
	--past-lilas: #f0ebfd;
	--past-creme: #fdf3e2;
	--past-rose: #fdeaee;
	--past-ciel: #e6f4fd;

	--r-s: 10px;
	--r-m: 16px;
	--r-l: 22px;
	--r-xl: 28px;
	--r-pill: 999px;

	--ombre: 0 2px 4px rgba(21, 60, 122, .06), 0 6px 16px rgba(21, 60, 122, .10);
	--ombre-forte: 0 4px 8px rgba(21, 60, 122, .09), 0 12px 28px rgba(21, 60, 122, .16);

	--ease: cubic-bezier(.32, .72, .24, 1);
	--sortie: cubic-bezier(.16, 1, .3, 1);
	--ressort: cubic-bezier(.34, 1.56, .5, 1);

	--gap: clamp(6px, 1.3vmin, 12px);
	--pad: clamp(8px, 1.8vmin, 18px);

	position: fixed;
	inset: 0;
	z-index: 9;
	overflow: hidden;
	overscroll-behavior: none;
	color: var(--encre);
	font-family: ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display",
	             "Trebuchet MS", Verdana, system-ui, sans-serif;
	font-size: clamp(13px, 1.6vmin, 16px);
	line-height: 1.3;
	font-weight: 700;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	background: linear-gradient(180deg,
		var(--ciel-1) 0%, var(--ciel-2) 20%, var(--ciel-3) 46%,
		var(--ciel-4) 72%, var(--sable) 100%);
}

.mq-shell[data-skin="ocean"] {
	--ciel-1:#3fcfe5; --ciel-2:#20a5c8; --ciel-3:#0e769e; --ciel-4:#075a80; --sable:#043d64;
	--turq:#27d9dc; --turq-2:#0daebf; --bleu:#2098e8; --bleu-2:#0f63ad;
	--degrade:linear-gradient(105deg,#27d9dc,#2098e8);
	--encre:#0b376f; --encre-2:#476b91; --encre-3:#86a8c2;
	--mq-ocean-pearl:#fbfeff; --mq-ocean-line:#c8f1f6; --mq-ocean-deep:#033b62;
	background:
		radial-gradient(circle at 50% -12%, rgba(218,255,255,.94) 0%, rgba(92,220,236,.54) 25%, transparent 52%),
		linear-gradient(180deg,#3bcde5 0%,#1b9fc3 24%,#0c779d 52%,#075678 76%,#04395f 100%);
}
.mq-shell[data-skin="ambre"]   { --ciel-1:#ffb457; --ciel-2:#ffd79a; --ciel-3:#fff0d8; --ciel-4:#fff7ea; --sable:#f4dcae; --turq:#ff9d3d; --turq-2:#b6530d; --bleu:#f2711c; --bleu-2:#c9550c; --degrade:linear-gradient(105deg,#ff9d3d,#f2711c); --encre:#4a2b12; --encre-2:#6f4b2f; --encre-3:#9b795a; --past-ciel:#f8e3bf; --past-menthe:#fae8c9; --past-bleu:#f6dfba; --past-lilas:#f2d8bf; --past-creme:#fff3df; --past-rose:#f8d8c5; --ombre:0 2px 4px rgba(96,44,8,.05),0 6px 16px rgba(96,44,8,.11); --ombre-forte:0 4px 8px rgba(96,44,8,.08),0 12px 28px rgba(96,44,8,.17); }
.mq-shell[data-skin="nuit"]    { --ciel-1:#070b14; --ciel-2:#0b1220; --ciel-3:#111b2c; --ciel-4:#172338; --sable:#080d17; --turq:#83dcf6; --turq-2:#5fbdd9; --bleu:#7587ef; --bleu-2:#5262c4; --degrade:linear-gradient(105deg,#83dcf6,#7587ef); --encre:#f4f7fb; --encre-2:#b7c2d5; --encre-3:#8492aa; }

.mq-shell *, .mq-shell *::before, .mq-shell *::after { box-sizing: border-box; }
.mq-shell [hidden] { display: none !important; }
.mq-shell button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; padding: 0; }
.mq-shell :focus-visible { outline: 3px solid var(--turq); outline-offset: 2px; border-radius: 8px; }
.mq-noscript { padding: 2rem; text-align: center; }

.mq-degrade-texte {
	background: linear-gradient(100deg, var(--turq) 0%, var(--bleu) 46%, #1b3a86 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}

/* ---------- Décor ---------- */
.mq-ambiance { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.mq-ambiance i { position: absolute; border-radius: 50%; will-change: transform; }
.mq-ambiance i:nth-child(1) {
	width: 78vmax; height: 42vmax; left: -20vmax; top: -12vmax;
	background: radial-gradient(ellipse, rgba(255, 255, 255, .5) 0%, transparent 64%);
	animation: mq-derive-a 30s var(--ease) infinite alternate;
}
.mq-ambiance i:nth-child(2) {
	width: 56vmax; height: 56vmax; right: -22vmax; top: 26vmax;
	background: radial-gradient(circle, rgba(76, 201, 63, .18) 0%, transparent 62%);
	animation: mq-derive-b 36s var(--ease) infinite alternate;
}
.mq-ambiance i:nth-child(3) {
	width: 60vmax; height: 40vmax; left: -18vmax; bottom: -12vmax;
	background: radial-gradient(ellipse, rgba(22, 196, 206, .18) 0%, transparent 62%);
	animation: mq-derive-c 42s var(--ease) infinite alternate;
}
@keyframes mq-derive-a { to { transform: translate3d(8vmax, 3vmax, 0) scale(1.1); } }
@keyframes mq-derive-b { to { transform: translate3d(-9vmax, -6vmax, 0) scale(1.14); } }
@keyframes mq-derive-c { to { transform: translate3d(7vmax, -5vmax, 0) scale(1.12); } }

/* =========================================================================
   THÈME OCÉAN 6.26.0 — décor autonome, lumineux et strictement arrière-plan
   ========================================================================= */
.mq-ambiance > .mq-ocean-fish,
.mq-ambiance > .mq-ocean-flora { display:none; }

.mq-shell[data-skin="ocean"] .mq-ambiance {
	contain:strict;
	background:
		radial-gradient(ellipse at 50% 0%,rgba(197,255,255,.44) 0%,rgba(66,204,228,.14) 37%,transparent 68%),
		linear-gradient(180deg,rgba(6,85,124,.02),rgba(0,35,73,.14));
}
.mq-shell[data-skin="ocean"] .mq-ambiance::before {
	content:"";position:absolute;inset:-12% -20% 24%;opacity:.40;
	background:
		repeating-radial-gradient(ellipse at 50% -12%,transparent 0 8%,rgba(213,255,255,.17) 9% 10.4%,transparent 11.5% 19%),
		repeating-linear-gradient(106deg,transparent 0 8%,rgba(232,255,255,.12) 9% 10%,transparent 11% 18%);
	background-size:118% 112%,150% 100%;
	mix-blend-mode:screen;filter:blur(1px);
	animation:mq-ocean-caustics 16s ease-in-out infinite alternate;
	will-change:transform,background-position;
}
.mq-shell[data-skin="ocean"] .mq-ambiance::after {
	content:"";position:absolute;inset:auto 0 0;height:27%;opacity:.50;
	background:
		linear-gradient(180deg,transparent 0%,rgba(1,48,78,.05) 38%,rgba(1,34,64,.34) 100%),
		url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20260%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22sand%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%230e7c99%22%20stop-opacity%3D%22.08%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23034870%22%20stop-opacity%3D%22.58%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath%20fill%3D%22url(%23sand)%22%20d%3D%22M0%20260V202c72-24%20148-18%20216%200%2056%2015%20104%2010%20158-11%2057-22%20118-22%20178%200%2053%2019%20103%2015%20159-8%2058-24%20122-25%20189%201%2062%2025%20112%2021%20170-2%2048-19%2092-21%20139-9%2048%2013%2096%2017%20161%209v60H0Z%22/%3E%3C/svg%3E") center bottom / 120% 100% no-repeat;
	filter:saturate(.96);transform:translateZ(0);
}
.mq-shell[data-skin="ocean"] .mq-ambiance i { border-radius:0; }
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(1) {
	width:82%;height:52%;left:9%;top:-4%;
	background:
		linear-gradient(103deg,transparent 0 18%,rgba(217,255,255,.25) 35%,transparent 53%),
		linear-gradient(78deg,transparent 0 32%,rgba(225,255,255,.17) 46%,transparent 61%);
	filter:blur(5px);transform-origin:50% 0;
	animation:mq-ocean-rays 13s ease-in-out infinite alternate;
}
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(2) {
	width:100%;height:100%;inset:0;
	background:
		radial-gradient(circle at 8% 78%,transparent 0 5px,rgba(220,253,255,.38) 6px 7px,transparent 8px),
		radial-gradient(circle at 91% 64%,transparent 0 7px,rgba(220,253,255,.34) 8px 9px,transparent 10px),
		radial-gradient(circle at 74% 35%,transparent 0 3px,rgba(233,255,255,.32) 4px 5px,transparent 6px),
		radial-gradient(circle at 19% 39%,transparent 0 4px,rgba(233,255,255,.28) 5px 6px,transparent 7px),
		radial-gradient(circle at 58% 82%,transparent 0 4px,rgba(233,255,255,.30) 5px 6px,transparent 7px);
	animation:mq-ocean-bubbles 15s linear infinite;
}
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(3) {
	width:90%;height:24%;left:5%;bottom:-7%;
	background:radial-gradient(ellipse,rgba(53,205,221,.25) 0%,rgba(5,80,112,.14) 55%,transparent 73%);
	filter:blur(18px);animation:mq-ocean-tide 10s ease-in-out infinite alternate;
}

/* Poissons vectoriels : décor discret, aucun clic ni image externe. */
.mq-shell[data-skin="ocean"] .mq-ambiance > .mq-ocean-fish,
.mq-shell[data-skin="ocean"] .mq-ambiance > .mq-ocean-flora {
	display:block;position:absolute;pointer-events:none;z-index:1;will-change:transform;
}
.mq-shell[data-skin="ocean"] .mq-ocean-fish-a {
	width:clamp(170px,36vw,390px);aspect-ratio:13/4;left:3%;top:24%;opacity:.22;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20260%2080%22%3E%3Cg%20fill%3D%22%23dffcff%22%3E%3Cpath%20d%3D%22M42%2038c18-16%2045-16%2062%200-17%2016-44%2016-62%200Zm-20%200%2020-13v26Z%22/%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%2234%22%20r%3D%222%22%20fill%3D%22%230b7194%22/%3E%3Cpath%20d%3D%22M126%2052c14-12%2035-12%2049%200-14%2012-35%2012-49%200Zm-16%200%2016-10v20Z%22%20opacity%3D%22.82%22/%3E%3Ccircle%20cx%3D%22162%22%20cy%3D%2249%22%20r%3D%221.7%22%20fill%3D%22%230b7194%22/%3E%3Cpath%20d%3D%22M190%2025c12-10%2030-10%2042%200-12%2010-30%2010-42%200Zm-14%200%2014-9v18Z%22%20opacity%3D%22.68%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
	animation:mq-ocean-fish-a 29s linear infinite;
}
.mq-shell[data-skin="ocean"] .mq-ocean-fish-b {
	width:clamp(145px,29vw,310px);aspect-ratio:13/4;right:2%;top:58%;opacity:.16;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20260%2080%22%3E%3Cg%20fill%3D%22%23065f82%22%3E%3Cpath%20d%3D%22M36%2040c20-17%2049-17%2068%200-19%2017-48%2017-68%200Zm-22%200%2022-14v28Z%22/%3E%3Ccircle%20cx%3D%2288%22%20cy%3D%2236%22%20r%3D%222%22%20fill%3D%22%23c9f9ff%22/%3E%3Cpath%20d%3D%22M130%2024c14-12%2035-12%2049%200-14%2012-35%2012-49%200Zm-16%200%2016-10v20Z%22%20opacity%3D%22.8%22/%3E%3Cpath%20d%3D%22M190%2055c12-10%2030-10%2042%200-12%2010-30%2010-42%200Zm-14%200%2014-9v18Z%22%20opacity%3D%22.64%22/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
	animation:mq-ocean-fish-b 36s linear infinite;
}
.mq-shell[data-skin="ocean"] .mq-ocean-flora {
	inset:auto 0 0;height:24%;opacity:.34;z-index:0;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201200%20300%22%3E%3Cg%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cg%20stroke%3D%22%23075c78%22%20stroke-width%3D%2218%22%20opacity%3D%22.72%22%3E%3Cpath%20d%3D%22M72%20300c0-105%2011-151%2038-211M76%20205l-48-51M104%20164l50-58M116%20231l46-42%22/%3E%3Cpath%20d%3D%22M1114%20300c0-111-9-158-37-222M1111%20203l49-58M1082%20162l-48-55M1075%20234l-49-43%22/%3E%3C/g%3E%3Cg%20stroke%3D%22%230b7890%22%20stroke-width%3D%2212%22%20opacity%3D%22.62%22%3E%3Cpath%20d%3D%22M190%20300c4-82-2-123-23-171M190%20228l38-42M173%20195l-34-36%22/%3E%3Cpath%20d%3D%22M996%20300c-4-85%202-128%2024-178M998%20224l-37-41M1016%20192l35-37%22/%3E%3C/g%3E%3C/g%3E%3Cg%20fill%3D%22%23096c86%22%20opacity%3D%22.5%22%3E%3Ccircle%20cx%3D%22230%22%20cy%3D%22270%22%20r%3D%2227%22/%3E%3Ccircle%20cx%3D%22940%22%20cy%3D%22272%22%20r%3D%2231%22/%3E%3Cpath%20d%3D%22M0%20300h1200v-34c-73-12-139-9-202%208-69%2018-132%2016-198-3-67-19-135-20-204%200-64%2018-127%2018-190%200-70-20-139-22-207-2-59%2017-126%2020-199%207V300Z%22/%3E%3C/g%3E%3C/svg%3E") center bottom/100% 100% no-repeat;
}

@keyframes mq-ocean-caustics {
	0% { transform:translate3d(-2%,0,0) scale(1.02);background-position:0 0,0 0; }
	100% { transform:translate3d(2%,-1.5%,0) scale(1.07);background-position:8% 5%,-9% 3%; }
}
@keyframes mq-ocean-rays { from { transform:skewX(-3deg) scaleX(.96);opacity:.68; } to { transform:skewX(4deg) scaleX(1.08);opacity:.95; } }
@keyframes mq-ocean-bubbles { from { transform:translate3d(0,7%,0); } to { transform:translate3d(0,-8%,0); } }
@keyframes mq-ocean-tide { to { transform:translate3d(0,-2vmax,0) scale(1.07);opacity:.76; } }
@keyframes mq-ocean-fish-a { from { transform:translate3d(-8%,0,0); } to { transform:translate3d(34%,-10%,0); } }
@keyframes mq-ocean-fish-b { from { transform:translate3d(10%,0,0) scaleX(-1); } to { transform:translate3d(-32%,8%,0) scaleX(-1); } }

/* ---------- Démarrage ---------- */
.mq-boot { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; z-index: 2; }
.mq-boot strong { font-size: 1.5rem; font-weight: 900; letter-spacing: -.03em; }
.mq-boot small { color: var(--encre-2); }
.mq-boot-mark { width: 58px; height: 58px; border-radius: 19px; background: var(--degrade); box-shadow: var(--ombre-forte); animation: mq-battement 1.5s var(--ease) infinite; }
@keyframes mq-battement { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(.84) rotate(-9deg); } }

/* =========================================================================
   STRUCTURE — colonnes flexibles, jamais de débordement
   ========================================================================= */
.mq-app {
	position: absolute; inset: 0; z-index: 1;
	display: flex; flex-direction: column; gap: var(--gap);
	padding: max(var(--pad), env(safe-area-inset-top)) var(--pad) max(var(--pad), env(safe-area-inset-bottom));
	overflow: hidden;
}
.mq-app > .mq-top,
.mq-app > .mq-nav { flex: 0 0 auto; }
.mq-stage { position: relative; flex: 1 1 auto; min-height: 0; }

.mq-view {
	position: absolute; inset: 0;
	display: flex; flex-direction: column; gap: var(--gap);
	overflow: hidden;
	opacity: 0; visibility: hidden; transform: translateY(14px) scale(.98);
	transition: opacity .24s var(--sortie), transform .36s var(--sortie), visibility .36s;
}
.mq-view.is-active { opacity: 1; visibility: visible; transform: none; }
/* Le premier et le dernier bloc gardent leur taille, celui du milieu absorbe. */
.mq-view > *:nth-child(1),
.mq-view > *:nth-child(3) { flex: 0 1 auto; min-height: 0; }
.mq-view > *:nth-child(2) { flex: 1 1 auto; min-height: 0; }
.mq-view > .mq-choix { display: grid; }

/* =========================================================================
   BANDEAU JOUEUR — une seule rangée, jamais de retour à la ligne
   ========================================================================= */
.mq-top {
	display: flex; align-items: center; gap: 8px; flex-wrap: nowrap;
	padding: 6px 8px; border-radius: var(--r-l);
	background: var(--blanc); box-shadow: var(--ombre);
	min-height: 54px;
}
.mq-avatar {
	position: relative; width: 40px; height: 40px; border-radius: 50%; flex: 0 0 auto;
	background: var(--degrade); color: #fff; font-weight: 900; font-size: 1rem;
	display: flex; align-items: center; justify-content: center;
	border: 2px solid #fff; box-shadow: 0 0 0 2px rgba(22, 196, 206, .28);
}
.mq-avatar > img { width:100%; height:100%; display:block; border-radius:50%; object-fit:cover; }
.mq-avatar b {
	position: absolute; right: -5px; bottom: -5px;
	min-width: 20px; height: 20px; padding: 0 4px; border-radius: 99px;
	display: flex; align-items: center; justify-content: center;
	background: var(--turq); color: #fff; font-size: .64rem; font-weight: 900;
	border: 2px solid #fff;
}
.mq-profil-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mq-profil-info strong { font-size: .88rem; font-weight: 900; color: var(--encre); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-xp { height: 7px; border-radius: 99px; background: #e4ecf5; overflow: hidden; }
.mq-xp i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--turq), #3ad8ac); transition: width .5s var(--sortie); }

.mq-chip {
	display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto;
	padding: 4px 5px 4px 4px; border-radius: var(--r-pill);
	background: #f4f8fc; font-weight: 900; font-size: .88rem;
	font-variant-numeric: tabular-nums; color: var(--encre);
	transition: transform .18s var(--ressort);
}
.mq-chip .mq-coin {
	width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%;
	background: radial-gradient(circle at 34% 28%, #ffe08a, var(--or) 52%, var(--or-2));
	box-shadow: inset 0 -2px 3px rgba(140, 80, 0, .3); color: #7a4a00;
}
.mq-chip .mq-coin svg { width: 14px; height: 14px; stroke-width: 3; }
.mq-chip b { padding: 0 2px; }
.mq-chip .mq-plus {
	width: 21px; height: 21px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--turq); color: #fff; font-weight: 900; font-size: .9rem; line-height: 1;
}
.mq-chip:active { transform: scale(.94); }
.mq-chip.is-pinged { animation: mq-bourse .7s var(--ressort); }
@keyframes mq-bourse { 28% { transform: scale(1.14) rotate(-3deg); } 58% { transform: scale(.97); } }

.mq-icon-btn {
	width: 38px; height: 38px; border-radius: 50%; flex: 0 0 auto; position: relative;
	display: flex; align-items: center; justify-content: center;
	color: var(--bleu); background: #f4f8fc;
	transition: transform .16s var(--ressort), background .2s;
}
.mq-icon-btn svg { width: 19px; height: 19px; stroke-width: 2.6; }
.mq-icon-btn:active { transform: scale(.9); }
.mq-coffre { color: var(--or-2); }
.mq-coffre.is-pret::after {
	content: ""; position: absolute; top: 0; right: 0; width: 11px; height: 11px; border-radius: 50%;
	background: var(--rouge); border: 2px solid #fff;
	animation: mq-badge 1.6s var(--ease) infinite;
}
@keyframes mq-badge { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.25); } }

/* ---------- Titres ---------- */
.mq-eyebrow { font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--turq-2); margin: 0; }
.mq-title { font-size: clamp(1.15rem, 3.4vmin, 1.9rem); font-weight: 900; letter-spacing: -.035em; margin: 2px 0 0; }
.mq-lede { color: var(--encre-2); margin: 3px 0 0; font-size: .84rem; font-weight: 700; }

/* =========================================================================
   BOUTONS
   ========================================================================= */
.mq-btn {
	position: relative; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 12px 20px; border-radius: var(--r-pill);
	font-weight: 900; letter-spacing: -.01em; min-height: 46px;
	color: var(--encre); background: var(--blanc); box-shadow: var(--ombre);
	transition: transform .14s var(--ease), box-shadow .2s var(--ease);
}
.mq-btn svg { width: 19px; height: 19px; stroke-width: 2.6; flex: 0 0 auto; }
.mq-btn:active { transform: translateY(2px) scale(.98); }
.mq-btn[disabled] { opacity: .45; pointer-events: none; }
.mq-shell .mq-btn-primary {
	color: #fff;
	background-color: #2287dd;
	background-image: linear-gradient(105deg, #16c4ce 0%, #2e86e0 100%);
	box-shadow: 0 4px 0 #1f6ac0, 0 8px 18px rgba(31, 106, 192, .3);
	text-shadow: 0 1px 2px rgba(0, 0, 0, .16);
}
.mq-shell[data-skin="ambre"] .mq-btn-primary { background-color:#f2711c; background-image:linear-gradient(105deg,#ff9d3d,#f2711c); box-shadow:0 4px 0 #c9550c, 0 8px 18px rgba(201,85,12,.3); }
.mq-shell[data-skin="nuit"] .mq-btn-primary { background-color:#3d4aa8; background-image:linear-gradient(105deg,#6d7fd6,#3d4aa8); box-shadow:0 4px 0 #2a3480, 0 8px 18px rgba(42,52,128,.3); }
.mq-shell .mq-btn-primary::after {
	content: ""; position: absolute; left: 3px; right: 3px; top: 3px; height: 40%;
	border-radius: var(--r-pill);
	background: linear-gradient(180deg, rgba(255, 255, 255, .34), transparent);
	pointer-events: none;
}
.mq-shell .mq-btn-primary:active { transform: translateY(3px); box-shadow: 0 1px 0 #1f6ac0; }
.mq-btn-vert { color: #fff; background: linear-gradient(105deg, #5fd94f, var(--vert-2)); box-shadow: 0 4px 0 #237a1a, 0 8px 18px rgba(46, 158, 35, .3); }
.mq-btn-vert:active { transform: translateY(3px); box-shadow: 0 1px 0 #237a1a; }
.mq-btn-ghost { background: rgba(255, 255, 255, .8); color: var(--encre-2); box-shadow: none; }

.mq-play {
	width: min(78%, 560px); min-height: clamp(58px, 8.8vmin, 82px); margin-inline: auto;
	font-size: clamp(1.25rem, 4.5vmin, 2rem); letter-spacing: .045em; gap: 14px;
	flex: 0 0 auto;
}
.mq-play svg { width: 1.05em; height: 1.05em; fill: currentColor; stroke: none; }
.mq-play span { position: relative; z-index: 1; }

/* =========================================================================
   PLAQUES ET TUILES
   ========================================================================= */
.mq-pick {
	display: flex; align-items: center; gap: 12px; text-align: left;
	padding: 11px 13px; border-radius: var(--r-l);
	background: var(--blanc); box-shadow: var(--ombre);
	transition: transform .18s var(--ressort), box-shadow .22s;
}
.mq-pick:active { transform: scale(.98); }
.mq-pick-icon { width: 42px; height: 42px; border-radius: 14px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; background: var(--past-ciel); color: var(--bleu); }
.mq-pick-icon svg { width: 22px; height: 22px; stroke-width: 2.4; }
.mq-pick > span:nth-child(2) { flex: 1 1 auto; min-width: 0; }
.mq-pick strong { display: block; font-weight: 900; color: var(--encre); }
.mq-pick small { display: block; color: var(--encre-2); font-size: .78rem; font-weight: 700; }
.mq-pick > svg:last-child { width: 17px; height: 17px; flex: 0 0 auto; color: var(--encre-3); stroke-width: 3; }

@keyframes mq-tuile-entree { to { transform: none; opacity: 1; } }

 
 
 
 
 
 

/* Rail de catégories */
.mq-panneau {
	padding: 8px; border-radius: var(--r-xl);
	background: rgba(255, 255, 255, .74); box-shadow: var(--ombre);
	min-height: 0; overflow: hidden;
}
.mq-rail { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; min-height: 0; }
.mq-rail::-webkit-scrollbar { display: none; }
.mq-vignette {
	flex: 0 0 auto; width: clamp(62px, 13vmin, 92px);
	display: flex; flex-direction: column; gap: 4px; min-height: 0;
	transition: transform .18s var(--ressort);
}
.mq-vignette:active { transform: scale(.95); }
.mq-vignette figure {
	margin: 0; flex: 0 0 auto; height: clamp(54px, 11vmin, 84px);
	border-radius: var(--r-m); overflow: hidden; padding: 6px;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(165deg, #f2fbff, #dff0fa);
	border: 2px solid #fff; box-shadow: var(--ombre);
}
.mq-vignette figure img { width: 100%; height: 100%; object-fit: contain; }
.mq-vignette strong {
	flex: 0 0 auto; text-align: center; font-size: .7rem; font-weight: 900; color: var(--encre);
	background: #fff; border-radius: var(--r-s); padding: 4px 3px; box-shadow: var(--ombre);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* =========================================================================
   PARCOURS RAPIDE 6.3.1 — reproduction fidèle des maquettes validées
   ========================================================================= */
.mq-view[data-view="miseEnPlace"] {
	gap: clamp(8px, 1.15vh, 12px);
	overflow: hidden;
	isolation: isolate;
}
.mq-view[data-view="miseEnPlace"]::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(circle at 88% 20%, rgba(255,255,255,.32), transparent 24%),
		linear-gradient(155deg, transparent 0 32%, rgba(255,255,255,.13) 32.5% 33%, transparent 33.5% 100%);
}
.mq-setup-head {
	position: relative;
	display: grid;
	grid-template-columns: clamp(48px, 12.5vw, 58px) minmax(0,1fr);
	grid-template-areas: "back copy" "steps steps";
	align-items: end;
	column-gap: clamp(9px, 2.8vw, 15px);
	row-gap: clamp(8px, 1.25vh, 13px);
	padding: clamp(5px, .9vh, 9px) clamp(4px, 1vw, 8px) 0;
	flex: 0 0 clamp(126px, 17.2vh, 158px);
	min-height: 0;
}
.mq-setup-back {
	grid-area: back;
	align-self: start;
	width: clamp(45px, 12vw, 57px);
	height: clamp(45px, 12vw, 57px);
	border-radius: clamp(14px, 4vw, 19px);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #153c7a;
	background: rgba(255,255,255,.90);
	border: 1px solid rgba(255,255,255,.95);
	box-shadow: inset 0 2px 2px rgba(255,255,255,.9), 0 8px 20px rgba(21,60,122,.14);
	transition: transform .17s var(--ressort), box-shadow .2s var(--ease);
}
.mq-setup-back:active { transform: scale(.92); box-shadow: 0 3px 9px rgba(21,60,122,.12); }
.mq-setup-back svg { width: 52%; height: 52%; stroke-width: 2.9; }
.mq-setup-copy { grid-area: copy; min-width: 0; align-self: end; padding-bottom: 1px; }
.mq-setup-copy .mq-eyebrow {
	margin: 0 0 clamp(5px,.7vh,8px);
	font-size: clamp(.78rem, 3.2vw, .98rem);
	font-weight: 950;
	letter-spacing: .16em;
	line-height: 1;
	color: #0fa3b4;
}
.mq-setup-copy .mq-title {
	margin: 0;
	font-size: clamp(1.75rem, 7.3vw, 2.35rem);
	line-height: .98;
	font-weight: 950;
	letter-spacing: -.055em;
	color: #153c7a;
	text-wrap: balance;
}
.mq-setup-steps {
	grid-area: steps;
	display: flex;
	align-items: center;
	gap: clamp(8px, 2.3vw, 14px);
	padding-left: clamp(4px, 1vw, 8px);
}
.mq-setup-steps i {
	width: clamp(36px, 11vw, 58px);
	height: clamp(5px, .72vh, 7px);
	border-radius: 999px;
	background: rgba(46,134,224,.18);
	box-shadow: inset 0 1px 2px rgba(21,60,122,.08);
	transition: background .25s var(--ease), transform .25s var(--ressort);
}
.mq-setup-steps i.is-on {
	background: linear-gradient(100deg,#16c4ce,#2e86e0);
	box-shadow: 0 2px 8px rgba(22,196,206,.28);
}
.mq-setup-grid {
	display: grid;
	min-height: 0;
	overflow: hidden;
	gap: clamp(9px, 1.35vh, 13px);
	align-content: center;
}
.mq-carreau {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: clamp(23px, 6.8vw, 31px);
	background: linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,252,255,.88));
	border: 2px solid rgba(255,255,255,.98);
	box-shadow: inset 0 2px 2px rgba(255,255,255,.95), 0 9px 22px rgba(21,60,122,.13), 0 2px 4px rgba(21,60,122,.05);
	transition: transform .18s var(--ressort), box-shadow .24s var(--ease), border-color .2s var(--ease);
}
.mq-carreau::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 16% 2%,rgba(255,255,255,.98),transparent 45%);
	opacity: .75;
}
.mq-carreau:active { transform: scale(.982); }
.mq-carreau[aria-checked="true"] {
	border-color: #16c4ce;
	box-shadow: inset 0 2px 2px #fff, 0 0 0 2px rgba(22,196,206,.23), 0 12px 27px rgba(15,163,180,.22);
}
.mq-carreau[aria-checked="true"]::after {
	content: "";
	position: absolute;
	top: clamp(8px,1.3vh,12px);
	right: clamp(8px,2.2vw,12px);
	width: clamp(38px,10.8vw,52px);
	aspect-ratio: 1;
	border-radius: 50%;
	z-index: 8;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
		radial-gradient(circle at 34% 24%,#66eadc 0%,#16c4ce 48%,#0b9caf 100%);
	background-size: 56% 56%,100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	border: 3px solid #fff;
	box-shadow: 0 7px 15px rgba(15,163,180,.36),0 0 0 3px rgba(22,196,206,.16);
	animation: mq-tampon .34s var(--ressort);
}
@keyframes mq-tampon { from { transform: scale(0) rotate(-28deg); } }
.mq-carreau strong { color:#153c7a; font-weight:950; line-height:1.04; }
.mq-carreau small { color:#55719c; font-weight:850; line-height:1.08; }
.mq-carreau .mq-price { display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#d99424;font-weight:950; }
.mq-carreau .mq-price svg { width:14px;height:14px;stroke-width:2.4; }

/* Étape 1 — proportions identiques à la maquette Comment jouer. */
.mq-setup-grid.is-experience {
	grid-template-columns: 1fr;
	grid-template-rows: repeat(3,clamp(104px,14.5vh,132px));
	align-content: center;
}

.mq-carreau-ico { width:clamp(58px,15vw,78px);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2e86e0;background:linear-gradient(145deg,#fff,#e5f3ff);box-shadow:inset 0 2px 2px #fff,0 7px 16px rgba(21,60,122,.13); }
.mq-carreau-ico svg { width:52%;height:52%;stroke-width:2.35; }

/* Étape 3 — dix formats. */
.mq-setup-grid.is-format { grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));align-content:stretch; }
.mq-format-card { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(4px,.6vh,7px);padding:clamp(6px,.9vh,10px) 4px; }
.mq-format-card strong { font-size:clamp(.92rem,3.85vw,1.24rem); }
.mq-format-card small { font-size:clamp(.66rem,2.65vw,.86rem);white-space:nowrap; }
.mq-mini-grille { display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(3px,.75vw,4px);padding:clamp(8px,2.4vw,11px);border-radius:clamp(13px,4vw,17px);background:linear-gradient(145deg,rgba(255,255,255,.99),#e7f5fd);box-shadow:inset 0 2px 2px #fff,0 5px 12px rgba(21,60,122,.10); }
.mq-mini-grille i { width:clamp(7px,2.2vw,10px);aspect-ratio:1;border-radius:3px;background:linear-gradient(145deg,#35d8d3,#159ebd);box-shadow:inset 0 1px 0 rgba(255,255,255,.5); }

.mq-setup-foot { padding:0 3px 4px;flex:0 0 auto; }
.mq-setup-foot .mq-btn { width:100%;min-height:clamp(57px,7.6vh,68px);font-size:clamp(1.12rem,4.5vw,1.45rem);box-shadow:0 5px 0 #1f6ac0,0 12px 25px rgba(31,106,192,.31),inset 0 2px 0 rgba(255,255,255,.48); }
.mq-setup-foot .mq-btn::before { content:"";position:absolute;left:4%;right:48%;top:5%;height:44%;border-radius:99px;background:radial-gradient(ellipse at top,rgba(255,255,255,.38),transparent 70%);pointer-events:none; }
.mq-setup-foot .mq-btn svg { width:24px;height:24px;stroke-width:3.1; }

@media (max-width:480px), (max-height:700px) {
	.mq-setup-head { flex-basis:112px;row-gap:5px;padding-top:1px; }
	.mq-setup-copy .mq-eyebrow { margin-bottom:3px;font-size:.7rem; }
	.mq-setup-copy .mq-title { font-size:1.55rem; }
	.mq-setup-grid { gap:7px; }
	.mq-setup-grid.is-experience { grid-template-rows:repeat(3,minmax(86px,1fr)); }
	
	
	
	
	
	
	
	
	.mq-format-card { gap:1px;padding:3px; }
	.mq-mini-grille { padding:5px;gap:2px; }
	
	.mq-setup-foot .mq-btn { min-height:48px;font-size:1rem; }
}
@media (max-width:350px) {
	.mq-setup-head { grid-template-columns:42px minmax(0,1fr);column-gap:8px; }
	.mq-setup-copy .mq-title { font-size:1.6rem; }
	
	
	
	
}

/* Aperçu d'habillage dans la boutique */
.mq-skin-apercu {
	position: relative; overflow: hidden; flex: 0 0 auto;
	width: 40px; height: 52px; border-radius: 11px; border: 3px solid #fff;
	background: linear-gradient(168deg, var(--a, #62e0da), var(--b, #2e86e0));
	box-shadow: var(--ombre);
}
.mq-skin-apercu::before {
	content: ""; position: absolute; inset: 0;
	background: no-repeat center / 48% auto
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2.4c.4 0 .8.25 1 .63l2.5 5.06 5.6.82c.9.13 1.26 1.24.6 1.87l-4.05 3.94.96 5.57c.15.9-.8 1.58-1.6 1.15L12 18.82l-5 2.63c-.8.43-1.75-.25-1.6-1.15l.96-5.57-4.05-3.94c-.66-.63-.3-1.74.6-1.87l5.6-.82L11 3.03c.2-.38.6-.63 1-.63Z'/%3E%3C/svg%3E");
}

/* ---------- Options ---------- */
.mq-options { display: grid; gap: 9px; align-content: start; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); padding: 2px 2px 6px; }
.mq-options.is-wide { grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.mq-options.is-tight { grid-template-columns: repeat(auto-fill, minmax(94px, 1fr)); }

.mq-opt {
	position: relative;
	display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center;
	padding: 10px 8px; border-radius: var(--r-l);
	background: var(--blanc); box-shadow: var(--ombre); border: 2px solid transparent;
	transition: transform .18s var(--ressort), box-shadow .22s, border-color .2s;
}
.mq-opt:active { transform: scale(.97); }
.mq-opt strong { font-weight: 900; font-size: .88rem; color: var(--encre); }
.mq-opt small { color: var(--encre-2); font-size: .74rem; font-weight: 700; }
.mq-opt figure {
	margin: 0; width: 100%; height: clamp(58px, 12vmin, 92px);
	border-radius: var(--r-m); padding: 6px; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(165deg, #f2fbff, #ddeffa);
}
.mq-opt figure img { width: 100%; height: 100%; object-fit: contain; }
.mq-opt[aria-checked="true"], .mq-opt.is-on { border-color: var(--turq); box-shadow: 0 0 0 3px rgba(22, 196, 206, .16), var(--ombre-forte); }
.mq-opt[aria-checked="true"]::after, .mq-opt.is-on::after {
	content: ""; position: absolute; top: -8px; right: -8px; width: 25px; height: 25px; border-radius: 50%;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
		linear-gradient(150deg, #35d9c4, var(--turq-2));
	background-size: 62% 62%, 100% 100%; background-position: center; background-repeat: no-repeat;
	border: 2px solid #fff; box-shadow: 0 2px 6px rgba(15, 163, 180, .4);
	animation: mq-tampon .3s var(--ressort);
}
@keyframes mq-tampon { from { transform: scale(0) rotate(-45deg); } }
.mq-opt.is-locked { filter: saturate(.55); }
.mq-opt .mq-price { display: inline-flex; align-items: center; gap: 4px; color: var(--or-2); font-weight: 900; font-size: .78rem; font-variant-numeric: tabular-nums; }
.mq-opt .mq-price svg { width: 13px; height: 13px; }
.mq-opt .mq-ready { color: var(--turq-2); font-weight: 900; font-size: .76rem; }
.mq-opt .mq-ready svg { width: 12px; height: 12px; vertical-align: -2px; }

.mq-scroll { overflow-y: auto; min-height: 0; overscroll-behavior: contain; scrollbar-width: thin; }
.mq-scroll::-webkit-scrollbar { width: 5px; }
.mq-scroll::-webkit-scrollbar-thumb { background: rgba(21, 60, 122, .18); border-radius: 99px; }

.mq-foot { display: flex; align-items: center; gap: 9px; }
.mq-foot .mq-btn { flex: 1 1 auto; }

/* =========================================================================
   ACCUEIL
   ========================================================================= */
.mq-view[data-view="accueil"] { gap: clamp(8px, 1.5vmin, 15px); }
.mq-logo { display: flex; flex-direction: column; align-items: center; gap: 2px; min-height: 0; overflow: visible; }
.mq-demo {
	position: relative; flex: 0 1 auto; height: clamp(82px, 16.5vmin, 154px); min-height: 0;
	display: flex; align-items: center; justify-content: center;
	filter: drop-shadow(0 12px 18px rgba(21,60,122,.22));
}
.mq-demo::before, .mq-demo::after {
	content: "✦"; position: absolute; color: rgba(255,255,255,.9); font-size: clamp(12px,2.1vmin,20px);
	animation: mq-etincelle 2.8s var(--ease) infinite;
}
.mq-demo::before { left: -24%; top: 26%; }
.mq-demo::after { right: -25%; bottom: 24%; animation-delay: 1.2s; }
@keyframes mq-etincelle { 0%,100% { opacity:.2; transform:scale(.65) rotate(0); } 50% { opacity:1; transform:scale(1.18) rotate(35deg); } }
.mq-demo-card {
	height: 100%; aspect-ratio: 3 / 4; border-radius: clamp(16px, 2.8vmin, 24px); position: relative;
	transform-origin: 50% 86%; will-change: transform;
}
.mq-demo-card.is-left { transform: rotate(-10deg) translateX(14%); animation: mq-flotte-a 3.2s var(--ease) infinite alternate; }
.mq-demo-card.is-right { transform: rotate(9deg) translateX(-14%); animation: mq-flotte-b 3.55s var(--ease) infinite alternate; z-index: 2; }
@keyframes mq-flotte-a { to { transform: rotate(-12deg) translate(14%, -6%) scale(1.015); } }
@keyframes mq-flotte-b { to { transform: rotate(11deg) translate(-14%, -5%) scale(1.02); } }
.mq-demo-face {
	position: absolute; inset: 0; border-radius: inherit; display: flex; align-items: center; justify-content: center; overflow: hidden;
	border: clamp(3px,.55vmin,5px) solid #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.65), inset 0 -12px 18px rgba(21,60,122,.12);
}
.mq-demo-face::after { content:""; position:absolute; inset:-35% 42% -35% -20%; transform:rotate(18deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent); animation:mq-demo-brille 3.8s var(--ease) infinite; }
@keyframes mq-demo-brille { 0%,28% { transform:translateX(-170%) rotate(18deg); } 62%,100% { transform:translateX(250%) rotate(18deg); } }
.mq-demo-face.is-a { background: linear-gradient(165deg, #42ddd6, #12a9b8); }
.mq-demo-face.is-b { background: linear-gradient(165deg, #ff7c6c, #ef4f3f); }
.mq-demo-face svg { width: 46%; height: 46%; fill: #fff; stroke: none; filter:drop-shadow(0 3px 3px rgba(21,60,122,.18)); }
.mq-demo-seal {
	position: absolute; left: 50%; top: 58%; width: clamp(38px, 6.2vmin, 58px); aspect-ratio: 1;
	transform: translate(-50%, -50%); border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: radial-gradient(circle at 36% 28%, #a8ff83, #58d845 48%, #2e9e23); color: #0a5422; opacity: 0; z-index: 3;
	box-shadow: 0 0 0 5px rgba(76,201,63,.18), 0 9px 16px rgba(21,60,122,.25), inset 0 2px 1px rgba(255,255,255,.5);
	animation: mq-seal 4.4s var(--ease) infinite;
}
.mq-demo-seal svg { width: 54%; height: 54%; stroke-width: 3.4; }
@keyframes mq-seal {
	0%, 48% { opacity: 0; transform: translate(-50%, -50%) scale(1.8) rotate(-12deg); }
	58% { opacity: 1; transform: translate(-50%, -50%) scale(.82) rotate(5deg); }
	66%, 83% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0); }
	94%, 100% { opacity: 0; transform: translate(-50%, -58%) scale(.9); }
}
.mq-wordmark { font-size: clamp(2.15rem, 8.8vmin, 4rem); font-weight: 900; letter-spacing: -.055em; line-height: 1; margin: 3px 0 0; white-space: nowrap; }
.mq-wordmark span { color: var(--turq); }
.mq-wordmark b { color: #153c7a; }

/* =========================================================================
   ENTRÉE PREMIUM V2 — composition dynamique, stable et partagée
   ========================================================================= */
.mq-shell.is-app-intro-active .mq-app { opacity:0;visibility:hidden; }
.mq-shell:not(.is-app-intro-active) .mq-app { opacity:1;visibility:visible;transition:opacity .34s ease; }

.mq-app-intro,
.mq-entry-intro {
	--cinematic-charge:0;
	--cinematic-card-w:clamp(112px,34vw,178px);
	--cinematic-card-half:calc(var(--cinematic-card-w) / 2);
	--cinematic-gap:clamp(6px,1.8vw,12px);
	--intro-background:
		radial-gradient(circle at 50% 18%,rgba(255,255,255,.82) 0%,rgba(91,211,236,.36) 28%,transparent 54%),
		linear-gradient(180deg,#55c6ec 0%,#8cddf5 29%,#dff4f6 61%,#f5e4c5 100%);
	--intro-particles:
		radial-gradient(circle at 15% 17%,rgba(255,255,255,.78) 0 1px,transparent 1.8px),
		radial-gradient(circle at 82% 13%,rgba(25,143,190,.42) 0 1.2px,transparent 2px),
		radial-gradient(circle at 73% 64%,rgba(255,255,255,.44) 0 1px,transparent 1.8px),
		radial-gradient(circle at 23% 72%,rgba(19,158,184,.30) 0 1px,transparent 1.9px),
		radial-gradient(circle at 51% 81%,rgba(255,255,255,.34) 0 1px,transparent 1.8px);
	--intro-halo:radial-gradient(circle,rgba(255,255,255,.62) 0%,rgba(31,190,209,.21) 34%,transparent 68%);
	--intro-text:#123f69;
	--intro-loading-text:#123f69;
	--intro-muted:#315f80;
	--intro-logo-memo:#08aebd;
	--intro-logo-quest:#143f75;
	--intro-accent:#13bfca;
	--intro-accent-soft:rgba(19,191,202,.22);
	--intro-accent-faint:rgba(46,134,224,.12);
	--intro-accent-2:#2e86e0;
	--intro-line:#20becb;
	--intro-border:#ffffff;
	--intro-card-back:linear-gradient(145deg,#19c4ce 0%,#2f8de4 100%);
	--intro-card-front:#10385d;
	--intro-label-bg:rgba(4,27,48,.72);
	--intro-label-text:#ffffff;
	--intro-universe-bg:#eaf8fb;
	--intro-universe-border:rgba(19,109,150,.24);
	--intro-universe-opacity:.26;
	--intro-universe-active-opacity:.46;
	--intro-universe-filter:saturate(.86) brightness(.94);
	--intro-universe-active-filter:saturate(1) brightness(1);
	--intro-universe-overlay:linear-gradient(180deg,rgba(255,255,255,.04),rgba(5,42,65,.58));
	--intro-universe-caption:rgba(248,253,255,.94);
	--intro-track-bg:rgba(255,255,255,.58);
	--intro-track-border:rgba(15,166,190,.82);
	--intro-progress:linear-gradient(90deg,#0fb8c5 0%,#31d7df 48%,#2f8ee1 100%);
	--intro-progress-glow:rgba(26,184,209,.44);
	--intro-version:#315f80;
	--intro-version-strong:#087fa2;
	--intro-shadow:rgba(4,44,73,.26);
	--intro-logo-font:ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Trebuchet MS",system-ui,sans-serif;
	--intro-copy-font:ui-rounded,"SF Pro Rounded","Segoe UI Variable Text",system-ui,sans-serif;
	--intro-logo-weight:950;
	--intro-logo-spacing:-.045em;
	--intro-copy-weight:760;
	position:absolute;inset:0;z-index:1000;overflow:hidden;isolation:isolate;
	display:block;pointer-events:auto;opacity:0;color:var(--intro-text);
	font-family:var(--intro-copy-font);
	background:var(--intro-background);
	transition:opacity .34s ease;contain:layout style;
}
.mq-entry-intro { z-index:900; }

/* Habillages de l'entrée : un seul moteur de mouvement, six directions artistiques isolées. */
.mq-shell[data-skin="jade"] .mq-app-intro,
.mq-shell[data-skin="jade"] .mq-entry-intro {
	color-scheme:light;
}
.mq-shell[data-skin="ocean"] .mq-app-intro,
.mq-shell[data-skin="ocean"] .mq-entry-intro {
	--intro-background:
		radial-gradient(circle at 50% -5%,rgba(216,255,255,.74) 0%,rgba(58,206,225,.28) 24%,transparent 48%),
		linear-gradient(180deg,#1fb8d1 0%,#087b9f 34%,#075273 67%,#032f4c 100%);
	--intro-particles:
		radial-gradient(circle at 17% 18%,rgba(224,255,255,.74) 0 1px,transparent 2px),
		radial-gradient(circle at 79% 12%,rgba(206,252,255,.64) 0 1.4px,transparent 2.2px),
		radial-gradient(circle at 70% 58%,rgba(89,231,235,.42) 0 1px,transparent 2px),
		radial-gradient(circle at 25% 72%,rgba(206,252,255,.34) 0 1.2px,transparent 2px);
	--intro-halo:radial-gradient(circle,rgba(230,255,255,.48) 0%,rgba(44,224,225,.20) 31%,rgba(21,111,171,.10) 52%,transparent 70%);
	--intro-text:#f5fdff;--intro-loading-text:#f5fdff;--intro-muted:#c4edf3;--intro-logo-memo:#66f2f0;--intro-logo-quest:#ffffff;
	--intro-accent:#52e9e6;--intro-accent-soft:rgba(82,233,230,.22);--intro-accent-faint:rgba(79,169,243,.12);--intro-accent-2:#4fa9f3;--intro-line:#70f2ef;--intro-border:#eaffff;
	--intro-card-back:linear-gradient(145deg,#22d7d7 0%,#1477be 100%);--intro-card-front:#063653;
	--intro-label-bg:rgba(1,26,42,.76);--intro-universe-bg:#063c5b;--intro-universe-border:rgba(153,248,250,.22);
	--intro-universe-opacity:.19;--intro-universe-active-opacity:.34;--intro-universe-filter:saturate(.8) brightness(.74);
	--intro-universe-active-filter:saturate(1) brightness(.9);--intro-universe-overlay:linear-gradient(180deg,rgba(0,23,40,.04),rgba(0,24,42,.76));
	--intro-universe-caption:rgba(225,251,255,.88);--intro-track-bg:rgba(1,28,48,.66);--intro-track-border:rgba(112,242,239,.78);
	--intro-progress:linear-gradient(90deg,#17a8d1 0%,#42e4e1 52%,#bafcff 100%);--intro-progress-glow:rgba(62,228,226,.52);
	--intro-version:#c4edf3;--intro-version-strong:#69f2ef;--intro-shadow:rgba(0,22,41,.44);
	--intro-logo-font:"Avenir Next","Segoe UI Variable Display","Helvetica Neue",system-ui,sans-serif;
}
.mq-shell[data-skin="grenat"] .mq-app-intro,
.mq-shell[data-skin="grenat"] .mq-entry-intro {
	--intro-background:
		radial-gradient(circle at 50% 19%,rgba(255,237,216,.22) 0%,rgba(178,67,91,.18) 29%,transparent 56%),
		linear-gradient(180deg,#3a0c18 0%,#66182d 34%,#3d0d1c 69%,#1c0810 100%);
	--intro-particles:
		radial-gradient(circle at 16% 15%,rgba(255,226,194,.70) 0 1px,transparent 2px),
		radial-gradient(circle at 82% 17%,rgba(244,189,166,.52) 0 1.2px,transparent 2px),
		radial-gradient(circle at 72% 66%,rgba(255,238,218,.26) 0 1px,transparent 1.8px),
		radial-gradient(circle at 22% 74%,rgba(206,101,119,.34) 0 1px,transparent 2px);
	--intro-halo:radial-gradient(circle,rgba(255,242,219,.30) 0%,rgba(202,81,105,.18) 30%,rgba(96,19,40,.10) 52%,transparent 70%);
	--intro-text:#fff5e9;--intro-loading-text:#fff5e9;--intro-muted:#e8c7bb;--intro-logo-memo:#d39b72;--intro-logo-quest:#fff7ec;
	--intro-accent:#c34f69;--intro-accent-soft:rgba(195,79,105,.22);--intro-accent-faint:rgba(141,38,63,.12);--intro-accent-2:#8d263f;--intro-line:#e0aa82;--intro-border:#fff1df;
	--intro-card-back:linear-gradient(145deg,#b84460 0%,#68172e 100%);--intro-card-front:#35101c;
	--intro-label-bg:rgba(35,5,14,.78);--intro-universe-bg:#35101c;--intro-universe-border:rgba(248,210,177,.20);
	--intro-universe-opacity:.18;--intro-universe-active-opacity:.33;--intro-universe-filter:saturate(.72) brightness(.70);
	--intro-universe-active-filter:saturate(.94) brightness(.88);--intro-universe-overlay:linear-gradient(180deg,rgba(37,4,12,.02),rgba(30,4,11,.78));
	--intro-universe-caption:rgba(255,239,224,.88);--intro-track-bg:rgba(29,5,12,.74);--intro-track-border:rgba(224,170,130,.78);
	--intro-progress:linear-gradient(90deg,#84213a 0%,#c75670 52%,#e4b180 100%);--intro-progress-glow:rgba(205,88,111,.46);
	--intro-version:#e3c0b4;--intro-version-strong:#e5ae82;--intro-shadow:rgba(25,2,8,.50);
	--intro-logo-font:ui-serif,Georgia,"Times New Roman",serif;--intro-copy-font:"Avenir Next","Segoe UI Variable Text",system-ui,sans-serif;
	--intro-logo-weight:800;--intro-logo-spacing:-.035em;--intro-copy-weight:680;
}
.mq-shell[data-skin="ardoise"] .mq-app-intro,
.mq-shell[data-skin="ardoise"] .mq-entry-intro {
	--intro-background:
		radial-gradient(circle at 50% 21%,rgba(142,232,255,.16) 0%,rgba(67,93,119,.12) 30%,transparent 56%),
		linear-gradient(180deg,#15242e 0%,#1d2c36 36%,#111b22 70%,#091016 100%);
	--intro-particles:
		radial-gradient(circle at 13% 16%,rgba(220,245,255,.54) 0 1px,transparent 2px),
		radial-gradient(circle at 84% 13%,rgba(126,225,244,.46) 0 1.2px,transparent 2px),
		radial-gradient(circle at 73% 64%,rgba(195,225,236,.25) 0 1px,transparent 1.8px),
		radial-gradient(circle at 24% 75%,rgba(100,198,218,.28) 0 1px,transparent 2px);
	--intro-halo:radial-gradient(circle,rgba(224,249,255,.31) 0%,rgba(95,213,234,.16) 31%,rgba(58,89,112,.10) 52%,transparent 70%);
	--intro-text:#f3f8fb;--intro-loading-text:#f3f8fb;--intro-muted:#bdcbd3;--intro-logo-memo:#7ee8f4;--intro-logo-quest:#f7fbfd;
	--intro-accent:#73ddea;--intro-accent-soft:rgba(115,221,234,.22);--intro-accent-faint:rgba(79,143,172,.12);--intro-accent-2:#4f8fac;--intro-line:#83e6f1;--intro-border:#dce9ee;
	--intro-card-back:linear-gradient(145deg,#344b59 0%,#15252f 100%);--intro-card-front:#111e27;
	--intro-label-bg:rgba(5,15,21,.78);--intro-universe-bg:#15252e;--intro-universe-border:rgba(180,215,228,.18);
	--intro-universe-opacity:.17;--intro-universe-active-opacity:.31;--intro-universe-filter:saturate(.58) brightness(.68);
	--intro-universe-active-filter:saturate(.78) brightness(.84);--intro-universe-overlay:linear-gradient(180deg,rgba(5,16,23,.03),rgba(6,17,23,.78));
	--intro-universe-caption:rgba(224,238,244,.86);--intro-track-bg:rgba(5,14,20,.72);--intro-track-border:rgba(125,225,237,.72);
	--intro-progress:linear-gradient(90deg,#39768d 0%,#73ddea 52%,#d1f9ff 100%);--intro-progress-glow:rgba(103,219,233,.42);
	--intro-version:#b9cbd3;--intro-version-strong:#82e4ef;--intro-shadow:rgba(0,0,0,.50);
	--intro-logo-font:"Segoe UI Variable Display","Helvetica Neue",Arial,system-ui,sans-serif;--intro-copy-font:"Segoe UI Variable Text",system-ui,sans-serif;
	--intro-logo-weight:880;--intro-logo-spacing:-.04em;
}
.mq-shell[data-skin="ambre"] .mq-app-intro,
.mq-shell[data-skin="ambre"] .mq-entry-intro {
	--intro-background:
		radial-gradient(circle at 50% 18%,rgba(255,250,218,.76) 0%,rgba(255,183,70,.31) 29%,transparent 55%),
		linear-gradient(180deg,#f6a843 0%,#f5c477 31%,#ffe8bc 62%,#7a3518 100%);
	--intro-particles:
		radial-gradient(circle at 14% 16%,rgba(255,255,239,.78) 0 1px,transparent 2px),
		radial-gradient(circle at 82% 13%,rgba(255,239,187,.66) 0 1.2px,transparent 2px),
		radial-gradient(circle at 72% 64%,rgba(255,255,241,.34) 0 1px,transparent 1.8px),
		radial-gradient(circle at 23% 73%,rgba(255,188,77,.30) 0 1px,transparent 2px);
	--intro-halo:radial-gradient(circle,rgba(255,255,230,.66) 0%,rgba(255,177,60,.23) 33%,rgba(178,76,20,.10) 54%,transparent 70%);
	--intro-text:#4f2413;--intro-loading-text:#fff4df;--intro-muted:#6d3a22;--intro-logo-memo:#d75f16;--intro-logo-quest:#6a2d13;
	--intro-accent:#ed7a24;--intro-accent-soft:rgba(237,122,36,.22);--intro-accent-faint:rgba(189,78,18,.12);--intro-accent-2:#bd4e12;--intro-line:#f9b94d;--intro-border:#fff7df;
	--intro-card-back:linear-gradient(145deg,#ffad3e 0%,#d45d18 100%);--intro-card-front:#502411;
	--intro-label-bg:rgba(60,24,8,.74);--intro-universe-bg:#7a3518;--intro-universe-border:rgba(255,244,211,.28);
	--intro-universe-opacity:.19;--intro-universe-active-opacity:.36;--intro-universe-filter:saturate(.76) brightness(.76);
	--intro-universe-active-filter:saturate(.98) brightness(.92);--intro-universe-overlay:linear-gradient(180deg,rgba(91,35,9,.03),rgba(76,27,7,.68));
	--intro-universe-caption:rgba(255,248,225,.92);--intro-track-bg:rgba(255,248,225,.52);--intro-track-border:rgba(179,75,15,.70);
	--intro-progress:linear-gradient(90deg,#d85f17 0%,#ffa934 52%,#fff0a6 100%);--intro-progress-glow:rgba(237,123,35,.44);
	--intro-version:#f6ddc1;--intro-version-strong:#ffd47a;--intro-shadow:rgba(83,32,8,.32);
	--intro-logo-font:"Trebuchet MS","Avenir Next","Segoe UI Variable Display",system-ui,sans-serif;--intro-copy-font:"Avenir Next","Segoe UI Variable Text",system-ui,sans-serif;
	--intro-logo-weight:900;--intro-logo-spacing:-.04em;--intro-copy-weight:720;
}
.mq-shell[data-skin="nuit"] .mq-app-intro,
.mq-shell[data-skin="nuit"] .mq-entry-intro {
	--intro-background:
		radial-gradient(circle at 50% 18%,rgba(142,218,255,.15) 0%,rgba(82,99,201,.10) 29%,transparent 56%),
		linear-gradient(180deg,#060b16 0%,#0b1427 36%,#101b35 68%,#050912 100%);
	--intro-particles:
		radial-gradient(circle at 12% 15%,rgba(255,255,255,.78) 0 1px,transparent 2px),
		radial-gradient(circle at 84% 12%,rgba(151,233,255,.64) 0 1.2px,transparent 2px),
		radial-gradient(circle at 72% 61%,rgba(255,255,255,.31) 0 1px,transparent 1.8px),
		radial-gradient(circle at 24% 74%,rgba(112,148,255,.34) 0 1px,transparent 2px),
		radial-gradient(circle at 52% 83%,rgba(255,255,255,.22) 0 1px,transparent 1.8px);
	--intro-halo:radial-gradient(circle,rgba(220,247,255,.27) 0%,rgba(112,230,255,.15) 31%,rgba(83,99,207,.11) 53%,transparent 70%);
	--intro-text:#f3f7ff;--intro-loading-text:#f3f7ff;--intro-muted:#b6c3dc;--intro-logo-memo:#8ceaff;--intro-logo-quest:#ffffff;
	--intro-accent:#83e7fb;--intro-accent-soft:rgba(131,231,251,.22);--intro-accent-faint:rgba(100,119,228,.12);--intro-accent-2:#6477e4;--intro-line:#8ceaff;--intro-border:#e2efff;
	--intro-card-back:linear-gradient(145deg,#263759 0%,#111a32 100%);--intro-card-front:#0d1729;
	--intro-label-bg:rgba(3,9,20,.80);--intro-universe-bg:#101a31;--intro-universe-border:rgba(177,210,255,.17);
	--intro-universe-opacity:.16;--intro-universe-active-opacity:.30;--intro-universe-filter:saturate(.66) brightness(.64);
	--intro-universe-active-filter:saturate(.88) brightness(.82);--intro-universe-overlay:linear-gradient(180deg,rgba(4,10,22,.03),rgba(3,8,18,.82));
	--intro-universe-caption:rgba(226,238,255,.84);--intro-track-bg:rgba(3,9,20,.74);--intro-track-border:rgba(139,232,255,.70);
	--intro-progress:linear-gradient(90deg,#5265d1 0%,#83e7fb 52%,#d9f8ff 100%);--intro-progress-glow:rgba(112,226,250,.46);
	--intro-version:#b5c2dc;--intro-version-strong:#8ceaff;--intro-shadow:rgba(0,0,0,.54);
	--intro-logo-font:"Segoe UI Variable Display","SF Pro Display","Helvetica Neue",system-ui,sans-serif;--intro-copy-font:"Segoe UI Variable Text",system-ui,sans-serif;
	--intro-logo-weight:900;--intro-logo-spacing:-.04em;
}
.mq-app-intro.is-visible,
.mq-entry-intro.is-visible { opacity:1; }
.mq-app-intro::before,
.mq-entry-intro::before {
	content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.8;
	background:var(--intro-particles);
}
.mq-app-intro::after,
.mq-entry-intro::after {
	content:"";position:absolute;left:50%;top:30%;width:min(84vmin,560px);aspect-ratio:1;
	transform:translate(-50%,-50%);border-radius:50%;z-index:1;pointer-events:none;
	background:var(--intro-halo);
	opacity:calc(.48 + var(--cinematic-charge) * .3);
}

.mq-cinematic-universes { position:absolute;inset:0;z-index:1;pointer-events:none; }
.mq-cinematic-universe {
	position:absolute;width:clamp(86px,25vw,138px);aspect-ratio:3/4;margin:0;border-radius:18px;overflow:hidden;
	background:var(--intro-universe-bg);border:1px solid var(--intro-universe-border);opacity:var(--intro-universe-opacity);
	box-shadow:0 12px 30px var(--intro-shadow);filter:var(--intro-universe-filter);
	transform:rotate(var(--u-rotate));transition:opacity .36s ease,filter .36s ease,box-shadow .36s ease;
}
.mq-cinematic-universe img { width:100%;height:100%;object-fit:cover;display:block; }
.mq-cinematic-universe::after { content:"";position:absolute;inset:0;background:var(--intro-universe-overlay); }
.mq-cinematic-universe figcaption {
	position:absolute;left:8px;right:8px;bottom:10px;z-index:2;color:var(--intro-universe-caption);
	font-size:clamp(.55rem,1.7vw,.78rem);font-weight:850;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.mq-cinematic-universe.is-u1 { left:-4%;top:3%;--u-rotate:-8deg; }
.mq-cinematic-universe.is-u2 { left:36%;top:1%;--u-rotate:4deg; }
.mq-cinematic-universe.is-u3 { right:-4%;top:3%;--u-rotate:8deg; }
.mq-cinematic-universe.is-u4 { left:-8%;top:40%;--u-rotate:-7deg; }
.mq-cinematic-universe.is-u5 { right:-8%;top:40%;--u-rotate:7deg; }
.mq-cinematic-universe.is-u6 { left:5%;bottom:3%;--u-rotate:-5deg; }
.mq-pair-cinematic[data-intro-category="animaux"] .mq-cinematic-universe[data-intro-universe="animaux"],
.mq-pair-cinematic[data-intro-category="insectes"] .mq-cinematic-universe[data-intro-universe="insectes"],
.mq-pair-cinematic[data-intro-category="drapeaux"] .mq-cinematic-universe[data-intro-universe="drapeaux"],
.mq-pair-cinematic[data-intro-category="culture-generale"] .mq-cinematic-universe[data-intro-universe="culture-generale"],
.mq-pair-cinematic[data-intro-category="metiers"] .mq-cinematic-universe[data-intro-universe="metiers"],
.mq-pair-cinematic[data-intro-category="fruits-legumes"] .mq-cinematic-universe[data-intro-universe="fruits-legumes"] {
	opacity:var(--intro-universe-active-opacity);filter:var(--intro-universe-active-filter);box-shadow:0 12px 34px var(--intro-shadow);
}

.mq-cinematic-aura {
	position:absolute;left:50%;top:30%;width:min(78vmin,520px);aspect-ratio:1;z-index:2;
	transform:translate(-50%,-50%) scale(.82);border-radius:50%;pointer-events:none;opacity:0;
	background:radial-gradient(circle,rgba(255,255,255,.72) 0 5%,var(--intro-accent-soft) 22%,var(--intro-accent-faint) 43%,transparent 69%);
	transition:opacity .42s ease,transform .82s cubic-bezier(.2,.78,.2,1);
}
.mq-pair-cinematic.is-magnetizing .mq-cinematic-aura { opacity:1;transform:translate(-50%,-50%) scale(1); }

.mq-cinematic-pair {
	position:absolute;left:50%;top:30%;width:min(98vw,720px);height:clamp(270px,44vh,420px);
	transform:translate(-50%,-50%);perspective:1400px;z-index:6;
}
.mq-cinematic-card {
	position:absolute;left:50%;top:50%;width:var(--cinematic-card-w);aspect-ratio:3/4;z-index:4;
	transform-origin:50% 50%;will-change:transform;backface-visibility:hidden;
	transition:transform .92s cubic-bezier(.18,.8,.2,1),filter .3s ease,opacity .3s ease;
}
.mq-pair-cinematic.is-progress-moving .mq-cinematic-card { transition:filter .3s ease,opacity .3s ease; }
.mq-cinematic-card.is-left { transform:translate3d(calc(-50% - min(62vw,390px)),-50%,0) rotate(-4deg) scale(.9); }
.mq-cinematic-card.is-right { transform:translate3d(calc(-50% + min(62vw,390px)),-50%,0) rotate(4deg) scale(.9); }
.mq-pair-cinematic.is-magnetizing .mq-cinematic-card.is-left {
	transform:translate3d(calc(-50% - var(--cinematic-card-half) - var(--cinematic-gap) / 2),-50%,0) rotate(-.7deg) scale(1);
}
.mq-pair-cinematic.is-magnetizing .mq-cinematic-card.is-right {
	transform:translate3d(calc(-50% + var(--cinematic-card-half) + var(--cinematic-gap) / 2),-50%,0) rotate(.7deg) scale(1);
}
.mq-pair-cinematic.is-confirmed .mq-cinematic-card { filter:drop-shadow(0 0 16px rgba(91,230,112,.42)); }
.mq-cinematic-card-inner {
	position:absolute;inset:0;border-radius:clamp(14px,3.6vmin,25px);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;
	transition:transform .48s cubic-bezier(.26,.72,.22,1);box-shadow:0 18px 36px rgba(0,0,0,.34);will-change:transform;
}
.mq-pair-cinematic.is-open-left .mq-cinematic-card.is-left .mq-cinematic-card-inner,
.mq-pair-cinematic.is-open-right .mq-cinematic-card.is-right .mq-cinematic-card-inner { transform:rotateY(180deg); }
.mq-cinematic-face {
	position:absolute;inset:0;border-radius:inherit;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;
	border:clamp(3px,.72vmin,5px) solid var(--intro-border);
}
.mq-cinematic-back {
	transform:rotateY(0deg) translateZ(.2px);background:var(--intro-card-back);
	box-shadow:inset 0 -18px 28px rgba(12,39,79,.2),inset 0 1px 0 rgba(255,255,255,.28);
}
.mq-cinematic-back::before {
	content:"";position:absolute;inset:0;background:no-repeat center/46% auto
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 7 38.4 23.2 56 24.3 42.4 35.6 46.8 53 32 43.4 17.2 53l4.4-17.4L8 24.3l17.6-1.1L32 7Z' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linejoin='round'/%3E%3Ccircle cx='32' cy='32' r='6.5' fill='%23fff' opacity='.28'/%3E%3C/svg%3E");
	filter:drop-shadow(0 4px 8px rgba(15,43,83,.22));
}
.mq-cinematic-back::after {
	content:"";position:absolute;inset:-25% 48% -25% -35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
	transform:translateX(-170%) rotate(15deg);
}
.mq-pair-cinematic.is-charged .mq-cinematic-back::after { animation:mq-cinematic-card-charge .82s ease-out both; }
@keyframes mq-cinematic-card-charge { to { transform:translateX(440%) rotate(15deg); } }
.mq-cinematic-front { transform:rotateY(180deg) translateZ(.2px);background:var(--intro-card-front);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }
.mq-cinematic-front img { width:100%;height:100%;display:block;object-fit:cover;opacity:0;transition:opacity .2s ease; }
.mq-pair-cinematic.is-image-ready .mq-cinematic-front img { opacity:1; }
.mq-cinematic-card-name {
	position:absolute;left:7%;right:7%;bottom:6%;z-index:2;padding:5px 8px;border-radius:999px;
	background:var(--intro-label-bg);color:var(--intro-label-text);font-size:clamp(.64rem,2.1vmin,.9rem);font-weight:900;text-align:center;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.72);
}

/* La ligne de charge reste derrière les deux cartes. */
.mq-cinematic-magnet {
	position:absolute;left:50%;top:50%;width:clamp(126px,38vw,250px);height:18px;z-index:1;
	transform:translate(-50%,-50%) scaleX(.12);transform-origin:center;opacity:0;border-radius:999px;pointer-events:none;
	background:linear-gradient(90deg,transparent,var(--intro-accent-soft) 19%,rgba(255,255,255,.22) 50%,var(--intro-accent-soft) 81%,transparent);
	box-shadow:0 0 16px rgba(44,206,216,.12),0 0 32px rgba(53,105,220,.08);
	transition:transform 1.06s cubic-bezier(.2,.78,.2,1),opacity .26s ease;
}
.mq-cinematic-magnet::before {
	content:"";position:absolute;left:50%;top:50%;width:0;height:4px;border-radius:999px;transform:translate(-50%,-50%);
	background:linear-gradient(90deg,transparent,var(--intro-line) 18%,#fff 50%,var(--intro-line) 82%,transparent);
	box-shadow:0 0 12px rgba(255,255,255,.48),0 0 20px rgba(77,220,220,.32);opacity:.15;
}
.mq-pair-cinematic.is-charging .mq-cinematic-magnet,
.mq-pair-cinematic.is-magnetizing .mq-cinematic-magnet { opacity:.9;transform:translate(-50%,-50%) scaleX(1); }
.mq-pair-cinematic.is-charging .mq-cinematic-magnet::before { animation:mq-cinematic-load-in 1.08s cubic-bezier(.2,.78,.2,1) both; }
@keyframes mq-cinematic-load-in { 0%{width:0;opacity:.15} 56%{opacity:1} 100%{width:100%;opacity:.98} }
.mq-cinematic-magnet i,.mq-cinematic-magnet b { position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%); }
.mq-cinematic-magnet i { width:clamp(22px,5.8vmin,36px);aspect-ratio:1;background:#fff;box-shadow:0 0 0 8px rgba(75,225,207,.12),0 0 26px rgba(255,255,255,.72); }
.mq-cinematic-magnet b { width:clamp(8px,2.3vmin,14px);aspect-ratio:1;background:var(--intro-accent);box-shadow:0 0 12px rgba(255,255,255,.64); }
.mq-pair-cinematic.is-confirmed .mq-cinematic-magnet { opacity:0;transition:opacity .24s ease; }

/* Validation au centre exact de la paire, au-dessus des cartes. */
.mq-cinematic-success {
	position:absolute;left:50%;top:50%;z-index:8;width:clamp(50px,14vmin,82px);aspect-ratio:1;
	transform:translate(-50%,-50%) scale(.2) rotate(-18deg);opacity:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
	color:#123d2b;background:radial-gradient(circle at 34% 24%,#d9ffb5 0%,#7ce95a 44%,#39b934 77%,#239424 100%);
	border:clamp(3px,.8vmin,5px) solid rgba(255,255,255,.98);
	box-shadow:0 12px 24px rgba(27,124,50,.3),0 0 30px rgba(92,238,99,.3),inset 0 -6px 9px rgba(14,105,34,.2),inset 0 4px 8px rgba(255,255,255,.48);
	transition:opacity .18s ease,transform .48s cubic-bezier(.16,.86,.22,1.16);
}
.mq-cinematic-success svg { width:58%;height:58%;stroke-width:3.4; }
.mq-pair-cinematic.is-confirmed .mq-cinematic-success { opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0);animation:mq-cinematic-check-in .58s ease-out both; }
@keyframes mq-cinematic-check-in { 55%{transform:translate(-50%,-50%) scale(1.1) rotate(1deg)} }

.mq-cinematic-brand {
	position:absolute;left:50%;top:57%;z-index:12;width:96%;transform:translateX(-50%);text-align:center;white-space:nowrap;pointer-events:none;
	font-family:var(--intro-logo-font);font-size:clamp(2.3rem,11vmin,5rem);font-weight:var(--intro-logo-weight);line-height:1;letter-spacing:var(--intro-logo-spacing);
	filter:drop-shadow(0 10px 18px var(--intro-shadow));
}
.mq-cinematic-letter { display:inline-block;opacity:0;transform:translateY(18px) scale(.9); }
.mq-cinematic-letter.is-memo { color:var(--intro-logo-memo); }
.mq-cinematic-letter.is-quest { color:var(--intro-logo-quest); }
.mq-pair-cinematic.is-branded .mq-cinematic-letter { animation:mq-cinematic-wave-in .68s cubic-bezier(.16,.86,.22,1.12) both;animation-delay:calc(var(--letter-i) * 38ms); }
@keyframes mq-cinematic-wave-in { 0%{opacity:0;transform:translateY(18px) scale(.9)} 56%{opacity:1;transform:translateY(-6px) scale(1.035)} 100%{opacity:1;transform:none} }
.mq-cinematic-caption {
	position:absolute;left:50%;top:65%;z-index:12;transform:translateX(-50%);margin:0;padding:0 clamp(42px,12vw,92px);
	max-width:96%;color:var(--intro-muted);font-family:var(--intro-copy-font);font-size:clamp(.78rem,2.5vmin,1.08rem);font-weight:var(--intro-copy-weight);letter-spacing:.01em;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .32s ease .18s;
}
.mq-cinematic-caption::before,.mq-cinematic-caption::after { content:"";position:absolute;top:50%;width:clamp(24px,8vw,64px);height:2px;background:linear-gradient(90deg,transparent,var(--intro-line)); }
.mq-cinematic-caption::before { left:0; }
.mq-cinematic-caption::after { right:0;transform:scaleX(-1); }
.mq-pair-cinematic.is-branded .mq-cinematic-caption { opacity:1; }

.mq-cinematic-loading {
	position:absolute;left:50%;bottom:max(3.2vh,22px);z-index:12;width:min(76vw,560px);transform:translateX(-50%);
	display:grid;gap:9px;justify-items:center;color:var(--intro-text);font-family:var(--intro-copy-font);font-variant-numeric:tabular-nums;
}
.mq-cinematic-loading-label { color:var(--intro-loading-text);font-size:clamp(.72rem,2.2vmin,.98rem);font-weight:var(--intro-copy-weight);text-align:center;text-shadow:0 2px 8px var(--intro-shadow); }
.mq-cinematic-loading-track {
	position:relative;width:100%;height:clamp(15px,3.8vmin,24px);padding:3px;border-radius:999px;overflow:hidden;
	background:var(--intro-track-bg);border:1px solid var(--intro-track-border);box-shadow:0 0 18px var(--intro-progress-glow),inset 0 0 10px var(--intro-shadow);
}
.mq-cinematic-loading-track i {
	display:block;width:100%;height:100%;border-radius:inherit;transform:scaleX(var(--cinematic-charge));transform-origin:left center;
	background:var(--intro-progress);box-shadow:0 0 13px var(--intro-progress-glow);
	transition:transform .42s cubic-bezier(.2,.74,.2,1);
}
.mq-cinematic-loading-track i::after { content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,rgba(255,255,255,.18) 0 8px,transparent 8px 16px); }
.mq-cinematic-version { display:flex;align-items:center;gap:6px;color:var(--intro-version);font-size:clamp(.68rem,2vmin,.9rem); }
.mq-cinematic-version::before,.mq-cinematic-version::after { content:"";width:clamp(28px,9vw,70px);height:1px;background:linear-gradient(90deg,transparent,var(--intro-line)); }
.mq-cinematic-version::after { transform:scaleX(-1); }
.mq-cinematic-version b { color:var(--intro-version-strong);font-weight:850; }

.mq-cinematic-flare {
	position:absolute;left:50%;top:30%;z-index:5;width:22px;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;pointer-events:none;
	background:#fff;box-shadow:0 0 62px 28px rgba(255,255,255,.58),0 0 112px 54px rgba(74,217,203,.22);
}
.mq-pair-cinematic.is-confirmed .mq-cinematic-flare { animation:mq-cinematic-flare .58s ease-out both; }
@keyframes mq-cinematic-flare { 0%{opacity:0;transform:translate(-50%,-50%) scale(.2)} 36%{opacity:.72} 100%{opacity:0;transform:translate(-50%,-50%) scale(6)} }

.mq-app-intro.is-exiting,.mq-entry-intro.is-exiting { opacity:0;pointer-events:none;transition:opacity .56s ease; }
.mq-view[data-view="plateau"].is-awaiting-intro { opacity:0;pointer-events:none;transition:opacity .52s ease; }
.mq-pair-cinematic.is-paused *,.mq-pair-cinematic.is-paused::before,.mq-pair-cinematic.is-paused::after { animation-play-state:paused!important; }
.mq-pair-cinematic.is-reduced * { animation-duration:.18s!important;transition-duration:.18s!important; }
.mq-pair-cinematic.is-reduced .mq-cinematic-flare,.mq-pair-cinematic.is-reduced .mq-cinematic-back::after { display:none; }

.mq-speed-record-target{display:block;margin-top:7px;font-size:8px;font-weight:950;letter-spacing:.13em;color:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 82%,white 18%);opacity:0;animation:mq-speed-record-in .34s .7s cubic-bezier(.2,.85,.2,1) forwards}.mq-speed-record-pace{display:block;margin-top:2px;font-size:7px;font-style:normal;font-weight:950;letter-spacing:.07em;opacity:.62;font-variant-numeric:tabular-nums;white-space:nowrap}.mq-speed-record-pace.is-ahead{color:#55dfa9;opacity:.95}.mq-speed-record-pace.is-behind{color:#f2ad68;opacity:.92}.mq-speed-foot>div{min-width:0;display:grid;align-content:center}.mq-speed-record-result{margin:8px auto 10px;width:min(92%,360px);padding:9px 13px;border-radius:16px;display:grid;grid-template-columns:1fr auto;grid-template-areas:"lab time" "delta time";align-items:center;gap:1px 12px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 89%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,transparent)}.mq-speed-record-result small{grid-area:lab;font-size:8px;font-weight:950;letter-spacing:.12em;opacity:.68}.mq-speed-record-result strong{grid-area:time;font-size:18px;font-variant-numeric:tabular-nums}.mq-speed-record-result em{grid-area:delta;font-size:9px;font-style:normal;font-weight:900;opacity:.7}.mq-speed-record-result.is-new{border-color:color-mix(in srgb,#ffd36a 58%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,#ffd36a 18%,transparent),0 8px 26px color-mix(in srgb,#ffd36a 13%,transparent);animation:mq-speed-record-pop .52s cubic-bezier(.18,.9,.25,1.25)}.mq-speed-record-result.is-new small,.mq-speed-record-result.is-new em{color:#ffd36a;opacity:1}@keyframes mq-speed-record-in{from{opacity:0;transform:translateY(5px) scale(.96)}to{opacity:1;transform:none}}@keyframes mq-speed-record-pop{0%{opacity:0;transform:scale(.88)}65%{opacity:1;transform:scale(1.035)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce) {
	.mq-pair-cinematic * { animation-duration:.18s!important;transition-duration:.18s!important; }
	.mq-pair-cinematic .mq-cinematic-flare,.mq-pair-cinematic .mq-cinematic-back::after { display:none; }
}
@media (max-width:480px), (max-height:700px) {
	.mq-app-intro,.mq-entry-intro { --cinematic-card-w:clamp(92px,27vh,132px); }
	.mq-cinematic-pair,.mq-cinematic-aura,.mq-cinematic-flare { top:28%; }
	.mq-cinematic-brand { top:54%;font-size:clamp(1.9rem,9.5vmin,3.4rem); }
	.mq-cinematic-caption { top:63%; }
	.mq-cinematic-loading { bottom:max(2.2vh,14px);gap:6px; }
	.mq-cinematic-universe { width:clamp(68px,20vw,104px); }
}
@media (min-width:700px) {
	.mq-app-intro,.mq-entry-intro { --cinematic-card-w:min(20vmin,184px); }
	.mq-cinematic-loading { width:min(56vw,620px); }
}

/* =========================================================================
   PLATEAU
   ========================================================================= */
.mq-view[data-view="plateau"] { gap: clamp(3px, .7vmin, 6px); }
.mq-view[data-view="plateau"] > .mq-board-wrap { flex: 1 1 auto; min-height: 0; }
.mq-view[data-view="plateau"] > .mq-board-bottom {
	flex: 0 0 auto; min-height: 0;
	display: grid; grid-template-columns: minmax(0, 1fr);
	gap: clamp(3px, .7vmin, 6px);
	padding: clamp(2px, .4vmin, 4px) 0 max(1px, env(safe-area-inset-bottom));
}
.mq-gamebar {
	position: relative;
	display: grid; grid-template-columns: clamp(54px, 14vw, 76px) minmax(92px, 1fr) clamp(54px, 14vw, 76px);
	align-items: center; gap: 6px;
	min-height: 42px; padding: 2px 3px;
}
.mq-score-chip {
	position: relative; width: 100%; height: 42px; min-width: 0;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;
	border: 1px solid rgba(255,255,255,.75); border-radius: 13px;
	background: rgba(255,255,255,.88); box-shadow: 0 2px 9px rgba(21,60,122,.11);
	transition: border-color .25s, box-shadow .25s, background .25s;
	contain: layout paint;
}
.mq-score-chip small {
	display: block; width: calc(100% - 10px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	font-size: clamp(.48rem, 1.65vmin, .62rem); line-height: 1; font-weight: 900;
	letter-spacing: .045em; text-transform: uppercase; text-align: center; color: var(--encre-2);
}
.mq-score-chip .mq-player-name { text-transform:none;letter-spacing:0;font-size:clamp(.55rem,1.9vmin,.72rem);font-weight:950; }
.mq-score-chip strong {
	display: block; width: 100%; text-align: center;
	font-size: clamp(.95rem, 3vmin, 1.18rem); line-height: 1; font-weight: 950;
	font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1;
	color: var(--encre); white-space: nowrap;
}
.mq-score-avatar { width:24px;height:24px;flex:0 0 24px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.78);box-shadow:0 2px 5px rgba(22,54,90,.16); }
.mq-score-chip.is-placeholder { visibility: hidden; pointer-events: none; }
.mq-turn-dot {
	position: absolute; top: 4px; right: 5px; width: 6px; height: 6px;
	border-radius: 50%; opacity: 0; background: #35c85a;
	box-shadow: 0 0 0 3px rgba(53,200,90,.14), 0 0 8px rgba(53,200,90,.7);
}
.mq-score-chip.is-turn {
	border-color: rgba(53,200,90,.78);
	background: rgba(246,255,249,.94);
	box-shadow: 0 0 0 2px rgba(53,200,90,.14), 0 3px 12px rgba(28,139,70,.18);
	animation: mq-tour-actif 2.5s ease-in-out infinite;
}
.mq-score-chip.is-turn .mq-turn-dot { opacity: 1; animation: mq-tour-point 1.6s ease-in-out infinite; }
/* battement sans repeinture : transform seul (l'ombre reste statique) */
@keyframes mq-tour-actif { 0%,100% { transform: scale(1); } 50% { transform: scale(1.025); } }
@keyframes mq-tour-point { 0%,100% { transform: scale(.82); opacity: .72; } 50% { transform: scale(1.12); opacity: 1; } }
.mq-game-actions { min-width: 0; display: flex; align-items: center; justify-content: center; gap: clamp(8px, 2.4vw, 14px); }
.mq-game-action {
	width: 40px; height: 40px; flex: 0 0 40px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 13px !important; background: rgba(255,255,255,.9) !important;
	box-shadow: 0 2px 9px rgba(21,60,122,.12);
	transition: transform .16s var(--ressort), box-shadow .2s, background .2s;
}
.mq-game-action svg { width: 20px; height: 20px; stroke-width: 2.35; color: var(--encre); }
.mq-game-action:active { transform: scale(.92); box-shadow: 0 1px 4px rgba(21,60,122,.12); }

.mq-shell[data-motion="calme"] .mq-score-chip.is-turn,
.mq-shell[data-motion="calme"] .mq-score-chip.is-turn .mq-turn-dot { animation: none; }
@media (prefers-reduced-motion: reduce) {
	.mq-score-chip.is-turn, .mq-score-chip.is-turn .mq-turn-dot { animation: none; }
}
.mq-sr-only {
	position: absolute !important; width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important; overflow: hidden !important;
	clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}

.mq-board-wrap { display: flex; align-items: center; justify-content: center; min-height: 0; min-width: 0; position: relative; overflow: hidden; }
.mq-online-activity-wait {
	position:absolute; z-index:30; left:50%; top:8px; transform:translateX(-50%);
	max-width:min(92%,430px); min-height:34px; padding:6px 9px 6px 11px;
	display:flex; align-items:center; justify-content:center; gap:9px;
	border:1px solid color-mix(in srgb,var(--turq) 34%,rgba(255,255,255,.82)); border-radius:999px;
	background:color-mix(in srgb,var(--blanc) 92%,var(--past-menthe) 8%); color:var(--encre);
	box-shadow:0 7px 18px rgba(21,60,122,.16); pointer-events:none;
	font-size:clamp(.66rem,2.5vw,.80rem); line-height:1.1; text-align:center;
}
.mq-online-activity-wait > span { min-width:0; display:flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mq-online-activity-wait > span svg { width:16px; height:16px; flex:0 0 16px; color:var(--turq-2); }
.mq-online-activity-wait > span b { max-width:34vw; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mq-online-activity-wait > strong { flex:0 0 auto; min-width:38px; padding:4px 7px; border-radius:999px; background:var(--past-menthe); color:var(--turq-2); font-variant-numeric:tabular-nums; }
.mq-online-activity-wait.is-urgent > strong { background:#fff0ed; color:#b62d28; }
.mq-board { display: grid; gap: clamp(4px, 1.1vmin, 11px); perspective: 1400px; }
.mq-card-slot { position: relative; aspect-ratio: 3 / 4; visibility: hidden; pointer-events: none; }

/* ---------- La carte ---------- */
.mq-card {
	position: relative; aspect-ratio: 3 / 4; min-width: 0; min-height: 0;
	transform-style: preserve-3d; -webkit-transform-style: preserve-3d;
	transition: transform .46s var(--ease);
	border-radius: clamp(9px, 2vmin, 18px);
	will-change: transform;
}

.mq-board[data-compact-touch="true"] .mq-card { aspect-ratio: 5 / 6; }
.mq-board.is-dealing .mq-card { animation: mq-distribue .48s var(--sortie) backwards; animation-delay: calc(var(--i, 0) * 20ms); }
@keyframes mq-distribue { from { opacity: 0; transform: translateY(-40px) rotate(-9deg) scale(.7); } }
.mq-card.is-open, .mq-card.is-done { transform: rotateY(180deg); }
.mq-card.is-done { animation: mq-scelle .76s var(--sortie) .05s both; }
.mq-card.is-wrong { animation: mq-refus .5s var(--ease) .04s; }
@keyframes mq-scelle {
	0% { transform: rotateY(180deg) scale(1); }
	32% { transform: rotateY(180deg) translateZ(32px) scale(1.13) rotate(2deg); }
	60% { transform: rotateY(180deg) translateZ(6px) scale(.96) rotate(-1deg); }
	100% { transform: rotateY(180deg) scale(1); }
}
@keyframes mq-refus {
	15% { transform: rotateY(180deg) translateX(-8%) rotate(-3deg); }
	40% { transform: rotateY(180deg) translateX(8%) rotate(3deg); }
	68% { transform: rotateY(180deg) translateX(-4%) rotate(-1.5deg); }
	100% { transform: rotateY(180deg); }
}
.mq-card.is-hint .mq-back { animation: mq-clignote .5s var(--ease) 3; }
@keyframes mq-clignote { 50% { filter: brightness(1.4); } }

.mq-face {
	position: absolute; inset: 0; border-radius: inherit;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
	display: flex; align-items: center; justify-content: center; overflow: hidden;
	border: 3px solid #fff;
}
.mq-back {
	transform: rotateY(0deg) translateZ(.1px);
	background: linear-gradient(168deg, #62e0da 0%, #35b8ea 52%, #2e86e0 100%);
	box-shadow: inset 0 -10px 20px rgba(21, 60, 122, .16), 0 3px 8px rgba(21, 60, 122, .22);
}
.mq-back::before {
	content: ""; position: absolute; inset: 0;
	background: no-repeat center / 46% auto
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2.4c.4 0 .8.25 1 .63l2.5 5.06 5.6.82c.9.13 1.26 1.24.6 1.87l-4.05 3.94.96 5.57c.15.9-.8 1.58-1.6 1.15L12 18.82l-5 2.63c-.8.43-1.75-.25-1.6-1.15l.96-5.57-4.05-3.94c-.66-.63-.3-1.74.6-1.87l5.6-.82L11 3.03c.2-.38.6-.63 1-.63Z'/%3E%3C/svg%3E");
	filter: drop-shadow(0 3px 4px rgba(21, 60, 122, .28));
}
.mq-front {
	transform: rotateY(180deg) translateZ(.1px);
	background: linear-gradient(168deg, #f4fbff 0%, #e2f2fb 100%);
	box-shadow: 0 3px 8px rgba(21, 60, 122, .22);
	flex-direction: column; padding: 6%; gap: 2%;
}
.mq-front img { flex: 1 1 auto; min-height: 0; max-width: 100%; object-fit: contain; filter: drop-shadow(0 3px 5px rgba(21, 60, 122, .18)); }
.mq-front .mq-card-name { flex: 0 0 auto; max-width: 100%; font-size: clamp(7px, 1.5vmin, 12px); font-weight: 900; text-align: center; color: var(--encre); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mq-front .mq-card-fallback { display: none; position: absolute; inset: 8%; align-items: center; justify-content: center; padding: 8%; border-radius: inherit; text-align: center; font-weight: 900; font-size: clamp(8px, 1.55vmin, 13px); color: #fff; background: linear-gradient(160deg, #145d7d, #0d4565); }
.mq-board[data-category="animaux"] .mq-front { padding: 0; gap: 0; background: #0d4565; }
.mq-board[data-category="animaux"] .mq-front img { width: 100%; height: 100%; max-width: none; object-fit: cover; filter: none; }
.mq-board[data-category="animaux"] .mq-front > .mq-card-name { display: none; }
.mq-front.is-image-error img { display: none; }
.mq-front.is-image-error > .mq-card-fallback { display: flex; }
.mq-board[data-category="animaux"] .mq-front.is-image-error > .mq-card-fallback { display: flex; inset: 0; border-radius: 0; }
/* v211 : zoom x1,7 sur place. Seul transform utilise le GPU ; aucune
   translation et aucun recalcul de grille. Le calque laisse passer les gestes. */
.mq-card-preview-layer {
	position: fixed; z-index: 2147483000; pointer-events: none;
	opacity: 1; transform: translateZ(0) scale(1); transform-origin: center center;
	transition: transform var(--mq-preview-in-ms, 180ms) cubic-bezier(.22,.78,.22,1);
	will-change: transform; backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.mq-card-preview-layer.is-active {
	transform: translateZ(0) scale(var(--mq-preview-scale, 1.7));
}
.mq-card-preview-layer.is-leaving {
	transform: translateZ(0) scale(1);
	transition-duration: var(--mq-preview-out-ms, 200ms);
	transition-timing-function: cubic-bezier(.24,.72,.24,1);
}
.mq-card-preview-surface {
	position: absolute; inset: 0; overflow: hidden;
	border-radius: clamp(9px, 2vmin, 18px); border: 3px solid #fff;
	background: #0d4565;
	box-shadow: 0 18px 38px rgba(13,69,101,.38), 0 0 0 3px rgba(98,224,218,.2);
}
.mq-card-preview-surface img {
	width: 100%; height: 100%; max-width: none; max-height: none; display: block;
	box-sizing: border-box; padding: 4%; object-fit: contain; object-position: center;
}
.mq-card-preview-layer:is([data-category="animaux"],[data-category="nourriture"]) .mq-card-preview-surface img {
	padding: 0; object-fit: cover;
}
.mq-card-preview-layer[data-category="monde-marin"] .mq-card-preview-surface {
	background: var(--mq-marine-bg,linear-gradient(155deg,#d8fbff,#66d9ef));
}
.mq-card-preview-surface > span { display: none; }
.mq-card-preview-surface.is-image-error img { display: none; }
.mq-card-preview-surface.is-image-error > .mq-card-fallback { display: flex; inset: 0; border-radius: 0; }
.mq-card-preview-layer.is-calm { transition-duration: var(--mq-preview-in-ms,90ms); }
/* Pendant le zoom, la carte doit rester une image propre, sans nom ni
 * fallback textuel. Le !important neutralise les variantes de thème. */
.mq-card-preview-surface.mq-preview-image-only > .mq-card-name,
.mq-card-preview-surface.mq-preview-image-only > .mq-card-fallback { display: none !important; }
.mq-card.is-previewing .mq-card-name { visibility: hidden !important; }
@media (prefers-reduced-motion: reduce) {
	.mq-card-preview-layer { transition-duration: var(--mq-preview-in-ms,90ms); }
	.mq-card-preview-layer.is-leaving { transition-duration: var(--mq-preview-out-ms,90ms); }
}
.mq-card.is-done .mq-front { background: linear-gradient(168deg, #eafbf3, #d6f5e8); }
.mq-card.is-done .mq-face { border-color: #7fe3b6; }
.mq-card.is-wrong .mq-face { border-color: #ffb3ab; }

.mq-game-progress {
	display: block; flex: 0 0 3px; width: 100%; height: 3px;
	border-radius: 99px; overflow: hidden;
	background: rgba(255,255,255,.36);
}
.mq-game-progress i {
	display: block; width: 0; height: 100%; border-radius: inherit;
	background: linear-gradient(90deg, #28c873, #39d6b0);
	box-shadow: 0 0 8px rgba(40,200,115,.35);
	transition: width .38s var(--sortie);
}

/* ---------- Océan : surfaces lisibles hors partie ---------- */
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] .mq-online-head .mq-title {
	color:#f9feff;text-shadow:0 2px 8px rgba(0,46,88,.28);
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] .mq-online-head .mq-eyebrow {
	color:#a9fff4;text-shadow:0 1px 6px rgba(0,62,84,.24);
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] .mq-online-head .mq-setup-back {
	color:#0d4e86;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(226,248,252,.92));
	border:1px solid rgba(211,246,251,.92);box-shadow:0 8px 20px rgba(0,45,83,.2),inset 0 1px 0 #fff;
}

.mq-shell[data-skin="ocean"] .mq-competitive-card {
	border-color:rgba(226,250,253,.98);
}
.mq-shell[data-skin="ocean"] .mq-competitive-card::after { opacity:.55; }

/* ---------- Océan : barre de jeu, plateau et cartes ---------- */
.mq-shell[data-skin="ocean"] .mq-gamebar { padding-top:5px; }
.mq-shell[data-skin="ocean"] .mq-score-chip {
	overflow:visible;
	border-color:rgba(215,249,255,.86);
	background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(232,249,252,.94));
	box-shadow:0 4px 14px rgba(0,36,81,.23), inset 0 1px 0 #fff, inset 0 -2px 0 rgba(85,190,212,.13);
}
.mq-shell[data-skin="ocean"] .mq-score-chip::before {
	content:""; position:absolute; width:24px; height:15px; left:50%; top:-8px; translate:-50% 0;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2080%2048%22%3E%3Cpath%20d%3D%22M8%2042C12%2018%2024%206%2040%206s28%2012%2032%2036H8Z%22%20fill%3D%22%23f6fdff%22%20stroke%3D%22%23a9dbe8%22%20stroke-width%3D%223%22%2F%3E%3Cpath%20d%3D%22M40%208v32M26%2011l8%2029M54%2011l-8%2029M16%2022l13%2018M64%2022%2051%2040%22%20fill%3D%22none%22%20stroke%3D%22%23b5e3ec%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; opacity:.96; pointer-events:none;
}
.mq-shell[data-skin="ocean"] .mq-score-chip::after {
	content:""; position:absolute; width:8px; height:8px; right:5px; bottom:4px; border-radius:50%;
	background:radial-gradient(circle at 35% 28%,#fff 0 22%,#d8f6fb 42%,#98cfda 100%);
	box-shadow:0 1px 4px rgba(4,71,100,.25); opacity:.88;
}
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn {
	border-color:rgba(85,235,184,.9);
	background:linear-gradient(180deg,#fbfffe,#e9fff5);
	box-shadow:0 0 0 2px rgba(67,222,166,.18),0 5px 18px rgba(0,72,95,.25),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-game-action {
	border:1px solid rgba(202,247,255,.78) !important;
	background:linear-gradient(180deg,rgba(74,218,240,.96),rgba(20,123,211,.96)) !important;
	box-shadow:0 5px 14px rgba(0,42,96,.27),inset 0 1px 0 rgba(255,255,255,.66),inset 0 -2px 0 rgba(0,48,120,.17);
}
.mq-shell[data-skin="ocean"] .mq-game-action svg { color:#fff; filter:drop-shadow(0 2px 2px rgba(0,50,115,.22)); }
.mq-shell[data-skin="ocean"] .mq-board-wrap { isolation:isolate; border-radius:clamp(14px,2.5vmin,24px); }
.mq-shell[data-skin="ocean"] .mq-board-wrap::before {
	content:""; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit;
	border:1px solid rgba(128,229,242,.36);
	background:linear-gradient(180deg,rgba(1,48,88,.16),rgba(1,29,64,.24));
	box-shadow:inset 0 0 28px rgba(40,217,231,.12),0 10px 28px rgba(0,28,69,.18);
}
.mq-shell[data-skin="ocean"] .mq-board { position:relative; z-index:1; }
.mq-shell[data-skin="ocean"] .mq-card {
	border-radius:clamp(9px,2vmin,18px);
	transition:transform .5s cubic-bezier(.2,.82,.2,1),filter .28s ease;
}
.mq-shell[data-skin="ocean"] .mq-face {
	border-color:rgba(248,254,255,.98);
	box-shadow:0 4px 11px rgba(0,35,82,.28),inset 0 1px 0 rgba(255,255,255,.9);
}
.mq-shell[data-skin="ocean"] .mq-back {
	background:
		radial-gradient(circle at 28% 17%,rgba(255,255,255,.28),transparent 31%),
		linear-gradient(166deg,#49dce1 0%,#20b7e5 46%,#0968c8 100%);
	box-shadow:inset 0 -14px 24px rgba(0,43,112,.22),inset 0 1px 0 rgba(255,255,255,.52),0 4px 11px rgba(0,35,82,.3);
}
.mq-shell[data-skin="ocean"] .mq-back::before {
	content:""; position:absolute; inset:21%; z-index:2;
	background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23d8f7ff%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20d%3D%22M60%208c6%200%209%2022%2012%2030%208-4%2028-15%2032-10%204%205-13%2022-19%2029%208%205%2028%2014%2026%2021-2%207-27%202-36%201-2%209-7%2033-15%2033s-13-24-15-33c-9%201-34%206-36-1-2-7%2018-16%2026-21-6-7-23-24-19-29%204-5%2024%206%2032%2010%203-8%206-30%2012-30Z%22%20fill%3D%22url%28%23g%29%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224%22%20stroke-linejoin%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2257%22%20r%3D%227%22%20fill%3D%22%23bcecff%22%20opacity%3D%22.85%22%2F%3E%3Cg%20fill%3D%22%2383d7ef%22%20opacity%3D%22.8%22%3E%3Ccircle%20cx%3D%2260%22%20cy%3D%2231%22%20r%3D%222.7%22%2F%3E%3Ccircle%20cx%3D%2238%22%20cy%3D%2248%22%20r%3D%222.7%22%2F%3E%3Ccircle%20cx%3D%2282%22%20cy%3D%2248%22%20r%3D%222.7%22%2F%3E%3Ccircle%20cx%3D%2247%22%20cy%3D%2275%22%20r%3D%222.7%22%2F%3E%3Ccircle%20cx%3D%2273%22%20cy%3D%2275%22%20r%3D%222.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
	filter:drop-shadow(0 4px 5px rgba(0,55,120,.25));
}
.mq-shell[data-skin="ocean"] .mq-back::after {
	content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
	background:
		radial-gradient(circle at 17% 24%,transparent 0 2px,rgba(232,255,255,.32) 2.5px 3.2px,transparent 3.8px),
		radial-gradient(circle at 78% 37%,transparent 0 1.5px,rgba(232,255,255,.28) 2px 2.8px,transparent 3.2px),
		radial-gradient(circle at 67% 17%,transparent 0 1px,rgba(232,255,255,.3) 1.6px 2.3px,transparent 2.8px),
		linear-gradient(0deg,rgba(2,58,127,.3),transparent 42%);
	opacity:.9;
}
.mq-shell[data-skin="ocean"] .mq-front {
	border-color:#f6fdff;
	background:linear-gradient(168deg,#f9feff 0%,#e6f8fb 100%);
	box-shadow:0 5px 13px rgba(0,35,82,.3),inset 0 0 0 1px rgba(133,220,235,.25);
}
.mq-shell[data-skin="ocean"] .mq-front .mq-card-name {
	color:#073b70;
	text-shadow:0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-board:not([data-category="animaux"]) .mq-front .mq-card-name {
	max-width:94%; padding:.12em .48em; border-radius:999px;
	background:rgba(238,252,255,.9); box-shadow:0 1px 5px rgba(0,58,92,.12);
}
.mq-shell[data-skin="ocean"] .mq-board[data-category="animaux"] .mq-front { background:#073f69; }
.mq-shell[data-skin="ocean"] .mq-card.is-open:not(.is-done) .mq-front::after {
	content:""; position:absolute; inset:-35% -90%; pointer-events:none;
	background:linear-gradient(105deg,transparent 38%,rgba(214,254,255,.58) 49%,rgba(255,255,255,.84) 52%,rgba(193,247,255,.4) 56%,transparent 68%);
	transform:translateX(-48%) rotate(4deg); animation:mq-ocean-reveal .72s ease-out both;
}
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front {
	border-color:#78efd0;
	background:linear-gradient(168deg,#f0fffb,#d9f8ee);
	box-shadow:0 0 0 2px rgba(91,235,193,.22),0 0 18px rgba(58,225,204,.46),0 5px 13px rgba(0,35,82,.26);
}
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front::before {
	content:""; position:absolute; inset:-30%; pointer-events:none;
	background:radial-gradient(circle,rgba(174,255,232,.52) 0 18%,transparent 48%);
	animation:mq-ocean-match-wave .86s ease-out both;
}
.mq-shell[data-skin="ocean"] .mq-card.is-wrong .mq-face { border-color:#ff9f92; box-shadow:0 0 0 2px rgba(255,112,95,.14),0 5px 13px rgba(0,35,82,.26); }
.mq-shell[data-skin="ocean"] .mq-card.is-hint .mq-back { animation:mq-ocean-hint .7s ease-in-out 3; }
.mq-shell[data-skin="ocean"] .mq-game-progress { background:rgba(212,249,255,.22); box-shadow:inset 0 1px 3px rgba(0,20,58,.16); }
.mq-shell[data-skin="ocean"] .mq-game-progress i { background:linear-gradient(90deg,#53e6cc,#33d7db,#43efb2); box-shadow:0 0 10px rgba(58,235,211,.58); }
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface {
	border-color:#f6fdff; background:#073f69;
	box-shadow:0 20px 45px rgba(0,27,65,.46),0 0 0 3px rgba(71,220,228,.24),0 0 28px rgba(50,211,224,.22);
}
@keyframes mq-ocean-reveal { from { transform:translateX(-55%) rotate(4deg); opacity:0; } 30% { opacity:1; } to { transform:translateX(55%) rotate(4deg); opacity:0; } }
@keyframes mq-ocean-match-wave { from { transform:scale(.48); opacity:0; } 28% { opacity:1; } to { transform:scale(1.2); opacity:0; } }
@keyframes mq-ocean-hint { 50% { filter:brightness(1.22) saturate(1.12); box-shadow:0 0 20px rgba(137,248,255,.72),inset 0 -14px 24px rgba(0,43,112,.18); } }
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance i,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ocean-fish,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-card.is-open .mq-front::after,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-card.is-done .mq-front::before { animation:none !important; }
@media (prefers-reduced-motion:reduce) {
	.mq-shell[data-skin="ocean"] .mq-ambiance::before,
	.mq-shell[data-skin="ocean"] .mq-ambiance i,
	.mq-shell[data-skin="ocean"] .mq-ocean-fish,
	.mq-shell[data-skin="ocean"] .mq-card.is-open .mq-front::after,
	.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front::before { animation:none !important; }
}

/* ---------- Effets de partie : voir le bloc IMPACT SYSTEM en fin de feuille ---------- */

/* =========================================================================
   PANNEAUX MODAUX
   ========================================================================= */
.mq-sheet-layer {
	position: absolute; inset: 0; z-index: 30;
	display: flex; align-items: center; justify-content: center; padding: var(--pad);
	background: rgba(21, 60, 122, .42);
	/* pas de flou d'arrière-plan : il obligeait à refiltrer tout l'écran à chaque image (saccade à l'ouverture) */
	animation: mq-fade .24s var(--sortie);
}
@keyframes mq-fade { from { opacity: 0; } }
.mq-sheet {
	width: min(520px, 100%); max-height: 100%;
	display: flex; flex-direction: column; gap: 12px;
	padding: clamp(14px, 2.6vmin, 24px);
	border-radius: var(--r-xl); background: var(--blanc);
	box-shadow: 0 20px 50px rgba(21, 60, 122, .38);
	animation: mq-monte .4s var(--ressort);
	overflow: hidden;
}
.mq-sheet > *:nth-child(1), .mq-sheet > *:nth-child(3) { flex: 0 0 auto; }
.mq-sheet > *:nth-child(2) { flex: 1 1 auto; min-height: 0; }
@keyframes mq-monte { from { opacity: 0; transform: translateY(26px) scale(.93); } }

.mq-sheet-head { display: flex; align-items: center; gap: 12px; }
.mq-sheet-thumb {
	width: 60px; height: 60px; border-radius: var(--r-m); padding: 7px; flex: 0 0 auto;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(165deg, #f2fbff, #ddeffa); color: var(--bleu);
}
.mq-sheet-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.mq-sheet-thumb svg { width: 56%; height: 56%; }
.mq-sheet-body { display: flex; flex-direction: column; gap: 11px; }

.mq-question { font-size: 1.02rem; font-weight: 900; margin: 0; color: var(--encre); }
.mq-fact { margin: 0; color: var(--encre-2); font-weight: 700; }
.mq-fact strong { color: var(--bleu); background: var(--past-bleu); padding: 1px 5px; border-radius: 5px; }

.mq-answers { display: grid; gap: 8px; }
.mq-answers.is-duo { grid-template-columns: 1fr 1fr; }
.mq-answer {
	display: flex; align-items: center; gap: 11px; text-align: left;
	padding: 12px 14px; border-radius: var(--r-m); color: var(--encre); font-weight: 800;
	background: #f5f9fd; border: 2px solid #e2ecf6;
	transition: transform .15s var(--ressort), background .2s, border-color .2s;
}
.mq-answer:active { transform: scale(.98); }
.mq-answer b { width: 28px; height: 28px; flex: 0 0 auto; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--bleu); font-size: .82rem; box-shadow: var(--ombre); }
.mq-answer.is-right { border-color: var(--vert); background: #eefbe9; }
.mq-answer.is-right b { background: var(--vert); color: #fff; }
.mq-answer.is-wrong { border-color: var(--rouge); background: #fdeceb; }
.mq-answer.is-wrong b { background: var(--rouge); color: #fff; }

.mq-verdict { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: var(--r-m); border: 2px solid; }
.mq-verdict.is-right { background: #eefbe9; border-color: var(--vert); }
.mq-verdict.is-wrong { background: #fdeceb; border-color: var(--rouge); }
.mq-verdict strong { font-weight: 900; font-size: 1rem; }
.mq-verdict p { margin: 0; font-size: .86rem; color: var(--encre-2); font-weight: 700; }
.mq-verdict span { font-weight: 900; font-variant-numeric: tabular-nums; color: var(--or-2); }

.mq-input { width: 100%; padding: 13px 15px; border-radius: var(--r-m); font: inherit; font-weight: 800; color: var(--encre); background: #f5f9fd; border: 2px solid #e2ecf6; }
.mq-input::placeholder { color: var(--encre-3); }
.mq-hintbar { display: flex; justify-content: space-between; align-items: center; font-size: .8rem; font-weight: 900; color: var(--encre-2); font-variant-numeric: tabular-nums; }
.mq-hintbar b { color: var(--or-2); }

/* ---------- Victoire ---------- */
.mq-victoire { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.mq-victoire h3 { font-size: clamp(1.4rem, 5vmin, 2.2rem); font-weight: 900; letter-spacing: -.045em; margin: 0; }
.mq-victoire p { margin: 0; color: var(--encre-2); font-weight: 800; font-size: .86rem; }
.mq-recompense { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 12px; border-radius: var(--r-l); background: #f5f9fd; }
.mq-recompense span { width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; background: radial-gradient(circle at 34% 28%, #ffe08a, var(--or) 52%, var(--or-2)); color: #7a4a00; }
.mq-recompense span svg { width: 22px; height: 22px; stroke-width: 3; }
.mq-recompense b { font-size: clamp(1.4rem, 4.6vmin, 2.1rem); font-weight: 900; color: var(--encre); font-variant-numeric: tabular-nums; }
.mq-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mq-result-grid div { padding: 10px 6px; border-radius: var(--r-m); text-align: center; background: #f5f9fd; }
.mq-result-grid small { display: block; font-size: .6rem; color: var(--encre-2); font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.mq-result-grid strong { font-size: 1.2rem; font-weight: 900; font-variant-numeric: tabular-nums; color: var(--bleu); }
.mq-ruban { align-self: center; padding: 7px 22px; border-radius: var(--r-pill); background: var(--degrade); color: #fff; font-weight: 900; font-size: .82rem; letter-spacing: .08em; box-shadow: var(--ombre-forte); animation: mq-ruban .6s var(--ressort) both; }
@keyframes mq-ruban { from { opacity: 0; transform: scale(.5) rotate(-5deg); } }

.mq-confettis { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 35; }
.mq-confettis i { position: absolute; top: -8%; width: 9px; height: 14px; border-radius: 3px; left: var(--x); background: var(--c); animation: mq-chute var(--d) linear var(--r) forwards; will-change: transform, opacity; }
.mq-confettis .mq-fx-burst { position: absolute; left: 50%; top: 38%; width: 8px; height: 8px; margin: -4px; border-radius: 50%; background: var(--c); animation: mq-fx-burst .9s var(--sortie) forwards; will-change: transform, opacity; }
@keyframes mq-fx-burst { 0% { transform: rotate(calc(var(--a) * 1deg)) translateY(0) scale(1.4); opacity: 1; } 100% { transform: rotate(calc(var(--a) * 1deg)) translateY(-150px) scale(.2); opacity: 0; } }
@keyframes mq-chute { 0% { opacity: 1; transform: translateY(0) rotate(0deg); } 100% { opacity: .05; transform: translateY(115vh) rotate(820deg); } }

/* =========================================================================
   HISTOIRE V2 — parcours serpentin qui occupe toute la hauteur
   ========================================================================= */
.mq-histoire-tete { display: flex; flex-direction: column; gap: 7px; }
.mq-histoire-titre { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.mq-histoire-total {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 5px;
	padding: 5px 12px; border-radius: var(--r-pill);
	background: var(--blanc); box-shadow: var(--ombre);
	font-weight: 900; font-size: .82rem; color: var(--or-2); font-variant-numeric: tabular-nums;
}

/* Pastilles de chapitre, compactes */
.mq-chapters { display: flex; gap: 7px; overflow-x: auto; padding: 3px 2px 5px; scrollbar-width: none; }
.mq-chapters::-webkit-scrollbar { display: none; }
.mq-chapter {
	flex: 0 0 auto; width: clamp(56px, 13vmin, 74px);
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	padding: 7px 4px; border-radius: var(--r-m);
	background: var(--blanc); box-shadow: var(--ombre); border: 2px solid transparent;
	transition: transform .2s var(--ressort), border-color .2s, box-shadow .22s;
	animation: mq-chapitre-in .42s var(--sortie) backwards;
	animation-delay: calc(var(--d, 0) * 1ms);
}
@keyframes mq-chapitre-in { from { opacity: 0; transform: translateY(-12px) scale(.8); } }
.mq-chapter b {
	width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: #eef4fa; color: var(--encre-2); font-size: .8rem; font-weight: 900;
}
.mq-chapter small { font-size: .62rem; font-weight: 900; color: var(--encre-2); font-variant-numeric: tabular-nums; }
.mq-chapter[aria-current="true"] {
	border-color: var(--turq); transform: translateY(-3px);
	box-shadow: 0 0 0 3px rgba(22, 196, 206, .16), var(--ombre-forte);
}
.mq-chapter[aria-current="true"] b { background: var(--degrade); color: #fff; }
.mq-chapter[aria-current="true"] small { color: var(--turq-2); }
.mq-chapter.is-locked { opacity: .5; }
.mq-chapter.is-locked b { background: #e3eaf3; }

/* Le parcours */
.mq-chemin {
	position: relative; min-height: 0;
	display: grid; grid-template-columns: 1fr 1fr;
	grid-auto-rows: minmax(0, 1fr); gap: clamp(2px, .8vmin, 8px) clamp(10px, 3vmin, 26px);
	padding: 2px 0;
}
.mq-chemin::before {
	content: ""; position: absolute; left: 50%; top: 4%; bottom: 4%; width: 5px;
	transform: translateX(-50%); border-radius: 99px;
	background: repeating-linear-gradient(180deg, rgba(21, 60, 122, .14) 0 7px, transparent 7px 16px);
}
.mq-chemin-trace {
	position: absolute; left: 50%; top: 4%; width: 5px; transform: translateX(-50%);
	border-radius: 99px; background: linear-gradient(180deg, var(--turq), #3ad8ac);
	box-shadow: 0 0 12px rgba(22, 196, 206, .6);
	transition: height .9s var(--sortie);
}

.mq-jalon {
	position: relative; z-index: 1; min-width: 0;
	display: flex; align-items: center; gap: clamp(6px, 1.6vmin, 12px);
	padding: 4px 6px; border-radius: var(--r-l);
	animation: mq-jalon-in .5s var(--ressort) backwards;
	animation-delay: calc(var(--d, 0) * 1ms);
	transition: transform .18s var(--ressort);
}
@keyframes mq-jalon-in { from { opacity: 0; transform: translateY(18px) scale(.65); } }
.mq-jalon:nth-child(even) { flex-direction: row-reverse; text-align: right; }
.mq-jalon:active { transform: scale(.94); }

.mq-jalon-pastille {
	position: relative; flex: 0 0 auto;
	width: clamp(42px, 9.5vmin, 64px); height: clamp(42px, 9.5vmin, 64px);
	border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: #d9e4f0; color: #fff;
	font-size: clamp(.9rem, 2.4vmin, 1.25rem); font-weight: 900; font-variant-numeric: tabular-nums;
	border: 3px solid #fff; box-shadow: var(--ombre);
}
.mq-jalon-pastille svg { width: 46%; height: 46%; stroke-width: 3; }
.mq-jalon-txt { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mq-jalon-txt strong {
	font-size: clamp(.68rem, 1.8vmin, .88rem); font-weight: 900; color: var(--encre);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mq-jalon-etoiles { display: flex; gap: 2px; }
.mq-jalon:nth-child(even) .mq-jalon-etoiles { justify-content: flex-end; }

.mq-jalon.is-open .mq-jalon-pastille { background: var(--degrade); box-shadow: 0 4px 10px rgba(31, 106, 192, .34); }
.mq-jalon.is-done .mq-jalon-pastille { background: linear-gradient(150deg, #5fd94f, var(--vert-2)); }
.mq-jalon.is-boss .mq-jalon-pastille { background: linear-gradient(150deg, #ffd45e, var(--or-2)); color: #6b3f00; }
.mq-jalon.is-locked { opacity: .55; pointer-events: none; }
.mq-jalon.is-duel .mq-jalon-pastille::after {
	content: "IA"; position: absolute; top: -6px; right: -8px;
	padding: 2px 6px; border-radius: 99px; font-size: .52rem; font-weight: 900; color: #fff;
	background: linear-gradient(150deg, #a97cf8, #7c4ddb); border: 2px solid #fff;
}

/* Niveau courant : halo qui respire */
.mq-jalon.is-current .mq-jalon-pastille { position: relative; box-shadow: 0 4px 10px rgba(31, 106, 192, .34); }
.mq-jalon.is-current .mq-jalon-pastille::after { content: ""; position: absolute; inset: -3px; border-radius: inherit; border: 3px solid rgba(22, 196, 206, .55); animation: mq-halo 2s var(--ease) infinite; pointer-events: none; }
@keyframes mq-halo { 0% { opacity: .9; transform: scale(1); } 60%, 100% { opacity: 0; transform: scale(1.55); } }

/* Tampon de validation au retour d'un niveau réussi */
.mq-jalon.is-stamping .mq-jalon-pastille { animation: mq-tampon-jalon .7s var(--ressort) both; }
@keyframes mq-tampon-jalon {
	0% { transform: scale(2.4) rotate(-30deg); opacity: 0; }
	55% { transform: scale(.85) rotate(6deg); opacity: 1; }
	100% { transform: scale(1) rotate(0); opacity: 1; }
}
/* Déverrouillage du niveau suivant */
.mq-jalon.is-unlocking .mq-jalon-pastille { animation: mq-ouverture .8s var(--ressort) .5s both; }
@keyframes mq-ouverture {
	0% { transform: scale(.5); filter: grayscale(1) brightness(1.6); }
	60% { transform: scale(1.22); filter: none; }
	100% { transform: scale(1); filter: none; }
}
.mq-jalon.is-unlocking::before {
	content: ""; position: absolute; left: var(--ox, 8%); top: 50%; width: 30px; height: 30px;
	margin: -15px 0 0 -15px; border-radius: 50%; border: 4px solid var(--turq);
	animation: mq-onde-jalon .9s var(--sortie) .5s both;
}
@keyframes mq-onde-jalon { 0% { opacity: .9; transform: scale(.3); } 100% { opacity: 0; transform: scale(4.5); } }

/* Carte de mission : titre, mesures, bouton pleine largeur */
.mq-mission {
	display: flex; flex-direction: column; gap: 9px;
	padding: 12px 14px; border-radius: var(--r-xl);
	background: var(--blanc); box-shadow: var(--ombre-forte);
	animation: mq-mission-in .45s var(--sortie) both;
}
@keyframes mq-mission-in { from { opacity: 0; transform: translateY(22px); } }
.mq-mission-tete { display: flex; align-items: center; gap: 11px; }
.mq-mission-num {
	flex: 0 0 auto; width: 42px; height: 42px; border-radius: 14px;
	display: flex; align-items: center; justify-content: center;
	background: var(--degrade); color: #fff; font-weight: 900; font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
}
.mq-mission-tete > div { flex: 1 1 auto; min-width: 0; }
.mq-mission-tete small { display: block; font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre-2); font-weight: 900; }
.mq-mission-tete strong { display: block; font-size: 1rem; font-weight: 900; color: var(--encre); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mq-mission-meta { display: flex; flex-wrap: wrap; gap: 5px; }
.mq-mission .mq-btn { width: 100%; }
.mq-tag {
	display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border-radius: var(--r-pill);
	font-size: .7rem; font-weight: 900; background: #f0f6fc; color: var(--encre);
	font-variant-numeric: tabular-nums; white-space: nowrap;
}
.mq-tag svg { width: 12px; height: 12px; color: var(--turq-2); stroke-width: 2.6; }

/* =========================================================================
   ÉTOILES — une seule pièce, trois tailles
   ========================================================================= */
.mq-etoile { position: relative; flex: 0 0 auto; display: inline-block; line-height: 0; overflow: visible; }
.mq-etoile svg { width: 100%; height: 100%; overflow: visible; display: block; }
/* Étoile bijou : or radial, ombrage, liseré, reflet, socle cuivré ; vide en verre givré. */
.mq-etoile .e-vide { fill: url(#mq-st-empty); stroke: rgba(21, 60, 122, .16); stroke-width: .8; stroke-linejoin: round; }
.mq-etoile .e-plein { clip-path: inset(-20% calc(100% - var(--f, 0%)) -20% -20%); }
.mq-etoile .e-socle { fill: #b8650a; opacity: .9; }
.mq-etoile .e-corps { fill: url(#mq-st-core); }
.mq-etoile .e-ombre { fill: url(#mq-st-shade); }
.mq-etoile .e-liseret { fill: none; stroke: url(#mq-st-rim); stroke-width: 1.1; stroke-linejoin: round; }
.mq-etoile .e-lueur { fill: url(#mq-st-gloss); opacity: .85; }
.mq-etoile .e-point { fill: #fff; opacity: .9; }
.mq-etoile.is-full svg { filter: drop-shadow(0 0 3px rgba(255, 190, 60, .5)) drop-shadow(0 4px 7px rgba(214, 124, 14, .3)); }
.mq-shell[data-skin="nuit"] .mq-etoile .e-vide, .mq-shell[data-skin="grenat"] .mq-etoile .e-vide, .mq-shell[data-skin="ardoise"] .mq-etoile .e-vide { fill: rgba(255, 255, 255, .1); stroke: rgba(255, 255, 255, .22); }
.mq-etoile-mini { width: clamp(9px, 2.1vmin, 14px); height: clamp(9px, 2.1vmin, 14px); }
.mq-etoile-moyen { width: clamp(16px, 3.6vmin, 24px); height: clamp(16px, 3.6vmin, 24px); }
.mq-etoile-geant { width: clamp(44px, 11vmin, 82px); height: clamp(44px, 11vmin, 82px); }

.mq-stars { display: flex; gap: clamp(5px, 1.6vmin, 12px); justify-content: center; align-items: center; padding: 4px 0; }
.mq-stars .mq-etoile-geant:nth-child(2) { width: clamp(52px, 13vmin, 96px); height: clamp(52px, 13vmin, 96px); }
.mq-stars .mq-etoile { opacity: 0; transform: scale(.2) rotate(-40deg); }
.mq-stars .mq-etoile.is-lit { animation: mq-star-in .6s cubic-bezier(.22, 1.6, .36, 1) both; }
@keyframes mq-star-in { to { opacity: 1; transform: none; } }
.mq-stars .mq-etoile .e-plein { transition: clip-path .55s var(--ease); }
.mq-stars .mq-etoile:not(.is-lit) .e-plein { clip-path: inset(-20% 100% -20% -20%); }
.mq-stars .mq-etoile.is-full.is-lit svg { animation: mq-star-breathe 3.2s ease-in-out 1.2s infinite; }
@keyframes mq-star-breathe { 50% { transform: scale(1.05); } }
.mq-star-spark { position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px; border-radius: 50%; background: #fff6c8; box-shadow: 0 0 10px var(--or); animation: mq-star-spark .7s var(--sortie) forwards; pointer-events: none; }
@keyframes mq-star-spark { 0% { transform: rotate(calc(var(--a) * 1deg)) translateY(0) scale(1.4); opacity: 1; } 100% { transform: rotate(calc(var(--a) * 1deg)) translateY(-26px) scale(.2); opacity: 0; } }
.mq-star-flash { position: absolute; inset: -30%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 240, 180, .9), transparent 65%); animation: mq-star-flash .5s var(--sortie) forwards; pointer-events: none; }
@keyframes mq-star-flash { 0% { opacity: 1; transform: scale(.4); } 100% { opacity: 0; transform: scale(1.4); } }
.mq-shell[data-motion="calme"] .mq-stars .mq-etoile { opacity: 1; transform: none; animation: none !important; }
.mq-shell[data-motion="calme"] .mq-stars .mq-etoile svg { animation: none !important; }
.mq-shell[data-motion="calme"] .mq-star-spark, .mq-shell[data-motion="calme"] .mq-star-flash { display: none; }

/* ---------- Réglages ---------- */
.mq-rows { display: flex; flex-direction: column; gap: 8px; padding: 2px 2px 6px; }
.mq-row { display: flex; align-items: center; gap: 13px; text-align: left; padding: 13px 15px; border-radius: var(--r-l); background: var(--blanc); box-shadow: var(--ombre); }
.mq-row > span:first-child { flex: 1 1 auto; min-width: 0; }
.mq-row strong { display: block; font-weight: 900; }
.mq-row small { display: block; color: var(--encre-2); font-size: .78rem; font-weight: 700; }
.mq-switch { width: 50px; height: 29px; border-radius: 99px; flex: 0 0 auto; position: relative; background: #dbe5f0; transition: background .25s var(--ease); }
.mq-switch i { position: absolute; top: 3px; left: 3px; width: 23px; height: 23px; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px rgba(21, 60, 122, .3); transition: transform .3s var(--ressort); }
.mq-row[aria-pressed="true"] .mq-switch { background: linear-gradient(120deg, var(--turq), #3ad8ac); }
.mq-row[aria-pressed="true"] .mq-switch i { transform: translateX(21px); }
.mq-range { width: 100%; accent-color: var(--turq); }

/* ---------- Message flottant ---------- */
.mq-toast {
	position: absolute; left: 50%; bottom: calc(var(--pad) + 10px);
	transform: translateX(-50%) translateY(20px);
	padding: 11px 20px; border-radius: var(--r-pill); z-index: 40; pointer-events: none;
	max-width: calc(100% - 2 * var(--pad)); text-align: center;
	color: #fff; font-weight: 900; font-size: .86rem;
	background: var(--degrade); box-shadow: var(--ombre-forte);
	opacity: 0; transition: opacity .22s var(--ease), transform .36s var(--ressort);
}
.mq-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }

/* =========================================================================
   MemoQuest 6.31.0 — Histoire et révélation Apprentissage
   ========================================================================= */

/* Les trois zones du mode Histoire occupent exactement la hauteur utile : la
   carte de mission et son action ne peuvent plus être repoussées sous l'écran. */
.mq-view[data-view="histoire"] {
	display:grid;
	grid-template-rows:auto minmax(0,1fr) auto;
	overflow:hidden;
}
.mq-view[data-view="histoire"] .mq-chemin { overflow:hidden; }
.mq-view[data-view="histoire"] .mq-mission {
	position:relative;
	z-index:4;
	flex:0 0 auto;
	padding:clamp(9px,1.45vh,13px) clamp(12px,3.6vw,16px);
	border:1px solid rgba(255,255,255,.92);
	box-shadow:0 14px 34px rgba(21,60,122,.2),inset 0 1px 0 #fff;
}
.mq-view[data-view="histoire"] .mq-mission .mq-btn-primary {
	min-height:clamp(48px,6.8vh,58px);
	border:1px solid rgba(255,255,255,.5);
	background:linear-gradient(112deg,#087de2 0%,#1768d4 52%,#1859bb 100%);
	box-shadow:0 7px 0 #0a479e,0 13px 23px rgba(10,79,174,.24),inset 0 1px 0 rgba(255,255,255,.35);
	letter-spacing:.01em;
}
.mq-view[data-view="histoire"] .mq-mission .mq-btn-primary:active {
	transform:translateY(4px);
	box-shadow:0 3px 0 #0a479e,0 7px 13px rgba(10,79,174,.2),inset 0 1px 0 rgba(255,255,255,.28);
}

/* Présentation du Commandant du Conseil. */
.mq-council-layer {
	position:absolute;inset:0;z-index:90;display:grid;place-items:center;
	padding:max(14px,env(safe-area-inset-top)) var(--pad) max(14px,env(safe-area-inset-bottom));
	background:radial-gradient(circle at 50% 18%,rgba(40,202,204,.24),transparent 34%),rgba(3,22,43,.86);
	animation:mq-council-layer-in .35s ease-out both;
}
.mq-council-layer.is-leaving { animation:mq-council-layer-out .25s ease-in both;pointer-events:none; }
@keyframes mq-council-layer-in { from{opacity:0} }
@keyframes mq-council-layer-out { to{opacity:0;transform:scale(1.015)} }
.mq-council-card {
	position:relative;width:min(430px,100%);max-height:100%;overflow:hidden;
	display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.7vh,16px);
	padding:clamp(15px,2.7vh,24px);border-radius:30px;
	background:linear-gradient(165deg,#faffff 0%,#edfafa 62%,#fff8e7 100%);
	border:1px solid rgba(255,255,255,.96);
	box-shadow:0 28px 70px rgba(0,9,27,.48),0 0 0 1px rgba(61,213,210,.18),inset 0 1px 0 #fff;
	animation:mq-council-card-in .68s cubic-bezier(.2,1.16,.3,1) both;
}
@keyframes mq-council-card-in { from{opacity:0;transform:translateY(34px) scale(.9)} }
.mq-council-card>header { width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0d6075;font-size:.67rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase; }
.mq-council-steps { display:flex;gap:5px; }
.mq-council-steps i { width:7px;height:7px;border-radius:99px;background:#c7dde4;transition:width .3s,background .3s; }
.mq-council-steps i.is-on { width:22px;background:linear-gradient(90deg,#17c6c4,#237cda); }
.mq-council-portrait { position:relative;width:min(48%,178px);aspect-ratio:1;display:grid;place-items:center;margin-top:2px; }
.mq-council-portrait img { position:relative;z-index:2;width:82%;height:82%;object-fit:cover;border-radius:50%;border:5px solid #fff;box-shadow:0 14px 30px rgba(9,64,93,.22),0 0 0 3px #e9bd4d; }
.mq-council-portrait b { position:absolute;z-index:3;left:50%;bottom:-2px;transform:translateX(-50%);width:max-content;max-width:180%;padding:6px 12px;border-radius:999px;background:#0b526d;color:#fff;border:2px solid #fff;font-size:.66rem;font-weight:950;box-shadow:0 6px 14px rgba(7,50,75,.22); }
.mq-council-orbit { position:absolute;inset:1%;border:1px solid rgba(17,183,189,.35);border-radius:50%;animation:mq-council-orbit 8s linear infinite; }
.mq-council-orbit:before,.mq-council-orbit:after { content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#e9bd4d;box-shadow:0 0 14px rgba(233,189,77,.8); }
.mq-council-orbit:before { left:8%;top:18%; }.mq-council-orbit:after { right:4%;bottom:24%; }
@keyframes mq-council-orbit { to{transform:rotate(360deg)} }
.mq-council-message { width:100%;min-height:126px;padding:17px 18px;border-radius:22px;text-align:center;background:#fff;border:1px solid #d9ecef;box-shadow:0 10px 25px rgba(15,84,111,.1); }
.mq-council-message.is-changing { animation:mq-council-copy .42s cubic-bezier(.2,.85,.3,1) both; }
@keyframes mq-council-copy { from{opacity:.15;transform:translateX(14px)} }
.mq-council-message small { color:#13a3a9;font-weight:950;letter-spacing:.08em;text-transform:uppercase; }
.mq-council-message h3 { margin:7px 0 6px;color:#103b69;font-size:clamp(1.18rem,5vw,1.55rem);line-height:1.05;font-weight:950; }
.mq-council-message p { margin:0;color:#516d82;font-size:clamp(.78rem,3.1vw,.94rem);line-height:1.42;font-weight:760; }
.mq-council-next { width:100%;min-height:52px;background:linear-gradient(110deg,#087de2,#1859bb)!important;box-shadow:0 6px 0 #0a479e,0 12px 20px rgba(10,79,174,.22)!important; }

/* Révélation d'une paire en mode Apprentissage. */
.mq-learning-reveal { position:absolute;inset:0;z-index:95;overflow:hidden;isolation:isolate; }
.mq-learning-shade { position:absolute;inset:0;background:radial-gradient(circle at 50% 22%,rgba(43,209,203,.2),transparent 31%),rgba(3,20,40,.82);animation:mq-learning-fade .28s ease-out both; }
@keyframes mq-learning-fade { from{opacity:0} }
.mq-learning-stage { position:absolute;inset:0; }
.mq-learning-pair { position:absolute;inset:0; }
.mq-learning-card {
	position:absolute;z-index:3;overflow:hidden;border-radius:clamp(15px,4vw,22px);
	background:#0d4565;border:4px solid #fff;
	box-shadow:0 18px 40px rgba(0,9,25,.42),0 0 0 2px rgba(238,191,70,.82);
	transition:left .72s cubic-bezier(.16,.92,.28,1),top .72s cubic-bezier(.16,.92,.28,1),width .72s cubic-bezier(.16,.92,.28,1),height .72s cubic-bezier(.16,.92,.28,1),transform .25s ease,opacity .25s ease;
	will-change:left,top,width,height;
}
.mq-learning-card img { width:100%;height:100%;display:block;object-fit:cover; }
.mq-learning-card>span { width:100%;height:100%;display:grid;place-items:center;padding:8px;color:#fff;font-weight:900;text-align:center; }
.mq-learning-reveal.is-gathered .mq-learning-card:first-child { transform:rotate(-2.5deg); }
.mq-learning-reveal.is-gathered .mq-learning-card:nth-child(2) { transform:rotate(2.5deg); }
.mq-learning-link { position:absolute;z-index:4;left:50%;top:calc(max(54px,min(17vh,138px)) + 34px);width:0;height:4px;transform:translateX(-50%);border-radius:99px;background:linear-gradient(90deg,#f5ca55,#fff4b8,#f5ca55);box-shadow:0 0 16px rgba(245,202,85,.82);opacity:0; }
.mq-learning-reveal.is-gathered .mq-learning-link { animation:mq-learning-link .42s ease-out .55s forwards; }
@keyframes mq-learning-link { to{width:35%;opacity:1} }
.mq-learning-check { position:absolute;z-index:8;left:50%;top:calc(max(54px,min(17vh,138px)) + 54px);width:55px;height:55px;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.25) rotate(-18deg);border-radius:50%;background:linear-gradient(145deg,#36d88c,#159e66);color:#fff;border:4px solid #f4c84d;box-shadow:0 10px 24px rgba(0,55,51,.34),0 0 0 5px rgba(255,255,255,.92);font-size:30px;font-weight:950;opacity:0; }
.mq-learning-reveal.is-gathered .mq-learning-check { animation:mq-learning-check .52s cubic-bezier(.18,1.45,.35,1) .62s forwards; }
@keyframes mq-learning-check { to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)} }
.mq-learning-bubble {
	position:absolute;z-index:7;left:clamp(18px,7vw,38px);right:clamp(18px,7vw,38px);top:min(49vh,405px);
	min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:12px;
	padding:19px 15px 18px 20px;border-radius:23px;background:#fff;border:2px solid #ccebea;
	box-shadow:0 20px 48px rgba(0,8,24,.36);opacity:0;transform:translateY(-18px) scale(.82);transform-origin:50% -24px;
}
.mq-learning-bubble:before { content:"";position:absolute;left:50%;top:-14px;width:25px;height:25px;transform:translateX(-50%) rotate(45deg);border-left:2px solid #ccebea;border-top:2px solid #ccebea;background:#fff;border-radius:6px 0 0; }
.mq-learning-reveal.is-gathered .mq-learning-bubble { animation:mq-learning-bubble .58s cubic-bezier(.2,1.2,.3,1) .82s forwards; }
@keyframes mq-learning-bubble { to{opacity:1;transform:none} }
.mq-learning-bubble p { margin:0;color:#153c5a;font-size:clamp(1rem,4.1vw,1.24rem);line-height:1.36;font-weight:850;letter-spacing:-.015em;opacity:0;transform:translateY(8px); }
.mq-learning-reveal.is-gathered .mq-learning-bubble p { animation:mq-learning-copy .48s ease-out 1.15s forwards; }
@keyframes mq-learning-copy { to{opacity:1;transform:none} }
.mq-learning-bubble p strong { position:relative;color:#078d92;background:none;padding:0;font-weight:950; }
.mq-learning-bubble p strong:after { content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:99px;background:#efbd3d;transform:scaleX(0);transform-origin:left; }
.mq-learning-reveal.is-gathered .mq-learning-bubble p strong:after { animation:mq-learning-underline .45s ease-out 1.5s forwards; }
@keyframes mq-learning-underline { to{transform:scaleX(1)} }
.mq-learning-next {
	position:relative;z-index:2;width:48px;height:48px;display:grid;place-items:center;padding:0;
	border-radius:16px;border:1px solid rgba(255,255,255,.62);
	background:linear-gradient(145deg,#148be8,#0b66ca 58%,#0754ae);color:#fff;
	box-shadow:0 5px 0 #06458f,0 10px 18px rgba(7,83,175,.25),inset 0 1px 0 rgba(255,255,255,.38);
	font:900 1.65rem/1 ui-rounded,system-ui,sans-serif;opacity:0;transform:translateX(-8px) scale(.78);
	transition:transform .14s ease,box-shadow .14s ease;
}
.mq-learning-reveal.is-gathered .mq-learning-next { animation:mq-learning-next .4s cubic-bezier(.2,1.25,.3,1) 1.58s forwards; }
@keyframes mq-learning-next { to{opacity:1;transform:none} }
.mq-learning-next:active { transform:translateY(3px)!important;box-shadow:0 2px 0 #06458f,0 5px 10px rgba(7,83,175,.2); }
.mq-learning-next:focus-visible { outline:3px solid rgba(35,184,223,.42);outline-offset:3px; }
.mq-learning-reveal.is-leaving .mq-learning-card,.mq-learning-reveal.is-leaving .mq-learning-bubble,.mq-learning-reveal.is-leaving .mq-learning-check { opacity:0!important;transform:translateY(-8px) scale(.94)!important; }
.mq-learning-reveal.is-leaving .mq-learning-shade { opacity:0;transition:opacity .25s; }

@media (max-height:720px) {
	.mq-view[data-view="histoire"] .mq-mission-meta { display:none; }
	.mq-view[data-view="histoire"] .mq-mission { gap:7px;padding-block:8px; }
	.mq-council-card { gap:8px;padding:13px; }
	.mq-council-portrait { width:min(36%,132px); }
	.mq-council-message { min-height:108px;padding:13px 15px; }
	.mq-learning-bubble { top:min(52vh,340px);min-height:96px;padding-block:14px; }
}
@media (prefers-reduced-motion:reduce) {
	.mq-council-orbit{animation:none}.mq-learning-card{transition-duration:.12s}
}
.mq-shell[data-motion="calme"] .mq-council-orbit { animation:none; }
.mq-shell[data-motion="calme"] .mq-learning-card { transition-duration:.12s; }
.mq-shell[data-motion="calme"] .mq-learning-link,.mq-shell[data-motion="calme"] .mq-learning-check,.mq-shell[data-motion="calme"] .mq-learning-bubble,.mq-shell[data-motion="calme"] .mq-learning-bubble p,.mq-shell[data-motion="calme"] .mq-learning-next { animation-delay:0s!important;animation-duration:.12s!important; }

/* ---------- Navigation basse ---------- */
.mq-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 6px; border-radius: var(--r-xl); background: var(--blanc); box-shadow: var(--ombre-forte); }
.mq-nav button { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 3px 9px; border-radius: var(--r-m); color: var(--encre-3); position: relative; transition: color .2s, background .22s, transform .18s var(--ressort); }
.mq-nav button svg { width: 21px; height: 21px; stroke-width: 2.4; }
.mq-nav button small { font-size: .62rem; font-weight: 900; }
.mq-nav button.is-on { color: var(--turq-2); background: var(--past-ciel); }
.mq-nav button.is-on::after { content: ""; position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); width: 18px; height: 3px; border-radius: 99px; background: var(--turq); }
.mq-nav button:active { transform: scale(.93); }
.mq-nav .mq-badge { position: absolute; top: 1px; right: calc(50% - 22px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; display: flex; align-items: center; justify-content: center; background: var(--rouge); color: #fff; font-size: .6rem; font-weight: 900; border: 2px solid #fff; animation: mq-badge 1.8s var(--ease) infinite; }

/* =========================================================================
   ADAPTATIONS DE HAUTEUR — le contenu se comprime avant de disparaître
   ========================================================================= */
@media (max-height: 780px) {
	.mq-tuile small { display: none; }
	.mq-lede { display: none; }
}
@media (max-height: 680px) {
	
	.mq-nav button small { font-size: .58rem; }
}
@media (max-height: 600px) {
	.mq-demo { height: clamp(40px, 8vmin, 62px); }
	.mq-wordmark { font-size: clamp(1.25rem, 5vmin, 1.8rem); }
	.mq-vignette strong { display: none; }
}
@media (max-width: 380px) {
	.mq-profil-info strong { display: none; }
	.mq-answers.is-duo { grid-template-columns: 1fr; }
	.mq-stat small { font-size: .52rem; }
}
@media (min-width: 700px) {
	.mq-app { max-width: 560px; margin: 0 auto; width: 100%; }
	.mq-sheet-layer { left:50%; right:auto; width:min(560px,100%); transform:translateX(-50%); }
}

@media (max-height: 720px) {
	.mq-view[data-view="accueil"] .mq-demo { height: clamp(62px, 13vmin, 110px); }
	.mq-view[data-view="accueil"] .mq-wordmark { font-size: clamp(1.8rem, 7.2vmin, 3rem); }
	
	.mq-view[data-view="accueil"] .mq-play { min-height: 54px; }
}
@media (max-width: 430px) {
	.mq-top { gap: 5px; padding-inline: 7px; }
	.mq-profil-info strong { display: none; }
	.mq-play { width: 82%; }
}

/* Animations réduites */
.mq-shell[data-motion="calme"] *,
.mq-shell[data-motion="calme"] *::before,
.mq-shell[data-motion="calme"] *::after {
	animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .1s !important;
}
.mq-shell[data-motion="calme"] .mq-card { transition-duration: .22s !important; }
.mq-shell[data-motion="calme"] .mq-ambiance,
.mq-shell[data-motion="calme"] .mq-confettis,
.mq-shell[data-motion="calme"] .mq-fx-dot,
.mq-shell[data-motion="calme"] .mq-fx-rays,
.mq-shell[data-motion="calme"] .mq-fx-ring,
.mq-shell[data-motion="calme"] .mq-fx-ember,
.mq-shell[data-motion="calme"] .mq-fx-fly,
.mq-shell[data-motion="calme"] .mq-fx-flash,
.mq-shell[data-motion="calme"] .mq-fx-heat,
.mq-shell[data-motion="calme"] .mq-fx-aura,
.mq-shell[data-motion="calme"] .mq-fx-sweep,
.mq-shell[data-motion="calme"] .mq-fx-burst { display: none; }
.mq-shell[data-motion="calme"] .mq-fx-gain,
.mq-shell[data-motion="calme"] .mq-fx-combo { animation: mq-fx-calm .8s var(--sortie) forwards !important; }
.mq-shell[data-motion="calme"] .mq-board { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
	.mq-shell *, .mq-shell *::before, .mq-shell *::after {
		animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .12s !important;
	}
	.mq-shell .mq-ambiance, .mq-shell .mq-confettis, .mq-shell .mq-fx-dot, .mq-shell .mq-fx-rays,
	.mq-shell .mq-fx-ring, .mq-shell .mq-fx-ember, .mq-shell .mq-fx-fly, .mq-shell .mq-fx-flash,
	.mq-shell .mq-fx-heat, .mq-shell .mq-fx-aura, .mq-shell .mq-fx-sweep, .mq-shell .mq-fx-burst { display: none; }
	.mq-shell .mq-fx-gain, .mq-shell .mq-fx-combo { animation: mq-fx-calm .8s var(--sortie) forwards !important; }
	.mq-shell .mq-board { animation: none !important; }
}

/* =========================================================================
   ACCUEIL 6.1.6 — composition fidèle à la maquette de référence
   Ce bloc est volontairement limité à l'écran Accueil afin de ne pas
   modifier la géométrie des écrans Histoire, Boutique et Réglages.
   ========================================================================= */
.mq-shell[data-screen="accueil"] {
	--home-blue-1: #20b8ee;
	--home-blue-2: #78d7f5;
	--home-blue-3: #d8f1fb;
	--home-cream: #fff1d2;
	background:
		radial-gradient(circle at 12% 24%, rgba(255,255,255,.32) 0 1px, transparent 2px),
		radial-gradient(circle at 86% 30%, rgba(255,255,255,.42) 0 1.4px, transparent 2.5px),
		linear-gradient(180deg, var(--home-blue-1) 0%, var(--home-blue-2) 24%, var(--home-blue-3) 53%, #eef8f1 72%, var(--home-cream) 100%);
	background-size: 128px 128px, 176px 176px, auto;
}
.mq-shell[data-screen="accueil"] .mq-ambiance i:nth-child(1) {
	width: 96vmax; height: 48vmax; left: -30vmax; top: -18vmax;
	background: radial-gradient(ellipse, rgba(255,255,255,.55) 0%, transparent 67%);
}
.mq-shell[data-screen="accueil"] .mq-ambiance i:nth-child(2) {
	right: -30vmax; top: 32vmax;
	background: radial-gradient(circle, rgba(255,255,255,.22) 0%, transparent 66%);
}
.mq-shell[data-screen="accueil"] .mq-ambiance i:nth-child(3) {
	left: -22vmax; bottom: -18vmax;
	background: radial-gradient(ellipse, rgba(255,218,137,.24) 0%, transparent 66%);
}

.mq-shell[data-screen="accueil"] .mq-app {
	gap: clamp(10px, 1.35vh, 15px);
	padding:
		max(clamp(14px, 2.25vh, 24px), env(safe-area-inset-top))
		clamp(11px, 3.05vw, 25px)
		max(clamp(12px, 1.8vh, 22px), env(safe-area-inset-bottom));
}

/* Bandeau supérieur : mêmes masses visuelles et même lecture que la capture. */
.mq-shell[data-screen="accueil"] .mq-top {
	min-height: 0;
	height: clamp(68px, 9.55vh, 92px);
	padding: clamp(7px, 1.05vh, 10px) clamp(9px, 2.2vw, 16px);
	gap: clamp(5px, 1.55vw, 11px);
	border: 1px solid rgba(255,255,255,.92);
	border-radius: clamp(26px, 7vw, 38px);
	background: rgba(255,255,255,.97);
	box-shadow: inset 0 1px 0 #fff, 0 7px 20px rgba(21,60,122,.15);
}
.mq-shell[data-screen="accueil"] .mq-avatar {
	width: clamp(48px, 6.5vh, 60px);
	height: clamp(48px, 6.5vh, 60px);
	font-size: clamp(1.18rem, 3.25vh, 1.65rem);
	border-width: 3px;
	box-shadow: 0 0 0 3px rgba(22,196,206,.23), inset 0 1px 0 rgba(255,255,255,.35);
}
.mq-shell[data-screen="accueil"] .mq-avatar b {
	right: -5px; bottom: -4px;
	min-width: clamp(21px, 2.8vh, 26px);
	height: clamp(21px, 2.8vh, 26px);
	font-size: clamp(.64rem, 1.45vh, .8rem);
	border-width: 2px;
}
.mq-shell[data-screen="accueil"] .mq-profil-info {
	justify-content: center;
	gap: 0;
	min-width: 40px;
}
.mq-shell[data-screen="accueil"] .mq-profil-info strong { display: none; }
.mq-shell[data-screen="accueil"] .mq-xp {
	height: clamp(8px, 1.25vh, 11px);
	background: #e5edf5;
	box-shadow: inset 0 1px 2px rgba(21,60,122,.08);
}
.mq-shell[data-screen="accueil"] .mq-xp i {
	background: linear-gradient(90deg, #16b8c7 0%, #34d0bd 100%);
}
.mq-shell[data-screen="accueil"] .mq-chip {
	gap: clamp(5px, 1.2vw, 9px);
	padding: 0;
	background: transparent;
	font-size: clamp(.95rem, 2.45vh, 1.28rem);
}
.mq-shell[data-screen="accueil"] .mq-chip .mq-coin {
	width: clamp(34px, 4.9vh, 45px);
	height: clamp(34px, 4.9vh, 45px);
	box-shadow: 0 3px 0 #d98816, 0 6px 12px rgba(232,149,28,.26), inset 0 2px 0 rgba(255,255,255,.5);
}
.mq-shell[data-screen="accueil"] .mq-chip .mq-coin svg { width: 45%; height: 45%; }
.mq-shell[data-screen="accueil"] .mq-chip b { min-width: 1.55em; text-align: center; }
.mq-shell[data-screen="accueil"] .mq-chip .mq-plus {
	width: clamp(32px, 4.45vh, 41px);
	height: clamp(32px, 4.45vh, 41px);
	font-size: clamp(1.1rem, 2.65vh, 1.45rem);
	box-shadow: 0 4px 10px rgba(15,163,180,.24), inset 0 1px 0 rgba(255,255,255,.45);
}
.mq-shell[data-screen="accueil"] .mq-icon-btn {
	width: clamp(37px, 4.8vh, 45px);
	height: clamp(37px, 4.8vh, 45px);
	background: transparent;
	box-shadow: none;
}
.mq-shell[data-screen="accueil"] .mq-icon-btn svg { width: 66%; height: 66%; stroke-width: 2.45; }

/* Zone centrale : logo vertical, grille compacte et bouton principal. */
.mq-shell[data-screen="accueil"] .mq-view[data-view="accueil"] {
	gap: clamp(9px, 1.2vh, 14px);
	overflow: visible;
}
.mq-shell[data-screen="accueil"] .mq-logo {
	flex: 0 0 clamp(245px, 31.7vh, 292px);
	justify-content: center;
	gap: clamp(3px, .55vh, 6px);
	padding-top: clamp(5px, .8vh, 9px);
}
.mq-shell[data-screen="accueil"] .mq-demo {
	height: clamp(112px, 14.7vh, 138px);
	gap: clamp(3px, .8vw, 7px);
	filter: drop-shadow(0 10px 16px rgba(21,60,122,.21));
}
.mq-shell[data-screen="accueil"] .mq-demo-card {
	height: 100%;
	transform: none;
	transform-origin: center;
	will-change: transform;
}
.mq-shell[data-screen="accueil"] .mq-demo-card.is-left,
.mq-shell[data-screen="accueil"] .mq-demo-card.is-right {
	transform: none;
	animation: mq-home-card-float 3.6s var(--ease) infinite alternate;
}
.mq-shell[data-screen="accueil"] .mq-demo-card.is-right {
	animation-delay: -.9s;
	z-index: 1;
}
@keyframes mq-home-card-float {
	from { transform: translateY(1px); }
	to { transform: translateY(-3px); }
}
.mq-shell[data-screen="accueil"] .mq-demo-face {
	border-radius: clamp(17px, 4vw, 24px);
	border-width: clamp(4px, .65vh, 6px);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.7), inset 0 -12px 18px rgba(21,60,122,.12), 0 6px 14px rgba(21,60,122,.10);
}
.mq-shell[data-screen="accueil"] .mq-demo-face svg { width: 43%; height: 43%; }
.mq-shell[data-screen="accueil"] .mq-demo-seal {
	top: 70%;
	width: clamp(45px, 6.3vh, 58px);
	opacity: 1;
	animation: mq-home-seal 2.8s ease-in-out infinite;
	box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 7px 14px rgba(21,60,122,.25), inset 0 2px 1px rgba(255,255,255,.55);
}
@keyframes mq-home-seal {
	0%,100% { transform: translate(-50%, -50%) scale(.97); }
	50% { transform: translate(-50%, -53%) scale(1.03); }
}
.mq-shell[data-screen="accueil"] .mq-wordmark {
	font-size: clamp(2.15rem, 5.25vh, 3.2rem);
	line-height: .98;
	margin-top: clamp(4px, .65vh, 7px);
	text-shadow: 0 2px 5px rgba(21,60,122,.06);
}

.mq-shell[data-screen="accueil"] .mq-play {
	width: min(75%, 590px);
	min-height: 0;
	height: clamp(66px, 8.75vh, 82px);
	font-size: clamp(1.28rem, 3.7vh, 1.9rem);
	gap: clamp(12px, 3vw, 20px);
	border-radius: 999px;
	box-shadow: 0 6px 0 #1768c0, 0 13px 26px rgba(31,106,192,.34);
}
.mq-shell[data-screen="accueil"] .mq-play svg { width: 1.05em; height: 1.05em; }

/* Navigation basse : grande, lisible et stable comme sur la référence. */
.mq-shell[data-screen="accueil"] .mq-nav {
	height: clamp(78px, 10.7vh, 98px);
	padding: clamp(7px, 1.05vh, 10px);
	gap: clamp(3px, 1vw, 8px);
	border: 1px solid rgba(255,255,255,.92);
	border-radius: clamp(27px, 7vw, 38px);
	background: rgba(255,255,255,.97);
	box-shadow: inset 0 1px 0 #fff, 0 8px 21px rgba(21,60,122,.15);
}
.mq-shell[data-screen="accueil"] .mq-nav button {
	gap: clamp(3px, .55vh, 6px);
	padding: clamp(7px, 1vh, 10px) 3px clamp(9px, 1.2vh, 12px);
	border-radius: clamp(18px, 4.7vw, 25px);
}
.mq-shell[data-screen="accueil"] .mq-nav button svg {
	width: clamp(25px, 3.5vh, 33px);
	height: clamp(25px, 3.5vh, 33px);
	stroke-width: 2.25;
}
.mq-shell[data-screen="accueil"] .mq-nav button small {
	font-size: clamp(.65rem, 1.55vh, .82rem);
	line-height: 1;
}
.mq-shell[data-screen="accueil"] .mq-nav button.is-on {
	background: linear-gradient(155deg, #e8f7ff 0%, #ddecfb 100%);
}
.mq-shell[data-screen="accueil"] .mq-nav button.is-on::after {
	bottom: clamp(5px, .65vh, 7px);
	width: clamp(22px, 6vw, 33px);
	height: 4px;
}

/* Téléphones étroits : préserver la hiérarchie sans écraser les commandes. */
@media (max-width: 370px) {
	.mq-shell[data-screen="accueil"] .mq-top { gap: 4px; padding-inline: 7px; }
	.mq-shell[data-screen="accueil"] .mq-avatar { width: 46px; height: 46px; }
	.mq-shell[data-screen="accueil"] .mq-chip { gap: 3px; }
	.mq-shell[data-screen="accueil"] .mq-chip .mq-coin { width: 32px; height: 32px; }
	.mq-shell[data-screen="accueil"] .mq-chip .mq-plus { width: 30px; height: 30px; }
	.mq-shell[data-screen="accueil"] .mq-icon-btn { width: 34px; height: 34px; }
	.mq-shell[data-screen="accueil"] .mq-logo { flex-basis: clamp(225px, 31vh, 250px); }
	.mq-shell[data-screen="accueil"] .mq-play { width: 79%; }
}

/* Écrans bas : réduire les espacements avant les éléments eux-mêmes. */
@media (max-height: 700px) {
	.mq-shell[data-screen="accueil"] .mq-app { gap: 7px; padding-top: max(8px, env(safe-area-inset-top)); padding-bottom: max(8px, env(safe-area-inset-bottom)); }
	.mq-shell[data-screen="accueil"] .mq-top { height: 62px; }
	.mq-shell[data-screen="accueil"] .mq-logo { flex-basis: 205px; }
	.mq-shell[data-screen="accueil"] .mq-demo { height: 92px; }
	.mq-shell[data-screen="accueil"] .mq-wordmark { font-size: 2rem; }
	.mq-shell[data-screen="accueil"] .mq-tagline { font-size: .84rem; }
	.mq-shell[data-screen="accueil"] .mq-tuile span { width: 37px; height: 37px; }
	.mq-shell[data-screen="accueil"] .mq-tuile strong { font-size: .8rem; }
	.mq-shell[data-screen="accueil"] .mq-play { height: 56px; }
	.mq-shell[data-screen="accueil"] .mq-nav { height: 66px; }
}

@media (min-width: 600px) {
	
}

@media (max-height: 650px) {
	.mq-shell[data-screen="accueil"] .mq-app {
		gap: 5px;
		padding-top: max(6px, env(safe-area-inset-top));
		padding-bottom: max(6px, env(safe-area-inset-bottom));
	}
	.mq-shell[data-screen="accueil"] .mq-top { height: 56px; }
	.mq-shell[data-screen="accueil"] .mq-avatar { width: 42px; height: 42px; font-size: 1rem; }
	.mq-shell[data-screen="accueil"] .mq-avatar b { min-width: 19px; height: 19px; }
	.mq-shell[data-screen="accueil"] .mq-chip .mq-coin { width: 29px; height: 29px; }
	.mq-shell[data-screen="accueil"] .mq-chip .mq-plus { width: 28px; height: 28px; }
	.mq-shell[data-screen="accueil"] .mq-icon-btn { width: 31px; height: 31px; }
	.mq-shell[data-screen="accueil"] .mq-view[data-view="accueil"] { gap: 6px; }
	.mq-shell[data-screen="accueil"] .mq-logo { flex-basis: 174px; padding-top: 0; gap: 2px; }
	.mq-shell[data-screen="accueil"] .mq-demo { height: 76px; }
	.mq-shell[data-screen="accueil"] .mq-demo-seal { width: 35px; }
	.mq-shell[data-screen="accueil"] .mq-wordmark { font-size: 1.75rem; margin-top: 2px; }
	
	
	
	
	
	
	.mq-shell[data-screen="accueil"] .mq-play { height: 50px; min-height: 50px; font-size: 1.08rem; }
	.mq-shell[data-screen="accueil"] .mq-nav { height: 58px; padding: 5px; }
	.mq-shell[data-screen="accueil"] .mq-nav button { padding: 4px 2px 7px; gap: 1px; border-radius: 14px; }
	.mq-shell[data-screen="accueil"] .mq-nav button svg { width: 20px; height: 20px; }
	.mq-shell[data-screen="accueil"] .mq-nav button small { font-size: .56rem; }
	.mq-shell[data-screen="accueil"] .mq-nav button.is-on::after { bottom: 3px; height: 3px; }
}

/* L'accueil de référence reste bleu, même lorsqu'un autre habillage est choisi pour le jeu. */
.mq-shell[data-screen="accueil"] .mq-avatar {
	background: linear-gradient(145deg, #16c4ce 0%, #2e86e0 100%);
}
.mq-shell[data-screen="accueil"] .mq-avatar b,
.mq-shell[data-screen="accueil"] .mq-chip .mq-plus {
	background: #16c4ce;
}
.mq-shell[data-screen="accueil"] .mq-wordmark span { color: #16c4ce; }
.mq-shell[data-screen="accueil"] .mq-wordmark b { color: #153c7a; }
.mq-shell[data-screen="accueil"] .mq-play {
	color: #fff;
	background-color: #2287dd;
	background-image: linear-gradient(105deg, #16c4ce 0%, #2e86e0 100%);
	box-shadow: 0 6px 0 #1768c0, 0 13px 26px rgba(31,106,192,.34);
}
.mq-shell[data-screen="accueil"] .mq-nav button.is-on { color: #0fa3b4; }
.mq-shell[data-screen="accueil"] .mq-nav button.is-on::after { background: #16c4ce; }

/* Bandeau et navigation du parcours : proportions des maquettes 9:16. */
.mq-shell:not([data-screen="accueil"]) .mq-top {
	min-height:clamp(62px,8.7vh,78px);
	padding:clamp(7px,1.1vh,11px) clamp(10px,2.6vw,15px);
	gap:clamp(6px,1.8vw,10px);
	border-radius:clamp(24px,7vw,34px);
	box-shadow:inset 0 2px 1px rgba(255,255,255,.96),0 10px 25px rgba(21,60,122,.14);
}
.mq-shell:not([data-screen="accueil"]) .mq-avatar { width:clamp(49px,13vw,58px);height:clamp(49px,13vw,58px);font-size:clamp(1.12rem,5vw,1.45rem);border-width:3px; }
.mq-shell:not([data-screen="accueil"]) .mq-avatar b { min-width:22px;height:22px;font-size:.68rem; }
.mq-shell:not([data-screen="accueil"]) .mq-profil-info strong { display:none; }
.mq-shell:not([data-screen="accueil"]) .mq-profil-info { justify-content:center; }
.mq-shell:not([data-screen="accueil"]) .mq-xp { height:clamp(8px,1.15vh,11px); }
.mq-shell:not([data-screen="accueil"]) .mq-chip { font-size:clamp(.95rem,4vw,1.18rem);gap:6px;background:transparent;padding-inline:2px; }
.mq-shell:not([data-screen="accueil"]) .mq-chip .mq-coin { width:clamp(36px,9.5vw,43px);height:clamp(36px,9.5vw,43px); }
.mq-shell:not([data-screen="accueil"]) .mq-chip .mq-plus { width:clamp(34px,9vw,40px);height:clamp(34px,9vw,40px);font-size:1.35em; }
.mq-shell:not([data-screen="accueil"]) .mq-icon-btn { width:clamp(38px,9.8vw,44px);height:clamp(38px,9.8vw,44px);background:transparent; }
.mq-shell:not([data-screen="accueil"]) .mq-icon-btn svg { width:62%;height:62%;stroke-width:2.5; }
.mq-shell[data-screen="miseEnPlace"] .mq-app { gap:clamp(8px,1.05vh,11px);padding:max(10px,env(safe-area-inset-top)) clamp(10px,2.6vw,16px) max(10px,env(safe-area-inset-bottom)); }
.mq-shell[data-screen="miseEnPlace"] .mq-nav { min-height:clamp(70px,9.2vh,82px);padding:clamp(6px,.8vh,9px);border-radius:clamp(25px,7vw,34px);box-shadow:0 12px 28px rgba(21,60,122,.16); }
.mq-shell[data-screen="miseEnPlace"] .mq-nav button { gap:3px;padding:clamp(7px,.8vh,10px) 3px clamp(10px,1.2vh,13px);border-radius:clamp(17px,4.8vw,23px); }
.mq-shell[data-screen="miseEnPlace"] .mq-nav button svg { width:clamp(25px,6.8vw,31px);height:clamp(25px,6.8vw,31px);stroke-width:2.45; }
.mq-shell[data-screen="miseEnPlace"] .mq-nav button small { font-size:clamp(.68rem,2.8vw,.86rem); }
.mq-shell[data-screen="miseEnPlace"] .mq-nav button.is-on::after { width:clamp(23px,6vw,29px);height:4px;bottom:4px; }

/* Ajustement final de fidélité visuelle aux captures validées. */
.mq-view[data-view="miseEnPlace"] > .mq-setup-head { flex:0 0 96px; }

.mq-view[data-view="miseEnPlace"] > .mq-setup-foot { flex:0 0 auto; }

.mq-view[data-view="miseEnPlace"] .mq-carreau { background:linear-gradient(145deg,#fff 0%,#f7fbff 100%); }
.mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] { background:linear-gradient(145deg,#fff 0%,#effefd 100%); }

.mq-view[data-view="miseEnPlace"] .mq-format-card strong { font-size:clamp(1rem,4.2vw,1.32rem); }
.mq-view[data-view="miseEnPlace"] .mq-format-card small { font-size:clamp(.7rem,2.8vw,.9rem); }
.mq-view[data-view="miseEnPlace"] .mq-mini-grille { padding:clamp(9px,2.65vw,12px); }
.mq-view[data-view="miseEnPlace"] .mq-mini-grille i { width:clamp(8px,2.35vw,11px); }

@media (max-width:480px), (max-height:700px) {
  .mq-view[data-view="miseEnPlace"] > .mq-setup-head { flex-basis:76px; }
  
  
  
  
}

/* Structure verticale exacte des maquettes : retour, titre, puis progression. */
.mq-view[data-view="miseEnPlace"] .mq-setup-head {
  grid-template-columns:1fr;
  grid-template-areas:"back" "copy" "steps";
  align-items:start;
  row-gap:clamp(7px,1vh,11px);
  padding-inline:clamp(8px,2vw,12px);
}
.mq-view[data-view="miseEnPlace"] > .mq-setup-head { flex-basis:122px; }

.mq-view[data-view="miseEnPlace"] .mq-setup-back { align-self:start; }
.mq-view[data-view="miseEnPlace"] .mq-setup-copy { align-self:start;padding-left:clamp(2px,.6vw,4px); }
.mq-view[data-view="miseEnPlace"] .mq-setup-steps { padding-left:clamp(2px,.6vw,4px); }
.mq-view[data-view="miseEnPlace"] .mq-setup-copy .mq-title { font-size:clamp(1.92rem,7.8vw,2.38rem); }

.mq-shell[data-screen="miseEnPlace"] .mq-avatar { width:clamp(54px,14vw,60px);height:clamp(54px,14vw,60px); }
.mq-shell[data-screen="miseEnPlace"] .mq-profil-info { min-width:62px; }
.mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-coin { width:clamp(38px,10vw,44px);height:clamp(38px,10vw,44px); }
.mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-plus { width:clamp(36px,9.5vw,42px);height:clamp(36px,9.5vw,42px); }
@media (max-width:480px), (max-height:700px) {
  .mq-view[data-view="miseEnPlace"] > .mq-setup-head { flex-basis:88px; }
  
  .mq-view[data-view="miseEnPlace"] .mq-setup-head { row-gap:4px; }
  .mq-view[data-view="miseEnPlace"] .mq-setup-back { width:38px;height:38px; }
  .mq-view[data-view="miseEnPlace"] .mq-setup-copy .mq-title { font-size:1.52rem; }
  
}

@media (max-width:480px), (max-height:700px) {
  
  
}

/* =========================================================================
   PATCH 6.3.2 — netteté de la section "mise en place"
   Objectif: supprimer l'effet flou/perlé de cette section uniquement.
   ========================================================================= */
.mq-view[data-view="miseEnPlace"]::before {
  background:
    radial-gradient(circle at 88% 20%, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(155deg, transparent 0 40%, rgba(255,255,255,.06) 40.4% 40.8%, transparent 41.2% 100%);
}
.mq-view[data-view="miseEnPlace"] .mq-setup-back {
  background: #fff;
  border-color: rgba(235,244,250,.98);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 6px 16px rgba(21,60,122,.10);
}
.mq-view[data-view="miseEnPlace"] .mq-carreau {
  background: #fff;
  border-color: rgba(236,244,249,.98);
  box-shadow: 0 10px 24px rgba(21,60,122,.11), 0 2px 4px rgba(21,60,122,.05);
}
.mq-view[data-view="miseEnPlace"] .mq-carreau::before {
  background: linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,0) 42%);
  opacity: .45;
}
.mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  box-shadow: 0 0 0 2px rgba(22,196,206,.20), 0 12px 26px rgba(15,163,180,.16);
}

.mq-view[data-view="miseEnPlace"] .mq-setup-grid,
.mq-view[data-view="miseEnPlace"] .mq-setup-head,
.mq-view[data-view="miseEnPlace"] .mq-setup-foot {
  filter: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* =========================================================================
   PARAMÈTRES PREMIUM 6.3.3 — reproduction fonctionnelle de la maquette
   ========================================================================= */
.mq-view[data-view="reglages"] {
	gap: clamp(8px, 1.05vh, 12px);
	overflow: hidden;
}
.mq-settings-head {
	padding: clamp(3px, .55vh, 7px) clamp(5px, 1.4vw, 10px) 0;
}
.mq-settings-head .mq-eyebrow {
	margin: 0 0 clamp(4px, .6vh, 7px);
	font-size: clamp(.74rem, 3vw, .92rem);
	letter-spacing: .16em;
	color: #0fa3b4;
}
.mq-settings-head .mq-title {
	margin: 0;
	font-size: clamp(1.7rem, 7.2vw, 2.25rem);
	line-height: 1;
	letter-spacing: -.045em;
	color: #153c7a;
}
.mq-settings-scroll {
	padding: 1px 3px 5px;
	scrollbar-width: none;
}
.mq-settings-scroll::-webkit-scrollbar { display: none; }
.mq-settings-list {
	display: flex;
	flex-direction: column;
	gap: clamp(7px, .9vh, 10px);
	padding: 1px 0 5px;
}
.mq-settings-row,
.mq-theme-panel {
	position: relative;
	flex: 0 0 auto;
	border-radius: clamp(21px, 5.7vw, 28px);
	background: #fff;
	border: 1px solid rgba(234,243,249,.98);
	box-shadow: 0 8px 20px rgba(21,60,122,.10), 0 2px 4px rgba(21,60,122,.04);
}
.mq-settings-row {
	display: grid;
	grid-template-columns: clamp(42px, 11.5vw, 54px) minmax(0,1fr) auto;
	align-items: center;
	gap: clamp(10px, 2.8vw, 15px);
	min-height: clamp(66px, 8.9vh, 82px);
	padding: clamp(9px, 1.25vh, 13px) clamp(12px, 3.4vw, 18px);
	text-align: left;
}
button.mq-settings-row:active { transform: scale(.99); }
.mq-settings-icon {
	width: clamp(40px, 10.7vw, 50px);
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #13b9c5;
	background: linear-gradient(145deg,#f6fcfe,#e7f3f7);
	box-shadow: inset 0 1px 0 #fff, 0 4px 10px rgba(21,60,122,.07);
}
.mq-settings-icon svg { width: 50%; height: 50%; stroke-width: 2.45; }
.mq-settings-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mq-settings-copy strong {
	font-size: clamp(.96rem, 3.9vw, 1.22rem);
	font-weight: 950;
	line-height: 1.05;
	color: #153c7a;
}
.mq-settings-copy small {
	font-size: clamp(.68rem, 2.75vw, .87rem);
	font-weight: 760;
	line-height: 1.16;
	color: #55719c;
}
.mq-settings-open {
	width: clamp(34px, 9vw, 42px);
	aspect-ratio: 1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2e86e0;
	background: #eef7fc;
}
.mq-settings-open svg { width: 45%; height: 45%; stroke-width: 3; }
.mq-privacy-center { display:grid;gap:8px; }
.mq-privacy-center > p { margin:0 0 2px;color:var(--encre-2);font-size:.73rem;line-height:1.45;font-weight:720; }
.mq-privacy-center > button { width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px;border:1px solid rgba(61,142,199,.16);border-radius:16px;background:#f4f9fd;color:var(--encre);text-align:left; }
.mq-privacy-center > button > span { width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#eaf8ff,#d9edf9);color:var(--bleu); }
.mq-privacy-center > button > span svg { width:22px;height:22px; }
.mq-privacy-center > button > b { min-width:0;display:grid;gap:3px;font-weight:inherit; }
.mq-privacy-center > button strong { font-size:.75rem;font-weight:950; }
.mq-privacy-center > button small { color:var(--encre-2);font-size:.58rem;line-height:1.3;font-weight:720; }
.mq-privacy-center > button > i { display:grid;place-items:center;color:var(--encre-2); }
.mq-privacy-center > button > i svg { width:17px;height:17px; }
.mq-privacy-center > button.is-danger { border-color:rgba(178,54,76,.18);background:#fff7f8; }
.mq-privacy-center > button.is-danger > span,.mq-privacy-center > button.is-danger > i { color:#a43145; }
.mq-delete-online-copy { display:grid;gap:10px; }
.mq-delete-online-copy p { margin:0;color:var(--encre-2);font-size:.75rem;line-height:1.5;font-weight:720; }
.mq-delete-online-copy strong { color:var(--encre); }
.mq-view[data-view="reglages"] .mq-switch {
	width: clamp(48px, 13vw, 58px);
	height: clamp(28px, 7.4vw, 34px);
	background: #dfe7ef;
	box-shadow: inset 0 2px 4px rgba(21,60,122,.08);
}
.mq-view[data-view="reglages"] .mq-switch i {
	top: 3px;
	left: 3px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	max-width: clamp(22px, 6.3vw, 28px);
	box-shadow: 0 3px 7px rgba(21,60,122,.22);
}
.mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch {
	background: linear-gradient(115deg,#11c8cf,#24bfae);
}
.mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch i {
	transform: translateX(clamp(20px, 5.5vw, 25px));
}
.mq-volume-row { grid-template-columns: clamp(42px, 11.5vw, 54px) minmax(0,1fr) auto; }
.mq-volume-copy { gap: clamp(6px, .8vh, 9px); }
.mq-volume-value {
	min-width: 46px;
	text-align: right;
	font-size: clamp(.95rem, 3.8vw, 1.18rem);
	font-weight: 950;
	font-variant-numeric: tabular-nums;
	color: #153c7a;
}
.mq-view[data-view="reglages"] .mq-range {
	width: 100%;
	height: 18px;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	cursor: pointer;
}
.mq-view[data-view="reglages"] .mq-range::-webkit-slider-runnable-track {
	height: 7px;
	border-radius: 999px;
	background: linear-gradient(90deg,#18c5cb 0 var(--range),#dfe7ef var(--range) 100%);
	box-shadow: inset 0 1px 2px rgba(21,60,122,.08);
}
.mq-view[data-view="reglages"] .mq-range::-webkit-slider-thumb {
	appearance: none;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	margin-top: -7.5px;
	border: 0;
	border-radius: 50%;
	background: #19bdc8;
	box-shadow: 0 3px 7px rgba(15,163,180,.28);
}
.mq-view[data-view="reglages"] .mq-range::-moz-range-track {
	height: 7px;
	border-radius: 999px;
	background: #dfe7ef;
}
.mq-view[data-view="reglages"] .mq-range::-moz-range-progress {
	height: 7px;
	border-radius: 999px;
	background: #18c5cb;
}
.mq-view[data-view="reglages"] .mq-range::-moz-range-thumb {
	width: 22px;
	height: 22px;
	border: 0;
	border-radius: 50%;
	background: #19bdc8;
	box-shadow: 0 3px 7px rgba(15,163,180,.28);
}
.mq-theme-panel { padding: clamp(11px, 1.45vh, 15px) clamp(10px, 2.8vw, 15px) clamp(10px, 1.4vh, 14px); }
.mq-theme-heading {
	display: grid;
	grid-template-columns: clamp(42px, 11.5vw, 54px) minmax(0,1fr);
	align-items: center;
	gap: clamp(10px, 2.8vw, 15px);
	margin-bottom: clamp(9px, 1.2vh, 13px);
}
.mq-theme-grid {
	display: grid;
	grid-template-columns: repeat(6,minmax(0,1fr));
	gap: clamp(4px, 1.3vw, 7px);
	align-items: stretch;
}
.mq-theme-option {
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(4px, .55vh, 6px);
	align-items: center;
	padding: clamp(3px, .8vw, 5px) clamp(2px, .55vw, 4px) clamp(6px, .75vh, 8px);
	border-radius: clamp(12px, 3.4vw, 17px);
	background: #fff;
	border: 2px solid #edf2f6;
	box-shadow: 0 4px 10px rgba(21,60,122,.09);
	transition: transform .18s var(--ressort), border-color .2s, box-shadow .2s;
}
.mq-theme-option:active { transform: scale(.96); }
.mq-theme-option.is-active {
	border-color: #16c4ce;
	box-shadow: 0 0 0 2px rgba(22,196,206,.16), 0 6px 14px rgba(15,163,180,.17);
}
.mq-theme-option.is-active::after {
	content: "";
	position: absolute;
	top: -7px;
	right: -5px;
	width: clamp(20px, 5.4vw, 26px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: #16c4ce url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E") center/58% no-repeat;
	box-shadow: 0 4px 9px rgba(15,163,180,.30);
	z-index: 3;
}
.mq-theme-image {
	width: 100%;
	aspect-ratio: 4/5;
	border-radius: clamp(8px, 2.3vw, 12px);
	overflow: hidden;
	background: #dcecf7;
}
.mq-theme-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.mq-theme-option strong {
	max-width: 100%;
	font-size: clamp(.54rem, 2.1vw, .72rem);
	font-weight: 900;
	line-height: 1;
	color: #153c7a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mq-reset-row { min-height: clamp(70px, 9.4vh, 86px); }
.mq-danger-icon { color: #ef4545; background: linear-gradient(145deg,#fff8f8,#ffeaea); }
.mq-reset-button {
	min-width: clamp(74px, 19vw, 94px);
	min-height: 38px;
	padding: 7px 13px !important;
	border: 2px solid var(--mq-error) !important;
	border-radius: 999px;
	color: var(--mq-error) !important;
	background: var(--mq-surface-raised) !important;
	font-size: clamp(.76rem, 2.9vw, .94rem) !important;
	font-weight: 900 !important;
}
.mq-settings-foot {
	display: grid;
	grid-template-columns: 1fr minmax(150px,1.45fr) 1fr;
	align-items: center;
	gap: 8px;
	padding: 0 3px 2px;
}
.mq-settings-foot > small {
	grid-column: 1;
	font-size: clamp(.63rem, 2.35vw, .78rem);
	font-weight: 850;
	color: #153c7a;
	white-space: nowrap;
}
.mq-settings-back {
	grid-column: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	min-height: clamp(48px, 6.4vh, 58px);
	padding: 9px 22px !important;
	border-radius: 999px;
	background: var(--mq-surface-raised) !important;
	box-shadow: var(--mq-shadow-soft) !important;
	font-size: clamp(1rem, 3.9vw, 1.25rem) !important;
	font-weight: 950 !important;
	color: var(--mq-text) !important;
}
.mq-settings-back svg { width: 22px; height: 22px; stroke-width: 2.8; }

@media (max-height: 720px) {
	.mq-settings-head .mq-title { font-size: 1.45rem; }
	.mq-settings-row { min-height: 58px; padding-block: 7px; }
	.mq-settings-copy strong { font-size: .9rem; }
	.mq-settings-copy small { font-size: .64rem; }
	.mq-settings-icon { width: 38px; }
	.mq-theme-panel { padding-block: 8px; }
	.mq-theme-heading { margin-bottom: 7px; }
	.mq-settings-foot { grid-template-columns: .9fr 1.35fr .9fr; }
	.mq-settings-back { min-height: 44px; }
}
@media (max-width: 350px) {
	.mq-settings-row { grid-template-columns: 38px minmax(0,1fr) auto; gap: 8px; padding-inline: 10px; }
	.mq-settings-icon { width: 36px; }
	.mq-settings-copy small { font-size: .61rem; }
	.mq-theme-option { border-width: 1.5px; padding-inline: 1px; }
	.mq-theme-option strong { font-size: .5rem; }
	.mq-reset-button { min-width: 66px; padding-inline: 9px !important; }
}

/* =========================================================================
   MemoQuest 6.4.0 — légende premium sur chaque carte retournée
   ========================================================================= */
.mq-board .mq-front,
.mq-board[data-category="animaux"] .mq-front {
  padding: 0;
  gap: 0;
  background: #0d4565;
  overflow: hidden;
}
.mq-board .mq-front img,
.mq-board[data-category="animaux"] .mq-front img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: none;
}
.mq-board .mq-front > .mq-card-name,
.mq-board[data-category="animaux"] .mq-front > .mq-card-name,
.mq-card-preview-surface > .mq-card-name {
  position: absolute;
  z-index: 3;
  left: 4%;
  right: 4%;
  bottom: 4%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 17%;
  max-height: 39%;
  padding: clamp(2px, .42vmin, 5px) clamp(3px, .65vmin, 7px);
  border: 1px solid rgba(255,255,255,.34);
  border-radius: clamp(5px, 1.1vmin, 10px);
  background: linear-gradient(180deg, rgba(4,25,49,.54), rgba(4,25,49,.86));
  color: #fff;
  font-size: clamp(6px, 1.32vmin, 12px);
  font-weight: 950;
  line-height: 1.04;
  letter-spacing: -.018em;
  text-align: center;
  white-space: normal;
  overflow: hidden;
  text-overflow: clip;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 2px rgba(0,0,0,.95), 0 0 5px rgba(0,0,0,.58);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 7px rgba(0,0,0,.24);
}
.mq-board .mq-card-name.is-long,
.mq-card-preview-surface .mq-card-name.is-long { font-size: clamp(5.5px, 1.12vmin, 10px); }
.mq-board .mq-card-name.is-very-long,
.mq-card-preview-surface .mq-card-name.is-very-long { font-size: clamp(5px, .98vmin, 9px); line-height: 1; }
.mq-card-preview-surface img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mq-card-preview-surface .mq-card-fallback { display:none; }
.mq-card-preview-surface.is-image-error .mq-card-fallback { display:flex; }

/* =========================================================================
   MemoQuest 6.4.1 — nom de carte léger et lisible
   Suppression du bandeau sombre : texte directement sur l'image avec une
   ombre discrète, sans masquer le visuel de la carte.
   ========================================================================= */
.mq-board .mq-front > .mq-card-name,
.mq-board[data-category="animaux"] .mq-front > .mq-card-name,
.mq-card-preview-surface > .mq-card-name {
  left: 5%;
  right: 5%;
  bottom: 4%;
  min-height: 0;
  max-height: 31%;
  padding: 0 1px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #fff;
  font-size: clamp(6.5px, 1.38vmin, 12px);
  font-weight: 950;
  line-height: 1.06;
  letter-spacing: -.014em;
  text-shadow: 0 1px 2px rgba(0,0,0,.82), 0 0 2px rgba(0,0,0,.45);
}
.mq-board .mq-card-name.is-long,
.mq-card-preview-surface .mq-card-name.is-long {
  font-size: clamp(6px, 1.2vmin, 10.5px);
}
.mq-board .mq-card-name.is-very-long,
.mq-card-preview-surface .mq-card-name.is-very-long {
  font-size: clamp(5.5px, 1.06vmin, 9.5px);
  line-height: 1.02;
}

/* Audio 6.5.0 — ligne musique intégrée sans modifier la hiérarchie visuelle. */
@media (max-height: 700px) {
  .mq-settings-list { gap: clamp(6px, .8vh, 9px); }
  .mq-settings-row[data-toggle="music"] { min-height: 62px; }
}

/* =========================================================================
   MemoQuest 6.5.2 — volumes audio indépendants
   ========================================================================= */
.mq-view[data-view="reglages"] .mq-audio-volume-row {
  min-height: clamp(62px, 8.3vh, 76px);
  transition: opacity .2s var(--ease), filter .2s var(--ease);
}
.mq-view[data-view="reglages"] .mq-audio-volume-row.is-disabled {
  opacity: .55;
  filter: saturate(.45);
}
.mq-view[data-view="reglages"] .mq-audio-volume-row.is-disabled .mq-range {
  cursor: not-allowed;
}
@media (max-height: 720px) {
  .mq-view[data-view="reglages"] .mq-audio-volume-row { min-height: 54px; }
}

/* =========================================================================
   MULTIJOUEUR EN LIGNE 6.6.1 — parcours premium stabilisé
   ========================================================================= */
.mq-view[data-view="online"] {
	gap: clamp(7px, 1.05vh, 12px);
	overflow: hidden;
}
.mq-online-head {
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: clamp(44px, 11vw, 56px) minmax(0, 1fr);
	align-items: center;
	gap: clamp(9px, 2.5vw, 15px);
	padding: 2px 4px 0;
}
.mq-online-head .mq-setup-back { grid-area: auto; }
.mq-online-head .mq-title { margin: 2px 0 0; font-size: clamp(1.48rem, 6.2vw, 2.15rem); line-height: 1.02; }
.mq-online-center { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; justify-content: center; }
.mq-online-hub,
.mq-online-form { flex: 1 1 auto; min-height: 0; display: grid; align-content: center; gap: clamp(9px, 1.25vh, 14px); padding: 2px 3px; }

.mq-online-resume { min-height:76px;grid-template-columns:44px minmax(0,1fr) 23px;border-color:rgba(22,196,206,.48);background:linear-gradient(100deg,#f1fffc,#fff); }
.mq-online-resume > span { width:42px; }

.mq-online-age-card,
.mq-online-form-card,
.mq-waiting-card,
.mq-room-preview,
.mq-launch-error {
	width:100%;
	padding:clamp(17px,3vh,28px) clamp(15px,4.2vw,27px);
	border-radius:clamp(24px,6.2vw,33px);
	background:rgba(255,255,255,.975);
	border:2px solid rgba(235,245,250,.98);
	box-shadow:0 15px 34px rgba(21,60,122,.135),inset 0 1px 0 #fff;
}
.mq-online-age-card { display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(10px,1.5vh,15px); }
.mq-online-age-card h3 { margin:0;font-size:clamp(1.22rem,5.1vw,1.66rem);font-weight:950;color:#153c7a; }
.mq-online-age-card p { margin:0;color:#55719c;font-size:clamp(.75rem,2.9vw,.93rem);max-width:36rem; }
.mq-online-hero-icon { width:clamp(66px,18vw,86px);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--degrade);border:4px solid #fff;box-shadow:0 10px 22px rgba(21,60,122,.2),0 0 0 3px rgba(22,196,206,.15); }
.mq-online-hero-icon svg { width:48%;height:48%;stroke-width:2.3; }
.mq-dob-field { width:min(100%,380px);display:grid;gap:7px;text-align:left; }
.mq-dob-field > span,.mq-premium-field > span,.mq-code-field > span { color:#55719c;font-size:.74rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase; }
.mq-dob-field input,
.mq-premium-field input,
.mq-premium-field select {
	width:100%;height:clamp(51px,7vh,61px);border:2px solid #dceaf4;border-radius:17px;background:#f8fcff;color:#153c7a;
	padding:0 15px;font:900 clamp(.98rem,3.9vw,1.22rem)/1 ui-rounded,"SF Pro Rounded",system-ui,sans-serif;outline:0;
	box-shadow:inset 0 2px 4px rgba(21,60,122,.04);transition:border-color .2s,box-shadow .2s,background .2s;
}
.mq-dob-field input { text-align:center;letter-spacing:.16em;font-size:clamp(1.32rem,5.8vw,1.8rem); }
.mq-dob-field input:focus,.mq-premium-field input:focus,.mq-premium-field select:focus { border-color:#16c4ce;background:#fff;box-shadow:0 0 0 4px rgba(22,196,206,.13); }
.mq-form-error { min-height:18px;margin:0;color:#d63f4f;font-size:.74rem;font-weight:850;text-align:center; }

.mq-online-form-card { display:grid;gap:clamp(11px,1.55vh,15px);align-content:center; }
.mq-online-form-card > .mq-online-hero-icon { margin:0 auto 2px; }
.mq-online-form-card.is-compact { padding-block:clamp(13px,1.9vh,20px);gap:10px; }
.mq-premium-field { min-width:0;display:grid;gap:6px;text-align:left; }
.mq-premium-field select { appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6681a7 50%),linear-gradient(135deg,#6681a7 50%,transparent 50%);background-position:calc(100% - 18px) 48%,calc(100% - 12px) 48%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px;font-size:clamp(.86rem,3.3vw,1.03rem); }
.mq-online-name-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
.mq-consent-row { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px; }
.mq-privacy-check { position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;min-height:44px;color:#55719c;font-size:clamp(.71rem,2.7vw,.87rem);line-height:1.25;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation; }
.mq-privacy-check input { position:absolute;left:0;top:50%;width:36px;height:36px;margin:0;transform:translateY(-50%);opacity:.001;pointer-events:auto;cursor:pointer;z-index:2; }
.mq-privacy-check i { width:28px;height:28px;border-radius:9px;border:2px solid #cfe0ed;background:#f7fbfe;color:transparent;display:flex;align-items:center;justify-content:center;transition:transform .16s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;pointer-events:none; }
.mq-privacy-check i svg { width:18px;height:18px;stroke-width:3; }
.mq-privacy-check input:focus-visible + i { outline:3px solid rgba(46,134,224,.28);outline-offset:2px; }
.mq-privacy-check input:checked + i { background:#16c4ce;border-color:#16c4ce;color:#fff;box-shadow:0 5px 12px rgba(22,196,206,.25);transform:scale(1.04); }
.mq-consent-link { min-width:44px;min-height:44px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#0e91ad;background:rgba(14,145,173,.07);font-size:.72rem;font-weight:900;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent; }
.mq-consent-link:active { transform:scale(.97); }

/* Un seul véritable champ numérique pilote les six cases visuelles. Cette
   architecture évite les sauts de focus constatés sur les claviers Android. */
.mq-code-field { display:grid;gap:8px; }
.mq-code-entry { position:relative;min-height:clamp(54px,7.4vh,65px); }
.mq-code-input { position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:.015;color:transparent;background:transparent;border:0;outline:0;caret-color:transparent;font-size:16px; }
.mq-code-cells { position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,1.45vw,9px);pointer-events:none; }
.mq-code-cells i { min-width:0;display:flex;align-items:center;justify-content:center;border:2px solid #dceaf4;border-radius:14px;background:#f8fcff;color:#153c7a;font:950 clamp(1.32rem,5.8vw,1.78rem)/1 ui-rounded,system-ui;box-shadow:inset 0 2px 4px rgba(21,60,122,.035);transition:border-color .16s,box-shadow .16s,transform .16s,background .16s; }
.mq-code-cells i.is-filled { background:#fff;border-color:#bcdce9; }
.mq-code-cells i.is-active { border-color:#16c4ce;box-shadow:0 0 0 3px rgba(22,196,206,.13);transform:translateY(-1px); }
.mq-btn.is-loading::before { content:"";width:18px;height:18px;border-radius:50%;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;animation:mq-spin .75s linear infinite; }
@keyframes mq-spin { to { transform:rotate(360deg); } }

/* Recherche / salle d’attente */
.mq-waiting-card { text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(11px,1.7vh,18px);overflow:hidden; }
.mq-waiting-card.is-premium { background:linear-gradient(155deg,rgba(255,255,255,.99),rgba(247,253,255,.97)); }
.mq-search-scene { position:relative;width:min(100%,430px);height:clamp(150px,22vh,205px);display:grid;grid-template-columns:1fr clamp(78px,22vw,110px) 1fr;align-items:center;gap:7px; }
.mq-search-scene::before { content:"";position:absolute;left:14%;right:14%;top:50%;height:2px;background:linear-gradient(90deg,transparent,#88e6e3,#fff,#91b7f6,transparent);filter:drop-shadow(0 0 8px rgba(22,196,206,.65));animation:mq-search-beam 1.7s ease-in-out infinite; }
@keyframes mq-search-beam { 0%,100%{opacity:.35;transform:scaleX(.72)} 50%{opacity:1;transform:scaleX(1)} }
.mq-search-player { position:relative;z-index:2;display:grid;justify-items:center;gap:7px; }
.mq-search-player > span { width:clamp(58px,16vw,78px);aspect-ratio:1;border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:clamp(1.45rem,6vw,2.1rem);font-weight:950;background:linear-gradient(145deg,#53ddd6,#1d8fd0);border:4px solid #fff;box-shadow:0 11px 24px rgba(21,60,122,.18); }
.mq-search-player > span img { width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit; }
.mq-search-player.is-guest > span { color:#84a0bd;background:linear-gradient(145deg,#f4f9fc,#dceaf3);animation:mq-guest-pulse 1.9s ease-in-out infinite; }
@keyframes mq-guest-pulse { 50%{transform:translateY(-4px);box-shadow:0 14px 30px rgba(22,196,206,.22)} }
.mq-search-player small { max-width:110px;color:#365a88;font-size:.72rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mq-search-core { position:relative;z-index:3;width:clamp(78px,22vw,110px);aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#32d7d3,#247fd3);color:#fff;border:5px solid rgba(255,255,255,.95);box-shadow:0 16px 32px rgba(21,60,122,.22),0 0 0 8px rgba(22,196,206,.08); }
.mq-search-core b { width:48%;height:48%;display:flex;align-items:center;justify-content:center; }
.mq-search-core b svg { width:100%;height:100%;stroke-width:2; }
.mq-search-core i { position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(22,196,206,.35);animation:mq-orbit 2.2s linear infinite; }
.mq-search-core i:nth-child(2){inset:-20px;border-style:dashed;animation-duration:3.2s;animation-direction:reverse}.mq-search-core i:nth-child(3){inset:8px;border-color:rgba(255,255,255,.42);animation-duration:1.55s}
.mq-search-core em { position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 12px #fff;animation:mq-scan-dot 1.5s linear infinite; }
@keyframes mq-orbit { to { transform:rotate(360deg); } }
@keyframes mq-scan-dot { from{transform:rotate(0deg) translateX(52px)} to{transform:rotate(360deg) translateX(52px)} }
.mq-search-card { position:absolute;width:28px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#43dcd7,#2385d4);color:#fff;border:2px solid #fff;box-shadow:0 7px 16px rgba(21,60,122,.18);font-size:.8rem; }
.mq-search-card.c1{left:24%;top:13%;animation:mq-card-float 2.5s ease-in-out infinite}.mq-search-card.c2{right:22%;bottom:12%;animation:mq-card-float 2.5s ease-in-out .7s infinite}.mq-search-card.c3{left:50%;bottom:1%;animation:mq-card-float 2.5s ease-in-out 1.3s infinite}
@keyframes mq-card-float { 50%{transform:translateY(-9px) rotate(5deg)} }
.mq-wait-status { width:min(100%,420px);display:grid;grid-template-columns:13px minmax(0,1fr);align-items:center;gap:10px;text-align:left;padding:10px 14px;border-radius:18px;background:linear-gradient(155deg,var(--mq-online-panel-strong,var(--mq-surface-raised)),var(--mq-online-panel,var(--mq-surface)));border:1.5px solid var(--mq-online-stroke,var(--mq-border));color:var(--mq-online-title,var(--mq-text)); }
.mq-live-dot { width:10px;height:10px;border-radius:50%;background:#39d58a;box-shadow:0 0 0 5px rgba(57,213,138,.12);animation:mq-live 1.35s ease-in-out infinite; }
@keyframes mq-live { 50%{box-shadow:0 0 0 9px rgba(57,213,138,0);transform:scale(.88)} }
.mq-wait-status div { display:grid;gap:2px; }
.mq-wait-status strong { color:var(--mq-online-title,var(--mq-text));font-size:.82rem;font-weight:950; }
.mq-wait-status small { color:var(--mq-online-sub,var(--mq-text-secondary));font-size:.69rem;font-weight:750; }
.mq-room-code { width:min(100%,400px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;padding:12px 14px;border-radius:21px;background:linear-gradient(155deg,var(--mq-online-panel-strong,var(--mq-surface-raised)),var(--mq-online-panel,var(--mq-surface)));border:2px solid var(--mq-online-stroke,var(--mq-border));color:var(--mq-online-title,var(--mq-text)); }
.mq-room-code small { grid-column:1/-1;text-transform:uppercase;letter-spacing:.12em;color:var(--mq-online-sub,var(--mq-text-secondary));font-size:.66rem;font-weight:950; }
.mq-room-code strong { font-size:clamp(1.95rem,8.7vw,2.9rem);letter-spacing:.15em;color:var(--mq-online-title,var(--mq-text));font-variant-numeric:tabular-nums; }
.mq-room-code button { display:flex;align-items:center;gap:6px;color:var(--mq-online-accent,var(--mq-accent-strong));background:var(--mq-online-panel-strong,var(--mq-surface-raised));border:1px solid var(--mq-online-stroke,var(--mq-border));border-radius:999px;padding:9px 12px;box-shadow:var(--mq-shadow-soft);font-weight:900; }
.mq-room-code button svg { width:17px;height:17px; }
.mq-wait-help { margin:0;color:#6681a7;max-width:34rem;font-size:clamp(.7rem,2.65vw,.88rem);line-height:1.3; }
.mq-room-summary { display:flex;flex-wrap:wrap;justify-content:center;gap:7px; }
.mq-room-summary span { display:flex;align-items:center;gap:5px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 9%,var(--mq-online-panel-strong,var(--mq-surface-raised)));color:var(--mq-online-title,var(--mq-text));border:1px solid var(--mq-online-stroke,var(--mq-border));font-size:.72rem;font-weight:900; }
.mq-room-summary span i { width:14px;height:14px;display:flex; }
.mq-room-summary span i svg { width:100%;height:100%;stroke-width:2.2; }
.mq-room-summary span b { font:inherit; }
.mq-room-summary.is-detailed { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%; }
.mq-room-summary.is-detailed span { justify-content:flex-start;border-radius:16px;padding:11px 12px;background:linear-gradient(155deg,var(--mq-online-panel-strong,var(--mq-surface-raised)),var(--mq-online-panel,var(--mq-surface))); }

/* Confirmation de la configuration */
.mq-room-preview { display:flex;flex-direction:column;align-items:center;gap:clamp(10px,1.5vh,16px);overflow:hidden; }
.mq-room-preview-hero { display:grid;justify-items:center;text-align:center;gap:4px; }
.mq-room-preview-hero > span { width:62px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--degrade);border:4px solid #fff;box-shadow:0 10px 20px rgba(21,60,122,.18); }
.mq-room-preview-hero > span svg { width:34px;height:34px; }
.mq-room-preview-hero small { color:#0fa3b4;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem; }
.mq-room-preview-hero h3 { margin:0;color:#153c7a;font-size:clamp(1.35rem,5.5vw,1.85rem);font-weight:950; }
.mq-room-preview-hero p { margin:0;color:#6681a7;font-size:.78rem; }
.mq-preview-players { width:100%;display:grid;gap:7px; }
.mq-preview-players > div { display:grid;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border-radius:17px;background:#f4f9fd;border:1px solid #e4eff6;text-align:left; }
.mq-preview-players i { width:41px;aspect-ratio:1;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#52dcd6,#218fd0);font-style:normal;font-weight:950; }
.mq-preview-players i img { width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit; }
.mq-preview-players span { display:grid;gap:1px;min-width:0; }
.mq-preview-players small { color:#7890ac;font-size:.59rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em; }
.mq-preview-players strong { color:#153c7a;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mq-preview-players b { padding:5px 8px;border-radius:999px;background:#e4fbf1;color:#1c9a68;font-size:.62rem;font-weight:950; }
.mq-preview-players b.is-pending { background:#fff4df;color:#c47e15; }
.mq-ready-button { width:100%; }
.mq-ready-wait { width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:18px;background:#effafc;color:#28658a; }
.mq-ready-wait span { width:18px;height:18px;border-radius:50%;border:3px solid #bfe7ea;border-top-color:#16c4ce;animation:mq-spin .75s linear infinite; }
.mq-ready-wait strong { font-size:.75rem; }

/* Rencontre VS */
.mq-match-screen { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(17px,3vh,28px);padding:clamp(18px,4vw,34px);overflow:hidden; }
.mq-match-screen::before { content:"";position:absolute;width:125%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--mq-online-panel-strong,var(--mq-surface-raised)) 72%,transparent),color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 12%,transparent) 43%,transparent 69%);animation:mq-arena-breathe 2.1s ease-in-out infinite; }
@keyframes mq-arena-breathe { 50%{transform:scale(1.07);opacity:.76} }
.mq-match-stars { position:absolute;inset:0;pointer-events:none; }
.mq-match-stars i { position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(22,196,206,.8);animation:mq-star-twinkle 1.7s ease-in-out infinite; }
.mq-match-stars i:nth-child(1){left:12%;top:18%}.mq-match-stars i:nth-child(2){left:81%;top:22%;animation-delay:.3s}.mq-match-stars i:nth-child(3){left:22%;top:72%;animation-delay:.7s}.mq-match-stars i:nth-child(4){left:72%;top:78%;animation-delay:1s}.mq-match-stars i:nth-child(5){left:46%;top:12%;animation-delay:.5s}.mq-match-stars i:nth-child(6){left:53%;bottom:10%;animation-delay:1.2s}
@keyframes mq-star-twinkle { 50%{transform:scale(2);opacity:.25} }
.mq-match-title { position:relative;z-index:3;display:grid;justify-items:center;gap:4px;text-align:center;animation:mq-match-title .55s ease both; }
.mq-match-title small { color:var(--mq-online-accent,var(--mq-accent-strong));font-size:.64rem;letter-spacing:.14em;font-weight:950; }
.mq-match-title strong { color:var(--mq-online-title,var(--mq-text));font-size:clamp(1.15rem,4.8vw,1.6rem);font-weight:950; }
@keyframes mq-match-title { from{opacity:0;transform:translateY(-16px)} }
.mq-match-arena { position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(7px,2.2vw,18px); }
.mq-match-player { display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0; }
.mq-match-player.is-a { animation:mq-player-left .95s var(--sortie) .12s forwards; }
.mq-match-player.is-b { animation:mq-player-right .95s var(--sortie) .12s forwards; }
@keyframes mq-player-left { from { opacity:0;transform:translateX(-110px) scale(.72) rotate(-7deg); } 70%{transform:translateX(7px) scale(1.03)} to { opacity:1;transform:none; } }
@keyframes mq-player-right { from { opacity:0;transform:translateX(110px) scale(.72) rotate(7deg); } 70%{transform:translateX(-7px) scale(1.03)} to { opacity:1;transform:none; } }
.mq-match-player em { padding:4px 8px;border-radius:999px;background:var(--mq-online-panel-strong,var(--mq-surface-raised));color:var(--mq-online-sub,var(--mq-text-secondary));border:1px solid var(--mq-online-stroke,var(--mq-border));font-size:.56rem;font-style:normal;font-weight:950;text-transform:uppercase;letter-spacing:.06em; }
.mq-match-player > span { position:relative;width:clamp(86px,25vw,136px);aspect-ratio:1;border-radius:30%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--mq-online-accent,var(--mq-accent)),var(--mq-accent-2));color:var(--mq-text-on-dark,#fff);border:6px solid var(--mq-online-panel-strong,var(--mq-surface-raised));box-shadow:0 19px 38px color-mix(in srgb,var(--mq-bg) 34%,transparent),0 0 0 6px color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 10%,transparent); }
.mq-match-player.is-b > span { background:linear-gradient(145deg,var(--mq-accent-2),color-mix(in srgb,var(--mq-accent-2) 68%,var(--mq-online-accent,var(--mq-accent))));box-shadow:0 19px 38px color-mix(in srgb,var(--mq-bg) 34%,transparent),0 0 0 6px color-mix(in srgb,var(--mq-accent-2) 12%,transparent); }
.mq-match-player > span::after { content:"";position:absolute;inset:9px;border-radius:24%;border:1.5px solid rgba(255,255,255,.34); }
.mq-match-player > span img { width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit; }
.mq-match-player span b { font-size:clamp(2rem,9vw,3.8rem);font-weight:950; }
.mq-match-player strong { max-width:34vw;text-align:center;font-size:clamp(.9rem,3.8vw,1.28rem);color:var(--mq-online-title,var(--mq-text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mq-match-player > small { color:var(--mq-success);font-size:.62rem;font-weight:900; }
.mq-match-vs { position:relative;display:flex;flex-direction:column;align-items:center;gap:8px; }
.mq-match-vs i { position:absolute;width:clamp(114px,34vw,180px);height:5px;top:38%;left:50%;transform:translate(-50%,-50%) scaleX(0);border-radius:99px;background:linear-gradient(90deg,#16c4ce,#fff,#675ade);box-shadow:0 0 18px rgba(255,255,255,.9);animation:mq-vs-line .72s ease .78s forwards; }
@keyframes mq-vs-line { to { transform:translate(-50%,-50%) scaleX(1); } }
.mq-match-vs b { position:relative;display:flex;align-items:center;justify-content:center;width:clamp(61px,16vw,82px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,var(--mq-online-panel-strong,var(--mq-surface-raised)),var(--mq-online-panel,var(--mq-surface)));color:var(--mq-online-title,var(--mq-text));border:4px solid var(--mq-online-stroke,var(--mq-border));font-size:clamp(1.25rem,5.6vw,1.9rem);box-shadow:var(--mq-shadow-soft);animation:mq-vs-pop .58s var(--ressort) .78s both; }
@keyframes mq-vs-pop { from { opacity:0;transform:scale(.12) rotate(-25deg); } }
.mq-match-vs small { max-width:96px;color:var(--mq-online-accent,var(--mq-accent-strong));font-size:.57rem;text-transform:uppercase;letter-spacing:.075em;text-align:center;font-weight:950; }
.mq-match-progress { position:relative;z-index:3;width:min(86%,380px);display:grid;gap:6px;justify-items:center; }
.mq-match-progress::before { content:"";width:100%;height:7px;border-radius:99px;background:color-mix(in srgb,var(--mq-online-title,var(--mq-text)) 15%,transparent);box-shadow:inset 0 1px 3px color-mix(in srgb,var(--mq-bg) 22%,transparent); }
.mq-match-progress i { position:absolute;left:0;top:0;width:100%;height:7px;border-radius:99px;background:linear-gradient(90deg,#22cfba,#4a9ee9,#725ce1);transform:scaleX(0);transform-origin:left center;will-change:transform;animation:mq-match-load 2.55s ease .2s forwards; }
@keyframes mq-match-load { to{transform:scaleX(1)} }
.mq-match-progress span { color:var(--mq-online-sub,var(--mq-text-secondary));font-size:.68rem;font-weight:850; }

/* Préparation et erreur : aucun écran blanc n’est possible. */
.mq-online-preparing { flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,1.7vh,17px);text-align:center;padding:10px; }
.mq-prepare-mark { position:relative;width:clamp(92px,25vw,124px);aspect-ratio:1;border-radius:32%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#45ddd6,#288bd6);color:#fff;border:5px solid #fff;box-shadow:0 16px 34px rgba(21,60,122,.2); }
.mq-prepare-mark span { width:45%;height:45%;display:flex; }
.mq-prepare-mark span svg { width:100%;height:100%; }
.mq-prepare-mark i { position:absolute;inset:-11px;border-radius:38%;border:2px solid rgba(22,196,206,.3);animation:mq-prepare-ring 1.8s linear infinite; }.mq-prepare-mark i:last-child{inset:-22px;border-style:dashed;animation-direction:reverse;animation-duration:2.7s}
@keyframes mq-prepare-ring { to{transform:rotate(360deg)} }
.mq-online-preparing h2 { margin:0;color:var(--mq-online-title,var(--mq-text));font-size:clamp(1.45rem,6vw,2rem);font-weight:950; }
.mq-online-preparing > p:not(.mq-eyebrow) { margin:0;color:var(--mq-online-sub,var(--mq-text-secondary));font-size:.8rem;font-weight:750; }
.mq-prepare-bar { width:min(80%,360px);height:8px;border-radius:99px;background:rgba(255,255,255,.72);overflow:hidden;box-shadow:inset 0 1px 3px rgba(21,60,122,.1); }
.mq-prepare-bar i { display:block;width:42%;height:100%;border-radius:99px;background:linear-gradient(90deg,#21d2bd,#438fdf);animation:mq-prepare-scan 1.25s ease-in-out infinite; }
@keyframes mq-prepare-scan { 0%{transform:translateX(-110%)} 100%{transform:translateX(280%)} }
.mq-launch-error { display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px; }
.mq-launch-error > span { width:66px;aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff1f2;color:#d94757; }
.mq-launch-error > span svg { width:34px;height:34px;stroke-width:2.3; }
.mq-launch-error h3 { margin:0;color:#153c7a;font-size:1.25rem;font-weight:950; }
.mq-launch-error p { margin:0;color:#6681a7;font-size:.8rem;line-height:1.35; }
.mq-launch-error > div { width:100%;display:grid;gap:8px; }

.mq-online-result { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;text-align:center; }
.mq-online-result div { padding:16px 8px;border-radius:20px;background:#f3f9fd;display:grid;gap:4px; }
.mq-online-result small { color:#55719c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mq-online-result strong { color:#153c7a;font-size:2rem;font-variant-numeric:tabular-nums; }
.mq-online-result b { color:#16c4ce;font-size:1.15rem; }
.mq-game-action.is-disabled { opacity:.34;pointer-events:none; }
.mq-card.is-sending { outline: 2px solid var(--mq-online-accent, #21bbc7); outline-offset: 1px; }

/* Quatrième choix dans l’étape Comment jouer. */
.mq-setup-grid.is-experience { grid-template-rows:repeat(4,minmax(80px,1fr)); }

@media (max-width:350px) {
	.mq-online-name-grid { grid-template-columns:1fr; }
	
	
	.mq-code-cells { gap:4px; }
	.mq-room-code strong { letter-spacing:.09em; }
	.mq-search-scene { grid-template-columns:1fr 72px 1fr; }
	.mq-search-core { width:72px; }
	.mq-search-player > span { width:54px;border-radius:18px; }
	.mq-match-player > span { border-width:4px;border-radius:25%; }
	.mq-match-player strong { font-size:.78rem; }
	.mq-match-vs b { width:52px; }
}

@media (max-width:480px), (max-height:700px) {
	.mq-view[data-view="online"] { gap:5px; }
	.mq-online-head { grid-template-columns:38px minmax(0,1fr);gap:7px;padding-top:0; }
	.mq-online-head .mq-setup-back { width:38px;height:38px;border-radius:12px; }
	.mq-online-head .mq-eyebrow { font-size:.55rem;margin:0 0 2px; }
	.mq-online-head .mq-title { font-size:1.17rem; }
	.mq-online-form,.mq-online-hub { align-content:start;overflow-y:auto;overscroll-behavior:contain;padding:1px 3px 4px;scrollbar-width:none; }
	.mq-online-form::-webkit-scrollbar,.mq-online-hub::-webkit-scrollbar { display:none; }
	
	
	.mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error { padding:9px 11px;gap:7px;border-radius:20px; }
	.mq-online-hero-icon { width:50px; }
	.mq-dob-field input,.mq-premium-field input,.mq-premium-field select { height:35px;border-radius:11px;font-size:.75rem;padding-inline:10px; }
	.mq-online-form-card.is-compact { padding:7px 9px;gap:5px;border-radius:20px; }
	.mq-premium-field { gap:3px; }
	.mq-premium-field > span,.mq-code-field > span { font-size:.56rem; }
	.mq-online-name-grid { gap:5px; }
	.mq-code-entry { min-height:37px; }
	.mq-code-cells i { border-radius:10px;font-size:1rem; }
	.mq-consent-row { gap:5px; }
	.mq-privacy-check { grid-template-columns:25px minmax(0,1fr);gap:6px;min-height:40px;font-size:.57rem; }
	.mq-privacy-check input { width:32px;height:32px; }
	.mq-privacy-check i { width:23px;height:23px;border-radius:7px; }
	.mq-privacy-check i svg { width:14px;height:14px; }
	.mq-consent-link { min-width:40px;min-height:40px;padding:0 6px;font-size:.58rem; }
	.mq-setup-foot .mq-btn { min-height:42px;font-size:.88rem; }
	.mq-form-error { min-height:9px;font-size:.57rem; }
	.mq-search-scene { height:112px; }
	.mq-search-core { width:66px; }
	.mq-search-player > span { width:48px;border-width:3px;border-radius:16px;font-size:1.25rem; }
	.mq-search-player small { font-size:.56rem; }
	.mq-search-card { display:none; }
	.mq-wait-status { padding:7px 10px; }
	.mq-room-code { padding:8px 10px;border-radius:16px; }
	.mq-room-code strong { font-size:1.65rem; }
	.mq-room-code button { padding:7px 9px;font-size:.65rem; }
	.mq-room-summary span { padding:5px 8px;font-size:.59rem; }
	.mq-wait-help { font-size:.58rem; }
	.mq-room-preview-hero > span { width:48px; }
	.mq-room-preview-hero h3 { font-size:1.1rem; }
	.mq-room-preview-hero p { font-size:.61rem; }
	.mq-room-summary.is-detailed span { padding:7px 8px; }
	.mq-preview-players > div { padding:5px 7px;grid-template-columns:34px minmax(0,1fr) auto; }
	.mq-preview-players i { width:32px;border-radius:10px; }
	.mq-match-screen { gap:11px;padding:12px; }
	.mq-match-title strong { font-size:1rem; }
	.mq-match-player > span { width:72px;border-width:4px; }
	.mq-match-player strong { font-size:.72rem; }
	.mq-match-player em,.mq-match-player > small { font-size:.49rem; }
	.mq-match-vs b { width:50px;font-size:1.05rem; }
	.mq-match-vs small { font-size:.45rem; }
	.mq-online-preparing { gap:8px; }
	.mq-prepare-mark { width:72px;border-radius:24%; }
	.mq-online-preparing h2 { font-size:1.25rem; }
	.mq-setup-grid.is-experience { grid-template-rows:repeat(4,minmax(67px,1fr));gap:6px; }
	
	
	
}

@media (max-width:350px), (max-width:480px), (max-height:700px) {
	
	
}

/* ======================================================================
   MemoQuest 6.7.0 — classement compétitif et trophées de Recherche rapide
   ====================================================================== */
.mq-competitive-card {
	position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;
	min-height:102px;padding:13px 14px;border-radius:25px;overflow:hidden;
	background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(238,249,255,.97));
	border:1px solid rgba(93,187,222,.23);box-shadow:0 14px 30px rgba(31,74,132,.12),inset 0 1px 0 rgba(255,255,255,.88);
}
.mq-competitive-card::before { content:"";position:absolute;width:150px;height:150px;right:-66px;top:-88px;border-radius:50%;background:radial-gradient(circle,rgba(255,209,82,.22),rgba(255,209,82,0) 68%);pointer-events:none; }
.mq-competitive-card::after { content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.52) 43%,transparent 62%);transform:translateX(-130%);animation:mq-trophy-sheen 5.4s ease-in-out infinite;pointer-events:none; }
@keyframes mq-trophy-sheen { 0%,68%{transform:translateX(-130%)} 86%,100%{transform:translateX(130%)} }
.mq-trophy-orb { position:relative;z-index:1;width:58px;aspect-ratio:1;border-radius:19px;display:grid;place-items:center;color:#fff7d6;background:linear-gradient(145deg,#ffd95f,#ee9d21);border:3px solid #fff;box-shadow:0 10px 20px rgba(211,142,20,.24),0 0 0 5px rgba(255,193,44,.1); }
.mq-trophy-orb svg { width:31px;height:31px;stroke-width:1.9;filter:drop-shadow(0 2px 3px rgba(112,62,0,.22)); }
.mq-trophy-orb i { position:absolute;inset:-7px;border-radius:23px;border:1.5px solid rgba(255,190,29,.28);animation:mq-trophy-orbit 3.8s linear infinite; }
@keyframes mq-trophy-orbit { to{transform:rotate(360deg)} }
.mq-competitive-copy { position:relative;z-index:1;min-width:0;display:grid;gap:2px; }
.mq-competitive-copy > small { color:#13a9b6;font-size:.56rem;font-weight:950;letter-spacing:.085em; }
.mq-competitive-copy > strong { color:#153c7a;font-size:clamp(1.05rem,4.25vw,1.35rem);font-weight:950;line-height:1.05;font-variant-numeric:tabular-nums; }
.mq-competitive-copy > strong b { font-size:1.12em; }
.mq-competitive-copy p { margin:1px 0 0;color:#617da6;font-size:.65rem;font-weight:780; }
.mq-competitive-copy p em { color:#155a96;font-style:normal;font-weight:950; }
.mq-competitive-copy > span { color:#6f86a6;font-size:.55rem;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mq-trophy-progress { height:6px;margin:3px 0 1px;border-radius:99px;overflow:hidden;background:#dcecf5;box-shadow:inset 0 1px 2px rgba(26,72,126,.1); }
.mq-trophy-progress i { display:block;width:var(--p,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#18c9ba,#2b9dd7,#f4bf39);box-shadow:0 0 9px rgba(31,180,194,.3);transition:width .72s cubic-bezier(.2,.8,.2,1); }
.mq-grid-badge { position:relative;z-index:1;min-width:54px;padding:9px 8px;border-radius:16px;text-align:center;color:#fff;background:linear-gradient(145deg,#184f94,#1fb7c0);border:2px solid rgba(255,255,255,.84);box-shadow:0 8px 16px rgba(30,98,159,.2);font-size:.78rem;font-weight:950;white-space:nowrap; }
.mq-competitive-card.is-compact { min-height:84px;padding:10px 11px;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;border-radius:21px;background:linear-gradient(135deg,#f7fdff,#eaf7fd);box-shadow:inset 0 0 0 1px rgba(48,167,198,.08); }
.mq-competitive-card.is-compact .mq-trophy-orb { width:48px;border-radius:16px; }
.mq-competitive-card.is-compact .mq-trophy-orb svg { width:25px;height:25px; }
.mq-competitive-card.is-compact .mq-grid-badge { min-width:49px;padding:8px 6px;font-size:.7rem;border-radius:14px; }
.mq-competitive-card.is-compact .mq-competitive-copy > strong { font-size:.98rem; }
.mq-quick-rule { margin:0;padding:8px 10px;border-radius:13px;background:rgba(26,168,186,.08);color:#55759b;font-size:.62rem;line-height:1.3;font-weight:750;text-align:center; }

.mq-search-player > b { display:inline-flex;align-items:center;justify-content:center;gap:3px;max-width:100%;padding:4px 7px;border-radius:99px;color:#8a650b;background:#fff7dc;border:1px solid rgba(233,180,45,.26);font-size:.54rem;font-weight:950;text-decoration:none;white-space:nowrap; }
.mq-search-player > b svg { width:11px;height:11px;stroke-width:2.1; }
.mq-match-player > u { display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:99px;background:rgba(255,244,198,.9);color:#8e6606;font-size:.54rem;font-weight:950;text-decoration:none;box-shadow:0 3px 9px rgba(146,101,5,.1); }
.mq-match-player > u svg { width:11px;height:11px; }

.mq-trophy-result { position:relative;margin-top:12px;padding:15px 14px 13px;border-radius:24px;display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;overflow:hidden;background:linear-gradient(135deg,#f8fdff,#eaf8fc);border:1px solid rgba(31,172,191,.2);box-shadow:0 15px 28px rgba(25,78,133,.11); }
.mq-trophy-result::before { content:"";position:absolute;inset:auto -45px -70px auto;width:145px;height:145px;border-radius:50%;background:radial-gradient(circle,rgba(47,200,189,.2),transparent 67%); }
.mq-trophy-result.is-win { background:linear-gradient(135deg,#fffdf5,#effcf9);border-color:rgba(239,179,40,.28); }
.mq-trophy-result.is-loss { background:linear-gradient(135deg,#fffafa,#f2f7fd);border-color:rgba(210,91,111,.18); }
.mq-trophy-result-orb { position:relative;width:64px;aspect-ratio:1;border-radius:21px;display:grid;place-items:center;color:white;background:linear-gradient(145deg,#ffd65a,#e99b1c);border:3px solid #fff;box-shadow:0 12px 24px rgba(199,126,12,.23);animation:mq-trophy-result-pop .62s cubic-bezier(.18,1.28,.35,1) both; }
.mq-trophy-result.is-loss .mq-trophy-result-orb { background:linear-gradient(145deg,#7897c4,#38598d);box-shadow:0 12px 24px rgba(43,78,128,.2); }
@keyframes mq-trophy-result-pop { from{opacity:0;transform:scale(.3) rotate(-18deg)} }
.mq-trophy-result-orb svg { width:34px;height:34px;filter:drop-shadow(0 2px 3px rgba(86,47,0,.2)); }
.mq-trophy-result-orb i { position:absolute;width:6px;height:6px;border-radius:50%;background:#ffd24f;box-shadow:22px -15px 0 #24c8ba,-20px -18px 0 #5a8fe2,20px 19px 0 #ff8b71,-23px 17px 0 #f4c44c;animation:mq-trophy-spark 1.25s ease-in-out infinite alternate; }
.mq-trophy-result-orb i:last-child { transform:rotate(45deg) scale(.72);animation-delay:.35s; }
@keyframes mq-trophy-spark { to{transform:rotate(35deg) scale(1.14)} }
.mq-trophy-result > div:nth-child(2) { min-width:0;display:grid;align-content:center;gap:1px; }
.mq-trophy-result > div:nth-child(2) small { color:#199fac;font-size:.56rem;font-weight:950;letter-spacing:.08em; }
.mq-trophy-result > div:nth-child(2) strong { color:#153c7a;font-size:2.05rem;line-height:1;font-weight:1000;font-variant-numeric:tabular-nums; }
.mq-trophy-result.is-loss > div:nth-child(2) strong { color:#395f92; }
.mq-trophy-result > div:nth-child(2) p { margin:2px 0 0;color:#627c9f;font-size:.66rem;font-weight:760; }
.mq-trophy-result > div:nth-child(2) p b { color:#153c7a;font-variant-numeric:tabular-nums; }
.mq-result-progress { grid-column:1/-1;height:7px;border-radius:99px;overflow:hidden;background:#dbeaf3; }
.mq-result-progress i { display:block;width:var(--p,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#1cc7b9,#3997d8,#f0bd3c);animation:mq-result-fill .95s cubic-bezier(.2,.8,.2,1) .2s both;transform-origin:left; }
@keyframes mq-result-fill { from{transform:scaleX(0)} }
.mq-trophy-result > span { grid-column:1/-1;color:#627c9f;font-size:.62rem;font-weight:780;text-align:center; }
.mq-trophy-result > span b { color:#174f8e;font-weight:950; }
.mq-format-unlocked { grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 10px;border-radius:14px;background:linear-gradient(90deg,#ddfbf5,#fff8d9);color:#176b76;font-style:normal;font-size:.66rem;font-weight:900;animation:mq-format-arrive .65s cubic-bezier(.18,1.15,.36,1) .45s both; }
.mq-format-unlocked svg { width:18px;height:18px;color:#12b99f; }
.mq-format-unlocked b { color:#155a96; }
@keyframes mq-format-arrive { from{opacity:0;transform:translateY(12px) scale(.96)} }

[data-motion="calme"] .mq-competitive-card::after,[data-motion="calme"] .mq-trophy-orb i,[data-motion="calme"] .mq-trophy-result-orb,[data-motion="calme"] .mq-trophy-result-orb i,[data-motion="calme"] .mq-result-progress i,[data-motion="calme"] .mq-format-unlocked { animation:none!important; }

@media (max-width:350px) {
	.mq-competitive-card { grid-template-columns:49px minmax(0,1fr) auto;gap:8px;padding:10px;min-height:88px;border-radius:21px; }
	.mq-trophy-orb { width:49px;border-radius:16px; }
	.mq-trophy-orb svg { width:25px;height:25px; }
	.mq-grid-badge { min-width:46px;padding:7px 5px;font-size:.65rem;border-radius:13px; }
	.mq-competitive-copy > strong { font-size:.9rem; }
	.mq-competitive-copy > span,.mq-competitive-copy p { font-size:.52rem; }
	.mq-trophy-result { grid-template-columns:55px minmax(0,1fr);gap:9px;padding:12px 11px;border-radius:20px; }
	.mq-trophy-result-orb { width:55px;border-radius:18px; }
	.mq-trophy-result > div:nth-child(2) strong { font-size:1.75rem; }
}

@media (max-width:480px), (max-height:700px) {
	.mq-competitive-card { min-height:78px;padding:8px 10px;border-radius:19px;grid-template-columns:44px minmax(0,1fr) auto;gap:8px; }
	.mq-trophy-orb { width:44px;border-radius:14px;border-width:2px; }
	.mq-trophy-orb svg { width:23px;height:23px; }
	.mq-grid-badge { min-width:45px;padding:6px 5px;border-radius:12px;font-size:.63rem; }
	.mq-competitive-copy > small { font-size:.46rem; }
	.mq-competitive-copy > strong { font-size:.86rem; }
	.mq-competitive-copy p,.mq-competitive-copy > span { font-size:.48rem; }
	.mq-trophy-progress { height:5px;margin:2px 0 0; }
	.mq-competitive-card.is-compact { min-height:70px; }
	.mq-quick-rule { padding:6px 8px;font-size:.54rem; }
}

/* =========================================================================
   MemoQuest 6.7.1 — résultat multijoueur personnel
   Chaque appareil affiche uniquement la performance de son propre joueur.
   ========================================================================= */
.mq-personal-result-layer {
	background:
		radial-gradient(circle at 50% 10%, rgba(82,221,227,.28), transparent 34%),
		linear-gradient(180deg, rgba(20,64,123,.30), rgba(20,64,123,.18));
}
.mq-personal-result-layer .mq-sheet {
	width:min(470px,100%);
	gap:10px;
	padding:clamp(12px,2.2vmin,20px);
	border:1px solid rgba(255,255,255,.9);
	background:linear-gradient(170deg,rgba(255,255,255,.99),rgba(247,253,255,.98));
	box-shadow:0 24px 58px rgba(21,60,122,.34),0 0 0 1px rgba(30,199,202,.08);
}
.mq-personal-result-layer .mq-sheet-body { gap:0; }

.mq-personal-result-head {
	position:relative;
	display:grid;
	grid-template-columns:64px minmax(0,1fr);
	align-items:center;
	gap:12px;
	padding:4px 3px 2px;
}
.mq-personal-result-head::after {
	content:"";
	position:absolute;
	left:76px;right:0;bottom:-4px;height:1px;
	background:linear-gradient(90deg,rgba(27,198,194,.38),transparent);
}
.mq-personal-result-seal {
	position:relative;
	width:64px;aspect-ratio:1;
	display:grid;place-items:center;
	border-radius:22px;
	color:#fff;
	background:linear-gradient(145deg,#1cd0c2,#168bd4);
	border:3px solid #fff;
	box-shadow:0 12px 28px rgba(29,153,188,.27),0 0 0 5px rgba(42,202,202,.10);
	animation:mq-personal-seal-in .65s cubic-bezier(.16,1.32,.35,1) both;
}
.mq-personal-result-head.is-win .mq-personal-result-seal {
	color:#fff7d6;
	background:linear-gradient(145deg,#ffd95d,#e79a18);
	box-shadow:0 12px 28px rgba(207,137,22,.28),0 0 0 5px rgba(255,194,45,.12);
}
.mq-personal-result-head.is-loss .mq-personal-result-seal {
	background:linear-gradient(145deg,#7898c6,#355887);
	box-shadow:0 12px 28px rgba(48,82,131,.23),0 0 0 5px rgba(71,109,163,.10);
}
.mq-personal-result-seal svg { width:34px;height:34px;filter:drop-shadow(0 2px 3px rgba(18,48,89,.22)); }
.mq-personal-result-seal i {
	position:absolute;inset:-8px;border-radius:27px;
	border:1.5px solid rgba(38,199,200,.28);
	animation:mq-personal-orbit 4.4s linear infinite;
}
.mq-personal-result-head.is-win .mq-personal-result-seal i { border-color:rgba(239,174,31,.34); }
@keyframes mq-personal-seal-in { from{opacity:0;transform:scale(.35) rotate(-18deg)} }
@keyframes mq-personal-orbit { to{transform:rotate(360deg)} }
.mq-personal-result-head > div { min-width:0; }
.mq-personal-result-head small {
	display:block;margin-bottom:1px;
	color:#18aeb6;font-size:.58rem;font-weight:1000;letter-spacing:.13em;
}
.mq-personal-result-head.is-win small { color:#c98b17; }
.mq-personal-result-head.is-loss small { color:#607fa9; }
.mq-personal-result-head h3 {
	margin:0;color:#153c7a;font-size:clamp(1.45rem,5.8vw,2rem);line-height:1;font-weight:1000;
}
.mq-personal-result-head p {
	margin:5px 0 0;color:#637c9e;font-size:.69rem;line-height:1.32;font-weight:740;
}

.mq-personal-result-card {
	position:relative;
	isolation:isolate;
	overflow:hidden;
	padding:14px;
	border-radius:27px;
	background:
		radial-gradient(circle at 90% 4%,rgba(45,208,201,.15),transparent 31%),
		linear-gradient(155deg,#fbfeff,#eff9fc);
	border:1px solid rgba(29,178,193,.20);
	box-shadow:0 16px 32px rgba(23,72,125,.12),inset 0 1px 0 rgba(255,255,255,.95);
	animation:mq-personal-card-in .58s cubic-bezier(.2,.9,.25,1) .08s both;
}
.mq-personal-result-card::before {
	content:"";position:absolute;z-index:-1;width:190px;height:190px;border-radius:50%;right:-90px;top:-104px;
	background:radial-gradient(circle,rgba(38,206,197,.20),transparent 67%);
}
.mq-personal-result-card.is-win {
	background:radial-gradient(circle at 88% 4%,rgba(255,202,66,.17),transparent 31%),linear-gradient(155deg,#fffefa,#effcf8);
	border-color:rgba(224,167,35,.24);
}
.mq-personal-result-card.is-loss {
	background:radial-gradient(circle at 88% 4%,rgba(103,139,188,.16),transparent 31%),linear-gradient(155deg,#fbfdff,#f1f6fc);
	border-color:rgba(89,125,175,.18);
}
@keyframes mq-personal-card-in { from{opacity:0;transform:translateY(18px) scale(.97)} }

.mq-personal-player { display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid rgba(73,117,162,.12); }
.mq-personal-avatar {
	width:43px;aspect-ratio:1;display:grid;place-items:center;flex:0 0 auto;border-radius:15px;
	color:#fff;font-size:1.28rem;font-weight:1000;
	background:linear-gradient(145deg,#18c9c0,#168bcf);
	border:2px solid #fff;box-shadow:0 8px 18px rgba(30,142,180,.22);
}
.mq-personal-result-card.is-win .mq-personal-avatar { background:linear-gradient(145deg,#22cda8,#159f7e); }
.mq-personal-player div { min-width:0; }
.mq-personal-player small { display:block;color:#6b82a0;font-size:.52rem;font-weight:950;letter-spacing:.11em; }
.mq-personal-player strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173d79;font-size:1rem;font-weight:1000; }

.mq-personal-score {
	display:grid;grid-template-columns:1fr auto;align-items:end;
	padding:12px 4px 8px;
}
.mq-personal-score small { grid-column:1/-1;color:#67809f;font-size:.56rem;font-weight:950;letter-spacing:.10em; }
.mq-personal-score strong {
	color:#153c7a;font-size:clamp(2.65rem,12vw,4rem);line-height:.9;font-weight:1000;font-variant-numeric:tabular-nums;
	text-shadow:0 5px 16px rgba(28,80,137,.12);
}
.mq-personal-result-card.is-win .mq-personal-score strong { color:#119878; }
.mq-personal-result-card.is-loss .mq-personal-score strong { color:#426993; }
.mq-personal-score span { padding-bottom:4px;color:#6c84a2;font-size:.68rem;font-weight:850; }

.mq-personal-rating {
	display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;
	padding:9px 10px;border-radius:18px;
	background:rgba(255,255,255,.74);border:1px solid rgba(51,126,172,.12);
}
.mq-personal-rating > span { color:#587497;font-size:.66rem;font-weight:850; }
.mq-personal-rating > b { color:#174a84;font-size:.68rem;font-weight:950; }
.mq-personal-stars { display:flex;justify-content:flex-end;align-items:center;gap:1px; }
.mq-personal-stars .mq-etoile-geant { width:20px;height:20px; }
.mq-personal-stars .mq-etoile.is-lit { animation:mq-star-in .55s var(--ressort) both; }

.mq-personal-stats { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px; }
.mq-personal-stats > div {
	min-width:0;padding:10px;border-radius:18px;
	display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;
	background:rgba(255,255,255,.78);border:1px solid rgba(58,127,169,.12);
}
.mq-personal-stats > div > span {
	grid-row:1/3;width:34px;aspect-ratio:1;border-radius:12px;display:grid;place-items:center;
	color:#1e9cb7;background:linear-gradient(145deg,#eaf9fb,#dff0fa);
}
.mq-personal-stats > div:last-child > span { color:#ed8d24;background:linear-gradient(145deg,#fff6e9,#ffead2); }
.mq-personal-stats svg { width:19px;height:19px; }
.mq-personal-stats small { color:#6a809d;font-size:.55rem;font-weight:850;line-height:1.1; }
.mq-personal-stats strong { color:#153c7a;font-size:1.05rem;font-weight:1000;line-height:1.05; }
.mq-personal-stats strong em { color:#6d82a0;font-size:.53rem;font-style:normal;font-weight:800; }

.mq-personal-trophies {
	position:relative;overflow:hidden;
	display:grid;grid-template-columns:52px minmax(0,1fr);gap:9px;
	margin-top:8px;padding:10px;border-radius:20px;
	background:linear-gradient(135deg,#f9fdff,#eaf8fc);border:1px solid rgba(35,171,188,.17);
}
.mq-personal-trophies.is-win { background:linear-gradient(135deg,#fffdf6,#eefcf8);border-color:rgba(227,168,31,.24); }
.mq-personal-trophies.is-loss { background:linear-gradient(135deg,#fffafa,#f1f6fc);border-color:rgba(103,126,164,.16); }
.mq-personal-trophies.is-private { align-items:center;background:linear-gradient(135deg,#f8fbfe,#eef5fa); }
.mq-personal-trophy-icon {
	position:relative;grid-row:1/3;width:52px;aspect-ratio:1;border-radius:17px;display:grid;place-items:center;
	color:#fff;background:linear-gradient(145deg,#ffd55a,#e7971b);border:2px solid #fff;box-shadow:0 8px 18px rgba(196,127,18,.21);
}
.mq-personal-trophies.is-loss .mq-personal-trophy-icon { background:linear-gradient(145deg,#7695c0,#395a88);box-shadow:0 8px 18px rgba(48,79,122,.18); }
.mq-personal-trophies.is-private .mq-personal-trophy-icon { background:linear-gradient(145deg,#2dcac1,#218fc4);box-shadow:0 8px 18px rgba(30,139,178,.18); }
.mq-personal-trophy-icon svg { width:28px;height:28px; }
.mq-personal-trophy-icon i { position:absolute;width:5px;height:5px;border-radius:50%;background:#ffd354;box-shadow:17px -11px 0 #2ccbbb,-16px -13px 0 #6499dc,15px 15px 0 #ff8b71;animation:mq-personal-spark 1.2s ease-in-out infinite alternate; }
@keyframes mq-personal-spark { to{transform:rotate(38deg) scale(1.13)} }
.mq-personal-trophies > div { min-width:0;display:grid;align-content:center; }
.mq-personal-trophies small { color:#199ba9;font-size:.51rem;font-weight:1000;letter-spacing:.09em; }
.mq-personal-trophies strong { color:#153c7a;font-size:1.75rem;line-height:1;font-weight:1000;font-variant-numeric:tabular-nums; }
.mq-personal-trophies.is-loss strong { color:#42658f; }
.mq-personal-trophies.is-private strong { font-size:1.05rem; }
.mq-personal-trophies p { margin:2px 0 0;color:#6a809d;font-size:.58rem;font-weight:750; }
.mq-personal-trophies p b { color:#164783; }
.mq-personal-trophy-progress { grid-column:1/-1;height:6px;border-radius:99px;overflow:hidden;background:#dceaf3; }
.mq-personal-trophy-progress i { display:block;width:var(--p,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#1bc7b9,#3a96d7,#f0bd3d);transform-origin:left;animation:mq-personal-fill 1s cubic-bezier(.2,.8,.2,1) .25s both; }
@keyframes mq-personal-fill { from{transform:scaleX(0)} }
.mq-personal-trophies > span:not(.mq-personal-trophy-icon) { grid-column:1/-1;color:#6a809d;font-size:.57rem;font-weight:800;text-align:center; }
.mq-personal-trophies > span b { color:#174c86; }
.mq-personal-trophies > em {
	grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 8px;border-radius:13px;
	color:#118e77;background:#e2faf3;font-size:.58rem;font-style:normal;animation:mq-personal-unlock .7s cubic-bezier(.2,1.2,.3,1) .5s both;
}
.mq-personal-trophies > em svg { width:16px;height:16px; }
@keyframes mq-personal-unlock { from{opacity:0;transform:scale(.75)} }

.mq-personal-result-layer .mq-sheet > div:last-child { gap:7px!important; }
.mq-result-find {
	position:relative;overflow:hidden;min-height:50px;
	box-shadow:0 11px 24px rgba(19,160,187,.24),inset 0 1px 0 rgba(255,255,255,.35);
}
.mq-result-find::after {
	content:"";position:absolute;inset:-40% auto -40% -35%;width:34%;transform:skewX(-18deg);
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.43),transparent);
	animation:mq-result-button-sheen 3.8s ease-in-out infinite;
}
@keyframes mq-result-button-sheen { 0%,65%{left:-40%} 88%,100%{left:125%} }
.mq-result-find svg:first-child { width:22px;height:22px; }
.mq-result-home {
	min-height:46px;color:#17447f;background:linear-gradient(180deg,#fff,#edf6fc);
	border:1px solid rgba(44,106,160,.18);box-shadow:0 8px 18px rgba(33,82,130,.10);
}
.mq-result-home svg { width:20px;height:20px; }

[data-motion="calme"] .mq-personal-result-seal,
[data-motion="calme"] .mq-personal-result-seal i,
[data-motion="calme"] .mq-personal-result-card,
[data-motion="calme"] .mq-personal-trophy-icon i,
[data-motion="calme"] .mq-personal-trophy-progress i,
[data-motion="calme"] .mq-personal-trophies > em,
[data-motion="calme"] .mq-result-find::after { animation:none!important; }

@media (max-width:370px), (max-height:690px) {
	.mq-personal-result-layer .mq-sheet { gap:7px;padding:10px;border-radius:23px; }
	.mq-personal-result-head { grid-template-columns:52px minmax(0,1fr);gap:9px; }
	.mq-personal-result-seal { width:52px;border-radius:17px; }
	.mq-personal-result-seal svg { width:28px;height:28px; }
	.mq-personal-result-head::after { left:61px; }
	.mq-personal-result-head h3 { font-size:1.42rem; }
	.mq-personal-result-head p { font-size:.61rem;margin-top:3px; }
	.mq-personal-result-card { padding:10px;border-radius:22px; }
	.mq-personal-player { padding-bottom:7px; }
	.mq-personal-avatar { width:37px;border-radius:12px;font-size:1.05rem; }
	.mq-personal-score { padding:8px 3px 5px; }
	.mq-personal-score strong { font-size:2.45rem; }
	.mq-personal-rating { padding:7px 8px;border-radius:15px; }
	.mq-personal-stars .mq-etoile-geant { width:17px;height:17px; }
	.mq-personal-stats { gap:6px;margin-top:6px; }
	.mq-personal-stats > div { padding:7px;grid-template-columns:29px minmax(0,1fr);column-gap:6px;border-radius:15px; }
	.mq-personal-stats > div > span { width:29px;border-radius:10px; }
	.mq-personal-stats strong { font-size:.92rem; }
	.mq-personal-trophies { grid-template-columns:43px minmax(0,1fr);gap:7px;margin-top:6px;padding:8px;border-radius:17px; }
	.mq-personal-trophy-icon { width:43px;border-radius:14px; }
	.mq-personal-trophy-icon svg { width:23px;height:23px; }
	.mq-personal-trophies strong { font-size:1.45rem; }
	.mq-result-find { min-height:45px; }
	.mq-result-home { min-height:42px; }
}

/* =========================================================================
   MemoQuest 6.19.0 — couche Android locale et sécurisation multijoueur
   L'écran de résultat est une vraie vue, jamais une surcouche dépendante du
   plateau. Cela élimine les fins de match figées après la dernière paire.
   ========================================================================= */
.mq-view[data-view="online"] .mq-personal-result-page {
	width:min(520px,100%);
	margin:0 auto;
	padding:clamp(10px,2.4vmin,20px) var(--pad) calc(var(--pad) + env(safe-area-inset-bottom));
	display:grid;
	gap:10px;
	min-height:100%;
	align-content:center;
	animation:mq-result-page-in .46s var(--ressort);
}
@keyframes mq-result-page-in {
	from { opacity:0; transform:translateY(18px) scale(.975); }
}
.mq-view[data-view="online"] .mq-personal-result-page::before {
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background:
		radial-gradient(circle at 50% 10%,rgba(66,217,224,.22),transparent 31%),
		radial-gradient(circle at 85% 82%,rgba(255,215,106,.18),transparent 28%);
}
.mq-view[data-view="online"] .mq-personal-result-page > * { position:relative; z-index:1; }
.mq-personal-result-actions {
	display:grid;
	gap:8px;
	padding:0 2px;
}
.mq-personal-result-actions .mq-btn {
	min-height:52px;
	border-radius:20px;
	font-weight:900;
	letter-spacing:-.02em;
	box-shadow:0 12px 24px rgba(21,60,122,.16);
}
.mq-personal-result-actions .mq-result-find {
	background:linear-gradient(135deg,#16cfc1,#168ddd);
	box-shadow:0 14px 30px rgba(17,170,199,.28),inset 0 1px 0 rgba(255,255,255,.55);
}
.mq-personal-result-actions .mq-result-home {
	background:rgba(255,255,255,.93);
	color:#173f77;
	border:1px solid rgba(108,157,202,.25);
}
.mq-result-fallback .mq-personal-result-card { text-align:center; }
[data-motion="calme"] .mq-view[data-view="online"] .mq-personal-result-page { animation:none; }
@media (max-width:480px), (max-height:700px) {
	.mq-view[data-view="online"] .mq-personal-result-page { align-content:start;gap:7px;padding-top:8px; }
	.mq-personal-result-actions .mq-btn { min-height:46px; }
}

/* =========================================================================
   MemoQuest 6.19.0 — écrans de résultat premium compacts sans bloc supérieur
   Recherche rapide : trophées. IA : pièces. Salle privée : aucun trophée.
   ========================================================================= */
.mq-shell[data-result-screen] .mq-app {
	gap:0;
	padding:0;
	background:
		radial-gradient(circle at 50% -10%,rgba(255,255,255,.92),transparent 35%),
		linear-gradient(180deg,#49c9f4 0%,#a7e8fb 31%,#e8faff 70%,#f7fcff 100%);
}
.mq-shell[data-result-screen] .mq-top,
.mq-shell[data-result-screen] .mq-nav,
.mq-shell[data-result-screen] .mq-ambiance { display:none!important; }
.mq-shell[data-result-screen] .mq-stage { min-height:100%; }
.mq-shell[data-result-screen] .mq-view.is-active {
	overflow-x:hidden;
	overflow-y:auto;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
}
.mq-shell[data-result-screen="solo"] .mq-view.is-active { overflow-y:hidden; }
.mq-final-result-page {
	--result-accent:#18bfc8;
	--result-accent-2:#208fe7;
	--result-deep:#123c7d;
	--result-soft:#eaf9ff;
	position:relative;
	isolation:isolate;
	width:min(620px,100%);
	min-height:100%;
	margin:0 auto;
	padding:max(10px,env(safe-area-inset-top)) clamp(10px,2.4vw,16px) max(12px,env(safe-area-inset-bottom));
	display:grid;
	gap:clamp(6px,.9vh,10px);
	align-content:start;
	color:var(--result-deep);
	font-variant-numeric:tabular-nums;
	background:
		radial-gradient(circle at 50% 2%,rgba(255,255,255,.98),transparent 23%),
		radial-gradient(circle at 10% 25%,rgba(0,195,217,.16),transparent 22%),
		radial-gradient(circle at 90% 34%,rgba(37,137,245,.14),transparent 24%),
		linear-gradient(180deg,rgba(75,200,244,.94),rgba(184,238,252,.97) 34%,rgba(237,250,255,.99) 76%,#f9fdff);
}
.mq-final-result-page.is-loss {
	--result-accent:#f04f63;
	--result-accent-2:#e22d4d;
	--result-soft:#fff0f3;
}
.mq-final-result-page.is-draw {
	--result-accent:#875fd8;
	--result-accent-2:#5d7de2;
	--result-soft:#f3efff;
}
.mq-final-result-page::before {
	content:"";
	position:absolute;z-index:-2;inset:0;
	background:
		repeating-linear-gradient(112deg,transparent 0 8%,rgba(255,255,255,.15) 8.3%,transparent 8.8% 16%),
		radial-gradient(ellipse at 50% 8%,rgba(255,255,255,.86),transparent 32%);
	pointer-events:none;
}
.mq-final-result-page::after {
	content:"";
	position:absolute;z-index:-1;left:5%;right:5%;top:7%;height:34%;
	border-radius:50%;
	background:radial-gradient(ellipse,rgba(255,255,255,.66),transparent 70%);
	filter:blur(22px);
	pointer-events:none;
}
.mq-final-particles { position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:6; }
.mq-final-particles i {
	--x:calc((var(--i) * 43 + 11) % 97);
	position:absolute;
	left:calc(var(--x) * 1%);
	top:calc(1% + ((var(--i) * 29) % 48) * 1%);
	width:clamp(5px,1.6vw,10px);height:clamp(8px,2.2vw,15px);
	border-radius:2px;
	background:hsl(calc(185 + (var(--i) * 29)),82%,56%);
	box-shadow:0 0 12px rgba(255,255,255,.9);
	transform:rotate(calc(var(--i) * 31deg));
	animation:mq-final-float calc(4.2s + var(--i) * .13s) ease-in-out 3 alternate;
	opacity:.86;
	will-change:transform,opacity;
}
.mq-final-result-page.is-loss .mq-final-particles i:nth-child(3n+1) { background:#ff4864; }
.mq-final-result-page.is-loss .mq-final-particles i:nth-child(3n+2) { background:#ff7a83; }
@keyframes mq-final-float { to{transform:translate3d(7px,18px,0) rotate(calc(var(--i) * 31deg + 110deg));opacity:.38} }

@keyframes mq-final-rays { to{transform:rotate(360deg)} }
@keyframes mq-final-emblem-in { from{opacity:0;transform:translate(-50%,-42%) scale(.32) rotate(-18deg)} }

.mq-final-reward {
	position:relative;z-index:2;overflow:hidden;
	display:grid;grid-template-columns:clamp(52px,13vw,74px) minmax(0,1fr) clamp(56px,15vw,90px);align-items:center;gap:clamp(8px,2vw,14px);
	padding:clamp(10px,2.1vw,14px);
	border-radius:clamp(25px,5vw,38px);
	background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(244,252,255,.97));
	border:1px solid rgba(255,255,255,.98);
	box-shadow:0 18px 38px rgba(30,86,146,.14),inset 0 1px 0 #fff;
}
.mq-final-reward.is-trophies-loss,.mq-final-reward.is-coins-zero { background:linear-gradient(145deg,#fffdfd,#fff1f4);border-color:rgba(255,94,117,.22); }
.mq-final-reward.is-private { grid-template-columns:clamp(58px,15vw,88px) minmax(0,1fr);background:linear-gradient(145deg,#fff,#edfaff); }
.mq-final-reward.is-private .mq-final-reward-art { display:none; }
.mq-final-reward-icon { position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff6cf;background:linear-gradient(145deg,#ffda55,#ed9c16);border:4px solid #fff;box-shadow:0 10px 24px rgba(210,142,24,.25),0 0 0 5px rgba(255,201,48,.12); }
.mq-final-reward.is-trophies-loss .mq-final-reward-icon,.mq-final-reward.is-coins-zero .mq-final-reward-icon { color:#fff;background:linear-gradient(145deg,#ff7180,#e83354);box-shadow:0 10px 24px rgba(207,49,78,.22),0 0 0 5px rgba(255,79,106,.1); }
.mq-final-reward.is-private .mq-final-reward-icon { background:linear-gradient(145deg,#31d1ce,#2a82e6);box-shadow:0 10px 24px rgba(33,126,195,.23),0 0 0 5px rgba(49,200,222,.11); }
.mq-final-reward-icon svg { width:52%;height:52%; }
.mq-final-reward-icon i { position:absolute;inset:-9px;border:1px solid rgba(255,196,52,.44);border-radius:50%;animation:mq-final-pulse 1.8s ease-in-out infinite; }
@keyframes mq-final-pulse { 50%{transform:scale(1.08);opacity:.35} }
.mq-final-reward-copy { min-width:0;display:grid;align-content:center; }
.mq-final-reward-copy small { color:#13a4b3;font-size:clamp(.58rem,2.5vw,.8rem);font-weight:1000;letter-spacing:.09em; }
.mq-final-reward.is-trophies-loss small,.mq-final-reward.is-coins-zero small { color:#df3855; }
.mq-final-reward-copy strong { margin-top:2px;color:#123a7a;font-size:clamp(1.05rem,4.5vw,1.7rem);line-height:1.02;font-weight:1000;letter-spacing:-.035em; }
.mq-final-reward.is-trophies-loss .mq-final-reward-copy strong,.mq-final-reward.is-coins-zero .mq-final-reward-copy strong { color:#df2f4d; }
.mq-final-reward-copy p { margin:5px 0 0;color:#58739a;font-size:clamp(.61rem,2.7vw,.86rem);line-height:1.28;font-weight:700; }
.mq-final-reward-total,.mq-final-reward-format { margin-top:4px;color:#55739a;font-size:clamp(.54rem,2.25vw,.7rem);font-weight:800; }
.mq-final-reward-total b,.mq-final-reward-format b { color:#153e7d; }
.mq-final-reward-art { position:relative;width:100%;height:58px; }
.mq-final-reward-art i { position:absolute;bottom:6px;width:38px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff5aa 0 8%,#ffd143 10% 54%,#e69a18 56% 68%,#ffc12e 70%);border:3px solid #fff0a1;box-shadow:0 5px 12px rgba(177,111,12,.25); }
.mq-final-reward-art i::before { content:"★";position:absolute;inset:0;display:grid;place-items:center;color:#fff5b7;font-size:1.1rem;text-shadow:0 2px 2px rgba(161,100,15,.3); }
.mq-final-reward-art i:nth-child(1){left:3%;bottom:5px}.mq-final-reward-art i:nth-child(2){left:30%;bottom:24px}.mq-final-reward-art i:nth-child(3){right:2%;bottom:8px}
.mq-final-reward.is-trophies-loss .mq-final-reward-art i,.mq-final-reward.is-coins-zero .mq-final-reward-art i { background:radial-gradient(circle at 35% 28%,#ffc3c9 0 8%,#ff6678 10% 54%,#dc294b 56% 68%,#f34a65 70%);border-color:#ffb4bd; }

.mq-final-actions { position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);gap:clamp(8px,1.7vw,12px);padding-bottom:1px; }
.mq-final-actions .mq-btn { min-height:clamp(44px,5.8vh,54px);border-radius:clamp(20px,4vw,30px);display:flex;align-items:center;justify-content:center;gap:10px;font-size:clamp(.68rem,2.6vw,.84rem);font-weight:950;box-shadow:0 14px 28px rgba(28,91,159,.17); }
.mq-final-actions svg { width:clamp(18px,4.4vw,25px);height:clamp(18px,4.4vw,25px); }
.mq-final-replay { color:#fff!important;background:linear-gradient(135deg,#16cdd0 0%,#1ba5e5 52%,#326be5 100%)!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 7px 0 #126ab9,0 15px 30px rgba(23,117,196,.29),inset 0 1px 0 rgba(255,255,255,.56)!important; }
.mq-final-result-page.is-loss .mq-final-replay { background:linear-gradient(135deg,#ff5b6d,#ea3157)!important;box-shadow:0 7px 0 #b92243,0 15px 30px rgba(211,45,76,.25),inset 0 1px 0 rgba(255,255,255,.5)!important; }
.mq-final-home { color:#173e7b!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(96,151,207,.23)!important; }

@media (min-width:700px) {
	.mq-final-result-page { padding-inline:28px; }
	
}
@media (max-width:390px) {
	.mq-final-result-page { padding-inline:10px;gap:8px; }
	
	
	
	
	.mq-final-reward { grid-template-columns:52px minmax(0,1fr) 57px;gap:8px;padding:11px;border-radius:23px; }
	.mq-final-reward-art { height:58px; }
	.mq-final-reward-art i { width:34px; }
	
	
	
	
	
	
	
	.mq-final-actions { grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:7px; }
}
@media (max-height:760px) and (min-width:360px) {
	.mq-final-result-page { gap:7px;padding-top:max(18px,env(safe-area-inset-top)); }
	
	
	
	
	
	
	.mq-final-reward { padding:9px 12px; }
	
	
	
	.mq-final-actions .mq-btn { min-height:48px; }
}

/* =========================================================================
   MemoQuest 6.19.0 — résultat compact, scroll fiable et revanche privée
   ========================================================================= */
.mq-shell[data-result-screen] .mq-stage,
.mq-shell[data-result-screen] .mq-view.is-active {
	height:100%;
	min-height:0;
}
.mq-shell[data-result-screen] .mq-view.is-active {
	display:block;
	overflow-y:auto!important;
	overflow-x:hidden!important;
	scrollbar-width:thin;
	scrollbar-color:rgba(34,128,195,.36) transparent;
	padding:0!important;
}
.mq-shell[data-result-screen] .mq-view.is-active::-webkit-scrollbar { width:5px; }
.mq-shell[data-result-screen] .mq-view.is-active::-webkit-scrollbar-thumb { background:rgba(34,128,195,.34);border-radius:99px; }
.mq-final-result-page { font-size:14px; padding-bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px)); }
.mq-final-actions.is-single { grid-template-columns:1fr; }
.mq-final-actions.is-single .mq-final-replay { width:100%; }
.mq-final-replay.is-waiting { filter:saturate(.72);opacity:.82; }
.mq-final-replay.is-loading::after,.mq-rematch-launch.is-loading::after,.mq-rematch-accept.is-loading::after {
	content:"";width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:mq-rematch-spin .7s linear infinite;
}
@keyframes mq-rematch-spin { to{transform:rotate(360deg)} }
.mq-rematch-status {
	position:relative;z-index:4;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;
	padding:10px 12px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(236,249,255,.96));
	border:1px solid rgba(47,151,205,.19);box-shadow:0 12px 25px rgba(29,87,143,.12);
}
.mq-rematch-status[hidden] { display:none!important; }
.mq-rematch-status > span { width:38px;aspect-ratio:1;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#20c8c5,#2584e3);box-shadow:0 7px 16px rgba(31,132,199,.2); }
.mq-rematch-status > span svg { width:24px;height:24px; }
.mq-rematch-status strong { display:block;color:#153c7a;font-size:.82rem;font-weight:950; }
.mq-rematch-status small { display:block;margin-top:2px;color:#617b9f;font-size:.64rem;line-height:1.25;font-weight:720; }
.mq-rematch-status.is-declined > span { background:linear-gradient(145deg,#ff6f7e,#dc3452); }
.mq-rematch-status.is-accepted > span { background:linear-gradient(145deg,#42d39f,#149b78); }
.mq-rematch-dialog-layer { position:fixed;z-index:80;inset:0;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));display:grid;place-items:center;background:rgba(16,48,91,.42);animation:mq-rematch-layer-in .22s ease-out; }
@keyframes mq-rematch-layer-in { from{opacity:0} }
.mq-rematch-dialog { width:min(430px,100%);padding:24px 18px 18px;border-radius:30px;text-align:center;background:linear-gradient(160deg,#fff,#eefaff);border:2px solid rgba(255,255,255,.98);box-shadow:0 28px 70px rgba(17,55,105,.34);animation:mq-rematch-dialog-in .42s cubic-bezier(.18,1.25,.35,1); }
@keyframes mq-rematch-dialog-in { from{opacity:0;transform:translateY(24px) scale(.91)} }
.mq-rematch-dialog-icon { position:relative;width:70px;aspect-ratio:1;margin:-54px auto 12px;border-radius:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#20d0c6,#247fe4);border:4px solid #fff;box-shadow:0 13px 30px rgba(28,132,199,.29); }
.mq-rematch-dialog-icon svg { width:34px;height:34px; }
.mq-rematch-dialog-icon i { position:absolute;inset:-9px;border:1px solid rgba(40,188,210,.34);border-radius:30px;animation:mq-personal-orbit 4s linear infinite; }
.mq-rematch-dialog > small { color:#12a5b5;font-size:.58rem;font-weight:1000;letter-spacing:.12em; }
.mq-rematch-dialog h3 { margin:5px 0 0;color:#153c7a;font-size:1.1rem;line-height:1.05;font-weight:1000; }
.mq-rematch-dialog p { margin:8px auto 16px;max-width:330px;color:#5c769b;font-size:.72rem;line-height:1.35;font-weight:720; }
.mq-rematch-dialog > div { display:grid;grid-template-columns:1.2fr .8fr;gap:8px; }
.mq-rematch-dialog .mq-btn { min-height:48px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;font-weight:950; }
.mq-shell[data-rematch-invite="1"] .mq-app{pointer-events:none!important}
.mq-shell[data-rematch-invite="1"]>.mq-rematch-dialog-layer{z-index:2147483000;pointer-events:auto!important;overflow-y:auto;touch-action:manipulation;isolation:isolate}
.mq-shell>.mq-rematch-dialog-layer .mq-rematch-dialog{pointer-events:auto!important}
.mq-rematch-invite-feedback{min-height:1.35em;margin:12px 0 0!important;font-weight:800!important}
.mq-rematch-accept { color:#fff!important;background:linear-gradient(135deg,#19c9c1,#2584e4)!important;box-shadow:0 10px 22px rgba(28,133,198,.24)!important; }
.mq-rematch-decline { color:#5f7899!important;background:#eef5fa!important;border:1px solid rgba(75,124,171,.16)!important; }
.mq-rematch-config { position:relative;z-index:4;padding:14px;border-radius:24px;background:linear-gradient(150deg,rgba(255,255,255,.99),rgba(239,250,255,.98));border:1px solid rgba(255,255,255,.98);box-shadow:0 14px 30px rgba(27,83,139,.14); }
.mq-rematch-config header { display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;margin-bottom:6px; }
.mq-rematch-config header > span { width:44px;aspect-ratio:1;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#20c9c3,#2683e4); }
.mq-rematch-config header svg { width:23px;height:23px; }
.mq-rematch-config header small { display:block;color:#12a5b5;font-size:.52rem;font-weight:1000;letter-spacing:.1em; }
.mq-rematch-config header strong { display:block;color:#153c7a;font-size:.84rem;font-weight:1000; }
.mq-rematch-fields { display:grid;grid-template-columns:1.15fr .85fr .95fr;gap:8px; }
.mq-rematch-fields .mq-premium-field { gap:4px; }
.mq-rematch-fields .mq-premium-field > span { font-size:.56rem; }
.mq-rematch-fields .mq-premium-field select { min-height:43px;padding:8px 28px 8px 9px;border-radius:13px;font-size:.68rem; }
.mq-rematch-launch { width:100%;min-height:48px;margin-top:10px;border-radius:17px!important;display:flex!important;align-items:center;justify-content:center;gap:8px;color:#fff!important;background:linear-gradient(135deg,#19c9c1,#2584e4)!important;box-shadow:0 10px 22px rgba(28,133,198,.22)!important;font-size:.76rem!important;font-weight:950!important; }
.mq-rematch-config > p { min-height:1.2em;margin:6px 2px 0;color:#db3954;font-size:.62rem;font-weight:780;text-align:center; }
.mq-quick-restart { width:min(430px,100%);margin:auto;padding:24px 18px;border-radius:30px;text-align:center;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.98);box-shadow:0 20px 48px rgba(28,85,145,.17); }
.mq-quick-restart > span { position:relative;width:72px;aspect-ratio:1;margin:0 auto 12px;border-radius:24px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#20cec5,#2780e2);border:4px solid #fff;box-shadow:0 13px 28px rgba(30,135,199,.27); }
.mq-quick-restart > span svg { width:35px;height:35px; }
.mq-quick-restart > span i { position:absolute;inset:-10px;border-radius:30px;border:1px solid rgba(29,181,206,.32);animation:mq-personal-orbit 4s linear infinite; }
.mq-quick-restart h3 { margin:0;color:#153c7a;font-size:1.2rem;font-weight:1000; }
.mq-quick-restart p { margin:6px 0 14px;color:#607a9e;font-size:.72rem;font-weight:720; }
@media (max-width:430px) {
	.mq-final-result-page { font-size:13px; }
	.mq-rematch-fields { grid-template-columns:1fr 1fr; }
	.mq-rematch-fields label:first-child { grid-column:1/-1; }
}
@media (max-height:690px) {
	.mq-final-result-page { font-size:12.5px;gap:6px; }
	
	
	
	.mq-final-reward { padding-block:8px; }
	
	
}

/* =========================================================================
   MemoQuest 6.19.0 — résultat SOLO compact sans en-tête, ajusté sans scroll
   ========================================================================= */
.mq-solo-result-page {
	--solo-deep:#123f83;
	--solo-teal:#0fb7c2;
	--solo-blue:#1478eb;
	min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
	gap:clamp(8px,1vh,12px);
	padding-inline:clamp(10px,2.8vw,18px);
	padding-top:max(14px,env(safe-area-inset-top));
	padding-bottom:max(14px,env(safe-area-inset-bottom));
	grid-template-rows:auto auto auto 1fr auto;
	background:
		radial-gradient(circle at 50% 1%,rgba(255,255,255,.98),transparent 24%),
		radial-gradient(circle at 8% 30%,rgba(29,201,214,.19),transparent 25%),
		radial-gradient(circle at 92% 45%,rgba(28,123,235,.15),transparent 26%),
		linear-gradient(180deg,#4ccaf4 0%,#aeeafb 34%,#edfaff 76%,#fbfdff 100%);
}
.mq-solo-result-page .mq-final-particles i { width:5px;height:5px;border-radius:50%;background:#fff;opacity:.42;box-shadow:0 0 12px #fff; }
.mq-solo-hero {
	display:none;
	position:relative;z-index:2;
	min-height:clamp(215px,29vh,292px);
	padding:clamp(72px,9vh,94px) clamp(14px,3vw,24px) clamp(20px,2.8vh,30px);
	display:flex;align-items:flex-end;justify-content:center;
	border-radius:clamp(31px,6vw,47px);
	background:linear-gradient(155deg,rgba(255,255,255,.995),rgba(246,252,255,.975));
	border:1px solid rgba(255,255,255,.99);
	box-shadow:0 22px 54px rgba(31,91,153,.18),inset 0 1px 0 #fff;
	overflow:visible;
}

.mq-solo-score-card {
	position:relative;z-index:2;overflow:visible;
	min-height:clamp(238px,31vh,305px);
	padding:clamp(38px,4.5vh,52px) clamp(12px,3vw,24px) clamp(12px,2vh,18px);
	display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
	border-radius:clamp(28px,5.4vw,42px);
	background:
		radial-gradient(circle at 15% 5%,rgba(100,255,237,.25),transparent 34%),
		linear-gradient(135deg,#17c8cd 0%,#199de6 50%,#176ae8 100%);
	border:4px solid rgba(255,255,255,.93);
	box-shadow:0 19px 44px rgba(21,91,179,.25),inset 0 0 0 2px rgba(36,230,226,.24),inset 0 2px 0 rgba(255,255,255,.45);
	color:#fff;
}
.mq-solo-score-card::after {
	content:"★";position:absolute;right:3%;top:17%;font-size:clamp(100px,28vw,178px);line-height:1;color:rgba(255,255,255,.12);transform:rotate(-4deg);pointer-events:none;
}
.mq-solo-winner {
	position:absolute;z-index:3;left:50%;top:0;transform:translate(-50%,-38%);
	min-width:clamp(190px,49vw,280px);min-height:clamp(46px,6vh,59px);
	padding:8px 20px;display:flex;align-items:center;justify-content:center;gap:9px;
	border-radius:999px;color:#fff;font-size:clamp(.72rem,3vw,1rem);font-weight:1000;letter-spacing:.035em;
	background:linear-gradient(145deg,#16d0c4,#0aa9ca 55%,#178de5);
	border:4px solid #fff;box-shadow:0 12px 26px rgba(10,123,185,.31),inset 0 1px 0 rgba(255,255,255,.55);
}
.mq-solo-winner svg { width:clamp(21px,5.5vw,29px);height:clamp(21px,5.5vw,29px);color:#ffd33e;filter:drop-shadow(0 2px 3px rgba(135,93,8,.24)); }
.mq-solo-score-copy { position:relative;z-index:2;display:grid;justify-items:center;text-align:center;line-height:1; }
.mq-solo-score-copy small { color:#fff;font-size:clamp(.92rem,3.7vw,1.25rem);font-weight:950; }
.mq-solo-score-copy strong { margin-top:5px;color:#fff;font-size:clamp(3.9rem,17vw,6rem);line-height:.82;font-weight:1000;letter-spacing:-.075em;text-shadow:0 8px 18px rgba(14,75,169,.19);font-variant-numeric:tabular-nums; }
.mq-solo-score-copy span { margin-top:6px;color:#fff;font-size:clamp(.86rem,3.3vw,1.12rem);font-weight:950; }
.mq-solo-rating {
	position:relative;z-index:2;width:min(88%,510px);margin-top:auto;padding:clamp(10px,1.6vh,16px) clamp(12px,3vw,23px);
	display:grid;justify-items:center;gap:6px;text-align:center;
	border-radius:clamp(22px,4.5vw,34px);background:linear-gradient(150deg,#fff,#f5fbff);border:1px solid rgba(255,255,255,.99);
	box-shadow:0 14px 31px rgba(11,72,156,.19),inset 0 1px 0 #fff;
}
.mq-solo-rating > strong { color:#1360c8;font-size:clamp(.69rem,2.9vw,.92rem);font-weight:1000; }
.mq-solo-stars { display:flex;align-items:center;justify-content:center;gap:clamp(2px,.8vw,6px); }
.mq-solo-stars .mq-etoile-geant { width:clamp(25px,6.6vw,39px);height:clamp(25px,6.6vw,39px);filter:drop-shadow(0 5px 5px rgba(185,112,3,.25)); }
.mq-solo-rating > b { color:#1762cc;font-size:clamp(1.05rem,4vw,1.45rem);line-height:1;font-weight:1000; }
.mq-solo-stats {
	position:relative;z-index:2;padding:clamp(12px,2.3vw,18px) clamp(12px,3vw,24px) clamp(10px,2vw,16px);
	border-radius:clamp(28px,5vw,40px);background:linear-gradient(150deg,rgba(255,255,255,.995),rgba(247,252,255,.985));
	border:1px solid rgba(255,255,255,.99);box-shadow:0 18px 40px rgba(31,86,145,.15),inset 0 1px 0 #fff;
}
.mq-solo-stats > header { display:grid;place-items:center;margin-bottom:4px;text-align:center; }
.mq-solo-stats > header strong { position:relative;padding-inline:20px;color:#0da5b6;font-size:clamp(.75rem,3.25vw,1.06rem);font-weight:1000;letter-spacing:.055em; }
.mq-solo-stats > header strong::before,.mq-solo-stats > header strong::after { content:"";position:absolute;top:50%;width:clamp(28px,9vw,75px);height:1px;background:linear-gradient(90deg,transparent,rgba(57,129,195,.28)); }
.mq-solo-stats > header strong::before { right:100%; }
.mq-solo-stats > header strong::after { left:100%;transform:scaleX(-1); }
.mq-solo-stats-list {
	width:min(100%,520px);margin:0 auto;padding:clamp(6px,1vw,10px) clamp(10px,2.4vw,18px);
	border-radius:clamp(20px,4vw,30px);background:linear-gradient(150deg,rgba(255,255,255,.94),rgba(247,252,255,.86));
	border:1px solid rgba(74,145,207,.16);box-shadow:inset 0 1px 0 #fff;
}
.mq-solo-stat-row {
	width:100%;min-height:clamp(31px,4.2vh,40px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;
	padding:4px clamp(4px,1.8vw,11px);border-bottom:1px solid rgba(55,121,184,.15);font-variant-numeric:tabular-nums;
}
.mq-solo-stat-row:last-child { border-bottom:0; }
.mq-solo-stat-label { min-width:0;display:grid;grid-template-columns:clamp(25px,6vw,34px) minmax(0,1fr);align-items:center;gap:clamp(8px,2.4vw,15px);color:#153e7d; }
.mq-solo-stat-label svg { width:clamp(20px,4.8vw,26px);height:clamp(20px,4.8vw,26px);color:#5d8fd3;stroke-width:1.9; }
.mq-solo-stat-label em { overflow:hidden;text-overflow:ellipsis;color:#17417e;font-size:clamp(.64rem,2.55vw,.82rem);font-style:normal;font-weight:850;white-space:nowrap; }
.mq-solo-stat-row > b { min-width:clamp(50px,14vw,76px);color:#0aa7b4;font-size:clamp(.78rem,3vw,.98rem);font-weight:1000;text-align:right; }
.mq-solo-result-page .mq-final-actions { margin-top:0; }
@media (max-width:390px) {
	.mq-solo-hero { min-height:205px;padding-bottom:18px; }
	.mq-solo-score-card { min-height:300px;padding-inline:9px; }
	.mq-solo-rating { width:92%; }
	.mq-solo-stats { padding-inline:9px; }
	.mq-solo-stat-label { grid-template-columns:24px minmax(0,1fr);gap:8px; }
	.mq-solo-stat-row > b { min-width:54px; }
}
@media (max-width:480px), (max-height:700px) {
	.mq-solo-result-page { gap:6px; }
	.mq-solo-score-card { min-height:228px;padding-top:36px;padding-bottom:8px; }
	.mq-solo-score-copy strong { font-size:3.7rem; }
	.mq-solo-rating { padding-block:8px; }
	.mq-solo-stat-row { min-height:30px; }
}
[data-motion="calme"] .mq-solo-score-card,.mq-shell[data-motion="calme"] .mq-solo-winner { animation:none!important; }

@media (max-height:760px) {
	.mq-final-result-page { gap:5px; padding-top:max(8px,env(safe-area-inset-top)); padding-bottom:max(10px,env(safe-area-inset-bottom)); }
	
	.mq-final-reward { padding:8px 10px; }
	
	
	
	
	.mq-final-actions .mq-btn { min-height:42px; }
}

/* Récapitulatif premium affiché une seule fois après la première victoire du niveau 100. */
.mq-adventure-summary {
	position:relative;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(12px,3vw,20px);
	padding:clamp(13px,3vw,20px);border-radius:clamp(24px,5vw,36px);overflow:hidden;
	background:linear-gradient(135deg,rgba(19,71,163,.98),rgba(22,159,195,.96) 58%,rgba(54,211,190,.96));
	border:1px solid rgba(255,255,255,.72);box-shadow:0 18px 42px rgba(11,72,143,.25),inset 0 1px 0 rgba(255,255,255,.38);color:#fff;
}
.mq-adventure-summary::after { content:"";position:absolute;inset:-50% -10% auto 42%;height:180%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 62%);pointer-events:none; }
.mq-adventure-emblem { position:relative;display:grid;place-items:center;width:clamp(62px,16vw,88px);aspect-ratio:1;border-radius:28%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 12px 24px rgba(7,55,124,.18); }
.mq-adventure-emblem svg { width:52%;height:52%;color:#fff;filter:drop-shadow(0 4px 8px rgba(0,46,107,.25)); }
.mq-adventure-emblem i { position:absolute;inset:-5px;border-radius:31%;border:2px solid rgba(255,218,74,.88);animation:mqAdventurePulse 1.8s ease-in-out infinite; }
.mq-adventure-summary > div { min-width:0;position:relative;z-index:2;display:grid;gap:4px; }
.mq-adventure-summary small { font-size:clamp(.6rem,2.4vw,.78rem);font-weight:1000;letter-spacing:.09em;color:#dffcff; }
.mq-adventure-summary strong { font-size:clamp(1.18rem,4.7vw,1.8rem);line-height:1.05;font-weight:1000; }
.mq-adventure-summary p { margin:0;font-size:clamp(.7rem,2.8vw,.9rem);line-height:1.35;font-weight:700;color:rgba(255,255,255,.9); }
.mq-adventure-stats { display:flex;flex-wrap:wrap;gap:6px;margin-top:4px; }
.mq-adventure-stats b { padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-size:clamp(.58rem,2.2vw,.73rem);font-weight:950;white-space:nowrap; }
.mq-final-result-page.is-story-finale { animation:mqFinaleReveal .7s cubic-bezier(.2,.9,.25,1) both; }
@keyframes mqAdventurePulse { 0%,100%{transform:scale(.98);opacity:.62} 50%{transform:scale(1.08);opacity:1} }
@keyframes mqFinaleReveal { from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }
[data-motion="calme"] .mq-adventure-emblem i,.mq-shell[data-motion="calme"] .mq-adventure-emblem i,[data-motion="calme"] .mq-final-result-page.is-story-finale,[data-motion="calme"] .mq-final-particles i,[data-motion="calme"] .mq-final-reward-icon i { animation:none!important; }
@media (max-width:390px) { .mq-adventure-summary { grid-template-columns:54px minmax(0,1fr);gap:10px;padding:12px; } .mq-adventure-emblem { width:54px; } }

/* =========================================================================
   MemoQuest 6.19.0 — tableau de bord Profil joueur
   Écran réel, données dynamiques, structure flexible avec défilement interne.
   ========================================================================= */
.mq-shell[data-screen="profil"] {
	--profile-border: rgba(255,255,255,.92);
	--profile-line: #dfe9f4;
	background:
		radial-gradient(circle at 12% 21%, rgba(255,255,255,.42) 0 1.4px, transparent 2.6px),
		radial-gradient(circle at 88% 28%, rgba(255,255,255,.52) 0 1.2px, transparent 2.5px),
		linear-gradient(180deg, #27bbed 0%, #7bd8f5 24%, #d9f1fb 50%, #f2f8f0 72%, #fff0d1 100%);
	background-size: 136px 136px, 184px 184px, auto;
}
.mq-shell[data-screen="profil"] .mq-app {
	gap: clamp(8px, 1.2vh, 13px);
	padding:
		max(clamp(10px, 1.7vh, 18px), env(safe-area-inset-top))
		clamp(10px, 2.8vw, 22px)
		max(clamp(9px, 1.4vh, 16px), env(safe-area-inset-bottom));
}
.mq-shell[data-screen="profil"] .mq-top {
	min-height: 0;
	height: clamp(66px, 9.1vh, 88px);
	padding: clamp(7px, 1vh, 10px) clamp(9px, 2.2vw, 16px);
	gap: clamp(5px, 1.45vw, 11px);
	border: 1px solid var(--profile-border);
	border-radius: clamp(25px, 7vw, 37px);
	background: rgba(255,255,255,.97);
	box-shadow: inset 0 1px 0 #fff, 0 7px 20px rgba(21,60,122,.15);
}
.mq-shell[data-screen="profil"] .mq-avatar {
	overflow:visible; padding:0; background:#fff;
	width: clamp(47px, 6.35vh, 59px);
	height: clamp(47px, 6.35vh, 59px);
	font-size: clamp(1.16rem, 3.1vh, 1.62rem);
	border-width: 3px;
	box-shadow: 0 0 0 3px rgba(22,196,206,.23), inset 0 1px 0 rgba(255,255,255,.35);
	transition: transform .18s var(--ressort), box-shadow .2s;
}
.mq-shell[data-screen="profil"] .mq-avatar > img { width:100%; height:100%; display:block; border-radius:50%; object-fit:cover; }
.mq-shell[data-screen="profil"] .mq-avatar.is-on {
	transform: scale(1.04);
	box-shadow: 0 0 0 5px rgba(255,255,255,.72), 0 0 0 8px rgba(22,196,206,.30), 0 8px 15px rgba(21,60,122,.18);
}
.mq-shell[data-screen="profil"] .mq-avatar b {
	right: -5px; bottom: -4px;
	min-width: clamp(21px, 2.8vh, 26px); height: clamp(21px, 2.8vh, 26px);
	font-size: clamp(.64rem, 1.4vh, .78rem); border-width: 2px;
}
.mq-shell[data-screen="profil"] .mq-profil-info { justify-content:center; gap:0; min-width:40px; }
.mq-shell[data-screen="profil"] .mq-profil-info strong { display:none; }
.mq-shell[data-screen="profil"] .mq-xp { height:clamp(8px,1.2vh,11px); background:#e5edf5; box-shadow:inset 0 1px 2px rgba(21,60,122,.08); }
.mq-shell[data-screen="profil"] .mq-xp i { background:linear-gradient(90deg,#16b8c7,#34d0bd); }
.mq-shell[data-screen="profil"] .mq-chip { gap:clamp(5px,1.2vw,9px); padding:0; background:transparent; font-size:clamp(.95rem,2.35vh,1.25rem); }
.mq-shell[data-screen="profil"] .mq-chip .mq-coin { width:clamp(34px,4.75vh,44px); height:clamp(34px,4.75vh,44px); box-shadow:0 3px 0 #d98816,0 6px 12px rgba(232,149,28,.26),inset 0 2px 0 rgba(255,255,255,.5); }
.mq-shell[data-screen="profil"] .mq-chip .mq-coin svg { width:45%; height:45%; }
.mq-shell[data-screen="profil"] .mq-chip b { min-width:1.55em; text-align:center; }
.mq-shell[data-screen="profil"] .mq-chip .mq-plus { width:clamp(32px,4.35vh,40px); height:clamp(32px,4.35vh,40px); font-size:clamp(1.1rem,2.55vh,1.42rem); box-shadow:0 4px 10px rgba(15,163,180,.24),inset 0 1px 0 rgba(255,255,255,.45); }
.mq-shell[data-screen="profil"] .mq-icon-btn { width:clamp(36px,4.7vh,44px); height:clamp(36px,4.7vh,44px); background:transparent; box-shadow:none; }
.mq-shell[data-screen="profil"] .mq-icon-btn svg { width:66%; height:66%; stroke-width:2.45; }

.mq-shell[data-screen="profil"] .mq-view[data-view="profil"] { gap:0; overflow:hidden; }
.mq-profile-screen { height:100%; min-height:0; display:flex; flex-direction:column; gap:clamp(7px,1vh,11px); }
.mq-profile-heading { flex:0 0 auto; display:grid; grid-template-columns:42px 1fr 42px; align-items:center; min-height:clamp(42px,5.7vh,54px); }
.mq-profile-heading button { width:clamp(36px,4.7vh,44px); height:clamp(36px,4.7vh,44px); border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.94); color:var(--encre); box-shadow:var(--ombre); }
.mq-profile-heading button svg { width:48%; height:48%; stroke-width:2.6; }
.mq-profile-heading h1 { margin:0; text-align:center; color:var(--encre); font-size:clamp(1.35rem,3vh,2rem); line-height:1; font-weight:950; letter-spacing:-.035em; text-shadow:0 1px 0 rgba(255,255,255,.5); }
.mq-profile-scroll { flex:1 1 auto; min-height:0; overflow:auto; padding:1px 2px 8px; scrollbar-width:none; overscroll-behavior:contain; }
.mq-profile-scroll::-webkit-scrollbar { display:none; }
.mq-profile-content { width:min(100%,760px); margin-inline:auto; display:flex; flex-direction:column; gap:clamp(8px,1.15vh,12px); padding-bottom:2px; }

.mq-profile-identity,
.mq-profile-panel,
.mq-profile-metric {
	border:1px solid var(--profile-border);
	background:rgba(255,255,255,.97);
	box-shadow:inset 0 1px 0 #fff,0 6px 17px rgba(21,60,122,.11);
}
.mq-profile-identity { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:clamp(10px,2.6vw,20px); padding:clamp(11px,1.7vh,18px); border-radius:clamp(21px,5.3vw,30px); }
.mq-profile-avatar-large { position:relative; width:clamp(76px,11.3vh,104px); height:clamp(76px,11.3vh,104px); flex:0 0 auto; border-radius:50%; padding:4px; background:#fff; box-shadow:0 0 0 3px rgba(22,196,206,.24),0 8px 18px rgba(21,60,122,.17); }
.mq-profile-avatar-large > img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.mq-profile-avatar-large > button { position:absolute; right:-3px; bottom:-2px; width:clamp(29px,4vh,37px); height:clamp(29px,4vh,37px); display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:var(--degrade); border:3px solid #fff; box-shadow:0 4px 9px rgba(15,163,180,.28); }
.mq-profile-avatar-large > button svg { width:49%; height:49%; stroke-width:2.5; }
.mq-profile-identity-copy { min-width:0; }
.mq-profile-identity-copy h2 { margin:0; color:var(--encre); font-size:clamp(1.18rem,2.8vh,1.75rem); line-height:1.04; font-weight:950; letter-spacing:-.035em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mq-profile-identity-copy > p { margin:4px 0 7px; color:#8093b2; font-size:clamp(.68rem,1.55vh,.9rem); font-weight:800; }
.mq-profile-level-line { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:5px; }
.mq-profile-level-line > b { padding:4px 10px; border-radius:999px; color:#fff; background:linear-gradient(100deg,var(--turq),var(--bleu)); box-shadow:0 3px 8px rgba(15,163,180,.22); font-size:clamp(.67rem,1.55vh,.88rem); white-space:nowrap; }
.mq-profile-level-line > span { color:#7d8fae; font-size:clamp(.64rem,1.4vh,.82rem); white-space:nowrap; }
.mq-profile-level-line > span strong { color:var(--turq-2); }
.mq-profile-xp { display:block; height:clamp(7px,1vh,10px); overflow:hidden; border-radius:999px; background:#e5edf5; box-shadow:inset 0 1px 2px rgba(21,60,122,.08); }
.mq-profile-xp i { display:block; width:var(--p); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--turq),#34d0bd); transition:width .5s var(--sortie); }
.mq-profile-edit { min-width:clamp(82px,19vw,126px); height:clamp(38px,5.1vh,48px); padding:0 13px!important; display:flex; align-items:center; justify-content:center; gap:6px; border:2px solid var(--mq-border-active)!important; border-radius:999px; color:var(--mq-accent-strong)!important; background:var(--mq-surface-raised)!important; box-shadow:0 4px 11px rgba(21,60,122,.08); font-size:clamp(.7rem,1.55vh,.9rem)!important; font-weight:900!important; }
.mq-profile-edit svg { width:18px; height:18px; stroke-width:2.4; }

.mq-profile-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(6px,1.7vw,10px); }
.mq-profile-metric { min-width:0; min-height:clamp(66px,8.7vh,84px); padding:clamp(8px,1.25vh,12px) clamp(7px,1.6vw,11px); border-radius:clamp(17px,4.3vw,24px); display:flex; align-items:center; gap:clamp(6px,1.3vw,10px); }
.mq-profile-metric > span { width:clamp(34px,4.8vh,45px); height:clamp(34px,4.8vh,45px); flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--past-ciel); color:var(--bleu); }
.mq-profile-metric > span svg { width:54%; height:54%; stroke-width:2.2; }
.mq-profile-metric.is-coins > span { color:#805100; background:radial-gradient(circle at 34% 28%,#ffe78f,#ffc02e 54%,#e8951c); box-shadow:0 3px 7px rgba(232,149,28,.25); }
.mq-profile-metric.is-trophies > span { color:#d99b00; background:#fff3ca; }
.mq-profile-metric.is-stars > span { color:#eba900; background:#fff3ca; }
.mq-profile-metric.is-streak > span { color:#43bd3a; background:#e8fae8; }
.mq-profile-metric > div { min-width:0; }
.mq-profile-metric small { display:block; margin-bottom:1px; color:#7f91af; font-size:clamp(.57rem,1.28vh,.75rem); white-space:nowrap; }
.mq-profile-metric strong { display:block; color:var(--encre); font-size:clamp(.9rem,2.1vh,1.24rem); line-height:1; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-variant-numeric:tabular-nums; }

.mq-profile-columns { display:grid; grid-template-columns:1.04fr .96fr; gap:clamp(8px,2vw,12px); align-items:stretch; }
.mq-profile-panel { min-width:0; padding:clamp(10px,1.45vh,14px); border-radius:clamp(20px,4.8vw,27px); }
.mq-profile-panel > h3 { margin:0 0 clamp(7px,1vh,10px); display:flex; align-items:center; gap:7px; color:var(--encre); font-size:clamp(.79rem,1.75vh,1rem); font-weight:950; }
.mq-profile-panel > h3 svg { width:19px; height:19px; color:#63acec; stroke-width:2.4; }
.mq-profile-panel-body { display:grid; gap:5px; }
.mq-profile-progress-row { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:7px; padding:5px 7px; border:1px solid #e3ebf4; border-radius:12px; background:#fbfdff; }
.mq-profile-row-icon { width:27px; height:27px; border-radius:9px; display:flex; align-items:center; justify-content:center; color:#46aee6; background:#eaf7ff; }
.mq-profile-row-icon svg { width:61%; height:61%; stroke-width:2.2; }
.mq-profile-progress-row:nth-child(2) .mq-profile-row-icon { color:#58c95c; background:#ecfaed; }
.mq-profile-progress-row:nth-child(3) .mq-profile-row-icon { color:#8f5ddd; background:#f2ebff; }
.mq-profile-progress-row:nth-child(4) .mq-profile-row-icon { color:#398fd4; background:#e7f3ff; }
.mq-profile-progress-row > div { min-width:0; }
.mq-profile-progress-row p { margin:0 0 4px; display:flex; align-items:baseline; justify-content:space-between; gap:6px; min-width:0; color:var(--encre); font-size:clamp(.57rem,1.22vh,.72rem); }
.mq-profile-progress-row p span { min-width:0; white-space:normal; line-height:1.08; }
.mq-profile-progress-row p b { flex:0 0 auto; color:var(--turq-2); font-size:clamp(.56rem,1.18vh,.7rem); font-variant-numeric:tabular-nums; white-space:nowrap; }
.mq-profile-meter { display:block; height:5px; border-radius:999px; background:#e6edf5; overflow:hidden; }
.mq-profile-meter i { display:block; width:var(--p); height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--turq),#32cbb0); }
.mq-profile-performance dl { margin:0; display:grid; }
.mq-profile-performance dl > div { min-height:clamp(30px,4vh,38px); display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid var(--profile-line); }
.mq-profile-performance dl > div:last-child { border-bottom:0; }
.mq-profile-performance dt { min-width:0; color:var(--encre); font-size:clamp(.61rem,1.35vh,.78rem); font-weight:800; }
.mq-profile-performance dd { margin:0; color:var(--turq-2); font-size:clamp(.72rem,1.65vh,.95rem); font-weight:950; font-variant-numeric:tabular-nums; white-space:nowrap; }

.mq-profile-success { padding-bottom:clamp(11px,1.5vh,15px); }
.mq-profile-achievements { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(5px,1.4vw,10px); }
.mq-profile-achievement { min-width:0; display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; }
.mq-profile-achievement > span { width:clamp(49px,7.2vh,67px); height:clamp(55px,7.9vh,74px); display:flex; align-items:center; justify-content:center; color:#fff; clip-path:polygon(50% 0,91% 17%,91% 69%,50% 100%,9% 69%,9% 17%); background:linear-gradient(145deg,#13ac91,#087c72); border:4px solid #edbe42; filter:drop-shadow(0 4px 4px rgba(21,60,122,.16)); }
.mq-profile-achievement > span svg { width:45%; height:45%; stroke-width:2.4; }
.mq-profile-achievement.is-five > span { background:linear-gradient(145deg,#9d4dd8,#6337a5); border-color:#f0a349; color:#ffe05a; }
.mq-profile-achievement.is-explorer > span { background:linear-gradient(145deg,#18aebf,#116d92); border-color:#eaa83d; color:#fff4bc; }
.mq-profile-achievement.is-guardian > span { background:linear-gradient(145deg,#2a9dc8,#164b86); border-color:#ffd34d; }
.mq-profile-achievement.is-locked { opacity:.58; filter:grayscale(.78); }
.mq-profile-achievement.is-locked > span { background:linear-gradient(145deg,#8e99a7,#596576); border-color:#a8b0ba; }
.mq-profile-achievement small { color:var(--encre); font-size:clamp(.54rem,1.2vh,.72rem); line-height:1.12; font-weight:800; }

.mq-profile-preferences > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.mq-profile-preferences article { min-width:0; display:grid; grid-template-columns:34px minmax(0,1fr); grid-template-rows:auto auto; column-gap:7px; align-items:center; padding:8px; border:1px solid #dce7f2; border-radius:13px; background:#fbfdff; }
.mq-profile-preferences article > span { grid-row:1 / 3; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; background:linear-gradient(145deg,#68cbed,#388fde); }
.mq-profile-preferences article > span svg { width:55%; height:55%; stroke-width:2.2; }
.mq-profile-preferences small { min-width:0; color:#7f91af; font-size:clamp(.52rem,1.1vh,.67rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mq-profile-preferences strong { min-width:0; color:var(--encre); font-size:clamp(.65rem,1.4vh,.84rem); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.mq-profile-actions { flex:0 0 auto; width:min(86%,650px); margin-inline:auto; display:grid; gap:clamp(6px,.8vh,8px); }
.mq-profile-actions .mq-btn { min-height:clamp(43px,5.7vh,54px); border-radius:999px; font-size:clamp(.78rem,1.8vh,1.02rem); }
.mq-profile-actions .mq-btn-primary { display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 5px 0 #1767b8,0 10px 18px rgba(21,60,122,.18); }
.mq-profile-actions .mq-btn-primary svg { width:20px; height:20px; }
.mq-profile-actions .mq-btn-ghost { min-height:clamp(39px,5vh,48px); background:rgba(255,255,255,.95); border:2px solid var(--turq); color:var(--turq-2); }

.mq-profile-field { display:grid; gap:6px; color:var(--encre); font-weight:900; }
.mq-profile-field input { width:100%; height:48px; padding:0 14px; border:2px solid #d8e6f2; border-radius:14px; color:var(--encre); background:#f8fbfe; font:inherit; outline:0; }
.mq-profile-field input:focus { border-color:var(--turq); box-shadow:0 0 0 4px rgba(22,196,206,.12); }
.mq-profile-field small { color:var(--encre-2); font-size:.72rem; }
.mq-profile-sheet-avatar { padding:2px; border-radius:50%; }
.mq-profile-sheet-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; }

.mq-avatar-picker { display:grid; gap:9px; }
.mq-avatar-picker-title { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
.mq-avatar-picker-title h4 { margin:1px 0 0; color:var(--encre); font-size:1rem; line-height:1; font-weight:950; }
.mq-avatar-picker-title > span { min-width:72px; height:34px; padding:0 10px; display:flex; align-items:center; justify-content:center; gap:5px; border-radius:999px; color:#704800; background:linear-gradient(145deg,#fff6d0,#ffd756); box-shadow:inset 0 1px 0 #fff,0 4px 10px rgba(217,139,20,.15); font-weight:950; }
.mq-avatar-picker-title > span svg { width:17px; height:17px; }
.mq-avatar-picker-note { margin:0; color:#6d82a3; font-size:.7rem; line-height:1.35; font-weight:750; }
.mq-avatar-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.mq-avatar-option { position:relative; min-width:0; min-height:88px; padding:7px; display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:7px; border:2px solid #e1eaf3; border-radius:18px; background:linear-gradient(145deg,#fff,#f6faff); box-shadow:0 4px 12px rgba(21,60,122,.08); text-align:left; transition:transform .16s var(--ressort),border-color .18s,box-shadow .18s; overflow:hidden; }
.mq-avatar-option:active { transform:scale(.975); }
.mq-avatar-option.is-selected { border-color:#12bdc8; box-shadow:0 0 0 3px rgba(18,189,200,.14),0 7px 16px rgba(21,60,122,.12); background:linear-gradient(145deg,#f7ffff,#e9fbfc); }
.mq-avatar-option.is-locked { background:linear-gradient(145deg,#fbfcfe,#eff3f7); }
.mq-avatar-option-art { position:relative; width:68px; height:68px; border-radius:50%; padding:2px; background:#fff; box-shadow:0 0 0 2px rgba(26,190,201,.2),0 5px 12px rgba(21,60,122,.13); }
.mq-avatar-option-art img { width:100%; height:100%; display:block; border-radius:50%; object-fit:cover; }
.mq-avatar-option-art i { position:absolute; right:-2px; bottom:-2px; width:23px; height:23px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:linear-gradient(145deg,#15c8c4,#188ce0); border:2px solid #fff; box-shadow:0 3px 7px rgba(21,60,122,.19); }
.mq-avatar-option.is-locked .mq-avatar-option-art i { background:linear-gradient(145deg,#6c7d92,#425268); }
.mq-avatar-option-art i svg { width:52%; height:52%; stroke-width:2.6; }
.mq-avatar-option-copy { min-width:0; display:grid; gap:4px; }
.mq-avatar-option-copy strong { min-width:0; color:var(--encre); font-size:.78rem; font-weight:950; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mq-avatar-option-copy small { min-width:0; display:flex; align-items:center; gap:4px; color:#7488a8; font-size:.62rem; font-weight:850; white-space:nowrap; }
.mq-avatar-option.is-selected small { color:#0b9ba8; }
.mq-avatar-option-copy small svg { width:15px; height:15px; color:#d08a00; }
.mq-avatar-option-copy small b { color:#8a5b00; }
.mq-avatar-purchase-summary { display:grid; grid-template-columns:104px minmax(0,1fr); align-items:center; gap:13px; padding:12px; border-radius:20px; background:linear-gradient(145deg,#f1fdff,#edf5fb); border:1px solid #d9eaf3; }
.mq-avatar-purchase-summary > img { width:104px; height:104px; border-radius:50%; object-fit:cover; filter:drop-shadow(0 8px 12px rgba(21,60,122,.18)); }
.mq-avatar-purchase-summary p { margin:0 0 7px; color:var(--encre); font-size:.86rem; line-height:1.3; font-weight:850; }
.mq-avatar-purchase-summary strong { display:flex; align-items:center; gap:5px; color:#8a5b00; font-size:1rem; }
.mq-avatar-purchase-summary strong svg { width:19px; height:19px; }
.mq-avatar-purchase-summary small { display:block; margin-top:4px; color:#7386a3; font-size:.68rem; font-weight:750; }
@media (min-width:560px) { .mq-avatar-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:370px) { .mq-avatar-option { grid-template-columns:58px minmax(0,1fr); min-height:76px; padding:6px; } .mq-avatar-option-art { width:58px; height:58px; } .mq-avatar-option-copy strong { font-size:.7rem; } .mq-avatar-option-copy small { font-size:.56rem; } }

.mq-profile-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.mq-profile-detail-grid .mq-profile-metric { min-height:70px; box-shadow:none; border-color:#e1eaf4; background:#f9fcff; }

@media (min-width: 600px) {
	.mq-profile-content { width:min(100%,760px); }
	.mq-profile-actions { width:min(78%,620px); }
}
@media (max-width: 390px) {
	.mq-profile-identity { grid-template-columns:auto minmax(0,1fr); }
	.mq-profile-edit { grid-column:1 / 3; width:100%; height:36px; }
	.mq-profile-metric { flex-direction:column; justify-content:center; text-align:center; gap:4px; padding-inline:4px; }
	.mq-profile-metric > span { width:32px; height:32px; }
	.mq-profile-metric small { font-size:.52rem; }
	.mq-profile-columns { grid-template-columns:1fr; }
	.mq-profile-preferences article { grid-template-columns:29px minmax(0,1fr); padding:6px; }
	.mq-profile-preferences article > span { width:28px; height:28px; }
}
@media (max-height: 760px) {
	.mq-shell[data-screen="profil"] .mq-app { gap:6px; padding-top:max(7px,env(safe-area-inset-top)); padding-bottom:max(7px,env(safe-area-inset-bottom)); }
	.mq-shell[data-screen="profil"] .mq-top { height:58px; }
	.mq-shell[data-screen="profil"] .mq-avatar { width:42px; height:42px; font-size:1rem; }
	.mq-shell[data-screen="profil"] .mq-avatar b { min-width:19px; height:19px; }
	.mq-shell[data-screen="profil"] .mq-chip .mq-coin { width:29px; height:29px; }
	.mq-shell[data-screen="profil"] .mq-chip .mq-plus { width:28px; height:28px; }
	.mq-shell[data-screen="profil"] .mq-icon-btn { width:31px; height:31px; }
	.mq-profile-heading { min-height:37px; }
	.mq-profile-identity { padding:9px; }
	.mq-profile-avatar-large { width:68px; height:68px; }
	.mq-profile-metric { min-height:59px; }
	.mq-profile-panel { padding:9px; }
}

/* Ajustement de densité mobile : reproduit les proportions de la maquette 9:16
   sans masquer les libellés ni imposer un second écran. */
@media (max-width: 500px) {
	.mq-profile-screen { gap:6px; }
	.mq-profile-heading { min-height:38px; grid-template-columns:36px 1fr 36px; }
	.mq-profile-heading button { width:34px; height:34px; }
	.mq-profile-heading h1 { font-size:1.35rem; }
	.mq-profile-content { gap:7px; }
	.mq-profile-identity { min-height:99px; grid-template-columns:76px minmax(0,1fr) 84px; gap:8px; padding:8px 10px; border-radius:22px; }
	.mq-profile-avatar-large { width:72px; height:72px; padding:3px; }
	.mq-profile-avatar-large > button { width:28px; height:28px; border-width:2px; }
	.mq-profile-identity-copy h2 { font-size:1.12rem; }
	.mq-profile-identity-copy > p { margin:2px 0 4px; font-size:.62rem; }
	.mq-profile-level-line { gap:4px; margin-bottom:3px; }
	.mq-profile-level-line > b { padding:3px 7px; font-size:.59rem; }
	.mq-profile-level-line > span { font-size:.56rem; }
	.mq-profile-xp { height:6px; }
	.mq-profile-edit { min-width:0; width:84px; height:34px; padding:0 8px!important; gap:4px; font-size:.64rem!important; }
	.mq-profile-edit svg { width:14px; height:14px; }

	.mq-profile-metrics { gap:5px; }
	.mq-profile-metric { min-height:61px; padding:5px 3px; border-radius:17px; flex-direction:column; justify-content:center; text-align:center; gap:2px; }
	.mq-profile-metric > span { width:28px; height:28px; }
	.mq-profile-metric small { margin:0; font-size:.51rem; line-height:1; }
	.mq-profile-metric strong { font-size:.82rem; line-height:1; max-width:100%; }

	.mq-profile-columns { gap:7px; }
	.mq-profile-panel { padding:8px; border-radius:19px; }
	.mq-profile-panel > h3 { margin-bottom:5px; gap:5px; font-size:.74rem; }
	.mq-profile-panel > h3 svg { width:16px; height:16px; }
	.mq-profile-panel-body { gap:3px; }
	.mq-profile-progress-row { grid-template-columns:24px minmax(0,1fr); gap:5px; padding:3px 5px; border-radius:9px; }
	.mq-profile-row-icon { width:22px; height:22px; border-radius:7px; }
	.mq-profile-progress-row p { margin-bottom:2px; font-size:.48rem; }
	.mq-profile-progress-row p b { font-size:.47rem; }
	.mq-profile-meter { height:4px; }
	.mq-profile-performance dl > div { min-height:25px; }
	.mq-profile-performance dt { font-size:.53rem; }
	.mq-profile-performance dd { font-size:.65rem; }

	.mq-profile-success { padding-bottom:8px; }
	.mq-profile-achievements { gap:3px; }
	.mq-profile-achievement { gap:3px; }
	.mq-profile-achievement > span { width:42px; height:47px; border-width:3px; }
	.mq-profile-achievement small { font-size:.47rem; line-height:1.05; }

	.mq-profile-preferences > div { gap:4px; }
	.mq-profile-preferences article { grid-template-columns:25px minmax(0,1fr); column-gap:4px; padding:5px; border-radius:10px; }
	.mq-profile-preferences article > span { width:24px; height:24px; }
	.mq-profile-preferences small { font-size:.43rem; }
	.mq-profile-preferences strong { font-size:.56rem; }

	.mq-profile-actions { width:86%; gap:5px; }
	.mq-profile-actions .mq-btn { min-height:39px; font-size:.72rem; }
	.mq-profile-actions .mq-btn-ghost { min-height:35px; }
}

/* Calibration finale sur téléphone 9:16 : exploite l’espace disponible pour
   garder les statistiques lisibles tout en laissant les actions stables. */
@media (min-width: 391px) and (max-width: 500px) and (min-height: 800px) {
	.mq-profile-identity { min-height:108px; grid-template-columns:82px minmax(0,1fr) 88px; padding:10px 11px; }
	.mq-profile-avatar-large { width:78px; height:78px; }
	.mq-profile-identity-copy h2 { font-size:1.2rem; }
	.mq-profile-identity-copy > p { font-size:.66rem; }
	.mq-profile-edit { width:88px; height:36px; font-size:.68rem!important; }
	.mq-profile-metric { min-height:68px; }
	.mq-profile-metric > span { width:31px; height:31px; }
	.mq-profile-metric small { font-size:.55rem; }
	.mq-profile-metric strong { font-size:.9rem; }
	.mq-profile-panel { padding:9px; }
	.mq-profile-panel > h3 { font-size:.79rem; margin-bottom:6px; }
	.mq-profile-progress-row { grid-template-columns:27px minmax(0,1fr); padding:4px 6px; }
	.mq-profile-row-icon { width:25px; height:25px; }
	.mq-profile-progress-row p { font-size:.52rem; margin-bottom:3px; }
	.mq-profile-progress-row p b { font-size:.51rem; }
	.mq-profile-performance dl > div { min-height:29px; }
	.mq-profile-performance dt { font-size:.57rem; }
	.mq-profile-performance dd { font-size:.7rem; }
	.mq-profile-achievement > span { width:49px; height:55px; }
	.mq-profile-achievement small { font-size:.51rem; }
	.mq-profile-preferences article { padding:7px; grid-template-columns:29px minmax(0,1fr); }
	.mq-profile-preferences article > span { width:28px; height:28px; }
	.mq-profile-preferences small { font-size:.47rem; }
	.mq-profile-preferences strong { font-size:.62rem; }
}

/* ------------------------------------------------------------------
   MemoQuest 6.19.0 — Code promo premium, isolé en bas de la Boutique
   ------------------------------------------------------------------ */
.mq-promo-card {
	position:relative;isolation:isolate;overflow:hidden;display:grid;gap:13px;padding:16px;border-radius:26px;
	background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(236,251,255,.96));
	border:1px solid rgba(73,205,224,.3);box-shadow:0 14px 34px rgba(12,72,139,.14),inset 0 1px 0 #fff;
}
.mq-promo-aura { pointer-events:none;position:absolute;z-index:-2;inset:-55%;background:conic-gradient(from 20deg,transparent,rgba(32,211,218,.22),transparent 30%,rgba(69,139,242,.18),transparent 62%,rgba(255,197,63,.18),transparent);animation:mq-promo-aura 14s linear infinite; }
.mq-promo-shine { pointer-events:none;position:absolute;z-index:-1;top:-80%;left:-35%;width:48%;height:260%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.62),transparent);animation:mq-promo-shine 6.5s ease-in-out infinite; }
.mq-promo-head { position:relative;z-index:1;display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px; }
.mq-promo-focus { width:100%;text-align:left;cursor:text;border-radius:18px;touch-action:manipulation; }
.mq-promo-focus:active { transform:none; }
.mq-promo-icon { width:58px;aspect-ratio:1;display:grid;place-items:center;border-radius:19px;color:#fff;background:linear-gradient(145deg,#20d6d8,#2d83e8);border:3px solid #fff;box-shadow:0 9px 20px rgba(24,135,201,.24),0 0 0 4px rgba(34,205,218,.09); }
.mq-promo-icon svg { width:31px;height:31px; }
.mq-promo-head h3 { margin:0;color:#123c80;font-size:1.2rem;line-height:1;font-weight:1000;letter-spacing:-.035em; }
.mq-promo-head small { display:block;margin-top:5px;color:#627c9f;font-size:.73rem;line-height:1.3;font-weight:750; }
.mq-promo-form { position:relative;z-index:1;display:grid;gap:7px; }
.mq-promo-form > label { color:#24558b;font-size:.69rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase; }
.mq-promo-entry { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px; }
.mq-promo-entry input { position:relative;z-index:2;pointer-events:auto;touch-action:auto;-webkit-user-select:text;user-select:text;caret-color:#123d80;min-width:0;height:52px;padding:0 15px;border-radius:17px;border:2px solid #d5e7ef;background:rgba(255,255,255,.94);color:#123d80;font:1000 1.05rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;text-align:center;outline:none;box-shadow:inset 0 2px 7px rgba(17,72,126,.05);transition:border-color .2s,box-shadow .2s,transform .2s; }
.mq-promo-entry input::placeholder { color:#a7b9cb;letter-spacing:.15em; }
.mq-promo-entry input:focus { border-color:#26cbd5;box-shadow:0 0 0 4px rgba(38,203,213,.12),inset 0 2px 7px rgba(17,72,126,.04); }
.mq-promo-entry button { position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;min-width:116px;height:52px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:0;border-radius:17px;color:#fff;background:linear-gradient(145deg,#20d6d1,#267fe6);font-family:inherit;font-size:.83rem;line-height:1;font-weight:950;box-shadow:0 9px 19px rgba(29,131,202,.24),inset 0 1px 0 rgba(255,255,255,.42);cursor:pointer;transition:transform .16s,filter .16s; }
.mq-promo-entry button:active { transform:scale(.97); }
.mq-promo-entry button svg { width:21px;height:21px; }
.mq-promo-form > small { color:#7286a2;font-size:.66rem;font-weight:750; }
.mq-promo-card.is-error { animation:mq-promo-error .42s ease both; }
.mq-promo-card.is-error .mq-promo-entry input { border-color:#f15a70;box-shadow:0 0 0 4px rgba(241,90,112,.1); }
.mq-promo-card.is-error .mq-promo-form > small { color:#dd3f58; }
.mq-promo-card.is-used { background:linear-gradient(145deg,#f7fffb,#ebfbf5);border-color:rgba(54,194,115,.25); }
.mq-promo-card.is-used .mq-promo-icon { background:linear-gradient(145deg,#62ea7b,#1aa655); }
.mq-promo-used { position:relative;z-index:1;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;column-gap:10px;padding:11px 12px;border-radius:18px;background:rgba(255,255,255,.8);border:1px solid rgba(44,178,104,.18); }
.mq-promo-used > span { grid-row:1/3;width:38px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#5de977,#1ba958);box-shadow:0 5px 12px rgba(25,155,81,.2); }
.mq-promo-used svg { width:23px;height:23px; }
.mq-promo-used strong { color:#177544;font-size:.87rem;font-weight:950; }
.mq-promo-used small { color:#5d8a73;font-size:.66rem;font-weight:750; }
.mq-promo-celebration { position:absolute;z-index:9999;inset:0;display:grid;place-items:center;padding:22px;opacity:0;pointer-events:none;transition:opacity .34s ease; }
.mq-promo-celebration.is-on { opacity:1;pointer-events:auto; }
.mq-promo-backdrop { position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(12,134,194,.36),rgba(3,21,61,.72));saturate(1.1);saturate(1.1); }
.mq-promo-reward { position:relative;z-index:3;width:min(88vw,360px);display:grid;justify-items:center;overflow:hidden;padding:28px 24px 22px;border-radius:34px;background:linear-gradient(155deg,#fff,#edfcff 58%,#e7f7ff);border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 80px rgba(0,32,93,.36),inset 0 1px 0 #fff;transform:translateY(28px) scale(.82);opacity:0; }
.mq-promo-celebration.is-on .mq-promo-reward { animation:mq-promo-reward-in .78s cubic-bezier(.18,1.25,.28,1) forwards; }
.mq-promo-reward-rays { position:absolute;inset:-60%;z-index:-1;background:repeating-conic-gradient(from 0deg,rgba(34,210,215,.18) 0 7deg,transparent 7deg 18deg);animation:mq-promo-aura 12s linear infinite; }
.mq-promo-reward-coin { width:94px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;color:#fff3a2;background:radial-gradient(circle at 35% 28%,#fff3a2 0 8%,#ffd34d 12% 52%,#e89d18 55% 70%,#ffc12e 72%);border:6px solid #fff6bb;box-shadow:0 0 0 7px rgba(255,203,53,.13),0 14px 30px rgba(188,118,14,.28),inset 0 2px 5px rgba(255,255,255,.65);animation:mq-promo-coin-float 1.4s ease-in-out infinite alternate; }
.mq-promo-reward-coin svg { width:52px;height:52px; }
.mq-promo-reward p { margin:16px 0 1px;color:#17a9b4;font-size:.7rem;font-weight:1000;letter-spacing:.12em; }
.mq-promo-reward > strong { color:#113d81;font-size:clamp(2.4rem,13vw,4rem);line-height:1;font-weight:1000;letter-spacing:-.055em;text-shadow:0 2px 0 #fff; }
.mq-promo-reward h3 { margin:1px 0 8px;color:#123d80;font-size:1.12rem;font-weight:950; }
.mq-promo-reward small { color:#627d9e;font-size:.76rem;font-weight:800; }
.mq-promo-reward small b { color:#123d80; }
.mq-promo-reward button { margin-top:18px;min-width:160px;height:46px;border:0;border-radius:16px;color:#fff;background:linear-gradient(145deg,#22d4d1,#287fe4);font-family:inherit;font-size:.88rem;line-height:1;font-weight:950;box-shadow:0 9px 20px rgba(29,129,198,.23);cursor:pointer; }
.mq-promo-particle { position:absolute;z-index:2;left:50%;top:50%;width:12px;aspect-ratio:1;border-radius:50%;opacity:0;background:radial-gradient(circle at 34% 28%,#fff8b3,#ffd03d 55%,#e89916 58%);box-shadow:0 0 10px rgba(255,216,72,.8);transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.2); }
.mq-promo-celebration.is-on .mq-promo-particle { animation:mq-promo-particle 1.25s cubic-bezier(.16,.8,.2,1) calc(var(--i) * 17ms) both; }
@keyframes mq-promo-aura { to { transform:rotate(360deg); } }
@keyframes mq-promo-shine { 0%,55% { transform:translateX(-80%) rotate(22deg);opacity:0 } 66% { opacity:.8 } 85%,100% { transform:translateX(340%) rotate(22deg);opacity:0 } }
@keyframes mq-promo-error { 0%,100%{transform:translateX(0)} 22%{transform:translateX(-7px)} 44%{transform:translateX(6px)} 66%{transform:translateX(-4px)} 84%{transform:translateX(2px)} }
@keyframes mq-promo-reward-in { 0%{opacity:0;transform:translateY(28px) scale(.82)} 70%{opacity:1;transform:translateY(-5px) scale(1.03)} 100%{opacity:1;transform:translateY(0) scale(1)} }
@keyframes mq-promo-coin-float { to { transform:translateY(-6px) rotate(3deg) } }
@keyframes mq-promo-particle { 0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.2)} 18%{opacity:1} 100%{opacity:0;transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1)} }
[data-motion="calme"] .mq-promo-aura,[data-motion="calme"] .mq-promo-shine,[data-motion="calme"] .mq-promo-reward-rays,[data-motion="calme"] .mq-promo-reward-coin,[data-motion="calme"] .mq-promo-particle { animation:none!important; }
@media (max-width:390px) { .mq-promo-card{padding:14px;border-radius:23px}.mq-promo-entry{grid-template-columns:minmax(0,1fr) 104px}.mq-promo-entry button{min-width:104px;padding-inline:10px}.mq-promo-entry button span{font-size:.75rem} }

/* =========================================================================
   THÈME GRENAT 6.26.0 — calme, premium et strictement isolé
   Aucun sélecteur de ce bloc n'agit hors data-skin="grenat".
   ========================================================================= */
.mq-shell[data-skin="grenat"] {
  --ciel-1:#4a2029; --ciel-2:#642d39; --ciel-3:#4c202a; --ciel-4:#36161e; --sable:#241015;
  --blanc:#fff8f3; --encre:#4a1720; --encre-2:#7d5960; --encre-3:#ae8d90;
  --turq:#a92f4d; --turq-2:#7e2138; --bleu:#9d2b48; --bleu-2:#681a2d;
  --degrade:linear-gradient(112deg,#b33b59 0%,#8d263f 54%,#671a2d 100%);
  --past-menthe:#f8ece7; --past-bleu:#f7e9e5; --past-lilas:#f3e4e7;
  --past-creme:#fff5ed; --past-rose:#f9e6e7; --past-ciel:#faefeb;
  --ombre:0 2px 4px rgba(55,15,24,.05),0 8px 20px rgba(55,15,24,.14);
  --ombre-forte:0 5px 12px rgba(42,10,17,.10),0 18px 42px rgba(42,10,17,.22);
  --mq-grenat-ivory:#fff8f3; --mq-grenat-ivory-2:#f7eae4;
  --mq-grenat-wine:#6a1c30; --mq-grenat-ruby:#9d2b48; --mq-grenat-rose:#c45a70;
  --mq-grenat-champagne:#d9ae7d; --mq-grenat-line:#e7c7a9; --mq-grenat-ink:#481620;
  background:
    radial-gradient(ellipse at 50% -8%,rgba(218,116,132,.24) 0%,rgba(133,45,63,.10) 35%,transparent 62%),
    radial-gradient(ellipse at 50% 54%,rgba(126,48,62,.18) 0%,transparent 58%),
    linear-gradient(180deg,#4a2029 0%,#5a2733 31%,#431b25 68%,#281118 100%);
}

.mq-ambiance > .mq-grenat-shards { display:none; }
.mq-ambiance > .mq-night-moon,
.mq-ambiance > .mq-night-stars,
.mq-ambiance > .mq-night-constellations,
.mq-ambiance > .mq-night-haze { display:none; }
.mq-shell[data-skin="grenat"] .mq-ambiance {
  contain:strict;
  background:
    radial-gradient(circle at 50% 14%,rgba(255,213,202,.08),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.015),rgba(24,5,10,.18));
}
.mq-shell[data-skin="grenat"] .mq-ambiance::before {
  content:""; position:absolute; inset:-12%; opacity:.30; pointer-events:none;
  background:
    radial-gradient(circle at 12% 20%,rgba(255,210,198,.42) 0 1px,transparent 2px),
    radial-gradient(circle at 80% 26%,rgba(255,210,198,.34) 0 1.2px,transparent 2.2px),
    radial-gradient(circle at 24% 70%,rgba(233,139,154,.31) 0 1px,transparent 2px),
    radial-gradient(circle at 70% 78%,rgba(255,210,198,.30) 0 1.3px,transparent 2.4px),
    radial-gradient(circle at 48% 45%,rgba(255,225,208,.24) 0 1px,transparent 2px);
  background-size:180px 170px,230px 210px,260px 240px,310px 280px,360px 330px;
  animation:mq-grenat-dust 24s linear infinite;
  will-change:transform;
}
.mq-shell[data-skin="grenat"] .mq-ambiance::after {
  content:""; position:absolute; inset:auto 0 0; height:25%; opacity:.25; pointer-events:none;
  background:
    linear-gradient(180deg,transparent,rgba(25,7,12,.32)),
    radial-gradient(ellipse at 12% 100%,rgba(158,48,73,.38),transparent 34%),
    radial-gradient(ellipse at 88% 100%,rgba(158,48,73,.34),transparent 36%);
}
.mq-shell[data-skin="grenat"] .mq-ambiance i { border-radius:50%; }
.mq-shell[data-skin="grenat"] .mq-ambiance i:nth-child(1) {
  width:78%;height:35%;left:11%;top:-5%;
  background:linear-gradient(103deg,transparent 12%,rgba(255,224,211,.12) 36%,transparent 54%),linear-gradient(77deg,transparent 28%,rgba(255,217,207,.08) 46%,transparent 63%);
  filter:blur(8px);transform-origin:50% 0;animation:mq-grenat-rays 15s ease-in-out infinite alternate;
}
.mq-shell[data-skin="grenat"] .mq-ambiance i:nth-child(2) {
  width:58vmax;height:58vmax;right:-24vmax;top:20vmax;
  background:radial-gradient(circle,rgba(196,77,99,.13),transparent 64%);
  animation:mq-grenat-orb 28s ease-in-out infinite alternate;
}
.mq-shell[data-skin="grenat"] .mq-ambiance i:nth-child(3) {
  width:52vmax;height:42vmax;left:-20vmax;bottom:-12vmax;
  background:radial-gradient(ellipse,rgba(220,132,135,.10),transparent 65%);
  animation:mq-grenat-orb-b 34s ease-in-out infinite alternate;
}
.mq-shell[data-skin="grenat"] .mq-ambiance > .mq-grenat-shards {
  display:block;position:absolute;pointer-events:none;z-index:1;opacity:.16;will-change:transform;
  background-repeat:no-repeat;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 340 220'%3E%3Cg fill='none' stroke='%23efb6ad' stroke-width='1.2' opacity='.9'%3E%3Cpath d='M24 198 67 101l39 97Z'/%3E%3Cpath d='m67 101-8 55 47 42M24 198l35-42 8-55'/%3E%3Cpath d='M244 196 283 120l35 76Z'/%3E%3Cpath d='m283 120-6 44 41 32M244 196l33-32 6-44'/%3E%3Cpath d='M151 210 177 156l24 54Z'/%3E%3C/g%3E%3C/svg%3E");
}
.mq-shell[data-skin="grenat"] .mq-grenat-shards-a { width:clamp(180px,42vw,420px);aspect-ratio:340/220;left:-5%;bottom:-1%;animation:mq-grenat-shards-a 18s ease-in-out infinite alternate; }
.mq-shell[data-skin="grenat"] .mq-grenat-shards-b { width:clamp(155px,34vw,360px);aspect-ratio:340/220;right:-7%;bottom:4%;transform:scaleX(-1);animation:mq-grenat-shards-b 22s ease-in-out infinite alternate; }
@keyframes mq-grenat-dust { to { transform:translate3d(0,-35px,0); } }
@keyframes mq-grenat-rays { to { transform:skewX(4deg) scaleX(1.08);opacity:.72; } }
@keyframes mq-grenat-orb { to { transform:translate3d(-7vmax,-4vmax,0) scale(1.1); } }
@keyframes mq-grenat-orb-b { to { transform:translate3d(6vmax,-3vmax,0) scale(1.08); } }
@keyframes mq-grenat-shards-a { to { transform:translate3d(1.5vmax,-1vmax,0);opacity:.21; } }
@keyframes mq-grenat-shards-b { to { transform:translate3d(-1.5vmax,-.7vmax,0) scaleX(-1);opacity:.20; } }

/* Bandeau et navigation */
.mq-shell[data-skin="grenat"] .mq-top,
.mq-shell[data-skin="grenat"] .mq-nav {
  background:linear-gradient(160deg,rgba(255,250,246,.98),rgba(247,234,228,.97));
  border:1px solid rgba(225,187,151,.75);
  box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(36,7,14,.18);
}
.mq-shell[data-skin="grenat"] .mq-top { color:var(--mq-grenat-ink); }
.mq-shell[data-skin="grenat"] .mq-avatar { background:linear-gradient(145deg,#fff7f0,#ead3c7);border-color:#fff7ef;box-shadow:0 0 0 2px rgba(216,169,124,.58),0 6px 16px rgba(79,16,29,.16); }
.mq-shell[data-skin="grenat"] .mq-avatar b { background:linear-gradient(145deg,#b13b58,#7b1f35);border-color:#fff7ef; }
.mq-shell[data-skin="grenat"] .mq-xp { background:#eaded8; }
.mq-shell[data-skin="grenat"] .mq-xp i { background:linear-gradient(90deg,#8d263f,#c55c70); }
.mq-shell[data-skin="grenat"] .mq-chip,
.mq-shell[data-skin="grenat"] .mq-icon-btn { background:rgba(255,250,246,.72);color:var(--mq-grenat-wine); }
.mq-shell[data-skin="grenat"] .mq-chip .mq-plus { background:linear-gradient(145deg,#b33a57,#7b1f35); }
.mq-shell[data-skin="grenat"] .mq-icon-btn:active,
.mq-shell[data-skin="grenat"] .mq-chip:active { background:#f3ded8; }
.mq-shell[data-skin="grenat"] .mq-nav button { color:#a27e79; }
.mq-shell[data-skin="grenat"] .mq-nav button.is-on { color:#8d263f;background:linear-gradient(180deg,#f9e9e6,#f3dcd8); }
.mq-shell[data-skin="grenat"] .mq-nav button.is-on::after { background:#a82f4d; }

/* En-têtes sur le fond sombre */
.mq-shell[data-skin="grenat"] .mq-view[data-view="boutique"] > div:first-child .mq-title,
.mq-shell[data-skin="grenat"] .mq-view[data-view="boutique"] > div:first-child .mq-lede,
.mq-shell[data-skin="grenat"] .mq-settings-head .mq-title,
.mq-shell[data-skin="grenat"] .mq-online-head .mq-title,
.mq-shell[data-skin="grenat"] .mq-setup-copy .mq-title,
.mq-shell[data-skin="grenat"] .mq-histoire-titre,
.mq-shell[data-skin="grenat"] .mq-profile-heading h1 { color:#fff5ee;text-shadow:0 2px 12px rgba(26,4,10,.30); }
.mq-shell[data-skin="grenat"] .mq-view[data-view="boutique"] > div:first-child .mq-lede,
.mq-shell[data-skin="grenat"] .mq-online-head .mq-eyebrow,
.mq-shell[data-skin="grenat"] .mq-settings-head .mq-eyebrow,
.mq-shell[data-skin="grenat"] .mq-setup-copy .mq-eyebrow { color:#e8b5aa; }
.mq-shell[data-skin="grenat"] .mq-degrade-texte { background:linear-gradient(100deg,#fff6ef,#f3d1c8 55%,#e4ac9d);-webkit-background-clip:text;background-clip:text;color:transparent; }

/* Accueil apaisé */
.mq-shell[data-skin="grenat"] .mq-wordmark span { color:#d8a27f; }
.mq-shell[data-skin="grenat"] .mq-wordmark b { color:#fff3ea; }

.mq-shell[data-skin="grenat"] .mq-demo-card { border-color:#f4d1bd;background:linear-gradient(155deg,#8f2a45,#571a2a);box-shadow:0 9px 24px rgba(32,5,11,.25); }
.mq-shell[data-skin="grenat"] .mq-demo-seal { background:linear-gradient(145deg,#c36b73,#7f263b);border-color:#fff3e9;box-shadow:0 5px 16px rgba(57,10,19,.28); }

.mq-shell[data-skin="grenat"] .mq-btn-primary,
.mq-shell[data-skin="grenat"] .mq-play {
  color:#fff8f2;background-color:#8d263f;background-image:linear-gradient(112deg,#b33b59,#8d263f 56%,#671a2d);
  border:1px solid rgba(232,184,143,.72);box-shadow:0 4px 0 #5d1728,0 10px 24px rgba(46,8,16,.30);text-shadow:0 1px 2px rgba(36,5,11,.28);
}
.mq-shell[data-skin="grenat"] .mq-btn-primary:active { box-shadow:0 1px 0 #5d1728; }
.mq-shell[data-skin="grenat"] .mq-btn-ghost,
.mq-shell[data-skin="grenat"] .mq-foot .mq-btn { background:rgba(255,249,245,.94);color:#672033;border:1px solid rgba(226,190,161,.72); }

/* Boutique, code promo et réglages */
.mq-shell[data-skin="grenat"] .mq-view[data-view="boutique"] .mq-scroll,
.mq-shell[data-skin="grenat"] .mq-settings-scroll { scrollbar-color:rgba(220,174,143,.55) transparent; }
.mq-shell[data-skin="grenat"] .mq-opt.is-on,
.mq-shell[data-skin="grenat"] .mq-theme-option.is-active { border-color:#b23a56;box-shadow:0 0 0 3px rgba(177,55,82,.14),0 10px 26px rgba(61,12,22,.16); }
.mq-shell[data-skin="grenat"] .mq-skin-grenat {
  --a:#7d2438 !important;--b:#3d151f !important;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,217,196,.28),transparent 28%),
    linear-gradient(145deg,#8c2c45,#561c2c 58%,#2f1118) !important;
}
.mq-shell[data-skin="grenat"] .mq-skin-grenat::after { content:"◇";color:#e8bd90;text-shadow:0 2px 6px rgba(47,7,14,.32); }
.mq-shell[data-skin="grenat"] .mq-promo-card,
.mq-shell[data-skin="grenat"] .mq-theme-panel,
.mq-shell[data-skin="grenat"] .mq-settings-row,
.mq-shell[data-skin="grenat"] .mq-reset-row {
  background:linear-gradient(155deg,rgba(255,250,246,.99),rgba(247,235,229,.98));
  border:1px solid rgba(225,190,160,.72);box-shadow:0 9px 24px rgba(48,9,17,.13);
}
.mq-shell[data-skin="grenat"] .mq-promo-icon,
.mq-shell[data-skin="grenat"] .mq-settings-icon { background:linear-gradient(145deg,#f7e7e2,#ead2cc);color:#982d48; }
.mq-shell[data-skin="grenat"] .mq-promo-entry,
.mq-shell[data-skin="grenat"] .mq-input { background:#fffaf7;border-color:#dfc3b4;color:#4a1720; }
.mq-shell[data-skin="grenat"] .mq-range { --range-color:#a62f4c; }
.mq-shell[data-skin="grenat"] .mq-switch { background:#e3d4cf; }
.mq-shell[data-skin="grenat"] .mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch { background:linear-gradient(105deg,#bd5268,#8d263f); }
.mq-shell[data-skin="grenat"] .mq-settings-back { background:linear-gradient(155deg,#fff9f5,#f2e2dc);border:1px solid rgba(226,190,161,.72);color:#5b1a2a; }

/* Profil */
.mq-shell[data-skin="grenat"] .mq-profile-heading button { background:rgba(255,248,243,.92);color:#6d2032;border:1px solid rgba(225,188,156,.72); }
.mq-shell[data-skin="grenat"] .mq-profile-identity,
.mq-shell[data-skin="grenat"] .mq-profile-metric,
.mq-shell[data-skin="grenat"] .mq-profile-panel,
.mq-shell[data-skin="grenat"] .mq-avatar-picker {
  background:linear-gradient(155deg,rgba(255,250,246,.99),rgba(247,235,229,.98));
  border:1px solid rgba(225,190,160,.72);box-shadow:0 10px 28px rgba(45,8,15,.14);
}
.mq-shell[data-skin="grenat"] .mq-profile-actions {
  background:transparent;
  border:0;
  box-shadow:none;
}
.mq-shell[data-skin="grenat"] .mq-profile-avatar-large { box-shadow:0 0 0 3px #f6ddcd,0 0 0 5px #b23a56,0 11px 26px rgba(50,9,17,.20); }
.mq-shell[data-skin="grenat"] .mq-profile-meter,
.mq-shell[data-skin="grenat"] .mq-profile-xp { background:#eadbd5; }
.mq-shell[data-skin="grenat"] .mq-profile-meter i,
.mq-shell[data-skin="grenat"] .mq-profile-xp i { background:linear-gradient(90deg,#8d263f,#c35c70); }
.mq-shell[data-skin="grenat"] .mq-profile-edit { background:linear-gradient(110deg,#a5324e,#7a2035);color:#fff7f1;border-color:#dfae7b; }
.mq-shell[data-skin="grenat"] .mq-avatar-option.is-selected { border-color:#b23a56;box-shadow:0 0 0 3px rgba(178,58,86,.16),0 10px 24px rgba(61,12,22,.16); }

/* Multijoueur */
.mq-shell[data-skin="grenat"] .mq-online-head .mq-setup-back { background:rgba(255,248,243,.92);color:#6f2033;border:1px solid rgba(225,188,156,.7); }

.mq-shell[data-skin="grenat"] .mq-online-hero-icon,
.mq-shell[data-skin="grenat"] .mq-competitive-card > span:first-child { background:linear-gradient(145deg,#a93853,#721d32);color:#fff8f0;border-color:#e1b27f; }

/* Plateau et cartes */
.mq-shell[data-skin="grenat"] .mq-board-wrap { isolation:isolate;border-radius:clamp(14px,2.5vmin,24px); }
.mq-shell[data-skin="grenat"] .mq-board-wrap::before {
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,rgba(129,44,58,.22),rgba(35,8,14,.08) 70%,transparent 100%);
}
.mq-shell[data-skin="grenat"] .mq-score-chip,
.mq-shell[data-skin="grenat"] .mq-game-action {
  background:linear-gradient(155deg,rgba(255,250,246,.96),rgba(244,230,224,.95)) !important;
  border-color:rgba(224,188,155,.72);box-shadow:0 4px 14px rgba(40,7,14,.18);
}
.mq-shell[data-skin="grenat"] .mq-score-chip small,
.mq-shell[data-skin="grenat"] .mq-score-chip strong,
.mq-shell[data-skin="grenat"] .mq-game-action svg { color:#551927; }
.mq-shell[data-skin="grenat"] .mq-score-chip.is-turn { border-color:#c79654;background:linear-gradient(155deg,#fffaf5,#f5e6dd)!important;box-shadow:0 0 0 2px rgba(199,150,84,.16),0 6px 18px rgba(55,10,20,.18); }
.mq-shell[data-skin="grenat"] .mq-turn-dot { background:#b23b57;box-shadow:0 0 0 3px rgba(178,59,87,.14),0 0 8px rgba(178,59,87,.65); }
.mq-shell[data-skin="grenat"] .mq-card { border-radius:clamp(9px,2vmin,18px); }
.mq-shell[data-skin="grenat"] .mq-face { border-color:#e8c49e; }
.mq-shell[data-skin="grenat"] .mq-back {
  background:
    radial-gradient(circle at 26% 16%,rgba(255,244,232,.24),transparent 24%),
    radial-gradient(circle at 74% 82%,rgba(255,205,168,.09),transparent 28%),
    linear-gradient(152deg,#a63a55 0%,#812b43 42%,#5c1d31 76%,#471625 100%);
  box-shadow:inset 0 0 0 1px rgba(255,245,232,.18),inset 0 -10px 18px rgba(35,7,15,.18),0 6px 14px rgba(30,6,13,.22);
}
.mq-shell[data-skin="grenat"] .mq-back::before {
  inset:0;background:no-repeat center/48% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e8bd8e' stroke-width='2.2' stroke-linejoin='round'%3E%3Cpath d='M32 8 50 25 32 56 14 25Z'/%3E%3Cpath d='m14 25 18 8 18-8M32 8v25M22 17l10 16 10-16M32 33v23'/%3E%3C/g%3E%3C/svg%3E");
  filter:drop-shadow(0 3px 5px rgba(30,5,12,.26));opacity:.98;
}
.mq-shell[data-skin="grenat"] .mq-back::after {
  content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;opacity:.38;
  background:linear-gradient(112deg,transparent 0 36%,rgba(255,244,231,.42) 48%,transparent 60% 100%);transform:translateX(-120%);
}
.mq-shell[data-skin="grenat"] .mq-card.is-open .mq-back::after { animation:mq-grenat-card-shimmer .72s ease-out; }
.mq-shell[data-skin="grenat"] .mq-front {
  background:linear-gradient(165deg,#fffaf6 0%,#f3e5df 100%);box-shadow:0 4px 10px rgba(42,7,15,.20);color:#4a1720;
}
.mq-shell[data-skin="grenat"] .mq-board[data-category="animaux"] .mq-front { background:#3b151e; }
.mq-shell[data-skin="grenat"] .mq-front .mq-card-name { color:#fff9f4; text-shadow:0 1px 2px rgba(0,0,0,.92),0 0 4px rgba(0,0,0,.52); }
.mq-shell[data-skin="grenat"] .mq-view[data-view="histoire"] .mq-degrade-texte { background:none; -webkit-background-clip:border-box; background-clip:border-box; color:#fff4ed; text-shadow:0 2px 12px rgba(18,2,7,.32); }
.mq-shell[data-skin="grenat"] .mq-view[data-view="histoire"] .mq-histoire-titre .mq-title,
.mq-shell[data-skin="grenat"] .mq-view[data-view="histoire"] .mq-histoire-titre .mq-eyebrow,
.mq-shell[data-skin="grenat"] .mq-view[data-view="histoire"] .mq-jalon-txt strong { color:#fff6f0; text-shadow:0 2px 10px rgba(18,2,7,.26); }
.mq-shell[data-skin="grenat"] .mq-view[data-view="histoire"] .mq-jalon.is-locked .mq-jalon-txt strong { color:rgba(255,246,240,.72); }
.mq-shell[data-skin="grenat"] .mq-card.is-done .mq-front { background:linear-gradient(165deg,#fff8f0,#f4e4d8); }
.mq-shell[data-skin="grenat"] .mq-card.is-done .mq-face { border-color:#dfb36f;box-shadow:0 0 0 2px rgba(219,167,99,.15),0 0 20px rgba(221,157,106,.32); }
.mq-shell[data-skin="grenat"] .mq-card.is-done .mq-front::before {
  content:"";position:absolute;inset:-15%;border-radius:50%;pointer-events:none;
  border:2px solid rgba(224,174,111,.55);animation:mq-grenat-match-ring .85s ease-out both;
}
.mq-shell[data-skin="grenat"] .mq-card.is-wrong .mq-face { border-color:#d8787d;box-shadow:0 0 0 2px rgba(201,80,91,.13),0 4px 12px rgba(42,7,15,.22); }
.mq-shell[data-skin="grenat"] .mq-card.is-hint .mq-back { animation:mq-grenat-hint .72s ease-in-out 3; }
.mq-card-preview-layer[data-skin="grenat"] .mq-card-preview-surface { border-color:#e7c39d;background:linear-gradient(152deg,#a63a55 0%,#812b43 42%,#5c1d31 76%,#471625 100%);box-shadow:0 18px 40px rgba(36,5,12,.32),0 0 0 3px rgba(207,143,103,.18); }
@keyframes mq-grenat-card-shimmer { from { transform:translateX(-120%); } to { transform:translateX(120%); } }
@keyframes mq-grenat-match-ring { 0% { opacity:0;transform:scale(.75); } 30% { opacity:.8; } 100% { opacity:0;transform:scale(1.2); } }
@keyframes mq-grenat-hint { 50% { filter:brightness(1.25) saturate(1.08);box-shadow:0 0 0 3px rgba(226,175,113,.28),0 0 18px rgba(226,175,113,.40); } }

/* Résultats */
.mq-shell[data-skin="grenat"] .mq-final-result-page,
.mq-shell[data-skin="grenat"] .mq-solo-result-page { background:linear-gradient(180deg,rgba(72,23,34,.88),rgba(38,10,17,.94)); }

.mq-shell[data-skin="grenat"] .mq-final-replay,
.mq-shell[data-skin="grenat"] .mq-final-home { border-color:rgba(226,190,158,.75); }
.mq-shell[data-skin="grenat"] .mq-solo-score-card {
  background:
    radial-gradient(circle at 18% 10%,rgba(255,243,234,.72),transparent 28%),
    linear-gradient(160deg,#fffaf6 0%,#f7ece6 54%,#f2e1da 100%);
  color:#521824;
  box-shadow:0 20px 42px rgba(43,8,17,.22),inset 0 0 0 2px rgba(225,190,156,.20),inset 0 1px 0 rgba(255,255,255,.72);
}
.mq-shell[data-skin="grenat"] .mq-solo-score-card::after { color:rgba(151,59,83,.08); }
.mq-shell[data-skin="grenat"] .mq-solo-score-copy small { color:#8f3450; text-shadow:none; }
.mq-shell[data-skin="grenat"] .mq-solo-score-copy strong {
  color:#5a1a2a;
  text-shadow:0 8px 18px rgba(119,37,59,.12);
}
.mq-shell[data-skin="grenat"] .mq-solo-score-copy span { color:#9c6b45; text-shadow:none; }
.mq-shell[data-skin="grenat"] .mq-solo-rating {
  background:linear-gradient(150deg,#fffdfa,#fbf1eb);
  border-color:rgba(230,196,165,.85);
  box-shadow:0 14px 28px rgba(47,9,18,.10),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-solo-rating > strong,
.mq-shell[data-skin="grenat"] .mq-stars-value { color:#6f2033; }

/* Réduction de mouvement : aucune animation décorative continue. */
.mq-shell[data-skin="grenat"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="grenat"][data-motion="calme"] .mq-ambiance i,
.mq-shell[data-skin="grenat"][data-motion="calme"] .mq-grenat-shards,
.mq-shell[data-skin="grenat"][data-motion="calme"] .mq-card.is-open .mq-back::after,
.mq-shell[data-skin="grenat"][data-motion="calme"] .mq-card.is-done .mq-front::before { animation:none; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="grenat"] .mq-ambiance::before,
  .mq-shell[data-skin="grenat"] .mq-ambiance i,
  .mq-shell[data-skin="grenat"] .mq-grenat-shards,
  .mq-shell[data-skin="grenat"] .mq-card.is-open .mq-back::after,
  .mq-shell[data-skin="grenat"] .mq-card.is-done .mq-front::before { animation:none; }
}

/* Mise en place Grenat : sélection cohérente sans héritage turquoise. */
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-setup-steps i {
  background:rgba(119,41,57,.16);
  box-shadow:inset 0 1px 2px rgba(69,16,27,.10);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-setup-steps i.is-on {
  background:linear-gradient(100deg,#b84c64,#81243a);
  box-shadow:0 2px 8px rgba(129,36,58,.24);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  background:linear-gradient(145deg,#fffaf7 0%,#f3e3dd 100%);
  border-color:#aa3550;
  box-shadow:inset 0 2px 2px #fff,0 0 0 2px rgba(170,53,80,.18),0 12px 27px rgba(83,18,34,.18);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"]::after {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
    radial-gradient(circle at 34% 24%,#d97d90 0%,#aa3550 48%,#711e32 100%);
  border-color:#fff8f1;
  box-shadow:0 6px 14px rgba(83,18,34,.24),0 0 0 3px rgba(170,53,80,.13);
}

.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-mini-grille {
  background:linear-gradient(145deg,#fffaf7,#f0dfd8);
  box-shadow:inset 0 2px 2px #fff,0 5px 12px rgba(74,16,28,.10);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-mini-grille i {
  background:linear-gradient(145deg,#c75d72,#8b273f);
  box-shadow:inset 0 1px 0 rgba(255,242,233,.55);
}

/* =========================================================================
   THÈME ARDOISE 6.26.0 — minéral, premium, animé et strictement isolé
   Tous les sélecteurs restent limités à data-skin="ardoise".
   ========================================================================= */
.mq-shell[data-skin="ardoise"] {
  --ciel-1:#111b23; --ciel-2:#182630; --ciel-3:#1d2a34; --ciel-4:#111a21; --sable:#0b1218;
  --blanc:#1d2a34; --encre:#f4f8fb; --encre-2:#b7c4cf; --encre-3:#748795;
  --turq:#58dfe9; --turq-2:#29b8c8; --bleu:#4fb6db; --bleu-2:#2488ac;
  --degrade:linear-gradient(110deg,#6debf1 0%,#45cddd 48%,#2a91b5 100%);
  --past-menthe:#1a2a31; --past-bleu:#1b2935; --past-lilas:#222a38;
  --past-creme:#242b31; --past-rose:#27252d; --past-ciel:#172832;
  --ombre:0 2px 4px rgba(0,0,0,.12),0 8px 20px rgba(0,0,0,.28);
  --ombre-forte:0 5px 12px rgba(0,0,0,.18),0 18px 42px rgba(0,0,0,.42);
  --mq-slate-deep:#0b1319; --mq-slate:#17232c; --mq-slate-2:#22313b;
  --mq-slate-panel:rgba(28,42,52,.94); --mq-slate-panel-2:rgba(18,29,37,.96);
  --mq-slate-line:rgba(176,201,216,.34); --mq-slate-silver:#d7e1e8;
  --mq-slate-cyan:#61e4ee; --mq-slate-cyan-deep:#2695b2;
  background:
    radial-gradient(ellipse at 48% -10%,rgba(119,178,199,.18) 0%,rgba(41,76,92,.08) 34%,transparent 63%),
    radial-gradient(ellipse at 50% 56%,rgba(57,97,112,.12) 0%,transparent 62%),
    linear-gradient(180deg,#101a22 0%,#17242d 32%,#111c24 69%,#091117 100%);
}

.mq-shell[data-skin="ardoise"] .mq-ambiance {
  contain:strict;
  background:
    linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 18%,rgba(103,210,224,.05),transparent 34%);
}
.mq-shell[data-skin="ardoise"] .mq-ambiance::before {
  content:"";position:absolute;inset:-10%;pointer-events:none;opacity:.32;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 1400'%3E%3Cg fill='none' stroke='%239db2bf' stroke-width='1.15' opacity='.46'%3E%3Cpath d='M84 0l44 128-28 109 93 94-48 126 92 113-42 150 109 119-65 147 89 122-40 212'/%3E%3Cpath d='M806 0l-52 136 31 112-103 86 57 128-84 109 35 149-105 123 61 143-88 126 42 288'/%3E%3Cpath d='M334 0l21 156-47 123 61 128-32 145 57 126-30 165 58 140-39 166 37 251'/%3E%3Cpath d='M565 0l-18 180 42 111-57 130 31 143-51 136 29 156-51 143 37 159-32 242'/%3E%3Cpath d='M0 374l163 38 115-54 122 66 127-40 136 58 126-35 111 45'/%3E%3Cpath d='M0 980l172-42 113 56 126-62 120 44 134-53 117 47 118-38'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 16% 18%,rgba(124,227,237,.35) 0 1px,transparent 2px),
    radial-gradient(circle at 79% 28%,rgba(124,227,237,.25) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 72%,rgba(124,227,237,.20) 0 1px,transparent 2px);
  background-size:100% 100%,220px 210px,260px 240px,310px 290px;
  animation:mq-ardoise-drift 28s linear infinite;
  will-change:transform;
}
.mq-shell[data-skin="ardoise"] .mq-ambiance::after {
  content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;opacity:.35;
  background:
    linear-gradient(180deg,transparent,rgba(1,8,12,.54)),
    radial-gradient(ellipse at 18% 100%,rgba(75,140,156,.15),transparent 36%),
    radial-gradient(ellipse at 82% 100%,rgba(75,140,156,.13),transparent 38%);
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i { border-radius:0; }
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(1) {
  width:76%;height:40%;left:12%;top:-5%;
  background:linear-gradient(105deg,transparent 15%,rgba(150,230,238,.10) 37%,transparent 56%),linear-gradient(75deg,transparent 28%,rgba(118,198,213,.08) 47%,transparent 64%);
  filter:blur(7px);transform-origin:50% 0;animation:mq-ardoise-rays 18s ease-in-out infinite alternate;
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(2) {
  width:56vmax;height:56vmax;right:-24vmax;top:18vmax;
  background:radial-gradient(circle,rgba(62,145,166,.11),transparent 65%);
  animation:mq-ardoise-orb-a 32s ease-in-out infinite alternate;
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(3) {
  width:52vmax;height:40vmax;left:-20vmax;bottom:-10vmax;
  background:radial-gradient(ellipse,rgba(64,125,142,.10),transparent 66%);
  animation:mq-ardoise-orb-b 38s ease-in-out infinite alternate;
}
@keyframes mq-ardoise-drift { to { transform:translate3d(0,-26px,0); } }
@keyframes mq-ardoise-rays { to { transform:skewX(3deg) scaleX(1.06);opacity:.72; } }
@keyframes mq-ardoise-orb-a { to { transform:translate3d(-6vmax,-4vmax,0) scale(1.08); } }
@keyframes mq-ardoise-orb-b { to { transform:translate3d(5vmax,-3vmax,0) scale(1.06); } }

/* Bandeau supérieur et navigation */
.mq-shell[data-skin="ardoise"] .mq-top,
.mq-shell[data-skin="ardoise"] .mq-nav {
  background:linear-gradient(155deg,rgba(38,54,65,.97),rgba(21,33,42,.98));
  border:1px solid rgba(176,201,216,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 12px 30px rgba(0,0,0,.35);
  color:#f3f8fb;
}
.mq-shell[data-skin="ardoise"] .mq-avatar { background:linear-gradient(145deg,#2a3a45,#111b22);border-color:#b9ccd7;box-shadow:0 0 0 2px rgba(91,219,229,.28),0 6px 16px rgba(0,0,0,.30); }
.mq-shell[data-skin="ardoise"] .mq-avatar b { background:linear-gradient(145deg,#496373,#263845);border-color:#d5e2e8; }
.mq-shell[data-skin="ardoise"] .mq-xp { background:#34444f; }
.mq-shell[data-skin="ardoise"] .mq-xp i { background:linear-gradient(90deg,#65e8ef,#2ea7bd); }
.mq-shell[data-skin="ardoise"] .mq-chip,
.mq-shell[data-skin="ardoise"] .mq-icon-btn { background:rgba(255,255,255,.055);color:#f6fafc;border:1px solid rgba(195,216,227,.20); }
.mq-shell[data-skin="ardoise"] .mq-chip .mq-plus { background:linear-gradient(145deg,#42c9d6,#247f9e);color:#071219; }
.mq-shell[data-skin="ardoise"] .mq-icon-btn:active,
.mq-shell[data-skin="ardoise"] .mq-chip:active { background:rgba(95,218,230,.13); }
.mq-shell[data-skin="ardoise"] .mq-nav button { color:#899ba8; }
.mq-shell[data-skin="ardoise"] .mq-nav button.is-on { color:#63e1eb;background:linear-gradient(180deg,rgba(82,201,213,.13),rgba(47,119,138,.08)); }
.mq-shell[data-skin="ardoise"] .mq-nav button.is-on::after { background:#58dfe9;box-shadow:0 0 12px rgba(88,223,233,.60); }

/* En-têtes et identité */
.mq-shell[data-skin="ardoise"] .mq-title,
.mq-shell[data-skin="ardoise"] .mq-histoire-titre,
.mq-shell[data-skin="ardoise"] .mq-profile-heading h1 { color:#f6f9fb;text-shadow:0 2px 12px rgba(0,0,0,.35); }
.mq-shell[data-skin="ardoise"] .mq-eyebrow { color:#67dce7; }

.mq-shell[data-skin="ardoise"] .mq-degrade-texte { background:linear-gradient(100deg,#f7fbfd 0%,#bcebf0 55%,#67dce7 100%);-webkit-background-clip:text;background-clip:text;color:transparent; }
.mq-shell[data-skin="ardoise"] .mq-wordmark span { color:#62d8e3; }
.mq-shell[data-skin="ardoise"] .mq-wordmark b { color:#f4f8fa; }
.mq-shell[data-skin="ardoise"] .mq-demo-card { border-color:#a8c0cc;background:linear-gradient(155deg,#2d3d47,#111b22);box-shadow:0 9px 24px rgba(0,0,0,.35); }
.mq-shell[data-skin="ardoise"] .mq-demo-seal { background:linear-gradient(145deg,#58d8e3,#267f99);border-color:#d8f4f6;color:#081319;box-shadow:0 5px 16px rgba(0,0,0,.35); }

.mq-shell[data-skin="ardoise"] .mq-btn-primary,
.mq-shell[data-skin="ardoise"] .mq-play {
  background:linear-gradient(110deg,#65e8ef 0%,#42cbd8 48%,#2c96b3 100%);
  color:#07151c;box-shadow:0 4px 0 #1b708b,0 10px 22px rgba(34,160,181,.34);
}
.mq-shell[data-skin="ardoise"] .mq-btn-ghost,
.mq-shell[data-skin="ardoise"] .mq-foot .mq-btn,
.mq-shell[data-skin="ardoise"] .mq-settings-back,
.mq-shell[data-skin="ardoise"] .mq-profile-heading button,
.mq-shell[data-skin="ardoise"] .mq-online-head .mq-setup-back {
  background:linear-gradient(155deg,rgba(37,53,64,.96),rgba(21,32,41,.98));
  color:#eaf1f5;border:1px solid rgba(180,202,214,.30);
}
.mq-shell[data-skin="ardoise"] .mq-opt.is-on,
.mq-shell[data-skin="ardoise"] .mq-theme-option.is-active,
.mq-shell[data-skin="ardoise"] .mq-carreau[aria-checked="true"] {
  border-color:#6ce5ee;box-shadow:0 0 0 3px rgba(88,223,233,.16),0 0 24px rgba(88,223,233,.22),0 10px 26px rgba(0,0,0,.32);
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  background:linear-gradient(145deg,#ffffff 0%,#eef6f8 100%);
  color:#0d1820;
  border-color:#72e4ec;
  box-shadow:0 0 0 3px rgba(88,223,233,.18),0 0 24px rgba(88,223,233,.22),0 12px 28px rgba(0,0,0,.30);
}

.mq-shell[data-skin="ardoise"] .mq-view[data-view="miseEnPlace"] .mq-setup-steps i { background:rgba(129,157,172,.16); }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="miseEnPlace"] .mq-setup-steps i.is-on { background:linear-gradient(90deg,#65e8ef,#2b98b4);box-shadow:0 2px 9px rgba(77,214,226,.32); }
.mq-shell[data-skin="ardoise"] .mq-skin-ardoise { background:linear-gradient(152deg,#344550 0%,#202f38 50%,#111a20 100%);border-color:#b9ccd6; }
.mq-shell[data-skin="ardoise"] .mq-skin-ardoise::before { background:no-repeat center/52% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%236ce5ee' stroke-width='2.1'%3E%3Cpath d='M32 8 49 32 32 56 15 32Z'/%3E%3Cpath d='M15 32h34M32 8v48M21 22l11 10 11-10M21 42l11-10 11 10'/%3E%3C/g%3E%3C/svg%3E"); }

/* En-têtes Ardoise : le contenu garde sa hauteur naturelle et ne chevauche jamais la liste. */
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] {
  gap:clamp(10px,1.25vh,14px);
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] > div:first-child {
  flex:0 0 auto;
  min-height:max-content;
  overflow:visible;
  padding:2px 4px 4px;
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] > div:first-child .mq-title {
  line-height:1.04;
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] > div:first-child .mq-lede {
  margin-top:6px;
  color:#c2ced6;
  line-height:1.35;
  overflow:visible;
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] .mq-scroll {
  padding-top:2px;
}
.mq-shell[data-skin="ardoise"] .mq-settings-head {
  flex:0 0 auto;
  min-height:max-content;
  overflow:visible;
  padding-bottom:4px;
}
.mq-shell[data-skin="ardoise"] .mq-settings-head .mq-title {
  line-height:1.04;
}

/* Champs, curseurs et interrupteurs */
.mq-shell[data-skin="ardoise"] .mq-promo-entry,
.mq-shell[data-skin="ardoise"] .mq-input {
  background:#111b22;border-color:#445966;color:#f5f8fa;box-shadow:inset 0 1px 4px rgba(0,0,0,.34);
}
.mq-shell[data-skin="ardoise"] .mq-range { --range-color:#5bdce7; }
.mq-shell[data-skin="ardoise"] .mq-switch { background:#3c4d58; }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch { background:linear-gradient(105deg,#69e7ee,#2d94b1); }
.mq-shell[data-skin="ardoise"] .mq-reset-button { color:#ff9aa3;border-color:rgba(255,125,137,.55); }
.mq-shell[data-skin="ardoise"] .mq-profile-meter,
.mq-shell[data-skin="ardoise"] .mq-profile-xp { background:#33444f; }
.mq-shell[data-skin="ardoise"] .mq-profile-meter i,
.mq-shell[data-skin="ardoise"] .mq-profile-xp i { background:linear-gradient(90deg,#67e8ef,#2d9bb5); }
.mq-shell[data-skin="ardoise"] .mq-profile-avatar-large { box-shadow:0 0 0 3px #2a3b46,0 0 0 5px #65dce7,0 11px 26px rgba(0,0,0,.30); }
.mq-shell[data-skin="ardoise"] .mq-profile-edit { background:linear-gradient(110deg,#5ddce6,#2b8ea9);color:#07151b;border-color:#c9e9ed; }
.mq-shell[data-skin="ardoise"] .mq-avatar-option.is-selected { border-color:#63e0e9;box-shadow:0 0 0 3px rgba(88,223,233,.16),0 10px 24px rgba(0,0,0,.28); }

/* Mode Histoire */
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-degrade-texte { background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f6f9fb;text-shadow:0 2px 12px rgba(0,0,0,.35); }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-histoire-titre .mq-title,
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-histoire-titre .mq-eyebrow,
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-jalon-txt strong { color:#f6f9fb;text-shadow:0 2px 10px rgba(0,0,0,.30); }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-jalon.is-locked .mq-jalon-txt strong { color:rgba(235,243,247,.55); }
.mq-shell[data-skin="ardoise"] .mq-histoire-total { background:linear-gradient(155deg,#263742,#14212a);color:#f1f5f7;border:1px solid rgba(178,201,214,.28); }
.mq-shell[data-skin="ardoise"] .mq-chapter b { background:#344650;color:#dce7ed; }
.mq-shell[data-skin="ardoise"] .mq-chapter small { color:#a8b7c2; }
.mq-shell[data-skin="ardoise"] .mq-chapter[aria-current="true"] { border-color:#65e5ee;box-shadow:0 0 0 3px rgba(88,223,233,.14),0 10px 24px rgba(0,0,0,.28); }
.mq-shell[data-skin="ardoise"] .mq-chapter[aria-current="true"] b { background:linear-gradient(145deg,#64e3eb,#2b95af);color:#07151b; }
.mq-shell[data-skin="ardoise"] .mq-chapter[aria-current="true"] small { color:#67e0e9; }
.mq-shell[data-skin="ardoise"] .mq-jalon-pastille { background:linear-gradient(145deg,#334650,#17242d);border-color:#c5d5de;color:#f3f7f9;box-shadow:0 6px 16px rgba(0,0,0,.30); }
.mq-shell[data-skin="ardoise"] .mq-jalon.is-open .mq-jalon-pastille { background:linear-gradient(145deg,#5fe1ea,#2d96b1);color:#07151b;box-shadow:0 0 0 3px rgba(88,223,233,.16),0 0 22px rgba(88,223,233,.34); }
.mq-shell[data-skin="ardoise"] .mq-jalon.is-done .mq-jalon-pastille { background:linear-gradient(145deg,#74dbb2,#2e9f73); }
.mq-shell[data-skin="ardoise"] .mq-jalon.is-boss .mq-jalon-pastille { background:linear-gradient(145deg,#ffd96c,#c48a22);color:#4a3200; }
.mq-shell[data-skin="ardoise"] .mq-chemin::before { background:repeating-linear-gradient(180deg,rgba(173,198,212,.25) 0 7px,transparent 7px 16px); }
.mq-shell[data-skin="ardoise"] .mq-chemin-trace { background:linear-gradient(180deg,#68e5ed,#2b94af);box-shadow:0 0 12px rgba(88,223,233,.55); }
.mq-shell[data-skin="ardoise"] .mq-tag { background:#18262f;color:#f1f5f7;border:1px solid rgba(176,201,215,.20); }
.mq-shell[data-skin="ardoise"] .mq-tag svg { color:#5fdce6; }

/* Plateau et cartes */
.mq-shell[data-skin="ardoise"] .mq-board-wrap { isolation:isolate;border-radius:clamp(14px,2.5vmin,24px); }
.mq-shell[data-skin="ardoise"] .mq-board-wrap::before {
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,rgba(58,115,132,.15),rgba(3,10,14,.15) 72%,transparent 100%);
}
.mq-shell[data-skin="ardoise"] .mq-score-chip,
.mq-shell[data-skin="ardoise"] .mq-game-action {
  background:linear-gradient(155deg,rgba(37,52,62,.96),rgba(18,29,37,.98)) !important;
  border-color:rgba(181,203,214,.32);box-shadow:0 4px 14px rgba(0,0,0,.30);
}
.mq-shell[data-skin="ardoise"] .mq-score-chip small,
.mq-shell[data-skin="ardoise"] .mq-score-chip strong,
.mq-shell[data-skin="ardoise"] .mq-game-action svg { color:#f2f6f8; }
.mq-shell[data-skin="ardoise"] .mq-score-chip.is-turn { border-color:#6de4ec;background:linear-gradient(155deg,#2e4551,#172730)!important;box-shadow:0 0 0 2px rgba(88,223,233,.16),0 0 18px rgba(88,223,233,.24); }
.mq-shell[data-skin="ardoise"] .mq-turn-dot { background:#63e0e9;box-shadow:0 0 0 3px rgba(88,223,233,.14),0 0 10px rgba(88,223,233,.75); }
.mq-shell[data-skin="ardoise"] .mq-card { border-radius:clamp(9px,2vmin,18px); }
.mq-shell[data-skin="ardoise"] .mq-face { border-color:#aebfca; }
.mq-shell[data-skin="ardoise"] .mq-back {
  background:
    radial-gradient(circle at 26% 16%,rgba(255,255,255,.10),transparent 24%),
    radial-gradient(circle at 74% 82%,rgba(78,211,224,.06),transparent 28%),
    linear-gradient(152deg,#344650 0%,#23333d 44%,#17232b 76%,#0d151b 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),inset 0 -10px 18px rgba(0,0,0,.24),0 6px 14px rgba(0,0,0,.30);
}
.mq-shell[data-skin="ardoise"] .mq-back::before {
  inset:0;background:no-repeat center/48% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%236ce5ee' stroke-width='2.1' stroke-linejoin='round'%3E%3Cpath d='M32 8 49 32 32 56 15 32Z'/%3E%3Cpath d='M15 32h34M32 8v48M21 22l11 10 11-10M21 42l11-10 11 10'/%3E%3Ccircle cx='32' cy='32' r='3.3' fill='%236ce5ee'/%3E%3C/g%3E%3C/svg%3E");
  filter:drop-shadow(0 0 7px rgba(88,223,233,.28));opacity:.96;
}
.mq-shell[data-skin="ardoise"] .mq-back::after {
  content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;opacity:.34;
  background:linear-gradient(112deg,transparent 0 36%,rgba(210,245,248,.28) 48%,transparent 60% 100%);transform:translateX(-120%);
}
.mq-shell[data-skin="ardoise"] .mq-card.is-open .mq-back::after { animation:mq-ardoise-card-shimmer .72s ease-out; }
.mq-shell[data-skin="ardoise"] .mq-front { background:linear-gradient(165deg,#243640 0%,#111d24 100%);box-shadow:0 4px 10px rgba(0,0,0,.28);color:#f4f7f9; }
.mq-shell[data-skin="ardoise"] .mq-board[data-category="animaux"] .mq-front { background:#0f1b22; }
.mq-shell[data-skin="ardoise"] .mq-front .mq-card-name { color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.62); }
.mq-shell[data-skin="ardoise"] .mq-card.is-done .mq-front { background:linear-gradient(165deg,#263e45,#13272e); }
.mq-shell[data-skin="ardoise"] .mq-card.is-done .mq-face { border-color:#6de4ec;box-shadow:0 0 0 2px rgba(88,223,233,.17),0 0 22px rgba(88,223,233,.38); }
.mq-shell[data-skin="ardoise"] .mq-card.is-done .mq-front::before {
  content:"";position:absolute;inset:-15%;border-radius:50%;pointer-events:none;border:2px solid rgba(98,226,235,.65);animation:mq-ardoise-match-ring .85s ease-out both;
}
.mq-shell[data-skin="ardoise"] .mq-card.is-wrong .mq-face { border-color:#ff7f8c;box-shadow:0 0 0 2px rgba(255,92,109,.15),0 4px 12px rgba(0,0,0,.28); }
.mq-shell[data-skin="ardoise"] .mq-card.is-hint .mq-back { animation:mq-ardoise-hint .72s ease-in-out 3; }
.mq-card-preview-layer[data-skin="ardoise"] .mq-card-preview-surface { border-color:#b6c8d2;background:linear-gradient(152deg,#344650 0%,#23333d 44%,#17232b 76%,#0d151b 100%);box-shadow:0 18px 40px rgba(0,0,0,.44),0 0 0 3px rgba(88,223,233,.14); }
@keyframes mq-ardoise-card-shimmer { from { transform:translateX(-120%); } to { transform:translateX(120%); } }
@keyframes mq-ardoise-match-ring { 0% { opacity:0;transform:scale(.75); } 30% { opacity:.82; } 100% { opacity:0;transform:scale(1.2); } }
@keyframes mq-ardoise-hint { 50% { filter:brightness(1.2) saturate(1.08);box-shadow:0 0 0 3px rgba(88,223,233,.26),0 0 20px rgba(88,223,233,.42); } }

/* Résultats */
.mq-shell[data-skin="ardoise"] .mq-final-result-page,
.mq-shell[data-skin="ardoise"] .mq-solo-result-page { background:linear-gradient(180deg,rgba(17,27,35,.94),rgba(6,12,17,.98)); }

.mq-shell[data-skin="ardoise"] .mq-solo-score-card::after { color:rgba(107,226,235,.08); }

.mq-shell[data-skin="ardoise"] .mq-final-replay {
  background:linear-gradient(155deg,#334752 0%,#1d2c35 58%,#121d24 100%)!important;
  color:#f7fafb!important;
  border-color:#8198a5!important;
  box-shadow:0 5px 0 #0b141a,0 14px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.12)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.36);
}
.mq-shell[data-skin="ardoise"] .mq-final-replay:active {
  box-shadow:0 2px 0 #0b141a,0 8px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.mq-shell[data-skin="ardoise"] .mq-final-home {
  background:linear-gradient(155deg,#2a3c47,#15232c)!important;
  color:#f5f8fa!important;
  border-color:#617783!important;
}

/* Mouvement réduit */
.mq-shell[data-skin="ardoise"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="ardoise"][data-motion="calme"] .mq-ambiance i,
.mq-shell[data-skin="ardoise"][data-motion="calme"] .mq-card.is-open .mq-back::after,
.mq-shell[data-skin="ardoise"][data-motion="calme"] .mq-card.is-done .mq-front::before { animation:none; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ardoise"] .mq-ambiance::before,
  .mq-shell[data-skin="ardoise"] .mq-ambiance i,
  .mq-shell[data-skin="ardoise"] .mq-card.is-open .mq-back::after,
  .mq-shell[data-skin="ardoise"] .mq-card.is-done .mq-front::before { animation:none; }
}
.mq-shell[data-skin="ardoise"] .mq-theme-panel .mq-settings-copy strong { color:#f5f8fa; }
.mq-shell[data-skin="ardoise"] .mq-theme-panel .mq-settings-copy small { color:#aebcc7; }
.mq-shell[data-skin="ardoise"] .mq-jalon.is-locked { opacity:.74; }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-jalon.is-locked .mq-jalon-txt strong { color:rgba(242,247,249,.78); }
.mq-shell[data-skin="ardoise"] .mq-view[data-view="histoire"] .mq-jalon.is-locked .mq-jalon-etoiles { opacity:.72; }

/* =========================================================================
   THÈME NUIT 6.26.0 — premium stable, lisible et strictement isolé
   Aucun mouvement de grande couche : animations limitées aux petits décors.
   ========================================================================= */
.mq-shell[data-skin="nuit"] {
  --night-bg-0:#070b14;
  --night-bg-1:#0b1220;
  --night-bg-2:#111b2c;
  --night-panel:#121c2c;
  --night-panel-2:#172338;
  --night-line:#35455f;
  --night-line-soft:#26354c;
  --night-text:#f4f7fb;
  --night-muted:#b7c2d5;
  --night-subtle:#8492aa;
  --night-cyan:#83dcf6;
  --night-indigo:#7587ef;
  --night-gold:#f4c96b;
  --night-selected:#f7f9fc;
  --night-selected-text:#121a28;
  color-scheme:dark;
  color:var(--night-text);
  background:
    radial-gradient(circle at 50% -14%,rgba(118,143,239,.16) 0%,transparent 42%),
    radial-gradient(circle at 92% 16%,rgba(91,207,241,.08) 0%,transparent 26%),
    linear-gradient(180deg,var(--night-bg-0) 0%,var(--night-bg-1) 30%,#0d1626 62%,#080d17 100%);
}

/* ---------- Décor stable ---------- */
.mq-shell[data-skin="nuit"] .mq-ambiance {
  contain:paint;
  background:none;
}
.mq-shell[data-skin="nuit"] .mq-ambiance i {
  animation:none!important;
  transform:none!important;
  will-change:auto;
  filter:none;
  border-radius:50%;
}
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(1) {
  width:44vmax;height:44vmax;right:-18vmax;top:-20vmax;left:auto;
  background:radial-gradient(circle,rgba(126,150,238,.13) 0%,transparent 68%);
}
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(2) {
  width:34vmax;height:34vmax;left:-16vmax;top:28%;right:auto;
  background:radial-gradient(circle,rgba(93,214,242,.07) 0%,transparent 70%);
}
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(3) {
  width:48vmax;height:26vmax;left:25%;bottom:-14vmax;top:auto;
  background:radial-gradient(ellipse,rgba(111,129,225,.09) 0%,transparent 72%);
}
.mq-shell[data-skin="nuit"] .mq-ambiance::before {
  content:"";position:absolute;inset:0;opacity:.78;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,255,255,.92) 0 1px,transparent 1.7px),
    radial-gradient(circle at 19% 20%,rgba(155,224,248,.80) 0 1px,transparent 1.8px),
    radial-gradient(circle at 29% 8%,rgba(255,255,255,.76) 0 1.1px,transparent 1.8px),
    radial-gradient(circle at 43% 16%,rgba(148,213,245,.74) 0 1px,transparent 1.8px),
    radial-gradient(circle at 58% 8%,rgba(255,255,255,.86) 0 1px,transparent 1.7px),
    radial-gradient(circle at 72% 18%,rgba(160,226,250,.75) 0 1.1px,transparent 1.9px),
    radial-gradient(circle at 86% 10%,rgba(255,255,255,.84) 0 1px,transparent 1.7px),
    radial-gradient(circle at 94% 29%,rgba(142,218,246,.72) 0 1px,transparent 1.8px),
    radial-gradient(circle at 14% 42%,rgba(255,255,255,.56) 0 1px,transparent 1.7px),
    radial-gradient(circle at 38% 37%,rgba(144,220,247,.56) 0 1px,transparent 1.7px),
    radial-gradient(circle at 66% 43%,rgba(255,255,255,.58) 0 1px,transparent 1.7px),
    radial-gradient(circle at 82% 51%,rgba(138,214,243,.52) 0 1px,transparent 1.7px);
  animation:mq-night-v2-twinkle 9s ease-in-out infinite alternate;
  will-change:opacity;
}
.mq-shell[data-skin="nuit"] .mq-ambiance::after {
  content:"";position:absolute;inset:auto 0 0;height:32%;opacity:.48;
  background:
    linear-gradient(180deg,transparent 0%,rgba(7,12,22,.28) 44%,rgba(4,7,13,.72) 100%),
    radial-gradient(ellipse at 22% 76%,rgba(109,219,244,.10) 0%,transparent 38%),
    radial-gradient(ellipse at 78% 82%,rgba(120,137,234,.10) 0%,transparent 42%);
  animation:mq-night-v2-breathe 12s ease-in-out infinite alternate;
  will-change:opacity;
}
.mq-shell[data-skin="nuit"] .mq-ambiance > .mq-night-moon,
.mq-shell[data-skin="nuit"] .mq-ambiance > .mq-night-stars,
.mq-shell[data-skin="nuit"] .mq-ambiance > .mq-night-constellations,
.mq-shell[data-skin="nuit"] .mq-ambiance > .mq-night-haze {
  display:block;position:absolute;pointer-events:none;transform:none!important;filter:none;
}
.mq-shell[data-skin="nuit"] .mq-night-moon {
  width:clamp(78px,14vw,132px);aspect-ratio:1;right:6%;top:8%;border-radius:50%;opacity:.78;
  background:radial-gradient(circle at 34% 30%,#fff 0%,#edf6ff 34%,#bdcdef 67%,rgba(120,139,202,.18) 100%);
  box-shadow:0 0 24px rgba(180,224,255,.20),0 0 52px rgba(111,127,224,.12);
  animation:mq-night-v2-moon 11s ease-in-out infinite alternate;
  will-change:opacity,box-shadow;
}
.mq-shell[data-skin="nuit"] .mq-night-stars {
  inset:0;opacity:.20;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800'%3E%3Cg fill='none' stroke='%239fdfff' stroke-width='1.2' opacity='.55'%3E%3Cpath d='M170 170 240 140 310 180 388 150'/%3E%3Cpath d='M700 120 770 166 842 140 910 190'/%3E%3Cpath d='M860 350 940 320 1020 354 1092 316'/%3E%3C/g%3E%3Cg fill='%23eaf9ff'%3E%3Ccircle cx='170' cy='170' r='2.4'/%3E%3Ccircle cx='240' cy='140' r='2.2'/%3E%3Ccircle cx='310' cy='180' r='2.2'/%3E%3Ccircle cx='388' cy='150' r='2.3'/%3E%3Ccircle cx='700' cy='120' r='2.3'/%3E%3Ccircle cx='770' cy='166' r='2.2'/%3E%3Ccircle cx='842' cy='140' r='2.2'/%3E%3Ccircle cx='910' cy='190' r='2.3'/%3E%3Ccircle cx='860' cy='350' r='2.2'/%3E%3Ccircle cx='940' cy='320' r='2.3'/%3E%3Ccircle cx='1020' cy='354' r='2.2'/%3E%3Ccircle cx='1092' cy='316' r='2.3'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat;
}
.mq-shell[data-skin="nuit"] .mq-night-constellations {
  right:4%;bottom:7%;width:min(38vw,310px);height:min(17vw,118px);opacity:.13;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 360 140'%3E%3Cg fill='none' stroke='%23ace9ff' stroke-width='1.2'%3E%3Cpath d='M18 104 62 62 114 88 170 34 226 72 286 24 334 50'/%3E%3C/g%3E%3Cg fill='%23effcff'%3E%3Ccircle cx='18' cy='104' r='2.5'/%3E%3Ccircle cx='62' cy='62' r='2.5'/%3E%3Ccircle cx='114' cy='88' r='2.3'/%3E%3Ccircle cx='170' cy='34' r='2.7'/%3E%3Ccircle cx='226' cy='72' r='2.4'/%3E%3Ccircle cx='286' cy='24' r='2.6'/%3E%3Ccircle cx='334' cy='50' r='2.4'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
.mq-shell[data-skin="nuit"] .mq-night-haze { inset:auto 0 0;height:24%;opacity:.24;background:linear-gradient(180deg,transparent,rgba(84,107,191,.12));animation:mq-night-v2-breathe 13s ease-in-out infinite alternate;will-change:opacity; }
@keyframes mq-night-v2-twinkle { from{opacity:.62} to{opacity:.86} }
@keyframes mq-night-v2-breathe { from{opacity:.34} to{opacity:.52} }
@keyframes mq-night-v2-moon { from{opacity:.70;box-shadow:0 0 20px rgba(180,224,255,.16),0 0 44px rgba(111,127,224,.10)} to{opacity:.84;box-shadow:0 0 28px rgba(180,224,255,.24),0 0 58px rgba(111,127,224,.14)} }

/* ---------- Barre haute et navigation ---------- */
.mq-shell[data-skin="nuit"] .mq-top,
.mq-shell[data-skin="nuit"] .mq-nav {
  background:linear-gradient(160deg,#131d2e 0%,#0b1321 100%);
  border:1px solid var(--night-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 12px 28px rgba(0,0,0,.32);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  color:var(--night-text);
}
.mq-shell[data-skin="nuit"] .mq-avatar { background:#101a2a;border-color:#d9e7f5;box-shadow:0 0 0 2px rgba(131,220,246,.14),0 6px 16px rgba(0,0,0,.30); }
.mq-shell[data-skin="nuit"] .mq-avatar b { background:linear-gradient(145deg,#6272dd,#364391);border-color:#f7fbff;color:#fff; }
.mq-shell[data-skin="nuit"] .mq-xp { background:#26344b; }
.mq-shell[data-skin="nuit"] .mq-xp i { background:linear-gradient(90deg,var(--night-cyan),var(--night-indigo)); }
.mq-shell[data-skin="nuit"] .mq-chip,
.mq-shell[data-skin="nuit"] .mq-icon-btn { background:#172338;color:var(--night-text);border:1px solid var(--night-line);box-shadow:none; }
.mq-shell[data-skin="nuit"] .mq-chip .mq-plus { background:linear-gradient(145deg,#92e6fa,#6d7de8);color:#0a1020;box-shadow:0 6px 14px rgba(69,86,181,.23); }
.mq-shell[data-skin="nuit"] .mq-nav button { color:#8e9bb1; }
.mq-shell[data-skin="nuit"] .mq-nav button.is-on { color:var(--night-cyan);background:#17243a;box-shadow:none; }
.mq-shell[data-skin="nuit"] .mq-nav button.is-on::after { background:var(--night-cyan);box-shadow:0 0 10px rgba(131,220,246,.45); }

/* ---------- Typographie ---------- */
.mq-shell[data-skin="nuit"] .mq-title,
.mq-shell[data-skin="nuit"] .mq-histoire-titre,
.mq-shell[data-skin="nuit"] .mq-online-head .mq-title,
.mq-shell[data-skin="nuit"] .mq-setup-copy .mq-title,
.mq-shell[data-skin="nuit"] .mq-profile-heading h1 { color:var(--night-text);text-shadow:0 3px 12px rgba(0,0,0,.34); }
.mq-shell[data-skin="nuit"] .mq-eyebrow,
.mq-shell[data-skin="nuit"] .mq-online-head .mq-eyebrow,
.mq-shell[data-skin="nuit"] .mq-settings-head .mq-eyebrow,
.mq-shell[data-skin="nuit"] .mq-setup-copy .mq-eyebrow,
.mq-shell[data-skin="nuit"] .mq-view[data-view="boutique"] > div:first-child .mq-eyebrow { color:var(--night-cyan); }

.mq-shell[data-skin="nuit"] .mq-degrade-texte { background:linear-gradient(100deg,#fff 0%,#ccecff 52%,#8edff6 100%);-webkit-background-clip:text;background-clip:text;color:transparent; }
.mq-shell[data-skin="nuit"] .mq-wordmark span { color:var(--night-cyan); }
.mq-shell[data-skin="nuit"] .mq-wordmark b { color:var(--night-text); }

.mq-shell[data-skin="nuit"] .mq-carreau[aria-checked="true"]::after { border-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),linear-gradient(145deg,#8be2f7,#6979e4);box-shadow:0 5px 12px rgba(56,75,167,.22); }

/* ---------- Boutons ---------- */
.mq-shell[data-skin="nuit"] .mq-btn-primary,
.mq-shell[data-skin="nuit"] .mq-play { background:linear-gradient(110deg,#91e5f9 0%,#79cdec 32%,#7486ed 70%,#5868cc 100%);color:#09111f;box-shadow:0 4px 0 #33418e,0 11px 24px rgba(47,62,145,.26); }
.mq-shell[data-skin="nuit"] .mq-btn-primary:active,
.mq-shell[data-skin="nuit"] .mq-play:active { transform:none!important;box-shadow:0 2px 0 #33418e,0 7px 17px rgba(47,62,145,.22); }
.mq-shell[data-skin="nuit"] .mq-btn-ghost,
.mq-shell[data-skin="nuit"] .mq-foot .mq-btn,
.mq-shell[data-skin="nuit"] .mq-settings-back,
.mq-shell[data-skin="nuit"] .mq-profile-heading button,
.mq-shell[data-skin="nuit"] .mq-online-head .mq-setup-back { background:#121d2e;color:var(--night-text);border:1px solid var(--night-line);box-shadow:none; }

/* ---------- Boutique, Réglages, Profil ---------- */
.mq-shell[data-skin="nuit"] .mq-view[data-view="boutique"],
.mq-shell[data-skin="nuit"] .mq-view[data-view="reglages"] { gap:clamp(10px,1.25vh,14px); }
.mq-shell[data-skin="nuit"] .mq-view[data-view="boutique"] > div:first-child,
.mq-shell[data-skin="nuit"] .mq-settings-head { flex:0 0 auto;min-height:max-content;overflow:visible;padding:2px 4px 5px; }
.mq-shell[data-skin="nuit"] .mq-view[data-view="boutique"] > div:first-child .mq-lede,
.mq-shell[data-skin="nuit"] .mq-settings-head .mq-lede { margin-top:6px;max-width:36ch; }
.mq-shell[data-skin="nuit"] .mq-promo-entry,
.mq-shell[data-skin="nuit"] .mq-input { background:#0d1727;border-color:#3a4b67;color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-promo-entry::placeholder,
.mq-shell[data-skin="nuit"] .mq-input::placeholder { color:#7e8ca5; }
.mq-shell[data-skin="nuit"] .mq-switch { background:#2d3b59; }
.mq-shell[data-skin="nuit"] .mq-settings-row[aria-pressed="true"] .mq-switch { background:linear-gradient(105deg,#86def5,#6e7fe8); }
.mq-shell[data-skin="nuit"] .mq-profile-actions { background:#101a2a;border-color:var(--night-line); }
.mq-shell[data-skin="nuit"] .mq-profile-avatar-large { box-shadow:0 0 0 3px #dce9f6,0 0 0 5px #5869d3,0 12px 24px rgba(0,0,0,.28); }
.mq-shell[data-skin="nuit"] .mq-profile-meter,
.mq-shell[data-skin="nuit"] .mq-profile-xp { background:#27354c; }
.mq-shell[data-skin="nuit"] .mq-profile-meter i,
.mq-shell[data-skin="nuit"] .mq-profile-xp i { background:linear-gradient(90deg,var(--night-cyan),var(--night-indigo)); }

/* ---------- Histoire et multijoueur ---------- */
.mq-shell[data-skin="nuit"] .mq-jalon-txt strong { color:var(--night-text);text-shadow:0 2px 8px rgba(0,0,0,.28); }
.mq-shell[data-skin="nuit"] .mq-jalon.is-locked { opacity:.74; }
.mq-shell[data-skin="nuit"] .mq-jalon.is-locked .mq-jalon-txt strong { color:#aab6ca; }
.mq-shell[data-skin="nuit"] .mq-jalon.on,
.mq-shell[data-skin="nuit"] .mq-jalon.is-current { box-shadow:0 0 0 4px rgba(131,220,246,.13),0 12px 26px rgba(0,0,0,.26); }
.mq-shell[data-skin="nuit"] .mq-trophy-progress,
.mq-shell[data-skin="nuit"] .mq-result-progress { background:#25344a; }
.mq-shell[data-skin="nuit"] .mq-trophy-progress i,
.mq-shell[data-skin="nuit"] .mq-result-progress i { background:linear-gradient(90deg,var(--night-cyan),var(--night-indigo)); }

/* ---------- Plateau ---------- */
.mq-shell[data-skin="nuit"] .mq-board-wrap { isolation:isolate;border-radius:clamp(14px,2.5vmin,24px); }
.mq-shell[data-skin="nuit"] .mq-board-wrap::before { content:"";position:absolute;inset:-1%;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.04),transparent 30%,rgba(131,220,246,.035));border:1px solid rgba(157,183,221,.12);box-shadow:0 16px 34px rgba(0,0,0,.24); }
.mq-shell[data-skin="nuit"] .mq-score-chip,
.mq-shell[data-skin="nuit"] .mq-game-action { background:#111c2d;border-color:var(--night-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 6px 14px rgba(0,0,0,.24); }
.mq-shell[data-skin="nuit"] .mq-score-chip small,
.mq-shell[data-skin="nuit"] .mq-score-chip strong,
.mq-shell[data-skin="nuit"] .mq-game-action svg { color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn { background:linear-gradient(145deg,#fbfdff,#eaf0f8)!important;border-color:var(--night-cyan);box-shadow:0 0 0 2px rgba(131,220,246,.12),0 8px 18px rgba(0,0,0,.20); }
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn small,
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn strong { color:#142036; }
.mq-shell[data-skin="nuit"] .mq-turn-dot { background:var(--night-cyan);box-shadow:0 0 0 3px rgba(131,220,246,.12),0 0 8px rgba(131,220,246,.48); }
.mq-shell[data-skin="nuit"] .mq-card { border-radius:clamp(10px,2vmin,18px);backface-visibility:hidden; }

.mq-shell[data-skin="nuit"] .mq-back {
	background:
		radial-gradient(circle at 22% 18%, rgba(152,214,255,.14) 0 2%, transparent 2.6%),
		radial-gradient(circle at 76% 23%, rgba(255,255,255,.16) 0 1.3%, transparent 1.9%),
		radial-gradient(circle at 61% 72%, rgba(140,196,255,.12) 0 1.6%, transparent 2.2%),
		radial-gradient(circle at 31% 67%, rgba(255,255,255,.10) 0 1.1%, transparent 1.8%),
		linear-gradient(165deg,#15233a 0%,#0d1830 52%,#0a1326 100%);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), inset 0 -12px 20px rgba(0,0,0,.20), 0 6px 14px rgba(0,0,0,.28);
}
.mq-shell[data-skin="nuit"] .mq-back::before {
	content:"";
	position:absolute;
	inset:0;
	background:
		no-repeat center / 30% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none'%3E%3Cg opacity='0.88' stroke='%23eaf7ff' stroke-width='4.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 18 68 44 94 52 68 60 60 86 52 60 26 52 52 44 60 18Z'/%3E%3Cpath d='M90 24 92.8 33.2 102 36 92.8 38.8 90 48 87.2 38.8 78 36 87.2 33.2 90 24Z' opacity='.8'/%3E%3Cpath d='M31 71 34 80 43 83 34 86 31 95 28 86 19 83 28 80 31 71Z' opacity='.72'/%3E%3C/g%3E%3C/svg%3E"),
		radial-gradient(circle at 18% 26%, rgba(255,255,255,.38) 0 1.1%, transparent 1.6%),
		radial-gradient(circle at 82% 30%, rgba(186,231,255,.34) 0 1.2%, transparent 1.8%),
		radial-gradient(circle at 74% 78%, rgba(255,255,255,.28) 0 1%, transparent 1.7%),
		radial-gradient(circle at 22% 80%, rgba(160,212,255,.26) 0 1.1%, transparent 1.7%);
	filter: drop-shadow(0 0 8px rgba(122,199,255,.18));
	opacity:.92;
}
.mq-shell[data-skin="nuit"] .mq-game-action,
.mq-shell[data-skin="nuit"] .mq-game-actions .mq-game-action,
.mq-shell[data-skin="nuit"] button[data-restart],
.mq-shell[data-skin="nuit"] button[data-quit] {
	background:linear-gradient(180deg,#17253b 0%,#0f1a2d 100%) !important;
	border:1px solid rgba(163,185,214,.28) !important;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 18px rgba(0,0,0,.28) !important;
}
.mq-shell[data-skin="nuit"] .mq-game-action svg,
.mq-shell[data-skin="nuit"] .mq-game-actions .mq-game-action svg,
.mq-shell[data-skin="nuit"] button[data-restart] svg,
.mq-shell[data-skin="nuit"] button[data-quit] svg {
	color:#eff5ff !important;
	filter:drop-shadow(0 1px 4px rgba(131,220,246,.18));
}
.mq-shell[data-skin="nuit"] .mq-game-action:active,
.mq-shell[data-skin="nuit"] button[data-restart]:active,
.mq-shell[data-skin="nuit"] button[data-quit]:active {
	background:linear-gradient(180deg,#0f1a2d 0%,#0b1424 100%) !important;
	box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 10px rgba(0,0,0,.24) !important;
}

.mq-shell[data-skin="nuit"] .mq-face { backface-visibility:hidden; }
.mq-shell[data-skin="nuit"] .mq-back { background:linear-gradient(160deg,#1a2740 0%,#111a2d 52%,#0a111e 100%);border-color:#c8d8eb;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 4px 10px rgba(0,0,0,.26); }
.mq-shell[data-skin="nuit"] .mq-back::before { content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,rgba(255,255,255,.065),transparent 34%,transparent 68%,rgba(131,220,246,.055)); }
.mq-shell[data-skin="nuit"] .mq-back::after { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%2393def3' stroke-width='2.1'%3E%3Cpath d='M20 40c0-10 8-18 18-18 2 0 5 0 7 1-3 1-7 5-7 11 0 7 6 13 13 13 1 0 2 0 3-.3-3.3 5-9 8.3-15 8.3-10.5 0-19-8.4-19-18Z'/%3E%3Ccircle cx='18' cy='18' r='2'/%3E%3Ccircle cx='45' cy='15' r='1.6'/%3E%3Ccircle cx='48' cy='30' r='1.6'/%3E%3C/g%3E%3C/svg%3E");opacity:.94; }
.mq-shell[data-skin="nuit"] .mq-card.is-open .mq-back::after { animation:mq-night-v2-card-shimmer .65s ease-out; }
.mq-shell[data-skin="nuit"] .mq-front { background:#111b2b;box-shadow:0 4px 10px rgba(0,0,0,.26);color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-front .mq-card-name { color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.96),0 0 5px rgba(0,0,0,.58); }
.mq-shell[data-skin="nuit"] .mq-card.is-done .mq-face { border-color:var(--night-cyan);box-shadow:0 0 0 2px rgba(131,220,246,.13),0 0 16px rgba(105,124,225,.28); }
.mq-shell[data-skin="nuit"] .mq-card.is-done .mq-front::before { content:"";position:absolute;inset:-10%;border-radius:50%;pointer-events:none;border:2px solid rgba(131,220,246,.52);animation:mq-night-v2-match .72s ease-out both; }
.mq-shell[data-skin="nuit"] .mq-card.is-wrong .mq-face { border-color:#f48699;box-shadow:0 0 0 2px rgba(244,134,153,.14),0 4px 10px rgba(0,0,0,.24); }
.mq-shell[data-skin="nuit"] .mq-card.is-hint .mq-back { animation:mq-night-v2-hint .62s ease-in-out 3; }
.mq-card-preview-layer[data-skin="nuit"] .mq-card-preview-surface { border-color:#d0deef;background:linear-gradient(155deg,#1a2740,#0b1322);box-shadow:0 16px 34px rgba(0,0,0,.40),0 0 0 3px rgba(131,220,246,.10); }
@keyframes mq-night-v2-card-shimmer { from{opacity:.70} to{opacity:.94} }
@keyframes mq-night-v2-match { 0%{opacity:0;transform:scale(.84)} 35%{opacity:.74} 100%{opacity:0;transform:scale(1.14)} }
@keyframes mq-night-v2-hint { 50%{box-shadow:0 0 0 3px rgba(131,220,246,.18),0 0 16px rgba(111,128,228,.28)} }

/* ---------- Modales pédagogiques ---------- */
.mq-shell[data-skin="nuit"] .mq-sheet-layer { background:rgba(2,5,11,.72);backdrop-filter:none;-webkit-backdrop-filter:none; }
.mq-shell[data-skin="nuit"] .mq-sheet { background:linear-gradient(155deg,#172338,#0e1727);border:1px solid var(--night-line);box-shadow:0 18px 42px rgba(0,0,0,.48); }
.mq-shell[data-skin="nuit"] .mq-sheet-thumb { background:#1b2940;color:var(--night-cyan); }
.mq-shell[data-skin="nuit"] .mq-question { color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-fact { color:var(--night-muted); }
.mq-shell[data-skin="nuit"] .mq-fact strong { color:var(--night-cyan);background:#172a40; }
.mq-shell[data-skin="nuit"] .mq-answer { background:#111c2e;border-color:#34455f;color:var(--night-text);transform:none!important; }
.mq-shell[data-skin="nuit"] .mq-answer b { background:#1d2b43;color:var(--night-cyan);box-shadow:none; }
.mq-shell[data-skin="nuit"] .mq-answer.is-right,
.mq-shell[data-skin="nuit"] .mq-verdict.is-right { background:#10291f;border-color:#45bf80;color:#eefcf5; }
.mq-shell[data-skin="nuit"] .mq-answer.is-wrong,
.mq-shell[data-skin="nuit"] .mq-verdict.is-wrong { background:#321722;border-color:#ef7189;color:#fff2f5; }
.mq-shell[data-skin="nuit"] .mq-verdict p { color:var(--night-muted); }
.mq-shell[data-skin="nuit"] .mq-hintbar { color:var(--night-muted); }

/* ---------- Résultats ---------- */
.mq-shell[data-skin="nuit"] .mq-final-result-page,
.mq-shell[data-skin="nuit"] .mq-solo-result-page { background:linear-gradient(180deg,#0a101d,#060a12); }

.mq-shell[data-skin="nuit"] .mq-solo-score-card::after { color:rgba(131,220,246,.06); }

.mq-shell[data-skin="nuit"] .mq-final-replay { background:linear-gradient(155deg,#24334f,#111a2d)!important;color:var(--night-text)!important;border-color:#95aac8!important;box-shadow:0 4px 0 #070d17,0 12px 24px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.07)!important; }
.mq-shell[data-skin="nuit"] .mq-final-replay:active { transform:none!important;box-shadow:0 2px 0 #070d17,0 7px 16px rgba(0,0,0,.26)!important; }
.mq-shell[data-skin="nuit"] .mq-final-home { background:#152135!important;color:var(--night-text)!important;border-color:#607492!important; }

/* ---------- Réduction des animations ---------- */
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-ambiance::after,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-night-moon,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-night-haze,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-card.is-open .mq-back::after,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-card.is-done .mq-front::before { animation:none; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="nuit"] .mq-ambiance::before,
  .mq-shell[data-skin="nuit"] .mq-ambiance::after,
  .mq-shell[data-skin="nuit"] .mq-night-moon,
  .mq-shell[data-skin="nuit"] .mq-night-haze,
  .mq-shell[data-skin="nuit"] .mq-card.is-open .mq-back::after,
  .mq-shell[data-skin="nuit"] .mq-card.is-done .mq-front::before { animation:none; }
}

/* ---------- Correctifs finaux de contraste Nuit V2 ---------- */
.mq-shell[data-skin="nuit"] .mq-settings-copy strong,
.mq-shell[data-skin="nuit"] .mq-theme-panel .mq-settings-copy strong { color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-settings-copy small,
.mq-shell[data-skin="nuit"] .mq-theme-panel .mq-settings-copy small { color:var(--night-muted); }
.mq-shell[data-skin="nuit"] .mq-histoire-total {
  background:#162238;
  color:var(--night-gold);
  border:1px solid var(--night-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 7px 16px rgba(0,0,0,.22);
}
.mq-shell[data-skin="nuit"] .mq-chapter b { color:var(--night-text); }
.mq-shell[data-skin="nuit"] .mq-chapter small { color:var(--night-muted); }
.mq-shell[data-skin="nuit"] .mq-chapter.is-locked b,
.mq-shell[data-skin="nuit"] .mq-chapter.is-locked small { color:#8794aa; }
.mq-shell[data-skin="nuit"] .mq-tag {
  background:#edf3fa;
  color:#18243a;
  border:1px solid #d2dfed;
}
.mq-shell[data-skin="nuit"] .mq-tag svg { color:#327ea1; }
.mq-shell[data-skin="nuit"] .mq-ready { color:#8de5fa; }
.mq-shell[data-skin="nuit"] .mq-price { color:#f1bc58; }

/* =========================================================================
   MemoQuest 6.26.9 — outils et paramètres intégrés à la partie
   ========================================================================= */
.mq-gamebar { grid-template-columns:clamp(58px,15vw,82px) minmax(126px,1fr) clamp(58px,15vw,82px);gap:clamp(4px,1.3vw,7px); }
.mq-game-actions { gap:clamp(4px,1.5vw,8px); }
.mq-game-action { width:clamp(35px,10.4vw,40px);height:clamp(35px,10.4vw,40px);flex:0 0 clamp(35px,10.4vw,40px); }
.mq-game-action.is-tip { color:#b47b00; }
.mq-game-action.is-tip svg { color:currentColor;filter:drop-shadow(0 2px 4px rgba(243,181,30,.22)); }
.mq-score-chip.is-solo .mq-turn-dot { display:none; }
.mq-score-chip.is-solo strong { font-size:.85rem; }

.mq-game-sheet-layer { z-index:42; }
.mq-game-sheet-layer .mq-sheet { width:min(520px,100%);max-height:min(100%,760px); }
.mq-game-panel-title { font-size:clamp(1.08rem,4.5vw,1.3rem)!important; }
.mq-game-sheet-layer .mq-sheet-thumb { width:54px;height:54px; }
.mq-game-sheet-layer .mq-sheet-thumb svg { width:30px;height:30px; }
.mq-game-note { margin:0;padding:9px 11px;border-radius:13px;background:rgba(32,137,218,.09);color:var(--encre-2);font-size:.67rem;line-height:1.4;font-weight:780;text-align:center; }

.mq-privacy-panel { display:grid;gap:10px; }
.mq-privacy-panel p { margin:0;color:var(--encre-2);font-size:.78rem;line-height:1.52;font-weight:720; }
.mq-privacy-link { display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,var(--bleu),#22bfc2);color:#fff!important;text-decoration:none!important;font-size:.76rem;font-weight:900;box-shadow:0 8px 18px rgba(32,137,218,.22); }
.mq-privacy-link svg { width:21px;height:21px; }

.mq-tip-thumb { color:#d59200!important;background:linear-gradient(155deg,#fff8d5,#ffe8a1)!important; }
.mq-tip-stage { display:grid;gap:10px;min-height:238px; }
.mq-tip-card { position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:16px 14px;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#fffdf4,#eff9ff);border:1px solid rgba(35,139,207,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 24px rgba(21,60,122,.1); }
.mq-tip-card::after { content:"";position:absolute;width:130px;height:130px;right:-58px;bottom:-74px;border-radius:50%;background:radial-gradient(circle,rgba(255,197,47,.2),transparent 68%);pointer-events:none; }
.mq-tip-number { position:relative;z-index:1;width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#ffd758,#eaa51f);color:#553800;font-size:1rem;font-weight:1000;box-shadow:0 7px 14px rgba(194,130,7,.2); }
.mq-tip-card > div { position:relative;z-index:1;display:grid;align-content:start;gap:5px;min-width:0; }
.mq-tip-card small { color:#169daa;font-size:.52rem;font-weight:1000;letter-spacing:.08em; }
.mq-tip-card h4 { margin:0;color:var(--encre);font-size:1rem;line-height:1.15;font-weight:1000; }
.mq-tip-card p { margin:0;color:var(--encre-2);font-size:.76rem;line-height:1.5;font-weight:750; }
.mq-tip-dots { display:flex;justify-content:center;align-items:center;gap:3px;min-height:10px;overflow:hidden; }
.mq-tip-dots i { width:4px;height:4px;border-radius:99px;background:rgba(84,112,151,.25);transition:width .2s,background .2s; }
.mq-tip-dots i.is-on { width:15px;background:#20adb7; }
.mq-tip-navigation { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.mq-tip-navigation .mq-btn { min-width:0;padding-inline:9px;font-size:.72rem; }
.mq-tip-resume { background:transparent!important;color:var(--encre-2)!important;box-shadow:none!important;min-height:40px!important; }

.mq-game-settings { display:grid;gap:8px; }
.mq-online-safety-entry .mq-settings-open { margin-left:auto; }
.mq-online-safety { display:grid;gap:10px; }
.mq-online-safety > p { margin:0;color:var(--encre-2);font-size:.75rem;line-height:1.45;font-weight:720; }
.mq-online-safety-reasons { display:grid;gap:7px; }
.mq-online-safety-reasons button { width:100%;display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(61,142,199,.17);border-radius:15px;background:#f4f9fd;color:var(--encre);text-align:left; }
.mq-online-safety-reasons button strong { font-size:.74rem;font-weight:950; }
.mq-online-safety-reasons button small { color:var(--encre-2);font-size:.59rem;line-height:1.3;font-weight:720; }
.mq-online-safety-reasons button:disabled { opacity:.55; }
.mq-online-block { color:#a43145; }
.mq-online-safety-preview { font-size:.66rem; }
.mq-game-setting-row,.mq-game-volume-row { width:100%;min-height:58px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border-radius:17px;background:#f4f9fd;border:1px solid rgba(61,142,199,.13);color:var(--encre);text-align:left; }
.mq-game-setting-row > span,.mq-game-volume-row > span,.mq-game-rules > span { width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf8ff,#d9edf9);color:var(--bleu); }
.mq-game-setting-row svg,.mq-game-volume-row svg,.mq-game-rules svg { width:21px;height:21px; }
.mq-game-setting-row > b,.mq-game-volume-row > b { min-width:0;display:grid;gap:3px;font-weight:inherit; }
.mq-game-setting-row strong,.mq-game-volume-row strong { font-size:.76rem;font-weight:950; }
.mq-game-setting-row small { color:var(--encre-2);font-size:.58rem;line-height:1.25;font-weight:720; }
.mq-game-switch { width:42px;height:24px;border-radius:99px;padding:3px;background:#c9d7e3;transition:background .2s; }
.mq-game-switch u { display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(21,60,122,.22);transition:transform .2s var(--ressort); }
.mq-game-setting-row[aria-pressed="true"] .mq-game-switch { background:linear-gradient(90deg,#1dbab8,#278ddc); }
.mq-game-setting-row[aria-pressed="true"] .mq-game-switch u { transform:translateX(18px); }
.mq-game-volume-row b input { width:100%;height:18px;margin:0;accent-color:#20aeb7;background:transparent; }
.mq-game-volume-row em { min-width:34px;color:var(--encre-2);font-size:.63rem;font-style:normal;font-weight:900;text-align:right; }
.mq-game-volume-row.is-disabled { opacity:.48; }
.mq-game-rules { display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:11px;border-radius:17px;background:linear-gradient(145deg,#f7fbff,#eef7fa);border:1px solid rgba(38,171,181,.15); }
.mq-game-rules > div { min-width:0; }
.mq-game-rules strong { color:var(--encre);font-size:.72rem;font-weight:950; }
.mq-game-rules p { margin:3px 0 0;color:var(--encre-2);font-size:.61rem;line-height:1.38;font-weight:730; }
.mq-game-danger-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.mq-game-danger-actions .mq-btn { min-width:0;padding-inline:8px;font-size:.7rem; }
.mq-game-quit { color:#fff!important;background:linear-gradient(145deg,#e85858,#bb343f)!important;box-shadow:0 5px 0 #8e2530,0 10px 18px rgba(158,41,54,.2)!important; }

.mq-shell[data-skin="nuit"] .mq-tip-card,.mq-shell[data-skin="ardoise"] .mq-tip-card { background:linear-gradient(145deg,rgba(31,47,72,.98),rgba(16,27,43,.98));border-color:rgba(125,205,231,.2); }
.mq-shell[data-skin="nuit"] .mq-tip-card h4,.mq-shell[data-skin="nuit"] .mq-tip-card p,.mq-shell[data-skin="ardoise"] .mq-tip-card h4,.mq-shell[data-skin="ardoise"] .mq-tip-card p { color:#eef6fb; }
.mq-shell[data-skin="nuit"] .mq-game-setting-row,.mq-shell[data-skin="nuit"] .mq-game-volume-row,.mq-shell[data-skin="nuit"] .mq-game-rules,.mq-shell[data-skin="ardoise"] .mq-game-setting-row,.mq-shell[data-skin="ardoise"] .mq-game-volume-row,.mq-shell[data-skin="ardoise"] .mq-game-rules { background:rgba(24,39,58,.92);border-color:rgba(125,205,231,.16);color:#eef6fb; }
.mq-shell[data-skin="nuit"] .mq-game-setting-row small,.mq-shell[data-skin="nuit"] .mq-game-volume-row em,.mq-shell[data-skin="nuit"] .mq-game-rules p,.mq-shell[data-skin="ardoise"] .mq-game-setting-row small,.mq-shell[data-skin="ardoise"] .mq-game-volume-row em,.mq-shell[data-skin="ardoise"] .mq-game-rules p { color:#aebed0; }
.mq-shell[data-skin="nuit"] .mq-game-rules strong,.mq-shell[data-skin="ardoise"] .mq-game-rules strong { color:#eef6fb; }

@media (max-width:370px) {
  .mq-gamebar { grid-template-columns:56px minmax(114px,1fr) 56px;gap:3px;padding-inline:0; }
  .mq-game-actions { gap:3px; }
  .mq-game-action { width:35px;height:35px;flex-basis:35px;border-radius:11px!important; }
  .mq-game-action svg { width:18px;height:18px; }
  .mq-score-chip { height:39px;border-radius:11px; }
  .mq-tip-card { grid-template-columns:36px minmax(0,1fr);padding:13px 11px; }
  .mq-tip-number { width:36px;height:36px;border-radius:12px; }
}
@media (max-width:480px), (max-height:700px) {
  .mq-game-sheet-layer .mq-sheet { gap:8px;padding:11px; }
  .mq-game-sheet-layer .mq-sheet-thumb { width:44px;height:44px; }
  .mq-tip-stage { min-height:190px; }
  .mq-tip-card { padding:11px; }
  .mq-tip-card p { font-size:.68rem;line-height:1.38; }
  .mq-game-setting-row,.mq-game-volume-row { min-height:49px;padding:6px 8px; }
  .mq-game-setting-row > span,.mq-game-volume-row > span,.mq-game-rules > span { width:34px;height:34px; }
  .mq-game-setting-row small { display:none; }
}
/* =========================================================================
   MEMOQUEST 6.26.0 — SYSTÈME VISUEL SÉMANTIQUE MULTI-THÈMES
   Source de vérité pour couleurs, typographies, surfaces et états.
   Les décors historiques restent décoratifs ; les composants consomment
   désormais exclusivement les jetons sémantiques ci-dessous.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-bg: #eaf8fb;
  --mq-bg-2: #d8f0f5;
  --mq-surface: #ffffff;
  --mq-surface-raised: #f7fcfd;
  --mq-surface-soft: #eaf6f8;
  --mq-surface-selected: #dff4f5;
  --mq-text: #123c4f;
  --mq-text-secondary: #365f70;
  --mq-text-muted: #5b7885;
  --mq-text-on-light: #123c4f;
  --mq-text-on-dark: #ffffff;
  --mq-accent: #087f8c;
  --mq-accent-strong: #096e7d;
  --mq-accent-2: #176db5;
  --mq-border: #c9e2e7;
  --mq-border-active: #087f8c;
  --mq-success: #247a36;
  --mq-error: #bd2f3f;
  --mq-warning: #8a5700;
  --mq-locked: #6b7780;
  --mq-shadow: 0 10px 28px rgba(18,60,79,.14);
  --mq-shadow-soft: 0 4px 14px rgba(18,60,79,.10);
  --mq-glow: 0 0 0 3px rgba(8,127,140,.16);
  --mq-button-bg: linear-gradient(135deg,#0a8993,#176db5);
  --mq-button-edge: #075d6b;
  --mq-button-text: #ffffff;
  --mq-font-body: ui-rounded,"SF Pro Rounded","Segoe UI Variable Display","Trebuchet MS",Verdana,system-ui,sans-serif;
  --mq-font-display: var(--mq-font-body);
  --mq-space-1: 4px;
  --mq-space-2: 8px;
  --mq-space-3: 12px;
  --mq-space-4: 16px;
  --mq-space-5: 22px;
  --mq-control-min: 44px;

  /* Compatibilité avec les composants historiques. */
  --blanc: var(--mq-surface);
  --encre: var(--mq-text);
  --encre-2: var(--mq-text-secondary);
  --encre-3: var(--mq-text-muted);
  --turq: var(--mq-accent);
  --turq-2: var(--mq-accent);
  --bleu: var(--mq-accent-2);
  --bleu-2: var(--mq-accent-strong);
  --degrade: var(--mq-button-bg);
  --ombre: var(--mq-shadow-soft);
  --ombre-forte: var(--mq-shadow);
  color: var(--mq-text);
  font-family: var(--mq-font-body);
}

.mq-shell[data-skin="jade"] {
  --mq-bg:#e9f8f4; --mq-bg-2:#d1eee8;
  --mq-surface:#ffffff; --mq-surface-raised:#f7fcfb; --mq-surface-soft:#e3f4f1; --mq-surface-selected:#d8f1ec;
  --mq-text:#143f4c; --mq-text-secondary:#345d67; --mq-text-muted:#587781;
  --mq-text-on-light:#143f4c; --mq-text-on-dark:#ffffff;
  --mq-accent:#087f8c; --mq-accent-strong:#096e7d; --mq-accent-2:#176db5;
  --mq-border:#c6e2df; --mq-border-active:#087f8c;
  --mq-success:#25783a; --mq-error:#bb3042; --mq-warning:#865700; --mq-locked:#687880;
  --mq-shadow:0 12px 30px rgba(17,73,81,.15); --mq-shadow-soft:0 5px 15px rgba(17,73,81,.10);
  --mq-glow:0 0 0 3px rgba(8,127,140,.17);
  --mq-button-bg:linear-gradient(135deg,#087f8c,#176db5); --mq-button-edge:#075d6b;
  color-scheme:light;
}
.mq-shell[data-skin="ocean"] {
  --mq-bg:#063d62; --mq-bg-2:#07577b;
  --mq-surface:#f8fdff; --mq-surface-raised:#ffffff; --mq-surface-soft:#e7f5f8; --mq-surface-selected:#d7f0f3;
  --mq-text:#082f49; --mq-text-secondary:#31566a; --mq-text-muted:#587485;
  --mq-text-on-light:#082f49; --mq-text-on-dark:#ffffff;
  --mq-accent:#056b83; --mq-accent-strong:#05596f; --mq-accent-2:#145ea8;
  --mq-border:#b8dce5; --mq-border-active:#056b83;
  --mq-success:#1d7438; --mq-error:#b42d3e; --mq-warning:#845400; --mq-locked:#627681;
  --mq-shadow:0 14px 34px rgba(0,39,67,.24); --mq-shadow-soft:0 6px 18px rgba(0,45,74,.17);
  --mq-glow:0 0 0 3px rgba(5,107,131,.18);
  --mq-button-bg:linear-gradient(135deg,#056b83,#145ea8); --mq-button-edge:#04475d;
  color-scheme:light;
}
.mq-shell[data-skin="grenat"] {
  --mq-bg:#3d111d; --mq-bg-2:#5c1b2c;
  --mq-surface:#fffaf5; --mq-surface-raised:#ffffff; --mq-surface-soft:#f8eae6; --mq-surface-selected:#f3ded8;
  --mq-text:#4a1726; --mq-text-secondary:#693748; --mq-text-muted:#785b64;
  --mq-text-on-light:#4a1726; --mq-text-on-dark:#fff9ed;
  --mq-accent:#8c2040; --mq-accent-strong:#741832; --mq-accent-2:#a26235;
  --mq-border:#e2c7c5; --mq-border-active:#8c2040;
  --mq-success:#33703e; --mq-error:#a92036; --mq-warning:#7a4d00; --mq-locked:#74666a;
  --mq-shadow:0 14px 34px rgba(55,10,25,.22); --mq-shadow-soft:0 6px 18px rgba(55,10,25,.14);
  --mq-glow:0 0 0 3px rgba(140,32,64,.17);
  --mq-button-bg:linear-gradient(135deg,#9c2947,#741832); --mq-button-edge:#581023;
  --mq-font-display:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  color-scheme:light;
}
.mq-shell[data-skin="ardoise"] {
  --mq-bg:#111b21; --mq-bg-2:#1c2b33;
  --mq-surface:#1b2930; --mq-surface-raised:#24353d; --mq-surface-soft:#2c3d45; --mq-surface-selected:#314b53;
  --mq-text:#f1f6f8; --mq-text-secondary:#c8d5da; --mq-text-muted:#a7b8bf;
  --mq-text-on-light:#17242b; --mq-text-on-dark:#f1f6f8;
  --mq-accent:#65d6df; --mq-accent-strong:#39b8c5; --mq-accent-2:#82a8ff;
  --mq-border:#48606a; --mq-border-active:#65d6df;
  --mq-success:#72d38b; --mq-error:#ff8795; --mq-warning:#ffd173; --mq-locked:#87979d;
  --mq-shadow:0 14px 34px rgba(0,0,0,.32); --mq-shadow-soft:0 5px 17px rgba(0,0,0,.23);
  --mq-glow:0 0 0 3px rgba(101,214,223,.18);
  --mq-button-bg:linear-gradient(135deg,#247d89,#485fb4); --mq-button-edge:#1d6873;
  color-scheme:dark;
}
.mq-shell[data-skin="ambre"] {
  --mq-bg:#f5d5a1; --mq-bg-2:#ffe8c7;
  --mq-surface:#fffaf1; --mq-surface-raised:#ffffff; --mq-surface-soft:#f8ead7; --mq-surface-selected:#f5dfc0;
  --mq-text:#4a2b12; --mq-text-secondary:#68472d; --mq-text-muted:#7b624e;
  --mq-text-on-light:#4a2b12; --mq-text-on-dark:#fffaf1;
  --mq-accent:#934309; --mq-accent-strong:#7c3505; --mq-accent-2:#7d5420;
  --mq-border:#dec39d; --mq-border-active:#934309;
  --mq-success:#32713a; --mq-error:#ad2c38; --mq-warning:#704600; --mq-locked:#766b60;
  --mq-shadow:0 13px 31px rgba(95,54,13,.18); --mq-shadow-soft:0 5px 16px rgba(95,54,13,.12);
  --mq-glow:0 0 0 3px rgba(147,67,9,.16);
  --mq-button-bg:linear-gradient(135deg,#a84d0a,#7c3505); --mq-button-edge:#642904;
  color-scheme:light;
}
.mq-shell[data-skin="nuit"] {
  --mq-bg:#070d1c; --mq-bg-2:#101a31;
  --mq-surface:#131d34; --mq-surface-raised:#1b2844; --mq-surface-soft:#202e4b; --mq-surface-selected:#26395b;
  --mq-text:#f5f7ff; --mq-text-secondary:#c9d1e8; --mq-text-muted:#a8b3d1;
  --mq-text-on-light:#17213b; --mq-text-on-dark:#f5f7ff;
  --mq-accent:#80d7ff; --mq-accent-strong:#52b9e7; --mq-accent-2:#9a9dff;
  --mq-border:#415176; --mq-border-active:#80d7ff;
  --mq-success:#78d893; --mq-error:#ff8a9b; --mq-warning:#ffd47f; --mq-locked:#8591ad;
  --mq-shadow:0 15px 38px rgba(0,0,0,.38); --mq-shadow-soft:0 6px 19px rgba(0,0,0,.26);
  --mq-glow:0 0 0 3px rgba(128,215,255,.19);
  --mq-button-bg:linear-gradient(135deg,#357ba6,#555fc0); --mq-button-edge:#2c5777;
  color-scheme:dark;
}

/* Fond et hiérarchie typographique. */
.mq-shell[data-skin] { background-color:var(--mq-bg); }
.mq-shell[data-skin] .mq-title,
.mq-shell[data-skin] h1,
.mq-shell[data-skin] h2,
.mq-shell[data-skin] h3 { color:var(--mq-text); font-family:var(--mq-font-display); line-height:1.12; overflow-wrap:anywhere; }
.mq-shell[data-skin] .mq-degrade-texte {
  background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--mq-text);
}
.mq-shell[data-skin] .mq-eyebrow { color:var(--mq-accent); font-size:max(.72rem,11px); line-height:1.25; }
.mq-shell[data-skin] .mq-lede,
.mq-shell[data-skin] .mq-fact { color:var(--mq-text-secondary); font-size:max(.8rem,12px); line-height:1.42; }
.mq-shell[data-skin] small { line-height:1.32; }
.mq-shell[data-skin] :focus-visible { outline-color:var(--mq-border-active); box-shadow:var(--mq-glow); }

/* Boutons et états interactifs. */
.mq-shell[data-skin] .mq-btn { background:var(--mq-surface-raised); color:var(--mq-text); border:1px solid var(--mq-border); }
.mq-shell[data-skin] .mq-btn-primary,
.mq-shell[data-skin] .mq-play,
.mq-shell[data-skin] .mq-promo-entry button,
.mq-shell[data-skin] .mq-promo-reward button {
  color:var(--mq-button-text); background-color:var(--mq-accent-strong); background-image:var(--mq-button-bg);
  border-color:transparent; box-shadow:0 4px 0 var(--mq-button-edge),var(--mq-shadow-soft); text-shadow:0 1px 2px rgba(0,0,0,.22);
}
.mq-shell[data-skin] .mq-btn-primary:active { box-shadow:0 1px 0 var(--mq-button-edge); }
.mq-shell[data-skin] .mq-btn-ghost { color:var(--mq-text-secondary); background:var(--mq-surface-soft); border-color:var(--mq-border); }

.mq-shell[data-skin] [disabled],
.mq-shell[data-skin] .is-disabled,
.mq-shell[data-skin] .is-locked { opacity:.58; color:var(--mq-locked); filter:none; }
.mq-shell[data-skin] .is-error { border-color:var(--mq-error); }
.mq-shell[data-skin] .is-success,
.mq-shell[data-skin] .mq-ready { color:var(--mq-success); }
.mq-shell[data-skin] .mq-price { color:var(--mq-warning); }

/* En-tête, navigation et icônes. */
.mq-shell[data-skin] .mq-top,
.mq-shell[data-skin] .mq-nav { background:color-mix(in srgb,var(--mq-surface) 94%,transparent); border:1px solid var(--mq-border); }
.mq-shell[data-skin] .mq-icon-btn { color:var(--mq-accent); background:var(--mq-surface-soft); border:1px solid var(--mq-border); }
.mq-shell[data-skin] .mq-chip { background:var(--mq-surface-soft); color:var(--mq-text); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-nav button { color:var(--mq-text-secondary); }
.mq-shell[data-skin] .mq-nav button.is-on { color:var(--mq-accent-strong); }

/* Réglages : tête respirante, liste stable et états lisibles. */
.mq-shell[data-skin] .mq-view[data-view="reglages"] { gap:clamp(10px,1.4vh,16px); }
.mq-shell[data-skin] .mq-settings-head,
.mq-shell[data-skin] .mq-screen-head { display:grid; gap:5px; padding:clamp(8px,1.2vh,13px) clamp(8px,2vw,14px) 2px; }
.mq-shell[data-skin] .mq-settings-head .mq-eyebrow { margin:0; color:var(--mq-accent); }
.mq-shell[data-skin] .mq-settings-head .mq-title { margin:0; color:var(--mq-text); font-size:clamp(1.55rem,6.3vw,2.05rem); }
.mq-shell[data-skin] .mq-settings-head .mq-lede { max-width:44rem; margin:0; }
.mq-shell[data-skin] .mq-settings-scroll { padding:2px 4px 10px; }
.mq-shell[data-skin] .mq-settings-list { gap:clamp(9px,1.1vh,13px); }
.mq-shell[data-skin] .mq-settings-row,
.mq-shell[data-skin] .mq-theme-panel { background:var(--mq-surface); border-color:var(--mq-border); box-shadow:var(--mq-shadow-soft); }
.mq-shell[data-skin] .mq-settings-copy strong,
.mq-shell[data-skin] .mq-theme-option strong { color:var(--mq-text); }
.mq-shell[data-skin] .mq-settings-copy small { color:var(--mq-text-secondary); font-size:max(.72rem,11px); }
.mq-shell[data-skin] .mq-volume-value { color:var(--mq-accent-strong); }
.mq-shell[data-skin] .mq-theme-option { background:var(--mq-surface-raised); color:var(--mq-text); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-switch { background:var(--mq-surface-soft); border:1px solid var(--mq-border); }
.mq-shell[data-skin] .mq-switch i { background:var(--mq-surface-raised); }
.mq-shell[data-skin] [aria-pressed="true"] .mq-switch { background:var(--mq-accent); }
.mq-shell[data-skin] .mq-range { color:var(--mq-accent); }
.mq-shell[data-skin] .mq-settings-foot { padding-top:3px; }
.mq-shell[data-skin] .mq-settings-foot>small { color:var(--mq-text-muted); }
.mq-shell[data-skin] .mq-settings-back { color:var(--mq-button-text); background:var(--mq-button-bg); box-shadow:var(--mq-shadow-soft); }
.mq-shell[data-skin] .mq-reset-button { color:var(--mq-error); background:color-mix(in srgb,var(--mq-error) 10%,var(--mq-surface)); border:1px solid color-mix(in srgb,var(--mq-error) 30%,var(--mq-border)); }

/* Boutique : séparation stable entre l'en-tête, le cadeau et les catalogues. */
.mq-shell[data-skin] .mq-view[data-view="boutique"] { gap:clamp(10px,1.4vh,16px); }
.mq-shell[data-skin] .mq-shop-scroll { padding:2px 4px 10px; }
.mq-shell[data-skin] .mq-shop-stack { display:grid; gap:clamp(14px,1.9vh,20px); align-content:start; }
.mq-shell[data-skin] .mq-shop-section { display:grid; gap:9px; }
.mq-shell[data-skin] .mq-section-eyebrow { margin:0; }
.mq-shell[data-skin] [data-gift] { border:1px solid var(--mq-border-active); background:linear-gradient(135deg,var(--mq-surface-raised),var(--mq-surface-selected)); }
.mq-shell[data-skin] .mq-opt { background:var(--mq-surface); border-color:var(--mq-border); }

/* Code promotionnel adapté aux six thèmes. */
.mq-shell[data-skin] .mq-promo-card { background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface-soft)); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-promo-icon { color:var(--mq-button-text); background:var(--mq-button-bg); border-color:var(--mq-surface-raised); }
.mq-shell[data-skin] .mq-promo-head h3,
.mq-shell[data-skin] .mq-promo-form>label,
.mq-shell[data-skin] .mq-promo-reward h3,
.mq-shell[data-skin] .mq-promo-reward>strong,
.mq-shell[data-skin] .mq-promo-reward small b { color:var(--mq-text); }
.mq-shell[data-skin] .mq-promo-head small,
.mq-shell[data-skin] .mq-promo-form>small,
.mq-shell[data-skin] .mq-promo-reward small { color:var(--mq-text-secondary); }
.mq-shell[data-skin] .mq-promo-entry input { color:var(--mq-text); background:var(--mq-surface-raised); border-color:var(--mq-border); caret-color:var(--mq-accent); }
.mq-shell[data-skin] .mq-promo-entry input::placeholder { color:var(--mq-text-muted); }
.mq-shell[data-skin] .mq-promo-entry input:focus { border-color:var(--mq-border-active); box-shadow:var(--mq-glow); }
.mq-shell[data-skin] .mq-promo-reward { background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface-soft)); border-color:var(--mq-border); }

/* Profil, Histoire, multijoueur et résultats. */
.mq-shell[data-skin] .mq-profile-identity-copy h2 { color:var(--mq-text); line-height:1.14; }
.mq-shell[data-skin] .mq-profile-identity-copy>p,
.mq-shell[data-skin] .mq-profile-metric small,
.mq-shell[data-skin] .mq-profile-panel p,
.mq-shell[data-skin] .mq-profile-panel dt { color:var(--mq-text-secondary); }
.mq-shell[data-skin] .mq-profile-edit { color:var(--mq-accent-strong); background:var(--mq-surface-soft); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-story-title,
.mq-shell[data-skin] .mq-profile-identity-copy h2 { white-space:normal; overflow:visible; text-overflow:clip; min-height:1.2em; }

.mq-shell[data-skin] :is(.mq-dob-field input,.mq-premium-field input,.mq-premium-field select,.mq-code-field input) { background:var(--mq-surface-raised); color:var(--mq-text); border-color:var(--mq-border); }
.mq-shell[data-skin] :is(.mq-dob-field input,.mq-premium-field input,.mq-premium-field select,.mq-code-field input):focus { border-color:var(--mq-border-active); box-shadow:var(--mq-glow); }
.mq-shell[data-skin] .mq-result-grid>div { background:var(--mq-surface-soft); }
.mq-shell[data-skin] .mq-result-grid small { color:var(--mq-text-secondary); }
.mq-shell[data-skin] .mq-result-grid strong,
.mq-shell[data-skin] .mq-personal-score strong,
.mq-shell[data-skin] .mq-personal-stats strong,
.mq-shell[data-skin] .mq-personal-trophies strong { color:var(--mq-accent-strong); }

/* Plateau, barre de partie, cartes et états. */
.mq-shell[data-skin] .mq-gamebar,
.mq-shell[data-skin] .mq-score-chip { color:var(--mq-text); }
.mq-shell[data-skin] .mq-score-chip { background:var(--mq-surface); border-color:var(--mq-border); box-shadow:var(--mq-shadow-soft); }
.mq-shell[data-skin] .mq-score-chip.is-turn { border-color:var(--mq-border-active); box-shadow:var(--mq-glow),var(--mq-shadow-soft); }
.mq-shell[data-skin] .mq-game-action { color:var(--mq-accent); background:var(--mq-surface); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-game-action svg { color:currentColor; filter:none; }
.mq-shell[data-skin] .mq-front { color:var(--mq-text-on-light); }
.mq-shell[data-skin] .mq-front .mq-card-name { color:var(--mq-text-on-light); background:rgba(255,255,255,.91); text-shadow:none; }
.mq-shell[data-skin] .mq-card.is-wrong .mq-face { border-color:var(--mq-error); }
.mq-shell[data-skin] .mq-card.is-done .mq-face { border-color:var(--mq-success); }
.mq-shell[data-skin] .mq-answer,
.mq-shell[data-skin] .mq-quiz-option,
.mq-shell[data-skin] .mq-vf-option { background:var(--mq-surface); color:var(--mq-text); border-color:var(--mq-border); }
.mq-shell[data-skin] .mq-answer.is-correct,
.mq-shell[data-skin] .mq-quiz-option.is-correct,
.mq-shell[data-skin] .mq-vf-option.is-correct { border-color:var(--mq-success); background:color-mix(in srgb,var(--mq-success) 12%,var(--mq-surface)); }
.mq-shell[data-skin] .mq-answer.is-wrong,
.mq-shell[data-skin] .mq-quiz-option.is-wrong,
.mq-shell[data-skin] .mq-vf-option.is-wrong { border-color:var(--mq-error); background:color-mix(in srgb,var(--mq-error) 10%,var(--mq-surface)); }

/* Modales et panneau Astuces/Paramètres en partie. */
.mq-shell[data-skin] :is(.mq-sheet,.mq-game-sheet,.mq-privacy-panel,.mq-tips-card) { color:var(--mq-text); background:var(--mq-surface); border:1px solid var(--mq-border); }
.mq-shell[data-skin] :is(.mq-sheet,.mq-game-sheet,.mq-privacy-panel,.mq-tips-card) :is(h2,h3,strong) { color:var(--mq-text); }
.mq-shell[data-skin] :is(.mq-sheet,.mq-game-sheet,.mq-privacy-panel,.mq-tips-card) :is(p,small) { color:var(--mq-text-secondary); }
.mq-shell[data-skin] .mq-sheet-actions { display:grid; gap:8px; }

/* Responsive et petites hauteurs. */
@media (max-width:500px) {
  .mq-shell[data-skin] { font-size:clamp(13px,3.35vw,16px); }
  .mq-shell[data-skin] .mq-title { letter-spacing:-.025em; }
  .mq-shell[data-skin] .mq-settings-row { min-height:64px; }
  .mq-shell[data-skin] .mq-settings-copy strong { font-size:clamp(.94rem,3.75vw,1.14rem); }
  .mq-shell[data-skin] .mq-settings-copy small { font-size:clamp(.72rem,2.7vw,.84rem); }
  .mq-shell[data-skin] .mq-online-choice small,
  .mq-shell[data-skin] .mq-online-resume small { font-size:clamp(.72rem,2.75vw,.86rem); }
}
@media (max-height:720px) {
  .mq-shell[data-skin] .mq-screen-head,
  .mq-shell[data-skin] .mq-settings-head { padding-top:4px; gap:2px; }
  .mq-shell[data-skin] .mq-settings-list,
  .mq-shell[data-skin] .mq-shop-stack { gap:8px; }
  .mq-shell[data-skin] .mq-settings-row { min-height:58px; padding-block:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin] *, .mq-shell[data-skin] *::before, .mq-shell[data-skin] *::after { scroll-behavior:auto!important; }
}
/* =========================================================================
   MEMOQUEST 6.26.0 — FINITIONS QA VISUELLE
   Résultats, textes compacts, contrôles tactiles et longues dénominations.
   ========================================================================= */
.mq-shell[data-skin] .mq-sheet-title { font-size:clamp(1.12rem,4.4vw,1.3rem); }
.mq-shell[data-skin] .mq-mission-tete strong { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.22; }

.mq-shell[data-skin] :is(.mq-profile-edit,.mq-reset-button,.mq-chip,.mq-icon-btn,.mq-game-action) { min-width:40px; min-height:40px; }
.mq-shell[data-skin] .mq-range { min-height:28px; touch-action:pan-x; }

/* Résultats : même système de surface et de texte que le thème actif. */
.mq-shell[data-skin] .mq-final-result-page { color:var(--mq-text); }

.mq-shell[data-skin] .mq-final-home { color:var(--mq-text)!important; background:var(--mq-surface-raised)!important; border-color:var(--mq-border)!important; }
.mq-shell[data-skin] .mq-final-replay { color:var(--mq-button-text)!important; background:var(--mq-button-bg)!important; border-color:transparent!important; box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft)!important; }

/* Les formulaires et mentions en ligne héritent du thème, jamais du bleu Lagon. */
.mq-shell[data-skin] :is(.mq-privacy-check,.mq-quick-rule,.mq-competitive-copy p,.mq-competitive-copy>span,
  .mq-match-progress span,.mq-rematch-status,.mq-online-form-note) { color:var(--mq-text-secondary); }
.mq-shell[data-skin] :is(.mq-competitive-copy>strong,.mq-trophy-result>div:nth-child(2) strong,
  .mq-trophy-result>div:nth-child(2) p b,.mq-rematch-status strong,.mq-room-code strong) { color:var(--mq-text); }


/* Phase 1 v148 — résultat/revanche : le bandeau de statut doit utiliser la
   surface et les textes du thème actif, y compris Nuit. */
.mq-shell[data-skin] .mq-rematch-status {
  background:linear-gradient(145deg,var(--mq-online-panel-strong),var(--mq-online-panel)) !important;
  border-color:var(--mq-online-stroke) !important;
  box-shadow:var(--mq-shadow-soft) !important;
  color:var(--mq-online-sub) !important;
}
.mq-shell[data-skin] .mq-rematch-status strong { color:var(--mq-online-title) !important; }
.mq-shell[data-skin] .mq-rematch-status small { color:var(--mq-online-sub) !important; }
.mq-shell[data-skin] .mq-rematch-status > span {
  background:var(--mq-button-bg) !important;
  color:var(--mq-button-text) !important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--mq-online-accent) 24%,transparent) !important;
}

/* En-têtes posés directement sur le décor : couleur distincte des surfaces. */
.mq-shell[data-skin] {
  --mq-screen-text:var(--mq-text);
  --mq-screen-secondary:var(--mq-text-secondary);
  --mq-screen-accent:var(--mq-accent);
}
.mq-shell[data-skin="jade"] { --mq-screen-text:#123c4f; --mq-screen-secondary:#365f70; --mq-screen-accent:#087f8c; }
.mq-shell[data-skin="ocean"] { --mq-screen-text:#082f49; --mq-screen-secondary:#214e62; --mq-screen-accent:#05596f; }
.mq-shell[data-skin="grenat"] { --mq-screen-text:#fff5ed; --mq-screen-secondary:#f0d5ce; --mq-screen-accent:#efbd82; }
.mq-shell[data-skin="ardoise"] { --mq-screen-text:#f1f6f8; --mq-screen-secondary:#c8d5da; --mq-screen-accent:#65d6df; }
.mq-shell[data-skin="ambre"] { --mq-screen-text:#4a2b12; --mq-screen-secondary:#68472d; --mq-screen-accent:#7c3505; }
.mq-shell[data-skin="nuit"] { --mq-screen-text:#f5f7ff; --mq-screen-secondary:#c9d1e8; --mq-screen-accent:#80d7ff; }
.mq-shell[data-skin] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-title { color:var(--mq-screen-text); }
.mq-shell[data-skin] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-lede { color:var(--mq-screen-secondary); }
.mq-shell[data-skin] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-eyebrow { color:var(--mq-screen-accent); }
.mq-shell[data-skin] .mq-shop-head { flex:0 0 auto; min-height:clamp(82px,10.8vh,102px); padding-bottom:10px; }
.mq-shell[data-skin] .mq-shop-head .mq-lede { padding-bottom:2px; }
@media (max-height:720px) {
  .mq-shell[data-skin] .mq-shop-head { min-height:72px; padding-bottom:6px; }
}

/* ------------------------------------------------------------------
   MemoQuest 6.26.9 — réactions premium : quota 5 + cooldown 3:30
   ------------------------------------------------------------------ */
.mq-game-action.is-reaction svg{width:20px;height:20px}
.mq-game-action.is-reaction{position:relative;background:linear-gradient(145deg,var(--mq-surface,#fff),color-mix(in srgb,var(--mq-accent,#38c4a4) 18%,var(--mq-surface,#fff)));border-color:color-mix(in srgb,var(--mq-accent,#38c4a4) 38%,transparent);box-shadow:0 8px 20px rgba(12,45,39,.13)}
.mq-game-action.is-reaction.is-cooldown::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;right:4px;top:4px;background:#ffb74d;box-shadow:0 0 0 3px color-mix(in srgb,#ffb74d 20%,transparent)}

.mq-game-popover-layer{position:absolute;inset:0;z-index:42;pointer-events:auto;background:transparent}
.mq-game-popover{position:absolute;width:min(296px,calc(100% - 20px));padding:9px;border-radius:19px;background:color-mix(in srgb,var(--mq-surface,#fff) 96%,transparent);color:var(--mq-text,#173c35);border:1px solid color-mix(in srgb,var(--mq-border,rgba(76,117,108,.18)) 86%,transparent);box-shadow:0 18px 42px rgba(8,28,24,.24),inset 0 1px 0 rgba(255,255,255,.35);transform:translateY(-4px) scale(.97);transform-origin:50% 0;opacity:0;transition:transform .16s cubic-bezier(.2,.85,.2,1),opacity .14s ease}
.mq-game-popover.is-above{transform:translateY(4px) scale(.97);transform-origin:50% 100%}
.mq-game-popover-layer.is-open .mq-game-popover{transform:translateY(0) scale(1);opacity:1}
.mq-reaction-popover{display:grid;gap:7px}
.mq-reaction-popover-head{min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px}
.mq-reaction-popover-head strong{font-size:.9rem;letter-spacing:.01em;color:var(--mq-text,#173c35);white-space:nowrap}
.mq-reaction-quota{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.mq-reaction-quota-label{font-size:.62rem;font-weight:850;line-height:1;white-space:nowrap;color:var(--mq-text-secondary,#607973)}
.mq-reaction-quota-dots{display:flex;gap:3px}
.mq-reaction-quota-dots i{width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--mq-text-secondary,#607973) 18%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mq-border,#80958f) 50%,transparent)}
.mq-reaction-quota-dots i.is-on{background:var(--mq-accent,#38c4a4);box-shadow:0 0 0 2px color-mix(in srgb,var(--mq-accent,#38c4a4) 13%,transparent)}

.mq-reaction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mq-reaction-tile{min-width:0;height:68px;padding:5px 2px 5px;border:1px solid color-mix(in srgb,var(--mq-border,rgba(76,117,108,.18)) 90%,transparent);border-radius:15px;background:color-mix(in srgb,var(--mq-surface,#fff) 91%,var(--mq-accent,#38c4a4) 9%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;box-shadow:0 5px 14px rgba(12,44,38,.07);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease}
.mq-reaction-tile:hover,.mq-reaction-tile:focus-visible{transform:translateY(-2px) scale(1.02);border-color:color-mix(in srgb,var(--mq-accent,#38c4a4) 48%,transparent);box-shadow:0 9px 18px rgba(12,44,38,.13)}
.mq-reaction-tile:active{transform:scale(.96)}
.mq-reaction-tile.is-sending{opacity:.62}
.mq-reaction-tile.is-cooldown,.mq-reaction-tile:disabled{opacity:.42;filter:saturate(.55);transform:none;cursor:not-allowed}
.mq-reaction-tile strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-align:center;font-size:.58rem;line-height:1.03;font-weight:850;color:var(--mq-text,#173c35)}
.mq-reaction-art{width:40px;height:40px;display:grid;place-items:center;filter:drop-shadow(0 5px 7px rgba(21,35,32,.12))}
.mq-reaction-glyph{display:block;width:100%;height:100%;line-height:1;transform-origin:50% 58%;will-change:transform,filter}
.mq-reaction-glyph img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 3px 4px rgba(25,38,34,.12))}
.mq-reaction-tile:hover .mq-reaction-laugh,.mq-reaction-bubble .mq-reaction-laugh{animation:mqEmojiLaugh .58s ease-in-out infinite}
.mq-reaction-tile:hover .mq-reaction-clap,.mq-reaction-bubble .mq-reaction-clap{animation:mqEmojiClap .5s ease-in-out infinite}
.mq-reaction-tile:hover .mq-reaction-wow,.mq-reaction-bubble .mq-reaction-wow{animation:mqEmojiWow .72s cubic-bezier(.2,.8,.2,1) infinite}
.mq-reaction-tile:hover .mq-reaction-fire,.mq-reaction-bubble .mq-reaction-fire{animation:mqEmojiFire .46s ease-in-out infinite alternate}
.mq-reaction-tile:hover .mq-reaction-luck,.mq-reaction-bubble .mq-reaction-luck{animation:mqEmojiLuck .72s ease-in-out infinite}
.mq-reaction-tile:hover .mq-reaction-gg,.mq-reaction-bubble .mq-reaction-gg{animation:mqEmojiGG .9s ease-in-out infinite}
.mq-reaction-tile:hover .mq-reaction-oops,.mq-reaction-bubble .mq-reaction-oops{animation:mqEmojiOops .8s ease-in-out infinite}
.mq-reaction-tile:hover .mq-reaction-star,.mq-reaction-bubble .mq-reaction-star{animation:mqEmojiStar .72s ease-in-out infinite}

.mq-reaction-visibility{height:32px;width:100%;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 10px;border-radius:12px;border:0;background:color-mix(in srgb,var(--mq-text,#173c35) 6%,transparent);color:var(--mq-text-secondary,#607973);font-weight:800}
.mq-reaction-visibility svg{width:16px;height:16px}.mq-reaction-visibility span{font-size:.64rem;line-height:1}

/* La réaction remplace temporairement le contenu du HUD, sans modifier sa
   géométrie : les cartes et la destination des gains restent immobiles. */
.mq-board-bottom{position:relative}
.mq-board-bottom>.mq-game-progress,.mq-board-bottom>.mq-gamebar,.mq-board-bottom>.mq-impact-bar{transition:opacity .2s ease,transform .28s cubic-bezier(.22,.85,.25,1),visibility 0s linear 0s}
.mq-board-bottom.is-showing-reaction>.mq-game-progress,.mq-board-bottom.is-showing-reaction>.mq-gamebar,.mq-board-bottom.is-showing-reaction>.mq-impact-bar{opacity:0;transform:translateY(10px) scale(.97);visibility:hidden;transition-delay:0s,0s,.2s;pointer-events:none}
.mq-reaction-burst{position:absolute;inset:2px 3px max(1px,env(safe-area-inset-bottom));z-index:10;display:grid;align-items:center;pointer-events:none;opacity:0;transform:translateY(-10px) scale(.95);animation:mqReactionIn .34s cubic-bezier(.18,.92,.24,1.15) forwards}
.mq-reaction-burst.is-leaving{animation:mqReactionOut .28s ease forwards}
.mq-reaction-bubble{position:relative;width:100%;height:100%;min-height:58px;display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:9px;padding:3px 46px 3px 7px;border-radius:19px;background:linear-gradient(105deg,color-mix(in srgb,var(--mq-surface,#fff) 88%,var(--mq-accent,#38c4a4) 12%),color-mix(in srgb,var(--mq-surface,#fff) 94%,#ffd76b 6%));border:1px solid color-mix(in srgb,var(--mq-accent,#38c4a4) 28%,var(--mq-border,transparent));box-shadow:0 8px 20px rgba(7,28,24,.16),inset 0 1px 0 rgba(255,255,255,.5);overflow:hidden}
.mq-reaction-bubble::after{content:"✓";position:absolute;right:10px;top:50%;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--mq-accent,#38c4a4) 12%,transparent);color:var(--mq-accent,#38c4a4);font-size:.78rem;font-weight:950;transform:translateY(-50%) scale(0);animation:mqReactionCheck .36s .18s cubic-bezier(.2,.9,.2,1.25) forwards}
.mq-reaction-bubble-art{width:61px;height:61px;display:grid;place-items:center;flex:0 0 auto;filter:drop-shadow(0 6px 8px rgba(21,35,32,.15))}
.mq-reaction-bubble .mq-reaction-glyph{width:58px;height:58px;animation:mqReactionEmoji .48s cubic-bezier(.18,.9,.25,1.22) both}
.mq-reaction-bubble-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
.mq-reaction-bubble b{font-size:clamp(1rem,4.5vmin,1.35rem);line-height:1;font-weight:950;letter-spacing:-.035em;color:var(--mq-text,#173c35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-reaction-bubble small{font-size:.52rem;line-height:1;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:var(--mq-accent,#38c4a4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-reaction-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--mq-accent,#38c4a4);opacity:.85;animation:mqSpark .9s ease-out infinite}
.mq-reaction-spark.s1{left:7px;top:6px;animation-delay:.03s}.mq-reaction-spark.s2{right:8px;top:5px;animation-delay:.25s}

@keyframes mqEmojiLaugh{0%,100%{transform:rotate(0) translateY(0)}25%{transform:rotate(-7deg) translateY(-2px)}50%{transform:rotate(7deg) translateY(1px)}75%{transform:rotate(-4deg) translateY(-1px)}}
@keyframes mqEmojiClap{0%,100%{transform:scale(1) rotate(0)}45%{transform:scale(1.16) rotate(-6deg)}60%{transform:scale(.94) rotate(5deg)}}
@keyframes mqEmojiWow{0%,100%{transform:scale(1)}42%{transform:scale(1.18)}60%{transform:scale(.96)}}
@keyframes mqEmojiFire{from{transform:translateY(1px) scale(.96) rotate(-2deg);filter:saturate(1)}to{transform:translateY(-3px) scale(1.08) rotate(2deg);filter:saturate(1.18)}}
@keyframes mqEmojiLuck{0%,100%{transform:rotate(0) translateY(0)}30%{transform:rotate(-9deg) translateY(-2px)}60%{transform:rotate(7deg) translateY(0)}}
@keyframes mqEmojiGG{0%,100%{transform:translateX(0) rotate(0)}40%{transform:translateX(2px) rotate(3deg)}70%{transform:translateX(-1px) rotate(-2deg)}}
@keyframes mqEmojiOops{0%,100%{transform:rotate(0) translateY(0)}45%{transform:rotate(-7deg) translateY(1px)}65%{transform:rotate(4deg) translateY(-1px)}}
@keyframes mqEmojiStar{0%,100%{transform:scale(1) rotate(0)}40%{transform:scale(1.13) rotate(-4deg);filter:brightness(1.04)}70%{transform:scale(.97) rotate(4deg)}}
@keyframes mqReactionIn{from{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mqReactionOut{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.96)}}
@keyframes mqReactionEmoji{0%{opacity:0;transform:translateY(7px) scale(.62) rotate(-8deg)}65%{opacity:1;transform:translateY(-1px) scale(1.1) rotate(3deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes mqReactionCheck{to{transform:translateY(-50%) scale(1)}}
@keyframes mqSpark{0%{opacity:0;transform:scale(.4)}35%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:translateY(-8px) scale(.2)}}
[data-motion="calme"] .mq-reaction-glyph,[data-motion="calme"] .mq-reaction-burst,[data-motion="calme"] .mq-reaction-spark,[data-motion="calme"] .mq-reaction-bubble::after{animation:none!important}
[data-motion="calme"] .mq-reaction-burst{opacity:1;transform:none}
[data-motion="calme"] .mq-reaction-bubble::after{transform:translateY(-50%) scale(1)}
@media(prefers-reduced-motion:reduce){.mq-reaction-burst{opacity:1;transform:none;animation:none!important}.mq-reaction-bubble::after{transform:translateY(-50%) scale(1);animation:none!important}}
@media(max-width:390px){
 .mq-game-popover{width:min(286px,calc(100% - 14px));padding:8px;border-radius:18px}
 .mq-reaction-grid{gap:5px}.mq-reaction-tile{height:65px;border-radius:13px}.mq-reaction-art{width:38px;height:38px}.mq-reaction-glyph{font-size:31px}.mq-reaction-tile strong{font-size:.56rem}.mq-reaction-visibility{height:31px}
 .mq-reaction-quota-label{font-size:.58rem}.mq-reaction-quota-dots{gap:2px}.mq-reaction-quota-dots i{width:4px;height:4px}
 .mq-reaction-burst{inset:1px 0}.mq-reaction-bubble{grid-template-columns:56px minmax(0,1fr);padding:2px 37px 2px 5px}.mq-reaction-bubble-art{width:54px;height:54px}.mq-reaction-bubble .mq-reaction-glyph{width:51px;height:51px}.mq-reaction-bubble::after{right:7px;width:23px;height:23px}
}

@keyframes mqHomeCardLeftIn{0%{opacity:0;transform:translate(-155%,-150%) rotate(-27deg) scale(.72)}68%{opacity:1;transform:translate(-92%,-50%) rotate(-10deg) scale(1.035)}100%{opacity:1;transform:translate(-91%,-49%) rotate(-8.5deg) scale(1)}}
@keyframes mqHomeCardRightIn{0%{opacity:0;transform:translate(55%,-150%) rotate(27deg) scale(.72)}68%{opacity:1;transform:translate(-8%,-50%) rotate(10deg) scale(1.035)}100%{opacity:1;transform:translate(-9%,-49%) rotate(8.5deg) scale(1)}}
@keyframes mqHomeCardCenterIn{0%{opacity:0;transform:translate(-50%,-55%) scale(.42);filter:blur(1.2px)}58%{opacity:1;transform:translate(-50%,-50%) scale(1.07);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-49%) scale(1)}}
@keyframes mqHomeCardLeftIdle{from{transform:translate(-91%,-49%) rotate(-8.5deg)}to{transform:translate(-91%,-52%) rotate(-7.6deg)}}
@keyframes mqHomeCardRightIdle{from{transform:translate(-9%,-49%) rotate(8.5deg)}to{transform:translate(-9%,-52%) rotate(7.6deg)}}
@keyframes mqHomeCardCenterIdle{from{transform:translate(-50%,-49%) scale(1)}to{transform:translate(-50%,-52%) scale(1.012)}}
@keyframes mqHomeWordIn{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-height:760px){
  
  
}
@media(max-height:660px){
  
  
}
@media(prefers-reduced-motion:reduce){
  
  
  
  
}

/* =========================================================================
   MemoQuest 6.26.9 — Phase 2 : cibles tactiles et bandeau étroit
   Corrections additives limitées afin de préserver les géométries du jeu.
   ========================================================================= */
.mq-icon-btn,
.mq-game-action,
.mq-reaction-launch,
.mq-settings-close,
.mq-panel-close {
    min-width: 44px;
    min-height: 44px;
}
.mq-game-action { width:44px; height:44px; flex-basis:44px; }

@media (max-width: 370px) {
    .mq-shell[data-screen="miseEnPlace"] .mq-top {
        min-height: 58px;
        padding-inline: 8px;
        gap: 4px;
        border-radius: 22px;
    }
    .mq-shell[data-screen="miseEnPlace"] .mq-avatar {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
    }
    .mq-shell[data-screen="miseEnPlace"] .mq-profil-info { display:none; }
    .mq-shell[data-screen="miseEnPlace"] .mq-chip { gap:3px; margin-left:auto; }
    .mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-coin { width:32px; height:32px; }
    .mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-plus { width:32px; height:32px; }
    .mq-shell[data-screen="miseEnPlace"] .mq-icon-btn {
        width:44px;
        height:44px;
        flex:0 0 44px;
    }
}
@media (max-width: 330px) {
    .mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-plus { display:none; }
    .mq-shell[data-screen="miseEnPlace"] .mq-chip .mq-coin { width:28px; height:28px; }
    .mq-shell[data-screen="miseEnPlace"] .mq-chip { padding-inline:5px; }
    .mq-shell[data-screen="miseEnPlace"] .mq-top { gap:3px; padding-inline:6px; }
}

/* =========================================================================
   MemoQuest 6.27.6 — Design system ciblé : wordmark, univers, thèmes,
   légendes de cartes. Ce bloc est la couche canonique de ces composants.
   ========================================================================= */

/* Wordmark : une paire de couleurs explicitement définie pour chaque thème. */
.mq-shell[data-skin="jade"] {
  --mq-wordmark-memo:#078d9b;
  --mq-wordmark-quest:#123f69;
  --mq-wordmark-shadow:0 1px 0 rgba(255,255,255,.30),0 3px 9px rgba(18,63,105,.12);
}
.mq-shell[data-skin="ocean"] {
  --mq-wordmark-memo:#057d98;
  --mq-wordmark-quest:#083f66;
  --mq-wordmark-shadow:0 1px 0 rgba(255,255,255,.28),0 3px 9px rgba(4,55,91,.14);
}
.mq-shell[data-skin="ardoise"] {
  --mq-wordmark-memo:#69e1e9;
  --mq-wordmark-quest:#f5f9fb;
  --mq-wordmark-shadow:0 2px 10px rgba(0,0,0,.42),0 0 14px rgba(105,225,233,.10);
}
.mq-shell[data-skin="grenat"] {
  --mq-wordmark-memo:#ffc0cb;
  --mq-wordmark-quest:#fff6f1;
  --mq-wordmark-shadow:0 2px 10px rgba(47,7,17,.42),0 0 13px rgba(255,192,203,.10);
}
.mq-shell[data-skin="ambre"] {
  --mq-wordmark-memo:#9b430a;
  --mq-wordmark-quest:#4d2b10;
  --mq-wordmark-shadow:0 1px 0 rgba(255,255,255,.24),0 3px 9px rgba(98,44,8,.12);
}
.mq-shell[data-skin="nuit"] {
  --mq-wordmark-memo:#82ddff;
  --mq-wordmark-quest:#f5f7ff;
  --mq-wordmark-shadow:0 2px 11px rgba(0,0,0,.50),0 0 16px rgba(128,215,255,.12);
}

/* Les mêmes nouveaux visuels horizontaux sont aussi utilisés dans la boutique. */
.mq-view[data-view="boutique"] .mq-opt figure {
  height:clamp(58px,13.5vw,82px);
  padding:0;
  border-radius:clamp(13px,3.3vw,18px);
  background:var(--mq-surface-soft,#dcecf7);
}
.mq-view[data-view="boutique"] .mq-opt figure img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

/* Boutique et Paramètres partagent désormais le même composant visuel de thème,
   la même image, le même ordre et le même état Actif/Utiliser/Prix. */
.mq-theme-grid-unified {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(7px,2vw,10px);
}
.mq-theme-unified {
  min-height:0;
  padding:5px 5px 7px;
  gap:5px;
}
.mq-theme-unified .mq-theme-image {
  width:100%;
  aspect-ratio:16/10;
  border-radius:clamp(9px,2.3vw,13px);
}
.mq-theme-unified .mq-theme-copy {
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
}
.mq-theme-unified .mq-theme-copy strong {
  max-width:100%;
  font-size:clamp(.68rem,2.8vw,.86rem);
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mq-theme-unified .mq-theme-copy small {
  max-width:100%;
  min-height:1.15em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  font-size:clamp(.55rem,2.25vw,.72rem);
  line-height:1.08;
  font-weight:850;
  white-space:nowrap;
  color:var(--mq-text-secondary,#55719c);
}
.mq-theme-unified .mq-theme-copy small svg {
  width:11px;
  height:11px;
}
.mq-theme-unified .mq-theme-copy small.is-active { color:var(--mq-success,#15956f); }
.mq-theme-unified .mq-theme-copy small.is-locked { color:var(--mq-warning,#8b6200); }
.mq-view[data-view="boutique"] .mq-shop-theme-option {
  background:var(--mq-surface-raised);
  border-color:var(--mq-border);
  box-shadow:var(--mq-shadow-soft);
}

/* Libellés des cartes : aucun fond blanc, une seule ligne, taille ajustée
   dynamiquement par fitCardNames() quand le plateau devient très dense. */
.mq-shell[data-skin] .mq-board .mq-front > .mq-card-name,
.mq-shell[data-skin] .mq-board[data-category="animaux"] .mq-front > .mq-card-name,
.mq-card-preview-surface > .mq-card-name {
  left:4%;
  right:4%;
  bottom:3.5%;
  min-height:0;
  max-height:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent !important;
  box-shadow:none;
  color:#fff !important;
  font-family:"Arial Narrow","Roboto Condensed","Segoe UI",system-ui,sans-serif;
  font-size:clamp(5.2px,1.20vmin,10px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.025em;
  white-space:nowrap !important;
  overflow:visible;
  overflow-wrap:normal;
  word-break:normal;
  text-overflow:clip;
  text-shadow:0 1px 2px rgba(0,0,0,.94),0 0 4px rgba(0,0,0,.58);
}
.mq-shell[data-skin] .mq-board .mq-card-name.is-long,
.mq-card-preview-surface .mq-card-name.is-long {
  font-size:clamp(4.6px,1.02vmin,8.7px);
  letter-spacing:-.035em;
}
.mq-shell[data-skin] .mq-board .mq-card-name.is-very-long,
.mq-card-preview-surface .mq-card-name.is-very-long {
  font-size:clamp(4px,.90vmin,7.6px);
  letter-spacing:-.045em;
}

/* Sur très faible hauteur, l'icône peut disparaître du panneau d'information
   mais jamais recouvrir l'image : priorité au contenu et au toucher. */
@media (max-width:480px), (max-height:700px) {
  .mq-view[data-view="miseEnPlace"] .mq-category-card {
    grid-template-rows:minmax(0,1fr) minmax(30px,27%);
  }
  .mq-view[data-view="miseEnPlace"] .mq-category-info { padding:3px 4px; }
  .mq-view[data-view="miseEnPlace"] .mq-category-medallion { display:none; }
  .mq-view[data-view="miseEnPlace"] .mq-category-title-row strong { max-width:100%;font-size:.66rem; }
  .mq-view[data-view="miseEnPlace"] .mq-category-info small { font-size:.56rem; }
}

/* =========================================================================
   MEMOQUEST 6.27.6 — ACTIVITÉS PREMIUM + QUI SUIS-JE ?
   Source de vérité unique pour Quiz et Vrai/Faux.
   Une seule surface modale, couleurs sémantiques, états accessibles et
   animations bornées. Aucun décor du thème n'est dupliqué dans la fenêtre.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-activity-overlay: color-mix(in srgb,var(--mq-bg) 54%,rgba(5,16,28,.42));
  --mq-activity-surface: var(--mq-surface);
  --mq-activity-soft: var(--mq-surface-soft);
  --mq-activity-border: var(--mq-border);
  --mq-activity-accent: var(--mq-accent);
  --mq-activity-accent-soft: color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface));
  --mq-activity-shadow: 0 24px 58px color-mix(in srgb,var(--mq-bg) 30%,rgba(0,0,0,.24));
  --mq-vf-true:#238a49;
  --mq-vf-true-soft:#e9f8ee;
  --mq-vf-true-text:#0f5f2d;
  --mq-vf-false:#d84552;
  --mq-vf-false-soft:#fff0f1;
  --mq-vf-false-text:#a22431;
}
.mq-shell[data-skin="ocean"] {
  --mq-activity-accent:#087c9b; --mq-activity-accent-soft:#e3f5f8;
  --mq-vf-true:#1f8247; --mq-vf-true-soft:#e8f7ed; --mq-vf-true-text:#115c31;
  --mq-vf-false:#cc4050; --mq-vf-false-soft:#fff0f2; --mq-vf-false-text:#9d2837;
}
.mq-shell[data-skin="grenat"] {
  --mq-activity-accent:#8c2040; --mq-activity-accent-soft:#f8e9eb;
  --mq-vf-true:#347a46; --mq-vf-true-soft:#edf7ef; --mq-vf-true-text:#245f34;
  --mq-vf-false:#b7253b; --mq-vf-false-soft:#fcebed; --mq-vf-false-text:#8f182c;
}
.mq-shell[data-skin="ambre"] {
  --mq-activity-accent:#934309; --mq-activity-accent-soft:#f8ead7;
  --mq-vf-true:#397c43; --mq-vf-true-soft:#edf7ee; --mq-vf-true-text:#285f31;
  --mq-vf-false:#b7353e; --mq-vf-false-soft:#fceded; --mq-vf-false-text:#92252e;
}
.mq-shell[data-skin="ardoise"] {
  --mq-activity-overlay:rgba(4,10,14,.70); --mq-activity-surface:#1b2930; --mq-activity-soft:#24353d;
  --mq-activity-border:#48606a; --mq-activity-accent:#65d6df; --mq-activity-accent-soft:#243d43;
  --mq-activity-shadow:0 26px 64px rgba(0,0,0,.46);
  --mq-vf-true:#68d58a; --mq-vf-true-soft:#19392a; --mq-vf-true-text:#dcffe8;
  --mq-vf-false:#ff8192; --mq-vf-false-soft:#44232a; --mq-vf-false-text:#fff0f3;
}
.mq-shell[data-skin="nuit"] {
  --mq-activity-overlay:rgba(2,6,16,.76); --mq-activity-surface:#131d34; --mq-activity-soft:#1b2844;
  --mq-activity-border:#415176; --mq-activity-accent:#80d7ff; --mq-activity-accent-soft:#1c3350;
  --mq-activity-shadow:0 28px 68px rgba(0,0,0,.52);
  --mq-vf-true:#72db94; --mq-vf-true-soft:#16352a; --mq-vf-true-text:#e4ffec;
  --mq-vf-false:#ff8798; --mq-vf-false-soft:#40232e; --mq-vf-false-text:#fff0f4;
}

.mq-shell[data-skin] .mq-activity-layer {
  background:var(--mq-activity-overlay);
  /* Hotfix 6.27.6 : pas de backdrop-filter sur le panneau pédagogique.
     Dans Android WebView, le flou oblige le GPU à re-rastériser le plateau animé
     pendant l'ouverture et peut produire un bref scintillement / frame drop. */
  backdrop-filter:none; -webkit-backdrop-filter:none;
  animation:none;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
}
.mq-shell[data-skin] .mq-activity-sheet {
  width:min(500px,100%); max-height:min(700px,100%);
  gap:clamp(10px,1.5vh,14px); padding:clamp(15px,2.4vmin,22px);
  border:1px solid var(--mq-activity-border); border-radius:clamp(20px,4vmin,30px);
  background:var(--mq-activity-surface); color:var(--mq-text);
  box-shadow:var(--mq-activity-shadow);
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  contain:paint; will-change:transform,opacity;
  animation:mq-activity-enter .22s cubic-bezier(.2,.82,.2,1) both;
}
.mq-shell[data-skin] .mq-activity-sheet > div:first-child {
  padding-bottom:10px; border-bottom:1px solid var(--mq-activity-border);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-sheet-head { gap:10px; }
.mq-shell[data-skin] .mq-activity-sheet .mq-sheet-thumb {
  width:54px; height:54px; padding:6px; border-radius:16px;
  background:var(--mq-activity-accent-soft); color:var(--mq-activity-accent);
  border:1px solid color-mix(in srgb,var(--mq-activity-accent) 26%,var(--mq-activity-border));
  box-shadow:none;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-eyebrow {
  margin:0 0 2px; color:var(--mq-activity-accent); font-size:clamp(.68rem,2.6vw,.78rem);
  letter-spacing:.08em; text-transform:uppercase; font-weight:900;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-sheet-title {
  margin:0; color:var(--mq-text); font-size:clamp(1.08rem,4.4vw,1.4rem); line-height:1.08;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-sheet-body { gap:clamp(10px,1.5vh,14px); overflow-x:hidden; }
.mq-online-challenge-timer {
  width:min(100%,420px); margin-inline:auto; padding:7px 9px 6px;
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 10px;
  border:1px solid color-mix(in srgb,var(--mq-activity-accent) 32%,var(--mq-activity-border)); border-radius:14px;
  background:color-mix(in srgb,var(--mq-activity-accent-soft) 72%,var(--mq-activity-surface)); color:var(--mq-text);
  transition:border-color .2s ease,background .2s ease,color .2s ease;
}
.mq-online-challenge-timer > span { min-width:0; display:flex; align-items:center; gap:6px; font-size:.72rem; font-weight:850; }
.mq-online-challenge-timer > span svg { width:16px; height:16px; flex:0 0 16px; color:var(--mq-activity-accent); }
.mq-online-challenge-timer > strong { min-width:42px; text-align:right; color:var(--mq-activity-accent); font-size:.86rem; font-weight:950; font-variant-numeric:tabular-nums; }
.mq-online-challenge-timer > i { grid-column:1 / -1; height:3px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--mq-activity-border) 62%,transparent); }
.mq-online-challenge-timer > i > u { display:block; width:100%; height:100%; border-radius:inherit; background:var(--mq-activity-accent); transform:scaleX(var(--mq-challenge-scale,1)); transform-origin:left center; transition:transform 1s linear,background .2s ease; will-change:transform; }
.mq-online-challenge-timer.is-urgent { border-color:color-mix(in srgb,#d84552 62%,var(--mq-activity-border)); background:color-mix(in srgb,#fff0f1 52%,var(--mq-activity-surface)); }
.mq-online-challenge-timer.is-urgent > strong,.mq-online-challenge-timer.is-expired > strong { color:#c52f3d; }
.mq-online-challenge-timer.is-urgent > i > u,.mq-online-challenge-timer.is-expired > i > u { background:#d84552; }
.mq-online-challenge-timer.is-expired > span b::after { content:" · temps écoulé"; }
.mq-shell[data-skin] .mq-question-card {
  padding:clamp(13px,3.4vw,18px); border-radius:18px;
  background:var(--mq-activity-soft); border:1px solid var(--mq-activity-border);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-question {
  margin:0; color:var(--mq-text); font-size:clamp(.98rem,3.8vw,1.16rem); line-height:1.34;
  letter-spacing:-.012em; font-weight:850; text-align:center; overflow-wrap:normal; word-break:normal;
}

.mq-shell[data-skin] .mq-activity-sheet .mq-answers { gap:9px; }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer {
  min-height:52px; margin:0; padding:10px 12px; gap:10px;
  border:1.5px solid var(--mq-activity-border); border-radius:16px;
  background:var(--mq-surface-raised); color:var(--mq-text); box-shadow:none;
  font-size:clamp(.82rem,3.15vw,.98rem); font-weight:800; line-height:1.22;
  transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease;
  touch-action:manipulation;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer:not(:disabled):hover {
  border-color:var(--mq-border-active); background:var(--mq-activity-accent-soft);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer:not(:disabled):active { transform:scale(.985); }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer:focus-visible { outline:3px solid color-mix(in srgb,var(--mq-activity-accent) 34%,transparent); outline-offset:2px; }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer:disabled { cursor:default; }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer b {
  width:32px; height:32px; border-radius:11px; flex:0 0 32px;
  background:var(--mq-activity-accent-soft); color:var(--mq-activity-accent);
  border:1px solid color-mix(in srgb,var(--mq-activity-accent) 22%,var(--mq-activity-border));
  box-shadow:none; font-size:.78rem; font-weight:950;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer > span { min-width:0; }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer.is-muted { opacity:.42; }
.mq-shell[data-skin] .mq-activity-sheet .mq-answer.is-right {
  opacity:1; border-color:var(--mq-vf-true); background:var(--mq-vf-true-soft); color:var(--mq-vf-true-text);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-vf-true) 15%,transparent);
  animation:mq-answer-correct .48s cubic-bezier(.2,.88,.25,1);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer.is-right b {
  border-color:var(--mq-vf-true); background:var(--mq-vf-true); color:#fff;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer.is-wrong {
  opacity:1; border-color:var(--mq-vf-false); background:var(--mq-vf-false-soft); color:var(--mq-vf-false-text);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-vf-false) 13%,transparent);
  animation:mq-answer-wrong .42s ease-out;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-answer.is-wrong b {
  border-color:var(--mq-vf-false); background:var(--mq-vf-false); color:#fff;
}

/* Vrai/Faux : vert et rouge restent sémantiques dans tous les thèmes. */
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answers { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer {
  min-height:64px; justify-content:center; text-align:center; padding:10px;
  font-size:clamp(.94rem,3.8vw,1.08rem); font-weight:950;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer b { width:36px; height:36px; flex-basis:36px; border-radius:50%; font-size:1.1rem; }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-true {
  border-color:color-mix(in srgb,var(--mq-vf-true) 58%,var(--mq-activity-border));
  background:var(--mq-vf-true-soft); color:var(--mq-vf-true-text);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-true b { color:#fff; background:var(--mq-vf-true); border-color:var(--mq-vf-true); }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-false {
  border-color:color-mix(in srgb,var(--mq-vf-false) 58%,var(--mq-activity-border));
  background:var(--mq-vf-false-soft); color:var(--mq-vf-false-text);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-false b { color:#fff; background:var(--mq-vf-false); border-color:var(--mq-vf-false); }
/* Le sens Vrai/Faux conserve sa couleur. Le résultat est indiqué par un anneau + pictogramme,
   ce qui évite de transformer visuellement « Faux » en bouton vert lorsqu'il est correct. */
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-right {
  opacity:1; background:inherit; color:inherit;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-success) 40%,transparent),0 8px 20px color-mix(in srgb,var(--mq-success) 12%,transparent);
  animation:mq-answer-correct .48s cubic-bezier(.2,.88,.25,1); position:relative;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-wrong {
  opacity:1; background:inherit; color:inherit;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-error) 38%,transparent);
  animation:mq-answer-wrong .42s ease-out; position:relative;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-right::after,
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-wrong::after {
  position:absolute; right:7px; top:7px; width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:.68rem; font-weight:950;
  box-shadow:0 2px 7px rgba(0,0,0,.18);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-right::after { content:"✓"; background:var(--mq-success); }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-wrong::after { content:"!"; background:var(--mq-error); }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-true.is-right b,
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-true.is-wrong b { background:var(--mq-vf-true); border-color:var(--mq-vf-true); }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-false.is-right b,
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer.is-false.is-wrong b { background:var(--mq-vf-false); border-color:var(--mq-vf-false); }
.mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer:not(:disabled):hover { transform:translateY(-1px); }

/* Quiz : une seule hiérarchie visuelle, accent du thème uniquement. */
.mq-shell[data-skin] .mq-activity-sheet .mq-quiz-answer { position:relative; padding-right:36px; }
.mq-shell[data-skin] .mq-activity-sheet .mq-quiz-answer::after {
  content:"›"; position:absolute; right:13px; top:50%; transform:translateY(-52%);
  color:var(--mq-text-muted); font-size:1.35rem; font-weight:500; opacity:.75;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-quiz-answer.is-right::after { content:"✓"; color:var(--mq-vf-true); font-weight:950; }
.mq-shell[data-skin] .mq-activity-sheet .mq-quiz-answer.is-wrong::after { content:"×"; color:var(--mq-vf-false); font-weight:950; }

/* Verdict : compact, lisible, sans seconde fenêtre superposée. */
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px;
  padding:12px 13px; border-radius:17px; border:1.5px solid; box-shadow:none;
  animation:mq-verdict-enter .34s cubic-bezier(.2,.84,.2,1);
}
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict.is-right { background:var(--mq-vf-true-soft); border-color:var(--mq-vf-true); color:var(--mq-vf-true-text); }
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict.is-wrong { background:var(--mq-vf-false-soft); border-color:var(--mq-vf-false); color:var(--mq-vf-false-text); }
.mq-shell[data-skin] .mq-verdict-main { min-width:0; display:flex; align-items:flex-start; gap:10px; }
.mq-shell[data-skin] .mq-verdict-icon {
  width:34px; height:34px; flex:0 0 34px; display:flex; align-items:center; justify-content:center;
  border-radius:50%; color:#fff; font-size:1.12rem; font-weight:950;
}
.mq-shell[data-skin] .mq-verdict.is-right .mq-verdict-icon { background:var(--mq-vf-true); }
.mq-shell[data-skin] .mq-verdict.is-wrong .mq-verdict-icon { background:var(--mq-vf-false); }
.mq-shell[data-skin] .mq-verdict-copy { min-width:0; }
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict strong { display:block; margin:0 0 2px; color:currentColor; font-size:.96rem; font-weight:950; }
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict p { margin:0; color:currentColor; opacity:.84; font-size:clamp(.72rem,2.8vw,.83rem); line-height:1.36; font-weight:700; }
.mq-shell[data-skin] .mq-activity-sheet .mq-verdict-score {
  white-space:nowrap; padding:6px 9px; border-radius:999px; background:color-mix(in srgb,currentColor 9%,transparent);
  color:currentColor; font-size:.76rem; font-weight:950; font-variant-numeric:tabular-nums;
}
.mq-shell[data-skin] .mq-activity-sheet .mq-sheet-actions { padding-top:0; }
.mq-shell[data-skin] .mq-activity-sheet .mq-activity-continue { min-height:48px; width:100%; border-radius:15px; }

@keyframes mq-activity-enter {
  from { opacity:0; transform:translate3d(0,8px,0); }
  to { opacity:1; transform:translate3d(0,0,0); }
}
.mq-shell[data-skin] .mq-activity-sheet.is-entry-settled { will-change:auto; }
@keyframes mq-answer-correct { 0%{transform:scale(.985)} 45%{transform:scale(1.025)} 100%{transform:scale(1)} }
@keyframes mq-answer-wrong { 0%,100%{transform:translateX(0)} 28%{transform:translateX(-5px)} 54%{transform:translateX(4px)} 76%{transform:translateX(-2px)} }
@keyframes mq-verdict-enter { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }

@media (max-width:380px) {
  .mq-shell[data-skin] .mq-activity-sheet { padding:13px; border-radius:22px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-vf-answers { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer { min-height:58px; gap:7px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer b { width:32px; height:32px; flex-basis:32px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-answer { min-height:48px; padding:9px 10px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-verdict { grid-template-columns:1fr; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-verdict-score { justify-self:start; }
}
@media (max-height:620px) {
  .mq-shell[data-skin] .mq-activity-sheet { gap:8px; padding:11px 13px; }
  .mq-shell[data-skin] .mq-activity-sheet > div:first-child { padding-bottom:7px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-sheet-thumb { width:44px; height:44px; border-radius:13px; }
  .mq-shell[data-skin] .mq-question-card { padding:10px 12px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-answer { min-height:44px; padding-block:7px; }
  .mq-shell[data-skin] .mq-activity-sheet .mq-vf-answer { min-height:52px; }
}
.mq-shell[data-motion="calme"] .mq-activity-layer *,
.mq-shell[data-motion="calme"] .mq-activity-layer *::before,
.mq-shell[data-motion="calme"] .mq-activity-layer *::after { animation:none!important; transition-duration:0s!important; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin] .mq-activity-layer *,
  .mq-shell[data-skin] .mq-activity-layer *::before,
  .mq-shell[data-skin] .mq-activity-layer *::after { animation:none!important; transition-duration:0s!important; }
}

/* =========================================================================
   MEMOQUEST 6.28.4 — QUI SUIS-JE ? V5 + DÉMARRAGE WORDPRESS FIABILISÉ
   Refonte visuelle complète inspirée du mockup validé.
   Pas de blur animé : transform/opacity uniquement pour Android WebView.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-who-screen:color-mix(in srgb,var(--mq-bg) 93%,#dff3f0 7%);
  --mq-who-panel:#f8fcfb;
  --mq-who-panel-2:#edf8f6;
  --mq-who-ink:#123f4a;
  --mq-who-muted:#52727a;
  --mq-who-metal:#c9a85d;
  --mq-who-metal-hi:#f2dfa4;
  --mq-who-metal-lo:#9b7936;
  --mq-who-accent:#168b99;
  --mq-who-accent-2:#35c2c8;
  --mq-who-back:radial-gradient(circle at 30% 16%,rgba(125,255,247,.38),transparent 28%),linear-gradient(158deg,#1da5ae 0%,#0f7082 56%,#084a5b 100%);
  --mq-who-mark:#f8e5a7;
  --mq-who-card-frame:#d9c07b;
  --mq-who-answer-surface:#fbfdfb;
  --mq-who-answer-label:#fbfaf4;
  --mq-who-rune:rgba(25,139,153,.18);
  --mq-who-shadow:rgba(9,56,65,.18);
}
.mq-shell[data-skin="ocean"] { --mq-who-screen:#062c47; --mq-who-panel:#082f49; --mq-who-panel-2:#0c3b57; --mq-who-ink:#f2fbff; --mq-who-muted:#b9d7e5; --mq-who-metal:#d4b76e; --mq-who-metal-hi:#fff0b9; --mq-who-metal-lo:#9a7533; --mq-who-accent:#38c6dc; --mq-who-accent-2:#4fe5da; --mq-who-back:radial-gradient(circle at 28% 14%,rgba(150,255,255,.28),transparent 26%),linear-gradient(158deg,#11b9c7 0%,#087ca7 52%,#054d84 100%); --mq-who-answer-surface:#0d415c; --mq-who-answer-label:#0a334d; --mq-who-rune:rgba(88,230,230,.17); --mq-who-shadow:rgba(0,7,18,.42); }
.mq-shell[data-skin="ardoise"] { --mq-who-screen:#0d171d; --mq-who-panel:#17242b; --mq-who-panel-2:#1e3038; --mq-who-ink:#eff9fb; --mq-who-muted:#abc2c9; --mq-who-metal:#86c7cf; --mq-who-metal-hi:#d3f4f6; --mq-who-metal-lo:#477f86; --mq-who-accent:#53d5df; --mq-who-accent-2:#76edf0; --mq-who-back:linear-gradient(158deg,#334851 0%,#20333c 56%,#101c23 100%); --mq-who-answer-surface:#21343d; --mq-who-answer-label:#1a2b33; --mq-who-rune:rgba(95,225,234,.14); --mq-who-shadow:rgba(0,0,0,.44); }
.mq-shell[data-skin="grenat"] { --mq-who-screen:#32101b; --mq-who-panel:#461827; --mq-who-panel-2:#552032; --mq-who-ink:#fff4ec; --mq-who-muted:#e8c8c4; --mq-who-metal:#d5ad6a; --mq-who-metal-hi:#ffe1a8; --mq-who-metal-lo:#8d6533; --mq-who-accent:#e6a6b5; --mq-who-accent-2:#f1c4a4; --mq-who-back:radial-gradient(circle at 28% 14%,rgba(255,231,198,.20),transparent 25%),linear-gradient(158deg,#9d3b55 0%,#72273f 52%,#4a172a 100%); --mq-who-answer-surface:#5b2236; --mq-who-answer-label:#481829; --mq-who-rune:rgba(238,185,172,.15); --mq-who-shadow:rgba(14,1,6,.46); }
.mq-shell[data-skin="ambre"] { --mq-who-screen:#4b2614; --mq-who-panel:#fff7e7; --mq-who-panel-2:#ffedc9; --mq-who-ink:#542c18; --mq-who-muted:#8b6248; --mq-who-metal:#bc7a27; --mq-who-metal-hi:#ffe4a2; --mq-who-metal-lo:#75420e; --mq-who-accent:#d96c23; --mq-who-accent-2:#f1aa3d; --mq-who-back:radial-gradient(circle at 30% 15%,rgba(255,255,220,.30),transparent 24%),linear-gradient(158deg,#f2a33d 0%,#d86b1d 54%,#963d0d 100%); --mq-who-answer-surface:#fff8e9; --mq-who-answer-label:#fff1d2; --mq-who-rune:rgba(201,119,33,.17); --mq-who-shadow:rgba(80,35,7,.22); }
.mq-shell[data-skin="nuit"] { --mq-who-screen:#070d19; --mq-who-panel:#0e1727; --mq-who-panel-2:#131f33; --mq-who-ink:#f5f9ff; --mq-who-muted:#b7c5dd; --mq-who-metal:#d3b366; --mq-who-metal-hi:#ffedac; --mq-who-metal-lo:#85682a; --mq-who-accent:#5dcbe6; --mq-who-accent-2:#91e2f2; --mq-who-back:radial-gradient(circle at 30% 15%,rgba(111,214,244,.18),transparent 24%),linear-gradient(158deg,#1a3151 0%,#111f36 56%,#09111f 100%); --mq-who-answer-surface:#16253c; --mq-who-answer-label:#101c30; --mq-who-rune:rgba(112,220,241,.14); --mq-who-shadow:rgba(0,0,0,.52); }

.mq-shell[data-skin] .mq-who-layer { background:var(--mq-who-screen)!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
.mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] {
  width:min(520px,calc(100% - 18px)); max-height:min(820px,calc(100% - 18px)); overflow:hidden;
  padding:clamp(12px,2.1vmin,18px); gap:8px; border:1px solid color-mix(in srgb,var(--mq-who-accent) 34%,var(--mq-who-metal) 22%);
  border-radius:clamp(26px,6vw,38px); background:linear-gradient(180deg,var(--mq-who-panel),var(--mq-who-panel-2));
  box-shadow:0 22px 48px var(--mq-who-shadow),inset 0 1px 0 rgba(255,255,255,.46),inset 0 0 0 1px color-mix(in srgb,var(--mq-who-metal) 18%,transparent);
  color:var(--mq-who-ink); isolation:isolate;
}
.mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"]::before {
  content:""; position:absolute; inset:8px; border-radius:inherit; pointer-events:none; z-index:-1;
  border:1px solid color-mix(in srgb,var(--mq-who-metal) 22%,transparent);
  background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--mq-who-accent-2) 7%,transparent),transparent 36%);
}
.mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] > div:first-child { text-align:center; padding:0 0 4px; }
.mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] .mq-sheet-body { overflow:visible; padding:0; }
.mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] .mq-sheet-actions { display:none; }

.mq-who-heading { display:flex; flex-direction:column; align-items:center; gap:3px; position:relative; padding-top:2px; }
.mq-who-crown { width:33px; height:33px; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:-3px; color:var(--mq-who-metal-lo); background:linear-gradient(145deg,var(--mq-who-metal-hi),#fff,var(--mq-who-metal)); border:1px solid var(--mq-who-metal); box-shadow:0 5px 12px color-mix(in srgb,var(--mq-who-metal) 25%,transparent); font-size:.94rem; }
.mq-who-badge { display:inline-flex; align-items:center; justify-content:center; min-height:30px; padding:5px 17px; border-radius:12px; background:linear-gradient(180deg,color-mix(in srgb,var(--mq-who-accent) 94%,#fff 6%),color-mix(in srgb,var(--mq-who-accent) 78%,#001 22%)); color:#fff; border:1px solid var(--mq-who-metal); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 4px 10px color-mix(in srgb,var(--mq-who-shadow) 65%,transparent); font-size:.62rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
.mq-who-badge::before,.mq-who-badge::after { content:"✦"; color:var(--mq-who-metal-hi); font-size:.52rem; margin-inline:6px; }
.mq-who-heading .mq-sheet-title { margin:2px 0 0; color:var(--mq-who-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.72rem,8.6vw,2.55rem); line-height:1; font-weight:800; letter-spacing:-.035em; text-shadow:0 2px 0 color-mix(in srgb,#fff 44%,transparent); }
.mq-shell[data-skin="ocean"] .mq-who-heading .mq-sheet-title,.mq-shell[data-skin="ardoise"] .mq-who-heading .mq-sheet-title,.mq-shell[data-skin="grenat"] .mq-who-heading .mq-sheet-title,.mq-shell[data-skin="nuit"] .mq-who-heading .mq-sheet-title { text-shadow:0 2px 12px color-mix(in srgb,var(--mq-who-accent) 18%,transparent); }
.mq-who-divider { display:block; width:min(230px,62vw); height:8px; margin-top:2px; position:relative; }
.mq-who-divider::before { content:""; position:absolute; left:0; right:0; top:3px; height:1px; background:linear-gradient(90deg,transparent,var(--mq-who-metal),transparent); }
.mq-who-divider::after { content:"◆"; position:absolute; left:50%; top:-4px; transform:translateX(-50%); color:var(--mq-who-metal); font-size:.58rem; }

.mq-who-stage { position:relative; display:flex; flex-direction:column; align-items:center; gap:clamp(8px,1.2vh,13px); min-height:0; width:100%; }
.mq-who-v5 .mq-online-challenge-timer { width:min(100%,310px); padding:5px 8px 5px; border-color:color-mix(in srgb,var(--mq-who-metal) 42%,var(--mq-who-accent)); background:color-mix(in srgb,var(--mq-who-panel) 90%,var(--mq-who-accent) 10%); color:var(--mq-who-ink); border-radius:13px; }
.mq-who-v5 .mq-online-challenge-timer > span { color:var(--mq-who-muted); font-size:.66rem; }
.mq-who-v5 .mq-online-challenge-timer > span svg,.mq-who-v5 .mq-online-challenge-timer > strong { color:var(--mq-who-accent); }
.mq-who-v5 .mq-online-challenge-timer > i { background:color-mix(in srgb,var(--mq-who-metal) 25%,transparent); }
.mq-who-v5 .mq-online-challenge-timer > i > u { background:linear-gradient(90deg,var(--mq-who-accent),var(--mq-who-metal)); }
.mq-who-stage-rune { position:absolute; left:50%; bottom:clamp(90px,16vh,150px); width:min(94%,420px); aspect-ratio:2.3; transform:translateX(-50%); pointer-events:none; opacity:.72; background:radial-gradient(ellipse at center,transparent 0 32%,var(--mq-who-rune) 33% 34%,transparent 35% 44%,var(--mq-who-rune) 45% 46%,transparent 47%),linear-gradient(90deg,transparent 4%,var(--mq-who-rune) 50%,transparent 96%); mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent); }

.mq-who-mystery-wrap { position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:clamp(160px,26vh,224px); }
.mq-who-card { width:clamp(126px,38vw,172px); aspect-ratio:3/4; perspective:1100px; position:relative; z-index:5; flex:0 0 auto; border-radius:18px; box-shadow:0 14px 28px var(--mq-who-shadow),0 0 0 4px color-mix(in srgb,var(--mq-who-metal) 20%,transparent); transform:translate3d(0,0,0) scale(1); transform-origin:center; transition:transform .42s cubic-bezier(.2,.82,.2,1),opacity .2s ease; animation:mq-who-card-breathe 3.8s ease-in-out infinite; }
@keyframes mq-who-card-breathe { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(0,-3px,0)} }
.mq-who-card-inner { position:absolute; inset:0; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; transition:transform .58s cubic-bezier(.17,.86,.22,1); }
.mq-who-card.is-revealed .mq-who-card-inner { transform:rotateY(180deg); }
.mq-who-face { position:absolute; inset:0; overflow:hidden; border-radius:inherit; backface-visibility:hidden; -webkit-backface-visibility:hidden; border:2px solid var(--mq-who-card-frame); }
.mq-who-back { display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--mq-who-back); color:var(--mq-who-mark); box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--mq-who-metal-hi) 12%,transparent),inset 0 -18px 28px rgba(0,0,0,.20); }
.mq-who-back::before { content:""; position:absolute; inset:9px; border-radius:14px; border:1px solid color-mix(in srgb,var(--mq-who-metal-hi) 72%,transparent); background:radial-gradient(circle at 50% 45%,transparent 0 31%,color-mix(in srgb,var(--mq-who-metal-hi) 20%,transparent) 32% 33%,transparent 34% 47%,color-mix(in srgb,var(--mq-who-metal-hi) 12%,transparent) 48% 49%,transparent 50%); }
.mq-who-back::after { content:"✦"; position:absolute; left:50%; top:11px; transform:translateX(-50%); color:var(--mq-who-metal-hi); font-size:.68rem; text-shadow:0 0 10px currentColor; }
.mq-who-question { position:relative; z-index:2; width:62%; aspect-ratio:1; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--mq-who-mark); font-family:Georgia,serif; font-size:clamp(4rem,16vw,6.2rem); line-height:1; font-weight:800; background:radial-gradient(circle,color-mix(in srgb,#001 15%,transparent),transparent 67%); border:1px solid color-mix(in srgb,var(--mq-who-metal-hi) 58%,transparent); box-shadow:0 0 0 8px color-mix(in srgb,var(--mq-who-metal-hi) 6%,transparent),0 6px 18px rgba(0,0,0,.18); text-shadow:0 4px 12px rgba(0,0,0,.28); }
.mq-who-back > small { display:none; }
.mq-who-front { transform:rotateY(180deg); display:flex; flex-direction:column; background:var(--mq-who-answer-surface); border-color:var(--mq-who-card-frame); }
.mq-who-front img { width:100%; flex:1 1 auto; min-height:0; object-fit:cover; display:block; }
.mq-who-front strong { flex:0 0 auto; min-height:30px; padding:6px 6px 7px; display:flex; align-items:center; justify-content:center; background:var(--mq-who-answer-label); color:var(--mq-who-ink); font-family:Georgia,serif; font-size:clamp(.68rem,2.6vw,.86rem); font-weight:800; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; border-top:1px solid color-mix(in srgb,var(--mq-who-metal) 55%,transparent); }

.mq-who-judge { position:absolute; top:50%; width:44px; height:70px; margin-top:-35px; border-radius:22px; display:flex; align-items:center; justify-content:center; opacity:.13; font-size:1.9rem; font-weight:1000; border:1px solid currentColor; transition:opacity .18s ease,transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease; }
.mq-who-judge-ok { left:max(4px,calc(50% - 142px)); color:var(--mq-vf-true); transform:translateX(-6px) scale(.88); }
.mq-who-judge-no { right:max(4px,calc(50% - 142px)); color:var(--mq-vf-false); transform:translateX(6px) scale(.88); }
.mq-who-layer.is-match-right .mq-who-judge-ok { opacity:1; transform:none; box-shadow:0 0 0 8px color-mix(in srgb,var(--mq-vf-true) 8%,transparent),0 0 25px color-mix(in srgb,var(--mq-vf-true) 30%,transparent); }
.mq-who-layer.is-match-wrong .mq-who-judge-no { opacity:1; transform:none; box-shadow:0 0 0 8px color-mix(in srgb,var(--mq-vf-false) 8%,transparent),0 0 25px color-mix(in srgb,var(--mq-vf-false) 30%,transparent); }

.mq-who-speech { position:relative; width:min(100%,430px); padding:clamp(12px,2.2vh,18px) clamp(20px,5vw,34px); border-radius:20px; background:linear-gradient(180deg,color-mix(in srgb,var(--mq-who-panel) 90%,#fff 10%),var(--mq-who-panel)); border:1px solid color-mix(in srgb,var(--mq-who-metal) 65%,var(--mq-who-accent) 35%); box-shadow:0 9px 18px color-mix(in srgb,var(--mq-who-shadow) 55%,transparent),inset 0 0 0 1px color-mix(in srgb,#fff 38%,transparent); }
.mq-who-speech::before { content:""; position:absolute; left:50%; top:-10px; width:18px; height:18px; transform:translateX(-50%) rotate(45deg); background:var(--mq-who-panel); border-left:1px solid color-mix(in srgb,var(--mq-who-metal) 65%,var(--mq-who-accent) 35%); border-top:1px solid color-mix(in srgb,var(--mq-who-metal) 65%,var(--mq-who-accent) 35%); }
.mq-who-speech::after { content:"✦"; position:absolute; left:50%; bottom:-8px; transform:translateX(-50%); color:var(--mq-who-metal); font-size:.62rem; background:var(--mq-who-panel); padding:0 5px; }
.mq-who-speech-quote { position:absolute; left:12px; top:6px; color:color-mix(in srgb,var(--mq-who-metal) 62%,transparent); font:700 2rem/1 Georgia,serif; }
.mq-who-speech p { position:relative; z-index:1; margin:0; color:var(--mq-who-ink); font-size:clamp(.85rem,3.45vw,1.08rem); line-height:1.32; font-weight:850; text-align:center; text-wrap:balance; }

.mq-who-answers { position:relative; z-index:3; width:100%; max-width:440px; display:grid; gap:clamp(7px,2vw,11px); align-items:start; justify-content:center; }
.mq-who-answers[data-count="1"] { grid-template-columns:minmax(0,120px); max-width:120px; }
.mq-who-answers[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:250px; }
.mq-who-answers[data-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.mq-who-answers[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:306px; }
.mq-who-answers[data-count="5"] { grid-template-columns:repeat(6,minmax(0,1fr)); max-width:342px; }
.mq-who-answers[data-count="5"] .mq-who-answer { grid-column:span 2; }
.mq-who-answers[data-count="5"] .mq-who-answer:nth-child(4) { grid-column:2 / span 2; }
.mq-who-answers[data-count="5"] .mq-who-answer:nth-child(5) { grid-column:4 / span 2; }
.mq-who-answer { min-width:0; min-height:44px; padding:0; border:0; background:transparent; color:inherit; border-radius:18px; touch-action:manipulation; position:relative; z-index:3; transform:translate3d(0,0,0) scale(1); transform-origin:center; transition:transform .42s cubic-bezier(.2,.82,.2,1),opacity .2s ease,filter .2s ease; animation:mq-who-choice-enter .38s cubic-bezier(.18,.82,.25,1) both; animation-delay:calc(var(--who-choice-index,0) * 38ms); }
@keyframes mq-who-choice-enter { from{opacity:0;transform:translate3d(0,10px,0) scale(.96)} to{opacity:1;transform:translate3d(0,0,0) scale(1)} }
.mq-who-answer:focus-visible { outline:3px solid color-mix(in srgb,var(--mq-who-accent) 48%,transparent); outline-offset:4px; }
.mq-who-answer:not(:disabled):active { transform:translateY(2px) scale(.975); }
.mq-who-choice-card { position:relative; display:flex; flex-direction:column; width:100%; aspect-ratio:3/4; overflow:visible; border-radius:18px; border:1px solid var(--mq-who-card-frame); background:var(--mq-who-answer-surface); box-shadow:0 9px 18px var(--mq-who-shadow),inset 0 0 0 3px color-mix(in srgb,#fff 34%,transparent); }
.mq-who-choice-card::before { content:""; position:absolute; inset:4px; z-index:4; pointer-events:none; border-radius:14px; border:1px solid color-mix(in srgb,var(--mq-who-metal-hi) 35%,transparent); }
.mq-who-choice-image { flex:1 1 auto; min-height:0; overflow:hidden; border-radius:16px 16px 0 0; background:color-mix(in srgb,var(--mq-who-accent) 12%,var(--mq-who-panel)); }
.mq-who-choice-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .28s ease; }
.mq-who-answer:not(:disabled):active .mq-who-choice-image img { transform:scale(1.025); }
.mq-who-choice-fallback { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--mq-who-accent); font-size:2rem; font-weight:950; }
.mq-who-choice-name { flex:0 0 auto; width:100%; min-height:31px; padding:6px 5px 8px; display:flex; align-items:center; justify-content:center; background:var(--mq-who-answer-label); color:var(--mq-who-ink); font-family:Georgia,serif; font-size:clamp(.60rem,2.55vw,.82rem); line-height:1; font-weight:800; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:clip; border-top:1px solid color-mix(in srgb,var(--mq-who-metal) 50%,transparent); border-radius:0 0 16px 16px; }
.mq-who-choice-gem { position:absolute; z-index:6; bottom:-7px; left:50%; width:18px; height:18px; transform:translateX(-50%); border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(145deg,var(--mq-who-metal-hi),var(--mq-who-metal)); color:var(--mq-who-metal-lo); border:1px solid color-mix(in srgb,var(--mq-who-metal-lo) 55%,transparent); font-size:.48rem; box-shadow:0 3px 7px var(--mq-who-shadow); }
.mq-who-answer:not(:disabled):hover .mq-who-choice-card { border-color:color-mix(in srgb,var(--mq-who-accent) 44%,var(--mq-who-card-frame)); box-shadow:0 12px 24px var(--mq-who-shadow),0 0 0 2px color-mix(in srgb,var(--mq-who-accent) 10%,transparent); }

.mq-who-progress { position:relative; z-index:3; width:min(100%,390px); display:grid; grid-template-columns:auto 1fr; align-items:center; gap:9px; min-height:28px; color:var(--mq-who-muted); }
.mq-who-progress b { min-width:48px; height:28px; padding:0 10px; border-radius:999px; display:flex; align-items:center; justify-content:center; color:var(--mq-who-ink); font:800 .72rem/1 Georgia,serif; background:color-mix(in srgb,var(--mq-who-panel) 88%,var(--mq-who-accent) 12%); border:1px solid color-mix(in srgb,var(--mq-who-metal) 58%,transparent); }
.mq-who-progress > span { height:8px; display:flex; align-items:center; justify-content:space-around; gap:4px; border-radius:999px; padding:0 5px; background:linear-gradient(90deg,color-mix(in srgb,var(--mq-who-accent) 16%,transparent),color-mix(in srgb,var(--mq-who-metal) 15%,transparent)); border:1px solid color-mix(in srgb,var(--mq-who-metal) 32%,transparent); }
.mq-who-progress i { width:7px; height:7px; transform:rotate(45deg); border-radius:2px; background:color-mix(in srgb,var(--mq-who-muted) 32%,transparent); box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-who-metal) 22%,transparent); }
.mq-who-progress i.is-on { background:var(--mq-who-metal-hi); box-shadow:0 0 10px color-mix(in srgb,var(--mq-who-metal-hi) 56%,transparent); }
.mq-who-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }

/* Matching premium : l'arène reste visible pour que ✓/× ne soit jamais masqué par l'opacité du parent. */
.mq-who-match-arena { position:absolute; left:50%; top:45%; width:min(94%,370px); height:210px; transform:translate(-50%,-50%); z-index:12; pointer-events:none; opacity:1; }
.mq-who-match-beam { position:absolute; left:50%; top:50%; width:74%; height:2px; transform:translate(-50%,-50%) scaleX(.2); opacity:0; background:linear-gradient(90deg,transparent,var(--mq-who-metal-hi),transparent); transition:opacity .18s ease,transform .34s ease; }
.mq-who-match-sign { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.55); width:68px; height:68px; border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; color:#fff; font-size:2.6rem; font-weight:1000; border:2px solid color-mix(in srgb,#fff 68%,transparent); box-shadow:0 10px 24px rgba(0,0,0,.24); transition:opacity .16s ease,transform .30s cubic-bezier(.2,1,.2,1),box-shadow .30s ease; }
.mq-who-match-sign::before,.mq-who-match-sign::after { content:""; position:absolute; inset:-9px; border-radius:50%; border:1px solid currentColor; opacity:.34; }
.mq-who-match-sign::after { inset:-18px; opacity:.16; }
.mq-who-layer.is-resolving .mq-who-heading,.mq-who-layer.is-resolving .mq-who-speech,.mq-who-layer.is-resolving .mq-who-progress,.mq-who-layer.is-resolving .mq-who-judge,.mq-who-layer.is-resolving .mq-who-answer:not(.is-selected-choice) { opacity:0; pointer-events:none; transition:opacity .20s ease; }
.mq-who-layer.is-resolving .mq-who-answer { animation:none; }
.mq-who-layer.is-resolving .mq-who-answer.is-selected-choice,.mq-who-layer.is-resolving .mq-who-card.is-match-card { z-index:20; animation:none; }
.mq-who-layer.is-match-arrived .mq-who-card.is-match-card { transform:translate3d(var(--who-match-x),var(--who-match-y),0) scale(var(--who-match-scale)); }
.mq-who-layer.is-match-arrived .mq-who-answer.is-match-choice { transform:translate3d(var(--who-match-x),var(--who-match-y),0) scale(var(--who-match-scale)); }
.mq-who-layer.is-match-arrived .mq-who-match-beam { opacity:.9; transform:translate(-50%,-50%) scaleX(1); }
.mq-who-layer.is-match-right .mq-who-match-sign,.mq-who-layer.is-match-wrong .mq-who-match-sign { opacity:1; transform:translate(-50%,-50%) scale(1); animation:mq-who-sign-pop .38s cubic-bezier(.2,1.18,.28,1); }
@keyframes mq-who-sign-pop { 0%{transform:translate(-50%,-50%) scale(.5)} 72%{transform:translate(-50%,-50%) scale(1.12)} 100%{transform:translate(-50%,-50%) scale(1)} }
.mq-who-layer.is-match-right .mq-who-match-sign { background:var(--mq-vf-true); box-shadow:0 0 0 9px color-mix(in srgb,var(--mq-vf-true) 12%,transparent),0 0 34px color-mix(in srgb,var(--mq-vf-true) 55%,transparent),0 10px 24px rgba(0,0,0,.24); }
.mq-who-layer.is-match-wrong .mq-who-match-sign { background:var(--mq-vf-false); box-shadow:0 0 0 9px color-mix(in srgb,var(--mq-vf-false) 11%,transparent),0 0 34px color-mix(in srgb,var(--mq-vf-false) 50%,transparent),0 10px 24px rgba(0,0,0,.24); }
.mq-who-layer.is-match-right .mq-who-answer.is-selected-choice .mq-who-choice-card { border-color:var(--mq-vf-true); box-shadow:0 0 0 4px color-mix(in srgb,var(--mq-vf-true) 16%,transparent),0 12px 28px rgba(0,0,0,.20); }
.mq-who-layer.is-match-right .mq-who-card.is-match-card .mq-who-face { border-color:var(--mq-vf-true); }
.mq-who-layer.is-match-wrong .mq-who-answer.is-selected-choice .mq-who-choice-card { border-color:var(--mq-vf-false); box-shadow:0 0 0 4px color-mix(in srgb,var(--mq-vf-false) 14%,transparent),0 12px 28px rgba(0,0,0,.20); animation:mq-who-v3-recoil .36s ease-out; }
.mq-who-layer.is-match-wrong .mq-who-card.is-match-card { animation:mq-who-v3-recoil .36s ease-out; }
@keyframes mq-who-v3-recoil { 0%,100%{translate:0 0} 28%{translate:-4px 0} 58%{translate:4px 0} 80%{translate:-1px 0} }
.mq-who-layer.is-match-right .mq-who-card.is-success { filter:drop-shadow(0 0 14px color-mix(in srgb,var(--mq-vf-true) 38%,transparent)); }

@media (max-width:360px) {
  .mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] { width:calc(100% - 12px); padding:10px; border-radius:25px; }
  .mq-who-crown { width:27px; height:27px; }
  .mq-who-badge { min-height:25px; padding:4px 12px; font-size:.55rem; }
  .mq-who-heading .mq-sheet-title { font-size:1.48rem; }
  .mq-who-mystery-wrap { min-height:147px; }
  .mq-who-card { width:110px; }
  .mq-who-judge { width:36px; height:58px; font-size:1.5rem; }
  .mq-who-judge-ok { left:8px; }.mq-who-judge-no { right:8px; }
  .mq-who-speech { padding:10px 16px; border-radius:16px; }
  .mq-who-speech p { font-size:.80rem; }
  .mq-who-answers { gap:6px; }
  .mq-who-answers[data-count="3"] { max-width:292px; }
  .mq-who-answers[data-count="4"] { max-width:252px; }
  .mq-who-answers[data-count="5"] { max-width:274px; gap:5px; }
  .mq-who-choice-name { min-height:25px; padding:5px 3px 7px; }
  .mq-who-progress { min-height:24px; }
  .mq-who-progress b { height:24px; min-width:44px; }
  .mq-who-match-arena { width:96%; height:178px; top:43%; }
  .mq-who-match-sign { width:60px; height:60px; font-size:2.25rem; }
}
@media (max-height:620px) {
  .mq-shell[data-skin] .mq-activity-sheet[data-activity-mode="quisuisje"] { max-height:calc(100% - 10px); padding:7px 9px; gap:3px; }
  .mq-who-crown { display:none; }
  .mq-who-badge { min-height:21px; padding:3px 9px; font-size:.49rem; }
  .mq-who-heading .mq-sheet-title { font-size:1.22rem; }
  .mq-who-divider { height:5px; margin:0; }
  .mq-who-stage { gap:5px; }
  .mq-who-mystery-wrap { min-height:109px; }
  .mq-who-card { width:82px; }
  .mq-who-back > small { display:none; }
  .mq-who-question { font-size:3.1rem; }
  .mq-who-judge { display:none; }
  .mq-who-speech { padding:7px 12px; border-radius:14px; }
  .mq-who-speech p { font-size:.69rem; line-height:1.22; }
  .mq-who-answers[data-count="3"] { max-width:258px; }
  .mq-who-answers[data-count="4"] { max-width:226px; }
  .mq-who-answers[data-count="5"] { max-width:236px; gap:4px; }
  .mq-who-choice-name { min-height:20px; padding:3px 2px 5px; font-size:.51rem; }
  .mq-who-choice-gem { width:14px; height:14px; bottom:-5px; font-size:.36rem; }
  .mq-who-progress { min-height:20px; gap:5px; }
  .mq-who-progress b { height:20px; min-width:38px; padding:0 7px; font-size:.62rem; }
  .mq-who-progress > span { height:6px; }
  .mq-who-progress i { width:5px; height:5px; }
  .mq-who-match-arena { top:42%; height:135px; }
}
.mq-shell[data-motion="calme"] .mq-who-layer *, .mq-shell[data-motion="calme"] .mq-who-layer *::before, .mq-shell[data-motion="calme"] .mq-who-layer *::after { animation:none!important; transition-duration:0s!important; }
@media (prefers-reduced-motion:reduce) { .mq-who-layer *, .mq-who-layer *::before, .mq-who-layer *::after { animation:none!important; transition-duration:0s!important; } }

/* Qui suis-je ? V4 — progression 1/5 + cadeau dynamique. */
.mq-who-v4 .mq-who-card,.mq-who-v4 .mq-who-choice-card { border-radius:18px; }
.mq-who-v4 .mq-who-face { border-radius:18px; }
.mq-who-v4 .mq-who-back::before { border-radius:14px; inset:4px; }
.mq-who-v4 .mq-who-mystery-wrap { min-height:clamp(158px,25vh,220px); }
.mq-who-v4 .mq-who-progress { width:min(100%,410px); grid-template-columns:auto minmax(0,1fr); gap:8px; }
.mq-who-v4 .mq-who-progress-track { position:relative; min-width:0; height:30px; padding:0 46px 0 10px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; gap:0; border-radius:999px; background:linear-gradient(90deg,color-mix(in srgb,var(--mq-who-accent) 13%,transparent),color-mix(in srgb,var(--mq-who-metal) 18%,transparent)); border:1px solid color-mix(in srgb,var(--mq-who-metal) 38%,transparent); box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent); }
.mq-who-v4 .mq-who-progress-track::before { content:""; position:absolute; left:14px; right:48px; top:50%; height:2px; transform:translateY(-50%); background:linear-gradient(90deg,color-mix(in srgb,var(--mq-who-accent) 42%,transparent),color-mix(in srgb,var(--mq-who-metal) 42%,transparent)); }
.mq-who-v4 .mq-who-progress-track > i { position:relative; z-index:2; justify-self:center; width:9px; height:9px; border-radius:50%; transform:none; background:color-mix(in srgb,var(--mq-who-muted) 26%,var(--mq-who-panel)); border:1px solid color-mix(in srgb,var(--mq-who-metal) 42%,transparent); transition:transform .24s ease,background .24s ease,box-shadow .24s ease; }
.mq-who-v4 .mq-who-progress-track > i.is-current { transform:scale(1.34); background:var(--mq-who-metal-hi); box-shadow:0 0 0 5px color-mix(in srgb,var(--mq-who-metal-hi) 14%,transparent),0 0 13px color-mix(in srgb,var(--mq-who-metal-hi) 60%,transparent); }
.mq-who-v4 .mq-who-progress-track > i.is-done { background:var(--mq-who-accent-2); box-shadow:0 0 9px color-mix(in srgb,var(--mq-who-accent-2) 50%,transparent); }
.mq-who-gift { position:absolute; z-index:4; right:-3px; top:50%; width:44px; height:44px; transform:translateY(-50%); border-radius:14px; display:flex; align-items:center; justify-content:center; border:1px solid var(--mq-who-metal); box-shadow:0 7px 15px var(--mq-who-shadow),inset 0 1px 0 rgba(255,255,255,.52); transition:background .24s ease,filter .24s ease,transform .24s ease; }
.mq-who-gift-icon { width:26px; height:26px; display:flex; align-items:center; justify-content:center; }
.mq-who-gift-icon svg { width:100%; height:100%; }
.mq-who-gift small { position:absolute; right:-3px; bottom:-12px; min-width:48px; padding:2px 5px; border-radius:999px; display:flex; gap:3px; justify-content:center; align-items:center; background:var(--mq-who-panel); color:var(--mq-who-ink); border:1px solid color-mix(in srgb,var(--mq-who-metal) 45%,transparent); font:800 .48rem/1 system-ui,sans-serif; white-space:nowrap; }
.mq-who-gift small em { font-style:normal; color:var(--mq-who-accent); }
.mq-who-gift.is-perfect { background:linear-gradient(145deg,#fff5b9,#e7b849 60%,#b77912); color:#5d3b00; box-shadow:0 0 0 5px rgba(255,213,74,.11),0 7px 17px rgba(117,75,0,.28); }
.mq-who-gift.is-gold { background:linear-gradient(145deg,#e7fff8,#55d4bf 60%,#158c83); color:#064d4a; }
.mq-who-gift.is-silver { background:linear-gradient(145deg,#f6fbff,#b7cbd6 60%,#718d9c); color:#254352; }
.mq-who-gift.is-bronze { background:linear-gradient(145deg,#ffe5bf,#c98547 60%,#80451d); color:#4b260d; }
.mq-who-gift.is-mini { background:linear-gradient(145deg,#f2eee8,#b8a99c 65%,#766a61); color:#403a36; filter:saturate(.72); }

.mq-who-series-reward { position:absolute; inset:0; z-index:60; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px; border-radius:22px; opacity:0; pointer-events:none; transform:scale(.94); background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--mq-who-metal-hi) 25%,transparent),transparent 45%),linear-gradient(180deg,color-mix(in srgb,var(--mq-who-panel) 97%,transparent),color-mix(in srgb,var(--mq-who-panel-2) 97%,transparent)); transition:opacity .26s ease,transform .38s cubic-bezier(.2,1,.2,1); text-align:center; }
.mq-who-layer.is-series-reward .mq-who-series-reward { opacity:1; transform:scale(1); pointer-events:auto; }
.mq-who-layer.is-series-reward .mq-who-stage > :not(.mq-who-series-reward) { opacity:0!important; transition:opacity .18s ease; }
.mq-who-reward-rays { position:absolute; width:210px; height:210px; border-radius:50%; background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--mq-who-metal-hi) 22%,transparent) 0 7deg,transparent 7deg 18deg); mask-image:radial-gradient(circle,black 0 48%,transparent 72%); animation:mq-who-reward-spin 8s linear infinite; }
@keyframes mq-who-reward-spin { to { transform:rotate(360deg); } }
.mq-who-reward-gift { position:relative; z-index:2; width:88px; height:88px; border-radius:28px; display:flex; align-items:center; justify-content:center; color:var(--mq-who-metal-lo); background:linear-gradient(145deg,var(--mq-who-metal-hi),#fff8d4 46%,var(--mq-who-metal)); border:2px solid var(--mq-who-metal); box-shadow:0 0 0 9px color-mix(in srgb,var(--mq-who-metal-hi) 13%,transparent),0 18px 35px var(--mq-who-shadow); animation:mq-who-gift-open .65s cubic-bezier(.2,1.25,.25,1) both; }
.mq-who-reward-gift svg { width:50px; height:50px; }
@keyframes mq-who-gift-open { 0%{transform:translateY(16px) scale(.72) rotate(-7deg);opacity:0} 65%{transform:translateY(-4px) scale(1.08) rotate(3deg);opacity:1} 100%{transform:none;opacity:1} }
.mq-who-series-reward > small { position:relative; z-index:2; font-size:.62rem; font-weight:950; letter-spacing:.16em; color:var(--mq-who-accent); }
.mq-who-series-reward > strong { position:relative; z-index:2; color:var(--mq-who-ink); font:900 clamp(1.2rem,5vw,1.65rem)/1.05 Georgia,serif; }
.mq-who-series-reward > div { position:relative; z-index:2; display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
.mq-who-series-reward > div b { min-height:38px; padding:8px 13px; border-radius:14px; display:flex; gap:5px; align-items:center; background:color-mix(in srgb,var(--mq-who-panel) 82%,var(--mq-who-accent) 18%); color:var(--mq-who-ink); border:1px solid color-mix(in srgb,var(--mq-who-metal) 50%,transparent); box-shadow:0 7px 16px var(--mq-who-shadow); }
.mq-who-series-reward > div svg { width:18px; height:18px; }
.mq-who-series-reward.is-perfect .mq-who-reward-gift { box-shadow:0 0 0 10px rgba(255,221,94,.16),0 0 38px rgba(255,201,39,.42),0 18px 35px var(--mq-who-shadow); }
.mq-who-series-reward.is-mini .mq-who-reward-gift { filter:saturate(.68); }
.mq-who-answer.is-eliminated { opacity:0!important; transform:scale(.82)!important; }
.mq-who-answer.is-auto-correct .mq-who-choice-card { border-color:var(--mq-vf-true); }

@media (max-height:620px) {
  .mq-who-v4 .mq-who-gift { width:36px; height:36px; border-radius:11px; }
  .mq-who-v4 .mq-who-gift-icon { width:21px; height:21px; }
  .mq-who-v4 .mq-who-gift small { display:none; }
  .mq-who-v4 .mq-who-progress-track { height:24px; padding-right:38px; }
}

/* ======================================================================
   QUI SUIS-JE ? V5 — carte mystère = carte candidate, cadeau non révélé
   ====================================================================== */
.mq-who-v5 .mq-who-card {
  width:var(--mq-who-mystery-w,120px);
  height:var(--mq-who-mystery-h,160px);
  aspect-ratio:auto;
  border-radius:18px;
  animation:mq-who-card-breathe 3.8s ease-in-out infinite;
}
.mq-who-v5 .mq-who-face,.mq-who-v5 .mq-who-choice-card { border-radius:18px; }
.mq-who-v5:not(.is-card-size-synced) .mq-who-card { opacity:0; }
.mq-who-v5.is-card-size-synced .mq-who-card { opacity:1; }
.mq-who-v5 .mq-who-back::before { inset:4px; border-radius:14px; }
.mq-who-v5 .mq-who-mystery-wrap { min-height:172px; transition:min-height .18s ease; }

/* La progression ne révèle ni le palier, ni les pièces, ni les points. */
.mq-who-v5 .mq-who-progress { width:min(100%,410px); grid-template-columns:auto minmax(0,1fr); gap:8px; }
.mq-who-v5 .mq-who-progress-track {
  position:relative; min-width:0; height:30px; padding:0 42px 0 10px;
  display:grid; grid-template-columns:repeat(5,1fr); align-items:center; gap:0;
  border-radius:999px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--mq-who-accent) 10%,transparent),color-mix(in srgb,var(--mq-who-metal) 14%,transparent));
  border:1px solid color-mix(in srgb,var(--mq-who-metal) 34%,transparent);
  box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 42%,transparent);
}
.mq-who-v5 .mq-who-progress-track::before {
  content:""; position:absolute; left:14px; right:44px; top:50%; height:2px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,color-mix(in srgb,var(--mq-who-accent) 40%,transparent),color-mix(in srgb,var(--mq-who-metal) 38%,transparent));
}
.mq-who-v5 .mq-who-progress-track > i {
  position:relative; z-index:2; justify-self:center; width:9px; height:9px; border-radius:50%;
  background:color-mix(in srgb,var(--mq-who-muted) 25%,var(--mq-who-panel));
  border:1px solid color-mix(in srgb,var(--mq-who-metal) 40%,transparent);
  transition:transform .24s ease,background .24s ease,box-shadow .24s ease;
}
.mq-who-v5 .mq-who-progress-track > i.is-current {
  transform:scale(1.34); background:var(--mq-who-metal-hi);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--mq-who-metal-hi) 13%,transparent),0 0 13px color-mix(in srgb,var(--mq-who-metal-hi) 55%,transparent);
}
.mq-who-v5 .mq-who-progress-track > i.is-done { background:var(--mq-who-accent-2); box-shadow:0 0 9px color-mix(in srgb,var(--mq-who-accent-2) 48%,transparent); }

.mq-who-v5 .mq-who-gift {
  position:absolute; z-index:4; right:-2px; top:50%; width:40px; height:40px;
  display:flex; align-items:center; justify-content:center; border-radius:13px;
  color:var(--mq-who-metal-lo); background:linear-gradient(145deg,var(--mq-who-panel),var(--mq-who-panel-2));
  border:1px solid color-mix(in srgb,var(--mq-who-metal) 48%,transparent);
  box-shadow:0 6px 14px color-mix(in srgb,var(--mq-who-shadow) 62%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 45%,transparent);
  transform:translateY(-50%) scale(.78); opacity:0; pointer-events:none;
  transition:opacity .24s ease,transform .32s cubic-bezier(.2,1,.2,1),filter .24s ease,box-shadow .28s ease;
}
.mq-who-v5 .mq-who-gift-icon { width:23px; height:23px; display:flex; align-items:center; justify-content:center; }
.mq-who-v5 .mq-who-gift-icon svg { width:100%; height:100%; }
.mq-who-v5 .mq-who-gift-lock {
  position:absolute; z-index:2; width:12px; height:12px; right:-3px; top:-4px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:.42rem; color:var(--mq-who-metal-lo);
  background:var(--mq-who-metal-hi); border:1px solid var(--mq-who-metal); box-shadow:0 2px 5px var(--mq-who-shadow);
}
.mq-who-v5 .mq-who-gift.is-locked { opacity:.64; transform:translateY(-50%) scale(.84); filter:saturate(.38); }
.mq-who-v5 .mq-who-gift.is-near { opacity:.84; transform:translateY(-50%) scale(.92); filter:saturate(.62); }
.mq-who-v5 .mq-who-gift.is-ready {
  opacity:1; transform:translateY(-50%) scale(1); filter:none;
  color:var(--mq-who-metal-lo); background:linear-gradient(145deg,var(--mq-who-metal-hi),#fff9df 48%,var(--mq-who-metal));
  box-shadow:0 0 0 6px color-mix(in srgb,var(--mq-who-metal-hi) 12%,transparent),0 7px 18px color-mix(in srgb,var(--mq-who-metal) 30%,transparent);
  animation:mq-who-gift-ready 1.45s ease-in-out infinite;
}
@keyframes mq-who-gift-ready { 0%,100%{transform:translateY(-50%) scale(1)} 50%{transform:translateY(-54%) scale(1.06)} }

/* La valeur réelle n'existe visuellement qu'après le cinquième défi. */
.mq-who-v5 .mq-who-series-reward { border-radius:24px; }
.mq-who-v5 .mq-who-reward-gift {
  width:92px; height:92px; border-radius:28px;
  animation:mq-who-v5-gift-reveal .72s cubic-bezier(.16,1.25,.25,1) both;
}
@keyframes mq-who-v5-gift-reveal {
  0%{transform:translateY(18px) scale(.55) rotate(-8deg);opacity:0}
  58%{transform:translateY(-7px) scale(1.12) rotate(4deg);opacity:1}
  100%{transform:none;opacity:1}
}
.mq-who-v5 .mq-who-series-reward > div b { min-width:120px; justify-content:center; }
.mq-who-reward-note { position:relative; z-index:2; margin:0; color:var(--mq-who-muted); font-size:.68rem; font-weight:750; }

@media (max-width:360px) {
  .mq-who-v5 .mq-who-progress-track { height:26px; padding-right:36px; }
  .mq-who-v5 .mq-who-gift { width:34px; height:34px; border-radius:11px; }
  .mq-who-v5 .mq-who-gift-icon { width:20px; height:20px; }
}
@media (max-height:620px) {
  .mq-who-v5 .mq-who-mystery-wrap { min-height:116px; }
  .mq-who-v5 .mq-who-progress-track { height:22px; padding-right:34px; }
  .mq-who-v5 .mq-who-gift { width:31px; height:31px; border-radius:10px; }
  .mq-who-v5 .mq-who-gift-icon { width:18px; height:18px; }
}

/* =========================================================================
   MEMOQUEST 6.28.4 — CONTRAT RESPONSIVE SMARTPHONE
   Les proportions compactes ne dépendent plus uniquement de la hauteur du
   viewport. Une WebView plein écran et Chrome avec barre d’adresse doivent
   rendre la même interface pour une largeur smartphone <= 480 CSS px.
   ========================================================================= */

/* ================================================================
   MEMOQUEST 6.28.4 — ROUTE DES TROPHÉES / ASCENSION COMPÉTITIVE
   Clone fonctionnel du design validé. Présentation uniquement :
   aucun barème de trophées ou de matchmaking n'est modifié.
   ================================================================ */
.mq-competitive-card[data-competitive-card]{cursor:pointer;outline:none;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease}
.mq-competitive-card[data-competitive-card]:active{transform:scale(.988)}
.mq-competitive-card[data-competitive-card]:focus-visible{box-shadow:0 0 0 3px rgba(31,180,194,.2),0 15px 28px rgba(25,78,133,.12)}
.mq-trophy-road-open{overflow:hidden!important}

/* Couche plein écran : on ne déplace jamais le viewport du jeu. */
.mq-trophy-route-layer,.mq-tier-promotion-layer{position:absolute;inset:0;z-index:1250;display:flex;align-items:stretch;justify-content:center;background:rgba(236,250,253,.98);opacity:1;transition:opacity .24s ease}
.mq-trophy-route-layer.is-closing,.mq-tier-promotion-layer.is-closing{opacity:0;pointer-events:none}
.mq-trophy-route{position:relative;width:min(100%,520px);height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:
 radial-gradient(circle at 85% 6%,rgba(84,201,238,.18),transparent 27%),
 radial-gradient(circle at 7% 94%,rgba(247,196,71,.12),transparent 28%),
 linear-gradient(180deg,#f5fcff 0%,#edf9fb 52%,#fbfdfc 100%);color:#153f58}
.mq-trophy-route:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.52) 48%,transparent 54%);transform:translateX(-120%);animation:mq-route-sheen 1.2s ease .2s both}
@keyframes mq-route-sheen{to{transform:translateX(120%)}}

/* En-tête identique au mockup validé. */
.mq-trophy-route-head{position:relative;z-index:5;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;padding:12px 16px 9px;min-height:70px}
.mq-trophy-route-head button{width:44px;height:44px;border:1px solid rgba(25,93,125,.08);border-radius:15px;display:grid;place-items:center;color:#14455d;background:rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(27,84,111,.1);-webkit-tap-highlight-color:transparent}
.mq-trophy-route-head button:active{transform:scale(.95)}
.mq-trophy-route-head button svg{width:24px;height:24px;stroke-width:2.2}
.mq-trophy-route-head>div{text-align:center;min-width:0}
.mq-trophy-route-head h2{margin:0;color:#123f59;font-size:1.27rem;line-height:1.05;font-weight:1000;letter-spacing:-.035em}
.mq-trophy-route-head p{margin:4px 0 0;color:#6d8aa2;font-size:.64rem;line-height:1;font-weight:820}.mq-trophy-route-head p span{color:#21aee0}

/* Résumé 3 colonnes. */
.mq-trophy-summary{position:relative;z-index:3;margin:0 16px 10px;padding:12px 10px 10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.96);box-shadow:0 13px 30px rgba(31,92,118,.1),inset 0 1px 0 #fff}
.mq-trophy-summary-cell{min-width:0;display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center;padding:0 8px;position:relative}
.mq-trophy-summary-cell+ .mq-trophy-summary-cell:before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:1px;background:#e4eef2}
.mq-trophy-summary-cell>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(33,110,143,.07)}
.mq-trophy-summary-cell>span svg{width:21px;height:21px}
.mq-trophy-summary-cell.is-trophies>span{color:#eba91d;background:#fff8e5;box-shadow:0 5px 12px rgba(224,162,35,.12)}
.mq-trophy-summary-cell.is-grid>span{background:#f2f9fd}
.mq-trophy-summary-cell.is-next>span{background:#f0fbf2}
.mq-trophy-summary-cell p{min-width:0;margin:0;color:#67839a;font-size:.49rem;line-height:1.12;font-weight:780;white-space:normal}
.mq-trophy-summary-cell p strong{display:block;margin-top:3px;color:#153f58;font-size:.93rem;line-height:1;font-weight:1000;white-space:nowrap;font-variant-numeric:tabular-nums}
.mq-trophy-summary-cell.is-trophies p strong{font-size:1.12rem}.mq-trophy-summary-cell.is-next p strong{color:#269a63;font-size:.66rem;line-height:1.1}
.mq-trophy-summary-cell p strong b{font:inherit}
.mq-trophy-grid-icon{display:grid!important;grid-template-columns:repeat(2,7px);grid-template-rows:repeat(2,7px);gap:2px;place-content:center;color:#258dce}
.mq-trophy-grid-icon i{display:block;width:7px;height:7px;border-radius:2px;background:currentColor;box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.mq-target-icon{position:relative;display:block;width:20px;height:20px;border:3px solid #4cb962;border-radius:50%}
.mq-target-icon:before,.mq-target-icon:after{content:"";position:absolute;background:#4cb962;border-radius:2px}.mq-target-icon:before{left:50%;top:-6px;bottom:-6px;width:2px;transform:translateX(-50%)}.mq-target-icon:after{top:50%;left:-6px;right:-6px;height:2px;transform:translateY(-50%)}
.mq-target-icon{box-shadow:inset 0 0 0 4px rgba(76,185,98,.14)}
.mq-trophy-next-line{grid-column:1/-1;margin-top:10px;min-height:37px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:14px;background:linear-gradient(180deg,#f7fbfd,#f0f8fb);border:1px solid #e6f0f4;color:#67839a}
.mq-trophy-next-line>svg{width:17px;height:17px;color:#5daddb;transform:rotate(-90deg)}
.mq-trophy-next-line p{margin:0;font-size:.57rem;font-weight:760}.mq-trophy-next-line p b,.mq-trophy-next-line p strong{color:#179eae;font-weight:1000}

/* Barre de progression globale. */
.mq-trophy-overall{position:relative;z-index:3;margin:0 18px 8px}
.mq-trophy-overall>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mq-trophy-overall>div:first-child span{color:#64849a;font-size:.58rem;font-weight:900}.mq-trophy-overall>div:first-child b{color:#1399a8;font-size:.66rem;font-weight:1000}
.mq-trophy-overall-bar{height:7px;margin-top:6px;border-radius:99px;overflow:hidden;background:#dcecf0;box-shadow:inset 0 1px 2px rgba(22,77,105,.08)}
.mq-trophy-overall-bar i{display:block;width:var(--road-overall,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#11afb6,#20b8c4,#2099d2);box-shadow:0 0 10px rgba(32,176,190,.28);transform-origin:left;animation:mq-route-progress .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes mq-route-progress{from{transform:scaleX(0)}}
.mq-trophy-overall>p{margin:4px 0 0;color:#718ba0;font-size:.52rem;font-weight:760}.mq-trophy-overall>p b{color:#1495a5;font-size:1.08em}

/* Route : 9 paliers, visibilité par défaut pour éviter tout écran vide. */
.mq-trophy-road-scroll{position:relative;z-index:2;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:7px 14px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mq-trophy-road-scroll::-webkit-scrollbar{display:none}
.mq-trophy-road-track{position:absolute;left:112px;top:27px;bottom:27px;width:3px;border-radius:99px;background:#d6e8ed;overflow:hidden;pointer-events:none}
.mq-trophy-road-track>span{position:absolute;inset:0}.mq-trophy-road-track>span i{position:absolute;left:0;right:0;bottom:0;height:var(--road-progress,0%);border-radius:99px;background:linear-gradient(0deg,#21c7b8,#27a9cd,#f3bd36);box-shadow:0 0 9px rgba(30,181,187,.34);transform-origin:bottom;animation:mq-route-climb 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes mq-route-climb{from{transform:scaleY(0)}}
.mq-trophy-stage{position:relative;display:grid;grid-template-columns:87px 18px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;margin:0 0 6px;opacity:1;transform:none;transition:transform .36s cubic-bezier(.2,.8,.2,1),opacity .28s ease}
.mq-trophy-route-layer:not(.is-ready) .mq-trophy-stage{opacity:.78;transform:translateY(5px)}
.mq-trophy-threshold{height:43px;padding:0 9px;border-radius:13px;display:flex;align-items:center;justify-content:flex-start;gap:6px;color:#8099ad;background:rgba(255,255,255,.84);border:1px solid rgba(44,108,140,.08);box-shadow:0 5px 12px rgba(30,79,107,.07);font-variant-numeric:tabular-nums}
.mq-trophy-threshold svg{width:16px;height:16px;flex:0 0 auto}.mq-trophy-threshold b{font-size:.67rem;font-weight:1000;white-space:nowrap}
.mq-trophy-stage-dot{position:relative;z-index:3;width:15px;height:15px;border:3px solid #eff9fb;border-radius:50%;display:grid;place-items:center;background:#bdd9e5;box-shadow:0 0 0 1px #9fc7d8}
.mq-trophy-stage-dot svg{width:10px;height:10px;color:white;stroke-width:2.4}
.mq-trophy-format{height:46px;min-width:0;padding:0 11px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:14px;background:rgba(255,255,255,.84);border:1px solid rgba(35,100,132,.07);box-shadow:0 5px 12px rgba(27,78,105,.06)}
.mq-trophy-format .mq-trophy-grid-icon{width:30px;height:30px;border-radius:10px;background:#f1f7fb;color:#7a98b3}.mq-trophy-format strong{color:#6e8ba6;font-size:.78rem;line-height:1;font-weight:1000;white-space:nowrap}
.mq-trophy-state{display:flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap;font-size:.45rem;font-weight:1000;letter-spacing:.015em}.mq-trophy-state svg{width:14px;height:14px}
.mq-trophy-state.is-locked{color:#9aaab8}.mq-trophy-state.is-done{color:#41ad7a}.mq-trophy-state.is-current{padding:5px 7px;border-radius:9px;color:white;background:linear-gradient(135deg,#1ab7c3,#23c7b0);box-shadow:0 6px 12px rgba(26,176,183,.2)}
.mq-trophy-stage.is-done .mq-trophy-threshold{color:#45aa7c;background:linear-gradient(180deg,#f7fffb,#eefbf6)}.mq-trophy-stage.is-done .mq-trophy-stage-dot{background:#5bc893;box-shadow:0 0 0 1px #50bb88}.mq-trophy-stage.is-done .mq-trophy-format strong{color:#587c91}
.mq-trophy-stage.is-current .mq-trophy-threshold{color:#11a6ae;border-color:rgba(18,177,184,.34);background:linear-gradient(180deg,#f9ffff,#eafafb);box-shadow:0 7px 17px rgba(21,169,177,.15),0 0 0 2px rgba(30,200,202,.05)}
.mq-trophy-stage.is-current .mq-trophy-stage-dot{background:#1bc3c1;box-shadow:0 0 0 1px #0aa6ad,0 0 0 5px rgba(26,193,194,.11);animation:mq-current-dot 1.7s ease-in-out infinite}
@keyframes mq-current-dot{50%{box-shadow:0 0 0 1px #0aa6ad,0 0 0 9px rgba(26,193,194,.035)}}
.mq-trophy-stage.is-current .mq-trophy-format{border-color:#1bcad0;background:linear-gradient(135deg,#fbffff,#ebfbfb);box-shadow:0 8px 18px rgba(20,169,180,.13),0 0 0 1px rgba(29,208,210,.17)}
.mq-trophy-stage.is-current .mq-trophy-format .mq-trophy-grid-icon{color:#2098cf;background:#effbfe}.mq-trophy-stage.is-current .mq-trophy-format strong{color:#1599aa;font-size:.84rem}
.mq-trophy-stage.is-future{filter:saturate(.75)}

/* Message pédagogique en bas. */
.mq-trophy-route-tip{position:relative;z-index:5;margin:3px 16px 12px;min-height:58px;padding:9px 11px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;border-radius:18px;background:rgba(248,253,255,.9);border:1px solid rgba(40,139,168,.12);box-shadow:0 8px 20px rgba(31,83,108,.06)}
.mq-trophy-route-tip>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#24c6bc,#259bd3);box-shadow:0 7px 15px rgba(27,153,188,.18)}.mq-trophy-route-tip svg{width:20px;height:20px}
.mq-trophy-route-tip p{margin:0;color:#71899d;font-size:.5rem;line-height:1.27;font-weight:720}.mq-trophy-route-tip b{color:#1b5069;font-size:1.06em;font-weight:1000}

/* ================================================================
   PALIER FRANCHI — écran de célébration premium
   ================================================================ */
.mq-tier-promotion-layer{z-index:1350;align-items:center;padding:12px;background:radial-gradient(circle at 50% 26%,rgba(233,249,255,.96),rgba(231,245,248,.99) 68%)}
.mq-tier-promotion{position:relative;width:min(100%,430px);max-height:96%;overflow:auto;padding:22px 16px 14px;border-radius:29px;text-align:center;background:
 radial-gradient(circle at 50% 25%,rgba(255,223,100,.25),transparent 28%),
 linear-gradient(180deg,#f8fdff,#effafd 55%,#f9fdfc);border:1px solid rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(28,77,103,.2);opacity:1;transform:none;scrollbar-width:none}
.mq-tier-promotion::-webkit-scrollbar{display:none}
.mq-tier-promotion-layer:not(.is-ready) .mq-tier-promotion{opacity:.72;transform:translateY(8px) scale(.985)}
.mq-tier-promotion-layer.is-ready .mq-tier-promotion{transition:opacity .28s ease,transform .55s cubic-bezier(.16,1.15,.3,1)}
.mq-tier-promotion>small{position:relative;z-index:3;display:block;color:#1499a9;font-size:.64rem;letter-spacing:.08em;font-weight:1000}
.mq-tier-promotion>h2{position:relative;z-index:3;margin:4px auto 10px;max-width:340px;color:#123e58;font-size:1.18rem;line-height:1.08;font-weight:1000;letter-spacing:-.03em}
.mq-promotion-rays{position:absolute;left:50%;top:112px;width:235px;height:235px;transform:translate(-50%,-50%);opacity:.48;animation:mq-rays-spin 14s linear infinite;pointer-events:none}.mq-promotion-rays i{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,200,42,.32) 0 3deg,transparent 3deg 22deg)}
@keyframes mq-rays-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.mq-promotion-cup{position:relative;z-index:2;margin:4px auto 10px;width:86px;height:86px;border-radius:29px;display:grid;place-items:center;color:#fff7d5;background:linear-gradient(145deg,#ffd95f,#eaa019);border:4px solid #fff;box-shadow:0 16px 34px rgba(200,130,20,.27),0 0 0 9px rgba(255,199,52,.11);animation:mq-promotion-pop .65s cubic-bezier(.14,1.32,.25,1) both}.mq-promotion-cup svg{width:46px;height:46px;stroke-width:1.7}
@keyframes mq-promotion-pop{from{transform:translateY(32px) scale(.45) rotate(-10deg);opacity:.15}}
.mq-promotion-cup i{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffd74d;box-shadow:38px -10px 0 #35c8bb,-36px -15px 0 #56a3e4,31px 28px 0 #ff987c,-33px 26px 0 #f8c445;animation:mq-prom-spark .85s ease-in-out infinite alternate}.mq-promotion-cup i+i{transform:rotate(45deg) scale(.72);animation-delay:.22s}@keyframes mq-prom-spark{to{transform:rotate(28deg) scale(1.12)}}
.mq-tier-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.mq-confetti-piece{--hue:calc(var(--i)*28deg);position:absolute;left:calc(4% + var(--i)*5.2%);top:-14px;width:6px;height:11px;border-radius:2px;background:hsl(var(--hue) 72% 60%);opacity:.8;transform:rotate(calc(var(--i)*19deg));animation:mq-confetti-fall 2.8s ease-in-out calc(var(--i)*-.12s) infinite}
.mq-confetti-piece:nth-child(3n){width:8px;height:5px;background:#f2bd3d}.mq-confetti-piece:nth-child(3n+1){background:#30b9d2}.mq-confetti-piece:nth-child(3n+2){background:#54c59c}
@keyframes mq-confetti-fall{0%{transform:translateY(-15px) rotate(0deg);opacity:0}12%{opacity:.85}100%{transform:translateY(280px) rotate(300deg);opacity:0}}
.mq-promotion-shift{position:relative;z-index:3;margin:8px auto 10px;display:grid;grid-template-columns:1fr 28px 1fr;gap:7px;align-items:center;max-width:310px}
.mq-promotion-shift article{position:relative;min-height:64px;padding:9px 6px;border-radius:17px;display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.84);border:1px solid rgba(39,103,135,.08);box-shadow:0 8px 18px rgba(30,77,104,.07)}
.mq-promotion-shift article .mq-trophy-grid-icon{width:31px;height:31px;border-radius:10px;background:#f0f7fb;color:#2a94d3}.mq-promotion-shift article strong{color:#1a4963;font-size:.78rem;font-weight:1000}.mq-promotion-shift>em{color:#17b9b3;font-style:normal}.mq-promotion-shift>em svg{width:22px;height:22px;stroke-width:2.4}
.mq-promotion-shift article.is-new{border-color:#24c8ce;background:linear-gradient(135deg,#fbffff,#ebfbfa);box-shadow:0 8px 20px rgba(27,185,191,.16),0 0 0 2px rgba(40,210,211,.06);animation:mq-new-format 1.35s ease-in-out infinite alternate}.mq-promotion-shift article.is-new strong{color:#149eaa}.mq-promotion-shift article.is-new>b{position:absolute;right:7px;bottom:-7px;padding:3px 6px;border-radius:7px;color:white;background:#19b7c1;font-size:.38rem;font-weight:1000}
@keyframes mq-new-format{to{box-shadow:0 10px 25px rgba(27,185,191,.22),0 0 0 4px rgba(40,210,211,.045)}}
.mq-promotion-details{position:relative;z-index:3;margin:6px 0 10px;padding:2px 11px;border-radius:21px;text-align:left;background:rgba(255,255,255,.9);border:1px solid rgba(38,100,132,.07);box-shadow:0 10px 22px rgba(31,83,108,.07)}
.mq-promotion-details>div{min-height:58px;display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:7px 0}.mq-promotion-details>div+div{border-top:1px solid #e8f0f3}
.mq-promotion-details>div>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center}.mq-promotion-details>div>span svg{width:19px;height:19px}.mq-promotion-details .is-gold{color:#df9f16;background:#fff7df}.mq-promotion-details .is-blue{background:#eef8fd}.mq-promotion-details .is-green{background:#f0faf2}
.mq-mini-grid{display:block;width:18px;height:18px;background:linear-gradient(#2799d4 0 0) 0 0/8px 8px no-repeat,linear-gradient(#2799d4 0 0) 100% 0/8px 8px no-repeat,linear-gradient(#2799d4 0 0) 0 100%/8px 8px no-repeat,linear-gradient(#2799d4 0 0) 100% 100%/8px 8px no-repeat}
.mq-promotion-details p{margin:0;color:#6e899d;font-size:.52rem;line-height:1.2;font-weight:740}.mq-promotion-details p strong{display:block;color:#1b4d66;font-size:.66rem;font-weight:1000}.mq-promotion-details p strong b{color:#13a2af}.mq-promotion-details p small{display:block;margin-top:2px;font-size:.48rem;font-weight:720}.mq-promotion-details p>strong+span{display:block;margin-top:1px}.mq-promotion-details .is-green+.mq-target-icon{transform:scale(.8)}
.mq-promotion-primary,.mq-promotion-secondary{position:relative;z-index:3;width:100%;min-height:45px;border-radius:14px;font-size:.69rem;font-weight:1000;-webkit-tap-highlight-color:transparent}
.mq-promotion-primary{border:0;color:white;background:linear-gradient(135deg,#21bfc1,#199bc8);box-shadow:0 11px 22px rgba(24,154,184,.2)}.mq-promotion-secondary{margin-top:7px;border:1px solid rgba(51,107,137,.11);color:#52738c;background:rgba(255,255,255,.82)}
.mq-promotion-primary:active,.mq-promotion-secondary:active{transform:scale(.985)}

/* Thèmes. */
.mq-shell[data-skin="grenat"] .mq-trophy-route,.mq-shell[data-skin="grenat"] .mq-tier-promotion{background:linear-gradient(180deg,#fff9f7,#f8eeee 58%,#fffaf3)}
.mq-shell[data-skin="ardoise"] .mq-trophy-route,.mq-shell[data-skin="ardoise"] .mq-tier-promotion{background:linear-gradient(180deg,#f9fbfc,#ebf1f4 58%,#f8fbfb)}
.mq-shell[data-skin="nuit"] .mq-trophy-route,.mq-shell[data-skin="nuit"] .mq-tier-promotion{background:linear-gradient(180deg,#172439,#101c2e 58%,#142136);color:#edf6ff}.mq-shell[data-skin="nuit"] :is(.mq-trophy-route-head h2,.mq-trophy-summary-cell p strong,.mq-trophy-format strong,.mq-tier-promotion>h2,.mq-promotion-details p strong){color:#edf6ff}.mq-shell[data-skin="nuit"] :is(.mq-trophy-summary,.mq-trophy-threshold,.mq-trophy-format,.mq-trophy-route-tip,.mq-promotion-shift article,.mq-promotion-details){background:rgba(25,40,61,.88);border-color:#33485f}.mq-shell[data-skin="nuit"] :is(.mq-trophy-summary-cell p,.mq-trophy-overall>p,.mq-trophy-route-tip p,.mq-promotion-details p){color:#9fb1c5}

/* Accessibilité / animation calme. */
[data-motion="calme"] :is(.mq-trophy-route:before,.mq-trophy-overall-bar i,.mq-trophy-road-track i,.mq-trophy-stage.is-current .mq-trophy-stage-dot,.mq-promotion-rays,.mq-promotion-cup,.mq-promotion-cup i,.mq-confetti-piece,.mq-promotion-shift article.is-new){animation:none!important}
@media (prefers-reduced-motion:reduce){.mq-trophy-route:before,.mq-trophy-overall-bar i,.mq-trophy-road-track i,.mq-trophy-stage.is-current .mq-trophy-stage-dot,.mq-promotion-rays,.mq-promotion-cup,.mq-promotion-cup i,.mq-confetti-piece,.mq-promotion-shift article.is-new{animation:none!important}}

/* Contrat smartphone : mêmes proportions dans Chrome et dans la WebView. */
@media (max-width:480px), (max-height:700px){
 .mq-trophy-route-head{min-height:62px;padding:9px 13px 7px;grid-template-columns:42px 1fr 42px}.mq-trophy-route-head button{width:40px;height:40px;border-radius:13px}.mq-trophy-route-head h2{font-size:1.14rem}.mq-trophy-route-head p{font-size:.57rem}
 .mq-trophy-summary{margin:0 13px 8px;padding:9px 7px 8px;border-radius:20px}.mq-trophy-summary-cell{grid-template-columns:34px 1fr;gap:5px;padding:0 5px}.mq-trophy-summary-cell>span{width:33px;height:33px}.mq-trophy-summary-cell>span svg{width:18px;height:18px}.mq-trophy-summary-cell p{font-size:.43rem}.mq-trophy-summary-cell p strong{font-size:.78rem}.mq-trophy-summary-cell.is-trophies p strong{font-size:.98rem}.mq-trophy-summary-cell.is-next p strong{font-size:.57rem}.mq-trophy-grid-icon{grid-template-columns:repeat(2,6px);grid-template-rows:repeat(2,6px);gap:2px}.mq-trophy-grid-icon i{width:6px;height:6px}.mq-target-icon{width:17px;height:17px;border-width:2px}.mq-trophy-next-line{margin-top:8px;min-height:32px;padding:5px 7px;border-radius:12px}.mq-trophy-next-line p{font-size:.49rem}
 .mq-trophy-overall{margin:0 15px 6px}.mq-trophy-overall>div:first-child span{font-size:.51rem}.mq-trophy-overall>div:first-child b{font-size:.59rem}.mq-trophy-overall-bar{height:6px;margin-top:5px}.mq-trophy-overall>p{font-size:.46rem}
 .mq-trophy-road-scroll{padding:5px 11px 7px}.mq-trophy-road-track{left:98px;top:25px;bottom:25px}.mq-trophy-stage{grid-template-columns:76px 17px minmax(0,1fr);gap:6px;min-height:44px;margin-bottom:5px}.mq-trophy-threshold{height:39px;padding:0 7px;border-radius:12px;gap:5px}.mq-trophy-threshold svg{width:14px;height:14px}.mq-trophy-threshold b{font-size:.6rem}.mq-trophy-stage-dot{width:13px;height:13px;border-width:3px}.mq-trophy-format{height:41px;padding:0 8px;grid-template-columns:27px minmax(0,1fr) auto;gap:6px;border-radius:12px}.mq-trophy-format .mq-trophy-grid-icon{width:27px;height:27px;border-radius:9px}.mq-trophy-format strong{font-size:.69rem}.mq-trophy-stage.is-current .mq-trophy-format strong{font-size:.74rem}.mq-trophy-state{font-size:.39rem}.mq-trophy-state.is-current{padding:4px 6px}.mq-trophy-state svg{width:12px;height:12px}
 .mq-trophy-route-tip{margin:2px 13px 8px;min-height:50px;padding:7px 9px;grid-template-columns:33px 1fr;gap:8px;border-radius:15px}.mq-trophy-route-tip>span{width:33px;height:33px;border-radius:10px}.mq-trophy-route-tip svg{width:17px;height:17px}.mq-trophy-route-tip p{font-size:.44rem}
 .mq-tier-promotion-layer{padding:9px}.mq-tier-promotion{padding:18px 13px 12px;border-radius:25px}.mq-tier-promotion>small{font-size:.56rem}.mq-tier-promotion>h2{font-size:1.02rem;margin-bottom:8px}.mq-promotion-cup{width:72px;height:72px;border-radius:24px}.mq-promotion-cup svg{width:38px;height:38px}.mq-promotion-rays{top:98px;width:205px;height:205px}.mq-promotion-shift{grid-template-columns:1fr 24px 1fr;max-width:280px}.mq-promotion-shift article{min-height:57px;border-radius:15px}.mq-promotion-shift article strong{font-size:.7rem}.mq-promotion-details>div{min-height:52px;grid-template-columns:34px 1fr}.mq-promotion-details>div>span{width:32px;height:32px}.mq-promotion-details p{font-size:.47rem}.mq-promotion-details p strong{font-size:.59rem}.mq-promotion-primary,.mq-promotion-secondary{min-height:42px;font-size:.63rem}
}

/* =========================================================================
   MEMOQUEST 6.28.7 — PATCH VISUEL ARDOISE + NUIT
   Portée volontairement limitée aux thèmes concernés.
   Aucun comportement de jeu, score, économie ou réseau n'est modifié.
   ========================================================================= */

/* --- ARDOISE : calme visuel, suppression des scintillements/reflets lourds --- */
.mq-shell[data-skin="ardoise"] .mq-ambiance::before {
  opacity:.16;
  animation:none!important;
  transform:none!important;
  will-change:auto;
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i {
  animation:none!important;
  transform:none!important;
  will-change:auto;
  opacity:.58;
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(1) {
  background:linear-gradient(105deg,transparent 18%,rgba(150,230,238,.055) 38%,transparent 57%),linear-gradient(75deg,transparent 31%,rgba(118,198,213,.045) 48%,transparent 65%);
  filter:blur(8px);
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(2) {
  background:radial-gradient(circle,rgba(62,145,166,.065),transparent 66%);
}
.mq-shell[data-skin="ardoise"] .mq-ambiance i:nth-child(3) {
  background:radial-gradient(ellipse,rgba(64,125,142,.055),transparent 67%);
}

.mq-shell[data-skin="ardoise"] .mq-card.is-open .mq-back::after,
.mq-shell[data-skin="ardoise"] .mq-card.is-done .mq-front::before {
  animation-duration:.95s;
}

/* --- NUIT : surfaces de choix réellement sombres et typographie blanche --- */
.mq-shell[data-skin="nuit"] {
  --night-selected:#142238;
  --night-selected-text:#ffffff;
}

.mq-shell[data-skin="nuit"] .mq-carreau[aria-checked="true"]::before {
  background:linear-gradient(180deg,rgba(255,255,255,.065),transparent 23%)!important;
  opacity:.32!important;
}

.mq-shell[data-skin="nuit"] .mq-carreau[aria-checked="true"]::after {
  width:clamp(34px,9.5vw,46px);
  top:clamp(9px,1.25vh,12px);
  right:clamp(9px,2vw,12px);
  border:2px solid rgba(236,249,255,.90)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),linear-gradient(145deg,#69d3ef,#6575df)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.26)!important;
}

/* Champs Nuit : noir propre, texte blanc, reflet minimal. */
.mq-shell[data-skin="nuit"] :is(.mq-promo-entry,.mq-input,input[type="text"],input[type="number"],select,textarea) {
  background:#080f1b!important;
  color:#fff!important;
  border-color:#344963!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 5px 12px rgba(0,0,0,.18)!important;
}
.mq-shell[data-skin="nuit"] :is(.mq-promo-entry,.mq-input,.mq-premium-field,input,textarea)::placeholder {
  color:#8290a8!important;
  opacity:1;
}

/* Dos des cartes Nuit : emblème lune premium réellement rendu. */
.mq-shell[data-skin="nuit"] .mq-back {
  background:
    radial-gradient(circle at 50% 42%,rgba(87,142,205,.10),transparent 42%),
    linear-gradient(160deg,#182740 0%,#101b30 54%,#091321 100%)!important;
  border-color:#9fb6cf!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),inset 0 -12px 22px rgba(0,0,0,.20),0 5px 12px rgba(0,0,0,.28)!important;
}
.mq-shell[data-skin="nuit"] .mq-back::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle at 20% 22%,rgba(255,255,255,.28) 0 1px,transparent 1.6px),
    radial-gradient(circle at 78% 29%,rgba(156,226,250,.24) 0 1px,transparent 1.7px),
    radial-gradient(circle at 73% 78%,rgba(255,255,255,.20) 0 1px,transparent 1.6px),
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 30%,transparent 74%,rgba(131,220,246,.035))!important;
  filter:none!important;
  opacity:1!important;
}
.mq-shell[data-skin="nuit"] .mq-back::after {
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:36%!important;
  aspect-ratio:1!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  pointer-events:none!important;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96' fill='none'%3E%3Ccircle cx='48' cy='48' r='38' stroke='%235c7697' stroke-width='1.5' opacity='.42'/%3E%3Cpath d='M61.5 23.5c-12 4.3-20.5 15.7-20.5 29.1 0 11.8 6.6 22 16.3 27.2-2.9.9-6 1.4-9.2 1.4-17.4 0-31.5-14.1-31.5-31.5S30.7 18.2 48.1 18.2c4.8 0 9.3 1.1 13.4 3v2.3Z' fill='%23dff6ff' opacity='.94'/%3E%3Cpath d='m69 29 2.2 6.8L78 38l-6.8 2.2L69 47l-2.2-6.8L60 38l6.8-2.2L69 29Z' fill='%2388def5'/%3E%3Ccircle cx='72' cy='59' r='2.5' fill='%23eefcff'/%3E%3Ccircle cx='25' cy='28' r='1.8' fill='%239edff3'/%3E%3C/svg%3E")!important;
  opacity:.96!important;
  filter:drop-shadow(0 0 7px rgba(112,202,239,.24))!important;
}
.mq-shell[data-skin="nuit"] .mq-card.is-open .mq-back::after {
  animation:mq-night-premium-emblem .62s ease-out!important;
}
@keyframes mq-night-premium-emblem {
  0% { opacity:.66; transform:translate(-50%,-50%) scale(.92); }
  100% { opacity:.96; transform:translate(-50%,-50%) scale(1); }
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="nuit"] .mq-card.is-open .mq-back::after { animation:none!important; }
}

/* ======================================================================
   MEMOQUEST 6.28.12 — GUIDE ÉVÉNEMENTIEL / MOTION PREMIUM
   Aucun voile ni fond. Entrée/sortie uniquement sur le visuel transparent.
   ====================================================================== */
@keyframes mq-guide-enter-premium {
  0%   { opacity:0; transform:translate(-50%,30px) scale(.90);  }
  52%  { opacity:1; transform:translate(-50%,-5px) scale(1.026);  }
  76%  { opacity:1; transform:translate(-50%,2px) scale(.995); }
  100% { opacity:1; transform:translate(-50%,0) scale(1);  }
}
@keyframes mq-guide-enter-celebration {
  0%   { opacity:0; transform:translate(-50%,34px) scale(.82) rotate(-1.2deg);  }
  45%  { opacity:1; transform:translate(-50%,-7px) scale(1.045) rotate(.5deg);  }
  68%  { transform:translate(-50%,3px) scale(.988) rotate(-.2deg); }
  84%  { transform:translate(-50%,-1px) scale(1.01) rotate(0); }
  100% { opacity:1; transform:translate(-50%,0) scale(1) rotate(0);  }
}
@keyframes mq-guide-enter-soft {
  0%   { opacity:0; transform:translate(-50%,18px) scale(.95);  }
  62%  { opacity:1; transform:translate(-50%,-2px) scale(1.012);  }
  100% { opacity:1; transform:translate(-50%,0) scale(1);  }
}
@keyframes mq-guide-switch-out {
  0%   { opacity:1; transform:translate(-50%,0) scale(1);  }
  100% { opacity:0; transform:translate(-50%,10px) scale(.965);  }
}
@keyframes mq-guide-exit-premium {
  0%   { opacity:1; transform:translate(-50%,0) scale(1);  }
  24%  { opacity:1; transform:translate(-50%,-3px) scale(1.012); }
  100% { opacity:0; transform:translate(-50%,18px) scale(.94);  }
}
.mq-onboarding-layer {
  position:absolute;
  inset:0;
  z-index:38;
  pointer-events:none;
  overflow:hidden;
  background:transparent!important;
  opacity:1;
  -webkit-tap-highlight-color:transparent;
}
.mq-onboarding-art {
  position:absolute;
  z-index:1;
  left:50%;
  bottom:max(0px,env(safe-area-inset-bottom));
  display:block;
  width:min(103vw,940px);
  height:auto;
  max-height:min(43vh,505px);
  object-fit:contain;
  object-position:center bottom;
  opacity:0;
  transform:translate(-50%,30px) scale(.90);
  transform-origin:center bottom;
  /* aucun filtre : blur/drop-shadow animés sur une image de 940 px provoquaient des saccades en pleine partie */
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.mq-onboarding-art.is-ready {
  animation:mq-guide-enter-premium .56s cubic-bezier(.16,.84,.24,1) both;
}
/* Les combos rares reçoivent un mouvement plus spectaculaire, mais court. */
.mq-onboarding-layer[data-guide-event="combo3"] .mq-onboarding-art.is-ready,
.mq-onboarding-layer[data-guide-event="combo4"] .mq-onboarding-art.is-ready,
.mq-onboarding-layer[data-guide-event="combo5"] .mq-onboarding-art.is-ready,
.mq-onboarding-layer[data-guide-event="combo6"] .mq-onboarding-art.is-ready {
  animation-name:mq-guide-enter-celebration;
  animation-duration:.66s;
}
/* Erreur et rupture de combo : mouvement plus doux, sans effet de victoire. */
.mq-onboarding-layer[data-guide-event="firstMiss"] .mq-onboarding-art.is-ready,
.mq-onboarding-layer[data-guide-event="comboBreak"] .mq-onboarding-art.is-ready {
  animation-name:mq-guide-enter-soft;
  animation-duration:.46s;
}
.mq-onboarding-art.is-changing-out {
  animation:mq-guide-switch-out .19s cubic-bezier(.4,0,.7,1) both!important;
}
.mq-onboarding-layer.is-leaving .mq-onboarding-art {
  animation:mq-guide-exit-premium .30s cubic-bezier(.4,0,.7,1) both!important;
}
/* Les deux instructions d'action restent légèrement plus grandes. */
.mq-onboarding-layer[data-guide-event="start"] .mq-onboarding-art,
.mq-onboarding-layer[data-guide-event="firstCard"] .mq-onboarding-art {
  width:min(106vw,970px);
  max-height:min(45vh,525px);
}
/* Plus la série devient rare, plus le visuel gagne légèrement en présence. */
.mq-onboarding-layer[data-guide-event="combo4"] .mq-onboarding-art,
.mq-onboarding-layer[data-guide-event="combo5"] .mq-onboarding-art,
.mq-onboarding-layer[data-guide-event="combo6"] .mq-onboarding-art {
  width:min(105vw,965px);
  max-height:min(44vh,520px);
}
.mq-shell[data-motion="calme"] .mq-onboarding-art,
.mq-shell[data-motion="calme"] .mq-onboarding-art.is-ready,
.mq-shell[data-motion="calme"] .mq-onboarding-art.is-changing-out,
.mq-shell[data-motion="calme"] .mq-onboarding-layer.is-leaving .mq-onboarding-art {
  animation:none!important;
  opacity:1;
  transform:translate(-50%,0) scale(1);
  filter:drop-shadow(0 9px 18px rgba(5,31,58,.12));
}
@media (prefers-reduced-motion:reduce) {
  .mq-onboarding-art,
  .mq-onboarding-art.is-ready,
  .mq-onboarding-art.is-changing-out,
  .mq-onboarding-layer.is-leaving .mq-onboarding-art {
    animation:none!important;
    opacity:1;
    transform:translate(-50%,0) scale(1);
    filter:drop-shadow(0 9px 18px rgba(5,31,58,.12));
  }
}
@media (max-height:700px) {
  .mq-onboarding-art { width:min(101vw,790px);max-height:min(38vh,355px); }
  .mq-onboarding-layer[data-guide-event="start"] .mq-onboarding-art,
  .mq-onboarding-layer[data-guide-event="firstCard"] .mq-onboarding-art { width:min(104vw,820px);max-height:min(40vh,375px); }
}
@media (min-width:800px) {
  .mq-onboarding-art { width:min(78vw,960px);max-height:min(44vh,540px); }
  .mq-onboarding-layer[data-guide-event="start"] .mq-onboarding-art,
  .mq-onboarding-layer[data-guide-event="firstCard"] .mq-onboarding-art { width:min(82vw,990px); }
}

/* MEMOQUEST 6.28.12 — CLAVIER / DATE DE NAISSANCE
   Le clavier Android ne doit jamais masquer le champ actif. La WebView est
   redimensionnée nativement; cette règle fournit un fallback scrollable pour
   les claviers OEM et les grands panneaux de suggestions. */
.mq-view[data-view="online"].is-dob-ime .mq-online-center {
  align-items:flex-start;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:6px 3px 12px;
  scrollbar-width:none;
}
.mq-view[data-view="online"].is-dob-ime .mq-online-center::-webkit-scrollbar { display:none; }
.mq-view[data-view="online"].is-dob-ime .mq-online-age-card {
  flex:0 0 auto;
  margin:0 auto;
  scroll-margin-block:14px;
}
.mq-view[data-view="online"].is-dob-ime .mq-dob-field input { scroll-margin-block:18px; }
@media (max-height:700px) {
  .mq-view[data-view="online"].is-dob-ime .mq-online-head { padding-top:0; }
  .mq-view[data-view="online"].is-dob-ime .mq-online-age-card { padding-block:8px;gap:6px; }
  .mq-view[data-view="online"].is-dob-ime .mq-online-age-card p { line-height:1.18; }
}

/* Les photos Nourriture restent la mémoire principale de la carte : plein
   cadre 3:4, aucun filtre, seulement un voile très léger sous le libellé. */
.mq-board[data-category="nourriture"] .mq-front { padding:0;gap:0;background:#2a1710; }
.mq-board[data-category="nourriture"] .mq-front img { position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:none; }
.mq-board[data-category="nourriture"] .mq-front::after {
  content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:20%;pointer-events:none;
  background:linear-gradient(180deg,rgba(22,9,3,0),rgba(22,9,3,.42));
}
.mq-board[data-category="nourriture"] .mq-front > .mq-card-name { z-index:3; }

@media (max-width:480px), (max-height:700px) {
  
  
  
  
}

/* =========================================================================
   IMPACT SYSTEM — animations de partie à six paliers (6.28.18)
   Une couche d'effets au-dessus du plateau ; transform/opacity uniquement ;
   palette par thème via variables ; mode calme et reduced-motion respectés.
   ========================================================================= */
.mq-shell {
	--fx-1: var(--turq); --fx-2: var(--bleu); --fx-glow: rgba(46, 134, 224, .55);
	--fx-hot-1: #ffc02e; --fx-hot-2: #ff6a2e; --fx-hot-glow: rgba(255, 138, 61, .6); --fx-ink: #153c7a;
	--fx-conf-a: #ffe08a; --fx-conf-b: #16c4ce; --fx-conf-c: #2e86e0; --fx-conf-d: #ffffff;
	--fx-seg-off: rgba(21, 60, 122, .14);
}
.mq-shell[data-skin="jade"]    { --fx-1:#4fd1b0; --fx-2:#087f8c; --fx-glow:rgba(8,127,140,.5);  --fx-hot-1:#ffd66b; --fx-hot-2:#12b09a; --fx-hot-glow:rgba(79,209,176,.7); --fx-ink:#123c4f; --fx-conf-a:#fff3b0; --fx-conf-b:#7ff0cf; --fx-conf-c:#087f8c; --fx-conf-d:#ffffff; }
.mq-shell[data-skin="ocean"]   { --fx-1:#7ff4ff; --fx-2:#0fa3b4; --fx-glow:rgba(22,196,206,.6);  --fx-hot-1:#e6ffff; --fx-hot-2:#16c4ce; --fx-hot-glow:rgba(127,244,255,.7); --fx-ink:#05596f; --fx-conf-a:#e6ffff; --fx-conf-b:#7ff4ff; --fx-conf-c:#16c4ce; --fx-conf-d:#ffffff; --fx-seg-off:rgba(255,255,255,.16); }
.mq-shell[data-skin="ambre"]   { --fx-1:#ffb457; --fx-2:#c9550c; --fx-glow:rgba(242,113,28,.55); --fx-hot-1:#ffe08a; --fx-hot-2:#ff6a1c; --fx-hot-glow:rgba(255,120,20,.65); --fx-ink:#7c3505; --fx-conf-a:#ffe08a; --fx-conf-b:#ff9d3d; --fx-conf-c:#c9550c; --fx-conf-d:#fff7ea; }
.mq-shell[data-skin="nuit"]    { --fx-1:#83dcf6; --fx-2:#7587ef; --fx-glow:rgba(131,220,246,.55); --fx-hot-1:#c6f0ff; --fx-hot-2:#7587ef; --fx-hot-glow:rgba(117,135,239,.7); --fx-ink:#0a1020; --fx-conf-a:#c6f0ff; --fx-conf-b:#83dcf6; --fx-conf-c:#7587ef; --fx-conf-d:#ffffff; --fx-seg-off:rgba(255,255,255,.14); }
.mq-shell[data-skin="grenat"]  { --fx-1:#efbd82; --fx-2:#c9505b; --fx-glow:rgba(239,189,130,.55); --fx-hot-1:#ffe6c4; --fx-hot-2:#ff5c6b; --fx-hot-glow:rgba(255,120,120,.65); --fx-ink:#3a0812; --fx-conf-a:#ffe6c4; --fx-conf-b:#efbd82; --fx-conf-c:#ff5c6b; --fx-conf-d:#fff5ed; --fx-seg-off:rgba(255,255,255,.14); }
.mq-shell[data-skin="ardoise"] { --fx-1:#65d6df; --fx-2:#3a9fb0; --fx-glow:rgba(101,214,223,.55); --fx-hot-1:#e0fdff; --fx-hot-2:#65d6df; --fx-hot-glow:rgba(101,214,223,.7); --fx-ink:#0f161b; --fx-conf-a:#e0fdff; --fx-conf-b:#65d6df; --fx-conf-c:#3a9fb0; --fx-conf-d:#ffffff; --fx-seg-off:rgba(255,255,255,.14); }

/* ---- jauge de série sous la barre de jeu ---- */
.mq-view[data-view="plateau"] { --mq-heat: 0; }
.mq-impact-bar {
	display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px;
	min-height: 18px; padding: 0 5px;
}
.mq-impact-badge {
	display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 16px; padding: 0 7px;
	border-radius: 999px; font-size: .6rem; font-weight: 950; letter-spacing: -.01em; white-space: nowrap; color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .28), 0 0 6px rgba(0, 0, 0, .18);
	background: linear-gradient(120deg, var(--fx-1), var(--fx-2)); box-shadow: 0 3px 10px var(--fx-glow);
	opacity: 0; transform: scale(.6); transition: opacity .25s, transform .35s var(--ressort), background .3s;
}
.mq-impact-badge:empty { visibility: hidden; }
.mq-impact-badge.is-on { opacity: 1; transform: scale(1); }
.mq-impact-bar[data-tier="4"] .mq-impact-badge, .mq-impact-bar[data-tier="5"] .mq-impact-badge, .mq-impact-bar[data-tier="6"] .mq-impact-badge {
	background: linear-gradient(120deg, var(--fx-hot-1), var(--fx-hot-2)); box-shadow: 0 3px 12px var(--fx-hot-glow);
	animation: mq-fx-burn 1.1s ease-in-out infinite;
}
@keyframes mq-fx-burn { 50% { filter: brightness(1.25); } }
.mq-impact-badge.is-pulse { animation: mq-fx-badge-pulse .5s var(--ressort); }
@keyframes mq-fx-badge-pulse { 40% { transform: scale(1.22); } }
.mq-impact-badge.is-break { animation: mq-fx-badge-break .55s var(--ease) forwards; background: linear-gradient(120deg, #ff8f86, var(--rouge)); }
@keyframes mq-fx-badge-break {
	20% { transform: scale(1.15) rotate(-6deg); }
	45% { transform: scale(1.05) rotate(5deg); opacity: 1; }
	100% { transform: scale(.4) translateY(10px) rotate(-14deg); opacity: 0; }
}
.mq-impact-meter { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; min-width: 0; }
.mq-impact-meter i { display: block; height: 5px; border-radius: 999px; background: var(--fx-seg-off); position: relative; overflow: hidden; }
.mq-impact-meter i::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit;
	background: linear-gradient(90deg, var(--fx-1), var(--fx-2));
	transform: scaleX(0); transform-origin: left; transition: transform .4s var(--sortie);
}
.mq-impact-meter i.is-on::after { transform: scaleX(1); }
.mq-impact-meter i.is-hot::after { background: linear-gradient(90deg, var(--fx-hot-1), var(--fx-hot-2)); box-shadow: 0 0 8px var(--fx-hot-glow); }
.mq-impact-meter i.is-next::after { transform: scaleX(1); opacity: .35; animation: mq-fx-next 1s ease-in-out infinite; }
@keyframes mq-fx-next { 50% { opacity: .7; } }
.mq-impact-next { font-size: .6rem; font-weight: 950; color: var(--encre-2); white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Écrans courts : la jauge s'aplatit pour ne rien retirer aux cartes (cible tactile ≥ 44 px conservée). */
@media (max-height: 700px) {
	.mq-impact-bar { min-height: 13px; padding: 0 5px; gap: 6px; }
	.mq-impact-badge { height: 13px; min-width: 24px; padding: 0 6px; font-size: .52rem; }
	.mq-impact-meter i { height: 3px; }
	.mq-impact-next { font-size: .52rem; }
}
@media (max-width: 340px) { .mq-impact-next { display: none; } .mq-impact-bar { grid-template-columns: auto minmax(0, 1fr); } }
/* Très petits téléphones (≤ 600 px de haut) : la jauge disparaît pour rendre chaque pixel aux cartes ; le reste de l'Impact System est conservé. */
@media (max-height: 600px) { .mq-impact-bar { display: none; } }
.mq-impact-next em { font-style: normal; color: var(--encre); }
.mq-shell[data-skin] .mq-impact-next { color: var(--mq-screen-secondary, var(--encre-2)); }
.mq-shell[data-skin] .mq-impact-next em { color: var(--mq-screen-text, var(--encre)); }

/* ---- chips de score ---- */
.mq-score-chip.is-hot { box-shadow: 0 2px 9px rgba(21,60,122,.11), 0 0 0 2px var(--fx-hot-1), 0 0 18px var(--fx-hot-glow); }
.mq-score-chip.is-bump { animation: mq-fx-chip-bump .5s var(--ressort); }
@keyframes mq-fx-chip-bump { 35% { transform: scale(1.14); } }
.mq-score-chip.is-hit { animation: mq-fx-chip-hit .45s var(--ease); }
@keyframes mq-fx-chip-hit { 25% { transform: translateX(-3px); } 55% { transform: translateX(3px); } }

.mq-fx-layer { position: absolute; inset: 0; pointer-events: none; z-index: 6; overflow: visible; }
.mq-score-fx-layer { position: absolute; inset: 0; pointer-events: none; z-index: 18; overflow: hidden; }

/* V3 : rendu atlas uniquement. Le Canvas retire les zones du plateau et des commandes. */
.mq-premium-edge { position:fixed; inset:0; z-index:2147483000; pointer-events:none; opacity:0; transition:opacity .2s ease; contain:strict; }
.mq-premium-edge.is-on { opacity:1; }
.mq-premium-edge canvas { position:absolute; inset:0; width:100%; height:100%; display:block; pointer-events:none; }
.mq-fire-levels { padding:12px 8px; }
.mq-fire-levels > strong { display:block; margin-bottom:8px; }
.mq-fire-levels > div { display:flex; gap:6px; }
.mq-fire-levels button { flex:1; min-height:38px; border:1px solid #77a9b7; border-radius:10px; background:#f2fffc; color:#164756; font:inherit; font-size:12px; }
.mq-fire-levels button[aria-pressed="true"] { background:#164f66; color:#fff; border-color:#4aceb3; }
.mq-premium-reward {
  position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center;
  max-width: min(80vw, 270px); white-space: nowrap; line-height: 1.05;
  transform: translate(-50%, -50%); animation: mq-premium-rise .88s cubic-bezier(.18,.8,.2,1) both;
  color: #fff0ca; text-shadow: 0 2px 1px #4d241e, 0 5px 18px #ff9c547a;
  font-weight: 950; font-variant-numeric: tabular-nums;
}
.mq-premium-reward strong { font-size: clamp(38px, 11vw, 62px); letter-spacing: -.06em; }
.mq-premium-reward small { margin-top: 3px; padding: 3px 8px; border-radius: 999px; background: #241522d9; border: 1px solid #ffe6a25c; font-size: clamp(8px, 2.3vw, 11px); letter-spacing: .08em; }
.mq-premium-reward.is-tier-2 strong { color: #ffe7a5; font-size: clamp(42px, 12vw, 68px); }
.mq-premium-reward.is-tier-3 strong { color: #ffcc80; font-size: clamp(46px, 13vw, 74px); }
.mq-premium-reward.is-tier-4 { color: #f4d7ff; text-shadow: 0 2px 1px #451971, 0 4px 20px #a970ff; }
.mq-premium-reward.is-tier-4 strong { font-size: clamp(50px, 14vw, 80px); }
.mq-premium-reward.is-tier-4 small { background: #321850e8; border-color: #e2baff8c; }
@keyframes mq-premium-rise {
  0% { opacity: 0; transform: translate(-50%, -28%) scale(.72); }
  25% { opacity: 1; transform: translate(-50%, -63%) scale(1.11); }
  48% { transform: translate(-50%, -70%) scale(1); }
  78% { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -125%) scale(.94); }
}
.mq-premium-ring { position: absolute; left: 0; top: 0; width: 25px; height: 25px; margin: -12px; border: 2px solid #ffc978; border-radius: 50%; box-shadow: 0 0 13px #ffb4509c; animation: mq-premium-ring .62s ease-out forwards; }
.mq-premium-ring.is-violet { border-color: #d1aaff; box-shadow: 0 0 18px #a26aff; }
@keyframes mq-premium-ring { from { opacity: .9; transform: scale(.3); } to { opacity: 0; transform: scale(6); } }
.mq-premium-spark { position: absolute; left: 0; top: 0; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: #ffe6ac; box-shadow: 0 0 6px #ffc165; animation: mq-premium-spark .66s ease-out forwards; }
.mq-premium-spark.is-violet { background: #f1ddff; box-shadow: 0 0 7px #c393ff; }
@keyframes mq-premium-spark { from { opacity: 1; transform: translate(0,0) scale(1.3); } to { opacity: 0; transform: translate(var(--dx),var(--dy)) scale(.35); } }
.mq-speed-premium-reward {
  position: absolute; z-index: 18; top: max(52px, calc(env(safe-area-inset-top) + 46px)); right: max(10px, env(safe-area-inset-right));
  display: flex; align-items: center; gap: 6px; max-width: 56%; padding: 5px 9px; border-radius: 11px;
  pointer-events: none; color: #fff5d9; background: #291b30e8; border: 1px solid #ffc8818a;
  box-shadow: 0 6px 20px #160b2680, 0 0 15px #ffaf5973;
  animation: mq-speed-premium-enter .8s cubic-bezier(.2,.8,.2,1) both;
}
.mq-speed-premium-reward strong { font-size: clamp(15px, 4vw, 22px); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mq-speed-premium-reward small { font-size: clamp(7px, 1.8vw, 10px); font-weight: 900; letter-spacing: .05em; }
.mq-speed-premium-reward.is-violet { background: #321b55ec; color: #f6e9ff; border-color: #ca96ff; box-shadow: 0 6px 20px #160b2680, 0 0 20px #ad77ff88; }
@keyframes mq-speed-premium-enter { 0% { opacity: 0; transform: translateY(-8px) scale(.83); } 22%,70% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-10px) scale(.98); } }
.mq-shell[data-motion="calme"] .mq-premium-ring, .mq-shell[data-motion="calme"] .mq-premium-spark { display: none; }
.mq-shell[data-motion="calme"] .mq-premium-reward { animation-duration: .4s; }
.mq-shell[data-motion="calme"] .mq-speed-premium-reward { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .mq-premium-edge canvas, .mq-premium-ring, .mq-premium-spark { display: none; }
  .mq-premium-edge, .mq-premium-vignette { transition: none; }
  .mq-premium-reward { animation: none; opacity: 1; }
  .mq-speed-premium-reward { animation: none; }
}

.mq-fx-malus { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); font-weight: 950; font-size: clamp(18px, 6vmin, 26px); color: #fff; -webkit-text-stroke: 1.5px #a3231a; filter: drop-shadow(0 4px 10px rgba(240,68,56,.5)); animation: mq-fx-malus .72s ease-out forwards; }
@keyframes mq-fx-malus { 0% { opacity: 0; transform: translate(-50%,-50%) scale(.7); } 18% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%,-50%) translateY(30px); } }

/* ---- Impact System : le bouton « Refaire une partie » reçoit un reflet
   périodique qui invite à relancer, sans transformer le bouton (le retour
   tactile :active reste intact). Coupé en mode calme et reduced-motion. ---- */
.mq-final-replay { position: relative; overflow: hidden; }
.mq-final-replay:not(.is-loading):not(.is-waiting)::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
	background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, .42) 50%, transparent 60%);
	transform: translateX(-120%); will-change: transform;
	animation: mq-fx-cta-sheen 2.4s ease-in-out 1.2s infinite;
}
@keyframes mq-fx-cta-sheen { 40%, 100% { transform: translateX(120%); } }
.mq-shell[data-motion="calme"] .mq-final-replay::before { animation: none; display: none; }
@media (prefers-reduced-motion: reduce) { .mq-shell .mq-final-replay::before { animation: none; display: none; } }

/* =========================================================================
   ÉCRAN DE RÉSULTAT DE DUEL — chorégraphie premium (6.28.23)
   ========================================================================= */
.mq-res-page { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(6px, 1.1vh, 10px); align-content: start; padding-top: 6px !important; }
.mq-res-page > * { min-width: 0; }
.mq-res-page { --res-win: #1f9d55; --res-win-2: #5fd48a; --res-loss: #e5484d; --res-loss-2: #ff8a8f; --res-accent: #2e86e0; --res-accent-2: #16c4ce; --res-glow: rgba(46, 134, 224, .45); }
.mq-res-rays { position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: 0; overflow: hidden; background-size: 260% 260%; background-position: 50% 0; transform: rotate(-8deg) scale(.9); background-image: conic-gradient(from 200deg at 50% 20%, transparent 0 35%, rgba(255, 255, 255, .22) 40%, transparent 45%, transparent 55%, rgba(255, 255, 255, .16) 60%, transparent 65%); }
.mq-res-page.is-on .mq-res-rays { animation: mq-res-rays 3.2s var(--ease) .1s forwards; }
@keyframes mq-res-rays { 20% { opacity: 1; } 100% { opacity: 0; transform: rotate(10deg) scale(1.15); } }
.mq-res-page.is-loss .mq-res-rays { background-image: conic-gradient(from 200deg at 50% 20%, transparent 0 35%, rgba(255, 255, 255, .12) 40%, transparent 45%); }
.mq-res-dust { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.mq-res-page.is-loss .mq-res-dust::before, .mq-res-page.is-loss .mq-res-dust::after { content: ""; position: absolute; left: 12%; top: 110%; width: 5px; height: 5px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .95), rgba(255, 255, 255, 0) 70%); animation: mq-res-dust 12s linear infinite; }
.mq-res-page.is-loss .mq-res-dust::after { left: 78%; width: 4px; height: 4px; animation-duration: 15s; animation-delay: -6s; }
@keyframes mq-res-dust { 10% { opacity: .8; } 90% { opacity: .4; } 100% { transform: translateY(-140vh); opacity: 0; } }

/* titre mot à mot */
.mq-res-head { position: relative; z-index: 1; text-align: center; padding: 0 4px; }
.mq-res-title { margin: 0; font-size: clamp(19px, 5.6vw, 26px); font-weight: 950; letter-spacing: -.03em; line-height: 1.05; color: var(--result-deep); }
.mq-res-word { display: inline-block; opacity: 0; transform: translateY(18px) rotate(2deg); filter: blur(4px); }
.mq-res-page.is-on .mq-res-word { animation: mq-res-word .6s var(--sortie) forwards; animation-delay: calc(var(--i) * 70ms + 120ms); }
@keyframes mq-res-word { to { opacity: 1; transform: none; filter: none; } }
.mq-res-page.is-on .mq-res-subtitle { margin: 4px 0 0; font-size: clamp(.62rem, 2.7vw, .74rem); font-weight: 700; color: #58739a; line-height: 1.3; opacity: 0; }
.mq-res-page.is-on .mq-res-subtitle { animation: mq-res-fade-up .6s var(--sortie) .9s forwards; }
@keyframes mq-res-fade-up { to { opacity: 1; transform: none; } }

/* cartes */
.mq-res-card { position: relative; z-index: 1; background: rgba(255, 255, 255, .92); border: 1px solid rgba(255, 255, 255, .85); border-radius: clamp(20px, 5vw, 26px); box-shadow: 0 10px 30px rgba(21, 60, 122, .12); opacity: 0; transform: translateY(24px) scale(.97); }
.mq-res-page.is-on .mq-res-card { animation: mq-res-card-in .7s var(--sortie) forwards; animation-delay: var(--t, 0s); }
@keyframes mq-res-card-in { to { opacity: 1; transform: none; } }
.mq-res-reward-wrap { background: none; border: 0; box-shadow: none; }
.mq-res-actions-wrap { background: none; border: 0; box-shadow: none; }

/* arène */
.mq-res-arena { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr); align-items: center; gap: 6px; padding-top: 12px; }
.mq-res-side { position: relative; background: rgba(255, 255, 255, .92); border: 1px solid rgba(255, 255, 255, .85); border-radius: clamp(18px, 5vw, 24px); padding: 16px 8px 12px; text-align: center; box-shadow: 0 10px 30px rgba(21, 60, 122, .12); overflow: visible; opacity: 0; transition: filter .6s, box-shadow .6s; }
.mq-res-side.is-player { transform: translateX(-30px); }
.mq-res-side.is-opponent { transform: translateX(30px); }
.mq-res-page.is-on .mq-res-side { animation: mq-res-side-in .75s var(--sortie) forwards; animation-delay: calc(.35s + var(--i) * .12s); }
@keyframes mq-res-side-in { to { opacity: 1; transform: none; } }
.mq-res-side em { display: block; font-style: normal; font-size: clamp(.8rem, 3.4vw, .95rem); font-weight: 900; color: #3f6084; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mq-res-side small { display: block; font-size: clamp(.56rem, 2.4vw, .66rem); letter-spacing: .14em; font-weight: 950; color: #3f6084; margin-top: 2px; }
.mq-res-bgstar { position: absolute; right: 8%; bottom: 6%; width: 46%; opacity: .08; pointer-events: none; color: var(--result-deep); }
.mq-res-page.is-on .mq-res-side.is-winner { box-shadow: 0 10px 30px rgba(21, 60, 122, .12), 0 0 0 3px var(--res-win-2), 0 0 34px rgba(95, 212, 138, .45); }
.mq-res-page.is-on .mq-res-side.is-loser { filter: saturate(.75) brightness(.97); }
.mq-res-page.is-draw.is-on .mq-res-side { box-shadow: 0 10px 30px rgba(21, 60, 122, .12), 0 0 0 3px var(--res-accent-2); }
.mq-res-badge { position: absolute; left: 50%; top: -14px; transform: translate(-50%, -30px) scale(.4); opacity: 0; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; color: #fff; font-size: clamp(.62rem, 2.8vw, .74rem); font-weight: 950; letter-spacing: .06em; white-space: nowrap; background: linear-gradient(120deg, var(--res-win-2), var(--res-win)); box-shadow: 0 8px 18px rgba(31, 157, 85, .45); z-index: 2; }
.mq-res-badge svg { width: 15px; height: 15px; }
.mq-res-badge.is-on { animation: mq-res-badge .7s cubic-bezier(.22, 1.6, .36, 1) forwards; }
@keyframes mq-res-badge { to { opacity: 1; transform: translate(-50%, 0) scale(1); } }
.mq-res-badge::after { content: ""; position: absolute; inset: -6px; border-radius: inherit; border: 2px solid var(--res-win-2); opacity: 0; }
.mq-res-badge.is-on::after { animation: mq-res-ring .8s var(--sortie) .55s; }
@keyframes mq-res-ring { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7); } }
.mq-res-vs { position: relative; width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 950; color: var(--result-deep); background: rgba(255, 255, 255, .92); border: 3px solid rgba(22, 196, 206, .45); box-shadow: 0 8px 20px rgba(21, 60, 122, .18); opacity: 0; transform: scale(.3) rotate(-30deg); z-index: 1; }
.mq-res-page.is-on .mq-res-vs { animation: mq-res-pop-in .8s cubic-bezier(.22, 1.6, .36, 1) .5s forwards; }
@keyframes mq-res-pop-in { to { opacity: 1; transform: none; } }
.mq-res-vs::before { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--res-accent-2); opacity: 0; }
.mq-res-page.is-on .mq-res-vs::before { animation: mq-res-ring 1s var(--sortie) 1.1s; }

/* odomètre */
.mq-res-odo { display: inline-flex; height: 1em; line-height: 1; font-size: clamp(36px, 11vw, 50px); font-weight: 950; letter-spacing: -.05em; overflow: hidden; font-variant-numeric: tabular-nums; margin: 4px 0 2px; color: var(--result-deep); }
.mq-res-col { position: relative; height: 1em; width: .62em; overflow: hidden; }
.mq-res-col i { position: absolute; left: 0; top: 0; width: 100%; display: grid; font-style: normal; transform: translateY(0); transition: transform var(--dur, 1.3s) var(--ease); }
.mq-res-col i b { display: block; height: 1em; text-align: center; }
.mq-res-side.is-winner .mq-res-odo { color: var(--res-win); }

/* notes */
.mq-res-ratings { display: grid; grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr); align-items: start; padding: 10px 6px 8px; gap: 4px; }
.mq-res-rating-col { text-align: center; display: grid; gap: 3px; justify-items: center; min-width: 0; width: 100%; container-type: inline-size; }
.mq-res-rating-col h4 { margin: 0; font-size: clamp(.68rem, 3vw, .78rem); font-weight: 900; color: var(--result-deep); line-height: 1.15; overflow-wrap: anywhere; }
/* les étoiles se dimensionnent d'après la largeur réelle de leur colonne : 4 × 17 % + 20 % + 4 × 1,5 % = 94 % → centrées, jamais en dépassement */
.mq-res-stars { display: flex; gap: 1.5cqi; align-items: center; justify-content: center; padding: 4px 0 7px; overflow: visible; width: 100%; max-width: 100%; }
.mq-res-stars .mq-etoile-geant { width: 17cqi; height: 17cqi; max-width: 34px; max-height: 34px; filter: none; }
.mq-res-stars .mq-etoile-geant:nth-child(2) { width: 17cqi; height: 17cqi; max-width: 34px; max-height: 34px; }
.mq-res-stars .mq-etoile-geant:nth-child(3) { width: 20cqi; height: 20cqi; max-width: 40px; max-height: 40px; }
@supports not (width: 1cqi) { .mq-res-stars .mq-etoile-geant, .mq-res-stars .mq-etoile-geant:nth-child(2) { width: clamp(20px, 5.4vw, 30px); height: clamp(20px, 5.4vw, 30px); } .mq-res-stars .mq-etoile-geant:nth-child(3) { width: clamp(24px, 6.4vw, 36px); height: clamp(24px, 6.4vw, 36px); } .mq-res-stars { gap: 2px; } }
.mq-res-note { font-size: clamp(1rem, 4.4vw, 1.2rem); font-weight: 950; letter-spacing: -.02em; color: var(--result-deep); opacity: 0; transform: scale(.6); }
.mq-res-note.is-on { animation: mq-res-pop-in .55s cubic-bezier(.22, 1.6, .36, 1) forwards; }
.mq-res-eff { display: grid; justify-items: center; gap: 5px; align-self: center; }
.mq-res-medal { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; background: radial-gradient(circle at 35% 30%, #2fb4c8, #0f6d84); box-shadow: 0 8px 20px rgba(21, 60, 122, .3); opacity: 0; transform: scale(.3); }
.mq-res-medal svg { width: 24px; height: 24px; }
.mq-res-page.is-on .mq-res-medal { animation: mq-res-pop-in .8s cubic-bezier(.22, 1.6, .36, 1) 1.75s forwards; }
.mq-res-eff small { font-size: .5rem; letter-spacing: .08em; font-weight: 950; color: #3f6084; text-align: center; line-height: 1.2; }

/* récompense : compacte (détail sur deux lignes) et la pièce tourne */
.mq-res-page .mq-final-reward { padding: 9px 12px; grid-template-columns: clamp(46px, 11vw, 60px) minmax(0, 1fr) clamp(46px, 12vw, 70px); gap: 10px; border-radius: clamp(18px, 5vw, 24px); }
.mq-res-page .mq-final-reward-copy p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; }
.mq-res-page .mq-final-reward-art { height: 46px; } .mq-res-page .mq-final-reward-art i { width: 30px; }
.mq-res-page .mq-final-reward-icon { transform-style: preserve-3d; }
.mq-res-page .mq-final-reward.is-spin .mq-final-reward-icon { animation: mq-res-coin 1.4s var(--ease) both; }
@keyframes mq-res-coin { 0% { transform: rotateY(0); } 60% { transform: rotateY(540deg); } 100% { transform: rotateY(720deg); } }

/* comparaison */
.mq-res-compare { padding: 10px 12px 6px; }
.mq-res-compare header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4px; }
.mq-res-compare header strong { font-size: clamp(.68rem, 3vw, .8rem); letter-spacing: .14em; color: var(--res-accent); font-weight: 950; }
.mq-res-compare header b { font-size: clamp(.68rem, 3vw, .8rem); font-weight: 900; color: var(--result-deep); }
.mq-res-cols { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; font-size: clamp(.54rem, 2.3vw, .62rem); letter-spacing: .1em; font-weight: 950; color: #3f6084; padding: 2px 0 1px; }
.mq-res-cols span:nth-child(2) { text-align: center; } .mq-res-cols span:last-child { text-align: right; }
.mq-res-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; gap: 8px; padding: 5px 0; border-top: 1px solid rgba(21, 60, 122, .08); opacity: 0; transform: translateX(-14px); }
.mq-res-row.is-on { animation: mq-res-row-in .5s var(--sortie) forwards; }
@keyframes mq-res-row-in { to { opacity: 1; transform: none; } }
.mq-res-row b { font-size: clamp(.84rem, 3.5vw, .95rem); font-weight: 950; font-variant-numeric: tabular-nums; color: var(--result-deep); }
.mq-res-row b:last-child { text-align: right; }
.mq-res-row b.is-best { color: var(--res-win); } .mq-res-row b.is-worst { color: var(--res-loss); }
.mq-res-mid { display: grid; gap: 2px; text-align: center; font-size: clamp(.6rem, 2.6vw, .68rem); line-height: 1.15; font-weight: 800; color: #3f6084; }
.mq-res-mid span { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.mq-res-mid span svg { width: 14px; height: 14px; color: #6a8fc0; }
.mq-res-bar { position: relative; height: 4px; border-radius: 999px; background: rgba(21, 60, 122, .1); overflow: hidden; }
.mq-res-bar i, .mq-res-bar u { position: absolute; top: 0; bottom: 0; border-radius: inherit; width: 0; transition: width .9s var(--sortie); }
.mq-res-bar i { left: 50%; transform-origin: left; background: linear-gradient(90deg, var(--res-accent-2), var(--res-accent)); transform: scaleX(-1); }
.mq-res-bar u { left: 50%; background: linear-gradient(90deg, var(--res-loss-2), var(--res-loss)); }
.mq-res-row.is-on .mq-res-bar i { width: var(--l); } .mq-res-row.is-on .mq-res-bar u { width: var(--r); }
.mq-res-bar u.is-win { background: linear-gradient(90deg, var(--res-win-2), var(--res-win)); }

/* actions : le bouton respire une fois la séquence posée */
.mq-res-page.is-settled .mq-final-replay:not(.is-waiting):not(.is-loading) { animation: mq-res-cta 2.2s ease-in-out .3s infinite; }
@keyframes mq-res-cta { 50% { transform: scale(1.02); } }
.mq-res-page.is-loss.is-settled .mq-final-replay:not(.is-waiting):not(.is-loading) { animation: mq-res-cta-loss 2.2s ease-in-out .3s infinite; }
@keyframes mq-res-cta-loss { 50% { transform: scale(1.02); } }

/* mode calme : tout est posé d'emblée */
.mq-shell[data-motion="calme"] .mq-res-page .mq-res-word, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-subtitle,
.mq-shell[data-motion="calme"] .mq-res-page .mq-res-card, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-side, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-vs,
.mq-shell[data-motion="calme"] .mq-res-page .mq-res-medal, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-note, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-row { opacity: 1; transform: none; filter: none; animation: none !important; }
.mq-shell[data-motion="calme"] .mq-res-page .mq-res-rays, .mq-shell[data-motion="calme"] .mq-res-page .mq-res-dust { display: none; }
.mq-shell[data-motion="calme"] .mq-res-page .mq-final-reward-icon, .mq-shell[data-motion="calme"] .mq-res-page .mq-final-replay { animation: none !important; }
.mq-shell[data-motion="calme"] .mq-res-page .mq-res-row .mq-res-bar i { width: var(--l); } .mq-shell[data-motion="calme"] .mq-res-page .mq-res-row .mq-res-bar u { width: var(--r); }
@media (prefers-reduced-motion: reduce) { .mq-res-page .mq-res-rays, .mq-res-page .mq-res-dust { display: none; } }
@media (max-width: 360px) { .mq-res-ratings { grid-template-columns: minmax(0, 1fr) 58px minmax(0, 1fr); } .mq-res-medal { width: 40px; height: 40px; } .mq-res-arena { grid-template-columns: minmax(0, 1fr) 50px minmax(0, 1fr); } .mq-res-vs { width: 50px; height: 50px; font-size: .95rem; } }

/* =========================================================================
   CARROUSEL DES UNIVERS — choix de catégorie (6.28.25)
   GPU uniquement : transform/opacity, aucun filtre en direct, ombres
   pré-calculées dans les images, trois cartes dessinées à la fois.
   ========================================================================= */
/* Les étapes en carrousel (modes, univers) passent devant leur ciel décoratif. */
.mq-view[data-view="miseEnPlace"] > .mq-setup-head.is-centered,
.mq-view[data-view="miseEnPlace"] > .mq-univers,
.mq-view[data-view="miseEnPlace"] > .mq-univers ~ .mq-setup-foot { position: relative; z-index: 1; }
/* en-tête centré : le bouton retour et le compteur restent aux bords */
/* En-tête des carrousels : Retour | titre centré | compteur, sur une seule ligne (même spécificité que la règle « structure verticale »). */
/* colonnes latérales symétriques (1fr chacune) : le titre est centré au pixel, quelle que soit la largeur du compteur */
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered { grid-template-columns: minmax(clamp(46px, 12vw, 56px), 1fr) auto minmax(clamp(46px, 12vw, 56px), 1fr); grid-template-areas: "back copy counter" "steps steps steps"; align-items: center; column-gap: clamp(6px, 1.8vw, 12px); row-gap: clamp(8px, 1.4vh, 14px); flex: 0 0 auto; }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-back { grid-area: back; align-self: center; justify-self: start; margin: 0; }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-copy { grid-area: copy; align-self: center; text-align: center; padding: 0 6px; margin: 0; min-width: 0; }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-steps { grid-area: steps; margin: 0; }
.mq-setup-head.is-centered .mq-setup-copy .mq-eyebrow { margin: 0 0 1px; font-size: clamp(.58rem, 2.5vw, .68rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-copy .mq-title { margin: 0; font-size: clamp(1.15rem, 5.4vw, 1.9rem); line-height: 1.05; white-space: nowrap; }
@media (max-width: 340px) { .mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-copy .mq-title { font-size: 1.05rem; } .mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-copy { padding: 0 2px; } .mq-univers-counter { padding: 0 9px; font-size: .8rem; } }
.mq-setup-head.is-centered .mq-setup-copy .mq-eyebrow { letter-spacing: .28em; }
.mq-setup-head.is-centered .mq-setup-copy .mq-title { position: relative; display: inline-block; text-shadow: 0 2px 0 rgba(255, 255, 255, .7); }
.mq-setup-head.is-centered .mq-setup-copy .mq-title::after { content: ""; display: block; height: 4px; width: 44%; margin: 7px auto 0; border-radius: 999px; background: linear-gradient(90deg, var(--c1, var(--turq)), var(--c2, var(--bleu))); transition: background .6s; }
.mq-univers-counter { grid-area: counter; align-self: center; justify-self: end; height: clamp(40px, 10vw, 46px); padding: 0 12px; border-radius: 14px; background: rgba(255, 255, 255, .92); box-shadow: 0 6px 16px rgba(21, 60, 122, .12); display: flex; align-items: center; gap: 4px; font-weight: 950; font-size: .88rem; font-variant-numeric: tabular-nums; color: var(--encre); }
.mq-univers-counter b { color: var(--bleu); }

/* ---- fond vivant ---- */
.mq-univers-sky { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; border-radius: inherit; }
.mq-univers-aura { position: absolute; inset: 0; opacity: 0; transition: opacity .9s var(--ease); background: radial-gradient(ellipse 70% 45% at 50% 38%, var(--a1, transparent) 0%, transparent 100%), radial-gradient(ellipse 80% 40% at 50% 78%, var(--a2, transparent) 0%, transparent 100%); }
.mq-univers-aura.is-on { opacity: .7; }
.mq-univers-layer { position: absolute; top: -5%; bottom: -5%; left: 0; width: 200%; will-change: transform; contain: strict; }
.mq-univers-layer.is-blobs i { position: absolute; border-radius: 50%; background: radial-gradient(circle at 40% 35%, rgba(255, 255, 255, .5), rgba(255, 255, 255, .04) 60%, transparent 70%); }
.mq-univers-layer.is-rings i { position: absolute; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .32); }
.mq-univers-layer.is-rings b { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: radial-gradient(circle, #fff 0 30%, rgba(255, 255, 255, .35) 55%, transparent 75%); opacity: .7; }
.mq-univers-twinkle { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle, #fff 0 30%, rgba(255, 255, 255, .35) 55%, transparent 75%); animation: mq-univers-twinkle var(--d, 3s) ease-in-out var(--r, 0s) infinite; }
@keyframes mq-univers-twinkle { 0%, 100% { opacity: .15; } 50% { opacity: .9; } }
.mq-univers-streak { position: absolute; top: 0; bottom: 0; width: 36%; left: -40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent); transform: skewX(-18deg); opacity: 0; }
.mq-univers-streak.is-go { animation: mq-univers-streak .7s var(--ease); }
.mq-univers-streak.is-back { animation: mq-univers-streak-back .7s var(--ease); }
/* v257 : reflet animé par transformation (composée par le GPU) au lieu de « left » (mise en page à chaque image). */
@keyframes mq-univers-streak { 0% { transform: translateX(0) skewX(-18deg); opacity: 0; } 20% { opacity: .9; } 100% { transform: translateX(417%) skewX(-18deg); opacity: 0; } }
@keyframes mq-univers-streak-back { 0% { transform: translateX(417%) skewX(-18deg); opacity: 0; } 20% { opacity: .9; } 100% { transform: translateX(0) skewX(-18deg); opacity: 0; } }
.mq-univers-streak { will-change: transform, opacity; }
.mq-univers-twinkle { will-change: opacity; }
/* v257 : chaque carte et son texte se recalculent isolément (aucun recalcul de tout l’écran pendant le défilement). */
.mq-univers-meta { contain: layout style; }
.mq-univers-card { contain: layout style; }

/* ---- scène ---- */
.mq-univers { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.mq-univers-stage { position: relative; isolation: isolate; flex: 1 1 auto; min-height: 0; perspective: 1100px; perspective-origin: 50% 35%; cursor: grab; user-select: none; -webkit-user-select: none; touch-action: pan-y; --card-w: 300px; }
.mq-univers-stage.is-drag { cursor: grabbing; }
.mq-univers-card { position: absolute; left: 50%; top: 50%; width: var(--card-w); height: calc(var(--card-w) / .82); margin-left: calc(var(--card-w) / -2); margin-top: calc(var(--card-w) / -.82 / 2 + 7%); border-radius: 30px; transform-style: preserve-3d; will-change: transform, opacity; visibility: hidden; }
.mq-univers-card.is-near { visibility: visible; }
.mq-univers-body { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(165deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .84)); border: 1px solid rgba(255, 255, 255, .9); box-shadow: 0 26px 50px rgba(21, 60, 122, .22), inset 0 1px 0 #fff; overflow: hidden; }
.mq-univers-body::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 18%, var(--c1) 0%, transparent 58%); opacity: .5; }
.mq-univers-sheen { position: absolute; inset: -40%; background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .6) 50%, transparent 58%); transform: translateX(-80%); pointer-events: none; display: none; }
.mq-univers-card.is-enter .mq-univers-sheen { display: block; animation: mq-univers-sheen 1.3s var(--ease) .25s both; }
@keyframes mq-univers-sheen { to { transform: translateX(80%); } }
.mq-univers-dim { position: absolute; inset: 0; border-radius: inherit; background: rgba(120, 150, 190, .28); opacity: 0; pointer-events: none; }
.mq-univers-art { position: absolute; left: 50%; top: -27%; width: 112%; aspect-ratio: 1; margin-left: -56%; transform: translateZ(70px); pointer-events: none; }
.mq-univers-art img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mq-univers-card.is-active .mq-univers-art img { animation: mq-univers-float 3.4s ease-in-out infinite; }
@keyframes mq-univers-float { 50% { transform: translateY(-8px); } }
.mq-univers-card.is-enter .mq-univers-art img { animation: mq-univers-pop .85s cubic-bezier(.22, 1.5, .36, 1) both, mq-univers-float 3.4s ease-in-out .85s infinite; }
@keyframes mq-univers-pop { 0% { transform: translateY(46px) scale(.6); opacity: 0; } 60% { opacity: 1; } 100% { transform: translateY(0) scale(1); opacity: 1; } }
.mq-univers-floor { position: absolute; left: 50%; top: 55%; width: 56%; height: 9%; margin-left: -28%; border-radius: 50%; background: radial-gradient(ellipse, rgba(20, 40, 80, .26), transparent 70%); }
.mq-univers-card.is-active .mq-univers-floor { animation: mq-univers-floor 3.4s ease-in-out infinite; }
@keyframes mq-univers-floor { 50% { transform: scale(.86); opacity: .7; } }
.mq-univers-ring { position: absolute; left: 50%; top: 34%; width: 60%; aspect-ratio: 1; margin-left: -30%; border-radius: 50%; border: 3px solid var(--c2); opacity: 0; pointer-events: none; display: none; }
.mq-univers-card.is-enter .mq-univers-ring { display: block; animation: mq-univers-ring .9s var(--sortie) .1s; }
@keyframes mq-univers-ring { 0% { opacity: .9; transform: scale(.5); } 100% { opacity: 0; transform: scale(1.8); } }
.mq-univers-meta { position: absolute; left: 0; right: 0; bottom: 0; padding: 0 12px clamp(12px, 3.6vw, 20px); text-align: center; }
.mq-univers-name { display: block; font-size: clamp(20px, 6.2vw, 30px); font-weight: 950; letter-spacing: -.03em; line-height: 1; color: var(--encre); }
.mq-univers-name { opacity: 0; transform: translateY(10px); }
.mq-univers-card.is-active .mq-univers-name { animation: mq-univers-ch .5s var(--sortie) .12s forwards; }
@keyframes mq-univers-ch { to { opacity: 1; transform: none; } }
.mq-univers-sub { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; padding: 6px 12px; border-radius: 999px; font-size: .8rem; font-weight: 900; color: var(--encre-2); background: rgba(21, 60, 122, .07); opacity: 0; transform: translateY(8px); }
.mq-univers-card.is-active .mq-univers-sub { animation: mq-univers-ch .5s var(--sortie) .45s forwards; }
.mq-univers-sub svg { width: 16px; height: 16px; }
.mq-univers-sub.is-locked { color: #9a6a12; background: rgba(255, 192, 46, .2); }
.mq-univers-pill { display: inline-flex; align-items: center; gap: 6px; margin: 8px 0 0; padding: 6px 12px; border-radius: 999px; font-size: .74rem; font-weight: 900; color: #fff; background: linear-gradient(120deg, var(--c1), var(--c2)); box-shadow: 0 6px 14px rgba(21, 60, 122, .18); opacity: 0; transform: translateY(8px); }
.mq-univers-pill svg { width: 14px; height: 14px; }
.mq-univers-card.is-active .mq-univers-pill { animation: mq-univers-ch .5s var(--sortie) .52s forwards; }
.mq-univers-card.has-pill .mq-univers-sub { display: block; margin-top: 6px; background: none; padding: 0; font-size: clamp(.8rem, 3.3vw, .92rem); }
.mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-pill { opacity: 1; transform: none; animation: none !important; }
.mq-univers-tag { position: absolute; left: -6px; top: 22%; z-index: 3; padding: 6px 10px; border-radius: 999px; font-size: .64rem; letter-spacing: .12em; font-weight: 950; color: #fff; background: linear-gradient(120deg, #ff9d3d, #e8531c); box-shadow: 0 6px 14px rgba(232, 83, 28, .35); transform: translateZ(80px) rotate(-6deg); }
.mq-univers-lock { position: absolute; right: -4px; top: 22%; z-index: 3; width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .92); color: #9a6a12; box-shadow: 0 6px 14px rgba(21, 60, 122, .15); transform: translateZ(80px); }
.mq-univers-lock svg { width: 18px; height: 18px; }
.mq-univers-card.is-shake .mq-univers-body { animation: mq-univers-shake .5s var(--ease); }
@keyframes mq-univers-shake { 20% { transform: translateX(-7px) rotate(-1.5deg); } 40% { transform: translateX(7px) rotate(1.5deg); } 60% { transform: translateX(-5px); } 80% { transform: translateX(4px); } }
.mq-univers-arrow { position: absolute; top: 50%; z-index: 240; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--encre); box-shadow: 0 8px 20px rgba(21, 60, 122, .16); display: flex; align-items: center; justify-content: center; opacity: .94; pointer-events: auto; touch-action: manipulation; }
.mq-univers-arrow svg { width: 20px; height: 20px; }
.mq-univers-arrow.is-prev { left: 6px; } .mq-univers-arrow.is-next { right: 6px; }
.mq-univers-dots { flex: 0 0 auto; display: flex; justify-content: center; gap: 6px; padding: 4px 0 6px; }
.mq-univers-dots i { width: 8px; height: 8px; border-radius: 999px; background: rgba(21, 60, 122, .18); transition: width .35s var(--sortie), background .35s; }
.mq-univers-dots i.is-on { width: 26px; background: linear-gradient(90deg, var(--c1, var(--turq)), var(--c2, var(--bleu))); }
/* bouton : libellé qui bascule, état verrouillé ambré */
.mq-setup-foot .mq-btn [data-next-label].is-swap { display: inline-block; animation: mq-univers-swap .35s var(--sortie); }
@keyframes mq-univers-swap { 0% { opacity: 0; transform: translateY(8px); } 100% { opacity: 1; transform: none; } }
.mq-setup-foot .mq-btn.is-unlock { color: #fff; background: linear-gradient(105deg, #e8951c, #c9550c) !important; box-shadow: 0 5px 0 #7a3d00, 0 12px 25px rgba(201, 85, 12, .31), inset 0 2px 0 rgba(255, 255, 255, .4) !important; }
/* mode calme : tout posé, aucun décor animé */
.mq-shell[data-motion="calme"] .mq-univers-layer, .mq-shell[data-motion="calme"] .mq-univers-twinkle, .mq-shell[data-motion="calme"] .mq-univers-streak { display: none; }
.mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-name, .mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-sub { opacity: 1; transform: none; animation: none !important; }
.mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-art img, .mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-floor, .mq-shell[data-motion="calme"] .mq-univers-sheen, .mq-shell[data-motion="calme"] .mq-univers-ring { animation: none !important; }
@media (prefers-reduced-motion: reduce) { .mq-univers-layer, .mq-univers-twinkle, .mq-univers-streak { display: none; } }
/* ---- carrousel des adversaires : suffixe de nom, jauge de danger, statistiques, liseré ---- */
.mq-univers-name em { font-style: normal; font-weight: 900; font-size: .62em; color: var(--encre-2); letter-spacing: -.01em; }
.mq-univers-danger { display: inline-flex; gap: 4px; margin-top: 6px; opacity: 0; transform: translateY(8px); }
.mq-univers-danger i { width: 18px; height: 6px; border-radius: 999px; background: rgba(21, 60, 122, .14); }
.mq-univers-danger i.is-on { background: linear-gradient(90deg, var(--c1), var(--c2)); }
.mq-univers-card.is-active .mq-univers-danger { animation: mq-univers-ch .5s var(--sortie) .26s forwards; }
.mq-univers-stats { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 8px; align-items: center; width: 78%; margin: 8px auto 0; font-size: .6rem; font-weight: 900; color: var(--encre-2); letter-spacing: .04em; text-transform: uppercase; text-align: left; opacity: 0; transform: translateY(8px); }
.mq-univers-card.is-active .mq-univers-stats { animation: mq-univers-ch .5s var(--sortie) .34s forwards; }
.mq-univers-stats b { display: block; height: 5px; border-radius: 999px; background: rgba(21, 60, 122, .1); overflow: hidden; }
.mq-univers-stats b i { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--c1), var(--c2)); transition: width .9s var(--sortie) .35s; }
.mq-univers-card.is-active .mq-univers-stats b i { width: var(--w); }
.mq-univers-card.has-stats .mq-univers-meta { padding-bottom: clamp(10px, 3vw, 16px); }
.mq-univers-card.has-stats .mq-univers-sub { margin-top: 6px; }
.mq-univers-rim { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; box-shadow: inset 0 0 0 2px var(--c2), inset 0 0 26px var(--c2); }
.mq-univers-card.is-danger-high.is-active .mq-univers-rim { opacity: .3; }
.mq-univers-card.is-danger-max.is-active .mq-univers-rim { animation: mq-univers-rim 1.8s ease-in-out infinite; }
@keyframes mq-univers-rim { 0%, 100% { opacity: .3; } 50% { opacity: .9; } }
.mq-univers-streak { background: linear-gradient(90deg, transparent, var(--streak, rgba(255, 255, 255, .55)), transparent); }
.mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-danger, .mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-stats { opacity: 1; transform: none; animation: none !important; }
.mq-shell[data-motion="calme"] .mq-univers-card .mq-univers-stats b i { width: var(--w); }
.mq-shell[data-motion="calme"] .mq-univers-rim { animation: none !important; }
/* cartes à statistiques (adversaires) : illustration plus haute et un peu plus petite pour ne jamais couvrir le nom */
.mq-univers-card.has-stats .mq-univers-art { top: -30%; width: 86%; margin-left: -43%; }
.mq-univers-card.has-stats .mq-univers-stats { margin-top: 6px; }
.mq-univers-card.has-stats .mq-univers-pill { margin-top: 6px; }

/* =========================================================================
   EN-TÊTE COMPACT (étapes Format et Mode) — titre centré sur la ligne du bouton Retour
   ========================================================================= */
/* spécificité alignée sur la règle « structure verticale » (.mq-view[data-view] .mq-setup-head) qu'elle remplace */
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-inline {
	grid-template-columns: clamp(46px, 12vw, 56px) minmax(0, 1fr) clamp(46px, 12vw, 56px);
	grid-template-areas: "back copy spacer" "steps steps steps";
	align-items: center;
	row-gap: clamp(8px, 1.4vh, 14px);
	flex: 0 0 auto;
}
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-inline .mq-setup-back { grid-area: back; align-self: center; margin: 0; }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-inline .mq-setup-copy { grid-area: copy; align-self: center; text-align: center; padding: 0; margin: 0; min-width: 0; }
.mq-setup-head.is-inline .mq-setup-copy .mq-eyebrow { margin: 0 0 1px; font-size: clamp(.6rem, 2.6vw, .7rem); letter-spacing: .26em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-setup-head.is-inline .mq-setup-copy .mq-title { position: relative; display: inline-block; margin: 0; font-size: clamp(1.45rem, 6.6vw, 2rem); line-height: 1.05; white-space: nowrap; text-shadow: 0 2px 0 rgba(255, 255, 255, .7); }
.mq-setup-head.is-inline .mq-setup-copy .mq-title::after { content: ""; display: block; height: 4px; width: 44%; margin: 6px auto 0; border-radius: 999px; background: linear-gradient(90deg, var(--turq), var(--bleu)); }
.mq-view[data-view="miseEnPlace"] .mq-setup-head.is-inline .mq-setup-steps { grid-area: steps; margin: 0; }
@media (max-width: 340px) { .mq-setup-head.is-inline .mq-setup-copy .mq-title { font-size: 1.35rem; } }
/* modes de contenu : le sous-titre est une phrase (hint) → deux lignes maximum, taille réduite */
.mq-univers-card.has-pill .mq-univers-sub { white-space: normal; line-height: 1.25; font-size: clamp(.72rem, 3vw, .82rem); max-width: 92%; margin-left: auto; margin-right: auto; display: block; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* =========================================================================
   ACCUEIL (6.28.38) — l'ouverture du jeu : deux cartes qui s'aimantent dans un éclair,
   paire révélée, validation + titre, lumière, JOUER, ligne de chargement. Transform/opacité uniquement.
   ========================================================================= */
.mq-view[data-view="accueil"] { position: absolute; display: flex; flex-direction: column; gap: 0; overflow: hidden; min-width: 0; }
.mq-view[data-view="accueil"] > * { position: relative; z-index: 1; min-width: 0; max-width: 100%; }
.mq-shell[data-screen="accueil"] .mq-view[data-view="accueil"] { overflow: hidden; gap: clamp(6px, 1vh, 12px); }
.mq-view[data-view="accueil"] > .mq-h2-play { flex: 0 0 auto; }

/* lumière : soleil haut, voile blanc qui s'allume à la validation, éclat au point de rencontre */
.mq-h2-light { position: absolute !important; inset: -30% 0 0 0; z-index: 0 !important; pointer-events: none; overflow: hidden; }
.mq-h2-light i { position: absolute; display: block; }
.mq-h2-sun { left: 50%; top: 0; width: 170vw; height: 60vh; transform: translateX(-50%); background: radial-gradient(ellipse at 50% 35%, rgba(255,255,255,.7) 0%, rgba(255,255,255,.18) 42%, transparent 70%); }
.mq-h2-lift { inset: 0; background: #fff; opacity: 0; }
.mq-h2-flash { inset: 0; background: #fff; opacity: 0; }
.mq-h2-burst { left: 50%; top: 58%; width: 140vmax; height: 140vmax; margin: -70vmax 0 0 -70vmax; border-radius: 50%; opacity: 0; transform: scale(0);
	background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,.9) 12%, rgba(190,246,250,.55) 26%, rgba(22,196,206,.18) 42%, transparent 60%); }
.mq-shell[data-skin="nuit"] .mq-h2-sun, .mq-shell[data-skin="ardoise"] .mq-h2-sun { opacity: .35; }
.mq-shell[data-skin="nuit"] .mq-h2-lift, .mq-shell[data-skin="ardoise"] .mq-h2-lift { background: #9fd8ff; }

/* la scène : cartes + titre forment un groupe centré dans l'espace libre */
.mq-h2-stage { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; }
.mq-h2-scene { position: relative; width: 100%; height: calc(min(34vw, 148px) / .72 + clamp(28px, 7vh, 60px)); perspective: 1100px; perspective-origin: 50% 50%; }
.mq-h2-slot { position: absolute; left: 50%; top: 50%; width: min(34vw, 148px); aspect-ratio: .72; margin-left: calc(min(34vw, 148px) / -2); transform: translateY(-50%); transform-style: preserve-3d; }
.mq-h2-card { position: absolute; inset: 0; will-change: transform; opacity: 0; }
.mq-h2-wob { position: absolute; inset: 0; }
.mq-h2-flip { position: absolute; inset: 0; transform-style: preserve-3d; will-change: transform; }
.mq-h2-face { position: absolute; inset: 0; border-radius: 14% / 10%; backface-visibility: hidden; -webkit-backface-visibility: hidden; box-shadow: 0 26px 48px rgba(21,60,122,.28), 0 4px 10px rgba(21,60,122,.12); }
.mq-h2-back { background: linear-gradient(165deg, #6be4dc 0%, #37b9ea 50%, #2e86e0 100%); border: 4px solid #fff; overflow: hidden; }
.mq-h2-back::before { content: ""; position: absolute; inset: 13%; border-radius: 50%; border: 2px solid rgba(255,255,255,.34); }
.mq-h2-back svg { position: absolute; inset: 0; margin: auto; width: 46%; height: 46%; fill: #fff; filter: drop-shadow(0 3px 0 rgba(21,60,122,.26)); }
.mq-h2-front { transform: rotateY(180deg); background: #fff; padding: 4%; visibility: hidden; }
.mq-h2-front img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 11% / 8%; }
.mq-h2-front b { position: absolute; left: 4%; right: 4%; bottom: 4%; padding: 22% 8% 8%; border-radius: 0 0 11% 11% / 0 0 20% 20%; text-align: center; color: #fff; font-size: clamp(.72rem, 3.2vw, .86rem); font-weight: 900; letter-spacing: .01em; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; background: linear-gradient(180deg, rgba(9,32,68,0), rgba(9,32,68,.72)); }
.mq-h2-front::after { content: ""; position: absolute; inset: 4%; border-radius: 11% / 8%; box-shadow: inset 0 0 0 3px rgba(127,227,182,.95), inset 0 0 24px rgba(79,209,176,.35); opacity: 0; transition: opacity .4s; }
/* double sécurité : au-delà de 90°, la face avant prend le relais même si backface-visibility est ignoré */
.mq-h2-slot.is-shown .mq-h2-front { visibility: visible; }
.mq-h2-slot.is-shown .mq-h2-back { visibility: hidden; }
.mq-h2-slot.is-paired .mq-h2-front::after { opacity: 1; }
.mq-h2-spark { position: absolute; left: 50%; top: 50%; width: 26%; aspect-ratio: 1; margin: -13% 0 0 -13%; border-radius: 50%; z-index: 2; opacity: 0; transform: scale(.2);
	background: radial-gradient(circle, #fff 0%, rgba(190,250,250,.9) 30%, rgba(39,217,220,.5) 55%, transparent 72%); }
/* l'éclair : tracé SVG (cœur blanc + halo turquoise) dessiné par stroke-dashoffset, hors ramifications */
.mq-h2-bolt { position: absolute; left: 50%; top: 50%; width: 62%; height: 128%; margin: -64% 0 0 -31%; z-index: 7; pointer-events: none; overflow: visible; }
.mq-h2-bolt path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; }
.mq-h2-bolt-glow { stroke: rgba(39,217,220,.75); stroke-width: 9; }
.mq-h2-bolt-core { stroke: #fff; stroke-width: 3; }
.mq-h2-bolt .is-branch .mq-h2-bolt-glow { stroke-width: 6; }
.mq-h2-bolt .is-branch .mq-h2-bolt-core { stroke-width: 2; }
.mq-h2-seal { position: absolute; left: 50%; top: 50%; width: 34%; aspect-ratio: 1; margin: -17% 0 0 -17%; border-radius: 50%; z-index: 9; display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(0);
	background: linear-gradient(145deg, #7fe3b6, #1f9d55); box-shadow: 0 12px 28px rgba(31,157,85,.45), inset 0 3px 0 rgba(255,255,255,.55), 0 0 0 4px #fff; }
.mq-h2-seal svg { width: 56%; height: 56%; }
.mq-h2-ring { position: absolute; left: 50%; top: 50%; width: 90%; aspect-ratio: 1; margin: -45% 0 0 -45%; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 2px rgba(39,217,220,.5), inset 0 0 0 2px rgba(39,217,220,.5); opacity: 0; transform: scale(.3); z-index: 8; }
.mq-h2-shard { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px; border-radius: 3px; background: #fff; box-shadow: 0 0 12px 2px rgba(255,255,255,.9), 0 0 22px rgba(39,217,220,.7); opacity: 0; z-index: 8; }

/* la fiche de la carte, au-dessus des cartes, flèche vers elles */
.mq-h2-tip { position: absolute; left: 50%; bottom: calc(100% + 16px); width: min(88vw, 360px); margin-left: calc(min(88vw, 360px) / -2); z-index: 12; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: start; text-align: left; padding: 11px 13px 12px; border-radius: 20px; color: var(--mq-text, var(--encre));
	background: linear-gradient(180deg, var(--mq-surface, #fff), var(--mq-surface-raised, #f6fbfe)); box-shadow: 0 16px 36px rgba(21,60,122,.20), 0 2px 6px rgba(21,60,122,.08), inset 0 1px 0 rgba(255,255,255,.9), 0 0 0 1.5px rgba(31,157,85,.32);
	opacity: 0; transform: translateY(10px) scale(.96); transform-origin: 50% 100%; }
.mq-h2-tip.is-on { animation: mq-h2-tip .5s cubic-bezier(.22,1.45,.36,1) forwards; }
@keyframes mq-h2-tip { from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
.mq-h2-tip[hidden] { display: none; }
.mq-h2-tip-arrow { position: absolute; left: 50%; bottom: -9px; width: 18px; height: 18px; margin-left: -9px; background: var(--mq-surface-raised, #f6fbfe); transform: rotate(45deg); border-radius: 3px; box-shadow: 2px 2px 0 0 rgba(31,157,85,.32); }
.mq-h2-tip-ic { width: 36px; height: 36px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(145deg, #ffd27a, #e08a2b); box-shadow: 0 6px 14px rgba(224,138,43,.35); }
.mq-h2-tip-ic svg { width: 20px; height: 20px; stroke-width: 2.4; }
.mq-h2-tip-copy { min-width: 0; }
.mq-h2-tip-copy small { display: flex; justify-content: space-between; gap: 8px; font-size: .56rem; letter-spacing: .16em; font-weight: 950; color: #1f9d55; text-transform: uppercase; }
.mq-h2-tip-copy small em { font-style: normal; letter-spacing: .04em; color: var(--mq-text-muted, var(--encre-3)); }
.mq-h2-tip-copy b { display: block; margin-top: 2px; font-size: .9rem; font-weight: 950; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-h2-tip-copy p { margin: 3px 0 0; font-size: clamp(.76rem, 3.2vw, .84rem); font-weight: 800; line-height: 1.3; color: var(--mq-text, var(--encre)); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.mq-h2-tip-copy p strong { font-weight: 950; color: #e8531c; background: linear-gradient(transparent 60%, rgba(255,192,46,.35) 60%); padding: 0 2px; border-radius: 3px; }
.mq-shell[data-skin="nuit"] .mq-h2-tip-copy p strong, .mq-shell[data-skin="ardoise"] .mq-h2-tip-copy p strong { color: #ffb36b; background: linear-gradient(transparent 60%, rgba(255,192,46,.22) 60%); }

/* le titre, sous les cartes */
.mq-h2-brand { width: 100%; text-align: center; margin-top: clamp(4px, 1.6vh, 16px); }
.mq-h2-brand h1 { margin: 0; display: block; text-align: center; font-size: clamp(2.5rem, 12.4vw, 3.7rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; white-space: nowrap; max-width: 100%; overflow: hidden; }
.mq-h2-brand h1 span { display: inline-block; opacity: 0; will-change: transform, opacity; text-shadow: 0 3px 0 rgba(255,255,255,.85), 0 14px 30px rgba(21,60,122,.14); }
.mq-h2-brand h1 .is-m { color: var(--turq-2); }
.mq-h2-brand h1 .is-q { color: var(--encre); }
.mq-shell[data-skin="nuit"] .mq-h2-brand h1 span, .mq-shell[data-skin="ardoise"] .mq-h2-brand h1 span { text-shadow: 0 2px 0 rgba(0,0,0,.25), 0 14px 30px rgba(0,0,0,.3); }
.mq-home-brand-logo {
	display: block;
	width: min(88vw, 390px);
	height: auto;
	max-height: clamp(96px, 16.5dvh, 148px);
	object-fit: contain;
	margin: 0 auto;
	will-change: transform, opacity;
	filter: drop-shadow(0 10px 16px rgba(8,48,95,.18));
}
.mq-shell[data-skin="nuit"] .mq-home-brand-logo,
.mq-shell[data-skin="ardoise"] .mq-home-brand-logo { filter: drop-shadow(0 12px 18px rgba(0,0,0,.34)); }
.mq-h2-brand p { margin: 8px 0 0; font-size: clamp(.8rem, 3.4vw, .9rem); font-weight: 600; letter-spacing: .02em; color: var(--encre-2); opacity: 0; }

/* JOUER : blanc nacré, liseré turquoise → bleu, pastille dégradée à gauche, mot centré */
.mq-h2-play { position: relative; flex: 0 0 auto; height: clamp(62px, 8.4vh, 72px); border-radius: 28px; display: flex; align-items: center; justify-content: center; overflow: hidden; color: var(--mq-text, var(--encre)); opacity: 0; margin-bottom: clamp(2px, .6vh, 6px);
	background: linear-gradient(180deg, var(--mq-surface, #fff) 0%, var(--mq-surface-raised, #f6fbfe) 100%);
	box-shadow: 0 18px 40px rgba(21,60,122,.20), 0 3px 8px rgba(21,60,122,.08), inset 0 1px 0 rgba(255,255,255,.9), inset 0 -3px 0 rgba(21,60,122,.05); }
.mq-h2-play::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none; background: linear-gradient(120deg, rgba(22,196,206,.6), rgba(255,255,255,0) 45%, rgba(46,134,224,.5));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.mq-h2-play::after { content: ""; position: absolute; inset: -40%; background: linear-gradient(112deg, transparent 44%, rgba(22,196,206,.13) 50%, transparent 56%); transform: translateX(-70%); animation: mq-h2-sheen 5.2s var(--ease) 4.6s infinite; }
@keyframes mq-h2-sheen { 22%, 100% { transform: translateX(80%); } }
.mq-h2-play:active { transform: scale(.978); }
.mq-h2-play-ic { position: absolute; left: 12px; top: 50%; width: 46px; height: 46px; margin-top: -23px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--degrade); box-shadow: 0 8px 18px rgba(22,140,200,.42), inset 0 -3px 0 rgba(15,60,120,.22), inset 0 2px 0 rgba(255,255,255,.35); }
.mq-h2-play-ic svg { width: 20px; height: 20px; fill: #fff; margin-left: 3px; }
.mq-h2-play-t { display: flex; flex-direction: column; align-items: center; line-height: 1; }
.mq-h2-play-t > span { font-size: clamp(1.3rem, 5.6vw, 1.5rem); font-weight: 900; letter-spacing: .08em; background: linear-gradient(100deg, #0fa3b4 0%, #2e86e0 60%, #1f6ac0 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mq-h2-play-t small { margin-top: 4px; font-size: .66rem; font-weight: 700; color: var(--mq-text-secondary, var(--encre-2)); letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 62vw; }
.mq-shell[data-skin="nuit"] .mq-h2-play-t > span, .mq-shell[data-skin="ardoise"] .mq-h2-play-t > span { background: linear-gradient(100deg, #83dcf6, #7587ef); -webkit-background-clip: text; background-clip: text; }

/* JOUER en attente du chargement */
.mq-h2-play.is-waiting { pointer-events: none; }
.mq-h2-play.is-waiting .mq-h2-play-ic { background: linear-gradient(180deg, #cfe0ee, #b9cde0); box-shadow: none; }
.mq-h2-play.is-waiting .mq-h2-play-t > span { background: linear-gradient(100deg, #9db3cc, #8aa3bf); -webkit-background-clip: text; background-clip: text; }

/* ligne de chargement de l'ouverture : en bas, pourcentage réel, disparaît une fois prête */
.mq-h2-loader { position: absolute; left: clamp(18px, 5vw, 28px); right: clamp(18px, 5vw, 28px); bottom: calc(env(safe-area-inset-bottom) + clamp(14px, 2.2vh, 22px)); z-index: 6; display: flex; flex-direction: column; gap: 7px; pointer-events: none; transition: opacity .5s var(--ease), transform .5s var(--ease); }
.mq-h2-loader.is-done { opacity: 0; transform: translateY(8px); }
.mq-h2-loader-txt { display: flex; justify-content: space-between; align-items: baseline; font-size: .68rem; font-weight: 800; letter-spacing: .04em; color: var(--mq-text-secondary, var(--encre-2)); }
.mq-h2-loader-txt b { font-size: .8rem; font-weight: 900; color: var(--mq-text, var(--encre)); font-variant-numeric: tabular-nums; min-width: 3.2em; text-align: right; }
.mq-h2-loader-bar { display: block; height: 6px; border-radius: 99px; background: rgba(255,255,255,.7); box-shadow: inset 0 1px 2px rgba(21,60,122,.14), 0 1px 0 rgba(255,255,255,.8); overflow: hidden; }
.mq-h2-loader-bar i { display: block; height: 100%; width: 100%; border-radius: inherit; background: linear-gradient(90deg, #27d9dc, #2e86e0); transform-origin: 0 50%; transform: scaleX(0); will-change: transform; }
.mq-shell[data-skin="nuit"] .mq-h2-loader-bar, .mq-shell[data-skin="ardoise"] .mq-h2-loader-bar { background: rgba(255,255,255,.18); }

/* pendant la séquence complète, l'en-tête et la navigation attendent, puis se posent */
.mq-shell .mq-top, .mq-shell .mq-nav { transition: opacity .56s var(--sortie), transform .56s var(--sortie); }
.mq-shell.is-home-intro .mq-top { opacity: 0; transform: translateY(-14px); pointer-events: none; }
.mq-shell.is-home-intro .mq-nav { opacity: 0; transform: translateY(22px); pointer-events: none; }

/* entrée douce partagée (utilisée aussi par le hub Arène) */
@keyframes mq-hb-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* mode calme : ni secousse ni reflet, la paire est simplement en place */
.mq-shell[data-motion="calme"] .mq-h2-play::after { animation: none; }
@media (max-height: 660px) { .mq-h2-brand p { display: none; } }

/* ---------- En-tête nacré sur l'accueil (mêmes commandes : profil, pièces → boutique, coffre, réglages) ---------- */
.mq-shell[data-screen="accueil"] .mq-top { height: auto; min-height: 0; padding: 2px 0; gap: 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; min-width: 0; }
.mq-shell[data-screen="accueil"] .mq-avatar { width: clamp(46px, 6.2vh, 54px); height: clamp(46px, 6.2vh, 54px); padding: 3px; border: 0; background: var(--mq-surface, #fff); box-shadow: 0 8px 20px rgba(21,60,122,.16), 0 1px 3px rgba(21,60,122,.08); }
.mq-shell[data-screen="accueil"] .mq-avatar::before { content: ""; position: absolute; inset: 0; border-radius: 50%; padding: 2px; background: linear-gradient(135deg, #27d9dc, #2e86e0); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.mq-shell[data-screen="accueil"] .mq-avatar b { right: -6px; bottom: -4px; min-width: 22px; height: 22px; padding: 0 5px; font-size: .64rem; font-weight: 900; background: var(--degrade); border: 2.5px solid #fff; box-shadow: 0 4px 10px rgba(46,134,224,.35); }
.mq-shell[data-screen="accueil"] .mq-profil-info { justify-content: center; gap: 4px; min-width: 0; flex: 1 1 0; }
.mq-shell[data-screen="accueil"] .mq-profil-info strong { display: block; font-size: clamp(.74rem, 3.2vw, .84rem); font-weight: 900; letter-spacing: -.01em; color: var(--mq-text, var(--encre)); text-shadow: 0 1px 0 rgba(255,255,255,.6); }
.mq-shell[data-skin="nuit"][data-screen="accueil"] .mq-profil-info strong, .mq-shell[data-skin="ardoise"][data-screen="accueil"] .mq-profil-info strong { text-shadow: none; }
.mq-shell[data-screen="accueil"] .mq-xp { height: 7px; max-width: 132px; border-radius: 99px; background: rgba(255,255,255,.8); box-shadow: inset 0 1px 2px rgba(21,60,122,.14); }
.mq-shell[data-screen="accueil"] .mq-xp i { position: relative; overflow: hidden; background: linear-gradient(90deg, #27d9dc, #2e86e0); }
.mq-shell[data-screen="accueil"] .mq-xp i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%); transform: translateX(-100%); animation: mq-h2-xp 3.6s var(--ease) 4.8s infinite; }
@keyframes mq-h2-xp { 35%, 100% { transform: translateX(100%); } }
.mq-shell[data-screen="accueil"] .mq-chip { height: clamp(40px, 5.4vh, 44px); gap: 6px; padding: 0 5px 0 6px; border-radius: 99px; font-size: clamp(.86rem, 3.8vw, .96rem); font-weight: 900; color: var(--mq-text, var(--encre)); background: linear-gradient(180deg, var(--mq-surface, #fff), var(--mq-surface-raised, #f6fbfe)); border: 0; box-shadow: 0 10px 24px rgba(21,60,122,.16), 0 1px 3px rgba(21,60,122,.08), inset 0 1px 0 rgba(255,255,255,.9); position: relative; }
.mq-shell[data-screen="accueil"] .mq-chip::before { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none; background: linear-gradient(120deg, rgba(255,192,46,.7), rgba(255,255,255,0) 45%, rgba(232,149,28,.45)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
.mq-shell[data-screen="accueil"] .mq-chip .mq-coin { width: 30px; height: 30px; background: radial-gradient(circle at 36% 30%, #fff1b8 0%, #ffd24a 34%, #ffc02e 58%, #e8951c 100%); box-shadow: 0 3px 0 #b8650a, 0 6px 12px rgba(232,149,28,.35), inset 0 1px 0 rgba(255,255,255,.7); color: #b25f05; }
.mq-shell[data-screen="accueil"] .mq-chip .mq-coin svg { width: 50%; height: 50%; stroke-width: 3; }
.mq-shell[data-screen="accueil"] .mq-chip b { min-width: 2.4em; text-align: center; font-variant-numeric: tabular-nums; }
.mq-shell[data-screen="accueil"] .mq-chip .mq-plus { width: 30px; height: 30px; font-size: 1.1rem; background: var(--degrade); box-shadow: 0 5px 12px rgba(46,134,224,.38), inset 0 -2px 0 rgba(15,60,120,.22), inset 0 1px 0 rgba(255,255,255,.4); }
.mq-shell[data-screen="accueil"] .mq-icon-btn { width: clamp(40px, 5.4vh, 44px); height: clamp(40px, 5.4vh, 44px); border-radius: 50%; border: 0; color: var(--mq-text-secondary, var(--encre-2)); background: linear-gradient(180deg, var(--mq-surface, #fff), var(--mq-surface-raised, #f6fbfe)); box-shadow: 0 10px 24px rgba(21,60,122,.14), inset 0 1px 0 rgba(255,255,255,.9); }
.mq-shell[data-screen="accueil"] .mq-icon-btn svg { width: 19px; height: 19px; stroke-width: 2.5; }
.mq-shell[data-screen="accueil"] .mq-coffre { color: var(--or-2); }
.mq-shell[data-screen="accueil"] .mq-coffre.is-pret::after { top: -2px; right: -2px; }
@media (max-width: 360px) { .mq-shell[data-screen="accueil"] .mq-profil-info strong { display: none; } .mq-shell[data-screen="accueil"] .mq-top { gap: 8px; } }

/* =========================================================================
   HUB MULTIJOUEUR « ARÈNE » (6.28.32)
   ========================================================================= */
.mq-arena-hub { display: grid; gap: 10px; align-content: start; }
.mq-arena { position: relative; border-radius: 30px; padding: 16px 16px 14px; color: #fff; overflow: hidden; background: linear-gradient(160deg, #1f7d8a 0%, #2e86e0 55%, #3b5fd6 100%); box-shadow: 0 20px 44px rgba(31, 106, 192, .35), inset 0 1px 0 rgba(255, 255, 255, .35); opacity: 0; transform: translateY(18px); cursor: pointer; }
.mq-view[data-view="online"].is-on .mq-arena { animation: mq-hb-in .7s var(--sortie) .05s forwards; }
.mq-arena::before { content: ""; position: absolute; inset: -40% -20% auto -20%; height: 120%; background: radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, .28), transparent 55%); pointer-events: none; }
.mq-arena-sheen { position: absolute; inset: -40% auto -40% -35%; width: 34%; transform: skewX(-18deg); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent); animation: mq-arena-sheen 4.2s ease-in-out 1.4s infinite; }
@keyframes mq-arena-sheen { 35%, 100% { transform: translateX(430%) skewX(-18deg); } }
.mq-arena-eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .62rem; letter-spacing: .22em; font-weight: 950; text-transform: uppercase; opacity: .92; white-space: nowrap; }
.mq-arena-live { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .18); font-size: .58rem; letter-spacing: .08em; }
.mq-arena-live i { width: 8px; height: 8px; border-radius: 50%; background: #7dff9a; animation: mq-arena-live 1.8s ease-out infinite; }
@keyframes mq-arena-live { 0% { box-shadow: 0 0 0 0 rgba(125, 255, 154, .6); } 100% { box-shadow: 0 0 0 9px rgba(125, 255, 154, 0); } }
.mq-arena-main { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; margin-top: 12px; }
.mq-arena-body { min-width: 0; color: #fff; }
.mq-arena-medal { position: relative; width: 84px; height: 84px; flex: 0 0 auto; display: block; color: #7a4306; }
.mq-arena-medal .mq-arena-disc { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffe9a3, #f5a11c 60%, #c9760d); box-shadow: 0 12px 26px rgba(201, 118, 13, .45), inset 0 -6px 12px rgba(120, 60, 0, .25), inset 0 3px 6px rgba(255, 255, 255, .55); }
.mq-arena-medal .mq-arena-ring { position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .55); }
.mq-arena-medal .mq-arena-glow { position: absolute; inset: -30%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 220, 120, .55), transparent 65%); opacity: 0; }
.mq-arena-medal > svg { position: absolute; inset: 0; margin: auto; width: 42px; height: 42px; }
.mq-view[data-view="online"].is-on .mq-arena-medal { animation: mq-arena-float 3.6s ease-in-out infinite; }
.mq-view[data-view="online"].is-on .mq-arena-medal .mq-arena-glow { animation: mq-arena-glow 3.6s ease-in-out infinite; }
@keyframes mq-arena-float { 50% { transform: translateY(-6px); } }
@keyframes mq-arena-glow { 50% { opacity: 1; } }
.mq-arena-trophies { display: flex; align-items: baseline; gap: 8px; line-height: 1; }
.mq-arena-trophies strong { font-size: clamp(38px, 11vw, 50px); font-weight: 950; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.mq-arena-trophies small { font-size: .95rem; font-weight: 900; opacity: .9; }
.mq-arena-format { margin: 6px 0 0; font-size: .8rem; font-weight: 800; opacity: .95; }
.mq-arena-format em { display: inline-flex; align-items: center; margin-left: 6px; padding: 3px 10px; border-radius: 999px; background: #fff; color: #1f6ac0; font-style: normal; font-weight: 950; font-size: .8rem; }
.mq-arena-ladder { margin-top: 10px; display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; font-size: .7rem; font-weight: 900; }
.mq-arena-ladder > span { display: inline-flex; align-items: center; padding: 4px 8px; border-radius: 999px; background: rgba(255, 255, 255, .14); }
.mq-arena-ladder > span.is-next { background: rgba(255, 255, 255, .24); }
.mq-arena-bar { height: 10px; border-radius: 999px; background: rgba(255, 255, 255, .22); overflow: hidden; position: relative; margin: 0; }
.mq-arena-bar i { display: block; height: 100%; width: var(--p, 0%); border-radius: inherit; background: linear-gradient(90deg, #ffe08a, #ffc02e); box-shadow: 0 0 12px rgba(255, 192, 46, .7); transition: width 1.4s var(--sortie) .6s; }
.mq-arena-hint { display: block; margin-top: 8px; font-size: .72rem; font-weight: 800; opacity: .9; }
/* actions */
.mq-arena-act { position: relative; display: grid; grid-template-columns: 60px 1fr 32px; align-items: center; gap: 12px; padding: 12px 12px 12px 12px; border-radius: 24px; text-align: left; color: var(--encre); background: linear-gradient(165deg, rgba(255, 255, 255, .97), rgba(255, 255, 255, .86)); border: 1px solid rgba(255, 255, 255, .9); box-shadow: 0 12px 30px rgba(21, 60, 122, .12); overflow: hidden; opacity: 0; transform: translateY(18px); transition: transform .3s cubic-bezier(.2, .8, .2, 1); }
.mq-view[data-view="online"].is-on .mq-arena-act { animation: mq-hb-in .7s var(--sortie) forwards; }
.mq-view[data-view="online"].is-on .mq-arena-act:nth-of-type(1) { animation-delay: .18s; } .mq-view[data-view="online"].is-on .mq-arena-act:nth-of-type(2) { animation-delay: .28s; } .mq-view[data-view="online"].is-on .mq-arena-act:nth-of-type(3) { animation-delay: .38s; } .mq-view[data-view="online"].is-on .mq-arena-act:nth-of-type(4) { animation-delay: .48s; }
.mq-arena-act:active { transform: scale(.985) !important; }
.mq-arena-act::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 0% 50%, var(--tint) 0%, transparent 55%); opacity: .6; pointer-events: none; }
.mq-arena-ic { position: relative; width: 60px; height: 60px; border-radius: 19px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(145deg, var(--a), var(--b)); box-shadow: 0 10px 22px var(--glow), inset 0 1px 0 rgba(255, 255, 255, .5); }
.mq-arena-ic svg { width: 28px; height: 28px; }
.mq-arena-copy { min-width: 0; }
.mq-arena-copy strong { display: block; font-size: clamp(1rem, 4.4vw, 1.2rem); font-weight: 950; letter-spacing: -.025em; line-height: 1.1; }
.mq-arena-copy small { display: block; margin-top: 3px; font-size: .76rem; font-weight: 800; color: var(--encre-2); line-height: 1.25; }
.mq-arena-chev { width: 32px; height: 32px; border-radius: 50%; background: rgba(21, 60, 122, .06); display: flex; align-items: center; justify-content: center; color: var(--encre-2); }
.mq-arena-chev svg { width: 18px; height: 18px; }
.mq-arena-act.is-quick { --a: #5ad7e6; --b: #1f7d8a; --glow: rgba(31, 125, 138, .35); --tint: rgba(90, 215, 230, .45); }
.mq-arena-act.is-create { --a: #6f8cff; --b: #3b5fd6; --glow: rgba(59, 95, 214, .35); --tint: rgba(111, 140, 255, .4); }
.mq-arena-act.is-join { --a: #5fe0a8; --b: #1f9d55; --glow: rgba(31, 157, 85, .35); --tint: rgba(95, 224, 168, .4); }
.mq-arena-act.is-resume { --a: #ffd27a; --b: #e08a2b; --glow: rgba(224, 138, 43, .35); --tint: rgba(255, 210, 122, .45); }
.mq-shell[data-motion="calme"] .mq-view[data-view="online"] .mq-arena, .mq-shell[data-motion="calme"] .mq-view[data-view="online"] .mq-arena-act { opacity: 1; transform: none; animation: none !important; }
.mq-shell[data-motion="calme"] .mq-arena-sheen, .mq-shell[data-motion="calme"] .mq-arena-medal, .mq-shell[data-motion="calme"] .mq-arena-medal .mq-arena-glow, .mq-shell[data-motion="calme"] .mq-arena-live i { animation: none !important; }

/* =========================================================================
   FLUIDITÉ (6.28.35) — rien ne s'anime hors champ
   ========================================================================= */
/* Les vues cachées gardent leurs animations en pause : une seule vue vivante à la fois. */
.mq-view:not(.is-active), .mq-view:not(.is-active) * { animation-play-state: paused !important; }
/* Feuille, dialogue ou route des trophées ouverts : la vue en dessous et le décor s'immobilisent. */
.mq-shell.has-sheet .mq-view *, .mq-shell.has-sheet .mq-ambiance i, .mq-shell.has-sheet .mq-ambiance::before, .mq-shell.has-sheet .mq-ambiance::after { animation-play-state: paused !important; }

/* =========================================================================
   TOURNOIS EN DIRECT (6.29.0) — case du hub, écrans Tournois / Création /
   Vestiaire / Tirage / Tableau / Interlude / Tour terminé / Podium.
   ========================================================================= */
.mq-arena-act.is-tournament { --a: #ffd45a; --b: #e8951c; --glow: rgba(232, 149, 28, .38); --tint: rgba(255, 212, 90, .45); }
.mq-view[data-view="online"].is-on .mq-arena-act:nth-of-type(4) { animation-delay: .42s; }
.mq-arena-badge { position: absolute; right: 12px; top: 10px; font-size: .58rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; padding: 4px 9px; border-radius: 99px; color: #fff; background: linear-gradient(105deg, #ff6f91, #f04438); box-shadow: 0 6px 14px rgba(240, 68, 56, .35); z-index: 1; }
.mq-arena-act.is-tournament .mq-arena-copy { padding-right: 6px; }
.mq-arena-act.is-tournament .mq-arena-copy strong::after { content: "🏆"; margin-left: 6px; font-size: .9em; }

/* cartes et textes communs */
.mq-btn.is-ghost { background: rgba(31, 157, 85, .14) !important; color: #1f9d55 !important; box-shadow: none !important; }

/* mes stats + mes tournois */

/* création : sélecteurs */

/* vestiaire */

/* tirage au sort */

/* tableau */

/* interlude aller / retour et tour terminé */

/* podium et récompenses */

/* fin de manche dans un tournoi */
@media (max-width: 360px) { .mq-tn-seats { gap: 6px; } .mq-tn-seat b { font-size: .58rem; } .mq-tn-stats b { font-size: .9rem; } }

/* ---------- Tournois V2 : héros, création par tuiles, rail d'univers, résumé collant ---------- */
@keyframes mq-h2-pulse { 70% { box-shadow: 0 0 0 7px rgba(76, 201, 63, 0); } 100% { box-shadow: 0 0 0 0 rgba(76, 201, 63, 0); } }

/* création */
@media (max-width: 360px) { .mq-tn-tiles.is-2 { grid-template-columns: 1fr; } .mq-tn-tile.is-size strong { font-size: 1.4rem; } }

/* =========================================================================
   TOURNOIS (6.30.0) — présentation portée depuis la maquette « Tournois Premium »
   (préfixe .mq-tp), élimination et championnat.
   ========================================================================= */
.mq-view[data-view="online"] > .mq-tp { flex: 1 1 auto; min-height: 0; }
.mq-tp { display: flex; flex-direction: column; height: 100%; min-height: 0; position: relative; color: var(--mq-text, var(--encre)); font-size: 15px; }
.mq-tp * { box-sizing: border-box; }
.mq-tp h2 { font-size: 30px; letter-spacing: -1.2px; line-height: 1.05; margin: 8px 0 10px; font-weight: 950; }
.mq-tp h3 { font-size: 15px; margin: 0 0 8px; font-weight: 900; }
.mq-tp p { margin: 0 0 8px; line-height: 1.45; font-weight: 700; }
.mq-tp button { border: 0; background: none; color: inherit; font: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mq-tp button:disabled { cursor: default; opacity: .45; }
.mq-tp button:active:not(:disabled) { transform: scale(.97); }
.mq-tp input { font: inherit; }
.mq-tp .mq-tp-ic { width: 21px; height: 21px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; display: block; }
.mq-tp-back { width: 36px; height: 36px; border-radius: 50%; background: var(--mq-surface, #fff); display: grid; place-items: center; border: 1px solid var(--mq-border, rgba(21,60,122,.12)); flex-shrink: 0; }
.mq-tp-screen-head h1 { flex: 1; margin: 0; font-size: 19px; font-weight: 950; letter-spacing: -.6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-tp-scroll::-webkit-scrollbar { display: none; }
.mq-tp-scroll { scrollbar-width: none; }
.mq-tp-identity { display: grid; gap: 10px; }
.mq-tp-identity .mq-form-error:empty { display: none; }
.mq-tp-choices.mq-tp-five { grid-template-columns: repeat(5, 1fr); gap: 6px; }
.mq-tp-choices.mq-tp-five .mq-tp-choice { padding: 12px 4px; align-items: center; text-align: center; }
.mq-tp-choices.mq-tp-five .mq-tp-choice small { font-size: 9px; }
.mq-tp-avatar-empty { display: inline-block; width: 46px; height: 46px; border-radius: 50%; background: var(--mq-surface-raised, #f1f5f9); border: 2px dashed var(--mq-border, #cbd5e1); }
.mq-tp-bracket-match .mq-tp-avatar-empty { width: 20px; height: 20px; border-width: 1px; }
.mq-tp-seat.mq-tp-me .mq-tp-avatar { box-shadow: 0 0 0 3px #16c4ce; }
.mq-tp-training { color: #a45912 !important; }
.mq-tp-standings { padding: 8px 10px 12px; }
.mq-tp-standings-head, .mq-tp-standings-row { display: grid; grid-template-columns: 22px 1fr 26px 26px 26px 56px 34px; align-items: center; gap: 4px; padding: 8px 6px; font-size: 12px; font-weight: 800; }
.mq-tp-standings-head { color: var(--mq-text-secondary); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; border-bottom: 1px solid var(--mq-border); }
.mq-tp-standings-row { border-radius: 12px; }
.mq-tp-standings-row.mq-tp-mine { background: rgba(22, 196, 206, .12); }
.mq-tp-standings-row.mq-tp-first .mq-tp-rank { background: var(--gold); color: #3a2200; }
.mq-tp-standings-row span { text-align: center; }
.mq-tp-standings-row .mq-tp-rank { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--mq-surface-raised); font-size: 11px; }
.mq-tp-standings-row .mq-tp-who { display: flex; align-items: center; gap: 6px; text-align: left; min-width: 0; }
.mq-tp-standings-row .mq-tp-who .mq-tp-avatar { width: 26px; height: 26px; }
.mq-tp-standings-row .mq-tp-who strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mq-tp-standings-row .mq-tp-diff { color: var(--mq-text-secondary); font-variant-numeric: tabular-nums; }
.mq-tp-standings-row .mq-tp-pts { font-size: 14px; font-weight: 950; color: var(--accent); }
.mq-tp-record-card .mq-tp-mini-stats { margin: 0; }
.mq-tp-sheet-backdrop { position: absolute; inset: 0; z-index: 20; background: rgba(8, 23, 44, .45); display: flex; align-items: flex-end; }
.mq-tp-sheet { width: 100%; max-height: 82%; overflow-y: auto; }
.mq-tp-round-button { width: 36px; height: 36px; border-radius: 50%; background: var(--mq-surface); display: grid; place-items: center; border: 1px solid var(--mq-border); }
.mq-tp .mq-tp-count-ring strong[data-tn-until] { font-variant-numeric: tabular-nums; }
.mq-shell[data-motion="calme"] .mq-tp * , .mq-shell[data-motion="calme"] .mq-tp *::before, .mq-shell[data-motion="calme"] .mq-tp *::after { animation: none !important; transition: none !important; }
.mq-tp-ic{width:21px;height:21px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mq-tp{--hero:#e6f8ef;--accent:#087c80;--gold:linear-gradient(115deg,#ffe58b,#ffc02e 60%,#efa22e);--ease:cubic-bezier(.32,.72,.24,1)}
.mq-shell[data-skin="ocean"] .mq-tp{--mq-bg:#ddecf8;--hero:#b5eaf5;--mq-surface-raised:#eff9ff;--mq-border:#caddf0;--accent:#1d669c}
.mq-shell[data-skin="ambre"] .mq-tp{--mq-bg:#fff4df;--hero:#ffe1a5;--mq-surface-raised:#fff9ee;--mq-border:#f0dec0;--accent:#a45912}
.mq-shell[data-skin="nuit"] .mq-tp{--mq-bg:#0b1422;--hero:#203b49;--mq-surface:#18283a;--mq-surface-raised:#20344a;--mq-text:#eff6ff;--mq-text-secondary:#aec3da;--mq-border:#34485d;--accent:#81e0d3}
.mq-shell[data-skin="nuit"] .mq-tp .mq-tp-hero{background:radial-gradient(ellipse at 70% 20%,#3c5147,transparent 70%),linear-gradient(140deg,#243c3e,#162c3c)}
.mq-tp-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:6px 20px 24px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b7d7d7 transparent}
.mq-tp-screen-head{display:flex;align-items:center;gap:9px;padding:5px 20px 12px;flex-shrink:0}
.mq-tp-screen-head h1{margin:0;font-size:23px;letter-spacing:-.8px;font-weight:950;flex:1}
.mq-tp-screen-head .mq-tp-back{padding:6px;background:none}
.mq-tp-tag{display:inline-flex;align-items:center;gap:5px;border-radius:30px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.4px;white-space:nowrap;background:var(--mq-surface-raised);color:var(--accent);border:1px solid var(--mq-border)}
.mq-tp-tag.mq-tp-gold{background:#fff0c5;color:#865006;border-color:#f5d68b}
.mq-tp-dot{height:6px;width:6px;border-radius:50%;background:#36b968;box-shadow:0 0 0 3px #36b96819;animation:tp-blink 2s infinite}
.mq-tp-eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:950;color:var(--accent);margin:0 0 9px}
.mq-tp-muted{color:var(--mq-text-secondary)}
.mq-tp-row{display:flex;align-items:center;gap:10px}
.mq-tp-between{justify-content:space-between}
.mq-tp-stack{display:grid;gap:12px}
.mq-tp-section-label{display:flex;align-items:center;justify-content:space-between;margin:23px 0 12px}
.mq-tp-section-label h3{margin:0;font-size:16px}
.mq-tp-section-label small{font-size:10px;color:var(--mq-text-secondary);font-weight:800}
.mq-tp-hero{position:relative;overflow:hidden;border-radius:28px;border:1px solid #fff9;background:radial-gradient(ellipse at 80% 30%,#ffedb5a6,transparent 65%),linear-gradient(125deg,#e2faf2,#f6fbef);padding:23px 21px 0;box-shadow:0 12px 30px #153c7a12}
.mq-tp-hero .mq-tp-eyebrow{position:relative;z-index:2}
.mq-tp-hero h2{font-size:30px;max-width:188px;position:relative;z-index:2;line-height:1.04}
.mq-tp-hero h2 em{font-style:normal;color:var(--accent)}
.mq-tp-hero p{max-width:192px;position:relative;z-index:2;margin-bottom:16px;font-weight:600}
.mq-tp-hero .mq-tp-prize{display:inline-flex;gap:6px;align-items:center;color:#8e590f;background:#fff7db;border:1px solid #efd69d;padding:7px 10px;border-radius:9px;font-size:11px;font-weight:900;position:relative;z-index:2}
.mq-tp-prize .mq-tp-ic{width:16px;height:16px}
.mq-tp-hero-art{position:absolute;right:-8px;top:43px;width:154px;height:172px;pointer-events:none}
.mq-tp-halo{position:absolute;inset:9%;border:1px solid #d8be6b66;border-radius:50%;animation:tp-orbit 30s linear infinite}
.mq-tp-halo:before, .mq-tp-halo:after{content:'';position:absolute;border:1px solid #d8be6b44;border-radius:50%;inset:10px}
.mq-tp-halo:after{inset:23px}
.mq-tp-halo i{position:absolute;width:7px;height:7px;background:#edb529;border-radius:50%;top:0;left:60%}
.mq-tp-cup{width:100%;height:100%;filter:drop-shadow(0 15px 8px #80540b26);animation:tp-float 5s var(--ease) infinite}
.mq-tp-spark{position:absolute;font-size:20px;color:#c68e1d;animation:tp-twinkle 3s infinite}
.mq-tp-spark.mq-tp-a{top:6px;right:40px}
.mq-tp-spark.mq-tp-b{bottom:27px;left:24px;animation-delay:1s}
.mq-tp-hero-foot{border-top:1px solid #8db8a52f;display:flex;justify-content:space-between;margin-top:22px;padding:13px 0;position:relative;z-index:2}
.mq-tp-hero-foot span{font-size:10px;font-weight:800;color:var(--mq-text-secondary);display:flex;align-items:center;gap:4px}
.mq-tp-hero-foot b{color:var(--mq-text);font-size:14px}
.mq-tp-hero-foot .mq-tp-ic{width:15px;height:15px}
.mq-tp-primary{padding:15px 18px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--degrade);color:white;font-size:14px;font-weight:900;box-shadow:0 5px 0 #1874aa,0 10px 24px #279ac22b;min-height:48px;position:relative;overflow:hidden}
.mq-tp-primary:after{content:'';position:absolute;inset:-30% auto -30% -70%;width:35%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff40,transparent);animation:tp-shine 6s ease-in-out infinite;pointer-events:none}
.mq-tp-primary.mq-tp-gold{background:var(--gold);color:#634315;box-shadow:0 4px 0 #ca881d,0 10px 20px #c68c1f23}
.mq-tp-primary.mq-tp-full{width:100%;margin-top:15px}
.mq-tp-secondary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:10px 14px;border-radius:13px;background:var(--mq-surface-raised);color:var(--mq-text);border:1px solid var(--mq-border);font-size:12px;font-weight:850}
.mq-tp-text-button{display:flex;align-items:center;gap:5px;background:none;font-size:11px;font-weight:850;color:var(--accent);padding:7px 0}
.mq-tp-text-button .mq-tp-ic{width:14px;height:14px}
.mq-tp-card{padding:16px;border-radius:22px;background:var(--mq-surface);border:1px solid var(--mq-border);box-shadow:0 6px 18px #153c7a05}
.mq-tp-resume{display:flex;align-items:center;gap:10px;border:1px solid #e7c668;background:var(--mq-surface);padding:13px;border-radius:18px;position:relative}
.mq-tp-resume:before{content:'';position:absolute;inset:8px auto 8px 0;width:3px;background:#edb829;border-radius:0 3px 3px 0}
.mq-tp-resume .mq-tp-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#fff1c9;color:#a06a13}
.mq-tp-resume strong{font-size:12px;display:block}
.mq-tp-resume small{font-size:10px;display:block;color:var(--mq-text-secondary);margin-top:4px}
.mq-tp-resume .mq-tp-text-button{margin-left:auto}
.mq-tp-code-entry{display:flex;gap:8px;align-items:center}
.mq-tp-code-entry input{min-width:0;width:100%;border:1px solid var(--mq-border);border-radius:12px;padding:12px;background:var(--mq-surface-raised);color:var(--mq-text);letter-spacing:4px;font-size:17px;font-weight:800}
.mq-tp-code-entry button{width:43px;min-height:43px;flex-shrink:0}
.mq-tp-error{color:#c13c50;font-size:11px;min-height:0;margin:7px 0 0}
.mq-tp-public-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--mq-surface);border-radius:19px;border:1px solid var(--mq-border)}
.mq-tp-public-card .mq-tp-copy{flex:1;min-width:0}
.mq-tp-public-card strong{font-size:12px;display:block}
.mq-tp-public-card small{font-size:10px;display:block;color:var(--mq-text-secondary);line-height:1.5;margin-top:3px}
.mq-tp-public-card .mq-tp-secondary{padding:9px 10px;font-size:10px;min-height:39px;color:var(--accent)}
.mq-tp-avatar{width:42px;height:42px;object-fit:cover;border-radius:50%;border:2px solid var(--mq-surface);box-shadow:0 3px 10px #153c7a1f;background:#cbdad9;flex-shrink:0}
.mq-tp-meter{height:4px;border-radius:5px;background:var(--mq-border);overflow:hidden;margin:8px 0 4px}
.mq-tp-meter i{display:block;height:100%;background:var(--degrade);border-radius:5px;transform-origin:left;animation:tp-grow .8s var(--sortie) both}
.mq-tp-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.mq-tp-mini-stats div{text-align:center;padding:13px 4px;background:var(--mq-surface);border:1px solid var(--mq-border);border-radius:16px}
.mq-tp-mini-stats strong{font-size:19px;font-weight:950;display:block}
.mq-tp-mini-stats small{font-size:10px;color:var(--mq-text-secondary)}
.mq-tp-enter{animation:tp-enter .55s var(--sortie) both}
.mq-tp-stagger>*{animation:tp-enter .55s var(--sortie) both}
.mq-tp-stagger>*:nth-child(2){animation-delay:.07s}
.mq-tp-stagger>*:nth-child(3){animation-delay:.14s}
.mq-tp-stagger>*:nth-child(4){animation-delay:.21s}
.mq-tp-stagger>*:nth-child(5){animation-delay:.28s}
.mq-tp-stagger>*:nth-child(6){animation-delay:.35s}
.mq-tp-foot{padding:12px 20px 15px;background:var(--mq-surface);border-top:1px solid var(--mq-border);flex-shrink:0}
.mq-tp-foot p{font-size:10px;text-align:center;margin:0 0 9px;color:var(--mq-text-secondary)}
.mq-tp-foot .mq-tp-primary{width:100%}
.mq-tp-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mq-tp-choices.mq-tp-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mq-tp-choice{min-width:0;position:relative;text-align:left;padding:16px 12px;border-radius:17px;border:1.5px solid var(--mq-border);background:var(--mq-surface);display:flex;flex-direction:column;gap:7px;transition:transform .2s var(--ease);font-weight:850}
.mq-tp-choice .mq-tp-ic{color:var(--mq-text-secondary);height:23px;width:23px}
.mq-tp-choice strong{font-size:12px}
.mq-tp-choice small{font-size:10px;line-height:1.4;color:var(--mq-text-secondary);font-weight:600}
.mq-tp-choice .mq-tp-big{font-size:30px;letter-spacing:-1px}
.mq-tp-choice.mq-tp-selected{border-color:#1babac;background:var(--mq-surface-raised);box-shadow:0 0 0 2px #1babac15}
.mq-tp-choice.mq-tp-selected:after{content:'✓';position:absolute;top:8px;right:8px;width:17px;height:17px;display:grid;place-items:center;background:#119397;color:white;border-radius:50%;font-size:10px}
.mq-tp-choice.mq-tp-selected .mq-tp-ic{color:var(--accent)}
.mq-tp-rail{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin}
.mq-tp-universe{min-width:100px;width:100px;padding:6px;align-items:center;flex-shrink:0}
.mq-tp-universe img{width:85px;height:62px;object-fit:contain}
.mq-tp-universe strong{font-size:10px}
.mq-tp-toggle{width:100%;background:var(--mq-surface);border:1px solid var(--mq-border);border-radius:17px;padding:15px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.mq-tp-toggle strong{font-size:12px}
.mq-tp-toggle small{display:block;color:var(--mq-text-secondary);font-size:10px;margin-top:4px}
.mq-tp-switch{height:25px;width:44px;background:var(--mq-border);border-radius:20px;padding:3px;flex-shrink:0}
.mq-tp-switch:after{content:'';display:block;width:19px;height:19px;border-radius:50%;background:white;transition:transform .2s}
.mq-tp-toggle[aria-checked=true] .mq-tp-switch{background:#1cac98}
.mq-tp-toggle[aria-checked=true] .mq-tp-switch:after{transform:translateX(19px)}
.mq-tp-name-input{width:100%;padding:12px 0 4px;background:none;color:var(--mq-text);font-size:20px;font-weight:900;border:0;border-bottom:1px solid var(--mq-border)}
.mq-tp-lobby-title{text-align:center;margin-top:10px}
.mq-tp-lobby-title h2{font-size:26px}
.mq-tp-lobby-code{display:flex;align-items:center;gap:8px;justify-content:center;margin:12px 0 22px}
.mq-tp-lobby-code button{background:var(--mq-surface);border:1px dashed #9eb9bb;border-radius:10px;padding:9px 14px;font-weight:900;letter-spacing:3px;display:flex;align-items:center;gap:14px}
.mq-tp-lobby-code .mq-tp-ic{width:16px;height:16px;letter-spacing:0}
.mq-tp-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 7px}
.mq-tp-seat{text-align:center;position:relative;min-width:0;padding:6px 0}
.mq-tp-seat .mq-tp-avatar{width:54px;height:54px;border:3px solid var(--mq-surface)}
.mq-tp-seat.mq-tp-ready .mq-tp-avatar{border-color:#67c98e}
.mq-tp-seat .mq-tp-photo{position:relative;display:inline-block}
.mq-tp-seat .mq-tp-check{position:absolute;right:-1px;bottom:3px;border:2px solid var(--mq-surface);border-radius:50%;height:18px;width:18px;display:grid;place-items:center;background:#2dae65;color:white;font-size:10px}
.mq-tp-seat strong{display:block;font-size:11px;margin:6px 0 2px;overflow:hidden;text-overflow:ellipsis}
.mq-tp-seat small{display:block;font-size:8px;color:var(--mq-text-secondary)}
.mq-tp-empty-seat{width:54px;height:54px;border:1.5px dashed #acc3c6;border-radius:50%;margin:auto;display:grid;place-items:center;color:#9cb3bd;font-size:21px}
.mq-tp-lobby-status{display:flex;align-items:center;gap:12px;margin:22px 0 0;padding:14px;border-radius:17px;background:var(--mq-surface-raised)}
.mq-tp-lobby-status p{margin:0;font-size:11px}
.mq-tp-lobby-status .mq-tp-ic{color:var(--accent)}
.mq-tp-round-progress{display:flex;gap:4px;justify-content:center;margin:18px 0}
.mq-tp-round-progress i{width:20px;height:4px;border-radius:3px;background:var(--mq-border)}
.mq-tp-round-progress .mq-tp-on{background:#1fa9ad}
.mq-tp-center{text-align:center}
.mq-tp-count-ring{height:175px;width:175px;margin:22px auto;position:relative;display:grid;place-items:center;border-radius:50%;border:1px solid var(--mq-border);background:var(--mq-surface);box-shadow:0 0 0 12px var(--mq-surface-raised),0 20px 40px #153c7a17}
.mq-tp-count-ring:before{content:'';position:absolute;inset:-6px;border-radius:50%;border:4px solid transparent;border-top-color:#e5b130;border-right-color:#1eb6b9;animation:tp-orbit 2s linear infinite}
.mq-tp-count-ring strong{display:block;font-size:62px;letter-spacing:-4px;font-weight:950;line-height:1.1}
.mq-tp-count-ring small{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mq-text-secondary)}
.mq-tp-overlap{display:flex;justify-content:center;margin:19px 0}
.mq-tp-overlap .mq-tp-avatar{margin-left:-8px;width:35px;height:35px}
.mq-tp-overlap .mq-tp-avatar:first-child{margin-left:0}
.mq-tp-draw-stage{height:256px;position:relative;display:grid;place-items:center;margin:8px 0}
.mq-tp-draw-stage .mq-tp-cup{width:170px;height:170px}
.mq-tp-orbit-avatars{position:absolute;width:235px;height:235px;border:1px dashed var(--mq-border);border-radius:50%;animation:tp-orbit 16s linear infinite}
.mq-tp-orbit-avatars img{position:absolute;width:46px;height:46px;left:calc(50% - 23px);top:calc(50% - 23px);transform:rotate(var(--angle)) translateY(-116px) rotate(calc(-1 * var(--angle)));border:3px solid var(--mq-surface)}
.mq-tp-round-tabs{display:flex;gap:6px;overflow-x:auto;margin:3px 0 16px;scrollbar-width:none}
.mq-tp-round-tabs button{white-space:nowrap;background:var(--mq-surface);padding:9px 12px;border:1px solid var(--mq-border);border-radius:20px;font-size:10px;font-weight:900}
.mq-tp-round-tabs button.mq-tp-active{color:var(--mq-bg);background:var(--mq-text);border-color:var(--mq-text)}
.mq-tp-match-card{border:1px solid var(--mq-border);border-radius:20px;background:var(--mq-surface);padding:15px;margin-bottom:12px}
.mq-tp-match-card.mq-tp-mine{border:1.5px solid #d8b65a;box-shadow:0 6px 22px #bc942919}
.mq-tp-match-head{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.7px;color:var(--mq-text-secondary);margin-bottom:13px}
.mq-tp-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.mq-tp-contender{text-align:center;min-width:0}
.mq-tp-contender .mq-tp-avatar{width:49px;height:49px}
.mq-tp-contender strong{display:block;font-size:12px;margin-top:5px}
.mq-tp-contender.mq-tp-won strong{color:var(--accent)}
.mq-tp-contender.mq-tp-lost{opacity:.55}
.mq-tp-score{text-align:center;font-size:28px;letter-spacing:-1px;font-weight:950;font-variant-numeric:tabular-nums}
.mq-tp-score small{display:block;font-size:8px;letter-spacing:1px;font-weight:700;color:var(--mq-text-secondary);margin-top:4px;text-transform:uppercase}
.mq-tp-match-detail{text-align:center;font-size:9px;color:var(--mq-text-secondary);border-top:1px solid var(--mq-border);padding-top:10px;margin-top:12px;line-height:1.9}
.mq-tp-match-card .mq-tp-primary{margin-top:13px;min-height:40px;padding:11px;font-size:12px;box-shadow:0 3px 0 #1874aa}
.mq-tp-bracket{display:flex;gap:12px;overflow-x:auto;padding:0 0 14px;align-items:center;scrollbar-width:thin}
.mq-tp-bracket-col{min-width:174px;flex:0 0 174px;display:grid;gap:9px}
.mq-tp-bracket-col>small{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.mq-tp-bracket-match{background:var(--mq-surface);border:1px solid var(--mq-border);border-radius:12px;padding:10px;font-size:10px}
.mq-tp-bracket-match.mq-tp-mine{border-color:#d7b259}
.mq-tp-bracket-match div{display:flex;justify-content:space-between;padding:5px 0}
.mq-tp-bracket-match .mq-tp-winner{color:var(--accent);font-weight:900}
.mq-tp-bracket-match .mq-tp-eliminated{opacity:.5}
.mq-tp-bracket-match .mq-tp-avatar{width:20px;height:20px;vertical-align:middle;margin-right:5px}
.mq-tp-bracket-match span{display:flex;align-items:center}
.mq-tp-mode-switch{display:flex;gap:5px}
.mq-tp-mode-switch button{background:var(--mq-surface);border:1px solid var(--mq-border);border-radius:9px;padding:7px 9px;font-size:10px}
.mq-tp-mode-switch .mq-tp-active{background:var(--mq-text);color:var(--mq-bg)}
.mq-tp-duel-score{display:flex;justify-content:space-between;align-items:center;background:var(--mq-surface);border:1px solid var(--mq-border);border-radius:20px;padding:12px 15px}
.mq-tp-duel-score .mq-tp-avatar{width:36px;height:36px}
.mq-tp-duel-score strong{font-size:12px}
.mq-tp-duel-score b{font-size:22px;letter-spacing:-1px;display:block}
.mq-tp-duel-score small{font-size:9px;color:var(--mq-text-secondary)}
.mq-tp-duel-score .mq-tp-right{text-align:right}
.mq-tp-turn-pill{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;font-weight:900;color:var(--accent);padding:14px 0}
.mq-tp-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;perspective:1000px}
.mq-tp-memory{aspect-ratio:1/1.07;position:relative;background:none;border-radius:12px;padding:0;transform-style:preserve-3d;transition:transform .5s var(--ressort);box-shadow:0 4px 0 #2c889a,0 7px 12px #153c7a0d}
.mq-tp-memory>span{position:absolute;inset:0;border-radius:12px;display:grid;place-items:center;backface-visibility:hidden}
.mq-tp-memory .mq-tp-front{background:linear-gradient(135deg,#35cbd0,#2489b2);border:2px solid #ffffffa0;overflow:hidden}
.mq-tp-memory .mq-tp-front:before{content:'';position:absolute;inset:6px;border-radius:7px;border:1px solid #ffffff40}
.mq-tp-memory .mq-tp-front .mq-tp-ic{color:#ffffff9c;width:30px;height:30px;transform:rotate(-10deg)}
.mq-tp-memory .mq-tp-face{background:var(--mq-surface);border:2px solid #cde5dd;transform:rotateY(180deg);font-size:28px}
.mq-tp-memory.mq-tp-revealed, .mq-tp-memory.mq-tp-matched{transform:rotateY(180deg)}
.mq-tp-memory.mq-tp-matched{box-shadow:0 3px 0 #69b793}
.mq-tp-memory.mq-tp-matched .mq-tp-face{border-color:#52c994;background:#effbf5}
.mq-tp-duel-tip{font-size:10px;text-align:center;color:var(--mq-text-secondary);margin:14px 0 0}
.mq-tp-interlude-avatar{display:flex;align-items:center;justify-content:center;gap:20px;margin:28px 0}
.mq-tp-interlude-avatar .mq-tp-avatar{height:74px;width:74px;border:4px solid #e6c16c}
.mq-tp-interlude-avatar .mq-tp-ic{width:32px;height:32px;color:var(--accent)}
.mq-tp-result-mark{display:grid;place-items:center;margin:20px auto 17px;width:68px;height:68px;border-radius:23px;background:var(--gold);color:#875b13;box-shadow:0 9px 24px #c99b2826;animation:tp-stamp .8s var(--ressort) both}
.mq-tp-result-mark .mq-tp-ic{width:36px;height:36px}
.mq-tp-points-table{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;text-align:center;font-size:11px;margin:10px 0}
.mq-tp-points-table .mq-tp-muted{font-size:9px}
.mq-tp-points-table b{font-size:17px}
.mq-tp-total-row{display:flex;justify-content:space-between;padding-top:13px;border-top:1px solid var(--mq-border);font-size:12px;font-weight:900}
.mq-tp-total-row strong{color:var(--accent)}
.mq-tp-qualifier{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--mq-border);font-size:12px}
.mq-tp-qualifier:last-child{border:0}
.mq-tp-qualifier small{display:block;color:var(--mq-text-secondary);font-size:10px}
.mq-tp-qualifier>.mq-tp-ic{margin-left:auto;color:var(--accent)}
.mq-tp-qualifier .mq-tp-avatar{height:36px;width:36px}
.mq-tp-podium-scene{position:relative;text-align:center;overflow:hidden;padding:6px 0 0}
.mq-tp-podium-scene h2{font-size:37px;letter-spacing:-1.5px;margin-bottom:7px}
.mq-tp-podium-scene .mq-tp-eyebrow{color:var(--accent)}
.mq-tp-podium{display:flex;align-items:flex-end;justify-content:center;height:258px;padding:0 5px;margin-top:3px;gap:6px}
.mq-tp-podium-place{width:31%;position:relative;animation:tp-podium 1.1s var(--sortie) both;transform-origin:bottom}
.mq-tp-podium-place:nth-child(1){animation-delay:.2s}
.mq-tp-podium-place:nth-child(3){animation-delay:.4s}
.mq-tp-podium-place .mq-tp-avatar{width:56px;height:56px;border:3px solid #dbe5eb;display:block;margin:0 auto 6px}
.mq-tp-podium-place.mq-tp-champion .mq-tp-avatar{width:76px;height:76px;border:4px solid #ffc02e;box-shadow:0 0 0 7px #ffcd3c22,0 0 40px #ffc02e46}
.mq-tp-podium-place strong{font-size:11px;display:block;margin-bottom:9px}
.mq-tp-step{border-radius:15px 15px 0 0;border:1px solid #c7d3df;background:linear-gradient(120deg,#edf4fa,#bbcfdd);height:85px;display:grid;place-items:center;color:#506c89;font-size:38px;font-weight:950;box-shadow:inset 0 2px 0 #fff9}
.mq-tp-champion .mq-tp-step{height:119px;border-color:#e6b643;background:linear-gradient(125deg,#fff0b7,#ffce52 55%,#eda931);color:#97620d;font-size:50px}
.mq-tp-bronze .mq-tp-step{height:65px;border-color:#dfb08b;background:linear-gradient(120deg,#f5ddc7,#d79c73);color:#955a33}
.mq-tp-crown{color:#e8af29;position:absolute;top:-29px;left:calc(50% - 17px);font-size:27px;animation:tp-float 3s infinite}
.mq-tp-reward-card{position:relative;border:1px solid #ddbd69;border-radius:20px;background:var(--mq-surface);padding:16px;margin-top:16px;text-align:center}
.mq-tp-reward-title{font-size:12px;font-weight:900;display:flex;align-items:center;gap:7px;justify-content:center}
.mq-tp-reward-title .mq-tp-ic{color:#bf8a19}
.mq-tp-reward-values{display:grid;grid-template-columns:1fr 1fr;margin:16px 0 0;gap:8px}
.mq-tp-reward-values b{font-size:25px;letter-spacing:-1px}
.mq-tp-reward-values small{display:block;font-size:10px;color:var(--mq-text-secondary);margin-top:3px}
.mq-tp-reward-values>div+div{border-left:1px solid var(--mq-border)}
.mq-tp-confetti-layer{position:absolute;inset:0;pointer-events:none;z-index:8;overflow:hidden}
.mq-tp-confetti-layer i{position:absolute;left:var(--x);top:-15px;width:7px;height:12px;background:var(--c);animation:tp-confetti var(--d) var(--delay) ease-in both}
.mq-tp-share-row{display:flex;gap:8px;margin-top:13px}
.mq-tp-share-row button{flex:1}
.mq-tp-share-row .mq-tp-primary{box-shadow:0 3px 0 #1874aa;font-size:12px}
.mq-tp-hub-tile{width:100%;text-align:left;margin:14px 0;padding:22px;border:1px solid #dbb352;border-radius:24px;background:var(--gold);color:#67470f;box-shadow:0 5px 0 #ce9a2c,0 15px 35px #b8972e20;position:relative;overflow:hidden}
.mq-tp-hub-tile h2{font-size:27px;margin:16px 0 6px}
.mq-tp-hub-tile p{font-size:12px;margin:0;max-width:220px}
.mq-tp-hub-tile>.mq-tp-ic{position:absolute;right:25px;top:33px;width:60px;height:60px;transform:rotate(12deg)}
.mq-tp-hub-tile .mq-tp-tag{background:#fff7d9;color:#765415;border-color:#e3c16d}
.mq-tp-hub-tile:after{content:'';position:absolute;width:150px;height:200%;background:#fff3;right:-70px;top:-50%;transform:rotate(25deg)}
.mq-tp-sheet-backdrop{position:absolute;inset:0;z-index:20;background:#051b3b70;display:flex;align-items:flex-end;padding:12px}
.mq-tp-sheet{width:100%;max-height:90%;overflow-y:auto;padding:21px;border:1px solid var(--mq-border);border-radius:26px;background:var(--mq-surface);box-shadow:0 20px 60px #0003;animation:tp-enter .4s var(--sortie)}
.mq-tp-sheet h2{font-size:24px}
.mq-tp-sheet .mq-tp-choices{gap:7px}
.mq-tp-sheet .mq-tp-choice{padding:11px;font-size:11px}
.mq-tp-sheet .mq-tp-section-label{margin:19px 0 10px}
.mq-tp-sheet .mq-tp-palette{height:20px;width:100%;border-radius:6px}
.mq-tp-toast{position:absolute;bottom:88px;left:20px;right:20px;text-align:center;z-index:40;background:var(--mq-text);color:var(--mq-bg);padding:13px 15px;border-radius:15px;font-size:12px;box-shadow:0 8px 30px #0002;animation:tp-enter .3s var(--sortie);pointer-events:none}
.mq-tp-help-content p{font-size:12px}
.mq-tp-small-note{font-size:10px;color:var(--mq-text-secondary);text-align:center;margin:16px 0 0}
.mq-tp-no-margin{margin:0}
.mq-tp-badge-seal{height:65px;width:65px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:var(--gold);border:4px double #fff1ba;color:#8e611a;box-shadow:0 4px 18px #d2aa3333;animation:tp-stamp .9s var(--ressort)}
.mq-tp-badge-seal .mq-tp-ic{height:34px;width:34px}
@keyframes tp-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes tp-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@keyframes tp-orbit{to{transform:rotate(360deg)}}
@keyframes tp-twinkle{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
@keyframes tp-blink{50%{opacity:.45}}
@keyframes tp-shine{0%,65%{transform:translateX(0) skewX(-20deg)}100%{transform:translateX(600%) skewX(-20deg)}}
@keyframes tp-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tp-podium{from{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}
@keyframes tp-stamp{0%{opacity:0;transform:scale(2) rotate(-20deg)}65%{opacity:1;transform:scale(.9) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
@keyframes tp-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}100%{opacity:0;transform:translateY(700px) rotate(700deg)}}
.mq-shell[data-motion="calme"] .mq-tp *, .mq-shell[data-motion="calme"] .mq-tp *:before, .mq-shell[data-motion="calme"] .mq-tp *:after{animation:none!important;transition:none!important}
.mq-shell[data-motion="calme"] .mq-tp .mq-tp-confetti-layer{display:none}
@media(prefers-reduced-motion:reduce){.mq-tp *, .mq-tp *:before, .mq-tp *:after{animation:none!important;transition:none!important}.mq-tp-confetti-layer{display:none}}
@media(min-width:700px){.mq-tp{height:min(930px,96dvh);margin:2dvh auto;border:1px solid #fff9;border-radius:32px}}
@media(max-width:374px){.mq-tp-scroll{padding-left:16px;padding-right:16px}.mq-tp-screen-head{padding-left:16px;padding-right:16px}.mq-tp-hero{padding:20px 17px 0}.mq-tp-hero h2{font-size:28px;max-width:176px}.mq-tp-hero-art{width:133px;right:-9px;top:44px}.mq-tp-hero p{max-width:177px;font-size:11px}.mq-tp-hero-foot span{font-size:9px}.mq-tp-hero-foot b{font-size:12px}.mq-tp-choice{padding:14px 10px}.mq-tp-podium-scene h2{font-size:33px}.mq-tp-seat .mq-tp-avatar, .mq-tp-empty-seat{width:49px;height:49px}}

/* =========================================================================
   TOURNOIS 6.30.1 — plein écran, rails horizontaux, tuiles homogènes.
   Ce bloc corrige les défauts relevés : double en-tête, murs de tuiles,
   coches sur le texte, textes non centrés, fonds qui se superposent.
   ========================================================================= */

/* --- plein écran : la barre du jeu disparaît, la section prend toute la hauteur --- */
.mq-shell.is-tp-full .mq-top { display: none !important; }
.mq-shell.is-tp-full .mq-stage { padding-top: calc(env(safe-area-inset-top) + 6px); }
.mq-shell.is-tp-full .mq-view[data-view="online"] { gap: 0; }
.mq-tp { background: linear-gradient(180deg, var(--mq-bg, #eef8f0) 0%, var(--mq-surface-raised, #f6fbfe) 46%, var(--mq-bg, #eef8f0) 100%); border-radius: 26px; overflow: hidden; }
.mq-shell[data-skin="nuit"] .mq-tp, .mq-shell[data-skin="ardoise"] .mq-tp { background: linear-gradient(180deg, rgba(11,20,34,.9), rgba(24,40,58,.9)); }

/* --- en-tête de section : un seul, compact, aligné --- */
.mq-tp-screen-head { padding: 10px 16px 8px; gap: 10px; }
.mq-tp-screen-head h1 { font-size: 20px; }
.mq-tp-scroll { padding: 2px 16px 18px; }
.mq-tp-foot { padding: 10px 16px calc(env(safe-area-inset-bottom) + 12px); background: var(--mq-surface, #fff); border-top: 1px solid var(--mq-border, rgba(21,60,122,.08)); }
.mq-tp-foot p { margin: 0 0 8px; font-size: 12px; line-height: 1.45; font-weight: 800; color: var(--mq-text-secondary); text-align: center; }
.mq-tp-foot p b { color: var(--mq-text); }

/* --- titres de section dans la charte du jeu --- */
.mq-tp-section-label { margin: 18px 0 8px; align-items: baseline; }
.mq-tp-section-label h3 { font-size: 11px; letter-spacing: 1.6px; text-transform: uppercase; color: var(--turq-2); font-weight: 950; }
.mq-tp-section-label small { font-size: 11px; font-weight: 900; color: var(--mq-text); }

/* --- rails horizontaux : cartes de taille fixe, défilement magnétique --- */
.mq-tp-rail { display: flex; gap: 10px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 2px 16px 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.mq-tp-rail::-webkit-scrollbar { display: none; }
.mq-tp-rail > .mq-tp-choice { scroll-snap-align: center; flex: 0 0 auto; }
.mq-tp-rail-wide > .mq-tp-choice { width: 200px; height: 132px; }
.mq-tp-rail-mid > .mq-tp-choice { width: 124px; height: 116px; }
.mq-tp-rail-small > .mq-tp-choice { width: 104px; height: 116px; }
.mq-tp-rail > .mq-tp-universe { width: 116px; height: 148px; }

/* --- tuiles : fond blanc dans tous les états, coche dans un coin réservé --- */
.mq-tp-choice { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 20px; text-align: left; overflow: hidden;
	background: var(--mq-surface, #fff); border: 2px solid var(--mq-border, rgba(21,60,122,.1));
	box-shadow: 0 8px 20px rgba(21,60,122,.08); transition: transform .2s var(--ressort), border-color .2s, box-shadow .2s; }
.mq-tp-choice-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 24px; }
.mq-tp-choice-top > i:first-child { display: block; width: 23px; height: 23px; }
.mq-tp-choice .mq-tp-ic { width: 23px; height: 23px; color: var(--turq-2); }
.mq-tp-choice-mark { width: 21px; height: 21px; flex: 0 0 auto; border-radius: 50%; background: var(--mq-surface-raised, #eef4fb); border: 1.5px solid var(--mq-border, rgba(21,60,122,.14)); transition: background .2s, border-color .2s; }
.mq-tp-choice strong { display: block; font-size: 13px; font-weight: 950; letter-spacing: -.2px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mq-tp-choice small { display: -webkit-box; font-size: 10.5px; line-height: 1.35; font-weight: 700; color: var(--mq-text-secondary); -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mq-tp-choice .mq-tp-big { display: block; font-size: 34px; line-height: 1; letter-spacing: -2px; font-weight: 950; text-align: center; margin-top: 2px; }
.mq-tp-choice .mq-tp-mid { display: block; font-size: 19px; line-height: 1.1; letter-spacing: -.5px; font-weight: 950; text-align: center; margin-top: 4px; }
.mq-tp-choice.mq-tp-tile-size small, .mq-tp-choice.mq-tp-tile-grid small { text-align: center; -webkit-line-clamp: 1; }
.mq-tp-choice.mq-tp-tile-size strong, .mq-tp-choice.mq-tp-tile-grid strong { text-align: center; }
.mq-tp-choice.mq-tp-tile-mode { align-items: center; text-align: center; }
.mq-tp-choice.mq-tp-tile-mode .mq-tp-choice-top { width: 100%; }
.mq-tp-choice.mq-tp-tile-mode strong { white-space: normal; font-size: 12px; }
.mq-tp-choice:active:not(:disabled) { transform: scale(.96); }
.mq-tp-choice.mq-tp-selected { border-color: var(--turq); background: var(--mq-surface, #fff); box-shadow: 0 12px 26px rgba(22,196,206,.24); transform: translateY(-2px); }
.mq-tp-choice.mq-tp-selected:after { content: none; }
.mq-tp-choice.mq-tp-selected .mq-tp-choice-mark { background-color: #2e86e0; border-color: #2e86e0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>"), linear-gradient(105deg, #16c4ce, #2e86e0);
	background-size: 62% 62%, 100% 100%; background-position: center; background-repeat: no-repeat; box-shadow: 0 4px 10px rgba(46,134,224,.32); }
.mq-tp-choice.mq-tp-selected .mq-tp-ic { color: var(--bleu-2); }
.mq-tp-universe { padding: 8px; }
.mq-tp-universe .mq-tp-choice-top { min-height: 21px; }
.mq-tp-universe img { width: 100%; height: 74px; object-fit: cover; border-radius: 14px; margin: 2px 0 6px; background: var(--mq-surface-raised); }
.mq-tp-universe strong { font-size: 12px; text-align: center; width: 100%; }

/* --- carte du nom, interrupteur, identité --- */
.mq-tp-name-card { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.mq-tp-name-ic { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 16px; display: grid; place-items: center; color: #fff; background: var(--gold, linear-gradient(115deg,#ffe58b,#ffc02e 60%,#efa22e)); box-shadow: 0 8px 18px rgba(232,149,28,.32); }
.mq-tp-name-ic .mq-tp-ic { width: 24px; height: 24px; }
.mq-tp-name-field { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.mq-tp-name-field > span { font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 950; color: var(--mq-text-secondary); }
.mq-tp-name-input { padding: 4px 0 3px; font-size: 18px; border-bottom-color: transparent; }
.mq-tp-toggle { border-radius: 20px; padding: 13px 14px; margin-top: 14px; border: 2px solid var(--mq-border, rgba(21,60,122,.1)); box-shadow: 0 8px 20px rgba(21,60,122,.08); }
.mq-tp-toggle[aria-checked="true"] { border-color: var(--turq); }
.mq-tp-identity { margin-top: 14px; display: grid; gap: 8px; }
.mq-tp-identity .mq-form-error:empty { display: none; }

/* --- boutons : texte centré au pixel, icône hors du flux --- */
.mq-tp-primary, .mq-tp-secondary, .mq-tp-text-button { position: relative; }
.mq-tp-primary { min-height: 56px; padding: 0 52px; border-radius: 20px; display: flex; align-items: center; justify-content: center; gap: 0; font-size: 15.5px; letter-spacing: .2px; text-align: center; }
.mq-tp-primary > .mq-tp-ic { position: absolute; right: 18px; top: 50%; margin-top: -11px; }
.mq-tp-primary > .mq-tp-ic:first-child { right: auto; left: 18px; }
.mq-tp-primary.mq-tp-full { margin-top: 12px; }
.mq-tp-secondary { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.mq-tp-text-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.mq-tp-back { border-radius: 14px; }

/* --- listes et cartes : marges homogènes, plus de bandes --- */
.mq-tp-card { padding: 14px; border-radius: 22px; box-shadow: 0 8px 22px rgba(21,60,122,.07); }
.mq-tp-public-card, .mq-tp-resume, .mq-tp-lobby-status, .mq-tp-match-card, .mq-tp-reward-card { border-radius: 20px; }
.mq-tp-hero { border-radius: 24px; }
@media (max-width: 360px) {
	.mq-tp-rail-wide > .mq-tp-choice { width: 176px; }
	.mq-tp-scroll, .mq-tp-screen-head, .mq-tp-foot { padding-left: 13px; padding-right: 13px; }
	.mq-tp-rail { margin: 0 -13px; padding-left: 13px; padding-right: 13px; }
}

/* =========================================================================
   TOURNOIS 6.30.4 — DESIGN V2 PREMIUM COMPACT
   Objectifs : densité mobile, hiérarchie nette, CTA 44–48 px, thèmes complets,
   zéro débordement à 360 px, animations GPU légères et mode Calme respecté.
   ========================================================================= */

/* --- bouton Tournois du hub multijoueur : cohérent avec les autres actions --- */
.mq-arena-act.is-tournament {
	grid-template-columns: 52px minmax(0,1fr) 28px;
	gap: 10px;
	min-height: 72px;
	padding: 10px 10px;
	border-radius: 20px;
	border-color: rgba(255,255,255,.88);
	background:
		radial-gradient(circle at 8% 50%, rgba(255,220,120,.23), transparent 38%),
		linear-gradient(165deg, rgba(255,255,255,.98), rgba(255,250,238,.92));
	box-shadow: 0 8px 22px rgba(94,64,12,.10), 0 1px 0 rgba(255,255,255,.72) inset;
}
.mq-arena-act.is-tournament .mq-arena-ic {
	width: 52px; height: 52px; border-radius: 16px;
	box-shadow: 0 7px 18px var(--glow), inset 0 1px 0 rgba(255,255,255,.5);
}
.mq-arena-act.is-tournament .mq-arena-ic svg { width: 25px; height: 25px; }
.mq-arena-act.is-tournament .mq-arena-copy { padding-right: 42px; }
.mq-arena-act.is-tournament .mq-arena-copy strong { font-size: 1rem; }
.mq-arena-act.is-tournament .mq-arena-copy strong::after { content: none; }
.mq-arena-act.is-tournament .mq-arena-copy small { font-size: .70rem; line-height: 1.28; }
.mq-arena-act.is-tournament .mq-arena-chev { width: 28px; height: 28px; }
.mq-arena-act.is-tournament .mq-arena-chev svg { width: 16px; height: 16px; }
.mq-arena-act.is-tournament .mq-arena-badge {
	top: 8px; right: 40px; padding: 3px 7px; font-size: .50rem;
	letter-spacing: .08em; box-shadow: none;
	background: linear-gradient(105deg,#f09a2a,#d46b24);
}

/* --- palette et matériaux V2 --- */
.mq-tp-v2 {
	--tp-a: #13b8b4;
	--tp-b: #2f7edb;
	--tp-gold: #e9b544;
	--tp-gold-2: #c7861f;
	--tp-panel: rgba(255,255,255,.92);
	--tp-panel-2: rgba(246,251,252,.92);
	--tp-line: rgba(28,77,105,.11);
	--tp-soft: rgba(18,184,180,.10);
	--tp-shadow: 0 7px 22px rgba(21,60,122,.08);
	--tp-shadow-strong: 0 12px 32px rgba(21,60,122,.13);
	--tp-accent-grad: linear-gradient(105deg,var(--tp-a),var(--tp-b));
	--tp-gold-grad: linear-gradient(110deg,#ffe9a0 0%,#f3c45b 42%,#df9d2c 100%);
	position: relative;
	isolation: isolate;
	border-radius: 24px;
	background:
		radial-gradient(circle at 92% -8%, rgba(255,255,255,.72), transparent 27%),
		linear-gradient(180deg, rgba(240,250,248,.96), rgba(246,249,252,.96) 52%, rgba(238,247,246,.98));
	box-shadow: 0 16px 46px rgba(17,57,91,.10);
}
.mq-tp-v2::before {
	content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
	background:
		radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--tp-a) 11%, transparent), transparent 25%),
		radial-gradient(circle at 85% 36%, color-mix(in srgb, var(--tp-b) 8%, transparent), transparent 28%);
}
.mq-shell[data-skin="ocean"] .mq-tp-v2 {
	--tp-a:#25cce6; --tp-b:#2874d7; --tp-gold:#f2c65e; --tp-gold-2:#b98424;
	--tp-panel:rgba(244,252,255,.93); --tp-panel-2:rgba(230,246,252,.91); --tp-line:rgba(18,93,137,.16); --tp-soft:rgba(37,204,230,.12);
	background:radial-gradient(circle at 85% 0%,rgba(126,231,244,.26),transparent 29%),linear-gradient(180deg,#e7f8fc 0%,#dff0f7 52%,#d2e6f1 100%);
}
.mq-shell[data-skin="ambre"] .mq-tp-v2 {
	--tp-a:#f39a24; --tp-b:#dd6528; --tp-gold:#efb94f; --tp-gold-2:#bd7120;
	--tp-panel:rgba(255,252,244,.94); --tp-panel-2:rgba(255,245,226,.92); --tp-line:rgba(139,77,18,.14); --tp-soft:rgba(243,154,36,.11);
	background:radial-gradient(circle at 88% 2%,rgba(255,199,92,.25),transparent 31%),linear-gradient(180deg,#fff8ea 0%,#fff2dc 54%,#fbe8c8 100%);
}
.mq-shell[data-skin="grenat"] .mq-tp-v2 {
	--tp-a:#b64260; --tp-b:#7c2941; --tp-gold:#d8a55f; --tp-gold-2:#a66a2e;
	--tp-panel:rgba(255,249,246,.94); --tp-panel-2:rgba(250,237,234,.92); --tp-line:rgba(113,31,51,.14); --tp-soft:rgba(182,66,96,.10);
	background:radial-gradient(circle at 88% 1%,rgba(220,156,158,.22),transparent 31%),linear-gradient(180deg,#fff8f5 0%,#f9ece9 54%,#f2ddda 100%);
}
.mq-shell[data-skin="ardoise"] .mq-tp-v2 {
	--tp-a:#6fa3b1; --tp-b:#566a88; --tp-gold:#d7ae68; --tp-gold-2:#9f7741;
	--tp-panel:rgba(245,248,250,.95); --tp-panel-2:rgba(232,238,243,.93); --tp-line:rgba(60,75,95,.17); --tp-soft:rgba(91,123,139,.11);
	background:radial-gradient(circle at 90% 0%,rgba(182,203,214,.15),transparent 32%),linear-gradient(180deg,#edf2f4 0%,#e3e9ed 54%,#d8e0e5 100%);
}
.mq-shell[data-skin="nuit"] .mq-tp-v2 {
	--tp-a:#67d9e4; --tp-b:#7b87f0; --tp-gold:#e9bd62; --tp-gold-2:#a77a2d;
	--tp-panel:rgba(24,40,58,.94); --tp-panel-2:rgba(31,51,72,.94); --tp-line:rgba(173,204,226,.16); --tp-soft:rgba(103,217,228,.11);
	--tp-shadow:0 7px 22px rgba(0,0,0,.18); --tp-shadow-strong:0 14px 34px rgba(0,0,0,.24);
	background:radial-gradient(circle at 84% -4%,rgba(89,112,204,.23),transparent 31%),linear-gradient(180deg,#101c2b 0%,#142436 52%,#0d1928 100%);
}
.mq-shell[data-skin="jade"] .mq-tp-v2 {
	--tp-a:#17b9a6; --tp-b:#2f7edb; --tp-gold:#e8b84d; --tp-gold-2:#bb7f21;
}

/* --- structure compacte et safe-area --- */
.mq-tp-v2 .mq-tp-screen-head {
	min-height: 48px; padding: 7px 14px 7px; gap: 9px;
	border-bottom: 1px solid transparent;
}
.mq-tp-v2 .mq-tp-screen-head h1 { font-size: 18px; letter-spacing: -.45px; }
.mq-tp-v2 .mq-tp-back {
	width: 34px; height: 34px; border-radius: 12px; padding: 0;
	background: var(--tp-panel); border: 1px solid var(--tp-line); box-shadow: 0 4px 12px rgba(21,60,122,.06);
}
.mq-tp-v2 .mq-tp-back .mq-tp-ic { width: 18px; height: 18px; }
.mq-tp-v2 .mq-tp-tag {
	min-height: 25px; padding: 4px 8px; border-radius: 999px;
	font-size: 9px; letter-spacing: .55px; background: var(--tp-panel-2); border-color: var(--tp-line);
}
.mq-tp-v2 .mq-tp-tag.mq-tp-gold { background: color-mix(in srgb,var(--tp-gold) 18%,var(--tp-panel)); color: var(--tp-gold-2); border-color: color-mix(in srgb,var(--tp-gold) 35%,transparent); }
.mq-tp-v2 .mq-tp-scroll {
	padding: 4px 14px 16px; scroll-padding: 14px; scrollbar-width:none;
}
.mq-tp-v2 .mq-tp-scroll::-webkit-scrollbar { display:none; }
.mq-tp-v2 .mq-tp-foot {
	padding: 8px 14px calc(env(safe-area-inset-bottom) + 9px);
	background: color-mix(in srgb,var(--tp-panel) 94%,transparent);
	border-top: 1px solid var(--tp-line); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.mq-tp-v2 .mq-tp-foot p { margin: 0 0 6px; font-size: 10px; line-height: 1.35; font-weight: 760; }
.mq-tp-v2 .mq-tp-section-label { margin: 16px 0 7px; }
.mq-tp-v2 .mq-tp-section-label h3 { font-size: 10px; letter-spacing: 1.35px; color: var(--tp-a); }
.mq-tp-v2 .mq-tp-section-label small { font-size: 10px; }

/* --- hero : moins haut, plus éditorial --- */
.mq-tp-v2 .mq-tp-hero {
	min-height: 214px; padding: 18px 17px 0; border-radius: 21px;
	background:
		radial-gradient(circle at 77% 32%, color-mix(in srgb,var(--tp-gold) 22%,transparent), transparent 35%),
		linear-gradient(138deg,var(--tp-panel),var(--tp-panel-2));
	border: 1px solid color-mix(in srgb,var(--tp-line) 78%,#fff 22%); box-shadow: var(--tp-shadow);
}
.mq-tp-v2 .mq-tp-hero .mq-tp-eyebrow { margin-bottom: 6px; font-size: 9px; color: var(--tp-a); }
.mq-tp-v2 .mq-tp-hero h2 { max-width: 175px; font-size: 25px; line-height: 1.02; letter-spacing: -1px; margin: 0 0 8px; }
.mq-tp-v2 .mq-tp-hero h2 em { color: var(--tp-a); }
.mq-tp-v2 .mq-tp-hero p { max-width: 170px; margin: 0 0 10px; font-size: 10.5px; line-height: 1.35; }
.mq-tp-v2 .mq-tp-prize { padding: 6px 9px; border-radius: 9px; font-size: 10px; background: color-mix(in srgb,var(--tp-gold) 14%,var(--tp-panel)); border-color: color-mix(in srgb,var(--tp-gold) 34%,transparent); color: var(--tp-gold-2); }
.mq-tp-v2 .mq-tp-hero-art { width: 126px; height: 143px; right: -2px; top: 43px; }
.mq-tp-v2 .mq-tp-cup { filter: drop-shadow(0 12px 8px rgba(128,84,11,.16)); }
.mq-tp-v2 .mq-tp-hero-foot { margin-top: 15px; padding: 10px 0; gap: 8px; }
.mq-tp-v2 .mq-tp-hero-foot span { font-size: 9px; }
.mq-tp-v2 .mq-tp-hero-foot b { font-size: 12px; }

/* --- CTA : taille tactile pro, sans effet "gros bouton de jeu" --- */
.mq-tp-v2 .mq-tp-primary {
	min-height: 46px; height: auto; padding: 0 44px; border-radius: 14px;
	font-size: 13px; letter-spacing: .05px; font-weight: 900;
	background: var(--tp-accent-grad); box-shadow: 0 7px 18px color-mix(in srgb,var(--tp-b) 18%,transparent), inset 0 1px 0 rgba(255,255,255,.28);
	transform: translateZ(0);
}
.mq-tp-v2 .mq-tp-primary.mq-tp-gold {
	background: var(--tp-gold-grad); color: #5f430f;
	box-shadow: 0 7px 18px color-mix(in srgb,var(--tp-gold-2) 18%,transparent), inset 0 1px 0 rgba(255,255,255,.38);
}
.mq-tp-v2 .mq-tp-primary > .mq-tp-ic { right: 14px; width: 18px; height:18px; margin-top:-9px; }
.mq-tp-v2 .mq-tp-primary > .mq-tp-ic:first-child { left: 14px; right:auto; }
.mq-tp-v2 .mq-tp-primary.mq-tp-full { margin-top: 10px; }
.mq-tp-v2 .mq-tp-primary:active:not(:disabled) { transform: translateY(1px) scale(.988); box-shadow: 0 4px 12px color-mix(in srgb,var(--tp-b) 14%,transparent); }
.mq-tp-v2 .mq-tp-primary:disabled { opacity:.48; filter:saturate(.55); box-shadow:none; }
.mq-tp-v2 .mq-tp-primary:after { width:24%; opacity:.65; animation-duration:7.5s; }
.mq-tp-v2 .mq-tp-secondary {
	min-height: 40px; padding: 0 12px; border-radius: 12px; font-size: 10.5px;
	background: var(--tp-panel-2); border-color: var(--tp-line); box-shadow:none;
}
.mq-tp-v2 .mq-tp-text-button { min-height: 34px; padding: 4px 2px; font-size: 10.5px; color:var(--tp-a); }

/* --- cartes et sélecteurs : densité + sélection premium --- */
.mq-tp-v2 .mq-tp-card,
.mq-tp-v2 .mq-tp-public-card,
.mq-tp-v2 .mq-tp-resume,
.mq-tp-v2 .mq-tp-match-card,
.mq-tp-v2 .mq-tp-reward-card,
.mq-tp-v2 .mq-tp-lobby-status,
.mq-tp-v2 .mq-tp-duel-score {
	background: var(--tp-panel); border-color: var(--tp-line); box-shadow: var(--tp-shadow);
}
.mq-tp-v2 .mq-tp-card { padding: 12px; border-radius: 17px; }
.mq-tp-v2 .mq-tp-public-card { gap: 10px; padding: 11px; border-radius: 16px; }
.mq-tp-v2 .mq-tp-public-card .mq-tp-avatar { width: 38px; height: 38px; }
.mq-tp-v2 .mq-tp-public-card strong { font-size: 11.5px; }
.mq-tp-v2 .mq-tp-public-card small { font-size: 9px; line-height: 1.4; }
.mq-tp-v2 .mq-tp-meter { margin: 6px 0 3px; }
.mq-tp-v2 .mq-tp-meter i { background: var(--tp-accent-grad); }

.mq-tp-v2 .mq-tp-rail { gap: 8px; margin: 0 -14px; padding: 2px 14px 8px; scroll-padding:14px; }
.mq-tp-v2 .mq-tp-rail-wide > .mq-tp-choice { width: 166px; height: 104px; }
.mq-tp-v2 .mq-tp-rail-mid > .mq-tp-choice { width: 108px; height: 98px; }
.mq-tp-v2 .mq-tp-rail-small > .mq-tp-choice { width: 88px; height: 92px; }
.mq-tp-v2 .mq-tp-rail > .mq-tp-universe { width: 104px; height: 128px; }
.mq-tp-v2 .mq-tp-choice {
	gap: 3px; padding: 10px; border-radius: 15px; border-width:1px;
	background: var(--tp-panel); border-color: var(--tp-line); box-shadow: 0 5px 15px rgba(21,60,122,.055);
	transition: transform .18s var(--ressort), border-color .18s, box-shadow .18s, background .18s;
}
.mq-tp-v2 .mq-tp-choice-top { min-height: 20px; }
.mq-tp-v2 .mq-tp-choice .mq-tp-ic { width: 20px; height: 20px; color: var(--tp-a); }
.mq-tp-v2 .mq-tp-choice-mark { width: 18px; height: 18px; background:var(--tp-panel-2); border-color:var(--tp-line); }
.mq-tp-v2 .mq-tp-choice strong { font-size: 11.5px; line-height: 1.18; }
.mq-tp-v2 .mq-tp-choice small { font-size: 9px; line-height: 1.3; -webkit-line-clamp:2; }
.mq-tp-v2 .mq-tp-choice .mq-tp-big { font-size: 28px; letter-spacing:-1.4px; }
.mq-tp-v2 .mq-tp-choice .mq-tp-mid { font-size: 16px; }
.mq-tp-v2 .mq-tp-choice.mq-tp-selected {
	border-color: color-mix(in srgb,var(--tp-a) 82%,#fff 18%);
	background: linear-gradient(155deg,var(--tp-panel),color-mix(in srgb,var(--tp-a) 8%,var(--tp-panel)));
	box-shadow: 0 8px 20px color-mix(in srgb,var(--tp-a) 14%,transparent), inset 0 0 0 1px color-mix(in srgb,var(--tp-a) 10%,transparent);
	transform: translateY(-1px);
}
.mq-tp-v2 .mq-tp-choice.mq-tp-selected .mq-tp-choice-mark {
	background-color: var(--tp-a); border-color:var(--tp-a); box-shadow:0 3px 9px color-mix(in srgb,var(--tp-a) 24%,transparent);
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>");
	background-size:60%; background-position:center; background-repeat:no-repeat;
}
.mq-tp-v2 .mq-tp-universe img { height: 61px; border-radius: 11px; margin: 1px 0 4px; }
.mq-tp-v2 .mq-tp-universe strong { font-size: 10px; }

/* --- création : nom, switch, identité --- */
.mq-tp-v2 .mq-tp-name-card { gap: 10px; padding: 10px 12px; }
.mq-tp-v2 .mq-tp-name-ic { width: 40px; height:40px; border-radius:13px; background:var(--tp-gold-grad); box-shadow:0 6px 15px rgba(167,108,26,.16); }
.mq-tp-v2 .mq-tp-name-ic .mq-tp-ic { width:21px; height:21px; }
.mq-tp-v2 .mq-tp-name-field > span { font-size:9px; letter-spacing:1.1px; }
.mq-tp-v2 .mq-tp-name-input { font-size:16px; padding:2px 0; }
.mq-tp-v2 .mq-tp-toggle { padding: 11px 12px; margin-top: 12px; border-radius:15px; border-width:1px; background:var(--tp-panel); border-color:var(--tp-line); box-shadow:var(--tp-shadow); }
.mq-tp-v2 .mq-tp-toggle strong { font-size:11.5px; }
.mq-tp-v2 .mq-tp-toggle small { font-size:9px; margin-top:2px; }
.mq-tp-v2 .mq-tp-switch { width:40px; height:23px; padding:3px; }
.mq-tp-v2 .mq-tp-switch:after { width:17px; height:17px; }
.mq-tp-v2 .mq-tp-toggle[aria-checked=true] .mq-tp-switch { background:var(--tp-accent-grad); }
.mq-tp-v2 .mq-tp-toggle[aria-checked=true] .mq-tp-switch:after { transform:translateX(17px); }
.mq-tp-v2 .mq-tp-identity { margin-top:12px; gap:7px; }

/* --- vestiaire / match / tableau --- */
.mq-tp-v2 .mq-tp-lobby-title h2 { font-size:22px; }
.mq-tp-v2 .mq-tp-lobby-code { margin:9px 0 16px; }
.mq-tp-v2 .mq-tp-lobby-code button { padding:7px 11px; border-radius:9px; }
.mq-tp-v2 .mq-tp-seats { gap:10px 6px; }
.mq-tp-v2 .mq-tp-seat .mq-tp-avatar,
.mq-tp-v2 .mq-tp-empty-seat { width:48px; height:48px; }
.mq-tp-v2 .mq-tp-seat strong { font-size:10px; margin-top:4px; }
.mq-tp-v2 .mq-tp-lobby-status { padding:11px; border-radius:15px; }
.mq-tp-v2 .mq-tp-count-ring { width:148px; height:148px; margin:17px auto; box-shadow:0 0 0 9px var(--tp-panel-2),var(--tp-shadow-strong); }
.mq-tp-v2 .mq-tp-count-ring:before { border-top-color:var(--tp-gold); border-right-color:var(--tp-a); }
.mq-tp-v2 .mq-tp-count-ring strong { font-size:52px; }
.mq-tp-v2 .mq-tp-draw-stage { height:220px; }
.mq-tp-v2 .mq-tp-draw-stage .mq-tp-cup { width:145px; height:145px; }
.mq-tp-v2 .mq-tp-orbit-avatars { width:205px; height:205px; }
.mq-tp-v2 .mq-tp-orbit-avatars img { width:40px; height:40px; left:calc(50% - 20px); top:calc(50% - 20px); transform:rotate(var(--angle)) translateY(-101px) rotate(calc(-1 * var(--angle))); }
.mq-tp-v2 .mq-tp-round-tabs { margin-bottom:12px; }
.mq-tp-v2 .mq-tp-round-tabs button { padding:7px 10px; font-size:9px; border-color:var(--tp-line); background:var(--tp-panel); }
.mq-tp-v2 .mq-tp-match-card { padding:12px; margin-bottom:9px; border-radius:16px; }
.mq-tp-v2 .mq-tp-match-card.mq-tp-mine { border-color:color-mix(in srgb,var(--tp-gold) 70%,transparent); box-shadow:0 7px 20px color-mix(in srgb,var(--tp-gold) 12%,transparent); }
.mq-tp-v2 .mq-tp-versus { gap:8px; }
.mq-tp-v2 .mq-tp-contender .mq-tp-avatar { width:44px; height:44px; }
.mq-tp-v2 .mq-tp-score { font-size:24px; }
.mq-tp-v2 .mq-tp-match-card .mq-tp-primary { min-height:40px; font-size:11.5px; margin-top:10px; }
.mq-tp-v2 .mq-tp-bracket-col { min-width:158px; flex-basis:158px; }
.mq-tp-v2 .mq-tp-bracket-match { border-radius:11px; padding:8px; background:var(--tp-panel); border-color:var(--tp-line); }
.mq-tp-v2 .mq-tp-standings { padding:6px 7px 9px; }
.mq-tp-v2 .mq-tp-standings-head,.mq-tp-v2 .mq-tp-standings-row { grid-template-columns:20px 1fr 24px 24px 24px 48px 30px; gap:3px; padding:7px 4px; font-size:10px; }
.mq-tp-v2 .mq-tp-standings-head { font-size:8px; }
.mq-tp-v2 .mq-tp-standings-row.mq-tp-mine { background:var(--tp-soft); }
.mq-tp-v2 .mq-tp-standings-row .mq-tp-pts { color:var(--tp-a); }

/* --- résultats / podium : premium mais plus contenu --- */
.mq-tp-v2 .mq-tp-result-mark { width:60px; height:60px; border-radius:19px; margin:16px auto 13px; background:var(--tp-gold-grad); }
.mq-tp-v2 .mq-tp-podium-scene h2 { font-size:31px; }
.mq-tp-v2 .mq-tp-podium { height:226px; }
.mq-tp-v2 .mq-tp-podium-place .mq-tp-avatar { width:50px; height:50px; }
.mq-tp-v2 .mq-tp-podium-place.mq-tp-champion .mq-tp-avatar { width:66px; height:66px; border-color:var(--tp-gold); box-shadow:0 0 0 5px color-mix(in srgb,var(--tp-gold) 18%,transparent),0 0 30px color-mix(in srgb,var(--tp-gold) 25%,transparent); }
.mq-tp-v2 .mq-tp-step { height:72px; border-radius:13px 13px 0 0; font-size:33px; }
.mq-tp-v2 .mq-tp-champion .mq-tp-step { height:102px; font-size:44px; }
.mq-tp-v2 .mq-tp-bronze .mq-tp-step { height:56px; }
.mq-tp-v2 .mq-tp-reward-card { padding:13px; border-radius:16px; margin-top:12px; }
.mq-tp-v2 .mq-tp-reward-values { margin-top:12px; }
.mq-tp-v2 .mq-tp-reward-values b { font-size:22px; }
.mq-tp-v2 .mq-tp-sheet-backdrop { padding:8px; background:rgba(5,18,34,.56); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.mq-tp-v2 .mq-tp-sheet { padding:17px; border-radius:20px; background:var(--tp-panel); border-color:var(--tp-line); }
.mq-tp-v2 .mq-tp-sheet h2 { font-size:20px; }

/* --- animations V2 : uniquement transform + opacité, très courtes --- */
.mq-tp-v2.mq-tp { animation:tp-v2-shell .34s var(--sortie) both; }
.mq-tp-v2 .mq-tp-card,
.mq-tp-v2 .mq-tp-public-card,
.mq-tp-v2 .mq-tp-choice { will-change:auto; }
.mq-tp-v2 .mq-tp-choice.mq-tp-selected { animation:tp-v2-select .28s var(--ressort) both; }
.mq-tp-v2 .mq-tp-primary:not(:disabled) { transition:transform .16s var(--ease),box-shadow .16s ease,filter .16s ease; }
@keyframes tp-v2-shell { from{opacity:.35;transform:translateY(5px)} to{opacity:1;transform:none} }
@keyframes tp-v2-select { 0%{transform:scale(.975)} 100%{transform:translateY(-1px) scale(1)} }

/* --- téléphone étroit : priorité à la lisibilité et au scroll --- */
@media (max-width:374px) {
	.mq-arena-act.is-tournament { grid-template-columns:48px minmax(0,1fr) 26px; min-height:68px; padding:9px; gap:8px; }
	.mq-arena-act.is-tournament .mq-arena-ic { width:48px;height:48px;border-radius:15px; }
	.mq-arena-act.is-tournament .mq-arena-copy { padding-right:34px; }
	.mq-arena-act.is-tournament .mq-arena-copy small { font-size:.66rem; }
	.mq-arena-act.is-tournament .mq-arena-badge { right:34px; font-size:.46rem; }
	.mq-tp-v2 .mq-tp-scroll,.mq-tp-v2 .mq-tp-screen-head,.mq-tp-v2 .mq-tp-foot { padding-left:12px; padding-right:12px; }
	.mq-tp-v2 .mq-tp-rail { margin-left:-12px; margin-right:-12px; padding-left:12px; padding-right:12px; }
	.mq-tp-v2 .mq-tp-rail-wide > .mq-tp-choice { width:154px; }
	.mq-tp-v2 .mq-tp-rail-mid > .mq-tp-choice { width:102px; }
	.mq-tp-v2 .mq-tp-hero { min-height:205px; padding-left:15px; }
	.mq-tp-v2 .mq-tp-hero h2 { font-size:23px; max-width:160px; }
	.mq-tp-v2 .mq-tp-hero-art { width:116px; height:132px; }
	.mq-tp-v2 .mq-tp-primary { min-height:45px; font-size:12.5px; }
	.mq-tp-v2 .mq-tp-seats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 4px; }
	.mq-tp-v2 .mq-tp-seat .mq-tp-avatar,.mq-tp-v2 .mq-tp-empty-seat { width:44px;height:44px; }
}

/* --- grands écrans : ne jamais étirer une interface pensée téléphone --- */
@media (min-width:700px) {
	.mq-tp-v2 { width:min(100%,560px); height:min(900px,96dvh); margin:2dvh auto; border-radius:28px; }
	.mq-tp-v2 .mq-tp-rail-wide > .mq-tp-choice { width:176px; }
}

/* Calme / reduced motion restent prioritaires */
.mq-shell[data-motion="calme"] .mq-tp-v2,
.mq-shell[data-motion="calme"] .mq-tp-v2 *,
.mq-shell[data-motion="calme"] .mq-tp-v2 *::before,
.mq-shell[data-motion="calme"] .mq-tp-v2 *::after { animation:none!important; transition:none!important; }
@media (prefers-reduced-motion:reduce) {
	.mq-tp-v2,.mq-tp-v2 *,.mq-tp-v2 *::before,.mq-tp-v2 *::after { animation:none!important; transition:none!important; }
}


/* =========================================================================
   ACCUEIL 6.30.4 / 2.1.5-v78 — FOND PLEIN ÉCRAN SANS CADRE + MOTION POLISH
   Correction du rectangle semi-transparent visible sur certains thèmes.
   La couche photo locale à la vue centrale est supprimée : l'atmosphère est
   désormais calculée sur toute la surface de .mq-shell, sans bord perceptible.
   ========================================================================= */
.mq-shell[data-screen="accueil"] {
  --home-v78-glow-a:rgba(255,255,255,.24);
  --home-v78-glow-b:rgba(30,201,207,.18);
  --home-v78-glow-c:rgba(46,134,224,.13);
}
.mq-shell[data-screen="accueil"][data-skin="jade"] {
  --home-v78-glow-a:rgba(255,255,255,.32); --home-v78-glow-b:rgba(80,239,211,.24); --home-v78-glow-c:rgba(60,167,234,.18);
}
.mq-shell[data-screen="accueil"][data-skin="ocean"] {
  --home-v78-glow-a:rgba(172,246,255,.18); --home-v78-glow-b:rgba(31,214,216,.20); --home-v78-glow-c:rgba(50,111,234,.24);
}
.mq-shell[data-screen="accueil"][data-skin="ardoise"] {
  --home-v78-glow-a:rgba(221,237,244,.11); --home-v78-glow-b:rgba(126,161,181,.12); --home-v78-glow-c:rgba(61,82,99,.18);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] {
  --home-v78-glow-a:rgba(255,227,211,.13); --home-v78-glow-b:rgba(213,91,111,.17); --home-v78-glow-c:rgba(120,28,56,.22);
}
.mq-shell[data-screen="accueil"][data-skin="ambre"] {
  --home-v78-glow-a:rgba(255,247,207,.25); --home-v78-glow-b:rgba(255,188,70,.22); --home-v78-glow-c:rgba(238,104,22,.15);
}
.mq-shell[data-screen="accueil"][data-skin="nuit"] {
  --home-v78-glow-a:rgba(167,225,255,.12); --home-v78-glow-b:rgba(91,126,255,.17); --home-v78-glow-c:rgba(30,59,131,.22);
}

/* Une seule atmosphère continue, attachée au viewport complet du jeu. */
.mq-shell[data-screen="accueil"]::before {
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 74% 42% at 50% 13%,var(--home-v78-glow-a),transparent 72%),
    radial-gradient(ellipse 62% 48% at 8% 66%,var(--home-v78-glow-b),transparent 74%),
    radial-gradient(ellipse 66% 50% at 94% 58%,var(--home-v78-glow-c),transparent 75%);
  opacity:.92;
  transform:translate3d(0,0,0) scale(1.025);
  transform-origin:center;
  animation:mq-home-v78-atmosphere 17s cubic-bezier(.45,0,.25,1) infinite alternate;
  will-change:transform,opacity;
}
@keyframes mq-home-v78-atmosphere {
  from { transform:translate3d(-1.2%,.2%,0) scale(1.025); opacity:.82; }
  to   { transform:translate3d(1.4%,-1.1%,0) scale(1.065); opacity:1; }
}

/* Le calque qui créait le grand rectangle transparent n'est plus rendu. */
.mq-shell[data-screen="accueil"] .mq-home-sky::after { content:none !important; display:none !important; background:none !important; animation:none !important; }
.mq-shell[data-screen="accueil"] .mq-home-aurora { display:none !important; }

/* Grenat : suppression totale des carrés/losanges translucides.
   Ils sont remplacés par de petites poussières rubis organiques. */
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i {
  width:6px !important;
  height:6px !important;
  border:0 !important;
  border-radius:50% !important;
  background:radial-gradient(circle,#ffe5d3 0 20%,#e5a083 32%,rgba(202,77,103,.38) 58%,transparent 72%) !important;
  box-shadow:0 0 10px rgba(229,160,131,.34),0 0 20px rgba(180,54,81,.18) !important;
  transform:none !important;
  opacity:0;
  animation:mq-home-v78-ruby-dust 7.8s ease-in-out infinite !important;
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(1){left:9%;top:22%;animation-delay:-1s!important}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(2){right:11%;top:18%;width:4px!important;height:4px!important;animation-delay:-3.2s!important}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(3){right:8%;top:61%;width:8px!important;height:8px!important;animation-delay:-5.1s!important}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(4){left:14%;top:69%;width:4px!important;height:4px!important;animation-delay:-6.4s!important}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(5){left:67%;top:34%;width:5px!important;height:5px!important;display:block!important;animation-delay:-2.3s!important}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-home-theme-scene i:nth-child(6){left:34%;top:14%;width:3px!important;height:3px!important;display:block!important;animation-delay:-4.4s!important}
@keyframes mq-home-v78-ruby-dust {
  0%,100% { opacity:.08; transform:translate3d(0,10px,0) scale(.62) !important; }
  48% { opacity:.74; transform:translate3d(5px,-16px,0) scale(1.18) !important; }
}

/* Chorégraphie d'accueil plus posée : entrée sans rebond excessif, ouverture
   progressive de la paire, respiration plus longue et disparition propre. */
.mq-view[data-view="accueil"].is-on .mq-hb-slot { animation:mq-hb-slot-in .48s ease-out forwards; }
.mq-view[data-view="accueil"].is-on .mq-hb-slot.is-l { animation:mq-hb-slot-in .48s ease-out .12s forwards,mq-hb-front 12.4s step-end 1.15s infinite,mq-hb-cycle 12.4s linear 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-slot.is-r { animation:mq-hb-slot-in .48s ease-out .20s forwards,mq-hb-front 12.4s step-end 1.15s infinite,mq-hb-cycle 12.4s linear 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-slot.is-c { animation:mq-hb-slot-in .48s ease-out .04s forwards,mq-hb-backz 12.4s step-end 1.15s infinite,mq-hb-cycle 12.4s linear 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-card.is-l { animation:mq-hb-v78-fan-l .82s cubic-bezier(.16,1,.3,1) .12s forwards,mq-hb-v78-pair-l 12.4s cubic-bezier(.42,0,.2,1) 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-card.is-c { animation:mq-hb-v78-fan-c .82s cubic-bezier(.16,1,.3,1) .04s forwards,mq-hb-v78-pair-c 12.4s cubic-bezier(.42,0,.2,1) 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-card.is-r { animation:mq-hb-v78-fan-r .82s cubic-bezier(.16,1,.3,1) .20s forwards,mq-hb-v78-pair-r 12.4s cubic-bezier(.42,0,.2,1) 1.15s infinite; }
@keyframes mq-hb-v78-fan-l { from{opacity:.15;transform:translate3d(-4%,52px,0) rotate(-4deg) scale(.72)} to{opacity:1;transform:translateX(-46%) translateY(6%) rotate(-15deg) scale(.95)} }
@keyframes mq-hb-v78-fan-c { from{opacity:.15;transform:translate3d(0,48px,0) scale(.72)} to{opacity:1;transform:translateY(-4%) scale(1.055)} }
@keyframes mq-hb-v78-fan-r { from{opacity:.15;transform:translate3d(4%,52px,0) rotate(4deg) scale(.72)} to{opacity:1;transform:translateX(46%) translateY(6%) rotate(15deg) scale(.95)} }
@keyframes mq-hb-v78-pair-l {
  0%,14% { transform:translateX(-46%) translateY(6%) rotate(-15deg) scale(.95) translateZ(0) rotateY(0); }
  27%,84% { transform:translateX(-54%) translateY(0) rotate(0) scale(.985) translateZ(60px) rotateY(180deg); }
  92%,100% { transform:translateX(-46%) translateY(6%) rotate(-15deg) scale(.95) translateZ(0) rotateY(0); }
}
@keyframes mq-hb-v78-pair-r {
  0%,14% { transform:translateX(46%) translateY(6%) rotate(15deg) scale(.95) translateZ(0) rotateY(0); }
  27%,84% { transform:translateX(54%) translateY(0) rotate(0) scale(.985) translateZ(60px) rotateY(-180deg); }
  92%,100% { transform:translateX(46%) translateY(6%) rotate(15deg) scale(.95) translateZ(0) rotateY(0); }
}
@keyframes mq-hb-v78-pair-c {
  0%,14% { transform:translateY(-4%) scale(1.055) translateZ(0); }
  27%,84% { transform:translateY(-20%) scale(.80) translateZ(-36px); }
  92%,100% { transform:translateY(-4%) scale(1.055) translateZ(0); }
}
@keyframes mq-hb-cycle { 0%,84%{opacity:1} 89%,95%{opacity:0} 100%{opacity:1} }
@keyframes mq-hb-front { 0%,14%{z-index:2} 15%,90%{z-index:4} 91%,100%{z-index:2} }
@keyframes mq-hb-backz { 0%,14%{z-index:3} 15%,90%{z-index:1} 91%,100%{z-index:3} }
.mq-view[data-view="accueil"].is-on .mq-hb-front::after { animation:mq-hb-seal 12.4s linear 1.15s infinite; }
@keyframes mq-hb-seal { 0%,27%{opacity:0} 32%,82%{opacity:1} 88%,100%{opacity:0} }
.mq-view[data-view="accueil"].is-on .mq-hb-match { animation:mq-hb-match 12.4s cubic-bezier(.16,1,.3,1) 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-match::before { animation:mq-hb-match-ring 12.4s ease-out 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-match i { animation:mq-hb-msp 12.4s ease-out 1.15s infinite; }
.mq-view[data-view="accueil"].is-on .mq-hb-tip { animation:mq-hb-tip 12.4s cubic-bezier(.2,.8,.2,1) 1.15s infinite; }
@keyframes mq-hb-tip { 0%,34%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.975)} 40%,82%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)} 88%,100%{opacity:0;transform:translateX(-50%) translateY(4px) scale(.99)} }
.mq-view[data-view="accueil"].is-on .mq-home-play { animation:mq-hb-cta-in .72s cubic-bezier(.16,1,.3,1) 1.05s forwards,mq-hb-v78-cta-breathe 3.6s ease-in-out 2.3s infinite; }
@keyframes mq-hb-v78-cta-breathe { 50%{transform:translateY(-1px) scale(1.012);filter:brightness(1.025)} }

/* Le fond animé et les nouvelles poussières obéissent toujours au mode Calme. */
.mq-shell[data-motion="calme"][data-screen="accueil"]::before,
.mq-shell[data-motion="calme"][data-screen="accueil"] .mq-home-theme-scene i { animation:none !important; }
.mq-shell[data-motion="calme"][data-screen="accueil"]::before { transform:none; opacity:.88; }

@media (prefers-reduced-motion: reduce) {
  .mq-shell[data-screen="accueil"]::before { animation:none !important; transform:none !important; }
}

/* =========================================================================
   ACCUEIL 6.30.4 — CORRECTIF CADRE TRANSPARENT / FX PLEIN ÉCRAN
   L'éclair et la lueur de validation ne sont plus bornés à la zone centrale.
   ========================================================================= */
.mq-shell[data-screen="accueil"] .mq-h2-light {
  position:fixed !important;
  inset:0 !important;
  width:auto !important;
  height:auto !important;
  overflow:hidden;
  pointer-events:none;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}
.mq-shell[data-screen="accueil"] .mq-h2-lift,
.mq-shell[data-screen="accueil"] .mq-h2-flash { inset:0 !important; border-radius:0 !important; }

/* =========================================================================
   MEMOQUEST 6.31.1 — ACCUEIL SANS VOILE + GRENAT HAUTE LISIBILITÉ
   Le WebView de certains appareils rattache position:fixed à la vue animée :
   le voile lumineux devient alors un grand rectangle. Il est supprimé à la
   source ; les cartes, la validation, le titre et la respiration restent.
   ========================================================================= */
.mq-shell[data-screen="accueil"] .mq-h2-light,
.mq-shell[data-screen="accueil"] .mq-h2-lift,
.mq-shell[data-screen="accueil"] .mq-h2-flash,
.mq-shell[data-screen="accueil"] .mq-h2-sun,
.mq-shell[data-screen="accueil"] .mq-h2-burst {
	display:none !important;
	background:none !important;
	opacity:0 !important;
	animation:none !important;
}
.mq-shell[data-screen="accueil"] .mq-view[data-view="accueil"],
.mq-shell[data-screen="accueil"] .mq-h2-stage,
.mq-shell[data-screen="accueil"] .mq-h2-scene {
	background:transparent !important;
	border:0 !important;
	box-shadow:none !important;
}

/* Grenat : le bordeaux appartient au décor. Sur le décor, le contenu est
   crème/champagne ; sur les surfaces ivoire, le texte devient prune foncé. */
.mq-shell[data-skin="grenat"] {
	--ciel-1:#4d1625; --ciel-2:#681f32; --ciel-3:#491522; --ciel-4:#2f0d17; --sable:#210911;
	--turq:#f0c27b; --turq-2:#d9a052; --bleu:#edb56c; --bleu-2:#b8752f;
	--degrade:linear-gradient(135deg,#f6d59a 0%,#e5ae60 52%,#bd782e 100%);
	--mq-bg:#310d18; --mq-bg-2:#5a192b;
	--mq-surface:#fffaf4; --mq-surface-raised:#ffffff; --mq-surface-soft:#f8ebe5; --mq-surface-selected:#f4dfd8;
	--mq-text:#451522; --mq-text-secondary:#68424d; --mq-text-muted:#80636b;
	--mq-text-on-light:#451522; --mq-text-on-dark:#fff8ed;
	--mq-accent:#84243e; --mq-accent-strong:#67172d; --mq-accent-2:#9b6330;
	--mq-border:#e5cbbd; --mq-border-active:#b87935;
	--mq-success:#287a49; --mq-warning:#7b5009;
	--mq-glow:0 0 0 3px rgba(226,174,96,.23);
	--mq-button-bg:linear-gradient(135deg,#f4d292,#dfa653 56%,#bd782e);
	--mq-button-edge:#95571f; --mq-button-text:#32101a;
	--mq-screen-text:#fff9ef; --mq-screen-secondary:#f0d8ce; --mq-screen-accent:#f1c47d;
	background:
		radial-gradient(ellipse at 50% -9%,rgba(255,219,188,.19) 0%,rgba(168,60,83,.10) 36%,transparent 61%),
		radial-gradient(ellipse at 85% 58%,rgba(117,24,52,.25),transparent 54%),
		linear-gradient(180deg,#521725 0%,#651e30 26%,#46131f 67%,#260a12 100%);
}
.mq-shell[data-skin="grenat"] .mq-ambiance {
	background:radial-gradient(circle at 50% 13%,rgba(255,225,201,.075),transparent 36%),linear-gradient(180deg,transparent,rgba(18,3,8,.20));
}

/* Accueil Grenat : aucun texte sombre directement sur le fond bordeaux. */
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-profil-info strong {
	color:#fff8ef;text-shadow:0 2px 8px rgba(20,2,7,.48);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-xp {
	background:rgba(255,248,239,.30);box-shadow:inset 0 1px 2px rgba(25,3,9,.24),0 1px 0 rgba(255,255,255,.10);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-xp i { background:linear-gradient(90deg,#f5d49a,#d99c4c); }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-avatar::before { background:linear-gradient(135deg,#fff4dc,#d89b4c); }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-avatar b,
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-chip .mq-plus {
	color:#35111b;background:linear-gradient(145deg,#f7d99e,#d99b49);border-color:#fff8ef;
	box-shadow:0 5px 13px rgba(54,14,20,.30),inset 0 1px 0 rgba(255,255,255,.58);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] :is(.mq-chip,.mq-icon-btn) {
	color:#511728;background:linear-gradient(180deg,#fffdf8,#f8eae2);border:1px solid rgba(239,207,175,.72);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-face {
	border-color:#fffaf1;box-shadow:0 25px 48px rgba(20,2,7,.38),0 0 0 2px rgba(231,178,103,.68);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-seal {
	background:linear-gradient(145deg,#62d696,#218554);color:#fff;
	box-shadow:0 12px 28px rgba(17,91,55,.42),inset 0 3px 0 rgba(255,255,255,.46),0 0 0 4px #fff9ef;
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-ring { border-color:#fff9ef;box-shadow:0 0 0 2px rgba(239,190,116,.72),inset 0 0 0 2px rgba(239,190,116,.48); }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-brand h1 .is-m { color:#f2c77f; }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-brand h1 .is-q { color:#fff9ef; }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-brand h1 span {
	text-shadow:0 3px 0 rgba(45,8,17,.42),0 14px 30px rgba(15,1,5,.30);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-brand p { color:#f4ddd3;opacity:0; }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play {
	color:#451522;background:linear-gradient(180deg,#fffdf9 0%,#f8ece5 100%);
	box-shadow:0 18px 40px rgba(23,3,9,.30),0 3px 8px rgba(23,3,9,.18),inset 0 1px 0 #fff;
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play::before {
	background:linear-gradient(120deg,rgba(239,190,116,.92),rgba(255,255,255,0) 46%,rgba(127,35,59,.50));
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play::after { background:linear-gradient(112deg,transparent 44%,rgba(239,190,116,.18) 50%,transparent 56%); }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play-ic {
	background:linear-gradient(145deg,#f5d28e,#d79642 64%,#b66d27);
	box-shadow:0 8px 18px rgba(116,65,25,.35),inset 0 -3px 0 rgba(104,52,18,.22),inset 0 2px 0 rgba(255,255,255,.42);
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play-t > span {
	background:linear-gradient(100deg,#6b1d33,#9b3f52 55%,#8b592a);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-h2-play-t small { color:#68424d; }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-nav button { color:#765760; }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-nav button.is-on { color:#6d1c34;background:linear-gradient(180deg,#fff2eb,#f5ddd7); }
.mq-shell[data-screen="accueil"][data-skin="grenat"] .mq-nav button.is-on::after { background:linear-gradient(90deg,#d89b49,#8b2843); }

/* Dans le reste du thème : les actions principales se détachent du décor en
   champagne, tandis que le grenat reste réservé aux accents sur fond clair. */
.mq-shell[data-skin="grenat"] .mq-btn-primary,
.mq-shell[data-skin="grenat"] .mq-play {
	color:#35111b!important;background-color:#e1a653!important;background-image:linear-gradient(135deg,#f6d69b,#e1a653 58%,#bd772e)!important;
	border-color:#f9e2b8!important;box-shadow:0 4px 0 #95571f,0 10px 24px rgba(31,5,12,.28)!important;text-shadow:0 1px 0 rgba(255,255,255,.35)!important;
}
.mq-shell[data-skin="grenat"] .mq-btn-primary:active { box-shadow:0 1px 0 #95571f!important; }
.mq-shell[data-skin="grenat"] .mq-degrade-texte {
	background:linear-gradient(100deg,#fff9ef,#f3cf93 58%,#e6ad61);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.mq-shell[data-skin="grenat"] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-title { color:#fff9ef; }
.mq-shell[data-skin="grenat"] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-lede { color:#f0d8ce; }
.mq-shell[data-skin="grenat"] :is(.mq-screen-head,.mq-settings-head,.mq-histoire-titre,.mq-setup-copy) .mq-eyebrow { color:#f1c47d; }

/* =========================================================================
   MEMOQUEST 6.31.2 — RETOUR DU PARCOURS FORESTIER + APPRENTISSAGE MOBILE
   ========================================================================= */

/* Le mode Histoire retrouve son ancienne identité de clairière. La fiche de
   mission reste fixe et le parcours est le seul élément qui défile. */
.mq-view[data-view="histoire"] {
	min-width:0;
	grid-template-columns:minmax(0,1fr);
	grid-template-rows:auto minmax(0,1fr) auto;
	gap:clamp(6px,1.1vh,10px);
}
.mq-view[data-view="histoire"] > * { min-width:0;max-width:100%; }
.mq-view[data-view="histoire"] .mq-histoire-tete { gap:5px; }
.mq-view[data-view="histoire"] .mq-histoire-titre { min-width:0;align-items:center; }
.mq-view[data-view="histoire"] .mq-histoire-titre > div { min-width:0; }
.mq-view[data-view="histoire"] .mq-histoire-titre .mq-title {
	font-size:clamp(1.25rem,5.5vw,1.8rem);line-height:1.08;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mq-view[data-view="histoire"] .mq-histoire-total { padding:5px 9px;font-size:.72rem; }
.mq-view[data-view="histoire"] .mq-chapters { max-width:100%;padding-bottom:3px; }
.mq-view[data-view="histoire"] .mq-chapter { width:clamp(50px,13.5vw,68px);padding:5px 3px; }

.mq-view[data-view="histoire"] .mq-chemin {
	position:relative;display:flex;flex-direction:column;gap:4px;
	min-height:0;max-width:100%;padding:0 5px 13px;
	overflow-x:hidden!important;overflow-y:auto!important;
	overscroll-behavior:contain;scrollbar-width:none;
	border:1px solid rgba(255,255,255,.72);border-radius:24px;
	background:
		linear-gradient(180deg,rgba(245,255,250,.52),rgba(229,249,238,.78)),
		radial-gradient(circle at 12% 42%,rgba(93,190,139,.18),transparent 28%),
		radial-gradient(circle at 88% 68%,rgba(74,160,118,.15),transparent 30%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 8px 22px rgba(22,90,74,.10);
}
.mq-view[data-view="histoire"] .mq-chemin::-webkit-scrollbar { display:none; }
.mq-view[data-view="histoire"] .mq-chemin::before {
	top:104px;bottom:26px;width:4px;
	background:repeating-linear-gradient(180deg,rgba(68,128,103,.28) 0 7px,transparent 7px 15px);
}
.mq-view[data-view="histoire"] .mq-chemin-trace {
	top:104px;width:4px;background:linear-gradient(180deg,#5dca91,#2c9d6b);
	box-shadow:0 0 10px rgba(50,164,111,.38);
}

.mq-story-forest-banner {
	position:relative;z-index:0;flex:0 0 auto;height:96px;overflow:hidden;
	margin:0 -5px 2px;border-radius:23px 23px 18px 18px;
	background:linear-gradient(180deg,var(--story-wash),rgba(248,255,250,.94));
	box-shadow:inset 0 -1px 0 rgba(70,130,96,.10);
}
.mq-story-forest-banner b {
	position:absolute;z-index:7;left:50%;bottom:8px;transform:translateX(-50%);
	max-width:76%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
	padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.91);
	border:1px solid rgba(255,255,255,.98);box-shadow:0 4px 12px rgba(36,91,69,.12);
	color:var(--story-accent);font-size:.66rem;font-weight:950;letter-spacing:.025em;
}
.mq-story-sun {
	position:absolute;z-index:0;right:15%;top:10px;width:28px;height:28px;border-radius:50%;
	background:#fff0a8;box-shadow:0 0 0 8px rgba(255,241,171,.23),0 0 25px rgba(246,201,80,.28);
}
.mq-story-hill { position:absolute;left:-8%;right:-8%;bottom:-25px;height:75px;border-radius:50% 48% 0 0; }
.mq-story-hill.is-back { z-index:1;bottom:-31px;left:23%;right:-15%;background:color-mix(in srgb,var(--story-leaf) 40%,#fff);transform:rotate(-4deg); }
.mq-story-hill.is-front { z-index:2;background:color-mix(in srgb,var(--story-leaf) 58%,#fff);transform:rotate(3deg); }
.mq-story-path {
	position:absolute;z-index:3;left:50%;bottom:-30px;width:62px;height:88px;
	transform:translateX(-50%) perspective(90px) rotateX(38deg);
	border-radius:50% 50% 0 0;background:linear-gradient(180deg,#fff8d9,#ead4aa);
}
.mq-story-tree { position:absolute;z-index:4;width:46px;height:80px;bottom:-2px;filter:drop-shadow(0 6px 5px rgba(32,87,61,.10)); }
.mq-story-tree::before {
	content:"";position:absolute;left:50%;bottom:0;width:7px;height:42px;transform:translateX(-50%);
	border-radius:5px;background:linear-gradient(90deg,#9c7757,#c6a57b,#8f684e);
}
.mq-story-tree::after {
	content:"";position:absolute;left:50%;top:1px;width:43px;height:51px;transform:translateX(-50%);
	border-radius:50% 52% 46% 55%;background:
		radial-gradient(circle at 30% 25%,rgba(255,255,255,.30),transparent 24%),
		linear-gradient(145deg,color-mix(in srgb,var(--story-leaf) 76%,#d9f0b0),var(--story-accent));
	box-shadow:-10px 12px 0 -5px color-mix(in srgb,var(--story-leaf) 82%,#fff),10px 13px 0 -7px var(--story-accent);
}
.mq-story-tree.t1 { left:3%;transform:scale(1.04); }
.mq-story-tree.t2 { left:18%;bottom:-17px;transform:scale(.70);opacity:.82; }
.mq-story-tree.t3 { right:4%;transform:scale(.97); }
.mq-story-tree.t4 { right:20%;bottom:-17px;transform:scale(.66);opacity:.78; }

.mq-view[data-view="histoire"] .mq-jalon {
	position:relative;z-index:2;flex:0 0 auto;width:100%;min-height:72px;
	padding:7px 8px;border-radius:18px;background:rgba(255,255,255,.48);
	border:1px solid rgba(255,255,255,.64);backdrop-filter:blur(4px);
}
.mq-view[data-view="histoire"] .mq-jalon:nth-of-type(odd) { flex-direction:row;text-align:left; }
.mq-view[data-view="histoire"] .mq-jalon:nth-of-type(even) { flex-direction:row-reverse;text-align:right; }
.mq-view[data-view="histoire"] .mq-jalon:nth-of-type(even) .mq-jalon-etoiles { justify-content:flex-end; }
.mq-view[data-view="histoire"] .mq-jalon-txt { width:calc(50% - 12px);max-width:calc(50% - 12px); }
.mq-view[data-view="histoire"] .mq-jalon-txt strong {
	color:#204f43!important;text-shadow:0 1px 0 rgba(255,255,255,.7)!important;
	font-size:clamp(.72rem,3vw,.88rem);
}
.mq-view[data-view="histoire"] .mq-jalon.is-locked { opacity:.68; }
.mq-view[data-view="histoire"] .mq-jalon.is-locked .mq-jalon-txt strong { color:#55796f!important; }

.mq-view[data-view="histoire"] .mq-mission {
	width:100%;min-width:0;max-width:100%;overflow:hidden;
	padding:clamp(8px,1.15vh,11px) clamp(10px,3vw,14px);
	border-radius:22px;gap:7px;
}
.mq-view[data-view="histoire"] .mq-mission-tete { min-width:0;gap:9px; }
.mq-view[data-view="histoire"] .mq-mission-tete > div { min-width:0; }
.mq-view[data-view="histoire"] .mq-mission-tete strong { font-size:clamp(.86rem,3.6vw,1rem); }
.mq-view[data-view="histoire"] .mq-mission-meta { max-width:100%;overflow:hidden;gap:4px; }
.mq-view[data-view="histoire"] .mq-tag { min-width:0;padding:4px 7px;font-size:clamp(.58rem,2.5vw,.7rem); }
.mq-view[data-view="histoire"] .mq-mission .mq-btn {
	width:100%;max-width:100%;min-width:0;min-height:48px;
	padding:10px 15px;font-size:clamp(.86rem,3.7vw,1rem);white-space:nowrap;
}

/* Le trait coloré entre les cartes n'existe plus. */
.mq-learning-link { display:none!important;animation:none!important; }

/* Commande suivante : cercle bleu franc, grande cible tactile et contraste
   élevé. Elle reste un simple signe >, sans recréer un bouton texte. */
.mq-learning-bubble {
	left:clamp(12px,5vw,32px);right:clamp(12px,5vw,32px);
	grid-template-columns:minmax(0,1fr) 56px;gap:clamp(10px,3vw,16px);
	padding:clamp(16px,4vw,20px) clamp(13px,3.6vw,18px) clamp(16px,4vw,20px) clamp(17px,4.7vw,22px);
}
.mq-learning-next {
	width:54px;height:54px;min-width:54px;min-height:54px;border-radius:50%;
	border:3px solid rgba(255,255,255,.98);
	background:linear-gradient(145deg,#28a8ef 0%,#087bd9 52%,#0758b7 100%);
	color:#fff;box-shadow:0 5px 0 #064a9c,0 10px 20px rgba(4,72,157,.34),inset 0 2px 0 rgba(255,255,255,.36);
	font:950 1.65rem/1 ui-rounded,system-ui,sans-serif;
	transform:translateX(-6px) scale(.72);
}
.mq-learning-next span { display:block;transform:translateX(1px) translateY(-1px);text-shadow:0 1px 2px rgba(0,35,92,.32); }
.mq-learning-next:active {
	transform:translateY(3px)!important;
	box-shadow:0 2px 0 #064a9c,0 5px 11px rgba(4,72,157,.28),inset 0 2px 0 rgba(255,255,255,.30);
}
.mq-learning-next:focus-visible { outline:4px solid rgba(75,216,225,.52);outline-offset:3px; }

@media (max-width:380px) {
	.mq-view[data-view="histoire"] .mq-histoire-titre .mq-eyebrow { font-size:.58rem;letter-spacing:.09em; }
	.mq-view[data-view="histoire"] .mq-histoire-total { padding:4px 7px;font-size:.64rem; }
	.mq-view[data-view="histoire"] .mq-chapter { width:49px; }
	.mq-story-forest-banner { height:86px; }
	.mq-view[data-view="histoire"] .mq-chemin::before,
	.mq-view[data-view="histoire"] .mq-chemin-trace { top:94px; }
	.mq-view[data-view="histoire"] .mq-jalon { min-height:66px;padding:5px 6px; }
	.mq-view[data-view="histoire"] .mq-jalon-pastille { width:42px;height:42px; }
	.mq-learning-bubble { grid-template-columns:minmax(0,1fr) 50px;gap:9px; }
	.mq-learning-next { width:50px;height:50px;min-width:50px;min-height:50px; }
}
@media (max-height:720px) {
	.mq-story-forest-banner { height:82px; }
	.mq-view[data-view="histoire"] .mq-chemin::before,
	.mq-view[data-view="histoire"] .mq-chemin-trace { top:90px; }
	.mq-view[data-view="histoire"] .mq-jalon { min-height:62px; }
	.mq-view[data-view="histoire"] .mq-mission-meta { display:none; }
	.mq-view[data-view="histoire"] .mq-mission-tete strong { white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; }
	.mq-learning-bubble { top:min(52vh,340px); }
}
@media (prefers-reduced-motion:reduce) {
	.mq-story-tree,.mq-story-sun { animation:none!important; }
}

/* =========================================================================
   MEMOQUEST 6.34.1 — HUD INFÉRIEUR + RÉACTIONS ANIMÉES
   ========================================================================= */

/* La page Histoire reprend la composition exacte demandée : en-tête de voyage,
   progression, dix régions illustrées, chemin sinueux et fiche de mission fixe. */
.mq-view[data-view="histoire"] { display:block;overflow:hidden!important; }
.mq-story-atlas { width:100%;height:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#f5fbff;box-shadow:0 8px 26px rgba(21,60,122,.10); }
.mq-story-atlas-head { flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:10px 14px 9px;background:linear-gradient(140deg,#fff,#f1fbff);border-bottom:1px solid #fff;box-shadow:0 8px 22px rgba(21,60,122,.07);z-index:3; }
.mq-story-atlas-head>div { min-width:0; }
.mq-story-atlas-head .mq-eyebrow { margin:0 0 2px;color:#527c9c;font-size:.58rem;letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mq-story-atlas-head h2 { margin:0;color:#153c7a;font-size:clamp(.88rem,3.8vw,1.08rem);font-weight:950;line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.mq-story-atlas-head>span { align-self:center;display:flex;align-items:center;gap:4px;padding:6px 9px;border:1px solid #f0dfa5;border-radius:15px;background:#fff9e7;color:#946015;font-size:.72rem; }
.mq-story-atlas-head>span svg { width:14px;height:14px;color:#e7a72b; }
.mq-story-atlas-head>span b { font-size:.8rem; }
.mq-story-atlas-head>span small { color:#946015; }
.mq-story-atlas-progress { position:relative;height:7px;border-radius:20px;background:#dce9ee;overflow:hidden; }
.mq-story-atlas-progress i { position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#e8951c,#ffc02e);transform-origin:left;transition:transform .7s cubic-bezier(.32,.72,.24,1); }
.mq-story-atlas-head>small { align-self:center;color:#55758e;font-size:.62rem;font-weight:850;white-space:nowrap; }

.mq-story-atlas-map { flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:none;background:#f7fcff; }
.mq-story-atlas-map::-webkit-scrollbar { display:none; }
.mq-story-region { position:relative;overflow:hidden;background:linear-gradient(180deg,var(--atlas-wash),#f7fcff 92%);border-bottom:1px solid #fff; }
.mq-story-region.is-locked { filter:saturate(.72); }
.mq-story-region.is-locked::after { content:"";position:absolute;inset:174px 0 0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(238,244,247,.52),rgba(234,241,244,.34)); }
.mq-story-region-hero { position:relative;height:174px;padding:17px 12px 0;text-align:center;overflow:hidden; }
.mq-story-region-hero>p { position:relative;z-index:4;margin:0;color:var(--atlas-accent);font-size:.56rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase; }
.mq-story-region-hero>h3 { position:relative;z-index:4;margin:4px 0 0;color:#153c7a;font-size:clamp(1.12rem,5vw,1.48rem);font-weight:950;letter-spacing:-.035em;line-height:1.08; }
.mq-story-region-hero>small { position:relative;z-index:4;display:block;margin:5px auto 0;max-width:90%;color:#51778b;font-size:.62rem;font-weight:700; }
.mq-story-region-hero>b { position:absolute;z-index:7;left:50%;bottom:7px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;max-width:88%;padding:6px 10px;border:1px solid #fff;border-radius:30px;background:rgba(255,255,255,.93);box-shadow:0 5px 15px rgba(21,60,122,.10);color:var(--atlas-accent);font-size:.58rem;font-weight:900;white-space:nowrap; }
.mq-story-region-hero>b svg { width:12px;height:12px; }
.mq-story-atlas-landscape { position:absolute;left:0;right:0;bottom:0;height:112px;overflow:hidden;color:var(--atlas-accent); }
.mq-atlas-sun { position:absolute;right:17%;top:9px;width:25px;height:25px;border-radius:50%;background:#fff1a8;box-shadow:0 0 0 8px rgba(255,241,168,.25),0 0 22px rgba(247,202,75,.30); }
.mq-atlas-hill { position:absolute;left:-10%;right:-10%;bottom:-35px;height:86px;border-radius:52% 48% 0 0;background:color-mix(in srgb,var(--atlas-accent) 25%,#fff); }
.mq-atlas-hill.is-back { left:24%;right:-18%;bottom:-26px;transform:rotate(-4deg);opacity:.7; }
.mq-atlas-hill.is-front { bottom:-48px;background:color-mix(in srgb,var(--atlas-accent) 42%,#fff);transform:rotate(3deg); }
.mq-atlas-tree { position:absolute;z-index:2;bottom:2px;width:44px;height:70px;filter:drop-shadow(0 5px 4px rgba(30,78,62,.10)); }
.mq-atlas-tree::before { content:"";position:absolute;left:50%;bottom:0;width:6px;height:36px;transform:translateX(-50%);border-radius:5px;background:#a38361; }
.mq-atlas-tree::after { content:"";position:absolute;left:50%;top:0;width:42px;height:47px;transform:translateX(-50%);border-radius:50% 53% 45% 56%;background:linear-gradient(145deg,color-mix(in srgb,var(--atlas-accent) 48%,#bfe5ad),var(--atlas-accent));box-shadow:-9px 11px 0 -5px color-mix(in srgb,var(--atlas-accent) 42%,#fff),9px 13px 0 -7px var(--atlas-accent); }
.mq-atlas-tree.is-left { left:5%; }
.mq-atlas-tree.is-small { left:22%;bottom:-8px;transform:scale(.68);opacity:.78; }
.mq-atlas-tree.is-right { right:5%;transform:scale(.91); }
.mq-atlas-path { position:absolute;z-index:2;left:50%;bottom:-40px;width:58px;height:92px;transform:translateX(-50%) perspective(90px) rotateX(38deg);border-radius:50% 50% 0 0;background:linear-gradient(#fff8d9,#ead4aa); }
.mq-atlas-landmark { position:absolute;z-index:3;left:50%;bottom:18px;width:42px;height:42px;transform:translateX(-50%);border:3px solid rgba(255,255,255,.85);border-radius:50%;background:color-mix(in srgb,var(--atlas-accent) 58%,#fff);box-shadow:0 5px 15px rgba(21,60,122,.12);opacity:0; }
.is-scene-2 .mq-atlas-landmark,.is-scene-4 .mq-atlas-landmark,.is-scene-5 .mq-atlas-landmark,.is-scene-6 .mq-atlas-landmark,.is-scene-8 .mq-atlas-landmark,.is-scene-9 .mq-atlas-landmark,.is-scene-10 .mq-atlas-landmark { opacity:1; }
.is-scene-2 .mq-atlas-landmark { border-radius:12px;background:#f0a653; }
.is-scene-4 .mq-atlas-landmark { background:#d7f4fe;border-color:#67b9d5; }
.is-scene-5 .mq-atlas-landmark { border-radius:8px 8px 2px 2px;background:#fff5dc; }
.is-scene-6 .mq-atlas-landmark { width:56px;border-radius:5px;background:#d1bfab; }
.is-scene-8 .mq-atlas-tree::after { border-radius:4px 50% 4px 50%; }
.is-scene-9 .mq-atlas-landmark { width:58px;border-radius:5px;background:#f3e7c3; }
.is-scene-10 .mq-atlas-landmark { transform:translateX(-50%) rotate(45deg);border-radius:12px;background:#ffc02e; }

.mq-story-region-route { position:relative;height:1120px; }
.mq-story-region-route>svg { position:absolute;inset:0;width:100%;height:1070px;overflow:visible; }
.mq-atlas-road-base,.mq-atlas-road-done { fill:none;stroke-width:5;stroke-linecap:round; }
.mq-atlas-road-base { stroke:#c8dce2;stroke-dasharray:2 12; }
.mq-atlas-road-done { stroke:#58c994;filter:drop-shadow(0 0 5px rgba(88,201,148,.35)); }
.mq-atlas-stop { position:absolute;z-index:3;left:0;right:0;width:100%;height:96px;display:flex;align-items:center;justify-content:space-around;gap:5%;padding:0 6%;border:0;background:none;color:#153c7a;text-align:center; }
.mq-atlas-stop.is-even { flex-direction:row-reverse; }
.mq-atlas-orb { flex:0 0 auto;width:61px;height:61px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:linear-gradient(150deg,#fff,#e0ebf0);box-shadow:0 5px 0 #b8cdd8,0 10px 20px rgba(21,60,122,.08);color:#7694a6;font-size:1.24rem;font-weight:950; }
.mq-atlas-orb svg { width:20px;height:20px; }
.mq-atlas-label { width:53%;min-width:0;padding:9px 8px;border:1px solid #fff;border-radius:17px;background:rgba(255,255,255,.82);box-shadow:0 6px 18px rgba(21,60,122,.06); }
.mq-atlas-label strong { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#244c6c;font-size:.72rem;line-height:1.3; }
.mq-atlas-label small { display:block;margin-top:4px;color:#5c7b91;font-size:.56rem;font-weight:750; }
.mq-atlas-label .mq-stars { justify-content:center;margin-top:3px; }
.mq-atlas-stop.is-even .mq-atlas-label { text-align:right; }
.mq-atlas-stop.is-current .mq-atlas-orb { color:#fff;background:linear-gradient(140deg,#16c4ce,#2e86e0);box-shadow:0 6px 0 #227ba9,0 12px 24px rgba(46,134,224,.22); }
.mq-atlas-stop.is-current .mq-atlas-orb::before { content:"";position:absolute;width:72px;height:72px;border:2px solid rgba(22,196,206,.35);border-radius:50%;animation:mq-atlas-breathe 2.4s ease-in-out infinite; }
.mq-atlas-stop.is-current .mq-atlas-label { border-color:#46c7d7;background:#fff; }
.mq-atlas-stop.is-done .mq-atlas-orb { color:#fff;background:linear-gradient(150deg,#7ce25f,#1f9d55);box-shadow:0 5px 0 #188d53,0 10px 20px rgba(31,157,85,.15); }
.mq-atlas-stop.is-selected .mq-atlas-label { outline:3px solid color-mix(in srgb,var(--atlas-accent) 42%,transparent);outline-offset:2px; }
.mq-atlas-stop.is-boss .mq-atlas-orb { width:73px;height:73px;color:#85540d;background:linear-gradient(145deg,#fff0ae,#ffc02e 48%,#e8951c);border-color:#fff6c3;box-shadow:0 6px 0 #b67711,0 12px 25px rgba(232,149,28,.20); }
.mq-atlas-stop.is-locked { opacity:.68; }
.mq-story-region-bridge { height:26px;display:flex;align-items:center;justify-content:center;gap:8px;color:#6d91a3;font-size:.52rem;font-weight:850;letter-spacing:.16em; }
.mq-story-region-bridge::before,.mq-story-region-bridge::after { content:"";width:32px;height:1px;background:#b9d9de; }
@keyframes mq-atlas-breathe { 50%{transform:scale(1.08);opacity:.55} }

.mq-story-atlas-dock { flex:0 0 auto;z-index:5;padding:7px;background:rgba(255,255,255,.97);border-top:1px solid #fff;box-shadow:0 -8px 24px rgba(21,60,122,.10); }
.mq-story-atlas-dock .mq-mission { margin:0!important;padding:8px 9px!important;border-radius:18px!important;gap:6px!important;box-shadow:none!important; }
.mq-story-atlas-dock .mq-mission-tete { gap:7px; }
.mq-story-atlas-dock .mq-mission-num { width:38px;height:38px;border-radius:13px;font-size:1rem; }
.mq-story-atlas-dock .mq-mission-tete strong { font-size:.78rem!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.mq-story-atlas-dock .mq-mission-tete small { font-size:.55rem; }
.mq-story-atlas-dock .mq-mission-meta { display:none!important; }
.mq-story-atlas-dock .mq-mission .mq-btn { min-height:43px!important;padding:8px 13px!important;border-radius:14px!important;font-size:.82rem!important; }

/* Mots à retenir : la couleur turquoise porte le sens et le soulignement doré
   se dessine après l'apparition du message. */
.mq-learning-bubble p strong.mq-memory-word,.mq-h2-tip p strong.mq-memory-word { position:relative;display:inline;color:#078f98!important;font-weight:950;background:linear-gradient(180deg,transparent 68%,rgba(255,205,64,.22) 68%); }
.mq-learning-bubble p strong.mq-memory-word::after { content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;border-radius:99px;background:linear-gradient(90deg,#f0b82f,#ffd864);transform:scaleX(0);transform-origin:left; }
.mq-learning-reveal.is-gathered .mq-learning-bubble p strong.mq-memory-word::after { animation:mq-learning-memory-line .5s cubic-bezier(.2,.9,.25,1) 1.45s forwards; }
@keyframes mq-learning-memory-line { to{transform:scaleX(1)} }

/* Commande Passer : un médaillon bleu/turquoise, très contrasté, sans texte
   superflu. La double couronne et la lumière de passage remplacent le disque blanc. */
.mq-learning-bubble .mq-learning-next { position:relative;isolation:isolate;width:62px!important;height:62px!important;min-width:62px!important;min-height:62px!important;border:3px solid #fff!important;border-radius:50%!important;background:linear-gradient(145deg,#32d4db 0%,#149ed9 42%,#0865c7 100%)!important;color:#fff!important;box-shadow:0 6px 0 #0751a4,0 13px 26px rgba(5,86,177,.36),inset 0 2px 0 rgba(255,255,255,.48)!important;font-family:ui-rounded,'SF Pro Rounded','Segoe UI',system-ui,sans-serif!important;overflow:visible; }
.mq-learning-bubble .mq-learning-next::before { content:"";position:absolute;z-index:-1;inset:-7px;border:2px solid rgba(51,205,222,.34);border-radius:50%;animation:mq-learning-next-halo 1.8s ease-in-out infinite; }
.mq-learning-bubble .mq-learning-next::after { content:"";position:absolute;left:12px;right:12px;top:7px;height:16px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.42),transparent);pointer-events:none; }
.mq-learning-bubble .mq-learning-next span { display:block!important;transform:translate(1px,-3px)!important;color:#fff!important;font-size:2.55rem!important;font-weight:800!important;line-height:1!important;text-shadow:0 2px 3px rgba(0,48,106,.35)!important; }
.mq-learning-bubble .mq-learning-next:active { transform:translateY(4px) scale(.97)!important;box-shadow:0 2px 0 #0751a4,0 6px 13px rgba(5,86,177,.28),inset 0 2px 0 rgba(255,255,255,.40)!important; }
.mq-learning-bubble .mq-learning-next:focus-visible { outline:4px solid rgba(62,220,229,.48)!important;outline-offset:4px!important; }
@keyframes mq-learning-next-halo { 50%{transform:scale(1.08);opacity:.45} }

@media (max-width:380px) {
	.mq-story-atlas-head { padding:8px 10px 7px;gap:6px 8px; }
	.mq-story-region-hero { height:158px;padding-top:14px; }
	.mq-story-region.is-locked::after { inset-block-start:158px; }
	.mq-story-region-route { height:1030px;transform-origin:top; }
	.mq-atlas-stop { height:91px;padding-inline:4%; }
	.mq-atlas-orb { width:54px;height:54px; }
	.mq-atlas-label { width:56%;padding:8px 7px; }
	.mq-story-atlas-dock { padding:5px; }
	.mq-story-atlas-dock .mq-mission { padding:6px 8px!important; }
	.mq-story-atlas-dock .mq-mission .mq-btn { min-height:40px!important; }
	.mq-learning-bubble .mq-learning-next { width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important; }
	.mq-learning-bubble .mq-learning-next span { font-size:2.3rem!important; }
}
@media (max-height:680px) {
	.mq-story-atlas-head { padding-block:6px; }
	.mq-story-atlas-dock .mq-mission-tete { display:none; }
	.mq-story-atlas-dock .mq-mission .mq-btn { min-height:42px!important; }
}
@media (prefers-reduced-motion:reduce) {
	.mq-atlas-stop.is-current .mq-atlas-orb::before,.mq-learning-bubble .mq-learning-next::before,.mq-learning-reveal.is-gathered .mq-learning-bubble p strong.mq-memory-word::after { animation:none!important;transform:none!important; }
}

/* =========================================================================
   MEMOQUEST v87 — COUCHE CANONIQUE DES THÈMES DE PARTIE
   Unifie HUD, plateau, cartes, progression et états sans modifier la logique.
   Les variables ci-dessous sont la source de vérité du rendu en partie.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-game-hud-surface:var(--mq-surface);
  --mq-game-hud-active:var(--mq-surface-selected);
  --mq-game-hud-border:var(--mq-border);
  --mq-game-hud-text:var(--mq-text);
  --mq-game-hud-muted:var(--mq-text-secondary);
  --mq-game-control-bg:var(--mq-surface-raised);
  --mq-game-control-border:var(--mq-border);
  --mq-game-control-icon:var(--mq-accent-strong);
  --mq-game-board-fill:color-mix(in srgb,var(--mq-bg) 18%,transparent);
  --mq-game-board-border:color-mix(in srgb,var(--mq-border-active) 34%,transparent);
  --mq-game-board-shadow:0 12px 28px color-mix(in srgb,var(--mq-bg) 28%,rgba(0,0,0,.12));
  --mq-game-card-border:color-mix(in srgb,var(--mq-surface-raised) 86%,var(--mq-border) 14%);
  --mq-game-card-back:linear-gradient(160deg,var(--mq-accent) 0%,var(--mq-accent-strong) 54%,var(--mq-accent-2) 100%);
  --mq-game-card-front:linear-gradient(165deg,var(--mq-surface-raised),var(--mq-surface-soft));
  --mq-game-card-front-animal:var(--mq-accent-strong);
  --mq-game-card-shadow:0 5px 13px color-mix(in srgb,var(--mq-bg) 34%,rgba(0,0,0,.16));
  --mq-game-progress-track:color-mix(in srgb,var(--mq-text) 12%,transparent);
  --mq-game-progress-fill:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2));
  --mq-game-active:var(--mq-accent);
  --mq-game-active-glow:color-mix(in srgb,var(--mq-accent) 28%,transparent);
  --mq-game-match:var(--mq-success);
  --mq-game-error:var(--mq-error);
}

/* Lagon / Jade — eau claire, végétation et verre dépoli. */
.mq-shell[data-skin="jade"] {
  --mq-game-hud-surface:rgba(250,255,253,.94);
  --mq-game-hud-active:linear-gradient(180deg,#fbfffd 0%,#e4fff4 100%);
  --mq-game-hud-border:#b8dfd9;
  --mq-game-control-bg:linear-gradient(180deg,#fbfffe 0%,#e4f5f1 100%);
  --mq-game-control-border:#b8dfd9;
  --mq-game-control-icon:#087f8c;
  --mq-game-board-fill:linear-gradient(180deg,rgba(12,117,124,.08),rgba(12,90,109,.14));
  --mq-game-board-border:rgba(101,217,200,.48);
  --mq-game-board-shadow:0 12px 28px rgba(21,92,99,.13),inset 0 0 22px rgba(92,224,198,.07);
  --mq-game-card-border:#f2fffb;
  --mq-game-card-back:radial-gradient(circle at 27% 18%,rgba(255,255,255,.32),transparent 29%),linear-gradient(162deg,#54dcc1 0%,#1fbcc1 46%,#177fc0 100%);
  --mq-game-card-front:linear-gradient(165deg,#fbfffe 0%,#e6f6f2 100%);
  --mq-game-card-front-animal:#0d5d69;
  --mq-game-card-shadow:0 5px 13px rgba(13,79,91,.22);
  --mq-game-progress-track:rgba(14,102,111,.14);
  --mq-game-progress-fill:linear-gradient(90deg,#4bd7ae 0%,#17bdbd 52%,#247fc7 100%);
  --mq-game-active:#159f7d;
  --mq-game-active-glow:rgba(21,159,125,.24);
  --mq-game-match:#38b987;
  background:
    radial-gradient(circle at 78% 7%,rgba(255,255,255,.78) 0%,rgba(255,255,255,.20) 18%,transparent 36%),
    radial-gradient(ellipse at 12% 96%,rgba(74,198,133,.24),transparent 37%),
    linear-gradient(180deg,#4ec9ef 0%,#91ddf1 30%,#c9f0e8 65%,#f2e8c9 100%);
}
.mq-shell[data-skin="jade"] .mq-ambiance i:nth-child(1) { background:radial-gradient(ellipse,rgba(255,255,255,.54) 0%,transparent 64%); }
.mq-shell[data-skin="jade"] .mq-ambiance i:nth-child(2) { background:radial-gradient(circle,rgba(40,174,113,.18) 0%,transparent 62%); }
.mq-shell[data-skin="jade"] .mq-ambiance i:nth-child(3) { background:radial-gradient(ellipse,rgba(22,196,206,.20) 0%,transparent 62%); }
.mq-shell[data-skin="jade"] .mq-back::before {
  inset:21%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 45c11-19 25-27 39-26-3 12-9 22-20 28-7 4-14 2-19-2Z'/%3E%3Cpath d='M18 43c10-8 20-14 30-20M31 34c-2-6-1-11 1-15M39 29c3-4 7-7 12-9'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 3px 4px rgba(4,89,100,.28));
}
.mq-shell[data-skin="jade"] .mq-back::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 18% 28%,rgba(255,255,255,.34) 0 2px,transparent 3px),radial-gradient(circle at 79% 72%,rgba(255,255,255,.23) 0 2px,transparent 3px),linear-gradient(115deg,transparent 33%,rgba(255,255,255,.15) 48%,transparent 61%);
  opacity:.9;
}

/* Ambre — canyon solaire, pierre chaude et cuivre. */
.mq-shell[data-skin="ambre"] {
  --mq-game-hud-surface:rgba(255,249,238,.95);
  --mq-game-hud-active:linear-gradient(180deg,#fffdf5 0%,#ffedc5 100%);
  --mq-game-hud-border:#e7c28e;
  --mq-game-control-bg:linear-gradient(180deg,#fffaf0 0%,#f9e1bd 100%);
  --mq-game-control-border:#e5bd84;
  --mq-game-control-icon:#8b3d09;
  --mq-game-board-fill:linear-gradient(180deg,rgba(151,70,15,.075),rgba(121,49,9,.14));
  --mq-game-board-border:rgba(212,134,48,.42);
  --mq-game-board-shadow:0 12px 28px rgba(116,56,15,.16),inset 0 0 22px rgba(255,188,87,.08);
  --mq-game-card-border:#fff1d2;
  --mq-game-card-back:radial-gradient(circle at 28% 17%,rgba(255,247,205,.34),transparent 29%),linear-gradient(160deg,#ffc35f 0%,#ef8429 48%,#b74712 100%);
  --mq-game-card-front:linear-gradient(165deg,#fffaf0 0%,#f7e2c0 100%);
  --mq-game-card-front-animal:#77360f;
  --mq-game-card-shadow:0 5px 13px rgba(113,52,13,.24);
  --mq-game-progress-track:rgba(117,61,18,.14);
  --mq-game-progress-fill:linear-gradient(90deg,#ffd26e 0%,#f29a35 48%,#c95713 100%);
  --mq-game-active:#b86116;
  --mq-game-active-glow:rgba(184,97,22,.23);
  --mq-game-match:#8a8e2d;
  background:
    radial-gradient(circle at 52% 4%,rgba(255,244,188,.86) 0%,rgba(255,207,100,.35) 18%,transparent 40%),
    radial-gradient(ellipse at 12% 84%,rgba(169,67,15,.18),transparent 38%),
    radial-gradient(ellipse at 90% 88%,rgba(132,47,8,.14),transparent 35%),
    linear-gradient(180deg,#f7a43f 0%,#ffc96f 28%,#f6d79f 61%,#e9c08a 100%);
}
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(1) { background:radial-gradient(ellipse,rgba(255,250,216,.48) 0%,transparent 64%); }
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(2) { background:radial-gradient(circle,rgba(210,102,22,.17) 0%,transparent 62%); }
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(3) { background:radial-gradient(ellipse,rgba(232,136,47,.20) 0%,transparent 62%); }
.mq-shell[data-skin="ambre"] .mq-back::before {
  inset:22%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff7df' stroke-width='4' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='11'/%3E%3Cpath d='M32 7v8M32 49v8M7 32h8M49 32h8M14 14l6 6M44 44l6 6M50 14l-6 6M20 44l-6 6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 3px 4px rgba(113,52,13,.30));
}
.mq-shell[data-skin="ambre"] .mq-back::after {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,transparent 32%,rgba(255,247,204,.20) 48%,transparent 63%),radial-gradient(circle at 78% 25%,rgba(255,248,215,.24) 0 2px,transparent 3px);
  opacity:.88;
}

/* Océan — profondeur froide, perle et aqua. */
.mq-shell[data-skin="ocean"] {
  --mq-game-hud-surface:linear-gradient(180deg,rgba(255,255,255,.97),rgba(231,248,252,.95));
  --mq-game-hud-active:linear-gradient(180deg,#fbfffe 0%,#e7fff4 100%);
  --mq-game-hud-border:rgba(194,235,244,.92);
  --mq-game-control-bg:linear-gradient(180deg,rgba(65,210,235,.97),rgba(20,114,204,.97));
  --mq-game-control-border:rgba(201,246,255,.82);
  --mq-game-control-icon:#ffffff;
  --mq-game-board-fill:linear-gradient(180deg,rgba(1,48,88,.15),rgba(1,29,64,.25));
  --mq-game-board-border:rgba(117,225,239,.36);
  --mq-game-board-shadow:0 12px 30px rgba(0,29,69,.20),inset 0 0 28px rgba(40,217,231,.10);
  --mq-game-card-border:#f6fdff;
  --mq-game-card-back:radial-gradient(circle at 28% 17%,rgba(255,255,255,.28),transparent 31%),linear-gradient(166deg,#49dce1 0%,#20b7e5 46%,#0968c8 100%);
  --mq-game-card-front:linear-gradient(168deg,#f9feff 0%,#e6f8fb 100%);
  --mq-game-card-front-animal:#073f69;
  --mq-game-card-shadow:0 5px 13px rgba(0,35,82,.30);
  --mq-game-progress-track:rgba(212,249,255,.22);
  --mq-game-progress-fill:linear-gradient(90deg,#53e6cc 0%,#33d7db 48%,#43efb2 100%);
  --mq-game-active:#45daa8;
  --mq-game-active-glow:rgba(69,218,168,.24);
  --mq-game-match:#53dfb7;
}

/* Grenat — rubis, ivoire et champagne. */
.mq-shell[data-skin="grenat"] {
  --mq-game-hud-surface:linear-gradient(155deg,#fffaf5 0%,#f6e7df 100%);
  --mq-game-hud-active:linear-gradient(155deg,#fffaf5 0%,#f3e0d4 100%);
  --mq-game-hud-border:#dfb98f;
  --mq-game-hud-text:#531826;
  --mq-game-hud-muted:#805965;
  --mq-game-control-bg:linear-gradient(155deg,#fffaf5 0%,#f4e3dc 100%);
  --mq-game-control-border:#ddb68c;
  --mq-game-control-icon:#6b1d31;
  --mq-game-board-fill:linear-gradient(180deg,rgba(64,15,27,.26),rgba(31,7,14,.36));
  --mq-game-board-border:rgba(217,174,125,.34);
  --mq-game-board-shadow:0 13px 30px rgba(39,7,15,.25),inset 0 0 24px rgba(189,68,93,.06);
  --mq-game-card-border:#e8c49e;
  --mq-game-card-back:linear-gradient(158deg,#aa3b57 0%,#7f263f 48%,#501726 100%);
  --mq-game-card-front:linear-gradient(165deg,#fff9f4 0%,#f1dfd5 100%);
  --mq-game-card-front-animal:#3b151e;
  --mq-game-card-shadow:0 5px 13px rgba(42,7,15,.26);
  --mq-game-progress-track:rgba(255,239,230,.16);
  --mq-game-progress-fill:linear-gradient(90deg,#d9ae7d 0%,#c45a70 52%,#8d263f 100%);
  --mq-game-active:#c79654;
  --mq-game-active-glow:rgba(199,150,84,.24);
  --mq-game-match:#d3a464;
}

/* Ardoise — roche, acier et cyan minéral. */
.mq-shell[data-skin="ardoise"] {
  --mq-game-hud-surface:linear-gradient(155deg,#293d47 0%,#17252d 100%);
  --mq-game-hud-active:linear-gradient(155deg,#304b55 0%,#1b2d35 100%);
  --mq-game-hud-border:#536d77;
  --mq-game-hud-text:#f2f6f8;
  --mq-game-hud-muted:#bdcbd1;
  --mq-game-control-bg:linear-gradient(155deg,#2c414b 0%,#172730 100%);
  --mq-game-control-border:#526b76;
  --mq-game-control-icon:#72e2e9;
  --mq-game-board-fill:linear-gradient(180deg,rgba(8,16,21,.36),rgba(4,10,14,.48));
  --mq-game-board-border:rgba(102,205,216,.25);
  --mq-game-board-shadow:0 14px 32px rgba(0,0,0,.32),inset 0 0 24px rgba(88,223,233,.04);
  --mq-game-card-border:#afc0ca;
  --mq-game-card-back:linear-gradient(158deg,#435965 0%,#273a44 48%,#111c23 100%);
  --mq-game-card-front:linear-gradient(165deg,#253942 0%,#111d24 100%);
  --mq-game-card-front-animal:#0f1b22;
  --mq-game-card-shadow:0 5px 13px rgba(0,0,0,.34);
  --mq-game-progress-track:rgba(190,219,226,.14);
  --mq-game-progress-fill:linear-gradient(90deg,#65e8ef 0%,#39bac8 50%,#658fe9 100%);
  --mq-game-active:#65dfe8;
  --mq-game-active-glow:rgba(101,223,232,.22);
  --mq-game-match:#69dfe8;
}

/* Nuit — bleu profond et lumière lunaire, sans basculer le joueur actif en blanc. */
.mq-shell[data-skin="nuit"] {
  --mq-game-hud-surface:linear-gradient(155deg,#16243a 0%,#0e1727 100%);
  --mq-game-hud-active:linear-gradient(155deg,#1d3150 0%,#111e33 100%);
  --mq-game-hud-border:#425575;
  --mq-game-hud-text:#f5f7ff;
  --mq-game-hud-muted:#bec8df;
  --mq-game-control-bg:linear-gradient(155deg,#182740 0%,#0f192b 100%);
  --mq-game-control-border:#455a7c;
  --mq-game-control-icon:#91e2fb;
  --mq-game-board-fill:linear-gradient(180deg,rgba(9,16,31,.42),rgba(4,8,17,.58));
  --mq-game-board-border:rgba(128,174,226,.18);
  --mq-game-board-shadow:0 15px 34px rgba(0,0,0,.38),inset 0 0 24px rgba(128,215,255,.04);
  --mq-game-card-border:#c8d8eb;
  --mq-game-card-back:linear-gradient(160deg,#1c2c47 0%,#111b2f 52%,#09111f 100%);
  --mq-game-card-front:linear-gradient(165deg,#14223a 0%,#0b1424 100%);
  --mq-game-card-front-animal:#0a1322;
  --mq-game-card-shadow:0 5px 13px rgba(0,0,0,.36);
  --mq-game-progress-track:rgba(201,218,242,.13);
  --mq-game-progress-fill:linear-gradient(90deg,#80d7ff 0%,#7198f4 52%,#9a9dff 100%);
  --mq-game-active:#80d7ff;
  --mq-game-active-glow:rgba(128,215,255,.23);
  --mq-game-match:#82dcf7;
}

/* Application commune : aucune géométrie du plateau n'est modifiée. */
.mq-shell[data-skin] .mq-score-chip {
  color:var(--mq-game-hud-text);
  border-color:var(--mq-game-hud-border);
  background:var(--mq-game-hud-surface);
  box-shadow:0 4px 14px color-mix(in srgb,var(--mq-bg) 22%,rgba(0,0,0,.10)),inset 0 1px 0 rgba(255,255,255,.16);
}
.mq-shell[data-skin] .mq-score-chip small { color:var(--mq-game-hud-muted); }
.mq-shell[data-skin] .mq-score-chip strong { color:var(--mq-game-hud-text); }
.mq-shell[data-skin] .mq-score-chip.is-turn {
  border-color:var(--mq-game-active) !important;
  background:var(--mq-game-hud-active) !important;
  box-shadow:0 0 0 2px var(--mq-game-active-glow),0 5px 17px color-mix(in srgb,var(--mq-bg) 28%,rgba(0,0,0,.13));
}
.mq-shell[data-skin] .mq-score-chip.is-turn small,
.mq-shell[data-skin] .mq-score-chip.is-turn strong { color:var(--mq-game-hud-text); }
.mq-shell[data-skin] .mq-turn-dot {
  background:var(--mq-game-active);
  box-shadow:0 0 0 3px var(--mq-game-active-glow),0 0 10px var(--mq-game-active);
}
.mq-shell[data-skin] .mq-game-action {
  color:var(--mq-game-control-icon) !important;
  border:1px solid var(--mq-game-control-border) !important;
  background:var(--mq-game-control-bg) !important;
  box-shadow:0 4px 12px color-mix(in srgb,var(--mq-bg) 24%,rgba(0,0,0,.11)),inset 0 1px 0 rgba(255,255,255,.13);
}
.mq-shell[data-skin] .mq-game-action svg { color:var(--mq-game-control-icon) !important; filter:none; }
.mq-shell[data-skin] .mq-game-action:active { transform:scale(.93);box-shadow:0 2px 6px color-mix(in srgb,var(--mq-bg) 22%,rgba(0,0,0,.10)); }

.mq-shell[data-skin] .mq-board-wrap { isolation:isolate;border-radius:clamp(14px,2.5vmin,24px); }
.mq-shell[data-skin] .mq-board-wrap::before {
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;
  border:1px solid var(--mq-game-board-border);
  background:var(--mq-game-board-fill);
  box-shadow:var(--mq-game-board-shadow);
}
.mq-shell[data-skin] .mq-board { position:relative;z-index:1; }
.mq-shell[data-skin] .mq-face {
  border-color:var(--mq-game-card-border);
  box-shadow:var(--mq-game-card-shadow),inset 0 1px 0 rgba(255,255,255,.12);
}
.mq-shell[data-skin] .mq-back {
  background:var(--mq-game-card-back);
  box-shadow:var(--mq-game-card-shadow),inset 0 -12px 22px color-mix(in srgb,var(--mq-bg) 24%,transparent),inset 0 1px 0 rgba(255,255,255,.20);
}
.mq-shell[data-skin] .mq-front {
  background:var(--mq-game-card-front);
  box-shadow:var(--mq-game-card-shadow),inset 0 1px 0 rgba(255,255,255,.12);
}
.mq-shell[data-skin] .mq-board[data-category="animaux"] .mq-front { background:var(--mq-game-card-front-animal); }
.mq-shell[data-skin] .mq-card.is-done .mq-face {
  border-color:var(--mq-game-match);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--mq-game-match) 20%,transparent),0 0 18px color-mix(in srgb,var(--mq-game-match) 28%,transparent),var(--mq-game-card-shadow);
}
.mq-shell[data-skin] .mq-card.is-wrong .mq-face {
  border-color:var(--mq-game-error);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--mq-game-error) 18%,transparent),var(--mq-game-card-shadow);
}
.mq-shell[data-skin] .mq-game-progress {
  background:var(--mq-game-progress-track);
  box-shadow:inset 0 1px 3px color-mix(in srgb,var(--mq-bg) 20%,transparent);
}
.mq-shell[data-skin] .mq-game-progress i {
  background:var(--mq-game-progress-fill);
  box-shadow:0 0 9px color-mix(in srgb,var(--mq-game-active) 34%,transparent);
}
.mq-card-preview-layer[data-skin] .mq-card-preview-surface {
  border-color:var(--mq-game-card-border,var(--mq-border));
  background:var(--mq-game-card-front-animal,var(--mq-surface));
  box-shadow:0 18px 42px rgba(0,0,0,.30),0 0 0 3px color-mix(in srgb,var(--mq-game-active,var(--mq-accent)) 14%,transparent);
}

/* Réactions : le sélecteur et le message final restent visuellement dans le thème. */
.mq-shell[data-skin] .mq-game-popover {
  background:var(--mq-game-hud-surface);
  border-color:var(--mq-game-hud-border);
  box-shadow:0 18px 42px color-mix(in srgb,var(--mq-bg) 34%,rgba(0,0,0,.18)),inset 0 1px 0 rgba(255,255,255,.18);
}
.mq-shell[data-skin] .mq-reaction-tile {
  border-color:var(--mq-game-hud-border);
  background:color-mix(in srgb,var(--mq-surface) 88%,var(--mq-game-active) 12%);
}
.mq-shell[data-skin] .mq-reaction-bubble {
  border-color:color-mix(in srgb,var(--mq-game-active) 32%,var(--mq-game-hud-border));
  background:linear-gradient(105deg,color-mix(in srgb,var(--mq-surface) 90%,var(--mq-game-active) 10%),var(--mq-surface));
  box-shadow:0 8px 20px color-mix(in srgb,var(--mq-bg) 26%,rgba(0,0,0,.14)),inset 0 1px 0 rgba(255,255,255,.16);
}

/* Petits écrans : garder la lisibilité sans prendre de hauteur au plateau. */
@media (max-width:360px) {
  .mq-shell[data-skin] .mq-gamebar { gap:4px; }
  .mq-shell[data-skin] .mq-score-chip { border-radius:12px; }
  .mq-shell[data-skin] .mq-game-actions { gap:clamp(5px,1.6vw,8px); }
}
@media (max-height:640px) {
  .mq-shell[data-skin] .mq-board-wrap::before { box-shadow:inset 0 0 16px color-mix(in srgb,var(--mq-game-active) 5%,transparent); }
}

/* Les ajouts décoratifs ne doivent jamais imposer de mouvement. */
.mq-shell[data-skin="jade"][data-motion="calme"] .mq-back::after,
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-back::after { animation:none!important; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="jade"] .mq-back::after,
  .mq-shell[data-skin="ambre"] .mq-back::after { animation:none!important; }
}

/* =========================================================================
   MemoQuest v87 — AMBRE ULTRA PRO
   Direction artistique complète : soleil bas, cuivre, pierre chaude, ivoire.
   Objectif : supprimer tout héritage bleu/cyan/vert décoratif du gameplay
   sans altérer les couleurs sémantiques nécessaires à la compréhension.
   ========================================================================= */
.mq-shell[data-skin="ambre"] {
  --mq-bg:#edb866;
  --mq-bg-2:#d9893e;
  --mq-surface:#fff9ee;
  --mq-surface-raised:#fffdf8;
  --mq-surface-soft:#f7e5c9;
  --mq-surface-selected:#f4d7ab;
  --mq-text:#43250f;
  --mq-text-secondary:#68452a;
  --mq-text-muted:#806148;
  --mq-text-on-light:#43250f;
  --mq-text-on-dark:#fff9ee;
  --mq-accent:#914006;
  --mq-accent-strong:#733006;
  --mq-accent-2:#bf5d17;
  --mq-border:#dfbd8a;
  --mq-border-active:#b95a13;
  --mq-shadow:0 14px 34px rgba(92,45,10,.20);
  --mq-shadow-soft:0 6px 18px rgba(92,45,10,.13);
  --mq-glow:0 0 0 3px rgba(185,90,19,.17);
  --mq-button-bg:linear-gradient(135deg,#c76318 0%,#8f3c08 100%);
  --mq-button-edge:#6f2e06;

  --mq-game-hud-surface:linear-gradient(160deg,rgba(255,253,247,.98) 0%,rgba(249,229,197,.97) 100%);
  --mq-game-hud-active:linear-gradient(160deg,#fffdf6 0%,#ffe7b6 100%);
  --mq-game-hud-border:#dfb778;
  --mq-game-hud-text:#43250f;
  --mq-game-hud-muted:#765238;

  --mq-game-control-bg:linear-gradient(155deg,#fffaf0 0%,#f5ddb7 100%);
  --mq-game-control-border:#dfb779;
  --mq-game-control-icon:#7b3307;

  --mq-game-board-fill:
    radial-gradient(ellipse at 50% 0%,rgba(255,226,166,.15),transparent 38%),
    linear-gradient(180deg,rgba(112,48,8,.16) 0%,rgba(81,31,5,.25) 100%);
  --mq-game-board-border:rgba(255,230,184,.50);
  --mq-game-board-shadow:0 15px 34px rgba(104,48,9,.18),inset 0 0 28px rgba(255,211,122,.10);

  --mq-game-card-border:#fff0ce;
  --mq-game-card-back:
    radial-gradient(circle at 27% 17%,rgba(255,248,207,.33),transparent 28%),
    linear-gradient(160deg,#f8c766 0%,#df7725 48%,#9d3f0d 100%);
  --mq-game-card-front:linear-gradient(165deg,#fffaf0 0%,#f4ddba 100%);
  --mq-game-card-front-animal:#69300f;
  --mq-game-card-shadow:0 6px 15px rgba(91,39,7,.27);

  --mq-game-progress-track:rgba(77,34,8,.19);
  --mq-game-progress-fill:linear-gradient(90deg,#ffda77 0%,#ed9330 50%,#a74410 100%);
  --mq-game-active:#bd5711;
  --mq-game-active-glow:rgba(189,87,17,.24);
  --mq-game-match:#ffd36a;
  --mq-game-error:#cf4e3c;

  background:
    radial-gradient(circle at 51% 1%,rgba(255,249,211,.92) 0%,rgba(255,212,120,.42) 19%,transparent 43%),
    radial-gradient(ellipse at 7% 79%,rgba(168,69,14,.15),transparent 39%),
    radial-gradient(ellipse at 95% 87%,rgba(130,43,8,.13),transparent 37%),
    linear-gradient(180deg,#f4a84a 0%,#f7c66e 27%,#f3d49c 62%,#dfac73 100%);
}

/* Ambiance du plateau : soleil diffus + dunes, sans cyan ni vert décoratif. */
.mq-shell[data-skin="ambre"][data-screen="plateau"] .mq-ambiance::before {
  content:"";
  position:absolute;
  width:40vmax;
  height:40vmax;
  right:-14vmax;
  top:-18vmax;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,252,223,.70) 0 12%,rgba(255,216,130,.26) 26%,transparent 62%);
  opacity:.9;
  pointer-events:none;
}
.mq-shell[data-skin="ambre"][data-screen="plateau"] .mq-ambiance::after {
  content:"";
  position:absolute;
  left:-10%;
  right:-10%;
  bottom:-12%;
  height:36%;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 12% 100%,rgba(128,46,8,.17) 0 38%,transparent 39%),
    radial-gradient(ellipse at 62% 108%,rgba(173,76,18,.15) 0 45%,transparent 46%),
    radial-gradient(ellipse at 98% 105%,rgba(107,37,7,.14) 0 36%,transparent 37%);
  filter:blur(.2px);
}
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(1) {
  background:radial-gradient(ellipse,rgba(255,251,223,.50) 0%,transparent 64%);
}
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(2) {
  background:radial-gradient(circle,rgba(194,83,17,.15) 0%,transparent 62%);
}
.mq-shell[data-skin="ambre"] .mq-ambiance i:nth-child(3) {
  background:radial-gradient(ellipse,rgba(224,129,39,.17) 0%,transparent 62%);
}

/* Plateau : texture chaude très légère pour donner de la profondeur sans bruit visuel. */
.mq-shell[data-skin="ambre"] .mq-board-wrap::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:.36;
  background:
    radial-gradient(circle at 15% 22%,rgba(255,238,202,.16) 0 1px,transparent 1.5px),
    radial-gradient(circle at 78% 68%,rgba(255,238,202,.12) 0 1px,transparent 1.5px),
    linear-gradient(118deg,transparent 0 44%,rgba(255,223,161,.055) 45% 46%,transparent 47% 100%);
  background-size:34px 34px,42px 42px,100% 100%;
}

/* Carte fermée : emblème solaire original, cuivre/or et relief plus net. */
.mq-shell[data-skin="ambre"] .mq-face {
  border-color:var(--mq-game-card-border);
}
.mq-shell[data-skin="ambre"] .mq-back {
  background:var(--mq-game-card-back);
  box-shadow:var(--mq-game-card-shadow),inset 0 -16px 24px rgba(96,34,6,.17),inset 0 1px 0 rgba(255,255,255,.26);
}
.mq-shell[data-skin="ambre"] .mq-back::before {
  inset:21%;
  opacity:.96;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff7df' stroke-width='3.6' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='10.5'/%3E%3Cpath d='M32 6v8M32 50v8M6 32h8M50 32h8M13.6 13.6l5.7 5.7M44.7 44.7l5.7 5.7M50.4 13.6l-5.7 5.7M19.3 44.7l-5.7 5.7'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 3px 4px rgba(89,34,7,.34));
}
.mq-shell[data-skin="ambre"] .mq-back::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg,transparent 31%,rgba(255,247,205,.20) 47%,transparent 62%),
    radial-gradient(circle at 77% 24%,rgba(255,247,214,.25) 0 2px,transparent 3px),
    radial-gradient(circle at 21% 78%,rgba(255,236,190,.16) 0 1.5px,transparent 2.4px);
  opacity:.86;
}

/* Faces, erreur d'image et aperçu : aucun bleu de secours. */
.mq-shell[data-skin="ambre"] .mq-front {
  background:var(--mq-game-card-front);
}
.mq-shell[data-skin="ambre"] .mq-board[data-category="animaux"] .mq-front {
  background:var(--mq-game-card-front-animal);
}
.mq-shell[data-skin="ambre"] .mq-front .mq-card-fallback,
.mq-card-preview-layer[data-skin="ambre"] .mq-card-fallback {
  color:#fff8e8;
  background:
    radial-gradient(circle at 36% 20%,rgba(255,219,143,.20),transparent 36%),
    linear-gradient(155deg,#8b4314 0%,#642b0d 58%,#472006 100%);
  text-shadow:0 1px 2px rgba(52,20,3,.65);
}
.mq-card-preview-layer[data-skin="ambre"] .mq-card-preview-surface {
  border-color:#ffe8b9;
  background:linear-gradient(155deg,#7a3810 0%,#542507 68%,#3f1b05 100%);
  box-shadow:0 20px 44px rgba(74,29,5,.38),0 0 0 3px rgba(238,155,55,.18);
}

/* États de jeu : la réussite devient or, l'erreur reste clairement rouge. */
.mq-shell[data-skin="ambre"] .mq-card.is-done .mq-face {
  border-color:var(--mq-game-match);
  box-shadow:
    0 0 0 2px rgba(255,211,106,.22),
    0 0 20px rgba(239,153,47,.34),
    var(--mq-game-card-shadow);
}
.mq-shell[data-skin="ambre"] .mq-card.is-wrong .mq-face {
  border-color:var(--mq-game-error);
  box-shadow:0 0 0 2px rgba(207,78,60,.18),var(--mq-game-card-shadow);
}

/* HUD : ivoire, cuivre et or ; hiérarchie claire et contrastée. */
.mq-shell[data-skin="ambre"] .mq-score-chip {
  color:var(--mq-game-hud-text);
  border-color:var(--mq-game-hud-border);
  background:var(--mq-game-hud-surface);
  box-shadow:0 5px 16px rgba(97,46,8,.15),inset 0 1px 0 rgba(255,255,255,.52);
}
.mq-shell[data-skin="ambre"] .mq-score-chip.is-turn {
  border-color:var(--mq-game-active) !important;
  background:var(--mq-game-hud-active) !important;
  box-shadow:0 0 0 2px rgba(189,87,17,.14),0 6px 18px rgba(100,44,7,.17);
}
.mq-shell[data-skin="ambre"] .mq-turn-dot {
  background:var(--mq-game-active);
  box-shadow:0 0 0 3px rgba(189,87,17,.16),0 0 10px rgba(189,87,17,.48);
}
.mq-shell[data-skin="ambre"] .mq-game-progress {
  background:var(--mq-game-progress-track);
  box-shadow:inset 0 1px 3px rgba(78,34,7,.18);
}
.mq-shell[data-skin="ambre"] .mq-game-progress i {
  background:var(--mq-game-progress-fill);
  box-shadow:0 0 9px rgba(214,111,27,.35);
}

/* Contrôles : même famille visuelle, mais accents distincts pour Astuce/Réagir. */
.mq-shell[data-skin="ambre"] .mq-game-action {
  color:var(--mq-game-control-icon) !important;
  border-color:var(--mq-game-control-border) !important;
  background:var(--mq-game-control-bg) !important;
  box-shadow:0 5px 14px rgba(92,42,8,.14),inset 0 1px 0 rgba(255,255,255,.50);
}
.mq-shell[data-skin="ambre"] .mq-game-action svg {
  color:var(--mq-game-control-icon) !important;
  filter:none;
}
.mq-shell[data-skin="ambre"] .mq-game-action.is-tip svg { color:#a96012 !important; }
.mq-shell[data-skin="ambre"] .mq-game-action.is-reaction {
  background:linear-gradient(155deg,#fff9eb 0%,#f8d9a6 100%) !important;
  border-color:#dca963 !important;
}
.mq-shell[data-skin="ambre"] .mq-game-action.is-reaction svg { color:#a5480b !important; }

/* Réactions et attente multijoueur : suppression des surfaces menthe/teal historiques. */
.mq-shell[data-skin="ambre"] .mq-game-popover {
  background:linear-gradient(160deg,rgba(255,253,247,.99),rgba(248,226,190,.98));
  border-color:#ddb474;
  box-shadow:0 20px 46px rgba(88,38,7,.24),inset 0 1px 0 rgba(255,255,255,.55);
}
.mq-shell[data-skin="ambre"] .mq-reaction-tile {
  border-color:#e1bd85;
  background:linear-gradient(160deg,#fffaf0 0%,#f7e2c0 100%);
  box-shadow:0 5px 14px rgba(93,43,8,.09);
}
.mq-shell[data-skin="ambre"] .mq-reaction-tile:hover,
.mq-shell[data-skin="ambre"] .mq-reaction-tile:focus-visible {
  border-color:#bf651d;
  box-shadow:0 8px 18px rgba(125,54,8,.15);
}
.mq-shell[data-skin="ambre"] .mq-reaction-bubble {
  border-color:#d9aa67;
  background:linear-gradient(105deg,#fffaf0 0%,#f8dfb5 66%,#f4cf91 100%);
  box-shadow:0 9px 22px rgba(92,40,7,.17),inset 0 1px 0 rgba(255,255,255,.55);
}
.mq-shell[data-skin="ambre"] .mq-online-activity-wait {
  border-color:#dfb677;
  background:linear-gradient(150deg,#fffaf0 0%,#f7dfba 100%);
  color:#4b2a11;
  box-shadow:0 8px 20px rgba(91,40,7,.16);
}
.mq-shell[data-skin="ambre"] .mq-online-activity-wait > span svg { color:#a44b0b; }
.mq-shell[data-skin="ambre"] .mq-online-activity-wait > strong {
  background:#f5d6a5;
  color:#7a3307;
}

/* Cohérence des écrans de jeu auxiliaires sans altérer les codes vrai/faux. */
.mq-shell[data-skin="ambre"] .mq-game-setting-row > span,
.mq-shell[data-skin="ambre"] .mq-game-volume-row > span,
.mq-shell[data-skin="ambre"] .mq-game-rules > span {
  background:linear-gradient(145deg,#fff7e9,#f4ddbb);
  color:#9a4309;
}
.mq-shell[data-skin="ambre"] .mq-privacy-link {
  background:linear-gradient(135deg,#b95311,#8a3606);
  box-shadow:0 8px 18px rgba(117,48,6,.22);
}

/* Mouvement réduit : les ajouts Ambre restent statiques. */
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-ambiance::after,
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-back::after {
  animation:none !important;
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ambre"] .mq-ambiance::before,
  .mq-shell[data-skin="ambre"] .mq-ambiance::after,
  .mq-shell[data-skin="ambre"] .mq-back::after {
    animation:none !important;
  }
}

/* Petits écrans : garder un contour net sans épaissir le HUD. */
@media (max-width:360px), (max-height:640px) {
  .mq-shell[data-skin="ambre"] .mq-board-wrap::after { opacity:.24; }
  .mq-shell[data-skin="ambre"] .mq-score-chip { box-shadow:0 3px 10px rgba(92,42,8,.13),inset 0 1px 0 rgba(255,255,255,.45); }
  .mq-shell[data-skin="ambre"] .mq-game-action { box-shadow:0 3px 10px rgba(92,42,8,.12),inset 0 1px 0 rgba(255,255,255,.45); }
}

/* Correctif final aperçu en erreur : message centré, nom de carte masqué. */
.mq-card-preview-layer[data-skin="ambre"] .mq-card-preview-surface.is-image-error > .mq-card-fallback {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  border-radius:0;
  font-size:clamp(9px,2.4vmin,12px);
  line-height:1.18;
  font-weight:900;
  text-align:center;
  letter-spacing:.01em;
}
.mq-card-preview-layer[data-skin="ambre"] .mq-card-preview-surface.is-image-error > .mq-card-name {
  display:none !important;
}


/* =========================================================================
   MemoQuest v87 — AMBRE PREGAME PRO
   Parcours avant partie : expérience, difficulté, univers, format et mode.
   Objectif : aucune fuite bleu/turquoise du thème principal dans Ambre.
   ========================================================================= */
.mq-shell[data-skin="ambre"] {
  --mq-amber-ink:#4a2b12;
  --mq-amber-ink-soft:#765033;
  --mq-amber-muted:#9a7657;
  --mq-amber-copper:#a84d0a;
  --mq-amber-copper-deep:#7c3505;
  --mq-amber-orange:#e87820;
  --mq-amber-gold:#f1a437;
  --mq-amber-gold-hi:#ffd983;
  --mq-amber-ivory:#fffaf0;
  --mq-amber-cream:#f8e4c2;
  --mq-amber-sand:#edc996;
  --mq-amber-line:#d8a761;
  --mq-amber-line-soft:rgba(171,93,24,.24);
  --mq-amber-shadow:rgba(92,42,8,.16);
  --mq-amber-shadow-strong:rgba(78,31,5,.23);
}

/* Fond du parcours : canyon lumineux et sable, pas de cyan décoratif. */
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] {
  background:
    radial-gradient(circle at 50% -7%,rgba(255,251,220,.96) 0%,rgba(255,216,132,.55) 18%,transparent 40%),
    radial-gradient(ellipse at 7% 89%,rgba(170,72,14,.17),transparent 34%),
    radial-gradient(ellipse at 96% 94%,rgba(124,49,7,.15),transparent 34%),
    linear-gradient(180deg,#f5a343 0%,#f8c56d 25%,#f5d69f 58%,#e9c493 100%);
}
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] .mq-ambiance i:nth-child(1) {
  background:radial-gradient(ellipse,rgba(255,252,226,.54) 0%,transparent 64%);
}
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] .mq-ambiance i:nth-child(2) {
  background:radial-gradient(circle,rgba(191,78,14,.14) 0%,transparent 62%);
}
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] .mq-ambiance i:nth-child(3) {
  background:radial-gradient(ellipse,rgba(235,145,51,.17) 0%,transparent 62%);
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="miseEnPlace"]::before {
  background:
    radial-gradient(circle at 88% 18%,rgba(255,252,225,.30),transparent 25%),
    radial-gradient(circle at 12% 76%,rgba(166,70,12,.075),transparent 28%),
    linear-gradient(155deg,transparent 0 31%,rgba(255,247,218,.16) 31.5% 32.1%,transparent 32.6% 100%);
}

/* Chrome avant partie : surfaces chaudes et ombres cuivre. */
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] .mq-top,
.mq-shell[data-skin="ambre"][data-screen="miseEnPlace"] .mq-nav {
  background:linear-gradient(180deg,rgba(255,250,240,.96),rgba(250,229,196,.94));
  border-color:rgba(199,132,60,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 10px 26px rgba(94,41,7,.15);
}
.mq-shell[data-skin="ambre"] .mq-xp { background:#ead1ab; }
.mq-shell[data-skin="ambre"] .mq-xp i {
  background:linear-gradient(90deg,#ffd26f 0%,#ee962f 52%,#b84f0d 100%);
  box-shadow:0 0 8px rgba(216,109,25,.25);
}
.mq-shell[data-skin="ambre"] .mq-chip,
.mq-shell[data-skin="ambre"] .mq-icon-btn {
  color:var(--mq-amber-ink);
  background:linear-gradient(145deg,#fffaf0,#f5ddba);
  border-color:#dfb67b;
  box-shadow:0 4px 12px rgba(92,42,8,.10),inset 0 1px 0 rgba(255,255,255,.55);
}
.mq-shell[data-skin="ambre"] .mq-chip .mq-plus {
  color:#fff9ed;
  background:linear-gradient(145deg,#d76716,#9b3f08);
  box-shadow:0 4px 10px rgba(124,53,5,.22);
}
.mq-shell[data-skin="ambre"] .mq-nav button { color:#8b684b; }
.mq-shell[data-skin="ambre"] .mq-nav button.is-on {
  color:#8d3b07;
  background:linear-gradient(180deg,#fff3dc,#f4d3a2);
}
.mq-shell[data-skin="ambre"] .mq-nav button.is-on::after {
  background:linear-gradient(90deg,#f1aa3e,#b84e0c);
  box-shadow:0 0 8px rgba(185,78,12,.28);
}

/* En-tête de chaque étape. */
.mq-shell[data-skin="ambre"] .mq-setup-back {
  color:#7d3506;
  background:linear-gradient(145deg,rgba(255,252,245,.98),rgba(247,224,189,.96));
  border-color:rgba(218,163,94,.64);
  box-shadow:inset 0 2px 1px rgba(255,255,255,.76),0 7px 18px rgba(94,40,6,.14);
}
.mq-shell[data-skin="ambre"] .mq-setup-back:active {
  box-shadow:0 3px 9px rgba(94,40,6,.12);
}
.mq-shell[data-skin="ambre"] .mq-setup-copy .mq-eyebrow {
  color:#a94b0a;
  text-shadow:0 1px 0 rgba(255,249,229,.35);
}
.mq-shell[data-skin="ambre"] .mq-setup-copy .mq-title {
  color:#4b2a10;
  text-shadow:0 2px 0 rgba(255,247,221,.48);
}
.mq-shell[data-skin="ambre"] .mq-setup-head.is-centered .mq-setup-copy .mq-title::after,
.mq-shell[data-skin="ambre"] .mq-setup-head.is-inline .mq-setup-copy .mq-title::after {
  background:linear-gradient(90deg,#ffd26e 0%,#e98d2c 54%,#a84608 100%);
  box-shadow:0 2px 7px rgba(167,71,8,.18);
}
.mq-shell[data-skin="ambre"] .mq-setup-steps i {
  background:rgba(140,70,18,.16);
  box-shadow:inset 0 1px 2px rgba(91,39,6,.10);
}
.mq-shell[data-skin="ambre"] .mq-setup-steps i.is-on {
  background:linear-gradient(100deg,#ffd46f 0%,#eb922f 55%,#b94e0c 100%);
  box-shadow:0 2px 8px rgba(187,78,11,.24);
}

/* Compteur du carrousel : ivoire/cuivre. */
.mq-shell[data-skin="ambre"] .mq-univers-counter {
  color:#5b3418;
  background:linear-gradient(145deg,rgba(255,252,245,.97),rgba(247,224,188,.96));
  border:1px solid rgba(213,157,87,.45);
  box-shadow:0 6px 16px rgba(91,39,6,.13),inset 0 1px 0 rgba(255,255,255,.60);
}
.mq-shell[data-skin="ambre"] .mq-univers-counter b { color:#a84708; }

/* Atmosphère du carrousel : tons soleil/canyon, même si la catégorie a sa palette propre. */
.mq-shell[data-skin="ambre"] .mq-univers-aura {
  background:
    radial-gradient(ellipse 70% 45% at 50% 38%,rgba(255,213,121,.40) 0%,transparent 100%),
    radial-gradient(ellipse 80% 40% at 50% 78%,rgba(173,70,10,.16) 0%,transparent 100%);
}
.mq-shell[data-skin="ambre"] .mq-univers-layer.is-blobs i {
  background:radial-gradient(circle at 40% 35%,rgba(255,250,222,.48),rgba(232,149,60,.055) 60%,transparent 70%);
}
.mq-shell[data-skin="ambre"] .mq-univers-layer.is-rings i { border-color:rgba(151,73,17,.17); }
.mq-shell[data-skin="ambre"] .mq-univers-layer.is-rings b,
.mq-shell[data-skin="ambre"] .mq-univers-twinkle {
  background:radial-gradient(circle,#fff8d9 0 28%,rgba(244,174,73,.52) 50%,transparent 75%);
}
.mq-shell[data-skin="ambre"] .mq-univers-streak {
  background:linear-gradient(90deg,transparent,rgba(255,228,154,.44),transparent);
}

/* Carte de mode/catégorie/difficulté : surface chaude, relief sans ombre bleue. */
.mq-shell[data-skin="ambre"] .mq-univers-body {
  background:linear-gradient(165deg,rgba(255,252,244,.985),rgba(247,226,195,.94));
  border:1px solid rgba(220,170,105,.60);
  box-shadow:0 24px 48px rgba(88,36,5,.20),inset 0 1px 0 rgba(255,255,255,.78);
}
.mq-shell[data-skin="ambre"] .mq-univers-body::before {
  background:radial-gradient(ellipse at 50% 15%,rgba(255,205,109,.26) 0%,transparent 58%);
  opacity:.72;
}
.mq-shell[data-skin="ambre"] .mq-univers-floor {
  background:radial-gradient(ellipse,rgba(91,38,6,.23),transparent 70%);
}
.mq-shell[data-skin="ambre"] .mq-univers-dim { background:rgba(124,72,37,.22); }
.mq-shell[data-skin="ambre"] .mq-univers-ring { border-color:#d36c18; }
.mq-shell[data-skin="ambre"] .mq-univers-name { color:#4a2b12; }
.mq-shell[data-skin="ambre"] .mq-univers-name em { color:#8b664a; }
.mq-shell[data-skin="ambre"] .mq-univers-sub {
  color:#765033;
  background:rgba(139,72,19,.09);
}
.mq-shell[data-skin="ambre"] .mq-univers-sub.is-locked {
  color:#7c480e;
  background:rgba(224,151,50,.18);
}
.mq-shell[data-skin="ambre"] .mq-univers-pill {
  color:#fffaf0;
  background:linear-gradient(120deg,#d66c18 0%,#a74408 100%);
  box-shadow:0 6px 14px rgba(105,43,5,.18);
}
.mq-shell[data-skin="ambre"] .mq-univers-tag {
  background:linear-gradient(120deg,#f09b34,#c4540d);
  box-shadow:0 6px 14px rgba(160,68,9,.28);
}
.mq-shell[data-skin="ambre"] .mq-univers-lock {
  color:#914106;
  background:linear-gradient(145deg,#fff9e9,#f1d39f);
  box-shadow:0 6px 14px rgba(91,39,6,.16);
}
.mq-shell[data-skin="ambre"] .mq-univers-arrow {
  color:#783206;
  background:linear-gradient(145deg,rgba(255,252,244,.96),rgba(245,220,181,.95));
  border:1px solid rgba(213,157,87,.45);
  box-shadow:0 8px 20px rgba(91,39,6,.14);
}
.mq-shell[data-skin="ambre"] .mq-univers-dots i { background:rgba(113,60,19,.20); }
.mq-shell[data-skin="ambre"] .mq-univers-dots i.is-on {
  background:linear-gradient(90deg,#efaa43,#b84c09);
  box-shadow:0 2px 7px rgba(163,66,7,.20);
}
.mq-shell[data-skin="ambre"] .mq-univers-danger i { background:rgba(116,65,26,.15); }
.mq-shell[data-skin="ambre"] .mq-univers-danger i.is-on,
.mq-shell[data-skin="ambre"] .mq-univers-stats b i {
  background:linear-gradient(90deg,#f1b04e,#b94d0a);
}
.mq-shell[data-skin="ambre"] .mq-univers-stats { color:#816047; }
.mq-shell[data-skin="ambre"] .mq-univers-stats b { background:rgba(100,55,20,.11); }
.mq-shell[data-skin="ambre"] .mq-univers-rim {
  box-shadow:inset 0 0 0 2px #c85b10,inset 0 0 26px rgba(213,102,20,.33);
}

/* Formats de grille : suppression du cyan/bleu historique. */
.mq-shell[data-skin="ambre"] .mq-view[data-view="miseEnPlace"] .mq-carreau {
  background:linear-gradient(145deg,#fffaf0 0%,#f6dfba 100%);
  border-color:rgba(255,248,230,.96);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.78),0 9px 22px rgba(91,39,6,.13),0 2px 4px rgba(91,39,6,.05);
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  border-color:#bd5911;
  background:linear-gradient(145deg,#fff9eb 0%,#f4d39f 100%);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.82),0 0 0 2px rgba(189,89,17,.16),0 12px 27px rgba(126,49,5,.16);
}
.mq-shell[data-skin="ambre"] .mq-carreau[aria-checked="true"]::after {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffaf0' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
    radial-gradient(circle at 34% 24%,#ffc968 0%,#dd761e 50%,#9e3f07 100%);
  border-color:#fff3d4;
  box-shadow:0 7px 15px rgba(133,51,5,.28),0 0 0 3px rgba(214,114,27,.14);
}
.mq-shell[data-skin="ambre"] .mq-carreau strong { color:#4c2b12; }
.mq-shell[data-skin="ambre"] .mq-carreau small { color:#7c5a40; }
.mq-shell[data-skin="ambre"] .mq-carreau-ico {
  color:#9b4208;
  background:linear-gradient(145deg,#fffaf0,#f5d8aa);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.75),0 7px 16px rgba(91,39,6,.13);
}
.mq-shell[data-skin="ambre"] .mq-mini-grille {
  background:linear-gradient(145deg,#fff9ed,#f0cf9d);
  box-shadow:inset 0 2px 2px rgba(255,255,255,.72),0 5px 12px rgba(91,39,6,.10);
}
.mq-shell[data-skin="ambre"] .mq-mini-grille i {
  background:linear-gradient(145deg,#f5b64d,#c95b12);
  box-shadow:inset 0 1px 0 rgba(255,248,221,.50);
}

/* CTA : même langage cuivre/or que le reste du parcours. */
.mq-shell[data-skin="ambre"] .mq-setup-foot .mq-btn {
  color:#fffaf0;
  background-image:linear-gradient(105deg,#e87920 0%,#b84d0a 100%);
  box-shadow:0 5px 0 #7e3105,0 12px 25px rgba(116,43,5,.27),inset 0 2px 0 rgba(255,255,255,.34);
}
.mq-shell[data-skin="ambre"] .mq-setup-foot .mq-btn.is-unlock {
  background:linear-gradient(105deg,#f0a038,#c75a0e) !important;
  box-shadow:0 5px 0 #873703,0 12px 25px rgba(142,57,3,.27),inset 0 2px 0 rgba(255,255,255,.34) !important;
}

/* Petits écrans : conserver le relief sans saturer l'espace. */
@media (max-width:360px), (max-height:640px) {
  .mq-shell[data-skin="ambre"] .mq-univers-body { box-shadow:0 14px 28px rgba(88,36,5,.17),inset 0 1px 0 rgba(255,255,255,.72); }
  .mq-shell[data-skin="ambre"] .mq-univers-arrow { box-shadow:0 5px 13px rgba(91,39,6,.12); }
  .mq-shell[data-skin="ambre"] .mq-view[data-view="miseEnPlace"] .mq-carreau { box-shadow:inset 0 1px 1px rgba(255,255,255,.72),0 5px 14px rgba(91,39,6,.11); }
}

/* Réduction de mouvement : aucune animation décorative ajoutée. */
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-univers-twinkle,
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-univers-streak,
.mq-shell[data-skin="ambre"][data-motion="calme"] .mq-univers-card.is-active .mq-univers-art img {
  animation:none !important;
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ambre"] .mq-univers-twinkle,
  .mq-shell[data-skin="ambre"] .mq-univers-streak,
  .mq-shell[data-skin="ambre"] .mq-univers-card.is-active .mq-univers-art img {
    animation:none !important;
  }
}

/* =========================================================================
   MemoQuest v87 — NUIT ULTRA PRO
   Source finale du thème Nuit : ciel profond, indigo, cyan lunaire, argent.
   Couvre gameplay + parcours avant partie sans modifier la logique de jeu.
   ========================================================================= */
.mq-shell[data-skin="nuit"] {
  --mq-bg:#060b15;
  --mq-bg-2:#0b1426;
  --mq-surface:#111c2f;
  --mq-surface-raised:#17263e;
  --mq-surface-soft:#1b2b45;
  --mq-surface-selected:#203653;
  --mq-text:#f6f8ff;
  --mq-text-secondary:#c5d0e5;
  --mq-text-muted:#94a4c1;
  --mq-text-on-light:#101a2c;
  --mq-text-on-dark:#f6f8ff;
  --mq-accent:#86dcff;
  --mq-accent-strong:#57bde8;
  --mq-accent-2:#8794ff;
  --mq-border:#3d5274;
  --mq-border-active:#86dcff;
  --mq-success:#78d893;
  --mq-error:#ff879b;
  --mq-warning:#ffd27b;
  --mq-locked:#8492ad;
  --mq-shadow:0 16px 38px rgba(0,0,0,.42);
  --mq-shadow-soft:0 7px 20px rgba(0,0,0,.28);
  --mq-glow:0 0 0 3px rgba(134,220,255,.18);
  --mq-button-bg:linear-gradient(135deg,#317ea9 0%,#5667cb 100%);
  --mq-button-edge:#284e78;
  --mq-button-text:#ffffff;

  --mq-game-hud-surface:linear-gradient(160deg,rgba(24,39,64,.98) 0%,rgba(12,21,37,.98) 100%);
  --mq-game-hud-active:linear-gradient(160deg,#203b5c 0%,#13243d 100%);
  --mq-game-hud-border:#435d82;
  --mq-game-hud-text:#f8fbff;
  --mq-game-hud-muted:#bac7dd;
  --mq-game-control-bg:linear-gradient(155deg,#1c304e 0%,#101d32 100%);
  --mq-game-control-border:#456183;
  --mq-game-control-icon:#9ee7ff;
  --mq-game-board-fill:
    radial-gradient(ellipse at 50% 0%,rgba(106,156,222,.07),transparent 42%),
    linear-gradient(180deg,rgba(5,11,24,.48),rgba(2,6,14,.66));
  --mq-game-board-border:rgba(133,190,236,.22);
  --mq-game-board-shadow:0 16px 38px rgba(0,0,0,.42),inset 0 0 30px rgba(134,220,255,.045);
  --mq-game-card-border:#9fb6d1;
  --mq-game-card-back:
    radial-gradient(circle at 50% 42%,rgba(91,147,210,.11),transparent 43%),
    linear-gradient(160deg,#1b2d49 0%,#101b31 55%,#08111f 100%);
  --mq-game-card-front:linear-gradient(165deg,#14243b 0%,#0a1425 100%);
  --mq-game-card-front-animal:#08111f;
  --mq-game-card-shadow:0 6px 16px rgba(0,0,0,.40);
  --mq-game-progress-track:rgba(197,217,242,.13);
  --mq-game-progress-fill:linear-gradient(90deg,#8ce3ff 0%,#6ea1f6 50%,#8d91ff 100%);
  --mq-game-active:#8be2ff;
  --mq-game-active-glow:rgba(139,226,255,.23);
  --mq-game-match:#8de3ff;
  --mq-game-error:#ff879b;

  background:
    radial-gradient(circle at 78% 7%,rgba(122,171,240,.11) 0%,transparent 24%),
    radial-gradient(ellipse at 16% 78%,rgba(79,91,179,.10),transparent 36%),
    linear-gradient(180deg,#070c17 0%,#0a1323 34%,#0b1425 66%,#050a13 100%);
  color-scheme:dark;
}

/* Atmosphère : lune discrète, étoiles froides et brume indigo. */
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(1) {
  background:radial-gradient(ellipse,rgba(147,205,255,.10) 0%,transparent 66%);
}
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(2) {
  background:radial-gradient(circle,rgba(103,113,220,.105) 0%,transparent 64%);
}
.mq-shell[data-skin="nuit"] .mq-ambiance i:nth-child(3) {
  background:radial-gradient(ellipse,rgba(101,196,231,.08) 0%,transparent 66%);
}
.mq-shell[data-skin="nuit"][data-screen="plateau"] .mq-board-wrap::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  border-radius:inherit;
  opacity:.42;
  background:
    radial-gradient(circle at 17% 21%,rgba(227,247,255,.16) 0 1px,transparent 1.5px),
    radial-gradient(circle at 80% 69%,rgba(160,213,255,.12) 0 1px,transparent 1.5px),
    radial-gradient(circle at 61% 31%,rgba(255,255,255,.10) 0 1px,transparent 1.5px);
  background-size:36px 36px,46px 46px,58px 58px;
}

/* Cartes : une seule identité lunaire, sans surface blanche parasite. */
.mq-shell[data-skin="nuit"] .mq-face { border-color:var(--mq-game-card-border); }
.mq-shell[data-skin="nuit"] .mq-back {
  background:var(--mq-game-card-back)!important;
  border-color:var(--mq-game-card-border)!important;
  box-shadow:var(--mq-game-card-shadow),inset 0 -16px 24px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.mq-shell[data-skin="nuit"] .mq-back::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:inherit!important;
  pointer-events:none!important;
  opacity:1!important;
  filter:none!important;
  background:
    radial-gradient(circle at 20% 22%,rgba(255,255,255,.30) 0 1px,transparent 1.6px),
    radial-gradient(circle at 78% 29%,rgba(158,228,255,.25) 0 1px,transparent 1.7px),
    radial-gradient(circle at 73% 78%,rgba(255,255,255,.21) 0 1px,transparent 1.6px),
    radial-gradient(circle at 27% 74%,rgba(143,169,255,.19) 0 1px,transparent 1.7px),
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 30%,transparent 74%,rgba(131,220,246,.035))!important;
}
.mq-shell[data-skin="nuit"] .mq-back::after {
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:36%!important;
  aspect-ratio:1!important;
  transform:translate(-50%,-50%)!important;
  border-radius:50%!important;
  pointer-events:none!important;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 96' fill='none'%3E%3Ccircle cx='48' cy='48' r='38' stroke='%235c7697' stroke-width='1.5' opacity='.42'/%3E%3Cpath d='M61.5 23.5c-12 4.3-20.5 15.7-20.5 29.1 0 11.8 6.6 22 16.3 27.2-2.9.9-6 1.4-9.2 1.4-17.4 0-31.5-14.1-31.5-31.5S30.7 18.2 48.1 18.2c4.8 0 9.3 1.1 13.4 3v2.3Z' fill='%23e8f8ff' opacity='.96'/%3E%3Cpath d='m69 29 2.2 6.8L78 38l-6.8 2.2L69 47l-2.2-6.8L60 38l6.8-2.2L69 29Z' fill='%238ee5ff'/%3E%3Ccircle cx='72' cy='59' r='2.5' fill='%23f4fbff'/%3E%3Ccircle cx='25' cy='28' r='1.8' fill='%239edff3'/%3E%3C/svg%3E")!important;
  opacity:.97!important;
  filter:drop-shadow(0 0 8px rgba(124,214,249,.24))!important;
}
.mq-shell[data-skin="nuit"] .mq-front { background:var(--mq-game-card-front); }
.mq-shell[data-skin="nuit"] .mq-board[data-category="animaux"] .mq-front { background:var(--mq-game-card-front-animal); }
.mq-shell[data-skin="nuit"] .mq-front .mq-card-fallback,
.mq-card-preview-layer[data-skin="nuit"] .mq-card-fallback {
  color:#f5f9ff;
  background:
    radial-gradient(circle at 35% 20%,rgba(117,197,239,.16),transparent 36%),
    linear-gradient(155deg,#172a45 0%,#0e1a30 58%,#070f1d 100%);
  text-shadow:0 1px 2px rgba(0,0,0,.76);
}
.mq-card-preview-layer[data-skin="nuit"] .mq-card-preview-surface {
  border-color:#98b7d5;
  background:linear-gradient(155deg,#172a45 0%,#0d1930 68%,#07101d 100%);
  box-shadow:0 22px 48px rgba(0,0,0,.52),0 0 0 3px rgba(134,220,255,.12);
}
.mq-card-preview-layer[data-skin="nuit"] .mq-card-preview-surface.is-image-error > .mq-card-fallback {
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;border-radius:0;
  font-size:clamp(9px,2.4vmin,12px);line-height:1.18;font-weight:900;text-align:center;letter-spacing:.01em;
}
.mq-card-preview-layer[data-skin="nuit"] .mq-card-preview-surface.is-image-error > .mq-card-name { display:none!important; }

/* HUD : le joueur actif reste sombre, uniquement souligné par la lumière lunaire. */
.mq-shell[data-skin="nuit"] .mq-score-chip {
  color:var(--mq-game-hud-text);
  border-color:var(--mq-game-hud-border);
  background:var(--mq-game-hud-surface);
  box-shadow:0 5px 17px rgba(0,0,0,.29),inset 0 1px 0 rgba(255,255,255,.045);
}
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn {
  color:var(--mq-game-hud-text)!important;
  border-color:var(--mq-game-active)!important;
  background:var(--mq-game-hud-active)!important;
  box-shadow:0 0 0 2px rgba(139,226,255,.13),0 7px 21px rgba(0,0,0,.32)!important;
}
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn small,
.mq-shell[data-skin="nuit"] .mq-score-chip.is-turn strong { color:var(--mq-game-hud-text)!important; }
.mq-shell[data-skin="nuit"] .mq-turn-dot {
  background:var(--mq-game-active);
  box-shadow:0 0 0 3px rgba(139,226,255,.14),0 0 11px rgba(139,226,255,.52);
}
.mq-shell[data-skin="nuit"] .mq-game-progress {
  background:var(--mq-game-progress-track);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.30);
}
.mq-shell[data-skin="nuit"] .mq-game-progress i {
  background:var(--mq-game-progress-fill);
  box-shadow:0 0 10px rgba(126,193,255,.38);
}
.mq-shell[data-skin="nuit"] .mq-card.is-done .mq-face {
  border-color:var(--mq-game-match);
  box-shadow:0 0 0 2px rgba(141,227,255,.17),0 0 19px rgba(113,151,246,.28),var(--mq-game-card-shadow);
}
.mq-shell[data-skin="nuit"] .mq-card.is-wrong .mq-face {
  border-color:var(--mq-game-error);
  box-shadow:0 0 0 2px rgba(255,135,155,.15),var(--mq-game-card-shadow);
}

/* Contrôles et réactions : surfaces nocturnes homogènes. */
.mq-shell[data-skin="nuit"] .mq-game-action {
  color:var(--mq-game-control-icon)!important;
  border-color:var(--mq-game-control-border)!important;
  background:var(--mq-game-control-bg)!important;
  box-shadow:0 5px 15px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.mq-shell[data-skin="nuit"] .mq-game-action svg { color:var(--mq-game-control-icon)!important;filter:none!important; }
.mq-shell[data-skin="nuit"] .mq-game-action.is-tip svg { color:#c3c8ff!important; }
.mq-shell[data-skin="nuit"] .mq-game-action.is-reaction {
  background:linear-gradient(155deg,#1d3150 0%,#111f36 100%)!important;
  border-color:#4a688d!important;
}
.mq-shell[data-skin="nuit"] .mq-game-popover {
  background:linear-gradient(160deg,rgba(24,39,64,.99),rgba(11,20,36,.99));
  border-color:#415a7d;
  box-shadow:0 22px 50px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.045);
}
.mq-shell[data-skin="nuit"] .mq-reaction-tile {
  border-color:#3e5677;
  background:linear-gradient(160deg,#192b46 0%,#101c30 100%);
  box-shadow:0 6px 15px rgba(0,0,0,.22);
}
.mq-shell[data-skin="nuit"] .mq-reaction-tile:hover,
.mq-shell[data-skin="nuit"] .mq-reaction-tile:focus-visible {
  border-color:#75cbed;
  box-shadow:0 9px 20px rgba(0,0,0,.30),0 0 0 2px rgba(134,220,255,.08);
}
.mq-shell[data-skin="nuit"] .mq-reaction-bubble {
  border-color:#4f6c91;
  background:linear-gradient(105deg,#1c304d 0%,#13243c 66%,#111c31 100%);
  box-shadow:0 10px 24px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045);
}
.mq-shell[data-skin="nuit"] .mq-online-activity-wait {
  border-color:#405a7b;
  background:linear-gradient(150deg,#172a45 0%,#0d1a2f 100%);
  color:#f5f8ff;
  box-shadow:0 9px 22px rgba(0,0,0,.33);
}
.mq-shell[data-skin="nuit"] .mq-online-activity-wait > span svg { color:#8ce3ff; }
.mq-shell[data-skin="nuit"] .mq-online-activity-wait > strong { background:#203653;color:#dfeeff; }

/* ---------- Parcours avant partie ---------- */
.mq-shell[data-skin="nuit"][data-screen="miseEnPlace"] .mq-top,
.mq-shell[data-skin="nuit"][data-screen="miseEnPlace"] .mq-nav {
  background:linear-gradient(180deg,rgba(16,27,47,.97),rgba(8,16,30,.96));
  border-color:rgba(78,104,143,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 11px 28px rgba(0,0,0,.34);
}
.mq-shell[data-skin="nuit"] .mq-xp { background:#1c2b43; }
.mq-shell[data-skin="nuit"] .mq-xp i {
  background:linear-gradient(90deg,#8ce3ff 0%,#6da5f7 50%,#8d91ff 100%);
  box-shadow:0 0 9px rgba(126,193,255,.25);
}
.mq-shell[data-skin="nuit"] .mq-chip,
.mq-shell[data-skin="nuit"] .mq-icon-btn {
  color:#f5f8ff;
  background:linear-gradient(145deg,#192b45,#101c31);
  border-color:#3e5576;
  box-shadow:0 5px 13px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
}
.mq-shell[data-skin="nuit"] .mq-chip .mq-plus {
  color:#07101d;
  background:linear-gradient(145deg,#a6edff,#7e91ff);
  box-shadow:0 5px 12px rgba(60,88,180,.26);
}
.mq-shell[data-skin="nuit"] .mq-nav button { color:#8797b3; }
.mq-shell[data-skin="nuit"] .mq-nav button.is-on {
  color:#a4e9ff;
  background:linear-gradient(180deg,#1c304d,#132239);
}
.mq-shell[data-skin="nuit"] .mq-nav button.is-on::after {
  background:linear-gradient(90deg,#8ce3ff,#818eff);
  box-shadow:0 0 9px rgba(139,226,255,.34);
}

.mq-shell[data-skin="nuit"] .mq-setup-back {
  color:#dff4ff;
  background:linear-gradient(145deg,rgba(25,43,69,.98),rgba(13,24,42,.97));
  border-color:rgba(73,101,140,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 8px 20px rgba(0,0,0,.31);
}
.mq-shell[data-skin="nuit"] .mq-setup-back:active { box-shadow:0 4px 10px rgba(0,0,0,.25); }
.mq-shell[data-skin="nuit"] .mq-setup-copy .mq-eyebrow { color:#8edfff;text-shadow:0 0 12px rgba(134,220,255,.12); }
.mq-shell[data-skin="nuit"] .mq-setup-copy .mq-title { color:#f8fbff;text-shadow:0 3px 14px rgba(0,0,0,.40); }
.mq-shell[data-skin="nuit"] .mq-setup-head.is-centered .mq-setup-copy .mq-title::after,
.mq-shell[data-skin="nuit"] .mq-setup-head.is-inline .mq-setup-copy .mq-title::after {
  background:linear-gradient(90deg,#8de5ff 0%,#6da4f6 52%,#8e91ff 100%);
  box-shadow:0 2px 9px rgba(113,159,244,.24);
}
.mq-shell[data-skin="nuit"] .mq-setup-steps i {
  background:rgba(147,169,207,.15);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.26);
}
.mq-shell[data-skin="nuit"] .mq-setup-steps i.is-on {
  background:linear-gradient(100deg,#8de5ff 0%,#6da4f6 52%,#8e91ff 100%);
  box-shadow:0 2px 9px rgba(113,159,244,.28);
}

.mq-shell[data-skin="nuit"] .mq-univers-counter {
  color:#dbe8f9;
  background:linear-gradient(145deg,rgba(25,43,69,.98),rgba(13,24,42,.97));
  border:1px solid rgba(70,98,137,.63);
  box-shadow:0 7px 18px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.035);
}
.mq-shell[data-skin="nuit"] .mq-univers-counter b { color:#9ee7ff; }

/* Ambiance du carrousel : ciel nocturne ; les illustrations gardent leurs couleurs de contenu. */
.mq-shell[data-skin="nuit"] .mq-univers-aura {
  background:
    radial-gradient(ellipse 70% 45% at 50% 36%,rgba(111,177,243,.17) 0%,transparent 100%),
    radial-gradient(ellipse 80% 42% at 50% 79%,rgba(91,90,194,.12) 0%,transparent 100%);
}
.mq-shell[data-skin="nuit"] .mq-univers-layer.is-blobs i {
  background:radial-gradient(circle at 40% 35%,rgba(169,225,255,.14),rgba(91,118,207,.035) 60%,transparent 70%);
}
.mq-shell[data-skin="nuit"] .mq-univers-layer.is-rings i { border-color:rgba(132,190,235,.14); }
.mq-shell[data-skin="nuit"] .mq-univers-layer.is-rings b,
.mq-shell[data-skin="nuit"] .mq-univers-twinkle {
  background:radial-gradient(circle,#eaf9ff 0 24%,rgba(124,202,243,.52) 43%,transparent 74%);
}
.mq-shell[data-skin="nuit"] .mq-univers-streak {
  background:linear-gradient(90deg,transparent,rgba(153,211,255,.24),transparent);
}

/* Carte de choix : sombre, lisible, relief froid. */
.mq-shell[data-skin="nuit"] .mq-univers-body {
  background:linear-gradient(165deg,rgba(24,42,68,.985),rgba(11,21,38,.97));
  border:1px solid rgba(71,99,139,.62);
  box-shadow:0 26px 52px rgba(0,0,0,.40),inset 0 1px 0 rgba(255,255,255,.035);
}
.mq-shell[data-skin="nuit"] .mq-univers-body::before {
  background:radial-gradient(ellipse at 50% 14%,rgba(111,184,239,.13) 0%,transparent 58%);
  opacity:.78;
}
.mq-shell[data-skin="nuit"] .mq-univers-floor { background:radial-gradient(ellipse,rgba(0,0,0,.42),transparent 70%); }
.mq-shell[data-skin="nuit"] .mq-univers-dim { background:rgba(2,7,17,.36); }
.mq-shell[data-skin="nuit"] .mq-univers-ring { border-color:#79caeb; }
.mq-shell[data-skin="nuit"] .mq-univers-name { color:#f7faff; }
.mq-shell[data-skin="nuit"] .mq-univers-name em { color:#b3c1da; }
.mq-shell[data-skin="nuit"] .mq-univers-sub { color:#c0cbe0;background:rgba(140,177,224,.09); }
.mq-shell[data-skin="nuit"] .mq-univers-sub.is-locked { color:#e0c98d;background:rgba(229,190,93,.12); }
.mq-shell[data-skin="nuit"] .mq-univers-pill {
  color:#06101d;
  background:linear-gradient(120deg,#9eeaff 0%,#7c8ef4 100%);
  box-shadow:0 7px 16px rgba(66,91,182,.24);
}
.mq-shell[data-skin="nuit"] .mq-univers-tag {
  color:#07101e;
  background:linear-gradient(120deg,#9eeaff,#7e90f5);
  box-shadow:0 7px 16px rgba(65,91,182,.30);
}
.mq-shell[data-skin="nuit"] .mq-univers-lock {
  color:#d9eaff;
  background:linear-gradient(145deg,#203755,#13233b);
  border:1px solid rgba(111,149,196,.40);
  box-shadow:0 7px 16px rgba(0,0,0,.28);
}
.mq-shell[data-skin="nuit"] .mq-univers-arrow {
  color:#dff5ff;
  background:linear-gradient(145deg,rgba(27,47,75,.97),rgba(13,25,43,.96));
  border:1px solid rgba(69,99,139,.56);
  box-shadow:0 9px 22px rgba(0,0,0,.32);
}
.mq-shell[data-skin="nuit"] .mq-univers-dots i { background:rgba(157,180,214,.18); }
.mq-shell[data-skin="nuit"] .mq-univers-dots i.is-on {
  background:linear-gradient(90deg,#91e6ff,#818df6);
  box-shadow:0 2px 8px rgba(113,159,244,.24);
}
.mq-shell[data-skin="nuit"] .mq-univers-danger i { background:rgba(160,177,207,.14); }
.mq-shell[data-skin="nuit"] .mq-univers-stats { color:#aebbd1; }
.mq-shell[data-skin="nuit"] .mq-univers-stats b { background:rgba(165,187,220,.11); }
.mq-shell[data-skin="nuit"] .mq-univers-rim {
  box-shadow:inset 0 0 0 2px rgba(132,210,244,.76),inset 0 0 28px rgba(106,137,233,.24);
}

/* Formats de grille : cartes sombres, mini-grilles cyan/indigo. */
.mq-shell[data-skin="nuit"] .mq-view[data-view="miseEnPlace"] .mq-carreau {
  background:linear-gradient(145deg,#172943 0%,#0d1a2f 100%);
  border-color:#3f5879;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.035),0 10px 24px rgba(0,0,0,.28),0 2px 5px rgba(0,0,0,.18);
}
.mq-shell[data-skin="nuit"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  border-color:#7dd9f7;
  background:linear-gradient(145deg,#1d3453 0%,#12223b 100%);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.045),0 0 0 2px rgba(125,217,247,.11),0 13px 30px rgba(0,0,0,.34);
}
.mq-shell[data-skin="nuit"] .mq-carreau[aria-checked="true"]::before {
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 26%)!important;
  opacity:.42!important;
}
.mq-shell[data-skin="nuit"] .mq-carreau[aria-checked="true"]::after {
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f7fcff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
    radial-gradient(circle at 34% 24%,#a6edff 0%,#72b6ee 48%,#6369d6 100%)!important;
  border-color:#dff8ff!important;
  box-shadow:0 7px 17px rgba(0,0,0,.30),0 0 0 3px rgba(126,211,248,.10)!important;
}
.mq-shell[data-skin="nuit"] .mq-carreau strong { color:#f5f8ff; }
.mq-shell[data-skin="nuit"] .mq-carreau small { color:#b6c3d9; }
.mq-shell[data-skin="nuit"] .mq-carreau-ico {
  color:#a3e9ff;
  background:linear-gradient(145deg,#203653,#12233b);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.035),0 8px 18px rgba(0,0,0,.26);
}
.mq-shell[data-skin="nuit"] .mq-mini-grille {
  background:linear-gradient(145deg,#1e3452,#101e34);
  box-shadow:inset 0 1px 1px rgba(255,255,255,.035),0 6px 14px rgba(0,0,0,.24);
}
.mq-shell[data-skin="nuit"] .mq-mini-grille i {
  background:linear-gradient(145deg,#8de4ff,#687ee7);
  box-shadow:inset 0 1px 0 rgba(237,250,255,.28),0 0 4px rgba(126,205,247,.14);
}

/* CTA : cyan/indigo lisible sur le fond sombre. */
.mq-shell[data-skin="nuit"] .mq-setup-foot .mq-btn {
  color:#f9fcff;
  background-image:linear-gradient(105deg,#367fa9 0%,#5665c6 100%);
  box-shadow:0 5px 0 #263e75,0 13px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.10);
}
.mq-shell[data-skin="nuit"] .mq-setup-foot .mq-btn.is-unlock {
  color:#08111e;
  background:linear-gradient(105deg,#9eeaff,#7f90f4)!important;
  box-shadow:0 5px 0 #4456a7,0 13px 28px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.20)!important;
}

/* Modales et écrans auxiliaires : pas de flash clair. */
.mq-shell[data-skin="nuit"] .mq-sheet-layer { background:rgba(1,4,10,.77); }
.mq-shell[data-skin="nuit"] .mq-sheet {
  background:linear-gradient(155deg,#172944,#0b172a);
  border-color:#3c5576;
  box-shadow:0 22px 52px rgba(0,0,0,.52);
}
.mq-shell[data-skin="nuit"] .mq-game-setting-row > span,
.mq-shell[data-skin="nuit"] .mq-game-volume-row > span,
.mq-shell[data-skin="nuit"] .mq-game-rules > span {
  background:linear-gradient(145deg,#1e3452,#12223a);
  color:#9ee7ff;
}
.mq-shell[data-skin="nuit"] .mq-privacy-link {
  background:linear-gradient(135deg,#317da7,#555fc0);
  box-shadow:0 9px 20px rgba(0,0,0,.31);
}

/* Petits écrans : relief allégé pour préserver l'espace utile. */
@media (max-width:360px), (max-height:640px) {
  .mq-shell[data-skin="nuit"] .mq-board-wrap::after { opacity:.28; }
  .mq-shell[data-skin="nuit"] .mq-score-chip { box-shadow:0 3px 11px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.035); }
  .mq-shell[data-skin="nuit"] .mq-game-action { box-shadow:0 3px 11px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.035)!important; }
  .mq-shell[data-skin="nuit"] .mq-univers-body { box-shadow:0 15px 30px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03); }
  .mq-shell[data-skin="nuit"] .mq-univers-arrow { box-shadow:0 6px 15px rgba(0,0,0,.28); }
  .mq-shell[data-skin="nuit"] .mq-view[data-view="miseEnPlace"] .mq-carreau { box-shadow:inset 0 1px 1px rgba(255,255,255,.03),0 6px 15px rgba(0,0,0,.25); }
}

/* Réduction du mouvement : étoiles et emblèmes restent statiques. */
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-univers-twinkle,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-univers-streak,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-univers-card.is-active .mq-univers-art img,
.mq-shell[data-skin="nuit"][data-motion="calme"] .mq-card.is-open .mq-back::after {
  animation:none!important;
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="nuit"] .mq-univers-twinkle,
  .mq-shell[data-skin="nuit"] .mq-univers-streak,
  .mq-shell[data-skin="nuit"] .mq-univers-card.is-active .mq-univers-art img,
  .mq-shell[data-skin="nuit"] .mq-card.is-open .mq-back::after {
    animation:none!important;
  }
}

/* NUIT ULTRA PRO — sécurité de composition sur téléphones compacts. */
@media (max-width:360px), (max-height:640px) {
  .mq-shell[data-skin="nuit"] .mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered {
    grid-template-columns:40px minmax(0,1fr) 50px;
    column-gap:4px;
    row-gap:2px;
    padding-inline:8px;
  }
  .mq-shell[data-skin="nuit"] .mq-setup-head.is-centered .mq-setup-copy { padding-inline:1px; }
  .mq-shell[data-skin="nuit"] .mq-setup-head.is-centered .mq-setup-copy .mq-eyebrow {
    font-size:.5rem;
    letter-spacing:.22em;
  }
  .mq-shell[data-skin="nuit"] .mq-view[data-view="miseEnPlace"] .mq-setup-head.is-centered .mq-setup-copy .mq-title {
    font-size:1rem;
    line-height:1.02;
  }
  .mq-shell[data-skin="nuit"] .mq-setup-head.is-centered .mq-setup-copy .mq-title::after {
    height:3px;
    margin-top:4px;
  }
  .mq-shell[data-skin="nuit"] .mq-univers-counter {
    height:36px;
    padding:0 8px;
    border-radius:12px;
    font-size:.76rem;
  }
  .mq-shell[data-skin="nuit"] .mq-univers-stage { --card-w:236px!important; }
  .mq-shell[data-skin="nuit"] .mq-univers-art {
    top:-12%;
    width:96%;
    margin-left:-48%;
  }
  .mq-shell[data-skin="nuit"] .mq-univers-meta { padding:0 8px 10px; }
  .mq-shell[data-skin="nuit"] .mq-univers-name { font-size:19px; }
  .mq-shell[data-skin="nuit"] .mq-univers-sub,
  .mq-shell[data-skin="nuit"] .mq-univers-pill {
    margin-top:5px;
    padding:5px 9px;
    font-size:.68rem;
  }
  .mq-shell[data-skin="nuit"] .mq-univers-arrow {
    width:44px;
    height:44px;
    margin-top:-22px;
  }
  .mq-shell[data-skin="nuit"] .mq-univers-dots { padding:2px 0 4px; }
}

/* =========================================================================
   MemoQuest v87 — GRENAT ULTRA PRO
   Direction artistique unifiée : bordeaux profond, rubis, ivoire, champagne.
   Corrige le parcours avant partie, les fallbacks de cartes et les états de jeu
   sans recolorer les illustrations de contenu.
   ========================================================================= */
.mq-shell[data-skin="grenat"] {
  --mq-grenat-deep:#35111b;
  --mq-grenat-wine:#681d31;
  --mq-grenat-ruby:#a83452;
  --mq-grenat-rose:#c9687b;
  --mq-grenat-champagne:#d9ae7d;
  --mq-grenat-champagne-2:#efcda8;
  --mq-grenat-ivory:#fff8f3;
  --mq-grenat-ivory-2:#f7e9e3;
  --mq-grenat-ink:#4b1622;
  --mq-grenat-muted:#815f66;

  --mq-game-card-front-animal:linear-gradient(155deg,#6b2135 0%,#451522 58%,#2c0d16 100%);
  --mq-game-match:#dfb36f;
  --mq-game-progress-fill:linear-gradient(90deg,#e3bd8c 0%,#c85f74 48%,#9a2d49 100%);
  --mq-game-active:#c99a5b;
}

/* Fond de la mise en place : plus profond, moins uniforme, toujours calme. */
.mq-shell[data-skin="grenat"][data-screen="miseEnPlace"] .mq-ambiance {
  background:
    radial-gradient(ellipse at 50% 14%,rgba(226,166,160,.10),transparent 36%),
    radial-gradient(ellipse at 16% 72%,rgba(170,58,83,.12),transparent 42%),
    radial-gradient(ellipse at 84% 62%,rgba(217,174,125,.08),transparent 38%),
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(26,5,11,.20));
}

/* Chrome avant partie. */
.mq-shell[data-skin="grenat"][data-screen="miseEnPlace"] .mq-top,
.mq-shell[data-skin="grenat"][data-screen="miseEnPlace"] .mq-nav {
  background:linear-gradient(160deg,rgba(255,249,245,.985),rgba(246,230,223,.975));
  border-color:rgba(218,171,128,.72);
  box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(39,7,15,.19);
}
.mq-shell[data-skin="grenat"] .mq-setup-back {
  background:linear-gradient(150deg,#fffaf6,#f2ddd5);
  border:1px solid rgba(220,177,139,.75);
  color:#5d1a2b;
  box-shadow:0 7px 16px rgba(48,9,18,.16),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-setup-copy .mq-eyebrow {
  color:#edbd9c;
  text-shadow:0 1px 8px rgba(32,4,10,.26);
}
.mq-shell[data-skin="grenat"] .mq-setup-copy .mq-title {
  color:#fff8f2;
  text-shadow:0 3px 14px rgba(27,3,9,.42);
}
.mq-shell[data-skin="grenat"] .mq-setup-head.is-centered .mq-setup-copy .mq-title::after,
.mq-shell[data-skin="grenat"] .mq-setup-head.is-inline .mq-setup-copy .mq-title::after {
  background:linear-gradient(90deg,#e2b783,#bd5069 54%,#84243b);
  box-shadow:0 0 12px rgba(216,169,124,.18);
}
.mq-shell[data-skin="grenat"] .mq-setup-steps i {
  background:rgba(241,210,193,.16);
  box-shadow:inset 0 1px 2px rgba(40,6,13,.18);
}
.mq-shell[data-skin="grenat"] .mq-setup-steps i.is-on {
  background:linear-gradient(90deg,#dca875,#c7566d 55%,#8c2942);
  box-shadow:0 2px 10px rgba(159,48,74,.30);
}
.mq-shell[data-skin="grenat"] .mq-univers-counter {
  background:linear-gradient(145deg,#fffaf6,#f2e1da);
  color:#5c1c2c;
  border:1px solid rgba(220,177,139,.70);
  box-shadow:0 7px 17px rgba(45,8,17,.16),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-univers-counter b { color:#a73350; }

/* Carrousel catégories / adversaires / modes. */
.mq-shell[data-skin="grenat"] .mq-univers-aura {
  background:
    radial-gradient(ellipse 72% 45% at 50% 38%,rgba(216,174,125,.10),transparent 100%),
    radial-gradient(ellipse 80% 42% at 50% 78%,rgba(173,55,82,.10),transparent 100%);
}
.mq-shell[data-skin="grenat"] .mq-univers-layer.is-rings i { border-color:rgba(238,200,166,.18); }
.mq-shell[data-skin="grenat"] .mq-univers-layer.is-rings b,
.mq-shell[data-skin="grenat"] .mq-univers-twinkle {
  background:radial-gradient(circle,#f4d5b6 0 28%,rgba(225,174,132,.38) 52%,transparent 76%);
}
.mq-shell[data-skin="grenat"] .mq-univers-streak {
  background:linear-gradient(90deg,transparent,rgba(247,216,190,.40),transparent);
}
.mq-shell[data-skin="grenat"] .mq-univers-body {
  background:linear-gradient(162deg,#fffaf6 0%,#f8ece7 53%,#f0ddd6 100%);
  border:1px solid rgba(226,190,158,.88);
  box-shadow:0 22px 46px rgba(38,6,14,.26),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-univers-body::before {
  background:
    radial-gradient(ellipse at 50% 17%,rgba(214,163,118,.18),transparent 56%),
    linear-gradient(180deg,rgba(255,255,255,.14),transparent 38%);
  opacity:1;
}
.mq-shell[data-skin="grenat"] .mq-univers-floor {
  background:radial-gradient(ellipse,rgba(79,19,33,.24),transparent 70%);
}
.mq-shell[data-skin="grenat"] .mq-univers-dim { background:rgba(83,25,38,.18); }
.mq-shell[data-skin="grenat"] .mq-univers-ring { border-color:#c45a70; }
.mq-shell[data-skin="grenat"] .mq-univers-name { color:#511725; }
.mq-shell[data-skin="grenat"] .mq-univers-name em { color:#86626a; }
.mq-shell[data-skin="grenat"] .mq-univers-sub {
  color:#785862;
  background:rgba(113,35,54,.075);
}
.mq-shell[data-skin="grenat"] .mq-univers-sub.is-locked {
  color:#8e6335;
  background:rgba(217,174,125,.18);
}
.mq-shell[data-skin="grenat"] .mq-univers-pill {
  color:#fff9f4;
  background:linear-gradient(112deg,#c45c72 0%,#a13350 52%,#762139 100%);
  border:1px solid rgba(238,198,161,.76);
  box-shadow:0 6px 15px rgba(86,18,35,.23),inset 0 1px 0 rgba(255,255,255,.23);
}
.mq-shell[data-skin="grenat"] .mq-univers-tag {
  color:#fffaf6;
  background:linear-gradient(110deg,#c6955f,#96633c);
  box-shadow:0 6px 14px rgba(73,24,13,.25);
}
.mq-shell[data-skin="grenat"] .mq-univers-lock {
  background:#fff7ef;
  color:#8d5e31;
  border:1px solid rgba(218,174,132,.70);
  box-shadow:0 6px 14px rgba(58,12,23,.17);
}
.mq-shell[data-skin="grenat"] .mq-univers-arrow {
  background:linear-gradient(145deg,#fffaf6,#f0dcd4);
  color:#671d31;
  border:1px solid rgba(218,174,132,.68);
  box-shadow:0 7px 18px rgba(45,8,17,.17),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-univers-dots i { background:rgba(234,201,175,.18); }
.mq-shell[data-skin="grenat"] .mq-univers-dots i.is-on {
  background:linear-gradient(90deg,#e2b77f,#bd5369 56%,#8b2942);
}
.mq-shell[data-skin="grenat"] .mq-univers-danger i { background:rgba(112,37,55,.13); }
.mq-shell[data-skin="grenat"] .mq-univers-danger i.is-on,
.mq-shell[data-skin="grenat"] .mq-univers-stats b i {
  background:linear-gradient(90deg,#d9ae7d,#bf5269,#8f2942);
}
.mq-shell[data-skin="grenat"] .mq-univers-stats { color:#7c5d65; }
.mq-shell[data-skin="grenat"] .mq-univers-stats b { background:rgba(112,37,55,.10); }

/* Bouton principal : ne plus ressembler au thème Ambre. */
.mq-shell[data-skin="grenat"] .mq-setup-foot .mq-btn:not(.is-unlock) {
  color:#fff9f4;
  background:linear-gradient(112deg,#b73e5b 0%,#8f2943 55%,#681c31 100%) !important;
  border:1px solid rgba(232,190,151,.82);
  box-shadow:0 4px 0 #551426,0 11px 24px rgba(48,8,18,.31),inset 0 1px 0 rgba(255,255,255,.28) !important;
  text-shadow:0 1px 2px rgba(31,3,9,.30);
}
.mq-shell[data-skin="grenat"] .mq-setup-foot .mq-btn:not(.is-unlock):active {
  box-shadow:0 1px 0 #551426,0 6px 14px rgba(48,8,18,.25) !important;
}

/* Choix Expérience / format / mode. */
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-carreau {
  background:linear-gradient(148deg,#fffaf6 0%,#f6e7e1 100%);
  border:1px solid rgba(226,190,158,.84);
  box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(48,9,19,.15);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  background:linear-gradient(145deg,#fff9f4 0%,#f3ded8 100%);
  border-color:#bd5068;
  box-shadow:inset 0 1px 0 #fff,0 0 0 2px rgba(189,80,104,.17),0 11px 24px rgba(74,14,29,.19);
}
.mq-shell[data-skin="grenat"] .mq-carreau[aria-checked="true"]::after {
  border-color:#fff7ef;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
    radial-gradient(circle at 34% 24%,#d7798c 0%,#ae3c58 48%,#751f37 100%);
  box-shadow:0 6px 14px rgba(65,12,26,.25),0 0 0 3px rgba(217,174,125,.13);
}
.mq-shell[data-skin="grenat"] .mq-carreau strong { color:#5b1a2a; }
.mq-shell[data-skin="grenat"] .mq-carreau small { color:#8a5f68; }
.mq-shell[data-skin="grenat"] .mq-carreau .mq-price { color:#9c6d3e; }
.mq-shell[data-skin="grenat"] .mq-carreau-ico {
  color:#8f2943;
  background:linear-gradient(145deg,#fff9f4,#edd8d0);
  border:1px solid rgba(222,183,151,.70);
  box-shadow:inset 0 1px 0 #fff,0 7px 16px rgba(65,12,26,.14);
}
.mq-shell[data-skin="grenat"] .mq-mini-grille {
  background:linear-gradient(145deg,#fff9f5,#ead2ca);
  border:1px solid rgba(218,177,143,.62);
  box-shadow:inset 0 1px 0 #fff,0 5px 12px rgba(63,12,26,.11);
}
.mq-shell[data-skin="grenat"] .mq-mini-grille i {
  background:linear-gradient(145deg,#d26b7f 0%,#ad3e59 52%,#792139 100%);
  box-shadow:inset 0 1px 0 rgba(255,235,226,.55);
}

/* Plateau et états spéciaux. */
.mq-shell[data-skin="grenat"] .mq-score-chip.is-turn {
  border-color:#d2a263 !important;
  background:linear-gradient(155deg,#fffaf4,#f3e1d8) !important;
  box-shadow:0 0 0 2px rgba(210,162,99,.16),0 6px 18px rgba(55,10,20,.18) !important;
}
.mq-shell[data-skin="grenat"] .mq-turn-dot {
  background:#c89252;
  box-shadow:0 0 0 3px rgba(200,146,82,.15),0 0 10px rgba(214,163,99,.50);
}
.mq-shell[data-skin="grenat"] .mq-front .mq-card-fallback,
.mq-card-preview-layer[data-skin="grenat"] .mq-card-fallback {
  color:#fff9f3;
  background:linear-gradient(150deg,#8f2d48 0%,#641d31 54%,#3c111f 100%);
  border:1px solid rgba(226,187,147,.62);
  text-shadow:0 1px 2px rgba(25,3,8,.60);
}
.mq-card-preview-layer[data-skin="grenat"] .mq-card-preview-surface {
  border-color:#e6c198;
  background:linear-gradient(152deg,#a33b55 0%,#79253e 45%,#4e1728 78%,#35101c 100%);
  box-shadow:0 18px 42px rgba(31,4,11,.38),0 0 0 3px rgba(217,174,125,.16);
}
.mq-card-preview-layer[data-skin="grenat"] .mq-card-preview-surface.is-image-error > .mq-card-fallback {
  inset:5%;border-radius:14%;display:flex;align-items:center;justify-content:center;
}
.mq-card-preview-layer[data-skin="grenat"] .mq-card-preview-surface.is-image-error > .mq-card-name { display:none!important; }

/* Réactions et attente en ligne : pas de bleu générique. */
.mq-shell[data-skin="grenat"] .mq-game-popover {
  background:linear-gradient(155deg,#fffaf5,#f4e2da);
  border-color:#dfb78c;
  box-shadow:0 18px 42px rgba(43,7,16,.30),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="grenat"] .mq-reaction-tile {
  color:#591929;
  background:linear-gradient(145deg,#fff9f5,#f1ddd6);
  border-color:#ddb58b;
}
.mq-shell[data-skin="grenat"] .mq-reaction-tile:hover,
.mq-shell[data-skin="grenat"] .mq-reaction-tile:focus-visible {
  background:linear-gradient(145deg,#fff8f3,#ead1ca);
  border-color:#c45b70;
}
.mq-shell[data-skin="grenat"] .mq-reaction-bubble {
  color:#551725;
  background:linear-gradient(105deg,#fff9f5,#f1ddd6);
  border-color:#d5a36c;
}
.mq-shell[data-skin="grenat"] .mq-online-activity-wait {
  color:#f8e9df;
  background:rgba(79,22,36,.72);
  border-color:rgba(217,174,125,.35);
}
.mq-shell[data-skin="grenat"] .mq-online-activity-wait > span svg { color:#e4b57f; }
.mq-shell[data-skin="grenat"] .mq-online-activity-wait > strong { background:#7d2942;color:#fff5ec; }

/* Très petits écrans : préserver le titre, la carte active et le CTA. */
@media (max-width:340px), (max-height:620px) {
  .mq-shell[data-skin="grenat"] .mq-univers-stage { --card-w:min(244px,76vw)!important; }
  .mq-shell[data-skin="grenat"] .mq-univers-card { margin-top:calc(var(--card-w) / -.82 / 2 + 4%)!important; }
  .mq-shell[data-skin="grenat"] .mq-univers-art { top:-20%;width:100%;margin-left:-50%; }
  .mq-shell[data-skin="grenat"] .mq-univers-meta { padding-bottom:9px; }
  .mq-shell[data-skin="grenat"] .mq-univers-name { font-size:clamp(18px,5.8vw,22px); }
  .mq-shell[data-skin="grenat"] .mq-univers-sub,
  .mq-shell[data-skin="grenat"] .mq-univers-pill { padding:5px 9px;margin-top:5px; }
  .mq-shell[data-skin="grenat"] .mq-univers-dots { padding:2px 0 3px; }
}

/* Grenat — contraste du CTA de mise en place (surclasse l'ancien bouton champagne global). */
.mq-shell[data-skin="grenat"] .mq-setup-foot .mq-btn.mq-btn-primary:not(.is-unlock) {
  color:#fff9f4 !important;
  text-shadow:0 1px 2px rgba(31,3,9,.34) !important;
}
.mq-shell[data-skin="grenat"] .mq-setup-foot .mq-btn.mq-btn-primary:not(.is-unlock) svg,
.mq-shell[data-skin="grenat"] .mq-setup-foot .mq-btn.mq-btn-primary:not(.is-unlock) span {
  color:inherit !important;
}

/* =========================================================================
   MemoQuest v87 — OCEAN ULTRA PRO
   Parcours avant partie + gameplay. Direction : profondeur marine, perle,
   cyan froid et bleu saphir. Aucun vert menthe generique dans le gameplay.
   ========================================================================= */
.mq-shell[data-skin="ocean"] {
  --mq-ocean-ink:#073854;
  --mq-ocean-ink-soft:#37657a;
  --mq-ocean-muted:#6e93a4;
  --mq-ocean-cyan:#22c7dd;
  --mq-ocean-cyan-hi:#7ae8f3;
  --mq-ocean-blue:#147fcb;
  --mq-ocean-blue-deep:#075887;
  --mq-ocean-navy:#063b5b;
  --mq-ocean-pearl:#fbfeff;
  --mq-ocean-ice:#e9f9fc;
  --mq-ocean-line:#a9dce7;
  --mq-ocean-shadow:rgba(0,43,72,.18);

  --mq-game-hud-active:linear-gradient(180deg,#fbfeff 0%,#e6f8fc 100%);
  --mq-game-hud-border:#9fd9e5;
  --mq-game-control-bg:linear-gradient(180deg,#30cce2 0%,#167fc9 100%);
  --mq-game-control-border:rgba(214,250,255,.92);
  --mq-game-board-fill:linear-gradient(180deg,rgba(1,44,76,.25),rgba(1,24,51,.39));
  --mq-game-board-border:rgba(127,231,241,.46);
  --mq-game-board-shadow:0 14px 32px rgba(0,24,55,.27),inset 0 0 30px rgba(68,213,229,.09);
  --mq-game-card-border:#d9f8fc;
  --mq-game-card-back:radial-gradient(circle at 27% 16%,rgba(255,255,255,.25),transparent 29%),linear-gradient(160deg,#2bcddd 0%,#118dcb 47%,#07589e 100%);
  --mq-game-card-front:linear-gradient(165deg,#fbfeff 0%,#e7f7fb 100%);
  --mq-game-card-front-animal:#073c60;
  --mq-game-card-shadow:0 6px 15px rgba(0,26,60,.34);
  --mq-game-progress-track:rgba(212,249,255,.18);
  --mq-game-progress-fill:linear-gradient(90deg,#6ce4ee 0%,#24c5dc 48%,#147fcb 100%);
  --mq-game-active:#25c4dd;
  --mq-game-active-glow:rgba(37,196,221,.30);
  --mq-game-match:#62d8ee;
}

/* Fond avant partie : profondeur visible, sans ecraser les cartes perlees. */
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] {
  background:
    radial-gradient(circle at 50% -8%,rgba(223,255,255,.94) 0%,rgba(86,218,233,.47) 22%,transparent 48%),
    radial-gradient(ellipse at 8% 86%,rgba(19,165,190,.20),transparent 36%),
    radial-gradient(ellipse at 95% 92%,rgba(5,71,122,.30),transparent 38%),
    linear-gradient(180deg,#36c8df 0%,#1591bb 27%,#0b678f 56%,#064b72 78%,#043758 100%);
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="miseEnPlace"]::before {
  background:
    radial-gradient(circle at 88% 18%,rgba(228,255,255,.22),transparent 23%),
    radial-gradient(circle at 12% 76%,rgba(79,222,234,.10),transparent 28%),
    linear-gradient(155deg,transparent 0 31%,rgba(220,255,255,.10) 31.5% 32.1%,transparent 32.6% 100%);
}

/* Chrome : verre perle, texte marine, accents aqua. */
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] .mq-top,
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] .mq-nav {
  background:linear-gradient(180deg,rgba(251,254,255,.96),rgba(226,247,251,.94));
  border-color:rgba(149,214,227,.52);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86),0 10px 26px rgba(0,45,75,.16);
}
.mq-shell[data-skin="ocean"] .mq-xp { background:#c9e7ed; }
.mq-shell[data-skin="ocean"] .mq-xp i {
  background:linear-gradient(90deg,#69e2ec 0%,#22bfd6 52%,#147ec8 100%);
  box-shadow:0 0 8px rgba(28,173,205,.28);
}
.mq-shell[data-skin="ocean"] .mq-chip,
.mq-shell[data-skin="ocean"] .mq-icon-btn {
  color:#083b58;
  background:linear-gradient(145deg,#fbfeff,#e5f6fa);
  border-color:#a9d9e4;
  box-shadow:0 4px 12px rgba(0,45,72,.11),inset 0 1px 0 rgba(255,255,255,.80);
}
.mq-shell[data-skin="ocean"] .mq-chip .mq-plus {
  color:#fff;
  background:linear-gradient(145deg,#24c7dd,#0d72b7);
  box-shadow:0 4px 10px rgba(3,93,142,.24);
}
.mq-shell[data-skin="ocean"] .mq-nav button { color:#557d8f; }
.mq-shell[data-skin="ocean"] .mq-nav button.is-on {
  color:#075276;
  background:linear-gradient(180deg,#eefcff,#d8f3f8);
}
.mq-shell[data-skin="ocean"] .mq-nav button.is-on::after {
  background:linear-gradient(90deg,#63e0e9,#1cb8d3,#147bc5);
  box-shadow:0 0 8px rgba(25,174,204,.30);
}

/* En-tete de mise en place. */
.mq-shell[data-skin="ocean"] .mq-setup-back {
  color:#075276;
  background:linear-gradient(145deg,rgba(251,254,255,.98),rgba(224,246,250,.96));
  border-color:rgba(155,216,228,.72);
  box-shadow:inset 0 1px 0 #fff,0 7px 18px rgba(0,42,71,.15);
}
.mq-shell[data-skin="ocean"] .mq-setup-copy .mq-eyebrow { color:#087497; }
.mq-shell[data-skin="ocean"] .mq-setup-copy .mq-title {
  color:#063e5c;
  text-shadow:0 2px 0 rgba(231,254,255,.22);
}
.mq-shell[data-skin="ocean"] .mq-setup-head.is-centered .mq-setup-copy .mq-title::after,
.mq-shell[data-skin="ocean"] .mq-setup-head.is-inline .mq-setup-copy .mq-title::after {
  background:linear-gradient(90deg,#79e4ec 0%,#21bed6 52%,#1379c2 100%);
  box-shadow:0 2px 8px rgba(13,137,175,.22);
}
.mq-shell[data-skin="ocean"] .mq-setup-steps i {
  background:rgba(211,245,249,.28);
  box-shadow:inset 0 1px 2px rgba(0,44,72,.14);
}
.mq-shell[data-skin="ocean"] .mq-setup-steps i.is-on {
  background:linear-gradient(90deg,#79e4ec,#23bfd7 54%,#147cc6);
  box-shadow:0 2px 9px rgba(14,151,187,.30);
}
.mq-shell[data-skin="ocean"] .mq-univers-counter {
  color:#093f5c;
  background:linear-gradient(145deg,#fbfeff,#e4f6fa);
  border:1px solid rgba(157,216,227,.78);
  box-shadow:0 7px 17px rgba(0,43,70,.15),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-univers-counter b { color:#087ca4; }

/* Carrousel : illustration coloree conservee, chrome 100 % ocean. */
.mq-shell[data-skin="ocean"] .mq-univers-aura {
  background:
    radial-gradient(ellipse 72% 45% at 50% 38%,rgba(112,232,239,.22),transparent 100%),
    radial-gradient(ellipse 80% 42% at 50% 78%,rgba(14,107,162,.18),transparent 100%);
}
.mq-shell[data-skin="ocean"] .mq-univers-layer.is-rings i { border-color:rgba(152,238,245,.24); }
.mq-shell[data-skin="ocean"] .mq-univers-layer.is-rings b,
.mq-shell[data-skin="ocean"] .mq-univers-twinkle {
  background:radial-gradient(circle,#eaffff 0 28%,rgba(101,225,237,.48) 50%,transparent 76%);
}
.mq-shell[data-skin="ocean"] .mq-univers-streak {
  background:linear-gradient(90deg,transparent,rgba(204,250,255,.46),transparent);
}
.mq-shell[data-skin="ocean"] .mq-univers-body {
  background:linear-gradient(162deg,#fbfeff 0%,#ecf9fb 52%,#dceff4 100%);
  border:1px solid rgba(164,219,230,.92);
  box-shadow:0 24px 48px rgba(0,37,66,.24),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-univers-body::before {
  background:radial-gradient(ellipse at 50% 16%,rgba(104,225,235,.17),transparent 58%);
  opacity:.9;
}
.mq-shell[data-skin="ocean"] .mq-univers-floor { background:radial-gradient(ellipse,rgba(0,55,86,.24),transparent 70%); }
.mq-shell[data-skin="ocean"] .mq-univers-dim { background:rgba(17,76,101,.18); }
.mq-shell[data-skin="ocean"] .mq-univers-ring { border-color:#25b9d0; }
.mq-shell[data-skin="ocean"] .mq-univers-name { color:#063b57; }
.mq-shell[data-skin="ocean"] .mq-univers-name em { color:#527789; }
.mq-shell[data-skin="ocean"] .mq-univers-sub {
  color:#436b7d;
  background:rgba(8,104,139,.08);
}
.mq-shell[data-skin="ocean"] .mq-univers-sub.is-locked {
  color:#3c6779;
  background:rgba(100,186,204,.16);
}
.mq-shell[data-skin="ocean"] .mq-univers-pill {
  color:#f8feff;
  background:linear-gradient(112deg,#25bfd5 0%,#1086bd 54%,#075e96 100%);
  border:1px solid rgba(201,247,251,.76);
  box-shadow:0 6px 15px rgba(0,84,127,.22),inset 0 1px 0 rgba(255,255,255,.22);
}
.mq-shell[data-skin="ocean"] .mq-univers-tag {
  color:#fff;
  background:linear-gradient(110deg,#4cd8e3,#167fbd);
  box-shadow:0 6px 14px rgba(0,78,124,.24);
}
.mq-shell[data-skin="ocean"] .mq-univers-lock {
  color:#0c6385;
  background:linear-gradient(145deg,#f8fdff,#def2f6);
  border:1px solid rgba(153,216,227,.72);
  box-shadow:0 6px 14px rgba(0,49,77,.15);
}
.mq-shell[data-skin="ocean"] .mq-univers-arrow {
  color:#07587f;
  background:linear-gradient(145deg,#fbfeff,#dff3f7);
  border:1px solid rgba(151,216,227,.76);
  box-shadow:0 7px 18px rgba(0,45,73,.16),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-univers-dots i { background:rgba(202,242,247,.28); }
.mq-shell[data-skin="ocean"] .mq-univers-dots i.is-on {
  background:linear-gradient(90deg,#75e3ec,#20bcd5,#147bc6);
}
.mq-shell[data-skin="ocean"] .mq-univers-danger i { background:rgba(15,102,137,.13); }
.mq-shell[data-skin="ocean"] .mq-univers-danger i.is-on,
.mq-shell[data-skin="ocean"] .mq-univers-stats b i {
  background:linear-gradient(90deg,#67dee8,#1bb5d0,#1579bf);
}
.mq-shell[data-skin="ocean"] .mq-univers-stats { color:#4d7485; }
.mq-shell[data-skin="ocean"] .mq-univers-stats b { background:rgba(9,103,139,.09); }

/* CTA : bleu ocean profond, pas vert menthe. */
.mq-shell[data-skin="ocean"] .mq-setup-foot .mq-btn:not(.is-unlock) {
  color:#f9feff;
  background:linear-gradient(112deg,#22bed4 0%,#107fb8 55%,#075b94 100%) !important;
  border:1px solid rgba(191,241,247,.82);
  box-shadow:0 4px 0 #064a78,0 11px 24px rgba(0,45,73,.30),inset 0 1px 0 rgba(255,255,255,.26) !important;
  text-shadow:0 1px 2px rgba(0,34,59,.34);
}
.mq-shell[data-skin="ocean"] .mq-setup-foot .mq-btn:not(.is-unlock):active {
  box-shadow:0 1px 0 #064a78,0 6px 14px rgba(0,45,73,.24) !important;
}

/* Formats / experience : perle claire + mini-grilles saphir. */
.mq-shell[data-skin="ocean"] .mq-view[data-view="miseEnPlace"] .mq-carreau {
  background:linear-gradient(148deg,#fbfeff 0%,#e9f7fa 100%);
  border:1px solid rgba(164,219,229,.88);
  box-shadow:inset 0 1px 0 #fff,0 8px 18px rgba(0,45,72,.14);
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] {
  background:linear-gradient(145deg,#f9feff 0%,#dcf3f7 100%);
  border-color:#28bdd4;
  box-shadow:inset 0 1px 0 #fff,0 0 0 2px rgba(40,189,212,.15),0 11px 24px rgba(0,65,100,.19);
}
.mq-shell[data-skin="ocean"] .mq-carreau[aria-checked="true"]::after {
  border-color:#f5feff;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-9'/%3E%3C/svg%3E"),
    radial-gradient(circle at 34% 24%,#63e1eb 0%,#21b9d3 48%,#116da9 100%);
  box-shadow:0 6px 14px rgba(0,65,100,.23),0 0 0 3px rgba(111,226,236,.13);
}
.mq-shell[data-skin="ocean"] .mq-carreau strong { color:#073c58; }
.mq-shell[data-skin="ocean"] .mq-carreau small { color:#52798a; }
.mq-shell[data-skin="ocean"] .mq-carreau .mq-price { color:#0c7699; }
.mq-shell[data-skin="ocean"] .mq-carreau-ico {
  color:#08779d;
  background:linear-gradient(145deg,#f9feff,#dff2f6);
  border:1px solid rgba(160,218,228,.72);
  box-shadow:inset 0 1px 0 #fff,0 7px 16px rgba(0,51,80,.13);
}
.mq-shell[data-skin="ocean"] .mq-mini-grille {
  background:linear-gradient(145deg,#f8feff,#d9eef3);
  border:1px solid rgba(155,216,227,.66);
  box-shadow:inset 0 1px 0 #fff,0 5px 12px rgba(0,52,82,.11);
}
.mq-shell[data-skin="ocean"] .mq-mini-grille i {
  background:linear-gradient(145deg,#5edce6 0%,#20b8d2 50%,#116fab 100%);
  box-shadow:inset 0 1px 0 rgba(235,255,255,.46);
}

/* Gameplay : davantage de profondeur et aucun vert generique. */
.mq-shell[data-skin="ocean"] .mq-board-wrap::before {
  background:linear-gradient(180deg,rgba(1,45,79,.24),rgba(1,24,53,.40));
  border-color:rgba(129,230,241,.46);
  box-shadow:0 14px 32px rgba(0,23,55,.26),inset 0 0 28px rgba(51,205,221,.08);
}
.mq-shell[data-skin="ocean"] .mq-card .mq-face {
  border-color:#d8f7fb;
  box-shadow:0 6px 15px rgba(0,26,60,.32);
}
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn {
  border-color:#71dce8 !important;
  background:linear-gradient(180deg,#fbfeff,#def5f9) !important;
  box-shadow:0 0 0 2px rgba(73,205,222,.14),0 6px 18px rgba(0,52,83,.17) !important;
}
.mq-shell[data-skin="ocean"] .mq-turn-dot {
  background:#24bfd8;
  box-shadow:0 0 0 3px rgba(36,191,216,.15),0 0 10px rgba(73,218,233,.48);
}
.mq-shell[data-skin="ocean"] .mq-game-progress i {
  background:linear-gradient(90deg,#6ce4ee 0%,#24c5dc 48%,#147fcb 100%) !important;
  box-shadow:0 0 10px rgba(45,198,220,.46);
}
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-face,
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front {
  border-color:#69daec !important;
  box-shadow:0 0 0 2px rgba(77,211,232,.18),0 7px 17px rgba(0,48,82,.26) !important;
}
.mq-shell[data-skin="ocean"] .mq-front .mq-card-fallback,
.mq-card-preview-layer[data-skin="ocean"] .mq-card-fallback {
  color:#f5feff;
  background:linear-gradient(150deg,#1087b8 0%,#07618f 54%,#043d65 100%);
  border:1px solid rgba(171,235,242,.68);
  text-shadow:0 1px 2px rgba(0,28,49,.62);
}
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface {
  border-color:#a9e4ec;
  background:linear-gradient(152deg,#23bed3 0%,#0d8eb9 44%,#075f8e 77%,#043c62 100%);
  box-shadow:0 18px 42px rgba(0,26,55,.40),0 0 0 3px rgba(98,220,234,.16);
}
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface.is-image-error > .mq-card-fallback {
  inset:5%;border-radius:14%;display:flex;align-items:center;justify-content:center;
}
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface.is-image-error > .mq-card-name { display:none!important; }

/* Reactions / attente reseau. */
.mq-shell[data-skin="ocean"] .mq-game-popover {
  background:linear-gradient(155deg,#fbfeff,#e5f5f8);
  border-color:#9ed9e4;
  box-shadow:0 18px 42px rgba(0,35,64,.28),inset 0 1px 0 #fff;
}
.mq-shell[data-skin="ocean"] .mq-reaction-tile {
  color:#073e5a;
  background:linear-gradient(145deg,#f9feff,#e2f3f7);
  border-color:#a5dce6;
}
.mq-shell[data-skin="ocean"] .mq-reaction-tile:hover,
.mq-shell[data-skin="ocean"] .mq-reaction-tile:focus-visible {
  background:linear-gradient(145deg,#f7fdff,#d8eef3);
  border-color:#2dbdd3;
}
.mq-shell[data-skin="ocean"] .mq-reaction-bubble {
  color:#073e5a;
  background:linear-gradient(105deg,#f9feff,#e1f3f6);
  border-color:#7fd5e1;
}
.mq-shell[data-skin="ocean"] .mq-online-activity-wait {
  color:#eafcff;
  background:rgba(4,72,105,.78);
  border-color:rgba(126,224,235,.38);
}
.mq-shell[data-skin="ocean"] .mq-online-activity-wait > span svg { color:#75dfeb; }
.mq-shell[data-skin="ocean"] .mq-online-activity-wait > strong { background:#0c779e;color:#f1fdff; }

/* Tres petits ecrans : contenu lisible et CTA accessible. */
@media (max-width:340px), (max-height:620px) {
  .mq-shell[data-skin="ocean"] .mq-univers-stage { --card-w:min(244px,76vw)!important; }
  .mq-shell[data-skin="ocean"] .mq-univers-card { margin-top:calc(var(--card-w) / -.82 / 2 + 4%)!important; }
  .mq-shell[data-skin="ocean"] .mq-univers-art { top:-13%;width:94%;margin-left:-47%; }
  .mq-shell[data-skin="ocean"] .mq-univers-meta { padding-bottom:9px; }
  .mq-shell[data-skin="ocean"] .mq-univers-name { font-size:clamp(18px,5.8vw,22px); }
  .mq-shell[data-skin="ocean"] .mq-univers-sub,
  .mq-shell[data-skin="ocean"] .mq-univers-pill { padding:5px 9px;margin-top:5px; }
  .mq-shell[data-skin="ocean"] .mq-univers-dots { padding:2px 0 3px; }
}

/* =========================================================================
   MEMOQUEST v87 — MASTER THEME QA / ALL PAGES
   Dernière couche de garde-fou : chaque écran consomme les jetons du thème.
   Couvre Accueil, Profil, Mise en place, Histoire, Boutique, Réglages,
   Multijoueur, Tournois, Partie, Résultats, feuilles, dialogues et états.
   ========================================================================= */

/* 1) THÈME PRINCIPAL / LAGON : restaurer exactement la petite étoile blanche
      historique au dos des cartes. Aucun pictogramme feuille n'est autorisé. */
.mq-shell[data-skin="jade"] .mq-back::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:no-repeat center / 46% auto url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2.4c.4 0 .8.25 1 .63l2.5 5.06 5.6.82c.9.13 1.26 1.24.6 1.87l-4.05 3.94.96 5.57c.15.9-.8 1.58-1.6 1.15L12 18.82l-5 2.63c-.8.43-1.75-.25-1.6-1.15l.96-5.57-4.05-3.94c-.66-.63-.3-1.74.6-1.87l5.6-.82L11 3.03c.2-.38.6-.63 1-.63Z'/%3E%3C/svg%3E") !important;
  filter:drop-shadow(0 3px 4px rgba(21,60,122,.28)) !important;
  opacity:1 !important;
}
.mq-shell[data-skin="jade"] .mq-back::after { content:none !important; display:none !important; }

/* 2) Palette d'Accueil : l'écran d'accueil fait désormais réellement partie
      du thème actif. Jade conserve strictement sa palette historique. */
.mq-shell[data-skin="jade"] {
  --mq-home-bg:radial-gradient(circle at 12% 24%,rgba(255,255,255,.32) 0 1px,transparent 2px),radial-gradient(circle at 86% 30%,rgba(255,255,255,.42) 0 1.4px,transparent 2.5px),linear-gradient(180deg,#20b8ee 0%,#78d7f5 24%,#d8f1fb 53%,#eef8f1 72%,#fff1d2 100%);
}
.mq-shell[data-skin="ocean"] {
  --mq-home-bg:radial-gradient(circle at 50% -8%,rgba(222,255,255,.88),transparent 34%),radial-gradient(circle at 12% 52%,rgba(77,225,235,.16),transparent 34%),linear-gradient(180deg,#37c9df 0%,#168eaf 32%,#08688e 66%,#043b61 100%);
}
.mq-shell[data-skin="grenat"] {
  --mq-home-bg:radial-gradient(circle at 50% -12%,rgba(255,225,202,.22),transparent 38%),radial-gradient(circle at 12% 48%,rgba(198,69,95,.18),transparent 34%),linear-gradient(180deg,#7f2b42 0%,#5b1d30 42%,#3d111d 76%,#260a13 100%);
}
.mq-shell[data-skin="ardoise"] {
  --mq-home-bg:radial-gradient(circle at 50% -10%,rgba(154,229,236,.15),transparent 37%),radial-gradient(circle at 12% 58%,rgba(105,151,165,.13),transparent 34%),linear-gradient(180deg,#314953 0%,#21343d 38%,#15242b 72%,#0d171c 100%);
}
.mq-shell[data-skin="ambre"] {
  --mq-home-bg:radial-gradient(circle at 50% -8%,rgba(255,247,201,.85),transparent 32%),radial-gradient(circle at 12% 58%,rgba(190,87,20,.14),transparent 34%),linear-gradient(180deg,#f7a33e 0%,#ffc76e 30%,#f5d89f 66%,#e3b977 100%);
}
.mq-shell[data-skin="nuit"] {
  --mq-home-bg:radial-gradient(circle at 50% -10%,rgba(133,190,255,.18),transparent 34%),radial-gradient(circle at 15% 46%,rgba(112,104,224,.14),transparent 31%),linear-gradient(180deg,#151f35 0%,#0e1728 36%,#09111f 70%,#050a13 100%);
}
.mq-shell[data-screen="accueil"][data-skin] { background:var(--mq-home-bg) !important; }

/* Les composants de l'accueil ne reviennent plus arbitrairement au bleu Lagon. */
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-avatar,
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-chip .mq-plus { background:var(--mq-button-bg) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-avatar { box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-accent) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.28) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-brand h1 .is-m { color:var(--mq-screen-accent) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-brand h1 .is-q { color:var(--mq-screen-text) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-brand p { color:var(--mq-screen-secondary) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-back { background:var(--mq-game-card-back) !important;border-color:var(--mq-game-card-border) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-play { background:linear-gradient(160deg,var(--mq-surface-raised),var(--mq-surface-soft)) !important;color:var(--mq-text) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-play::before { background:linear-gradient(120deg,color-mix(in srgb,var(--mq-accent) 58%,transparent),rgba(255,255,255,0) 45%,color-mix(in srgb,var(--mq-accent-2) 48%,transparent)) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-play-ic { background:var(--mq-button-bg) !important;box-shadow:0 8px 18px color-mix(in srgb,var(--mq-accent) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.26) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-play-t > span { background:linear-gradient(100deg,var(--mq-accent),var(--mq-accent-2)) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-loader-bar i { background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-nav button.is-on { color:var(--mq-accent) !important;background:color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface)) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-nav button.is-on::after { background:var(--mq-accent) !important; }

/* 3) Surfaces globales. Les anciennes pages construites avec des blancs/bleus
      codés en dur sont rabattues vers les tokens du thème. */
.mq-shell[data-skin] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,.mq-tp-foot,
  .mq-mission,.mq-story-atlas-dock,.mq-game-sheet,.mq-sheet,.mq-tips-card,.mq-privacy-panel
) {
  background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,
  .mq-mission,.mq-story-atlas-dock
) :is(h1,h2,h3,h4,strong,b,dt) { color:var(--mq-text) !important; }
.mq-shell[data-skin] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,
  .mq-mission,.mq-story-atlas-dock
) :is(p,small,dd,label) { color:var(--mq-text-secondary) !important; }

/* 4) Profil : icônes, jauges et actions suivent la palette active. */
.mq-shell[data-skin] .mq-profile-heading button { background:var(--mq-surface-raised) !important;color:var(--mq-accent-strong) !important;border:1px solid var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-profile-panel > h3 svg { color:var(--mq-accent) !important; }
.mq-shell[data-skin] :is(.mq-profile-meter,.mq-profile-xp) { background:color-mix(in srgb,var(--mq-text) 11%,transparent) !important; }
.mq-shell[data-skin] :is(.mq-profile-meter,.mq-profile-xp) i { background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-profile-edit { background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface)) !important;color:var(--mq-accent-strong) !important;border-color:var(--mq-border-active) !important; }
.mq-shell[data-skin] .mq-avatar-option.is-selected { border-color:var(--mq-border-active) !important;box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important; }

/* 5) Boutique / Réglages : états Disponibles/Actifs et champs ne reprennent
      plus le turquoise du thème principal. */
.mq-shell[data-skin] .mq-opt { background:var(--mq-surface) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-opt strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-opt small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-opt :is(.mq-ready,.mq-theme-copy small.is-active) { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-opt[aria-checked="true"],
.mq-shell[data-skin] .mq-opt.is-on,
.mq-shell[data-skin] .mq-theme-option.is-active { border-color:var(--mq-border-active) !important;box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-settings-icon { background:color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface-soft)) !important;color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-switch { background:color-mix(in srgb,var(--mq-text) 15%,var(--mq-surface-soft)) !important; }
.mq-shell[data-skin] .mq-settings-row[aria-pressed="true"] .mq-switch { background:linear-gradient(105deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] :is(.mq-input,.mq-premium-field input,.mq-premium-field select,.mq-promo-entry input,.mq-dob-field input) { background:var(--mq-surface-raised) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important;caret-color:var(--mq-accent) !important; }
.mq-shell[data-skin] :is(.mq-input,.mq-premium-field input,.mq-premium-field select,.mq-promo-entry input,.mq-dob-field input):focus { border-color:var(--mq-border-active) !important;box-shadow:var(--mq-glow) !important; }

/* 6) Mise en place : couche commune pour Jade et Ardoise + garde-fou pour
      toutes les étapes (expérience, difficulté, catégorie, mode, format). */
.mq-shell[data-skin] .mq-setup-back { background:var(--mq-surface-raised) !important;color:var(--mq-accent-strong) !important;border:1px solid var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-setup-steps i { background:color-mix(in srgb,var(--mq-text) 12%,transparent) !important; }
.mq-shell[data-skin] .mq-setup-steps i.is-on { background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important;box-shadow:0 2px 9px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important; }
.mq-shell[data-skin] .mq-univers-counter { background:color-mix(in srgb,var(--mq-surface) 92%,transparent) !important;color:var(--mq-text-secondary) !important;border-color:var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-univers-counter b { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-view[data-view="miseEnPlace"] .mq-carreau { background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface)) !important;border-color:var(--mq-border) !important;color:var(--mq-text) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-view[data-view="miseEnPlace"] .mq-carreau[aria-checked="true"] { background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface-selected)) !important;border-color:var(--mq-border-active) !important;box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-view[data-view="miseEnPlace"] .mq-carreau strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-view[data-view="miseEnPlace"] .mq-carreau small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-carreau-ico { background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface-soft)) !important;color:var(--mq-accent-strong) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-mini-grille { background:color-mix(in srgb,var(--mq-accent) 8%,var(--mq-surface-soft)) !important; }
.mq-shell[data-skin] .mq-mini-grille i { background:linear-gradient(145deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-setup-foot .mq-btn { color:var(--mq-button-text) !important;background:var(--mq-button-bg) !important;border-color:color-mix(in srgb,var(--mq-accent) 45%,transparent) !important;box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important; }

/* 7) Multijoueur : toutes les pages (âge, hub, recherche, création,
      rejoindre, attente, aperçu, préparation, match et erreur). */
.mq-shell[data-skin] .mq-online-head .mq-setup-back { background:var(--mq-surface-raised) !important;color:var(--mq-accent-strong) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-online-age-card h3,
.mq-shell[data-skin] .mq-room-preview-hero h3,
.mq-shell[data-skin] .mq-launch-error h3 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-online-age-card p,
.mq-shell[data-skin] .mq-room-preview-hero p,
.mq-shell[data-skin] .mq-launch-error p,
.mq-shell[data-skin] .mq-premium-field > span,
.mq-shell[data-skin] .mq-dob-field > span,
.mq-shell[data-skin] .mq-code-field > span { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-online-hero-icon,
.mq-shell[data-skin] .mq-room-preview-hero > span,
.mq-shell[data-skin] .mq-search-core { background:var(--mq-button-bg) !important;color:var(--mq-button-text) !important;border-color:var(--mq-surface-raised) !important;box-shadow:0 10px 22px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important; }
.mq-shell[data-skin] .mq-code-cells i { background:var(--mq-surface-raised) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-code-cells i.is-active { border-color:var(--mq-border-active) !important;box-shadow:var(--mq-glow) !important; }
.mq-shell[data-skin] .mq-privacy-check { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-privacy-check i { background:var(--mq-surface-raised) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-privacy-check input:checked + i { background:var(--mq-accent) !important;border-color:var(--mq-accent) !important;box-shadow:0 5px 12px color-mix(in srgb,var(--mq-accent) 25%,transparent) !important; }
.mq-shell[data-skin] .mq-consent-link { color:var(--mq-accent-strong) !important;background:color-mix(in srgb,var(--mq-accent) 8%,var(--mq-surface)) !important; }

/* Hub Arène : le texte reste lisible même si une animation est interrompue.
   Les cartes d'actions ne deviennent jamais transparentes sur le décor. */
.mq-shell[data-skin] .mq-arena { background:linear-gradient(155deg,var(--mq-accent-strong),var(--mq-accent-2)) !important;box-shadow:0 18px 40px color-mix(in srgb,var(--mq-bg) 42%,rgba(0,0,0,.18)) !important; }
.mq-shell[data-skin] .mq-arena-act { background:linear-gradient(160deg,var(--mq-surface-raised),var(--mq-surface)) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important;opacity:1; }
.mq-shell[data-skin] .mq-arena-copy strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-arena-copy small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-arena-chev { background:color-mix(in srgb,var(--mq-accent) 8%,var(--mq-surface-soft)) !important;color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-arena-format em { background:var(--mq-surface-raised) !important;color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-arena-bar i { background:linear-gradient(90deg,var(--mq-screen-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-waiting-card.is-premium { background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important; }
.mq-shell[data-skin] .mq-search-player small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-search-player > span { background:var(--mq-button-bg) !important;border-color:var(--mq-surface-raised) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-search-player.is-guest > span { color:var(--mq-text-muted) !important;background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface-soft)) !important; }
.mq-shell[data-skin] .mq-prepare-bar { background:color-mix(in srgb,var(--mq-text) 12%,transparent) !important; }
.mq-shell[data-skin] .mq-prepare-bar i { background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important; }

/* 8) Tournois : toutes les sélections se branchent enfin sur le thème. */
.mq-shell[data-skin] .mq-tp { background:linear-gradient(180deg,var(--mq-bg),color-mix(in srgb,var(--mq-surface) 22%,var(--mq-bg)),var(--mq-bg)) !important;color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-tp-choice { background:var(--mq-surface) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-tp-choice small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-tp-choice .mq-tp-ic { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-tp-choice.mq-tp-selected { border-color:var(--mq-border-active) !important;background:var(--mq-surface-selected) !important;box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important; }
.mq-shell[data-skin] .mq-tp-choice.mq-tp-selected .mq-tp-choice-mark { background-color:var(--mq-accent) !important;border-color:var(--mq-accent) !important;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>"),linear-gradient(105deg,var(--mq-accent),var(--mq-accent-2)) !important;box-shadow:0 4px 10px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important; }
.mq-shell[data-skin] .mq-tp-section-label h3 { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-tp-toggle[aria-checked="true"] { border-color:var(--mq-border-active) !important; }
.mq-shell[data-skin] :is(.mq-tp-primary,.mq-tp-gold) { background:var(--mq-button-bg) !important;color:var(--mq-button-text) !important;border-color:transparent !important; }

/* 9) Résultats / revanche / modales : aucune feuille blanche générique sur
      les thèmes sombres ; aucun bleu Lagon sur les thèmes chauds. */
.mq-shell[data-skin] .mq-rematch-dialog-layer { background:color-mix(in srgb,var(--mq-bg) 58%,rgba(0,0,0,.35)) !important; }
.mq-shell[data-skin] .mq-rematch-dialog-icon { background:var(--mq-button-bg) !important;border-color:var(--mq-surface-raised) !important;box-shadow:0 13px 30px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important; }
.mq-shell[data-skin] .mq-rematch-dialog > small { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-final-home { color:var(--mq-text) !important;background:var(--mq-surface-raised) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-final-replay { color:var(--mq-button-text) !important;background:var(--mq-button-bg) !important;border-color:transparent !important;box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important; }

/* 10) Gameplay : le succès de paire est artistique, le vert reste réservé aux
       validations sémantiques des activités pédagogiques. */
.mq-shell[data-skin] .mq-card.is-done .mq-face { border-color:var(--mq-game-match) !important;box-shadow:0 0 0 2px color-mix(in srgb,var(--mq-game-match) 20%,transparent),0 0 18px color-mix(in srgb,var(--mq-game-match) 28%,transparent),var(--mq-game-card-shadow) !important; }
.mq-shell[data-skin] .mq-game-progress i { background:var(--mq-game-progress-fill) !important; }
.mq-shell[data-skin] .mq-turn-dot { background:var(--mq-game-active) !important; }

/* 11) Ardoise : finition manquante du parcours avant partie. */
.mq-shell[data-skin="ardoise"] .mq-univers-body { background:linear-gradient(165deg,#2b3f49 0%,#1b2b33 58%,#132029 100%) !important;border-color:#526b76 !important;box-shadow:0 15px 30px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.05) !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-name { color:#f3f7f9 !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-name em,
.mq-shell[data-skin="ardoise"] .mq-univers-sub { color:#c4d1d6 !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-sub { background:rgba(101,214,223,.08) !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-counter { background:rgba(27,41,48,.94) !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-dots i { background:rgba(190,211,219,.18) !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-dots i.is-on { background:#65d6df !important;box-shadow:0 0 0 3px rgba(101,214,223,.13) !important; }
.mq-shell[data-skin="ardoise"] .mq-univers-arrow { background:#253841 !important;color:#78e3ea !important;border-color:#506a75 !important; }

/* 12) Main/Jade : ne pas transformer l'identité historique. Les pages utilisent
       les tokens mais les cartes gardent le dégradé bleu/turquoise + étoile. */
.mq-shell[data-skin="jade"] .mq-game-card-back { background:linear-gradient(168deg,#62e0da 0%,#35b8ea 52%,#2e86e0 100%); }

/* 13) Accessibilité et petites tailles : aucune surface interactive importante
       ne peut devenir illisible ou trop petite. */
.mq-shell[data-skin] :is(.mq-arena-act,.mq-settings-row,.mq-tp-choice,.mq-carreau,.mq-opt,.mq-btn,.mq-icon-btn,.mq-game-action) { -webkit-tap-highlight-color:transparent; }
.mq-shell[data-skin] :is(.mq-arena-act,.mq-settings-row,.mq-btn,.mq-icon-btn) { min-height:44px; }
@media (max-width:360px) {
  .mq-shell[data-skin] .mq-arena-act { grid-template-columns:52px minmax(0,1fr) 28px;gap:8px;padding:9px;border-radius:20px; }
  .mq-shell[data-skin] .mq-arena-ic { width:52px;height:52px;border-radius:17px; }
  .mq-shell[data-skin] .mq-arena-copy strong { font-size:.98rem; }
  .mq-shell[data-skin] .mq-arena-copy small { font-size:.68rem;line-height:1.22; }
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin] .mq-arena,
  .mq-shell[data-skin] .mq-arena-act,
  .mq-shell[data-skin] .mq-search-core i,
  .mq-shell[data-skin] .mq-h2-play::after { animation:none !important; }
}

/* =========================================================================
   MEMOQUEST v87 — MASTER THEME QA / PASS 2
   Pages restantes: Accueil FX, Histoire, Tournois et Résultats.
   ========================================================================= */

/* ACCUEIL — les effets de validation suivent le thème au lieu de rester
   vert/turquoise Lagon. Le thème principal garde volontairement son rendu. */
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-front::after {
  box-shadow:inset 0 0 0 3px var(--mq-accent),inset 0 0 24px color-mix(in srgb,var(--mq-accent) 36%,transparent) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-spark {
  background:radial-gradient(circle,#fff 0%,color-mix(in srgb,var(--mq-accent) 35%,#fff) 30%,color-mix(in srgb,var(--mq-accent) 58%,transparent) 55%,transparent 72%) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-bolt-glow { stroke:color-mix(in srgb,var(--mq-accent) 78%,#fff) !important; }
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-seal {
  background:linear-gradient(145deg,color-mix(in srgb,var(--mq-accent) 66%,#fff),var(--mq-accent-strong)) !important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--mq-accent) 38%,transparent),inset 0 3px 0 rgba(255,255,255,.45),0 0 0 4px var(--mq-surface-raised) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-ring {
  border-color:var(--mq-surface-raised) !important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--mq-accent) 58%,transparent),inset 0 0 0 2px color-mix(in srgb,var(--mq-accent) 58%,transparent) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-shard {
  background:var(--mq-surface-raised) !important;
  box-shadow:0 0 12px 2px color-mix(in srgb,var(--mq-surface-raised) 82%,transparent),0 0 22px color-mix(in srgb,var(--mq-accent) 65%,transparent) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-tip {
  border:1px solid var(--mq-border) !important;
  box-shadow:var(--mq-shadow),0 0 0 1.5px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important;
}
.mq-shell[data-screen="accueil"][data-skin]:not([data-skin="jade"]) .mq-h2-tip-arrow {
  background:var(--mq-surface-raised) !important;
  box-shadow:2px 2px 0 0 color-mix(in srgb,var(--mq-accent) 28%,var(--mq-border)) !important;
}

/* HISTOIRE / ATLAS — le contenu narratif conserve sa couleur de chapitre,
   mais toutes les surfaces et tous les textes appartiennent au thème actif. */
.mq-shell[data-skin] .mq-story-atlas {
  background:var(--mq-bg) !important;
  color:var(--mq-text) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-story-atlas-head {
  background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-story-atlas-head .mq-eyebrow { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-story-atlas-head h2 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-story-atlas-head>span {
  color:var(--mq-accent-strong) !important;
  background:color-mix(in srgb,var(--mq-accent) 9%,var(--mq-surface-raised)) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-story-atlas-head>span :is(b,small,svg) { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-story-atlas-progress { background:color-mix(in srgb,var(--mq-text) 12%,var(--mq-surface-soft)) !important; }
.mq-shell[data-skin] .mq-story-atlas-progress i { background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-story-atlas-head>small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-story-atlas-map { background:var(--mq-bg-2) !important; }
.mq-shell[data-skin] .mq-story-region {
  background:linear-gradient(180deg,color-mix(in srgb,var(--atlas-wash) 17%,var(--mq-bg-2)) 0%,var(--mq-bg-2) 92%) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-story-region-hero>h3 { color:var(--mq-text) !important;text-shadow:none !important; }
.mq-shell[data-skin] .mq-story-region-hero>small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-story-region-hero>p { color:color-mix(in srgb,var(--atlas-accent) 45%,var(--mq-accent-strong)) !important; }
.mq-shell[data-skin] .mq-story-region-hero>b {
  color:var(--mq-accent-strong) !important;
  background:color-mix(in srgb,var(--mq-surface-raised) 94%,transparent) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-story-region-bridge { color:var(--mq-text-muted) !important; }
.mq-shell[data-skin] .mq-story-region-bridge::before,
.mq-shell[data-skin] .mq-story-region-bridge::after { background:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-story-atlas-dock {
  background:color-mix(in srgb,var(--mq-surface) 96%,transparent) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 -8px 24px color-mix(in srgb,var(--mq-bg) 28%,transparent) !important;
}
.mq-shell[data-skin] .mq-story-region.is-locked::after {
  background:linear-gradient(180deg,color-mix(in srgb,var(--mq-bg) 20%,transparent),color-mix(in srgb,var(--mq-bg) 42%,transparent)) !important;
}

/* TOURNOIS — une même règle fonctionne sur les thèmes clairs ET sombres.
   La surface principale suit les surfaces du thème, pas son fond décoratif. */
.mq-shell[data-skin] .mq-tp {
  background:linear-gradient(180deg,var(--mq-surface-soft) 0%,var(--mq-surface) 52%,color-mix(in srgb,var(--mq-surface) 92%,var(--mq-bg-2)) 100%) !important;
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-tp-screen-head {
  background:color-mix(in srgb,var(--mq-surface) 94%,transparent) !important;
  border-bottom:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-tp-screen-head h1,
.mq-shell[data-skin] .mq-tp h2,
.mq-shell[data-skin] .mq-tp h3 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-tp-back,
.mq-shell[data-skin] .mq-tp-round-button { background:var(--mq-surface-raised) !important;color:var(--mq-accent-strong) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-tp-foot { background:var(--mq-surface) !important;border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-tp-choice.mq-tp-selected::after { background:var(--mq-accent) !important; }
.mq-shell[data-skin] .mq-tp-toggle[aria-checked="true"] .mq-tp-switch { background:linear-gradient(105deg,var(--mq-accent),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-tp-round-progress .mq-tp-on { background:var(--mq-accent) !important; }
.mq-shell[data-skin] .mq-tp-standings-row.mq-tp-mine { background:color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface)) !important; }
.mq-shell[data-skin] .mq-tp-seat.mq-tp-me .mq-tp-avatar { box-shadow:0 0 0 3px var(--mq-accent) !important; }

/* RÉSULTATS — la récompense et les statistiques ne redeviennent plus des
   cartes blanches/bleues sur Grenat, Nuit, Ardoise ou Ambre. */
.mq-shell[data-skin] .mq-final-reward {
  background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-final-reward-copy small { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-final-reward-copy strong,
.mq-shell[data-skin] .mq-final-reward-total b,
.mq-shell[data-skin] .mq-final-reward-format b { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-final-reward-copy p,
.mq-shell[data-skin] .mq-final-reward-total,
.mq-shell[data-skin] .mq-final-reward-format { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-result-grid>div {
  background:var(--mq-surface-soft) !important;
  color:var(--mq-text) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-result-grid>div small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-final-replay {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border-color:color-mix(in srgb,var(--mq-accent) 40%,transparent) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-final-result-page.is-loss .mq-final-replay {
  background:linear-gradient(135deg,var(--mq-error),color-mix(in srgb,var(--mq-error) 72%,#4b1020)) !important;
  box-shadow:0 5px 0 color-mix(in srgb,var(--mq-error) 58%,#2b0710),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-final-home {
  color:var(--mq-text) !important;background:var(--mq-surface-raised) !important;border-color:var(--mq-border) !important;
}

/* =========================================================================
   MEMOQUEST v87 — MASTER THEME QA / PASS 3
   Contraste Histoire, progression Atlas et écrans Résultats.
   ========================================================================= */

/* HISTOIRE / ATLAS — états du parcours (courant, terminé, verrouillé) :
   aucun vert/cyan historique ne fuit dans les autres thèmes. */
.mq-shell[data-skin] .mq-atlas-road-base {
  stroke:color-mix(in srgb,var(--mq-text) 18%,var(--mq-bg-2)) !important;
}
.mq-shell[data-skin] .mq-atlas-road-done {
  stroke:var(--mq-accent) !important;
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--mq-accent) 36%,transparent)) !important;
}
.mq-shell[data-skin] .mq-atlas-stop { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-atlas-orb {
  color:var(--mq-text-secondary) !important;
  background:linear-gradient(150deg,var(--mq-surface-raised),var(--mq-surface-soft)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 5px 0 color-mix(in srgb,var(--mq-border) 75%,var(--mq-bg)),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-atlas-label {
  background:color-mix(in srgb,var(--mq-surface-raised) 94%,transparent) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-atlas-label strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-atlas-label small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-atlas-stop.is-current .mq-atlas-orb,
.mq-shell[data-skin] .mq-atlas-stop.is-done .mq-atlas-orb {
  color:var(--mq-button-text) !important;
  background:linear-gradient(145deg,var(--mq-accent),var(--mq-accent-2)) !important;
  border-color:color-mix(in srgb,var(--mq-accent) 38%,var(--mq-surface-raised)) !important;
  box-shadow:0 5px 0 color-mix(in srgb,var(--mq-accent-strong) 70%,var(--mq-bg)),0 10px 22px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important;
}
.mq-shell[data-skin] .mq-atlas-stop.is-current .mq-atlas-orb::before {
  border-color:color-mix(in srgb,var(--mq-accent) 42%,transparent) !important;
}
.mq-shell[data-skin] .mq-atlas-stop.is-current .mq-atlas-label {
  border-color:var(--mq-border-active) !important;
  background:var(--mq-surface-raised) !important;
}
.mq-shell[data-skin] .mq-atlas-stop.is-selected .mq-atlas-label {
  outline-color:color-mix(in srgb,var(--mq-accent) 42%,transparent) !important;
}

/* Océan et Grenat ont un fond narratif sombre mais un token texte pensé pour
   leurs cartes claires. Le héros de chapitre reçoit donc une teinte dédiée. */
.mq-shell[data-skin="ocean"] .mq-story-region-hero>h3 { color:#f4fdff !important;text-shadow:0 2px 10px rgba(1,48,73,.24) !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>small { color:#d5f2fa !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>p { color:#91f2f5 !important; }
.mq-shell[data-skin="grenat"] .mq-story-region-hero>h3 { color:#fff7ef !important;text-shadow:0 2px 10px rgba(40,7,15,.28) !important; }
.mq-shell[data-skin="grenat"] .mq-story-region-hero>small { color:#f5d9ce !important; }
.mq-shell[data-skin="grenat"] .mq-story-region-hero>p { color:#f0c18e !important; }

/* RÉSULTATS — chaque thème garde son univers jusqu'au dernier écran. */
.mq-shell[data-skin="ambre"] .mq-final-result-page,
.mq-shell[data-skin="ambre"] .mq-solo-result-page {
  background:radial-gradient(circle at 50% 2%,rgba(255,248,218,.72),transparent 24%),linear-gradient(180deg,#f5ae52 0%,#edc37b 36%,#d9994f 100%) !important;
  color:#512509 !important;
}
.mq-shell[data-skin="ocean"] .mq-final-result-page,
.mq-shell[data-skin="ocean"] .mq-solo-result-page {
  background:radial-gradient(circle at 50% 2%,rgba(211,254,255,.34),transparent 25%),linear-gradient(180deg,#18a9c4 0%,#087696 36%,#043d61 100%) !important;
  color:#f1fcff !important;
}
.mq-shell[data-skin="grenat"] .mq-final-result-page,
.mq-shell[data-skin="grenat"] .mq-solo-result-page {
  background:radial-gradient(circle at 50% 2%,rgba(255,225,205,.16),transparent 25%),linear-gradient(180deg,#76263d 0%,#501727 42%,#2d0b14 100%) !important;
}
.mq-shell[data-skin="ardoise"] .mq-final-result-page,
.mq-shell[data-skin="ardoise"] .mq-solo-result-page {
  background:radial-gradient(circle at 50% 2%,rgba(139,225,232,.12),transparent 25%),linear-gradient(180deg,#263b45 0%,#17272f 42%,#0b151a 100%) !important;
}
.mq-shell[data-skin="nuit"] .mq-final-result-page,
.mq-shell[data-skin="nuit"] .mq-solo-result-page {
  background:radial-gradient(circle at 50% 2%,rgba(118,157,255,.13),transparent 25%),linear-gradient(180deg,#121d33 0%,#0a1221 44%,#050a13 100%) !important;
}
.mq-shell[data-skin] .mq-final-result-page:not(.is-loss) .mq-final-particles i:nth-child(3n+1) { background:var(--mq-accent) !important; }
.mq-shell[data-skin] .mq-final-result-page:not(.is-loss) .mq-final-particles i:nth-child(3n+2) { background:var(--mq-accent-2) !important; }
.mq-shell[data-skin] .mq-final-result-page:not(.is-loss) .mq-final-particles i:nth-child(3n) { background:color-mix(in srgb,var(--mq-accent) 42%,#fff) !important; }

/* Le halo des résultats n'introduit plus de bleu froid dans Ambre/Grenat. */
.mq-shell[data-skin="ambre"] .mq-final-result-page::before,
.mq-shell[data-skin="grenat"] .mq-final-result-page::before {
  background:repeating-linear-gradient(112deg,transparent 0 8%,rgba(255,244,218,.10) 8.3%,transparent 8.8% 16%),radial-gradient(ellipse at 50% 8%,rgba(255,239,205,.42),transparent 32%) !important;
}
.mq-shell[data-skin="ambre"] .mq-final-result-page::after,
.mq-shell[data-skin="grenat"] .mq-final-result-page::after {
  background:radial-gradient(ellipse,color-mix(in srgb,var(--mq-accent) 20%,rgba(255,244,218,.62)),transparent 70%) !important;
}

/* =========================================================================
   MEMOQUEST v87 — MASTER THEME QA / PASS 4
   Derniers contrastes des héros de résultats sur fonds foncés.
   ========================================================================= */
.mq-shell[data-skin="grenat"] .mq-final-result-hero :is(.mq-eyebrow,h2,strong,small) { color:#fff7ef !important; }
.mq-shell[data-skin="grenat"] .mq-final-result-hero .mq-eyebrow { color:#f0c18e !important; }
.mq-shell[data-skin="ocean"] .mq-final-result-hero :is(.mq-eyebrow,h2,strong,small) { color:#f3fdff !important; }
.mq-shell[data-skin="ocean"] .mq-final-result-hero .mq-eyebrow { color:#a6f2f7 !important; }
.mq-shell[data-skin="nuit"] .mq-final-result-hero :is(.mq-eyebrow,h2,strong,small),
.mq-shell[data-skin="ardoise"] .mq-final-result-hero :is(.mq-eyebrow,h2,strong,small) { color:var(--mq-screen-text) !important; }

/* ================================================================
   MemoQuest 6.35.0 — Monde marin — FINAL VISUAL PASS
   Un seul fond commun par partie (géré par JS). Les animaux restent transparents.
   Le fond reçoit uniquement un léger assombrissement latéral pour la profondeur.
   ================================================================ */
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front {
  padding: 0;
  gap: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg,
      rgba(5,24,50,.17) 0%,
      rgba(5,24,50,.075) 8%,
      rgba(5,24,50,0) 19%,
      rgba(5,24,50,0) 81%,
      rgba(5,24,50,.075) 92%,
      rgba(5,24,50,.17) 100%),
    var(--mq-marine-bg,linear-gradient(155deg,#d8fbff,#66d9ef)) !important;
  color: #fff;
}
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front img {
  position: absolute !important;
  inset: 5.5% 6% 19% 6% !important;
  width: 88% !important;
  height: 75.5% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  clip-path: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  filter: drop-shadow(0 3px 4px rgba(3,24,46,.20)) !important;
}
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front > .mq-card-name {
  position: absolute !important;
  z-index: 4;
  left: 4% !important;
  right: 4% !important;
  bottom: 3.8% !important;
  width: 92% !important;
  max-width: 92% !important;
  min-height: 1.15em;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  display: flex !important;
  align-items: flex-end;
  justify-content: center;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: clamp(6.5px,1.08vmin,10px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  text-shadow:
    0 1px 1px rgba(2,13,30,.92),
    0 1px 3px rgba(2,13,30,.80),
    0 0 5px rgba(2,13,30,.28) !important;
}
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front > .mq-card-name.is-long,
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front > .mq-card-name.is-very-long {
  font-size: clamp(6px,.98vmin,9px) !important;
  line-height: 1.02 !important;
}
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-card.is-done .mq-front {
  background:
    linear-gradient(90deg,
      rgba(5,24,50,.17) 0%,
      rgba(5,24,50,.075) 8%,
      rgba(5,24,50,0) 19%,
      rgba(5,24,50,0) 81%,
      rgba(5,24,50,.075) 92%,
      rgba(5,24,50,.17) 100%),
    var(--mq-marine-bg,linear-gradient(155deg,#d8fbff,#66d9ef)) !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.42), 0 0 0 2px rgba(56,189,160,.32);
}
.mq-shell[data-skin] .mq-board[data-category="monde-marin"] .mq-front.is-image-error > .mq-card-fallback {
  display: flex;
  inset: 6%;
  background: rgba(6,55,74,.88);
  color: #fff;
}

/* =========================================================================
   MEMOMILO v102 — OCEAN DESIGN SYSTEM / UNIFICATION PASS
   Direction : abyssal + pearl + cyan. Le décor soutient l'interface et ne
   concurrence jamais l'action principale. Tous les overrides restent
   strictement limités à data-skin="ocean".
   ========================================================================= */

/* 1) Source de vérité Océan : palette, surfaces, contraste et profondeur. */
.mq-shell[data-skin="ocean"] {
  --mq-bg:#04344f;
  --mq-bg-2:#07536e;
  --mq-surface:#f4fbfc;
  --mq-surface-raised:#ffffff;
  --mq-surface-soft:#e7f5f6;
  --mq-surface-selected:#d7eff1;
  --mq-text:#082f45;
  --mq-text-secondary:#3e6476;
  --mq-text-muted:#688594;
  --mq-text-on-light:#082f45;
  --mq-text-on-dark:#ffffff;
  --mq-accent:#0a7586;
  --mq-accent-strong:#075b70;
  --mq-accent-2:#0b6494;
  --mq-border:#bcdfe3;
  --mq-border-active:#0a7586;
  --mq-success:#247444;
  --mq-error:#b13243;
  --mq-warning:#7a5606;
  --mq-locked:#667982;
  --mq-shadow:0 14px 34px rgba(0,39,62,.20);
  --mq-shadow-soft:0 5px 16px rgba(0,47,70,.13);
  --mq-glow:0 0 0 3px rgba(10,117,134,.16);
  --mq-button-bg:linear-gradient(135deg,#08758b 0%,#075f86 52%,#0a5684 100%);
  --mq-button-edge:#04475c;
  --mq-button-text:#ffffff;
  --mq-ocean-abyss:#032b44;
  --mq-ocean-deep:#064d68;
  --mq-ocean-water:#0a7890;
  --mq-ocean-cyan:#36c8cd;
  --mq-ocean-cyan-soft:#c8f0f1;
  --mq-ocean-pearl:#f7fcfd;
  --mq-ocean-line:#bcdfe3;
  --mq-ocean-ink:#082f45;
  --mq-ocean-muted:#4b7181;
  --turq:var(--mq-accent);
  --turq-2:var(--mq-accent-strong);
  --bleu:var(--mq-accent-2);
  --bleu-2:var(--mq-accent-strong);
  --degrade:var(--mq-button-bg);
  background:
    radial-gradient(ellipse at 50% -8%,rgba(168,239,242,.38) 0%,rgba(55,178,195,.18) 25%,transparent 52%),
    linear-gradient(180deg,#0d849d 0%,#086a85 28%,#07516e 58%,#04344f 100%) !important;
  color-scheme:light;
}

/* 2) Décor global : calme sur les écrans utilitaires, immersif seulement
      pendant le jeu. */
.mq-shell[data-skin="ocean"] .mq-ambiance {
  opacity:.72;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(200,252,253,.30) 0%,rgba(68,181,194,.10) 34%,transparent 66%),
    linear-gradient(180deg,rgba(3,55,78,.02),rgba(2,38,60,.13)) !important;
}
.mq-shell[data-skin="ocean"] .mq-ambiance::before { opacity:.22 !important; animation-duration:24s !important; }
.mq-shell[data-skin="ocean"] .mq-ambiance::after { opacity:.28 !important; }
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(1) { opacity:.58;animation-duration:21s !important; }
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(2) { opacity:.46;animation-duration:24s !important; }
.mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(3) { opacity:.38;animation-duration:18s !important; }
.mq-shell[data-skin="ocean"] .mq-ocean-fish,
.mq-shell[data-skin="ocean"] .mq-ocean-flora { display:none !important; }
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-ambiance { opacity:1; }
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-ambiance::before { opacity:.34 !important; }
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-ambiance::after { opacity:.44 !important; }
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-ocean-fish { display:block !important;opacity:.12 !important; }
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-ocean-flora { display:block !important;opacity:.16 !important; }
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] .mq-ocean-fish-a { display:block !important;opacity:.08 !important; }

/* 3) Chrome : top bar, navigation et contrôles. */
.mq-shell[data-skin="ocean"] .mq-top,
.mq-shell[data-skin="ocean"] .mq-nav {
  background:rgba(248,253,254,.94) !important;
  color:var(--mq-text) !important;
  border-color:rgba(188,223,227,.86) !important;
  box-shadow:0 8px 24px rgba(0,43,65,.12),inset 0 1px 0 rgba(255,255,255,.96) !important;
  backdrop-filter:blur(14px) saturate(1.05);
}
.mq-shell[data-skin="ocean"] .mq-chip,
.mq-shell[data-skin="ocean"] .mq-icon-btn {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin="ocean"] .mq-nav button { color:#557886 !important; }
.mq-shell[data-skin="ocean"] .mq-nav button.is-on {
  color:var(--mq-accent-strong) !important;
  background:#e3f4f5 !important;
}
.mq-shell[data-skin="ocean"] .mq-nav button.is-on::after { background:var(--mq-accent) !important; }
.mq-shell[data-skin="ocean"] .mq-xp { background:#d7e7ea !important; }
.mq-shell[data-skin="ocean"] .mq-xp i { background:linear-gradient(90deg,#22aeb6,#0c7295) !important; }

/* 4) CTA : plus aucun texte blanc sur cyan clair. */
.mq-shell[data-skin="ocean"] :is(.mq-btn-primary,.mq-play,.mq-setup-foot .mq-btn:not(.is-unlock),.mq-privacy-link) {
  color:#fff !important;
  background-color:#075f86 !important;
  background-image:linear-gradient(135deg,#08758b,#075f86 56%,#0a5684) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 4px 0 #04475c,0 10px 22px rgba(0,52,78,.22) !important;
  text-shadow:0 1px 2px rgba(0,25,42,.30) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-btn-primary,.mq-play,.mq-setup-foot .mq-btn:not(.is-unlock),.mq-privacy-link):active {
  box-shadow:0 2px 0 #04475c,0 6px 14px rgba(0,52,78,.18) !important;
}

/* 5) Accueil : le contenu redevient prioritaire sur le décor. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] {
  background:
    radial-gradient(ellipse at 50% 2%,rgba(174,243,245,.32),transparent 38%),
    linear-gradient(180deg,#0c7f98 0%,#075f7a 42%,#04354f 100%) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-ambiance { opacity:.50; }
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-ambiance::before { opacity:.14 !important; }
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-ambiance::after { opacity:.20 !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) {
  background:linear-gradient(155deg,rgba(255,255,255,.95),rgba(237,248,249,.92)) !important;
  border:1px solid rgba(190,225,229,.92) !important;
  box-shadow:0 18px 42px rgba(0,36,58,.20),inset 0 1px 0 #fff !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) :is(h1,h2,h3,strong) { color:var(--mq-text) !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) :is(p,small) { color:var(--mq-text-secondary) !important; }

/* 6) Profil : supprimer l'ancien ciel turquoise/sable générique. */
.mq-shell[data-skin="ocean"][data-screen="profil"] {
  --profile-border:rgba(188,223,227,.92);
  --profile-line:#d8e9ec;
  background:
    radial-gradient(circle at 12% 15%,rgba(218,251,252,.22) 0 1.3px,transparent 2.4px),
    radial-gradient(circle at 86% 31%,rgba(218,251,252,.16) 0 1.2px,transparent 2.4px),
    linear-gradient(180deg,#0b7892 0%,#09637e 22%,#0b5970 45%,#e6f3f4 45.2%,#f2f8f8 100%) !important;
  background-size:150px 150px,190px 190px,auto !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-profile-identity,.mq-profile-panel,.mq-profile-metric,.mq-avatar-picker) {
  background:linear-gradient(155deg,#fff,#f2fafb) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 7px 20px rgba(0,49,70,.12),inset 0 1px 0 #fff !important;
}
.mq-shell[data-skin="ocean"] .mq-profile-avatar-large,
.mq-shell[data-skin="ocean"] .mq-avatar { box-shadow:0 0 0 3px rgba(54,200,205,.18),0 8px 18px rgba(0,49,70,.16) !important; }
.mq-shell[data-skin="ocean"] .mq-profile-level-line > b { background:var(--mq-button-bg) !important; }

/* 7) Boutique et Réglages : surfaces calmes + miniature Océan cohérente. */
.mq-shell[data-skin="ocean"] :is(.mq-shop-stack,.mq-settings-list) { gap:10px; }
.mq-shell[data-skin="ocean"] :is(.mq-opt,.mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card) {
  background:linear-gradient(155deg,#fff,#f4fafb) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 5px 15px rgba(0,47,70,.10) !important;
}
.mq-shell[data-skin="ocean"] .mq-theme-option.is-active {
  border-color:var(--mq-accent) !important;
  box-shadow:0 0 0 3px rgba(10,117,134,.13),0 8px 20px rgba(0,47,70,.13) !important;
}
.mq-shell[data-skin="ocean"] .mq-settings-icon {
  background:#e2f3f4 !important;
  color:var(--mq-accent-strong) !important;
}
/* La preview Océan n'utilise plus la photo réaliste : elle reflète le vrai UI. */
.mq-shell[data-skin="ocean"] :is(.mq-theme-option[data-skin="ocean"],.mq-theme-option[data-theme="ocean"]) .mq-theme-image {
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(220,255,255,.82),transparent 38%),
    radial-gradient(circle at 18% 74%,rgba(103,220,225,.30) 0 3%,transparent 4%),
    radial-gradient(circle at 78% 52%,rgba(224,255,255,.50) 0 2%,transparent 3%),
    linear-gradient(180deg,#1a9eb4 0%,#08728c 45%,#06435f 100%) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-theme-option[data-skin="ocean"],.mq-theme-option[data-theme="ocean"]) .mq-theme-image img { opacity:0 !important; }
.mq-shell[data-skin="ocean"] :is(.mq-theme-option[data-skin="ocean"],.mq-theme-option[data-theme="ocean"]) .mq-theme-image::before {
  content:"";position:absolute;inset:-5% 12% 20%;
  background:linear-gradient(104deg,transparent 0 24%,rgba(225,255,255,.34) 38%,transparent 54%),linear-gradient(77deg,transparent 0 36%,rgba(225,255,255,.20) 48%,transparent 62%);
  filter:blur(2px);transform:skewX(-4deg);
}
.mq-shell[data-skin="ocean"] :is(.mq-theme-option[data-skin="ocean"],.mq-theme-option[data-theme="ocean"]) .mq-theme-image::after {
  content:"";position:absolute;left:8%;right:8%;bottom:8%;height:34%;opacity:.82;
  background:
    radial-gradient(ellipse at 15% 70%,#0b6175 0 13%,transparent 14%),
    radial-gradient(ellipse at 80% 75%,#0a536b 0 15%,transparent 16%),
    radial-gradient(ellipse at 52% 92%,#083d58 0 28%,transparent 29%);
  filter:blur(.2px);
}

/* 8) Mise en place : réduire halos/rings/streaks et clarifier le carrousel. */
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] {
  background:
    radial-gradient(ellipse at 50% -7%,rgba(188,246,247,.28),transparent 42%),
    linear-gradient(180deg,#0b7690 0%,#075a75 48%,#04354f 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="miseEnPlace"]::before { opacity:.24 !important; }
.mq-shell[data-skin="ocean"] .mq-univers-aura { opacity:.26 !important;filter:blur(14px) saturate(.9) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-layer.is-rings i { opacity:.22 !important; }
.mq-shell[data-skin="ocean"] :is(.mq-univers-layer.is-rings b,.mq-univers-twinkle,.mq-univers-streak) { opacity:.18 !important; }
.mq-shell[data-skin="ocean"] .mq-univers-body {
  background:linear-gradient(165deg,rgba(255,255,255,.96),rgba(235,248,249,.92)) !important;
  border-color:rgba(188,223,227,.88) !important;
  box-shadow:0 16px 36px rgba(0,36,56,.18),inset 0 1px 0 #fff !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-name { color:var(--mq-text) !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] .mq-univers-sub { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-pill,
.mq-shell[data-skin="ocean"] .mq-univers-tag {
  background:#e5f4f5 !important;color:var(--mq-accent-strong) !important;border-color:#c4e2e5 !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-arrow {
  background:#f7fcfd !important;color:var(--mq-accent-strong) !important;border-color:var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-dots i { background:rgba(231,246,247,.44) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-dots i.is-on { background:#d8f4f4 !important;box-shadow:0 0 0 2px rgba(54,200,205,.18) !important; }

/* 9) Histoire / Atlas : une seule direction, perle sur eau profonde. */
.mq-shell[data-skin="ocean"] .mq-view[data-view="histoire"] .mq-histoire-titre :is(.mq-title,.mq-eyebrow) { color:#f4fdff !important; }
.mq-shell[data-skin="ocean"] .mq-view[data-view="histoire"] .mq-histoire-titre .mq-eyebrow { color:#bfecef !important; }
.mq-shell[data-skin="ocean"] .mq-histoire-total {
  background:rgba(247,252,253,.94) !important;color:var(--mq-accent-strong) !important;border:1px solid var(--mq-border) !important;box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin="ocean"] .mq-story-atlas {
  background:#f4fbfc !important;border:1px solid rgba(188,223,227,.82) !important;box-shadow:0 15px 32px rgba(0,38,60,.18) !important;
}
.mq-shell[data-skin="ocean"] .mq-story-atlas-head {
  background:linear-gradient(145deg,#fff,#eef8f9) !important;border-color:#d5e9eb !important;
}
.mq-shell[data-skin="ocean"] .mq-story-atlas-map { background:#e4f1f3 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero {
  background:linear-gradient(180deg,#0c7891 0%,#075c77 70%,#064c66 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-story-region-hero>h3 { color:#f7fdff !important;text-shadow:0 2px 8px rgba(0,31,48,.24) !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>small { color:#d3edf0 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>p { color:#9ce0e5 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>b { background:rgba(248,253,254,.95) !important;color:var(--mq-accent-strong) !important;border-color:#c7e4e7 !important; }
.mq-shell[data-skin="ocean"] .mq-story-atlas-dock { background:rgba(247,252,253,.97) !important;border-color:#d4e7e9 !important; }

/* 10) Online / Tournois : supprimer le choc blanc pur / bleu abyssal. */
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] .mq-online-head :is(.mq-title,.mq-eyebrow) { color:#f6fdff !important; }
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] .mq-online-head .mq-eyebrow { color:#bfecef !important; }
.mq-shell[data-skin="ocean"] :is(.mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,.mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,.mq-tp-foot) {
  background:linear-gradient(155deg,#fff,#eff8f9) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 8px 22px rgba(0,43,65,.13) !important;
}
.mq-shell[data-skin="ocean"] .mq-online-hero-icon,
.mq-shell[data-skin="ocean"] .mq-search-core {
  background:var(--mq-button-bg) !important;color:#fff !important;box-shadow:0 10px 22px rgba(0,55,80,.21) !important;
}
.mq-shell[data-skin="ocean"] .mq-competitive-card::after { opacity:.18 !important; }

/* 11) Gameplay : immersion maîtrisée, meilleure hiérarchie. */
.mq-shell[data-skin="ocean"][data-screen="plateau"] {
  background:
    radial-gradient(ellipse at 50% -5%,rgba(185,244,246,.26),transparent 43%),
    linear-gradient(180deg,#0b6f88 0%,#075773 45%,#03334e 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-gamebar { padding-top:5px; }
.mq-shell[data-skin="ocean"] .mq-score-chip,
.mq-shell[data-skin="ocean"] .mq-game-action {
  background:rgba(248,253,254,.95) !important;
  color:var(--mq-text) !important;
  border-color:rgba(188,223,227,.90) !important;
  box-shadow:0 6px 18px rgba(0,36,56,.16),inset 0 1px 0 #fff !important;
}
.mq-shell[data-skin="ocean"] .mq-score-chip :is(small,strong),
.mq-shell[data-skin="ocean"] .mq-game-action svg { color:var(--mq-text) !important; }
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn {
  border-color:var(--mq-accent) !important;
  box-shadow:0 0 0 3px rgba(10,117,134,.14),0 7px 20px rgba(0,36,56,.17) !important;
}
.mq-shell[data-skin="ocean"] .mq-turn-dot { background:#0a7586 !important;box-shadow:0 0 0 3px rgba(54,200,205,.20),0 0 10px rgba(54,200,205,.34) !important; }
.mq-shell[data-skin="ocean"] .mq-board-wrap::before { opacity:.32 !important; }
.mq-shell[data-skin="ocean"] .mq-back {
  background:linear-gradient(145deg,#0a7891 0%,#075c78 55%,#064765 100%) !important;
  border-color:#8cd4d9 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 5px 15px rgba(0,28,47,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-back::before { opacity:.46 !important; }
.mq-shell[data-skin="ocean"] .mq-back::after { opacity:.28 !important; }
.mq-shell[data-skin="ocean"] .mq-front { border-color:#bfe2e4 !important; }
.mq-shell[data-skin="ocean"] .mq-game-progress { background:rgba(225,245,247,.24) !important; }
.mq-shell[data-skin="ocean"] .mq-game-progress i { background:linear-gradient(90deg,#31bdc3,#0d7695) !important; }
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-face,
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front { border-color:#73c7c8 !important;box-shadow:0 0 0 2px rgba(54,200,205,.16),0 7px 18px rgba(0,36,56,.16) !important; }

/* Monde marin + Océan : le thème encadre la carte, il ne recouvre pas le
   fond propre à la catégorie. */
.mq-shell[data-skin="ocean"] .mq-board[data-category="monde-marin"] .mq-front {
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.32) !important;
}
.mq-shell[data-skin="ocean"] .mq-board[data-category="monde-marin"] .mq-card.is-done .mq-front {
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.42),0 0 0 2px rgba(54,200,205,.24) !important;
}

/* 12) Activités pédagogiques et sheets : une palette unique. */
.mq-shell[data-skin="ocean"] :is(.mq-sheet,.mq-game-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,.mq-game-popover) {
  background:linear-gradient(155deg,#fff,#f1f9fa) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 16px 38px rgba(0,34,55,.19) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-sheet,.mq-game-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,.mq-game-popover) :is(h2,h3,h4,strong,b) { color:var(--mq-text) !important; }
.mq-shell[data-skin="ocean"] :is(.mq-sheet,.mq-game-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,.mq-game-popover) :is(p,small,label) { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin="ocean"] .mq-reaction-tile {
  background:#f5fbfc !important;border-color:#cce5e8 !important;color:var(--mq-text) !important;
}
.mq-shell[data-skin="ocean"] .mq-reaction-tile:hover,
.mq-shell[data-skin="ocean"] .mq-reaction-tile:focus-visible { background:#e5f5f6 !important;border-color:var(--mq-accent) !important; }
.mq-shell[data-skin="ocean"] .mq-reaction-bubble { background:rgba(247,252,253,.96) !important;color:var(--mq-text) !important;border-color:var(--mq-border) !important; }
/* Qui suis-je : supprimer la rupture sombre et conserver le mystère via le
   contraste des cartes, pas via un changement complet de thème. */
.mq-shell[data-skin="ocean"] .mq-who-layer .mq-sheet,
.mq-shell[data-skin="ocean"] .mq-who-stage {
  background:linear-gradient(165deg,#f7fcfd,#eaf6f7) !important;color:var(--mq-text) !important;
}
.mq-shell[data-skin="ocean"] .mq-who-heading :is(.mq-title,.mq-sheet-title) { color:var(--mq-text) !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] .mq-who-badge { color:var(--mq-accent-strong) !important;background:#dff1f2 !important;border-color:#b8dce0 !important; }

/* 13) Résultats : prolonger l'expérience Océan sans la surcharger. */
.mq-shell[data-skin="ocean"] .mq-final-result-page,
.mq-shell[data-skin="ocean"] .mq-solo-result-page {
  background:
    radial-gradient(ellipse at 50% 2%,rgba(202,249,250,.22),transparent 30%),
    linear-gradient(180deg,#0c7891 0%,#075b77 42%,#03334e 100%) !important;
  color:#f5fdff !important;
}
.mq-shell[data-skin="ocean"] .mq-final-result-page::before { opacity:.32 !important; }
.mq-shell[data-skin="ocean"] .mq-final-result-page::after { opacity:.24 !important; }
.mq-shell[data-skin="ocean"] .mq-final-result-hero :is(.mq-eyebrow,h2,strong,small) { color:#f6fdff !important; }
.mq-shell[data-skin="ocean"] .mq-final-result-hero .mq-eyebrow { color:#b8e9ec !important; }
.mq-shell[data-skin="ocean"] .mq-solo-score-card {
  background:linear-gradient(155deg,rgba(255,255,255,.96),rgba(237,248,249,.94)) !important;
  border-color:#bfe0e3 !important;box-shadow:0 12px 28px rgba(0,34,54,.18) !important;
}
.mq-shell[data-skin="ocean"] .mq-solo-score-card :is(strong,b,h3) { color:var(--mq-text) !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] .mq-solo-score-card :is(small,span,p) { color:var(--mq-text-secondary) !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] .mq-final-replay,
.mq-shell[data-skin="ocean"] .mq-final-home {
  border-color:rgba(190,225,229,.70) !important;
}

/* 14) Petits écrans et mouvement réduit. */
@media (max-width:430px) {
  .mq-shell[data-skin="ocean"] .mq-ambiance::before { opacity:.14 !important; }
  .mq-shell[data-skin="ocean"] .mq-ambiance i:nth-child(2) { opacity:.28 !important; }
  .mq-shell[data-skin="ocean"] .mq-univers-aura { opacity:.18 !important; }
  .mq-shell[data-skin="ocean"] :is(.mq-univers-layer.is-rings b,.mq-univers-twinkle,.mq-univers-streak) { opacity:.10 !important; }
  .mq-shell[data-skin="ocean"] .mq-ocean-fish,
  .mq-shell[data-skin="ocean"] .mq-ocean-flora { display:none !important; }
}
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance::before,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance i,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ocean-fish,
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ocean-flora,
.mq-shell[data-skin="ocean"][data-motion="calme"] :is(.mq-univers-twinkle,.mq-univers-streak) { animation:none !important; }
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ocean"] .mq-ambiance::before,
  .mq-shell[data-skin="ocean"] .mq-ambiance i,
  .mq-shell[data-skin="ocean"] .mq-ocean-fish,
  .mq-shell[data-skin="ocean"] .mq-ocean-flora,
  .mq-shell[data-skin="ocean"] :is(.mq-univers-twinkle,.mq-univers-streak) { animation:none !important; }
}


/* =========================================================================
   MEMOMILO v103 — OCEAN RESCUE / PERFORMANCE + DESIGN PASS
   Direction: profondeur marine premium, surfaces intégrées, zéro "carte blanche"
   décorative. Pas de blur/backdrop permanent ni d'animations infinies Océan.
   ========================================================================= */

/* A. Source visuelle finale Océan — ce bloc a priorité sur tous les anciens
      essais. */
.mq-shell[data-skin="ocean"] {
  --mq-bg:#032936;
  --mq-bg-2:#06465a;
  --mq-surface:#093d4d;
  --mq-surface-raised:#0c4a5c;
  --mq-surface-soft:#0b4353;
  --mq-surface-selected:#105a6c;
  --mq-text:#f4fdff;
  --mq-text-secondary:#c4e0e6;
  --mq-text-muted:#8fb9c3;
  --mq-text-on-light:#082f3d;
  --mq-text-on-dark:#f7feff;
  --mq-accent:#52d7da;
  --mq-accent-strong:#6de5e4;
  --mq-accent-2:#55bfe0;
  --mq-border:rgba(104,206,211,.28);
  --mq-border-active:rgba(92,225,226,.72);
  --mq-shadow:0 12px 30px rgba(0,17,25,.24);
  --mq-shadow-soft:0 6px 16px rgba(0,17,25,.20);
  --mq-button-bg:linear-gradient(135deg,#0c7890 0%,#09657c 55%,#074f69 100%);
  --mq-button-edge:#053b50;
  --mq-button-text:#fff;
  --encre:#f4fdff;
  --encre-2:#c4e0e6;
  --encre-3:#8fb9c3;
  --turq:#52d7da;
  --turq-2:#6de5e4;
  --bleu:#55bfe0;
  --bleu-2:#2b8fb8;
  --degrade:var(--mq-button-bg);
  color-scheme:dark;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(104,224,226,.27) 0%,rgba(34,139,158,.14) 28%,transparent 51%),
    radial-gradient(ellipse at 10% 72%,rgba(37,132,151,.12),transparent 34%),
    linear-gradient(180deg,#0b7186 0%,#07566c 31%,#064255 61%,#032936 100%) !important;
}

/* B. PERFORMANCE — les principaux coupables des freezes Océan. */
.mq-shell[data-skin="ocean"] .mq-ambiance,
.mq-shell[data-skin="ocean"] .mq-ocean-fish,
.mq-shell[data-skin="ocean"] .mq-ocean-flora { display:none !important; }
.mq-shell[data-skin="ocean"] :is(.mq-top,.mq-nav,.mq-chip,.mq-icon-btn,.mq-sheet,.mq-game-sheet,.mq-activity-sheet,.mq-game-popover,.mq-theme-option,.mq-profile-panel,.mq-settings-row) {
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.mq-shell[data-skin="ocean"] :is(
  .mq-h2-play::after,.mq-xp i::after,.mq-univers-twinkle,.mq-univers-streak,
  .mq-univers-layer.is-rings i,.mq-univers-layer.is-rings b,.mq-h2-shard,
  .mq-h2-bolt,.mq-h2-spark,.mq-h2-ring,.mq-h2-light,.mq-arena-sheen
) { animation:none !important; }
.mq-shell[data-skin="ocean"] .mq-h2-light { display:none !important; }
.mq-shell[data-skin="ocean"] :is(.mq-h2-card,.mq-h2-flip,.mq-univers-card,.mq-card) { will-change:auto !important; }

/* C. ACCUEIL — plus aucune grande plaque blanche. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] {
  --mq-home-bg:
    radial-gradient(ellipse at 50% -8%,rgba(111,230,230,.26),transparent 42%),
    radial-gradient(ellipse at 14% 66%,rgba(28,129,146,.12),transparent 32%),
    linear-gradient(180deg,#0b7186 0%,#07576d 31%,#064356 62%,#032936 100%);
  background:var(--mq-home-bg) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-top {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#f5fdff !important;
  padding:2px 1px !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-profil-info strong {
  color:#f5fdff !important;
  text-shadow:0 1px 2px rgba(0,24,34,.42) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-xp {
  background:rgba(2,35,48,.42) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.22) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-xp i {
  background:linear-gradient(90deg,#6de5e4,#55bfe0) !important;
  box-shadow:none !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-avatar {
  background:#0b4557 !important;
  box-shadow:0 5px 14px rgba(0,20,29,.28) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-avatar::before {
  background:linear-gradient(135deg,#7ce8e6,#42a9ce) !important;
  padding:1.5px !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-avatar b {
  border-color:#06384a !important;
  background:#0a7890 !important;
  box-shadow:0 3px 8px rgba(0,20,29,.28) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-chip,
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-icon-btn {
  background:linear-gradient(180deg,rgba(9,63,80,.96),rgba(5,47,62,.96)) !important;
  border:1px solid rgba(106,207,212,.28) !important;
  color:#eafcff !important;
  box-shadow:0 5px 14px rgba(0,20,29,.24) !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-chip::before { display:none !important; }
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-chip .mq-plus {
  background:#0b7590 !important;
  box-shadow:none !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-coffre { color:#ffd46b !important; }

/* Les cartes héros deviennent des objets marins — cadre fin, jamais une grosse
   carte blanche. */
.mq-shell[data-skin="ocean"] .mq-h2-face {
  border-radius:18px !important;
  box-shadow:0 9px 22px rgba(0,19,28,.30) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-front {
  padding:2px !important;
  background:linear-gradient(165deg,#0d5669,#073c4d) !important;
  border:2px solid rgba(108,225,226,.72) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-front img {
  object-fit:contain !important;
  border-radius:15px !important;
  background:linear-gradient(160deg,#0f6072,#083f50) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-front b {
  left:2px !important;right:2px !important;bottom:2px !important;
  padding:24% 7% 8% !important;
  border-radius:0 0 14px 14px !important;
  background:linear-gradient(180deg,transparent,rgba(1,22,31,.86)) !important;
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.62) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-front::after {
  inset:0 !important;
  border-radius:17px !important;
  box-shadow:inset 0 0 0 2px rgba(105,230,226,.78) !important;
  opacity:0 !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-slot.is-paired .mq-h2-front::after { opacity:1 !important; }
.mq-shell[data-skin="ocean"] .mq-h2-seal {
  width:29% !important;margin:-14.5% 0 0 -14.5% !important;
  background:linear-gradient(145deg,#3dc8cb,#14778d) !important;
  box-shadow:0 5px 14px rgba(0,24,34,.30),0 0 0 2px rgba(181,248,247,.55) !important;
}

/* Logo lisible : une seule famille chromatique, pas de moitié sombre invisible. */
.mq-shell[data-skin="ocean"] .mq-h2-brand h1 span {
  color:#f5fdff !important;
  text-shadow:0 2px 8px rgba(0,20,30,.36) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-brand h1 .is-m { color:#6ee7e4 !important; }
.mq-shell[data-skin="ocean"] .mq-h2-brand h1 .is-q { color:#f5fdff !important; }
.mq-shell[data-skin="ocean"] .mq-h2-brand p {
  color:#c6e3e8 !important;
  text-shadow:0 1px 2px rgba(0,22,31,.34) !important;
}

/* CTA JOUER intégré à l'océan, plus de grande capsule blanche. */
.mq-shell[data-skin="ocean"] .mq-h2-play {
  background:linear-gradient(135deg,#0b6f86 0%,#075a72 55%,#06475f 100%) !important;
  border:1px solid rgba(118,225,227,.40) !important;
  box-shadow:0 9px 22px rgba(0,20,29,.28),inset 0 1px 0 rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-play::before { display:none !important; }
.mq-shell[data-skin="ocean"] .mq-h2-play-ic {
  background:#0a8196 !important;
  border:1px solid rgba(133,236,234,.38) !important;
  box-shadow:0 4px 10px rgba(0,20,29,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-play-t > span {
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:#f7feff !important;
  text-shadow:0 1px 2px rgba(0,20,29,.38) !important;
}
.mq-shell[data-skin="ocean"] .mq-h2-play-t small { color:#c7e5e9 !important; }

/* Navigation basse : panneau sombre intégré, pas une seconde carte blanche. */
.mq-shell[data-skin="ocean"] .mq-nav {
  background:linear-gradient(180deg,rgba(8,58,73,.97),rgba(4,42,55,.98)) !important;
  border:1px solid rgba(105,205,210,.25) !important;
  box-shadow:0 8px 22px rgba(0,18,27,.28) !important;
}
.mq-shell[data-skin="ocean"] .mq-nav button { color:#93bbc4 !important; }
.mq-shell[data-skin="ocean"] .mq-nav button.is-on {
  color:#75e4e2 !important;
  background:rgba(72,188,197,.12) !important;
  box-shadow:none !important;
}
.mq-shell[data-skin="ocean"] .mq-nav button.is-on::after {
  background:#5edbda !important;
  box-shadow:none !important;
}

/* D. AUTRES ÉCRANS — un seul matériau sombre, sans rectangles blancs flottants. */
.mq-shell[data-skin="ocean"] .mq-top:not([hidden]) {
  background:linear-gradient(180deg,rgba(8,58,73,.97),rgba(5,47,61,.97)) !important;
  color:#f4fdff !important;
  border:1px solid rgba(103,204,209,.24) !important;
  box-shadow:0 6px 18px rgba(0,18,27,.22) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-chip,.mq-icon-btn) {
  background:#0b4658 !important;
  color:#eafcff !important;
  border-color:rgba(101,205,211,.25) !important;
  box-shadow:0 4px 12px rgba(0,18,27,.20) !important;
}
.mq-shell[data-skin="ocean"] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,.mq-tp-foot,
  .mq-mission,.mq-story-atlas,.mq-story-atlas-head,.mq-story-atlas-dock,
  .mq-game-sheet,.mq-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,
  .mq-game-popover,.mq-solo-score-card
) {
  background:linear-gradient(160deg,#0c4d5e,#083b4b) !important;
  color:#f3fcff !important;
  border-color:rgba(105,207,212,.26) !important;
  box-shadow:0 8px 22px rgba(0,18,27,.22) !important;
}
.mq-shell[data-skin="ocean"] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,.mq-tp-foot,
  .mq-mission,.mq-story-atlas,.mq-story-atlas-head,.mq-story-atlas-dock,
  .mq-game-sheet,.mq-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,
  .mq-game-popover,.mq-solo-score-card
) :is(h1,h2,h3,h4,strong,b) { color:#f4fdff !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] :is(
  .mq-profile-identity,.mq-profile-metric,.mq-profile-panel,.mq-avatar-picker,
  .mq-settings-row,.mq-theme-panel,.mq-reset-row,.mq-promo-card,
  .mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,
  .mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code,
  .mq-rematch-dialog,.mq-tp-card,.mq-tp-choice,.mq-tp-toggle,.mq-tp-foot,
  .mq-mission,.mq-story-atlas,.mq-story-atlas-head,.mq-story-atlas-dock,
  .mq-game-sheet,.mq-sheet,.mq-activity-sheet,.mq-tips-card,.mq-privacy-panel,
  .mq-game-popover,.mq-solo-score-card
) :is(p,small,label,span:not(.mq-coin):not(.mq-plus)) { color:#bfdee5 !important; }

/* Boutique / réglages : thème actif premium mais sans encadrement massif. */
.mq-shell[data-skin="ocean"] .mq-theme-option {
  background:#0a4253 !important;
  border:1px solid rgba(102,205,211,.25) !important;
  box-shadow:none !important;
}
.mq-shell[data-skin="ocean"] .mq-theme-option.is-active,
.mq-shell[data-skin="ocean"] .mq-theme-option.is-on {
  background:linear-gradient(155deg,#105d6e,#0a4759) !important;
  border-color:#66dcda !important;
  box-shadow:0 0 0 2px rgba(87,217,216,.14) !important;
}
.mq-shell[data-skin="ocean"] .mq-theme-image { border-color:rgba(109,222,222,.28) !important; }

/* Mise en place : décor statique et lisible. */
.mq-shell[data-skin="ocean"][data-screen="miseEnPlace"] {
  background:
    radial-gradient(ellipse at 50% -6%,rgba(102,222,224,.22),transparent 42%),
    linear-gradient(180deg,#0a6d82 0%,#075469 34%,#064053 68%,#032a38 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="miseEnPlace"]::before { display:none !important; }
.mq-shell[data-skin="ocean"] .mq-setup-copy :is(.mq-eyebrow,.mq-title) { color:#f3fdff !important;text-shadow:none !important; }
.mq-shell[data-skin="ocean"] .mq-setup-copy .mq-eyebrow { color:#8edfe0 !important; }
.mq-shell[data-skin="ocean"] .mq-setup-back {
  background:#0b4658 !important;color:#eefcff !important;border-color:rgba(106,210,214,.30) !important;box-shadow:none !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-univers-card,.mq-carreau) {
  background:linear-gradient(155deg,#0c4c5d,#083a49) !important;
  border-color:rgba(104,209,213,.26) !important;
  box-shadow:0 7px 18px rgba(0,18,27,.20) !important;
}
.mq-shell[data-skin="ocean"] .mq-carreau[aria-checked="true"] {
  border-color:#63dcda !important;
  background:linear-gradient(155deg,#105d6e,#0a4557) !important;
  box-shadow:0 0 0 2px rgba(99,220,218,.12) !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-aura,
.mq-shell[data-skin="ocean"] .mq-univers-layer.is-rings,
.mq-shell[data-skin="ocean"] .mq-univers-twinkle,
.mq-shell[data-skin="ocean"] .mq-univers-streak { display:none !important; }

/* Histoire : atlas Océan sombre et net. */
.mq-shell[data-skin="ocean"] .mq-story-atlas-map { background:#073645 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero {
  background:linear-gradient(180deg,#0e6577,#08495b) !important;
  border-color:rgba(109,218,218,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-story-region-hero>small { color:#b9dce2 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>p { color:#77d7d7 !important; }
.mq-shell[data-skin="ocean"] .mq-story-region-hero>b { background:#0a4354 !important;color:#eafdff !important;border-color:rgba(103,208,212,.30) !important; }

/* Online / tournois : pas de sheen permanent. */
.mq-shell[data-skin="ocean"] .mq-arena {
  background:linear-gradient(155deg,#0f6174,#08495c 58%,#063748) !important;
  box-shadow:0 10px 26px rgba(0,18,27,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-arena::before { opacity:.12 !important; }
.mq-shell[data-skin="ocean"] .mq-arena-sheen { display:none !important; }

/* Gameplay : conserver la lisibilité des contenus, supprimer les halos lourds. */
.mq-shell[data-skin="ocean"][data-screen="plateau"] {
  background:linear-gradient(180deg,#0a657a 0%,#074d61 45%,#032d3c 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-board-wrap::before { display:none !important; }
.mq-shell[data-skin="ocean"] .mq-score-chip,
.mq-shell[data-skin="ocean"] .mq-game-action {
  background:#0a4354 !important;color:#f2fdff !important;border-color:rgba(103,207,212,.27) !important;box-shadow:0 4px 12px rgba(0,18,27,.20) !important;
}
.mq-shell[data-skin="ocean"] .mq-score-chip :is(small,strong),
.mq-shell[data-skin="ocean"] .mq-game-action svg { color:#f2fdff !important; }
.mq-shell[data-skin="ocean"] .mq-back {
  background:linear-gradient(145deg,#0c6b7c,#084b5e) !important;
  border:2px solid rgba(105,220,220,.55) !important;
  box-shadow:0 5px 13px rgba(0,18,27,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-back::before,
.mq-shell[data-skin="ocean"] .mq-back::after { opacity:.16 !important; }
.mq-shell[data-skin="ocean"] .mq-front { border:2px solid rgba(108,211,214,.40) !important;box-shadow:0 5px 13px rgba(0,18,27,.20) !important; }
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-face,
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front { box-shadow:0 0 0 2px rgba(89,219,217,.22),0 5px 13px rgba(0,18,27,.18) !important; }

/* Les cartes Monde marin utilisent directement une eau sombre derrière les
   sujets transparents; plus de cadre blanc. */
.mq-shell[data-skin="ocean"] .mq-board[data-category="monde-marin"] .mq-front {
  background:
    radial-gradient(circle at 50% 24%,rgba(78,202,208,.20),transparent 40%),
    linear-gradient(160deg,#0c6575 0%,#08495b 52%,#063646 100%) !important;
  border:2px solid rgba(112,220,220,.48) !important;
  box-shadow:0 5px 13px rgba(0,18,27,.21) !important;
}
.mq-shell[data-skin="ocean"] .mq-board[data-category="monde-marin"] .mq-card.is-done .mq-front {
  background:
    radial-gradient(circle at 50% 24%,rgba(92,221,218,.22),transparent 40%),
    linear-gradient(160deg,#0d6b79,#094e5f 52%,#063847) !important;
  box-shadow:0 0 0 2px rgba(95,222,218,.20),0 5px 13px rgba(0,18,27,.20) !important;
}

/* Résultats / activités : même matériau, sans retour au blanc. */
.mq-shell[data-skin="ocean"] .mq-final-result-page,
.mq-shell[data-skin="ocean"] .mq-solo-result-page {
  background:linear-gradient(180deg,#0a6a7e 0%,#074d61 44%,#032c3a 100%) !important;
}
.mq-shell[data-skin="ocean"] .mq-final-result-page::before,
.mq-shell[data-skin="ocean"] .mq-final-result-page::after { display:none !important; }
.mq-shell[data-skin="ocean"] .mq-reaction-tile,
.mq-shell[data-skin="ocean"] .mq-reaction-bubble {
  background:#0b4658 !important;color:#f1fdff !important;border-color:rgba(104,208,212,.26) !important;box-shadow:none !important;
}
.mq-shell[data-skin="ocean"] .mq-who-layer .mq-sheet,
.mq-shell[data-skin="ocean"] .mq-who-stage { background:#083b4b !important;color:#f2fdff !important; }

/* E. Téléphones — simplifier encore les ombres et éviter les effets chers. */
@media (max-width:480px) {
  .mq-shell[data-skin="ocean"] :is(.mq-top,.mq-nav,.mq-h2-play,.mq-h2-face,.mq-sheet,.mq-game-sheet,.mq-profile-panel,.mq-settings-row,.mq-theme-panel,.mq-univers-card,.mq-carreau) {
    box-shadow:0 5px 14px rgba(0,17,25,.18) !important;
  }
  .mq-shell[data-skin="ocean"] .mq-h2-face { border-radius:16px !important; }
  .mq-shell[data-skin="ocean"] .mq-h2-front { border-width:2px !important; }
}

/* Ocean home — COHERENCE FIX.
   Same home structure and motion system as every other theme. Ocean only owns
   its background artwork, palette, vector logo and validation artwork. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] {
  background:#032b46 !important;
  isolation:isolate;
}
.mq-ocean-background {
  position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
  background:
    linear-gradient(180deg,rgba(0,30,53,.06),rgba(0,15,34,.28)),
    url("../images/ocean-home-premium/home-ocean-bg.webp") center/cover no-repeat;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-app {
  position:absolute;inset:0;z-index:1;
}
/* The cards keep the exact common geometry: no Ocean-only top alignment or
   short-screen card shrink. This is what makes the entrance read identically. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-stage {
  justify-content:center !important;
  padding-top:0 !important;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-scene {
  flex:0 0 auto;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-brand {
  width:100%;
  margin-top:clamp(4px,1.6vh,16px);
  flex:0 1 auto;
  min-height:0;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-brand h1 {
  overflow:visible;
  line-height:1;
  font-size:inherit;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-home-brand-logo { width:min(90vw,400px); }
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-brand p {
  margin:8px 0 0;
  font-size:clamp(.8rem,3.4vw,.9rem);
}
/* Same validation footprint as the common themes; only the icon artwork is Ocean. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-seal {
  background:none !important;
  box-shadow:none !important;
  border:none !important;
  width:34% !important;
  margin:-17% 0 0 -17% !important;
  border-radius:50%;
}
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-seal img {
  display:block;width:100%;height:100%;object-fit:contain;
}
/* Ocean previously hid these, which made its entrance visibly different even
   though JavaScript was using the common timeline. They are now restored. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] :is(.mq-h2-bolt,.mq-h2-spark,.mq-h2-ring,.mq-h2-shard) {
  display:block !important;
}
/* Preserve the cross-theme WebView safety rule: the full-screen white light
   stays disabled because it can become a rectangular veil on some devices. */
.mq-shell[data-skin="ocean"][data-screen="accueil"] .mq-h2-light {
  display:none !important;
}
@media (max-height:740px) {
  .mq-home-brand-logo { max-height:clamp(82px,15dvh,122px); }
}
@media (prefers-reduced-motion:reduce) {
  .mq-home-brand-logo { will-change:auto; }
}
.mq-shell[data-screen="accueil"][data-motion="calme"] .mq-home-brand-logo {
  will-change:auto;
}

/* =========================================================================
   OCEAN CONTRAST PASS 2.3.12 / v107
   Une seule hiérarchie chromatique : fond abyssal, panneaux pétrole,
   texte ivoire. Ces règles sont volontairement finales afin de neutraliser
   les anciennes variantes Océan claires qui créaient du blanc sur blanc.
   ========================================================================= */
.mq-shell[data-skin="ocean"] {
  --ocean-abyss:#032d3b;
  --ocean-panel:#073f50;
  --ocean-panel-raised:#0a5265;
  --ocean-panel-active:#0c6072;
  --ocean-text:#f7fdff;
  --ocean-text-soft:#c7e3e9;
  --ocean-text-muted:#9fc8d1;
  --ocean-accent:#69e4df;
  --ocean-accent-deep:#0b8195;
  --ocean-line:rgba(111,224,222,.38);
  --mq-screen-text:var(--ocean-text);
  --mq-screen-secondary:var(--ocean-text-soft);
  --mq-screen-accent:var(--ocean-accent);
}

/* En-têtes de pages : jamais de bleu sombre sur l'eau sombre. */
.mq-shell[data-skin="ocean"] :is(.mq-settings-head,.mq-setup-copy,.mq-online-head,.mq-screen-head) .mq-title {
  color:var(--ocean-text) !important;
  text-shadow:0 2px 7px rgba(0,18,27,.38) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-settings-head,.mq-setup-copy,.mq-online-head,.mq-screen-head) .mq-eyebrow {
  color:#9ce9e7 !important;
  text-shadow:0 1px 4px rgba(0,18,27,.34) !important;
}
.mq-shell[data-skin="ocean"] .mq-settings-head .mq-lede { color:var(--ocean-text-soft) !important; }

/* Carrousels Partie rapide : les illustrations restent colorées, mais le
   socle et chaque libellé utilisent désormais le même matériau sombre. */
.mq-shell[data-skin="ocean"] .mq-univers-body {
  background:linear-gradient(160deg,#0c5668 0%,#073f50 58%,#053645 100%) !important;
  border:1px solid rgba(121,229,225,.42) !important;
  box-shadow:0 18px 38px rgba(0,18,28,.32),inset 0 1px 0 rgba(255,255,255,.10) !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-body::before {
  background:radial-gradient(ellipse at 50% 14%,rgba(102,229,225,.20),transparent 58%) !important;
  opacity:1 !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-name,
.mq-shell[data-skin="ocean"] .mq-univers-name em { color:var(--ocean-text) !important; text-shadow:0 2px 7px rgba(0,15,23,.44) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-sub,
.mq-shell[data-skin="ocean"] .mq-univers-card.has-pill .mq-univers-sub { color:var(--ocean-text-soft) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-pill {
  color:#063b49 !important;
  background:linear-gradient(180deg,#eaffff,#c8f2f0) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  box-shadow:0 6px 16px rgba(0,24,34,.24) !important;
  text-shadow:none !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-arrow {
  color:var(--ocean-accent) !important;
  background:linear-gradient(160deg,#0b5365,#063b4b) !important;
  border:1px solid var(--ocean-line) !important;
  box-shadow:0 7px 17px rgba(0,18,27,.26) !important;
}
.mq-shell[data-skin="ocean"] .mq-univers-dots i { background:rgba(190,231,235,.42) !important; }
.mq-shell[data-skin="ocean"] .mq-univers-dots i.is-on {
  background:linear-gradient(90deg,#d9ffff,#69e4df) !important;
  box-shadow:0 0 0 2px rgba(105,228,223,.18) !important;
}

/* Recherche multijoueur : aucun badge ou statut clair ne reçoit un texte
   blanc hérité. Les surfaces restent dans la gamme pétrole. */
.mq-shell[data-skin="ocean"] .mq-waiting-card.is-premium {
  background:linear-gradient(158deg,#0b5062,#073b4b) !important;
  border-color:var(--ocean-line) !important;
}
.mq-shell[data-skin="ocean"] .mq-search-player small { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-search-player > b {
  color:#604a08 !important;
  background:linear-gradient(180deg,#fff8d8,#f3e7ad) !important;
  border-color:#dbc871 !important;
  text-shadow:none !important;
}
.mq-shell[data-skin="ocean"] .mq-wait-status {
  background:linear-gradient(145deg,#0a4d5f,#063747) !important;
  border-color:rgba(111,224,222,.34) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.mq-shell[data-skin="ocean"] .mq-wait-status strong { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-wait-status small { color:var(--ocean-text-soft) !important; }
.mq-shell[data-skin="ocean"] .mq-room-summary span {
  color:var(--ocean-text-soft) !important;
  background:#0a4657 !important;
  border:1px solid rgba(111,224,222,.22) !important;
}
.mq-shell[data-skin="ocean"] .mq-room-summary span :is(b,i,svg) { color:inherit !important; }
.mq-shell[data-skin="ocean"] .mq-wait-help { color:var(--ocean-text-soft) !important; }
.mq-shell[data-skin="ocean"] .mq-waiting-card .mq-btn-ghost {
  color:var(--ocean-text) !important;
  background:#073d4e !important;
  border:1px solid rgba(111,224,222,.30) !important;
}

/* Réglages : panneaux sombres cohérents et texte à deux niveaux. */
.mq-shell[data-skin="ocean"] :is(.mq-settings-row,.mq-theme-panel,.mq-reset-row) {
  background:linear-gradient(155deg,#0b5061,#073b4b) !important;
  border-color:rgba(111,224,222,.26) !important;
  box-shadow:0 6px 17px rgba(0,18,27,.22) !important;
}
.mq-shell[data-skin="ocean"] .mq-settings-copy strong { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-settings-copy small { color:var(--ocean-text-soft) !important; }
.mq-shell[data-skin="ocean"] .mq-volume-value { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-settings-icon {
  color:#43bfc3 !important;
  background:linear-gradient(145deg,#f0fbfc,#d6edef) !important;
}
.mq-shell[data-skin="ocean"] .mq-settings-foot > small { color:var(--ocean-text-muted) !important; }

/* Plateau : le joueur actif reste sombre, donc son score blanc ne disparaît
   plus. Le dos des cartes gagne un niveau de contraste sans halo coûteux. */
.mq-shell[data-skin="ocean"] .mq-score-chip,
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn {
  background:linear-gradient(160deg,#0b5264,#073b4b) !important;
  color:var(--ocean-text) !important;
  border-color:rgba(111,224,222,.34) !important;
  box-shadow:0 5px 14px rgba(0,18,27,.24) !important;
}
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn {
  background:linear-gradient(160deg,#0d6878,#095164) !important;
  border-color:#75e1dd !important;
  box-shadow:0 0 0 2px rgba(105,228,223,.17),0 6px 16px rgba(0,18,27,.26) !important;
}
.mq-shell[data-skin="ocean"] .mq-score-chip :is(small,strong),
.mq-shell[data-skin="ocean"] .mq-score-chip.is-turn :is(small,strong) { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-game-action {
  background:#084355 !important;
  border-color:rgba(111,224,222,.30) !important;
}
.mq-shell[data-skin="ocean"] .mq-game-action svg { color:var(--ocean-text) !important; }
.mq-shell[data-skin="ocean"] .mq-back {
  background:linear-gradient(155deg,#0f7c8d 0%,#096174 54%,#064657 100%) !important;
  border-color:#72d9dc !important;
}
.mq-shell[data-skin="ocean"] .mq-back::before { opacity:.52 !important; }
.mq-shell[data-skin="ocean"] .mq-impact-next { color:#b9dce3 !important; text-shadow:0 1px 2px rgba(0,15,23,.45) !important; }
.mq-shell[data-skin="ocean"] .mq-impact-next em { color:#7ce9e3 !important; }

/* Cinématique de chargement : suppression définitive du voile blanc qui
   délavé les cartes, le logo, la légende et la version. */
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro),
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro)[data-intro-skin="ocean"] {
  --intro-text:#f7fdff;
  --intro-loading-text:#f7fdff;
  --intro-muted:#c7e6ec;
  --intro-logo-memo:#69e9e4;
  --intro-logo-quest:#ffffff;
  --intro-version:#b9dce4;
  --intro-version-strong:#70e5e0;
  --intro-line:#6be2df;
  background:
    radial-gradient(circle at 50% 6%,rgba(108,229,226,.26) 0%,transparent 36%),
    radial-gradient(circle at 50% 34%,rgba(19,120,143,.22),transparent 43%),
    linear-gradient(180deg,#0a7589 0%,#07546b 43%,#04384c 72%,#022c3c 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  color:var(--intro-text) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-brand,
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-letter { text-shadow:0 3px 12px rgba(0,15,25,.52) !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-caption,
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-loading-label { color:#eefcfe !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-version { color:#b9dce4 !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-version b { color:#70e5e0 !important; }
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-loading-track {
  background:rgba(1,31,43,.78) !important;
  border-color:#69deda !important;
  box-shadow:0 0 0 2px rgba(105,222,218,.16) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-universe {
  opacity:.34 !important;
  filter:saturate(.92) brightness(.78) !important;
  border-color:rgba(140,232,232,.32) !important;
}
.mq-shell[data-skin="ocean"] :is(.mq-app-intro,.mq-entry-intro) .mq-cinematic-universe figcaption { color:#ecfbfd !important; text-shadow:0 2px 6px rgba(0,0,0,.65) !important; }

@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ocean"] :is(.mq-search-core i,.mq-live-dot,.mq-univers-card img) { animation:none !important; }
}

/* =========================================================================
   OCEAN LIVING BOARD 2.3.13 / v108
   Décor partagé accueil/partie, bulles latérales GPU et zoom sans saut.
   Portée strictement limitée au thème Océan.
   ========================================================================= */

/* La partie réutilise exactement la photographie de l'accueil. Le voile bleu
   maintient la lisibilité des cartes et du HUD sans masquer le récif. */
.mq-shell[data-skin="ocean"][data-screen="plateau"] {
  background:
    linear-gradient(180deg,rgba(0,46,65,.18) 0%,rgba(0,37,55,.28) 48%,rgba(1,25,39,.50) 100%),
    url("../images/ocean-home-premium/home-ocean-bg.webp") center/cover no-repeat !important;
}
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-view[data-view="plateau"],
.mq-shell[data-skin="ocean"][data-screen="plateau"] .mq-board-wrap {
  background:transparent !important;
}

/* Deux nappes seulement : plusieurs bulles peintes dans chaque nappe, donc
   aucun ajout de dizaines d'éléments DOM et aucune animation de layout. */
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance {
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  contain:layout style !important;
  background:none !important;
}
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance::before,
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance::after,
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > :not(i),
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > i {
  display:none !important;
}
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > i:nth-child(2),
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > i:nth-child(3) {
  display:block !important;
  position:absolute !important;
  inset:-22% 0 -18% !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  pointer-events:none !important;
  filter:none !important;
  transform:translate3d(0,14%,0);
  will-change:transform,opacity !important;
  background-repeat:no-repeat !important;
}
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > i:nth-child(2) {
  background:
    radial-gradient(circle at 5% 91%,transparent 0 5px,rgba(210,253,255,.70) 6px 7px,transparent 8px),
    radial-gradient(circle at 10% 68%,transparent 0 3px,rgba(210,253,255,.56) 4px 5px,transparent 6px),
    radial-gradient(circle at 4% 43%,transparent 0 7px,rgba(210,253,255,.48) 8px 9px,transparent 10px),
    radial-gradient(circle at 13% 22%,transparent 0 4px,rgba(225,255,255,.58) 5px 6px,transparent 7px),
    radial-gradient(circle at 95% 83%,transparent 0 6px,rgba(210,253,255,.66) 7px 8px,transparent 9px),
    radial-gradient(circle at 90% 57%,transparent 0 4px,rgba(225,255,255,.55) 5px 6px,transparent 7px),
    radial-gradient(circle at 96% 31%,transparent 0 3px,rgba(225,255,255,.62) 4px 5px,transparent 6px),
    radial-gradient(circle at 87% 10%,transparent 0 7px,rgba(210,253,255,.44) 8px 9px,transparent 10px) !important;
  animation:mq-ocean-rise-v108 13.5s linear -4.2s infinite !important;
}
.mq-shell[data-skin="ocean"]:is([data-screen="accueil"],[data-screen="plateau"]) .mq-ambiance > i:nth-child(3) {
  background:
    radial-gradient(circle at 8% 78%,transparent 0 2px,rgba(235,255,255,.58) 3px 4px,transparent 5px),
    radial-gradient(circle at 17% 52%,transparent 0 5px,rgba(219,254,255,.48) 6px 7px,transparent 8px),
    radial-gradient(circle at 3% 17%,transparent 0 4px,rgba(235,255,255,.48) 5px 6px,transparent 7px),
    radial-gradient(circle at 92% 94%,transparent 0 3px,rgba(235,255,255,.62) 4px 5px,transparent 6px),
    radial-gradient(circle at 84% 70%,transparent 0 6px,rgba(219,254,255,.44) 7px 8px,transparent 9px),
    radial-gradient(circle at 97% 45%,transparent 0 5px,rgba(235,255,255,.54) 6px 7px,transparent 8px),
    radial-gradient(circle at 91% 20%,transparent 0 2px,rgba(235,255,255,.64) 3px 4px,transparent 5px),
    radial-gradient(circle at 56% 86%,transparent 0 3px,rgba(225,255,255,.34) 4px 5px,transparent 6px),
    radial-gradient(circle at 43% 34%,transparent 0 2px,rgba(225,255,255,.28) 3px 4px,transparent 5px) !important;
  animation:mq-ocean-rise-v108 18s linear -11s infinite !important;
}
@keyframes mq-ocean-rise-v108 {
  0% { transform:translate3d(0,14%,0);opacity:0; }
  9% { opacity:.72; }
  86% { opacity:.60; }
  100% { transform:translate3d(0,-16%,0);opacity:0; }
}

/* Face révélée turquoise derrière toutes les illustrations, notamment les PNG
   transparents du Monde marin. */
.mq-shell[data-skin="ocean"] .mq-front,
.mq-shell[data-skin="ocean"] .mq-card.is-done .mq-front,
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface {
  background:
    radial-gradient(circle at 42% 18%,rgba(190,255,251,.34) 0%,transparent 36%),
    linear-gradient(155deg,#34d9d5 0%,#13aebe 47%,#08748e 100%) !important;
  border-color:rgba(190,255,252,.82) !important;
}
.mq-shell[data-skin="ocean"] .mq-front .mq-card-name {
  color:#f6feff !important;
  text-shadow:0 1px 3px rgba(0,38,51,.72) !important;
}

/* Animation composite-only : pas de courbe élastique, pas de taille animée et
   échelle calculée par JavaScript pour rester dans l'écran. */
.mq-card-preview-layer[data-skin="ocean"] {
  contain:layout style !important;
  transform:translate3d(0,0,0) scale(1) !important;
  transition:transform .30s cubic-bezier(.2,.78,.2,1),opacity .16s ease-out !important;
}
.mq-card-preview-layer[data-skin="ocean"].is-active {
  transform:translate3d(var(--mq-preview-x,0),var(--mq-preview-y,0),0) scale(var(--mq-preview-scale,1.6)) !important;
}
.mq-card-preview-layer[data-skin="ocean"].is-leaving {
  transform:translate3d(0,0,0) scale(1) !important;
}
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface,
.mq-card-preview-layer[data-skin="ocean"] .mq-card-preview-surface img {
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance > i:nth-child(2),
.mq-shell[data-skin="ocean"][data-motion="calme"] .mq-ambiance > i:nth-child(3) {
  animation:none !important;
  opacity:.30 !important;
  transform:none !important;
}
@media (prefers-reduced-motion:reduce) {
  .mq-shell[data-skin="ocean"] .mq-ambiance > i:nth-child(2),
  .mq-shell[data-skin="ocean"] .mq-ambiance > i:nth-child(3) {
    animation:none !important;
    opacity:.30 !important;
    transform:none !important;
  }
}


/* =========================================================================
   MEMOMILO 2.3.13 / v108 — VISUAL QA HOTFIX
   1) Guide Milo sans chevauchement
   2) Boutique : libellés toujours lisibles
   3) Profil : contraste WCAG renforcé sur la progression
   ========================================================================= */

/* 1) GUIDE MILO — le moteur ajoute .is-onboarding-guide uniquement pendant
   l'affichage. L'espace est réservé AVANT le dock inférieur ; le ResizeObserver
   du plateau recalcule donc automatiquement la grille sans saut de position. */
.mq-shell.is-onboarding-guide[data-screen="plateau"] .mq-view[data-view="plateau"] > .mq-board-wrap {
  margin-bottom:clamp(82px,11.5vh,108px);
  transition:margin-bottom .24s cubic-bezier(.2,.72,.24,1);
}
.mq-shell[data-screen="plateau"] .mq-onboarding-layer {
  inset:auto 0 0 0;
  height:clamp(126px,17vh,158px);
  overflow:visible;
  contain:layout style;
}
.mq-shell[data-screen="plateau"] .mq-onboarding-art {
  left:50%;
  bottom:calc(clamp(74px,9.5vh,86px) + max(0px,env(safe-area-inset-bottom)));
  width:auto;
  height:clamp(170px,24.5vh,205px);
  max-width:94vw;
  max-height:none;
  object-fit:contain;
  object-position:center bottom;
  transform-origin:center bottom;
}
.mq-shell[data-screen="plateau"] .mq-onboarding-layer[data-guide-event="start"] .mq-onboarding-art,
.mq-shell[data-screen="plateau"] .mq-onboarding-layer[data-guide-event="firstCard"] .mq-onboarding-art {
  width:auto;
  height:clamp(176px,25.5vh,212px);
  max-width:95vw;
  max-height:none;
}
@media (max-width:380px), (max-height:760px) {
  .mq-shell.is-onboarding-guide[data-screen="plateau"] .mq-view[data-view="plateau"] > .mq-board-wrap { margin-bottom:78px; }
  .mq-shell[data-screen="plateau"] .mq-onboarding-layer { height:122px; }
  .mq-shell[data-screen="plateau"] .mq-onboarding-art { height:min(23.5vh,180px); bottom:calc(74px + max(0px,env(safe-area-inset-bottom))); }
  .mq-shell[data-screen="plateau"] .mq-onboarding-layer[data-guide-event="start"] .mq-onboarding-art,
  .mq-shell[data-screen="plateau"] .mq-onboarding-layer[data-guide-event="firstCard"] .mq-onboarding-art { height:min(24.5vh,186px); }
}
@media (min-width:700px) {
  .mq-shell.is-onboarding-guide[data-screen="plateau"] .mq-view[data-view="plateau"] > .mq-board-wrap { margin-bottom:112px; }
  .mq-shell[data-screen="plateau"] .mq-onboarding-art { height:min(24vh,230px); max-width:72vw; }
}

/* 2) BOUTIQUE — les noms appartiennent à la zone informative blanche.
   Une couleur explicite évite qu'une variable de thème destinée aux écrans
   abyssaux ne les rende blancs sur blanc. Deux lignes sont réservées afin que
   les noms longs restent lisibles et que les prix restent parfaitement alignés. */
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] .mq-options .mq-opt > strong {
  display:-webkit-box !important;
  width:100%;
  min-height:2.12em;
  margin:2px 0 0;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  color:#103f4e !important;
  text-shadow:none !important;
  font-size:clamp(.72rem,3.05vw,.90rem) !important;
  font-weight:950 !important;
  line-height:1.06;
  letter-spacing:-.012em;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] .mq-options .mq-opt {
  color:#103f4e !important;
  padding:8px 7px 9px;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] .mq-options .mq-opt > :is(.mq-price,.mq-ready) {
  min-height:1.25em;
  margin-top:auto;
  line-height:1.1;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] .mq-options .mq-opt > .mq-price { color:#805a00 !important; }
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] .mq-options .mq-opt > .mq-ready { color:#087b82 !important; }

/* 3) PROFIL — contraste stable même quand --mq-text est clair sur la partie
   haute de l'écran Océan. Les lignes de progression restent nacrées, mais les
   libellés et valeurs utilisent une encre sombre dédiée. */
.mq-shell[data-skin="ocean"] .mq-profile-progress-row {
  background:linear-gradient(155deg,#ffffff,#f4fbfc) !important;
  border-color:#cfe4e7 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.96),0 3px 9px rgba(0,55,72,.055);
}
.mq-shell[data-skin="ocean"] .mq-profile-progress-row p,
.mq-shell[data-skin="ocean"] .mq-profile-progress-row p > span {
  color:#123f4a !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:850;
}
.mq-shell[data-skin="ocean"] .mq-profile-progress-row p > b {
  color:#075f75 !important;
  opacity:1 !important;
  font-weight:950;
}

.mq-shell[data-skin="ocean"] .mq-profile-progress-label {
  color:#123f4a !important;
  -webkit-text-fill-color:#123f4a !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:850 !important;
}
.mq-shell[data-skin="ocean"] .mq-profile-progress-value {
  color:#075f75 !important;
  -webkit-text-fill-color:#075f75 !important;
  opacity:1 !important;
  text-shadow:none !important;
  font-weight:950 !important;
}
.mq-shell[data-skin="ocean"] .mq-profile-meter {
  background:#d9e9ec !important;
  box-shadow:inset 0 1px 2px rgba(0,52,69,.08);
}
.mq-shell[data-skin="ocean"] .mq-profile-meter i {
  background:linear-gradient(90deg,#27b7b5,#087a92) !important;
}
.mq-shell[data-skin="ocean"] .mq-profile-row-icon {
  border:1px solid rgba(7,95,117,.10);
}

/* =========================================================================
   MEMOMILO 2.3.13 — PARAMÈTRES RESPONSIVE FINAL / 6 THÈMES
   Une seule géométrie stable pour Lagon, Océan, Ardoise, Grenat, Ambre, Nuit.
   Les thèmes ne changent que la palette ; aucune règle de thème ne peut
   désormais couper un contrôle, écraser une section ou sortir du viewport.
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="reglages"] {
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  gap:clamp(8px,1.15vh,12px) !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
}
.mq-shell[data-skin] .mq-settings-head {
  display:grid !important;
  gap:clamp(2px,.45vh,5px) !important;
  min-width:0 !important;
  padding:clamp(4px,.7vh,8px) clamp(6px,1.8vw,10px) 0 !important;
  overflow:visible !important;
}
.mq-shell[data-skin] .mq-settings-head .mq-eyebrow {
  margin:0 !important;
  font-size:clamp(.68rem,2.7vw,.82rem) !important;
  line-height:1.15 !important;
  color:var(--mq-screen-accent) !important;
}
.mq-shell[data-skin] .mq-settings-head .mq-title {
  margin:0 !important;
  font-size:clamp(1.55rem,6.5vw,2rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.035em !important;
  color:var(--mq-screen-text) !important;
  white-space:normal !important;
  overflow:visible !important;
}
.mq-shell[data-skin] .mq-settings-head .mq-lede {
  margin:0 !important;
  max-width:42rem !important;
  color:var(--mq-screen-secondary) !important;
  font-size:clamp(.69rem,2.65vw,.82rem) !important;
  line-height:1.28 !important;
}
.mq-shell[data-skin] .mq-settings-scroll {
  min-width:0 !important;
  min-height:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-width:none;
  padding:2px clamp(2px,.8vw,5px) 8px !important;
  scroll-padding-block:8px;
}
.mq-shell[data-skin] .mq-settings-scroll::-webkit-scrollbar { display:none !important; }
.mq-shell[data-skin] .mq-settings-list {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  width:100% !important;
  min-width:0 !important;
  gap:clamp(8px,1vh,11px) !important;
  padding:1px 0 6px !important;
}
.mq-shell[data-skin] .mq-settings-row,
.mq-shell[data-skin] .mq-theme-panel {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  border:1px solid var(--mq-border) !important;
  background:var(--mq-surface) !important;
  box-shadow:var(--mq-shadow-soft) !important;
  border-radius:clamp(18px,4.8vw,24px) !important;
}
.mq-shell[data-skin] .mq-settings-row {
  display:grid !important;
  grid-template-columns:clamp(38px,10.5vw,48px) minmax(0,1fr) auto !important;
  align-items:center !important;
  column-gap:clamp(8px,2.2vw,12px) !important;
  row-gap:5px !important;
  min-height:clamp(60px,7.8vh,72px) !important;
  padding:clamp(8px,1vh,11px) clamp(10px,2.7vw,14px) !important;
  overflow:hidden !important;
  text-align:left !important;
}
.mq-shell[data-skin] button.mq-settings-row { cursor:pointer; }
.mq-shell[data-skin] .mq-settings-icon {
  width:clamp(38px,10.5vw,48px) !important;
  min-width:0 !important;
  aspect-ratio:1 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  color:var(--mq-accent-strong) !important;
  background:var(--mq-surface-soft) !important;
  border:1px solid color-mix(in srgb,var(--mq-border) 78%,transparent) !important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--mq-surface-raised) 80%,transparent) !important;
}
.mq-shell[data-skin] .mq-settings-icon svg { width:52% !important; height:52% !important; }
.mq-shell[data-skin] .mq-settings-copy {
  min-width:0 !important;
  max-width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:3px !important;
  overflow:visible !important;
}
.mq-shell[data-skin] .mq-settings-copy strong {
  display:block !important;
  max-width:100% !important;
  margin:0 !important;
  color:var(--mq-text) !important;
  -webkit-text-fill-color:var(--mq-text) !important;
  font-size:clamp(.88rem,3.45vw,1.05rem) !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.mq-shell[data-skin] .mq-settings-copy small {
  display:block !important;
  max-width:100% !important;
  color:var(--mq-text-secondary) !important;
  -webkit-text-fill-color:var(--mq-text-secondary) !important;
  font-size:clamp(.66rem,2.55vw,.78rem) !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
.mq-shell[data-skin] .mq-settings-open {
  flex:none !important;
  width:clamp(32px,8.5vw,38px) !important;
  min-width:32px !important;
  aspect-ratio:1 !important;
  display:grid !important;
  place-items:center !important;
  border-radius:50% !important;
  color:var(--mq-accent-strong) !important;
  background:var(--mq-surface-soft) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-switch {
  flex:none !important;
  width:clamp(48px,12.8vw,56px) !important;
  height:clamp(28px,7.2vw,32px) !important;
  border:1px solid var(--mq-border) !important;
  background:var(--mq-surface-soft) !important;
  overflow:hidden !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-switch i {
  top:3px !important;
  left:3px !important;
  width:clamp(21px,5.7vw,25px) !important;
  height:calc(100% - 6px) !important;
  border-radius:50% !important;
  background:var(--mq-surface-raised) !important;
  box-shadow:0 2px 6px rgba(0,0,0,.18) !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch {
  background:var(--mq-button-bg) !important;
  border-color:var(--mq-border-active) !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-settings-row[aria-pressed="true"] .mq-switch i {
  transform:translateX(clamp(20px,5.4vw,24px)) !important;
}
.mq-shell[data-skin] .mq-volume-row { overflow:visible !important; }
.mq-shell[data-skin] .mq-volume-copy { gap:clamp(5px,.75vh,8px) !important; }
.mq-shell[data-skin] .mq-volume-value {
  min-width:42px !important;
  max-width:48px !important;
  text-align:right !important;
  color:var(--mq-accent-strong) !important;
  -webkit-text-fill-color:var(--mq-accent-strong) !important;
  font-size:clamp(.82rem,3.2vw,1rem) !important;
  line-height:1 !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-range {
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:22px !important;
  min-height:22px !important;
  margin:0 !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-range::-webkit-slider-runnable-track {
  height:6px !important;
  background:linear-gradient(90deg,var(--mq-accent) 0 var(--range),var(--mq-surface-soft) var(--range) 100%) !important;
  border:1px solid color-mix(in srgb,var(--mq-border) 70%,transparent) !important;
}
.mq-shell[data-skin] .mq-view[data-view="reglages"] .mq-range::-webkit-slider-thumb {
  width:20px !important;
  height:20px !important;
  margin-top:-8px !important;
  background:var(--mq-accent-strong) !important;
  box-shadow:0 2px 7px color-mix(in srgb,var(--mq-accent) 35%,transparent) !important;
}
.mq-shell[data-skin] .mq-theme-panel {
  padding:clamp(10px,1.2vh,13px) !important;
  overflow:hidden !important;
}
.mq-shell[data-skin] .mq-theme-heading {
  display:grid !important;
  grid-template-columns:clamp(38px,10.5vw,48px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:clamp(8px,2.2vw,12px) !important;
  min-width:0 !important;
  margin:0 0 clamp(9px,1.1vh,12px) !important;
}
.mq-shell[data-skin] .mq-theme-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(7px,1.8vw,10px) !important;
  width:100% !important;
  min-width:0 !important;
  align-items:stretch !important;
}
.mq-shell[data-skin] .mq-theme-option {
  position:relative !important;
  display:grid !important;
  grid-template-rows:auto auto !important;
  align-content:start !important;
  gap:5px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:5px 5px 7px !important;
  overflow:visible !important;
  border:1.5px solid var(--mq-border) !important;
  border-radius:clamp(13px,3.4vw,17px) !important;
  background:var(--mq-surface-raised) !important;
  box-shadow:none !important;
}
.mq-shell[data-skin] .mq-theme-option.is-active {
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow) !important;
}
.mq-shell[data-skin] .mq-theme-option.is-active::after {
  top:-5px !important;
  right:-4px !important;
  width:clamp(20px,5.2vw,24px) !important;
  background-color:var(--mq-accent-strong) !important;
}
.mq-shell[data-skin] .mq-theme-image {
  width:100% !important;
  aspect-ratio:16/10 !important;
  min-height:0 !important;
  border-radius:clamp(8px,2.2vw,11px) !important;
  overflow:hidden !important;
  background:var(--mq-surface-soft) !important;
}
.mq-shell[data-skin] .mq-theme-image img { width:100% !important; height:100% !important; object-fit:cover !important; }
.mq-shell[data-skin] .mq-theme-option strong {
  display:block !important;
  width:100% !important;
  min-height:1.1em !important;
  color:var(--mq-text) !important;
  -webkit-text-fill-color:var(--mq-text) !important;
  font-size:clamp(.65rem,2.55vw,.79rem) !important;
  line-height:1.12 !important;
  text-align:center !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:anywhere !important;
}
.mq-shell[data-skin] .mq-danger-icon {
  color:var(--mq-error) !important;
  background:color-mix(in srgb,var(--mq-error) 10%,var(--mq-surface)) !important;
  border-color:color-mix(in srgb,var(--mq-error) 28%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-reset-button {
  justify-self:end !important;
  min-width:clamp(68px,18vw,86px) !important;
  max-width:92px !important;
  min-height:38px !important;
  padding:7px 11px !important;
  white-space:nowrap !important;
  color:var(--mq-error) !important;
  -webkit-text-fill-color:var(--mq-error) !important;
  background:color-mix(in srgb,var(--mq-error) 8%,var(--mq-surface-raised)) !important;
  border:1.5px solid color-mix(in srgb,var(--mq-error) 55%,var(--mq-border)) !important;
  border-radius:999px !important;
  font-size:clamp(.72rem,2.7vw,.86rem) !important;
  font-weight:900 !important;
}
.mq-shell[data-skin] .mq-settings-foot {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(132px,1.25fr) minmax(0,1fr) !important;
  align-items:center !important;
  gap:6px !important;
  min-width:0 !important;
  padding:2px 3px max(2px,env(safe-area-inset-bottom)) !important;
}
.mq-shell[data-skin] .mq-settings-foot>small {
  grid-column:1 !important;
  min-width:0 !important;
  color:var(--mq-screen-secondary) !important;
  -webkit-text-fill-color:var(--mq-screen-secondary) !important;
  font-size:clamp(.58rem,2.25vw,.72rem) !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.mq-shell[data-skin] .mq-settings-back {
  grid-column:2 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:220px !important;
  justify-self:center !important;
  min-height:clamp(44px,5.9vh,52px) !important;
  padding:8px 16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  border-radius:999px !important;
  color:var(--mq-button-text) !important;
  -webkit-text-fill-color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border:1px solid color-mix(in srgb,var(--mq-border-active) 70%,transparent) !important;
  box-shadow:0 4px 12px color-mix(in srgb,var(--mq-bg) 35%,transparent) !important;
  font-size:clamp(.9rem,3.4vw,1.05rem) !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.mq-shell[data-skin] .mq-settings-back svg { width:20px !important; height:20px !important; flex:none !important; }

/* Les thèmes sombres gardent des surfaces pleinement opaques pour la lisibilité. */
.mq-shell[data-skin="ardoise"] .mq-settings-row,
.mq-shell[data-skin="ardoise"] .mq-theme-panel,
.mq-shell[data-skin="nuit"] .mq-settings-row,
.mq-shell[data-skin="nuit"] .mq-theme-panel { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }

@media (max-width:370px) {
  .mq-shell[data-skin] .mq-settings-row {
    grid-template-columns:36px minmax(0,1fr) auto !important;
    column-gap:7px !important;
    padding-inline:9px !important;
  }
  .mq-shell[data-skin] .mq-settings-icon { width:36px !important; }
  .mq-shell[data-skin] .mq-settings-copy strong { font-size:.84rem !important; }
  .mq-shell[data-skin] .mq-settings-copy small { font-size:.62rem !important; }
  .mq-shell[data-skin] .mq-volume-value { min-width:38px !important; font-size:.78rem !important; }
  .mq-shell[data-skin] .mq-settings-foot { grid-template-columns:minmax(0,.8fr) minmax(126px,1.3fr) minmax(0,.8fr) !important; }
  .mq-shell[data-skin] .mq-reset-button { min-width:64px !important; padding-inline:8px !important; }
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="reglages"] { gap:7px !important; }
  .mq-shell[data-skin] .mq-settings-head .mq-title { font-size:1.42rem !important; }
  .mq-shell[data-skin] .mq-settings-head .mq-lede { font-size:.65rem !important; line-height:1.2 !important; }
  .mq-shell[data-skin] .mq-settings-row { min-height:56px !important; padding-block:7px !important; }
  .mq-shell[data-skin] .mq-theme-panel { padding-block:8px !important; }
  .mq-shell[data-skin] .mq-theme-heading { margin-bottom:7px !important; }
  .mq-shell[data-skin] .mq-settings-back { min-height:42px !important; }
}


/* =========================================================================
   HOTFIX v108 — BOUTIQUE THÈME PAR THÈME
   Objectif : même robustesse que l'écran Paramètres sur tous les skins.
   - cartes Univers lisibles et alignées
   - grille des thèmes stable
   - aucun bouton/texte comprimé dans la boutique
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="boutique"] {
  --mq-shop-title: var(--mq-text, var(--encre));
  --mq-shop-meta: var(--mq-text-secondary, var(--encre-2));
  --mq-shop-price: #8a6300;
  --mq-shop-ready: var(--mq-accent-strong, #0c9388);
}
.mq-shell[data-skin="jade"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#114f61; --mq-shop-meta:#50717b; --mq-shop-price:#8b6200; --mq-shop-ready:#0b8e86;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#eef8fb; --mq-shop-meta:#b9d4db; --mq-shop-price:#f3c56b; --mq-shop-ready:#53e6cc;
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#532738; --mq-shop-meta:#7d5563; --mq-shop-price:#8b6200; --mq-shop-ready:#9c2f53;
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#5b3315; --mq-shop-meta:#8d6646; --mq-shop-price:#9a5a00; --mq-shop-ready:#b65410;
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#eef5fb; --mq-shop-meta:#b5c3cf; --mq-shop-price:#f2c56d; --mq-shop-ready:#4fd4c8;
}
.mq-shell[data-skin="nuit"] .mq-view[data-view="boutique"] {
  --mq-shop-title:#f4f7fb; --mq-shop-meta:#b7c2d5; --mq-shop-price:#f3ca74; --mq-shop-ready:#83dcf6;
}

.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-scroll {
  padding:2px 4px 12px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-stack {
  display:grid;
  gap:clamp(10px,1.7vh,18px);
  align-content:start;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-section {
  display:grid;
  gap:10px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-options {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:1px 0 4px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
  align-items:stretch;
  gap:6px;
  min-height:182px;
  padding:8px 8px 10px;
  border-radius:24px;
  background:var(--mq-surface) !important;
  color:var(--mq-shop-title) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure {
  height:clamp(56px,10.8vh,84px);
  padding:0;
  border-radius:18px;
  overflow:hidden;
  background:var(--mq-surface-soft, rgba(255,255,255,.72));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > strong {
  display:-webkit-box !important;
  width:100%;
  min-height:2.18em;
  margin:2px 0 0;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal;
  color:var(--mq-shop-title) !important;
  -webkit-text-fill-color:var(--mq-shop-title) !important;
  text-shadow:none !important;
  font-size:clamp(.72rem,3.05vw,.92rem) !important;
  font-weight:950 !important;
  line-height:1.08;
  letter-spacing:-.012em;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > :is(.mq-price,.mq-ready) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  gap:4px;
  min-height:1.25em;
  margin-top:auto;
  text-align:center;
  line-height:1.1;
  font-size:clamp(.69rem,2.75vw,.82rem);
  font-weight:900;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > .mq-price {
  color:var(--mq-shop-price) !important;
  -webkit-text-fill-color:var(--mq-shop-price) !important;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > .mq-ready {
  color:var(--mq-shop-ready) !important;
  -webkit-text-fill-color:var(--mq-shop-ready) !important;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > :is(.mq-price,.mq-ready) svg {
  width:13px;
  height:13px;
  flex:0 0 auto;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt.is-on::after {
  top:-7px;
  right:-7px;
}

.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-option {
  min-height:0;
  padding:5px 5px 8px;
  gap:6px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-option .mq-theme-image {
  width:100%;
  aspect-ratio:16/10;
  border-radius:13px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-option .mq-theme-copy {
  width:100%;
  min-width:0;
  gap:2px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-option .mq-theme-copy strong {
  white-space:normal;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  min-height:2.08em;
  text-align:center;
  line-height:1.02;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-option .mq-theme-copy small {
  min-height:1.25em;
}

@media (max-width:390px) {
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-options {
    gap:8px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
    min-height:174px;
    padding:8px 7px 9px;
    border-radius:21px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-theme-grid {
    gap:8px;
  }
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-stack {
    gap:9px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
    min-height:166px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure {
    height:50px;
  }
}


/* =========================================================================
   HOTFIX v119 — MULTIJOUEUR : CLIC TACTILE DÉTERMINISTE
   - le navigateur/WebView reste seul responsable du geste tap -> click ;
   - toute la surface des boutons est manipulable sans délai tactile ;
   - les éléments décoratifs internes ne peuvent pas devenir une cible
     différente du bouton pendant une animation ou un re-rendu.
   ========================================================================= */
.mq-shell .mq-view[data-view="online"] button,
.mq-shell .mq-view[data-view="online"] [role="button"] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.mq-shell .mq-view[data-view="online"] :is([data-online-go],[data-online-resume],[data-online-back],[data-online-submit]) > * {
  pointer-events: none;
}
.mq-shell .mq-view[data-view="online"] :is([data-online-go],[data-online-resume]) {
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

/* =========================================================================
   HOTFIX v108 — MULTIJOUEUR THÈME PAR THÈME
   Objectifs :
   - harmoniser le hub / recherche / salle pour tous les thèmes
   - améliorer le contraste et les espacements
   - fiabiliser les zones cliquables tactiles
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="online"] {
  --mq-online-title: var(--mq-text, var(--encre));
  --mq-online-sub: var(--mq-text-secondary, var(--encre-2));
  --mq-online-panel: var(--mq-surface);
  --mq-online-panel-strong: var(--mq-surface-raised);
  --mq-online-stroke: var(--mq-border);
  --mq-online-accent: var(--mq-accent-strong, #1c8ea3);
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] {
  --mq-online-title:#f6fdff; --mq-online-sub:#c5edf1; --mq-online-panel:rgba(7,54,72,.82); --mq-online-panel-strong:rgba(10,74,98,.94); --mq-online-stroke:rgba(106,214,224,.22); --mq-online-accent:#75dfeb;
}
.mq-shell[data-skin="nuit"] .mq-view[data-view="online"] {
  --mq-online-title:#f5f7fd; --mq-online-sub:#b6c4da; --mq-online-panel:#0e1827; --mq-online-panel-strong:#132136; --mq-online-stroke:#2d4462; --mq-online-accent:#86dcff;
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="online"] {
  --mq-online-title:#eef5fb; --mq-online-sub:#c3d0dc; --mq-online-panel:#27313d; --mq-online-panel-strong:#2d3948; --mq-online-stroke:#425366; --mq-online-accent:#86dcff;
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="online"] {
  --mq-online-title:#fff4f6; --mq-online-sub:#ebc7d0; --mq-online-panel:rgba(86,21,45,.84); --mq-online-panel-strong:rgba(109,31,58,.94); --mq-online-stroke:rgba(255,213,224,.18); --mq-online-accent:#ffcf8b;
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="online"] {
  --mq-online-title:#5f3210; --mq-online-sub:#8e6546; --mq-online-panel:rgba(255,247,231,.86); --mq-online-panel-strong:rgba(255,251,241,.97); --mq-online-stroke:rgba(184,129,58,.18); --mq-online-accent:#bf5b15;
}
.mq-shell[data-skin="jade"] .mq-view[data-view="online"] {
  --mq-online-title:#124e60; --mq-online-sub:#54747e; --mq-online-panel:rgba(250,254,252,.86); --mq-online-panel-strong:rgba(255,255,255,.98); --mq-online-stroke:rgba(53,152,170,.16); --mq-online-accent:#0d8f87;
}

.mq-shell[data-skin] .mq-view[data-view="online"] :is([data-competitive-card],[data-online-go],[data-online-resume],[data-online-submit],[data-copy-code],[data-cancel-room],[data-room-safety],[data-room-ready],[data-online-back],.mq-consent-link,.mq-privacy-check,.mq-code-entry,.mq-room-code button) {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-arena-sheen,.mq-arena-medal .mq-arena-glow,.mq-arena-medal .mq-arena-disc,.mq-arena-medal .mq-arena-ring,.mq-search-scene::before,.mq-search-core i,.mq-search-core em,.mq-search-card,.mq-live-dot,.mq-room-preview-hero > span svg) {
  pointer-events:none;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-head :is(.mq-title,.mq-eyebrow) {
  color:var(--mq-online-title) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-head .mq-eyebrow {
  color:var(--mq-online-sub) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-hub,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-form {
  gap:clamp(10px,1.55vh,16px);
  padding:2px 4px 10px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-center {
  padding:2px 0 4px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error,.mq-online-resume,.mq-quick-rule,.mq-competitive-card,.mq-room-code) {
  background:linear-gradient(160deg,var(--mq-online-panel-strong),var(--mq-online-panel)) !important;
  border-color:var(--mq-online-stroke) !important;
  box-shadow:var(--mq-shadow-soft) !important;
  color:var(--mq-online-title) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-online-age-card h3,.mq-room-preview-hero h3,.mq-competitive-copy strong,.mq-arena-copy strong,.mq-premium-field > span) {
  color:var(--mq-online-title) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-online-age-card p,.mq-room-preview-hero p,.mq-quick-rule,.mq-consent-row,.mq-competitive-copy p,.mq-competitive-copy>span,.mq-form-note,.mq-wait-help,.mq-search-player small,.mq-room-code small,.mq-preview-players small,.mq-ready-wait strong,.mq-arena-copy small) {
  color:var(--mq-online-sub) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena {
  border-radius:30px;
  padding:16px 16px 14px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena::before { opacity:.14; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-main { gap:12px; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-hint { opacity:.94; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act {
  min-height:84px;
  border-radius:24px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act:hover,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act:focus-visible,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena:focus-visible {
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--mq-online-accent) 34%,var(--mq-online-stroke)) !important;
  box-shadow:0 14px 28px color-mix(in srgb,var(--mq-online-accent) 18%,transparent), var(--mq-shadow-soft) !important;
  outline:none;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy strong {
  line-height:1.08;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy small {
  margin-top:4px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-competitive-card {
  gap:8px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-premium-field,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-code-field {
  display:grid;
  gap:6px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-name-grid {
  gap:10px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-code-entry {
  border-radius:16px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-consent-row {
  padding:1px 0;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-search-scene {
  width:min(100%,440px);
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-search-player > b {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-height:26px;
  padding:3px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--mq-online-accent) 16%,var(--mq-online-panel-strong));
  color:var(--mq-online-title);
  font-size:.68rem;
  font-weight:900;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-code {
  gap:8px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-code button {
  min-height:42px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players > div {
  background:color-mix(in srgb,var(--mq-online-panel-strong) 88%,transparent) !important;
  border-color:var(--mq-online-stroke) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-ready-button,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-btn-primary[data-online-submit] {
  min-height:50px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-setup-foot {
  padding-top:6px;
}
@media (max-width:390px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act {
    min-height:78px;
    border-radius:21px;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-hub,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-form {
    gap:9px;
    padding:1px 3px 8px;
  }
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-hub,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-form {
    gap:8px;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena {
    padding:13px 14px 12px;
  }
}


/* =========================================================================
   HOTFIX v110 — HUB MULTIJOUEUR COMPACT / ARÈNE JAMAIS COUPÉE
   Correction basée sur le rendu réel Android : les actions restent tactiles
   (>=44px), mais ne sont plus artificiellement agrandies. Les lignes de la
   grille ne peuvent plus compresser la carte Arène quand une session récente
   ajoute le bouton « Reprendre ma partie ».
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-hub {
  grid-auto-rows:max-content;
  align-content:start;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
  padding-bottom:8px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-hub::-webkit-scrollbar { display:none; }

.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena {
  min-height:178px;
  height:auto;
  flex:none;
  padding:14px 15px 13px;
  border-radius:27px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-main {
  margin-top:9px;
  gap:11px;
  align-items:center;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-medal {
  width:74px;
  height:74px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-medal > svg {
  width:37px;
  height:37px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-trophies strong {
  font-size:clamp(34px,9.6vw,44px);
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-trophies small { font-size:.86rem; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-format { margin-top:4px; font-size:.75rem; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-ladder { margin-top:7px; gap:6px; font-size:.65rem; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-ladder > span { padding:3px 7px; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-hint { margin-top:6px; font-size:.67rem; }

.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act {
  min-height:62px;
  grid-template-columns:46px minmax(0,1fr) 28px;
  gap:9px;
  padding:7px 9px;
  border-radius:20px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-ic {
  width:46px;
  height:46px;
  border-radius:15px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-ic svg { width:23px; height:23px; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy strong {
  font-size:clamp(.88rem,3.8vw,1.03rem);
  line-height:1.08;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy small {
  margin-top:2px;
  font-size:clamp(.62rem,2.55vw,.72rem);
  line-height:1.2;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-chev {
  width:28px;
  height:28px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-chev svg { width:16px; height:16px; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament {
  min-height:62px;
  grid-template-columns:46px minmax(0,1fr) 28px;
  padding:7px 9px;
  gap:9px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-ic {
  width:46px;
  height:46px;
  border-radius:15px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-copy {
  padding-right:34px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-copy strong {
  font-size:clamp(.88rem,3.8vw,1.03rem);
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-copy small {
  font-size:clamp(.60rem,2.45vw,.69rem);
  line-height:1.18;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-badge {
  top:7px;
  right:34px;
  padding:3px 7px;
  font-size:.48rem;
}

@media (max-width:390px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-hub { gap:7px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena { min-height:172px; padding:13px 14px 12px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament {
    min-height:58px;
    grid-template-columns:43px minmax(0,1fr) 26px;
    gap:8px;
    padding:6px 8px;
    border-radius:18px;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-ic,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-ic {
    width:43px;
    height:43px;
    border-radius:14px;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy strong,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-copy strong { font-size:.90rem; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-copy small,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament .mq-arena-copy small { font-size:.62rem; }
}

@media (max-height:740px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena { min-height:166px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act,
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-arena-act.is-tournament { min-height:56px; }
}

.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-head { grid-template-columns:44px minmax(0,1fr); }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-head .mq-setup-back { width:44px; height:44px; min-width:44px; min-height:44px; }


/* =========================================================================
   HOTFIX v111 — BOUTIQUE VISUELLE
   Objectif : restaurer des images plus présentes et supprimer l'effet de cartes
   trop hautes / trop vides dans les univers de la boutique.
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-options {
  align-items:stretch;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
  gap:8px;
  min-height:164px;
  padding:9px 9px 11px;
  justify-content:flex-start;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure {
  height:clamp(82px, 15.5vh, 112px);
  border-radius:20px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > strong {
  min-height:2.05em;
  margin:3px 0 0;
  font-size:clamp(.76rem,3.2vw,.98rem) !important;
  line-height:1.04;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt > :is(.mq-price,.mq-ready) {
  margin-top:2px;
  padding-bottom:1px;
}
@media (max-width:390px) {
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
    min-height:158px;
    padding:8px 8px 10px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure {
    height:clamp(78px, 14.8vh, 102px);
  }
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt {
    min-height:154px;
  }
  .mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-opt figure {
    height:72px;
  }
}


/* =========================================================================
   HOTFIX v112 — RECHERCHE RAPIDE MULTIJOUEUR
   - design cohérent sur les 6 thèmes
   - état de recherche lisible et compact
   - zones tactiles 44px minimum sans agrandir inutilement les cartes
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="online"] {
  --mq-quick-accent:var(--mq-accent,#1eb6c5);
  --mq-quick-accent-2:var(--mq-accent-2,#2e86e0);
  --mq-quick-ink:var(--mq-text,#153c7a);
  --mq-quick-muted:var(--mq-text-secondary,#55719c);
  --mq-quick-panel:var(--mq-surface-raised,#fff);
  --mq-quick-soft:var(--mq-surface-soft,#f1f8fb);
  --mq-quick-line:var(--mq-border,rgba(31,125,138,.18));
}
.mq-shell[data-skin="jade"] .mq-view[data-view="online"] {
  --mq-quick-accent:#13a89b; --mq-quick-accent-2:#35b8d0; --mq-quick-ink:#124f60; --mq-quick-muted:#55757f;
}
.mq-shell[data-skin="ocean"] .mq-view[data-view="online"] {
  --mq-quick-accent:#50d5df; --mq-quick-accent-2:#2287bd; --mq-quick-ink:#f5fdff; --mq-quick-muted:#c6e9ee;
  --mq-quick-panel:rgba(8,64,84,.92); --mq-quick-soft:rgba(10,83,107,.72); --mq-quick-line:rgba(104,218,228,.22);
}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="online"] {
  --mq-quick-accent:#65cbe9; --mq-quick-accent-2:#6f84ab; --mq-quick-ink:#eff5fb; --mq-quick-muted:#c2ced9;
  --mq-quick-panel:#2a3643; --mq-quick-soft:#334252; --mq-quick-line:#46586b;
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="online"] {
  --mq-quick-accent:#f0b76e; --mq-quick-accent-2:#b84566; --mq-quick-ink:#fff5f3; --mq-quick-muted:#e8c8ce;
  --mq-quick-panel:rgba(100,29,53,.94); --mq-quick-soft:rgba(126,39,65,.72); --mq-quick-line:rgba(255,215,222,.18);
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="online"] {
  --mq-quick-accent:#e78a27; --mq-quick-accent-2:#bd5a16; --mq-quick-ink:#5d3213; --mq-quick-muted:#8c6749;
  --mq-quick-panel:rgba(255,250,239,.97); --mq-quick-soft:rgba(255,239,208,.82); --mq-quick-line:rgba(174,116,47,.20);
}
.mq-shell[data-skin="nuit"] .mq-view[data-view="online"] {
  --mq-quick-accent:#67d7ff; --mq-quick-accent-2:#7b79ff; --mq-quick-ink:#f6f8ff; --mq-quick-muted:#b7c5dc;
  --mq-quick-panel:#121e31; --mq-quick-soft:#182944; --mq-quick-line:#314968;
}

.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card {
  gap:10px;
  padding:12px;
  border-radius:24px;
  background:linear-gradient(155deg,var(--mq-quick-panel),color-mix(in srgb,var(--mq-quick-panel) 88%,var(--mq-quick-accent) 12%)) !important;
  border:1px solid var(--mq-quick-line) !important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--mq-quick-accent) 12%,transparent),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-top {
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:1px 2px 3px;
  text-align:left;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-top .mq-online-hero-icon {
  width:54px;
  margin:0;
  border-width:3px;
  background:linear-gradient(145deg,var(--mq-quick-accent),var(--mq-quick-accent-2)) !important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--mq-quick-accent) 26%,transparent) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-copy {
  min-width:0;
  display:grid;
  gap:3px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-copy strong {
  color:var(--mq-quick-ink) !important;
  font-size:clamp(1rem,4.2vw,1.18rem);
  font-weight:950;
  line-height:1.05;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-copy small {
  color:var(--mq-quick-muted) !important;
  font-size:clamp(.68rem,2.75vw,.80rem);
  font-weight:750;
  line-height:1.24;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-competitive-card {
  min-height:86px;
  background:linear-gradient(145deg,var(--mq-quick-soft),color-mix(in srgb,var(--mq-quick-soft) 88%,var(--mq-quick-accent) 12%)) !important;
  border-color:var(--mq-quick-line) !important;
  color:var(--mq-quick-ink) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mq-quick-accent) 7%,transparent) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-competitive-card::after { opacity:.08 !important; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-quick-rule {
  margin:0;
  padding:8px 10px;
  border:1px solid color-mix(in srgb,var(--mq-quick-accent) 16%,var(--mq-quick-line));
  border-radius:13px;
  background:color-mix(in srgb,var(--mq-quick-accent) 7%,var(--mq-quick-soft)) !important;
  color:var(--mq-quick-muted) !important;
  font-size:.66rem;
  line-height:1.3;
  font-weight:800;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-ready {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:6px 9px;
  border-radius:12px;
  background:color-mix(in srgb,var(--mq-quick-accent) 10%,var(--mq-quick-soft));
  color:var(--mq-quick-ink);
  font-size:.64rem;
  font-weight:900;
  text-align:center;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-ready i {
  width:8px;height:8px;flex:0 0 8px;border-radius:50%;
  background:#5ee58a;
  box-shadow:0 0 0 4px color-mix(in srgb,#5ee58a 18%,transparent);
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-premium-field input {
  min-height:44px;
  border-radius:13px;
  font-weight:850;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-consent-row {
  min-height:42px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-privacy-check {
  min-height:42px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-form-error {
  min-height:0;
  margin:0;
  font-weight:850;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-btn-primary[data-online-submit="quick"] {
  min-height:50px;
  border-radius:18px;
  background:linear-gradient(110deg,var(--mq-quick-accent),var(--mq-quick-accent-2)) !important;
  color:#fff !important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--mq-quick-accent) 30%,transparent) !important;
  font-size:.91rem;
  font-weight:950;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-btn-primary[data-online-submit="quick"]:disabled {
  opacity:.56;
  filter:saturate(.65);
}

/* Écran de matchmaking */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search {
  width:min(100%,460px);
  padding:14px 13px;
  gap:10px;
  border-radius:26px;
  background:linear-gradient(155deg,var(--mq-quick-panel),color-mix(in srgb,var(--mq-quick-panel) 86%,var(--mq-quick-accent) 14%)) !important;
  border:1px solid var(--mq-quick-line) !important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--mq-quick-accent) 14%,transparent) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-search-scene {
  height:clamp(128px,19vh,164px);
  grid-template-columns:1fr clamp(70px,19vw,92px) 1fr;
  gap:5px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-search-core {
  width:clamp(70px,19vw,92px);
  background:linear-gradient(145deg,var(--mq-quick-accent),var(--mq-quick-accent-2)) !important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--mq-quick-accent) 30%,transparent) !important;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-search-player > span {
  width:clamp(54px,15vw,70px);
  border-radius:21px;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-wait-status {
  width:100%;
  padding:10px 11px;
  border-radius:15px;
  background:color-mix(in srgb,var(--mq-quick-accent) 8%,var(--mq-quick-soft));
  border:1px solid var(--mq-quick-line);
  text-align:left;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-wait-status strong { color:var(--mq-quick-ink) !important; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-wait-status small { color:var(--mq-quick-muted) !important; }
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-wait-help {
  margin:0;
  color:var(--mq-quick-muted) !important;
  font-size:.68rem;
  line-height:1.3;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search [data-cancel-room] {
  min-height:44px;
  width:100%;
}

@media (max-width:390px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card { padding:10px;gap:8px;border-radius:21px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-top { grid-template-columns:48px minmax(0,1fr);gap:9px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-top .mq-online-hero-icon { width:48px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-copy strong { font-size:.97rem; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-copy small { font-size:.66rem; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card .mq-competitive-card { min-height:78px; }
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-form-card { gap:7px;padding:9px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-quick-ready { min-height:30px;padding:4px 8px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-waiting-card.is-quick-search .mq-search-scene { height:116px; }
}


/* =========================================================================
   MEMOMILO v113 — DESIGN DOS DES CARTES EN PARTIE
   Rendu plus premium, plus mémorisable et plus élégant sur tous les thèmes.
   On conserve l'identité de chaque thème, tout en améliorant relief, emblème,
   brillance et lisibilité du dos des cartes en partie.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-card-back-emblem:none;
  --mq-card-back-emblem-size:52%;
  --mq-card-back-emblem-opacity:.95;
  --mq-card-back-gloss:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 22%,rgba(255,255,255,0) 42%,rgba(255,255,255,0) 58%,rgba(255,255,255,.08) 79%,rgba(255,255,255,.16) 100%);
  --mq-card-back-sparkles:none;
  --mq-card-back-inner-shadow:inset 0 -16px 26px color-mix(in srgb,var(--mq-bg) 26%,transparent), inset 0 1px 0 rgba(255,255,255,.26);
  --mq-card-back-outer-ring:0 0 0 1px rgba(255,255,255,.24), 0 10px 22px color-mix(in srgb,var(--mq-bg) 28%,rgba(0,0,0,.16));
}
.mq-shell[data-skin] .mq-back {
  background:var(--mq-game-card-back) !important;
  box-shadow:var(--mq-card-back-outer-ring), var(--mq-game-card-shadow), var(--mq-card-back-inner-shadow) !important;
  overflow:hidden;
  isolation:isolate;
}
.mq-shell[data-skin] .mq-back::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    var(--mq-card-back-sparkles),
    var(--mq-card-back-gloss),
    no-repeat center / var(--mq-card-back-emblem-size) auto var(--mq-card-back-emblem) !important;
  opacity:1 !important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));
}
.mq-shell[data-skin] .mq-back::after {
  content:"" !important;
  position:absolute !important;
  inset:8% !important;
  pointer-events:none !important;
  border-radius:calc(var(--r,18px) - 5px) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:
    radial-gradient(circle at 50% 16%, rgba(255,255,255,.18), transparent 34%),
    radial-gradient(circle at 50% 86%, rgba(255,255,255,.07), transparent 32%) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05) !important;
  opacity:.92 !important;
}
.mq-shell[data-skin] .mq-card.is-hint .mq-back::after {
  border-color:color-mix(in srgb,var(--mq-accent) 56%,#fff) !important;
}

.mq-shell[data-skin="jade"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2.4c.4 0 .8.25 1 .63l2.5 5.06 5.6.82c.9.13 1.26 1.24.6 1.87l-4.05 3.94.96 5.57c.15.9-.8 1.58-1.6 1.15L12 18.82l-5 2.63c-.8.43-1.75-.25-1.6-1.15l.96-5.57-4.05-3.94c-.66-.63-.3-1.74.6-1.87l5.6-.82L11 3.03c.2-.38.6-.63 1-.63Z'/%3E%3C/svg%3E");
  --mq-card-back-emblem-size:41%;
  --mq-card-back-sparkles:radial-gradient(circle at 26% 24%, rgba(255,255,255,.34) 0 1.8px, transparent 3px), radial-gradient(circle at 74% 72%, rgba(255,255,255,.24) 0 1.7px, transparent 3px);
}
.mq-shell[data-skin="ocean"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 38c4.3 5.5 11.2 9 18.8 9 10.4 0 19.5-6.6 23.1-16.2-5.6 2.5-12.1 2.6-17.5-.1-6.3-3.2-10.4-9.1-11.6-15.6-5.9 5.2-9.6 12.8-9.6 21.9Z'/%3E%3Cpath d='M17 44c4.7-2 9.9-2 14.6 0 4.6 2 9.7 2 14.3 0 1.5-.6 3-.9 4.6-1.1'/%3E%3C/g%3E%3C/svg%3E");
  --mq-card-back-emblem-size:57%;
  --mq-card-back-sparkles:radial-gradient(circle at 21% 22%, rgba(255,255,255,.24) 0 2px, transparent 3px), radial-gradient(circle at 80% 33%, rgba(255,255,255,.18) 0 1.6px, transparent 3px), radial-gradient(circle at 69% 78%, rgba(255,255,255,.14) 0 2px, transparent 3px);
}
.mq-shell[data-skin="grenat"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='none' stroke='%23ffe9d0' stroke-width='3.4' stroke-linejoin='round' d='M18 17h28l-4 10-10 20-10-20-4-10Z'/%3E%3Cpath fill='none' stroke='%23ffe9d0' stroke-width='3.4' stroke-linejoin='round' d='M24 17l8 10 8-10M22 27h20'/%3E%3C/svg%3E");
  --mq-card-back-emblem-size:50%;
  --mq-card-back-sparkles:radial-gradient(circle at 19% 23%, rgba(255,239,230,.19) 0 1.8px, transparent 3px), radial-gradient(circle at 79% 73%, rgba(255,239,230,.16) 0 1.7px, transparent 3px);
}
.mq-shell[data-skin="ardoise"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23e7f8fb' stroke-width='3.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M32 13 45 22 32 51 19 22 32 13Z'/%3E%3Cpath d='M19 22h26M32 13v38'/%3E%3C/g%3E%3C/svg%3E");
  --mq-card-back-emblem-size:48%;
  --mq-card-back-sparkles:radial-gradient(circle at 24% 28%, rgba(231,248,251,.14) 0 1.7px, transparent 3px), radial-gradient(circle at 76% 68%, rgba(231,248,251,.12) 0 1.6px, transparent 3px);
}
.mq-shell[data-skin="ambre"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23fff6dc' stroke-width='3.5' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='10'/%3E%3Cpath d='M32 11v7M32 46v7M11 32h7M46 32h7M18 18l5 5M41 41l5 5M46 18l-5 5M23 41l-5 5'/%3E%3C/g%3E%3C/svg%3E");
  --mq-card-back-emblem-size:47%;
  --mq-card-back-sparkles:radial-gradient(circle at 22% 24%, rgba(255,248,215,.24) 0 1.8px, transparent 3px), radial-gradient(circle at 78% 72%, rgba(255,248,215,.20) 0 1.8px, transparent 3px);
}
.mq-shell[data-skin="nuit"] {
  --mq-card-back-emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23bfe8ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M39 13c-7 1.3-12.2 7.5-12.2 14.9 0 8.4 6.8 15.2 15.2 15.2 3.5 0 6.8-1.2 9.2-3.1-2.1 6.4-8.2 11-15.5 11-9.1 0-16.5-7.4-16.5-16.5 0-9.4 7.8-17 17.2-16.5Z'/%3E%3Cpath d='m18 18 1.6 3.4L23 23l-3.4 1.6L18 28l-1.6-3.4L13 23l3.4-1.6ZM47 19l1 2.1L50 22l-2 .9L47 25l-.9-2.1L44 22l2-.9Z'/%3E%3C/g%3E%3C/svg%3E");
  --mq-card-back-emblem-size:54%;
  --mq-card-back-sparkles:radial-gradient(circle at 22% 24%, rgba(191,232,255,.22) 0 1.7px, transparent 3px), radial-gradient(circle at 79% 69%, rgba(191,232,255,.14) 0 1.5px, transparent 3px), radial-gradient(circle at 70% 28%, rgba(255,255,255,.12) 0 1.2px, transparent 2.5px);
}


/* =========================================================================
   MEMOMILO v125 — CARD BACK ICONS OPTIMISÉS
   Icônes blanches compressées en WebP, légères et harmonieuses.
   Intégration visuelle discrète sans casser la géométrie des cartes.
   ========================================================================= */
.mq-shell[data-skin="jade"]     { --mq-cardback-icon:url("../images/card-back-icons/jade-star.webp");        --mq-cardback-icon-size:42%; --mq-cardback-icon-opacity:.86; }
.mq-shell[data-skin="ocean"]    { --mq-cardback-icon:url("../images/card-back-icons/ocean-dolphin.webp");   --mq-cardback-icon-size:44%; --mq-cardback-icon-opacity:.84; }
.mq-shell[data-skin="ardoise"]  { --mq-cardback-icon:url("../images/card-back-icons/ardoise-mountain.webp");--mq-cardback-icon-size:42%; --mq-cardback-icon-opacity:.82; }
.mq-shell[data-skin="grenat"]   { --mq-cardback-icon:url("../images/card-back-icons/grenat-gem.webp");      --mq-cardback-icon-size:38%; --mq-cardback-icon-opacity:.84; }
.mq-shell[data-skin="ambre"]    { --mq-cardback-icon:url("../images/card-back-icons/ambre-sun.webp");       --mq-cardback-icon-size:40%; --mq-cardback-icon-opacity:.82; }
.mq-shell[data-skin="nuit"]     { --mq-cardback-icon:url("../images/card-back-icons/nuit-moon.webp");       --mq-cardback-icon-size:42%; --mq-cardback-icon-opacity:.84; }

.mq-shell[data-skin] .mq-back::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:no-repeat center center / var(--mq-cardback-icon-size,42%) auto var(--mq-cardback-icon) !important;
  opacity:var(--mq-cardback-icon-opacity,.84) !important;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.14)) !important;
}
.mq-shell[data-skin] .mq-back::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:
    linear-gradient(115deg,transparent 33%,rgba(255,255,255,.15) 49%,transparent 63%),
    radial-gradient(circle at 22% 20%,rgba(255,255,255,.12) 0 2px,transparent 3px),
    radial-gradient(circle at 78% 76%,rgba(255,255,255,.10) 0 2px,transparent 3px) !important;
  opacity:.68 !important;
  filter:none !important;
}
.mq-shell[data-skin] .mq-card.is-open .mq-back::after {
  animation:none !important;
}

/* =========================================================================
   MemoMilo 6.36.7 — Réactions : barre compacte centrée au-dessus des scores.
   Les scores restent visibles, plus de coche, emoji + texte sur une même barre,
   14 réactions en deux familles. Couleurs reprises du thème actif.
   ========================================================================= */
.mq-board-bottom > .mq-reaction-burst.mq-rx {
  inset: auto 0 calc(100% + 8px) 0 !important; height: auto !important; min-height: 0 !important;
  display: flex !important; justify-content: center; align-items: flex-end;
  opacity: 1 !important; transform: none !important; animation: none !important;
  pointer-events: none; z-index: 20;
  --mq-rx-side: var(--mq-accent, #1ba2b7);
}
.mq-board-bottom > .mq-reaction-burst.mq-rx.is-rival { --mq-rx-side: #7a5fe6; }
.mq-shell[data-skin="nuit"] .mq-board-bottom > .mq-reaction-burst.mq-rx.is-rival { --mq-rx-side: #a996ff; }
.mq-rx-pill {
  position: relative; max-width: calc(100% - 16px); display: flex; align-items: center; gap: 10px;
  padding: 6px 20px 6px 7px; border-radius: 999px;
  background: color-mix(in srgb, var(--mq-surface, #fff) 90%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(1.4); backdrop-filter: blur(16px) saturate(1.4);
  border: 1px solid color-mix(in srgb, var(--mq-border, rgba(255,255,255,.85)) 85%, transparent);
  box-shadow: inset 0 -12px 22px -18px color-mix(in srgb, var(--mq-rx-side) 70%, transparent),
              0 14px 32px -14px rgba(16, 57, 74, .5);
  animation: mqRxIn .42s cubic-bezier(.2, 1.35, .4, 1) both;
}
.mq-reaction-burst.mq-rx.is-leaving .mq-rx-pill { animation: mqRxOut .28s ease-in both; }
.mq-rx-halo {
  position: relative; flex: none; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%;
  background: color-mix(in srgb, var(--mq-rx-side) 13%, transparent);
}
.mq-rx-halo::after {
  content: ""; position: absolute; inset: 4px; border-radius: 50%;
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--mq-rx-side) 45%, transparent);
  animation: mqRxRing .8s ease-out .12s both;
}
.mq-rx-halo .mq-reaction-glyph {
  position: relative; width: 44px !important; height: 44px !important; display: grid; place-items: center;
  animation: mqRxPop .6s cubic-bezier(.2, 1.6, .4, 1) .06s both; filter: none;
}
.mq-rx-halo .mq-reaction-glyph img { width: 100%; height: 100%; object-fit: contain; }
.mq-rx-spark {
  position: absolute; left: 50%; top: 50%; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 50%;
  background: var(--mq-rx-side); opacity: 0; animation: mqRxSpark .75s ease-out .16s both;
}
.mq-rx-spark:nth-child(even) { width: 4px; height: 4px; margin: -2px 0 0 -2px; background: #ffd24a; }
.mq-rx-copy { display: grid; gap: 1px; min-width: 0; text-align: left; }
.mq-rx-who {
  font-size: .74rem; font-weight: 900; line-height: 1.1; letter-spacing: 0; text-transform: none;
  color: var(--mq-rx-side); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 14em;
}
.mq-rx-text {
  font-size: clamp(1rem, 4.4vw, 1.18rem); font-weight: 950; line-height: 1.12; letter-spacing: -.015em;
  color: var(--mq-text, #12394a); white-space: nowrap;
}
@keyframes mqRxIn { from { opacity: 0; transform: translateY(16px) scale(.86); } to { opacity: 1; transform: none; } }
@keyframes mqRxOut { to { opacity: 0; transform: translateY(10px) scale(.94); } }
@keyframes mqRxPop { 0% { transform: scale(.5) rotate(-6deg); } 70% { transform: scale(1.06) rotate(2deg); } 100% { transform: none; } }
@keyframes mqRxRing { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.55); opacity: 0; } }
@keyframes mqRxSpark {
  0% { opacity: 0; transform: rotate(var(--a)) translateY(-14px) scale(.4); }
  20% { opacity: 1; }
  100% { opacity: 0; transform: rotate(var(--a)) translateY(-40px) scale(1); }
}
@keyframes mqRxFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mqRxFadeOut { to { opacity: 0; } }
[data-motion="calme"] .mq-rx-pill, [data-motion="calme"] .mq-rx-halo .mq-reaction-glyph { animation: mqRxFade .2s ease both !important; }
[data-motion="calme"] .mq-reaction-burst.mq-rx.is-leaving .mq-rx-pill { animation: mqRxFadeOut .2s ease both !important; }
[data-motion="calme"] .mq-rx-halo::after, [data-motion="calme"] .mq-rx-spark { display: none; }
@media (prefers-reduced-motion: reduce) {
  .mq-rx-pill, .mq-rx-halo .mq-reaction-glyph { animation: mqRxFade .2s ease both !important; }
  .mq-rx-halo::after, .mq-rx-spark { display: none; }
}
/* Sélecteur : deux familles, rangées centrées, défilement sur petit écran */
.mq-reaction-groups {
  display: grid; gap: 10px; max-height: min(56vh, 430px); overflow-y: auto;
  overscroll-behavior: contain; scrollbar-width: none;
}
.mq-reaction-groups::-webkit-scrollbar { display: none; }
.mq-reaction-group h3 { margin: 0 2px 6px; font-size: .78rem; font-weight: 900; line-height: 1.1; color: var(--mq-text, #12394a); opacity: .72; }
.mq-reaction-group .mq-reaction-grid { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px !important; }
.mq-reaction-group .mq-reaction-tile { flex: 0 0 calc((100% - 18px) / 4); }
.mq-reaction-tile strong { hyphens: auto; }

/* =========================================================================
   MemoMilo 6.36.8 — Panneau des réactions : centré, ouverture et fermeture
   fluides (transform + opacité uniquement, composées par le GPU), images fixes
   préchargées, aucune animation en boucle dans les tuiles.
   ========================================================================= */
.mq-game-popover-layer.is-reactions { background: rgba(8, 40, 52, 0); transition: background-color .22s ease; }
.mq-game-popover-layer.is-reactions.is-open { background: rgba(8, 40, 52, .12); }
.mq-game-popover-layer.is-closing { pointer-events: none !important; background: rgba(8, 40, 52, 0) !important; }
.mq-game-popover.is-reactions {
  width: min(372px, calc(100% - 20px)) !important;
  transform-origin: 50% 100%;
  transform: translate3d(0, 12px, 0) scale(.96); opacity: 0;
  transition: transform .26s cubic-bezier(.2, .9, .25, 1), opacity .18s ease;
  will-change: transform, opacity; contain: layout paint; backface-visibility: hidden;
}
.mq-game-popover.is-reactions.is-above { transform-origin: 50% 100%; transform: translate3d(0, 12px, 0) scale(.96); }
.mq-game-popover-layer.is-open .mq-game-popover.is-reactions { transform: translate3d(0, 0, 0) scale(1); opacity: 1; }
.mq-game-popover-layer.is-closing .mq-game-popover.is-reactions {
  transform: translate3d(0, 10px, 0) scale(.97); opacity: 0;
  transition: transform .2s cubic-bezier(.4, 0, .8, .4), opacity .16s ease-in;
}
.mq-game-popover.is-reactions .mq-reaction-tile .mq-reaction-glyph { animation: none !important; will-change: auto; }
.mq-game-popover.is-reactions .mq-reaction-tile { transition: transform .12s ease, background-color .15s ease; }
.mq-game-popover.is-reactions .mq-reaction-tile:active { transform: scale(.94); }
.mq-game-popover.is-reactions .mq-reaction-groups { contain: content; }
[data-motion="calme"] .mq-game-popover.is-reactions,
[data-motion="calme"] .mq-game-popover-layer.is-reactions { transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  .mq-game-popover.is-reactions, .mq-game-popover-layer.is-reactions { transition: opacity .12s ease !important; }
  .mq-game-popover.is-reactions, .mq-game-popover-layer.is-open .mq-game-popover.is-reactions,
  .mq-game-popover-layer.is-closing .mq-game-popover.is-reactions { transform: none !important; }
}

/* =========================================================================
   MemoMilo 6.37.0 — Entrée de jeu : l'emblème du logo s'assemble, le titre
   arrive, puis tout se pose sur le logo de l'accueil ; JOUER et la
   navigation montent ensuite du bas.
   ========================================================================= */
.mq-shell.is-mm-intro .mq-top, .mq-shell.is-mm-intro .mq-nav, .mq-shell.is-mm-intro .mq-h2-stage,
.mq-shell.is-mm-intro .mq-h2-play, .mq-shell.is-mm-intro .mq-h2-light, .mq-shell.is-mm-intro .mq-h2-loader {
  opacity: 0 !important; pointer-events: none !important; transition: none !important;
}
.mq-shell.is-mm-intro.is-mm-wait .mq-h2-loader { opacity: 1 !important; z-index: 60; transition: opacity .35s ease !important; }

/* Passage à l'accueil : le logo prend le relais, puis JOUER et les sections montent */
.mq-shell.is-mm-reveal .mq-h2-brand { animation: mmFade .26s ease both; }
.mq-shell.is-mm-reveal .mq-h2-brand [data-h2-tag] { animation: mmUp .55s cubic-bezier(.2, 1, .3, 1) .28s both; }
.mq-shell.is-mm-hero-wait .mq-h2-scene { opacity: 0 !important; }
.mq-shell.is-mm-hero .mq-h2-scene { animation: mmHero .75s cubic-bezier(.2, 1.05, .3, 1) both; }
.mq-shell.is-mm-reveal .mq-h2-light { animation: mmFade .9s ease both; }
.mq-shell.is-mm-reveal .mq-top { animation: mmDrop .7s cubic-bezier(.16, 1.1, .3, 1) .2s both; }
.mq-shell.is-mm-reveal .mq-h2-play { animation: mmRise .8s cubic-bezier(.16, 1.12, .3, 1) .12s both; }
.mq-shell.is-mm-reveal .mq-nav { animation: mmRise .85s cubic-bezier(.16, 1.12, .3, 1) .24s both; }
@keyframes mmFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mmUp { from { opacity: 0; transform: translate3d(0, 10px, 0); } to { opacity: 1; transform: none; } }
@keyframes mmHero { from { opacity: 0; transform: translate3d(0, -14px, 0) scale(.92); } to { opacity: 1; transform: none; } }
@keyframes mmDrop { from { opacity: 0; transform: translate3d(0, -140%, 0); } to { opacity: 1; transform: none; } }
@keyframes mmRise { from { opacity: 0; transform: translate3d(0, 160%, 0); } 60% { opacity: 1; } to { opacity: 1; transform: none; } }

/* Scène de l'entrée */
.mm-intro { position: absolute; inset: 0; z-index: 50; overflow: hidden; display: grid; place-items: center; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mm-rays {
  position: absolute; left: 50%; top: 46%; width: 190vmax; height: 190vmax; margin: -95vmax 0 0 -95vmax; opacity: 0; pointer-events: none;
  background: repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .55) 0deg 5deg, rgba(255, 255, 255, 0) 5deg 15deg);
  -webkit-mask-image: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .5) 22%, transparent 48%); mask-image: radial-gradient(circle, #000 0%, rgba(0, 0, 0, .5) 22%, transparent 48%);
}
.mm-intro::before {
  content: ""; position: absolute; left: 50%; top: 46%; width: 70vmin; height: 70vmin; margin: -35vmin 0 0 -35vmin; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(255, 255, 255, .8) 0%, rgba(170, 235, 255, .35) 40%, transparent 70%);
  animation: mmGlowIn .9s ease-out both;
}
@keyframes mmGlowIn { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
.mm-aura {
  position: absolute; left: 50%; top: 46%; width: 80vmin; height: 80vmin; margin: -40vmin 0 0 -40vmin; border-radius: 50%; opacity: 0; pointer-events: none;
  background: radial-gradient(circle, rgba(255, 255, 255, .95) 0%, rgba(150, 230, 255, .45) 38%, transparent 70%);
}
.mm-skip {
  position: absolute; z-index: 6; top: calc(12px + env(safe-area-inset-top, 0px)); right: calc(12px + env(safe-area-inset-right, 0px));
  border: 0; cursor: pointer; padding: 9px 15px; border-radius: 999px; font: inherit; font-weight: 800; font-size: .82rem; line-height: 1;
  color: var(--encre, #153c7a); background: rgba(255, 255, 255, .62); box-shadow: inset 0 0 0 1px rgba(21, 60, 122, .12);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.mm-title-fly, .mm-emb-fly { position: absolute; inset: 0; pointer-events: none; }
.mm-title-fly { z-index: 3; }
.mm-emb-fly { display: grid; place-items: center; z-index: 2; }
.mm-title-wrap { position: absolute; left: 0; right: 0; top: 0; height: 0; perspective: 1100px; }
.mm-title { position: absolute; left: 50%; top: 0; width: var(--TW, 80%); aspect-ratio: var(--tar, 788 / 207); transform: translateX(-50%); transform-style: preserve-3d; }
.mm-tbob { position: absolute; inset: 0; transform-style: preserve-3d; }
.mm-tpart { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); opacity: 0; transform-origin: 50% 70%; }
.mm-tpart > .mm-tin { position: absolute; inset: 0; }
.mm-tpart img { display: block; width: 100%; height: 100%; user-select: none; -webkit-user-drag: none; }
.mm-tpart.mm-wave { clip-path: inset(0 100% 0 0); }
.mm-tshine { position: absolute; inset: 0; overflow: hidden; -webkit-mask-image: var(--mask); mask-image: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; }
.mm-tshine::before { content: ""; position: absolute; top: -30%; bottom: -30%; left: 0; width: 24%; transform: translateX(-120%) skewX(-18deg); background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .85) 50%, transparent 100%); }
.mm-tshine.is-run::before { animation: mmTshine var(--dur, 1s) cubic-bezier(.45, .05, .25, 1) forwards; }
@keyframes mmTshine { to { transform: translateX(520%) skewX(-18deg); } }
.mm-tspark { position: absolute; left: 0; top: 0; width: 7%; aspect-ratio: 1; margin: -3.5% 0 0 -3.5%; opacity: 0; background: radial-gradient(circle, #fff 0 12%, rgba(190, 245, 255, .9) 22%, rgba(40, 190, 255, .35) 45%, transparent 70%); }
.mm-tflash { position: absolute; left: var(--jx); top: var(--jy); width: 36%; aspect-ratio: 1; margin: -18% 0 0 -18%; opacity: 0; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .95) 0%, rgba(120, 225, 255, .55) 30%, transparent 68%); }
.mm-stage { position: relative; perspective: 1400px; }
.mm-rig, .mm-layer, .mm-bob { position: absolute; inset: 0; transform-style: preserve-3d; }
.mm-rig { will-change: transform; }
.mm-el { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); opacity: 0; transform-origin: 50% 50%; }
.mm-el > img, .mm-face > img.mm-base { display: block; width: 100%; height: 100%; user-select: none; -webkit-user-drag: none; }
.mm-card { border-radius: 9.4% / 6.9%; box-shadow: 0 calc(var(--S) * .035) calc(var(--S) * .06) calc(var(--S) * -.02) rgba(40, 120, 180, .38), 0 calc(var(--S) * .008) calc(var(--S) * .018) rgba(40, 120, 180, .22); }
.mm-face { position: absolute; inset: 0; border-radius: inherit; overflow: hidden; }
.mm-star { position: absolute; left: var(--sx); top: var(--sy); width: var(--sw); height: var(--sh); transform: scale(0); filter: drop-shadow(0 calc(var(--S) * .012) calc(var(--S) * .014) rgba(20, 90, 200, .32)); }
.mm-shine { position: absolute; top: -25%; bottom: -25%; left: 0; width: 42%; transform: translateX(-140%) skewX(-16deg); background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, .62) 50%, transparent 100%); }
.mm-brain-glow { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); opacity: 0; border-radius: 50%; background: radial-gradient(circle, rgba(60, 190, 255, .55) 0%, rgba(60, 190, 255, .2) 42%, transparent 68%); }
.mm-badge-glow { position: absolute; inset: -16%; border-radius: 50%; z-index: -1; opacity: .75; background: radial-gradient(circle, rgba(80, 215, 255, .55) 0%, transparent 66%); }
.mm-q > img { filter: drop-shadow(0 0 calc(var(--S) * .006) rgba(20, 120, 230, .7)) drop-shadow(0 calc(var(--S) * .008) calc(var(--S) * .012) rgba(20, 110, 220, .4)); }
.mm-dash > img { filter: drop-shadow(0 0 calc(var(--S) * .01) rgba(40, 200, 255, .9)); }
.mm-fx { position: absolute; left: -30%; top: -30%; width: 160%; height: 160%; pointer-events: none; }


/* =========================================================================
   6.37.7 — Sélection des formats par la couleur
   Les !important ci-dessous sont limités à l'état sélectionné des formats :
   ils neutralisent les anciennes règles thématiques elles-mêmes !important.
   ========================================================================= */
.mq-shell {
  --mq-format-selected-bg:#08736a;
  --mq-format-selected-fg:#ffffff;
  --mq-format-selected-ring:#064f49;
}
.mq-shell[data-skin="jade"] { --mq-format-selected-bg:#08736a; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#064f49; }
.mq-shell[data-skin="ocean"] { --mq-format-selected-bg:#075a70; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#8cecff; }
.mq-shell[data-skin="ardoise"] { --mq-format-selected-bg:#315568; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#75dce8; }
.mq-shell[data-skin="grenat"] { --mq-format-selected-bg:#78233e; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#e9a6ba; }
.mq-shell[data-skin="ambre"] { --mq-format-selected-bg:#874100; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#ffd080; }
.mq-shell[data-skin="nuit"] { --mq-format-selected-bg:#344185; --mq-format-selected-fg:#ffffff; --mq-format-selected-ring:#9de8ff; }
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card[aria-checked="true"] {
  background:var(--mq-format-selected-bg) !important;
  color:var(--mq-format-selected-fg) !important;
  border-color:var(--mq-format-selected-ring) !important;
  box-shadow:0 7px 18px rgba(9,31,48,.18),0 0 0 2px color-mix(in srgb,var(--mq-format-selected-ring) 65%,transparent) !important;
  transform:translateY(-2px);
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card[aria-checked="true"]::before,
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card[aria-checked="true"]::after { display:none !important; }
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card[aria-checked="true"] .mq-mini-grille {
  background:color-mix(in srgb,var(--mq-format-selected-fg) 15%,transparent) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mq-format-selected-fg) 32%,transparent) !important;
}
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card[aria-checked="true"] .mq-mini-grille i {
  background:var(--mq-format-selected-fg) !important;
  opacity:.92;
  box-shadow:none !important;
}
.mq-shell .mq-view[data-view="miseEnPlace"] .mq-format-card:focus-visible { outline:3px solid var(--mq-format-selected-ring); outline-offset:3px; }

/* 6.37.7 — Boutique : univers harmonisés, prix et cadeaux. */
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-category-option .mq-theme-copy strong {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden;
  min-height:2.35em; line-height:1.16; overflow-wrap:anywhere;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-category-option:disabled { opacity:1; cursor:default; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-lock-line {
  display:block; font-size:clamp(.58rem,2.25vw,.72rem); line-height:1.1; font-weight:800;
  color:var(--mq-shop-meta); margin-top:1px;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-price-badge {
  position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:3px;
  min-height:22px; padding:3px 7px; border-radius:999px; overflow:hidden;
  color:#3b2500 !important; -webkit-text-fill-color:#3b2500 !important;
  background:linear-gradient(145deg,#fff0a8 0%,#ffd454 45%,#f4b90b 100%);
  border:1px solid #c98d00; box-shadow:0 3px 8px rgba(154,105,0,.2),inset 0 1px 0 rgba(255,255,255,.85);
  font-size:clamp(.68rem,2.55vw,.82rem); font-weight:950; line-height:1;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-price-badge::after {
  content:""; position:absolute; z-index:-1; left:-20%; top:-80%; width:42%; height:220%; transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-price-badge svg { width:14px; height:14px; color:#8f5a00; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-hint {
  margin:0; padding:7px 10px; border-radius:12px; text-align:center; font-size:.78rem; font-weight:800;
  color:var(--mq-text); background:var(--mq-surface-soft); border:1px solid var(--mq-border);
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gifts { gap:9px; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card {
  display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:10px;
  padding:12px; border-radius:16px; color:var(--mq-text); background:var(--mq-surface-raised); border:1px solid var(--mq-border);
  box-shadow:var(--mq-shadow-soft);
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card.is-ready { border-color:var(--mq-border-active); }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-icon {
  display:grid; place-items:center; width:42px; height:42px; border-radius:14px;
  background:linear-gradient(145deg,#fff2a8,#ffc633); color:#8b5700;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card strong,
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card small { display:block; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card small { margin-top:3px; color:var(--mq-text-secondary); line-height:1.3; }
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card button {
  grid-column:1 / -1; min-height:44px; border:0; border-radius:13px; font:inherit; font-weight:900; cursor:pointer;
  color:#102b31; background:linear-gradient(135deg,#8ff0d3,#56d8d1); box-shadow:0 6px 14px rgba(32,148,151,.22);
}
.mq-shell .mq-chip.is-gift-ready { position:relative; }
.mq-shell .mq-chip.is-gift-ready::after {
  content:""; position:absolute; top:-2px; right:-2px; width:10px; height:10px; border-radius:50%;
  background:#e52f3f; border:2px solid var(--mq-surface,#fff); box-shadow:0 2px 6px rgba(110,0,10,.32); z-index:4;
}

/* v139 patch F05 — actions et signalement des tournois publics */
.mq-tp-public-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;flex:0 0 auto}
.mq-tp-public-actions .mq-tp-secondary{width:100%}
.mq-tp-report-link{opacity:.82;justify-content:center!important;min-height:28px!important;padding:2px 4px!important}
.mq-tp-report-reasons{display:grid;gap:8px;margin-top:14px}
.mq-tp-report-reasons .mq-tp-choice{text-align:left;width:100%}
.mq-tp-report-reasons .mq-tp-choice strong,.mq-tp-report-reasons .mq-tp-choice small{display:block}


/* ==========================================================================
   TOURNOIS V3 — tableau de bord mobile premium (6.40.2)
   Ajoute l’état joueur, l’action prioritaire et un dock de navigation sans
   toucher à la machine à états serveur ni aux écrans lobby/tableau/podium.
   ========================================================================== */
.mq-tp-v3{--tp3-navy:#073e60;--tp3-aqua:#1bc7cf;--tp3-blue:#168fc8;--tp3-gold:#f7bd35;--tp3-line:color-mix(in srgb,var(--mq-border) 86%,#8fdde0 14%)}
.mq-tp-v3 .mq-tp-v3-scroll{padding-bottom:104px}
.mq-tp-v3-player{position:relative;overflow:hidden;border-radius:27px;padding:16px;color:#fff;background:radial-gradient(circle at 90% 0,#2bd9d85e,transparent 38%),linear-gradient(135deg,#073d62 0,#09547d 48%,#08a8b5 100%);box-shadow:0 17px 36px #06395435;border:1px solid #ffffff2b}
.mq-tp-v3-player:after{content:'';position:absolute;inset:-60% -35%;background:linear-gradient(110deg,transparent 36%,#ffffff1f 48%,transparent 60%);animation:tp3-sheen 7s ease-in-out infinite;pointer-events:none}
.mq-tp-v3-state,.mq-tp-v3-spot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.mq-tp-v3-player .mq-tp-eyebrow{color:#d6faff;margin:0}
.mq-tp-v3-online{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#ffffff17;border:1px solid #ffffff2d;font-size:9px;font-weight:900}
.mq-tp-v3-profile{display:grid;grid-template-columns:68px 1fr;gap:12px;align-items:center;margin-top:12px;position:relative;z-index:1}
.mq-tp-v3-avatar{width:68px;height:68px;position:relative}.mq-tp-v3-avatar .mq-tp-avatar{width:68px;height:68px;border:3px solid #fff;box-shadow:0 8px 20px #001b2f57}
.mq-tp-v3-avatar>b{position:absolute;right:-3px;bottom:-4px;min-width:27px;height:27px;display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,#fff1a2,#efaa24);color:#5f3a00;border:2px solid white;font-size:10px}
.mq-tp-v3-profile-copy h2{font-size:23px;margin:0 0 5px;letter-spacing:-.6px}.mq-tp-v3-profile-copy p{display:flex;align-items:center;gap:5px;margin:0;color:#dff7ff;font-size:11px}.mq-tp-v3-profile-copy p .mq-tp-ic{width:16px;height:16px;color:#ffe47d}.mq-tp-v3-profile-copy small{display:block;color:#d4eef6;font-size:9px;font-weight:800;margin-top:5px}
.mq-tp-v3-progress{height:6px;margin-top:7px;border-radius:99px;background:#ffffff26;overflow:hidden}.mq-tp-v3-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ff0df,#fff2a2);box-shadow:0 0 12px #fff8}
.mq-tp-v3-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px;position:relative;z-index:1}.mq-tp-v3-stats>div{text-align:center;padding:9px 5px;border-radius:14px;background:#ffffff13;border:1px solid #ffffff18}.mq-tp-v3-stats strong{display:block;font-size:17px}.mq-tp-v3-stats span{display:block;color:#d9edf4;font-size:8px;font-weight:800;margin-top:2px}
.mq-tp-v3-spotlight{position:relative;overflow:hidden;border-radius:22px;padding:14px;background:linear-gradient(145deg,#fff8dc,#fff 64%);border:1px solid #eed68c;box-shadow:0 9px 24px #7a560e16}.mq-tp-v3-spotlight:before{content:'';position:absolute;width:110px;height:110px;right:-35px;top:-35px;border-radius:50%;background:radial-gradient(circle,#ffd75b69,transparent 70%);pointer-events:none}.mq-tp-v3-spotlight.is-calm{background:var(--mq-surface);border-color:var(--tp3-line)}.mq-tp-v3-spotlight h3{font-size:15px;margin:10px 0 3px}.mq-tp-v3-spotlight>p{font-size:10px;margin:0 0 11px}.mq-tp-v3-spot-head>span:last-child{font-size:9px;color:var(--mq-text-secondary);font-weight:850}.mq-tp-v3-spotlight .mq-tp-primary{margin-top:10px;min-height:44px;padding:12px;font-size:12px}
.mq-tp-v3-versus{display:grid;grid-template-columns:1fr 42px 1fr;align-items:center;margin:11px 0}.mq-tp-v3-versus>div{text-align:center}.mq-tp-v3-versus .mq-tp-avatar{width:48px;height:48px;border:3px solid white;box-shadow:0 5px 14px #063d5a20}.mq-tp-v3-versus strong{display:block;font-size:10px;margin-top:4px}.mq-tp-v3-versus>b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--tp3-navy),var(--tp3-aqua));color:#fff;font-size:11px;box-shadow:0 5px 12px #07516f32}
.mq-tp-v3-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.mq-tp-v3-action{position:relative;min-height:112px;text-align:left;padding:13px 34px 13px 13px;border-radius:20px!important;background:var(--mq-surface)!important;border:1px solid var(--tp3-line)!important;box-shadow:0 7px 21px #053a5710}.mq-tp-v3-action.is-gold{background:linear-gradient(145deg,#fff9e0,#fff)!important;border-color:#ecd58f!important}.mq-tp-v3-action>span{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#dff9fa,#bff1f1);color:#0a8292;margin-bottom:9px}.mq-tp-v3-action.is-gold>span{background:linear-gradient(145deg,#fff0b5,#ffd45b);color:#90620d}.mq-tp-v3-action strong,.mq-tp-v3-action small{display:block}.mq-tp-v3-action strong{font-size:11px}.mq-tp-v3-action small{font-size:9px;color:var(--mq-text-secondary);line-height:1.35;margin-top:3px}.mq-tp-v3-action>.mq-tp-ic{position:absolute;right:10px;bottom:13px;width:17px;height:17px;color:var(--accent)}
.mq-tp-v3-mine{display:grid;gap:8px}.mq-tp-v3-resume{width:100%;text-align:left}.mq-tp-v3-resume>span:last-child{margin-left:auto;display:flex;align-items:center;gap:3px;font-size:10px;color:var(--accent);font-weight:900}.mq-tp-v3-resume>span:last-child .mq-tp-ic{width:14px;height:14px}
.mq-tp-v3-code .mq-tp-code-entry input{letter-spacing:4px;text-align:center;font-size:17px;font-weight:950}
.mq-tp-v3-record{padding:15px;border-radius:22px;background:var(--mq-surface);border:1px solid var(--tp3-line);box-shadow:0 7px 20px #0538530c}.mq-tp-v3-medals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mq-tp-v3-medals>div{text-align:center;padding:10px 4px;border-radius:14px;background:var(--mq-surface-raised)}.mq-tp-v3-medals b{font-size:20px;display:block}.mq-tp-v3-medals strong{font-size:16px;display:block}.mq-tp-v3-medals small{font-size:8px;color:var(--mq-text-secondary);font-weight:850}.mq-tp-v3-achievements{display:grid;gap:7px;margin-top:11px}.mq-tp-v3-achievement{display:flex;align-items:center;gap:9px;padding:9px;border-radius:13px;background:var(--mq-surface-raised);opacity:.54}.mq-tp-v3-achievement.is-unlocked{opacity:1;background:linear-gradient(110deg,#effaf6,var(--mq-surface-raised))}.mq-tp-v3-achievement>span{width:32px;height:32px;display:grid;place-items:center;border-radius:11px;background:var(--mq-surface);color:var(--accent)}.mq-tp-v3-achievement strong,.mq-tp-v3-achievement small{display:block}.mq-tp-v3-achievement strong{font-size:10px}.mq-tp-v3-achievement small{font-size:8px;color:var(--mq-text-secondary);margin-top:2px}.mq-tp-v3-title{margin-top:10px}
.mq-tp-v3-safety{display:flex;gap:9px;align-items:flex-start;margin:18px 2px 2px;color:var(--mq-text-secondary)}.mq-tp-v3-safety>span{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--mq-surface-raised);color:var(--accent);flex:0 0 31px}.mq-tp-v3-safety strong,.mq-tp-v3-safety small{display:block}.mq-tp-v3-safety strong{font-size:9px;color:var(--mq-text)}.mq-tp-v3-safety small{font-size:8px;line-height:1.35;margin-top:2px}
.mq-tp-v3-dock{position:absolute;z-index:12;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:7px;border-radius:21px;background:color-mix(in srgb,var(--mq-surface) 92%,transparent);border:1px solid var(--tp3-line);box-shadow:0 12px 36px #032b442b;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.mq-tp-v3-dock button{min-height:47px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px!important;color:var(--mq-text-secondary)!important;font-size:8px!important;font-weight:900!important}.mq-tp-v3-dock button:first-child{background:color-mix(in srgb,var(--accent) 10%,transparent)!important;color:var(--accent)!important}.mq-tp-v3-dock .mq-tp-ic{width:18px;height:18px}
@keyframes tp3-sheen{0%,55%{transform:translateX(-45%)}75%,100%{transform:translateX(48%)}}
@media(max-width:390px){.mq-tp-v3-actions{grid-template-columns:1fr 1fr}.mq-tp-v3-player{padding:14px}.mq-tp-v3-profile{grid-template-columns:60px 1fr}.mq-tp-v3-avatar,.mq-tp-v3-avatar .mq-tp-avatar{width:60px;height:60px}.mq-tp-v3-profile-copy h2{font-size:20px}.mq-tp-v3-action{min-height:106px;padding:11px 29px 11px 11px}}
@media(prefers-reduced-motion:reduce){.mq-tp-v3-player:after{animation:none}}
.mq-shell[data-calm="true"] .mq-tp-v3-player:after{animation:none}
\n\n/* MemoMilo 2.3.50 — Story v2.3 integrated full screen. */
.mq-shell[data-screen="histoire"] .mq-app{padding:0!important;gap:0!important;max-width:none!important;width:100%!important;background:#eef4e8}
.mq-shell[data-screen="histoire"] .mq-stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important}
.mq-view[data-view="histoire"]{inset:0!important;padding:0!important;margin:0!important;border-radius:0!important;background:#eef4e8!important;overflow:hidden!important}
.mq-story-v23-frame{display:block;width:100%;height:100%;min-height:100%;border:0;background:#eef4e8}


/* =========================================================================
   HOTFIX v148 — PHASE 1 MULTIJOUEUR : VIEWPORT / CLAVIER / ÉCRANS COURTS
   - empêche les cartes salle/aperçu d'être comprimées puis tronquées
   - permet un défilement vertical local lorsque la hauteur utile est réduite
   - stabilise les formulaires pendant l'ouverture du clavier
   ========================================================================= */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-center {
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-center::-webkit-scrollbar { display:none; }
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-online-age-card,.mq-online-form-card,.mq-waiting-card,.mq-room-preview,.mq-launch-error) {
  flex-shrink:0;
}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview {
  overflow:visible;
}
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime {
  gap:6px;
}
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime .mq-online-head {
  padding-top:0;
}
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime .mq-online-center {
  align-items:flex-start;
  padding-bottom:max(14px,env(safe-area-inset-bottom));
}
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime .mq-online-form,
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime .mq-online-form-card {
  align-content:start;
}
.mq-shell[data-skin] .mq-view[data-view="online"].is-online-ime :is(input,select,textarea) {
  scroll-margin-block:18px;
}
@media (max-height:760px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-center {
    align-items:flex-start;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-waiting-card,.mq-room-preview) {
    margin-block:auto;
  }
}
@media (max-height:620px) {
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-screen {
    gap:8px;
    padding:8px 10px;
  }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-title { gap:2px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-player { gap:4px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-player > span { width:64px;border-width:4px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-vs { gap:4px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-match-vs b { width:46px; }
  .mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-summary span { padding:4px 7px; }
}
/* =========================================================================
   MEMOMILO 6.40.2 — PHASE 2 / QA MULTI-THÈMES PASS 4
   Raccorde les dernières surfaces historiques aux jetons sémantiques.
   Périmètre : catégories, aide/paramètres en partie, sécurité online,
   récompenses, overlays trophées/promotion et flash de l'iframe Histoire.
   ========================================================================= */
.mq-shell[data-skin] {
  --mq-overlay:color-mix(in srgb,var(--mq-bg) 62%,transparent);
  --mq-info-bg:color-mix(in srgb,var(--mq-accent) 8%,var(--mq-surface));
  --mq-info-border:color-mix(in srgb,var(--mq-accent) 24%,var(--mq-border));
}

/* Catégories / carrousels : plus aucune carte blanche Lagon forcée. */
.mq-shell[data-skin] .mq-panneau {
  background:color-mix(in srgb,var(--mq-surface) 94%,transparent) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-vignette figure {
  background:linear-gradient(165deg,var(--mq-surface-raised),var(--mq-surface-soft)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-vignette strong {
  color:var(--mq-text) !important;
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-scroll::-webkit-scrollbar-thumb {
  background:color-mix(in srgb,var(--mq-text) 22%,transparent) !important;
}

/* Aide / paramètres ouverts pendant une partie. */
.mq-shell[data-skin] .mq-game-note {
  background:var(--mq-info-bg) !important;
  color:var(--mq-text-secondary) !important;
  border:1px solid var(--mq-info-border) !important;
}
.mq-shell[data-skin] .mq-tip-card {
  background:linear-gradient(145deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-tip-card small { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-tip-card h4 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-tip-card p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-tip-dots i { background:color-mix(in srgb,var(--mq-text) 24%,transparent) !important; }
.mq-shell[data-skin] .mq-tip-dots i.is-on { background:var(--mq-accent) !important; }
.mq-shell[data-skin] .mq-tip-resume { color:var(--mq-text-secondary) !important; }

.mq-shell[data-skin] :is(.mq-game-setting-row,.mq-game-volume-row,.mq-game-rules,.mq-online-safety-reasons button) {
  background:var(--mq-surface) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:none !important;
}
.mq-shell[data-skin] :is(.mq-game-setting-row,.mq-game-volume-row,.mq-game-rules) > span {
  background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-soft)) !important;
  color:var(--mq-accent-strong) !important;
}
.mq-shell[data-skin] :is(.mq-game-setting-row small,.mq-game-volume-row em,.mq-game-rules p,.mq-online-safety-reasons button small,.mq-online-safety>p) {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-online-safety-reasons button strong,
.mq-shell[data-skin] .mq-game-rules strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-game-switch {
  background:color-mix(in srgb,var(--mq-text) 18%,var(--mq-surface-soft)) !important;
}
.mq-shell[data-skin] .mq-game-switch u {
  background:var(--mq-surface-raised) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-game-setting-row[aria-pressed="true"] .mq-game-switch {
  background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2)) !important;
}
.mq-shell[data-skin] .mq-game-volume-row b input { accent-color:var(--mq-accent) !important; }

/* États online urgents : rouge sémantique, sans blanc fixe. */
.mq-shell[data-skin] .mq-online-challenge-timer.is-urgent,
.mq-shell[data-skin] .mq-online-challenge-timer.is-expired {
  border-color:color-mix(in srgb,var(--mq-error) 52%,var(--mq-border)) !important;
  background:color-mix(in srgb,var(--mq-error) 10%,var(--mq-surface)) !important;
}
.mq-shell[data-skin] .mq-online-challenge-timer.is-urgent > strong,
.mq-shell[data-skin] .mq-online-challenge-timer.is-expired > strong { color:var(--mq-error) !important; }
.mq-shell[data-skin] .mq-online-challenge-timer.is-urgent > i > u,
.mq-shell[data-skin] .mq-online-challenge-timer.is-expired > i > u { background:var(--mq-error) !important; }

/* Résultat classique / récompense : surfaces du thème. */
.mq-shell[data-skin] .mq-recompense {
  background:var(--mq-surface-soft) !important;
  color:var(--mq-text) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-recompense b { color:var(--mq-text) !important; }

/* Overlays progression / promotion : évite le flash cyan clair avant le panneau. */
.mq-shell[data-skin] :is(.mq-trophy-route-layer,.mq-tier-promotion-layer) {
  background:color-mix(in srgb,var(--mq-bg) 97%,transparent) !important;
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-promotion-secondary {
  color:var(--mq-text-secondary) !important;
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
}

/* L'iframe Histoire ne doit jamais produire un flash vert clair dans Nuit/Ardoise. */
.mq-shell[data-skin] .mq-story-v23-frame { background:var(--mq-bg) !important; }

/* Calques plein écran et modales : teinte neutre du thème plutôt que bleu Lagon. */
.mq-shell[data-skin] .mq-sheet-layer,
.mq-shell[data-skin] .mq-game-sheet-layer { background:var(--mq-overlay) !important; }

/* Focus et cible tactile homogènes sur les éléments corrigés. */
.mq-shell[data-skin] :is(.mq-vignette,.mq-online-safety-reasons button,.mq-game-setting-row,.mq-game-volume-row) {
  min-height:var(--mq-control-min);
}
/* Tournois V3 : identité premium conservée, palette dérivée du thème actif. */
.mq-shell[data-skin] .mq-tp-v3 {
  --tp3-navy:var(--mq-accent-strong) !important;
  --tp3-aqua:var(--mq-accent) !important;
  --tp3-blue:var(--mq-accent-2) !important;
  --tp3-line:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-tp-v3-player {
  color:var(--mq-text-on-dark) !important;
  background:
    radial-gradient(circle at 90% 0,color-mix(in srgb,var(--mq-accent) 34%,transparent),transparent 38%),
    linear-gradient(135deg,var(--mq-accent-strong) 0%,color-mix(in srgb,var(--mq-accent-strong) 66%,var(--mq-accent-2)) 48%,var(--mq-accent-2) 100%) !important;
  border-color:color-mix(in srgb,var(--mq-text-on-dark) 18%,transparent) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-tp-v3-player .mq-tp-eyebrow,
.mq-shell[data-skin] .mq-tp-v3-profile-copy :is(p,small),
.mq-shell[data-skin] .mq-tp-v3-stats span { color:color-mix(in srgb,var(--mq-text-on-dark) 84%,transparent) !important; }
.mq-shell[data-skin] .mq-tp-v3-online,
.mq-shell[data-skin] .mq-tp-v3-stats>div {
  background:color-mix(in srgb,var(--mq-text-on-dark) 9%,transparent) !important;
  border-color:color-mix(in srgb,var(--mq-text-on-dark) 13%,transparent) !important;
}
.mq-shell[data-skin] .mq-tp-v3-progress { background:color-mix(in srgb,var(--mq-text-on-dark) 16%,transparent) !important; }
.mq-shell[data-skin] .mq-tp-v3-progress i { background:linear-gradient(90deg,var(--mq-accent),color-mix(in srgb,var(--mq-warning) 56%,#fff)) !important; }
.mq-shell[data-skin] .mq-tp-v3-versus>b { background:linear-gradient(145deg,var(--mq-accent-strong),var(--mq-accent-2)) !important; }
.mq-shell[data-skin] .mq-tp-v3-action:not(.is-gold),
.mq-shell[data-skin] .mq-tp-v3-record,
.mq-shell[data-skin] .mq-tp-v3-medals>div,
.mq-shell[data-skin] .mq-tp-v3-achievement,
.mq-shell[data-skin] .mq-tp-v3-safety>span {
  background:var(--mq-surface) !important;
  border-color:var(--mq-border) !important;
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-tp-v3-action:not(.is-gold)>span,
.mq-shell[data-skin] .mq-tp-v3-achievement>span {
  background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-soft)) !important;
  color:var(--mq-accent-strong) !important;
}
.mq-shell[data-skin] .mq-tp-v3-achievement.is-unlocked {
  background:linear-gradient(110deg,color-mix(in srgb,var(--mq-success) 9%,var(--mq-surface)),var(--mq-surface-raised)) !important;
}
.mq-shell[data-skin] .mq-tp-v3-dock { box-shadow:var(--mq-shadow) !important; }


/* ==========================================================================
   MemoMilo 6.40.2 â Phase 2 / pass 2 : configuration de revanche
   Capture rÃ©elle 55892 : .mq-premium-field est un label conteneur ; le fond
   appartient uniquement aux contrÃ´les input/select.
   ========================================================================== */
.mq-shell[data-skin] .mq-premium-field {
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
}
.mq-shell[data-skin] .mq-rematch-config {
  background:linear-gradient(155deg,var(--mq-online-panel-strong),var(--mq-online-panel)) !important;
  border-color:var(--mq-online-stroke) !important;
  box-shadow:var(--mq-shadow-soft) !important;
  color:var(--mq-online-title) !important;
}
.mq-shell[data-skin] .mq-rematch-config header > span {
  background:var(--mq-button-bg) !important;
  color:var(--mq-button-text) !important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--mq-online-accent) 24%,transparent) !important;
}
.mq-shell[data-skin] .mq-rematch-config header small { color:var(--mq-online-accent) !important; }
.mq-shell[data-skin] .mq-rematch-config header strong { color:var(--mq-online-title) !important; }
.mq-shell[data-skin] .mq-rematch-fields .mq-premium-field > span {
  background:transparent !important;
  color:var(--mq-online-sub) !important;
  padding:0 2px !important;
}
.mq-shell[data-skin] .mq-rematch-fields .mq-premium-field select {
  background-color:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--mq-text-secondary) 50%),
    linear-gradient(135deg,var(--mq-text-secondary) 50%,transparent 50%) !important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--mq-text) 5%,transparent) !important;
}
.mq-shell[data-skin] .mq-rematch-fields .mq-premium-field select:focus {
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow) !important;
  outline:none !important;
}
.mq-shell[data-skin] .mq-rematch-launch {
  background:var(--mq-button-bg) !important;
  color:var(--mq-button-text) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-rematch-config > p { color:var(--mq-error) !important; }
@media (max-width:430px) {
  .mq-shell[data-skin] .mq-rematch-config { padding:14px 12px 16px; }
  .mq-shell[data-skin] .mq-rematch-fields { gap:9px; }
  .mq-shell[data-skin] .mq-rematch-fields .mq-premium-field select { min-height:48px; font-size:.78rem; padding-inline:12px 34px; }
}

/* ==========================================================================
   MemoMilo 6.40.2 — PHASE 2 / PASS 3
   Apprentissage, sous-composants Profil et reprise/revanche.
   Les composants héritent des jetons sémantiques des six thèmes ; les
   médailles/or restent intentionnellement des couleurs de récompense.
   ========================================================================== */

/* Apprentissage — la bulle n'est plus une feuille blanche Lagon dans les
   thèmes sombres/chauds. Les cartes restent photographiques mais leur cadre
   et l'action utilisent la palette active. */
.mq-shell[data-skin] .mq-learning-shade {
  background:
    radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--mq-accent) 24%,transparent),transparent 31%),
    color-mix(in srgb,var(--mq-bg) 84%,rgba(0,0,0,.48)) !important;
}
.mq-shell[data-skin] .mq-learning-card {
  background:var(--mq-surface-soft) !important;
  border-color:var(--mq-surface-raised) !important;
  box-shadow:0 18px 40px color-mix(in srgb,var(--mq-bg) 54%,rgba(0,0,0,.34)),0 0 0 2px color-mix(in srgb,var(--mq-warning) 72%,transparent) !important;
}
.mq-shell[data-skin] .mq-learning-bubble {
  background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-learning-bubble::before {
  background:var(--mq-surface-raised) !important;
  border-left-color:var(--mq-border) !important;
  border-top-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-learning-bubble p { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-learning-bubble p strong,
.mq-shell[data-skin] .mq-learning-bubble p strong.mq-memory-word {
  color:var(--mq-accent-strong) !important;
  background:linear-gradient(180deg,transparent 68%,color-mix(in srgb,var(--mq-warning) 18%,transparent) 68%) !important;
}
.mq-shell[data-skin] .mq-learning-bubble p strong::after,
.mq-shell[data-skin] .mq-learning-bubble p strong.mq-memory-word::after {
  background:linear-gradient(90deg,var(--mq-warning),color-mix(in srgb,var(--mq-warning) 52%,#fff)) !important;
}
.mq-shell[data-skin] .mq-learning-next {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border-color:color-mix(in srgb,var(--mq-button-text) 24%,transparent) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-learning-next:active {
  box-shadow:0 2px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-learning-next:focus-visible {
  outline-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),0 5px 0 var(--mq-button-edge) !important;
}

/* Panneaux génériques — le médaillon d'une modale suit lui aussi le thème. */
.mq-shell[data-skin] .mq-sheet-thumb {
  background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-soft)) !important;
  color:var(--mq-accent-strong) !important;
  border:1px solid var(--mq-border) !important;
}

/* Profil — plusieurs sous-cartes échappaient encore au panneau parent et
   gardaient #fbfdff/#fff. Dans Nuit/Ardoise le texte sémantique clair pouvait
   donc se retrouver sur une surface claire. */
.mq-shell[data-skin] :is(.mq-profile-progress-row,.mq-profile-preferences article,.mq-avatar-option,.mq-avatar-purchase-summary) {
  background:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-avatar-option.is-locked {
  background:var(--mq-surface-soft) !important;
  color:var(--mq-text-muted) !important;
}
.mq-shell[data-skin] .mq-profile-progress-row :is(p,strong,b),
.mq-shell[data-skin] .mq-profile-preferences strong,
.mq-shell[data-skin] .mq-avatar-option-copy strong,
.mq-shell[data-skin] .mq-avatar-purchase-summary p { color:var(--mq-text) !important; }
.mq-shell[data-skin] :is(.mq-profile-progress-row small,.mq-profile-progress-row p>span,.mq-profile-preferences small,.mq-avatar-picker-note,.mq-avatar-option-copy small,.mq-avatar-purchase-summary small,.mq-profile-level-line>span) {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-profile-level-line>span strong,
.mq-shell[data-skin] .mq-profile-performance dd { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-profile-row-icon,
.mq-shell[data-skin] .mq-profile-preferences article>span {
  background:color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface-soft)) !important;
  color:var(--mq-accent-strong) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-profile-field input {
  background:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  caret-color:var(--mq-accent) !important;
}
.mq-shell[data-skin] .mq-profile-field input:focus {
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow) !important;
}
.mq-shell[data-skin] .mq-profile-field small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-avatar-option-art,
.mq-shell[data-skin] .mq-profile-avatar-large {
  background:var(--mq-surface-raised) !important;
}
.mq-shell[data-skin] .mq-avatar-option.is-selected {
  background:var(--mq-surface-selected) !important;
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-profile-actions {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Résultat / reprise — la boîte de partie rapide et les choix du dialogue de
   revanche ne reprennent plus le bleu clair fixe des anciennes versions. */
.mq-shell[data-skin] .mq-quick-restart {
  background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-quick-restart>span {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border-color:var(--mq-surface-raised) !important;
  box-shadow:0 13px 28px color-mix(in srgb,var(--mq-accent) 26%,transparent) !important;
}
.mq-shell[data-skin] .mq-quick-restart>span i { border-color:color-mix(in srgb,var(--mq-accent) 38%,transparent) !important; }
.mq-shell[data-skin] .mq-quick-restart h3 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-quick-restart p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-rematch-accept {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border-color:transparent !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-rematch-decline {
  color:var(--mq-text-secondary) !important;
  background:var(--mq-surface-soft) !important;
  border-color:var(--mq-border) !important;
  box-shadow:none !important;
}

/* Les cartes statistiques historiques sont garanties sémantiques, même hors
   du nouveau résultat premium. */
.mq-shell[data-skin] .mq-result-grid>div {
  background:var(--mq-surface-soft) !important;
  color:var(--mq-text) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-result-grid small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-result-grid strong { color:var(--mq-accent-strong) !important; }

/* -------------------------------------------------------------------------
   PHASE 2 / PASS 3B — RÉCOMPENSES, PROMO ET CHANGEMENT DE PALIER
   Les panneaux de célébration conservent l'or/vert sémantique, mais leurs
   surfaces et textes suivent désormais le thème actif (notamment Ardoise/Nuit).
   ------------------------------------------------------------------------- */
.mq-shell[data-skin] .mq-promo-used {
  background:var(--mq-surface-raised) !important;
  border-color:color-mix(in srgb,var(--mq-success) 30%,var(--mq-border)) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-promo-used strong { color:var(--mq-success) !important; }
.mq-shell[data-skin] .mq-promo-used small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-promo-reward {
  background:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,#ffd85a 18%,transparent),transparent 32%),
    linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 30px 80px color-mix(in srgb,var(--mq-bg) 54%,rgba(0,0,0,.32)),inset 0 1px 0 color-mix(in srgb,var(--mq-text) 10%,transparent) !important;
}
.mq-shell[data-skin] .mq-promo-reward p { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-promo-reward > strong,
.mq-shell[data-skin] .mq-promo-reward h3,
.mq-shell[data-skin] .mq-promo-reward small b { color:var(--mq-text) !important;text-shadow:none !important; }
.mq-shell[data-skin] .mq-promo-reward small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-promo-reward button {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}

.mq-shell[data-skin] .mq-tier-promotion {
  background:
    radial-gradient(circle at 50% 22%,color-mix(in srgb,#ffd85a 14%,transparent),transparent 30%),
    linear-gradient(180deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 24px 70px color-mix(in srgb,var(--mq-bg) 48%,rgba(0,0,0,.28)) !important;
}
.mq-shell[data-skin] .mq-tier-promotion > small { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-tier-promotion > h2 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-promotion-shift article,
.mq-shell[data-skin] .mq-promotion-details {
  background:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-promotion-shift article strong,
.mq-shell[data-skin] .mq-promotion-details p strong { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-promotion-shift article.is-new {
  background:var(--mq-surface-selected) !important;
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-promotion-shift article.is-new strong,
.mq-shell[data-skin] .mq-promotion-shift > em,
.mq-shell[data-skin] .mq-promotion-details p strong b { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-promotion-details > div + div { border-color:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-promotion-details p,
.mq-shell[data-skin] .mq-promotion-details p small { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-promotion-details :is(.is-blue,.is-green,.is-gold) {
  background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-soft)) !important;
}
.mq-shell[data-skin] .mq-promotion-details .is-gold { color:#c98a12 !important; }
.mq-shell[data-skin] .mq-promotion-primary {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-promotion-secondary {
  color:var(--mq-text-secondary) !important;
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}


/* =========================================================================
   MemoMilo 6.40.2 — PHASE 2 / PASS 4
   Derniers composants actifs encore partiellement hérités du bleu Lagon :
   toasts, erreurs online, demande de revanche et détails Tournoi.
   ========================================================================= */
.mq-shell[data-skin] .mq-toast {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border:1px solid color-mix(in srgb,var(--mq-button-text) 16%,transparent) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-launch-error > span {
  background:color-mix(in srgb,var(--mq-error) 12%,var(--mq-surface-soft)) !important;
  color:var(--mq-error) !important;
  border:1px solid color-mix(in srgb,var(--mq-error) 28%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-rematch-dialog {
  background:linear-gradient(155deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow) !important;
}
.mq-shell[data-skin] .mq-rematch-dialog h3 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-rematch-dialog p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-rematch-dialog-icon {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border-color:var(--mq-surface-raised) !important;
}
.mq-shell[data-skin] .mq-rematch-dialog-icon i { border-color:color-mix(in srgb,var(--mq-accent) 34%,transparent) !important; }

/* Tournoi : états secondaires qui conservaient encore des gris/ors fixes. */
.mq-shell[data-skin] .mq-tp-error { color:var(--mq-error) !important; }
.mq-shell[data-skin] .mq-tp-empty-seat {
  color:var(--mq-text-muted) !important;
  border-color:color-mix(in srgb,var(--mq-text-muted) 52%,transparent) !important;
  background:color-mix(in srgb,var(--mq-surface-soft) 72%,transparent) !important;
}
.mq-shell[data-skin] .mq-tp-resume,
.mq-shell[data-skin] .mq-tp-reward-card {
  background:var(--mq-surface) !important;
  color:var(--mq-text) !important;
  border-color:color-mix(in srgb,var(--mq-warning) 42%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-tp-resume::before { background:var(--mq-warning) !important; }
.mq-shell[data-skin] .mq-tp-resume .mq-tp-symbol {
  background:color-mix(in srgb,var(--mq-warning) 14%,var(--mq-surface-soft)) !important;
  color:var(--mq-warning) !important;
}

/* =========================================================================
   MemoMilo 6.40.2 — PHASE 2 / PASS 5
   Centre de confidentialité, suppression des données et états secondaires
   des réglages. Les anciennes cartes bleu clair ne doivent plus réapparaître
   dans Nuit/Ardoise/Grenat ; chaque surface dérive du thème actif.
   ========================================================================= */
.mq-shell[data-skin] .mq-privacy-center {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-privacy-center > p {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button {
  min-height:64px !important;
  background:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button:active {
  transform:scale(.99);
  background:var(--mq-surface-selected) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button:focus-visible {
  outline:0 !important;
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button > span {
  background:color-mix(in srgb,var(--mq-accent) 11%,var(--mq-surface-soft)) !important;
  color:var(--mq-accent-strong) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button strong {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button small,
.mq-shell[data-skin] .mq-privacy-center > button > i {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button.is-danger {
  background:color-mix(in srgb,var(--mq-error) 7%,var(--mq-surface-raised)) !important;
  border-color:color-mix(in srgb,var(--mq-error) 34%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button.is-danger > span {
  background:color-mix(in srgb,var(--mq-error) 11%,var(--mq-surface-soft)) !important;
  color:var(--mq-error) !important;
  border-color:color-mix(in srgb,var(--mq-error) 30%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button.is-danger strong,
.mq-shell[data-skin] .mq-privacy-center > button.is-danger > i {
  color:var(--mq-error) !important;
}
.mq-shell[data-skin] .mq-privacy-center > button.is-danger small {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-delete-online-copy {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-delete-online-copy p {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-delete-online-copy strong {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-form-error {
  color:var(--mq-error) !important;
}
.mq-shell[data-skin] .mq-privacy-link {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border:1px solid color-mix(in srgb,var(--mq-button-text) 14%,transparent) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-game-note {
  background:color-mix(in srgb,var(--mq-accent) 8%,var(--mq-surface-soft)) !important;
  color:var(--mq-text-secondary) !important;
  border:1px solid var(--mq-border) !important;
}
@media (max-width:390px), (max-height:700px) {
  .mq-shell[data-skin] .mq-privacy-center { gap:7px; }
  .mq-shell[data-skin] .mq-privacy-center > button {
    min-height:58px !important;
    grid-template-columns:36px minmax(0,1fr) 24px !important;
    padding:8px 9px !important;
  }
  .mq-shell[data-skin] .mq-privacy-center > button > span {
    width:36px !important;
    height:36px !important;
  }
}

/* Conseil / prise en main — cette modale restait entièrement Lagon, y compris
   dans les thèmes sombres. Elle conserve les accents de récompense mais suit
   maintenant les surfaces, textes et actions du thème actif. */
.mq-shell[data-skin] .mq-council-layer {
  background:
    radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--mq-accent) 22%,transparent),transparent 34%),
    color-mix(in srgb,var(--mq-bg) 82%,rgba(0,0,0,.62)) !important;
}
.mq-shell[data-skin] .mq-council-card {
  background:linear-gradient(165deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:0 28px 70px color-mix(in srgb,var(--mq-bg) 55%,rgba(0,0,0,.42)),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-council-card > header {
  color:var(--mq-accent-strong) !important;
}
.mq-shell[data-skin] .mq-council-steps i {
  background:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-council-steps i.is-on {
  background:var(--mq-button-bg) !important;
}
.mq-shell[data-skin] .mq-council-portrait img {
  border-color:var(--mq-surface-raised) !important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--mq-bg) 48%,rgba(0,0,0,.28)),0 0 0 3px var(--mq-warning) !important;
}
.mq-shell[data-skin] .mq-council-portrait b {
  background:var(--mq-accent-strong) !important;
  color:var(--mq-text-on-dark) !important;
  border-color:var(--mq-surface-raised) !important;
}
.mq-shell[data-skin] .mq-council-message {
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-council-message small { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-council-message h3 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-council-message p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-council-next {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}

/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / PASS 6
   Route des trophées, attente online et cadeau Boutique.
   Ces composants actifs conservaient encore des surfaces Lagon ou des actions
   turquoise codées en dur après les passes précédentes. Les couleurs de sens
   (succès, erreur, trophée) sont conservées, les surfaces suivent le thème.
   ========================================================================= */

/* Route des trophées — source de vérité commune aux six thèmes. */
.mq-shell[data-skin] .mq-trophy-route {
  background:
    radial-gradient(circle at 84% 7%,color-mix(in srgb,var(--mq-accent) 12%,transparent),transparent 29%),
    radial-gradient(circle at 8% 94%,color-mix(in srgb,var(--mq-warning) 8%,transparent),transparent 30%),
    linear-gradient(180deg,var(--mq-surface-soft),var(--mq-surface) 55%,color-mix(in srgb,var(--mq-surface) 90%,var(--mq-bg-2))) !important;
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-trophy-route::before {
  background:linear-gradient(120deg,transparent 0 42%,color-mix(in srgb,var(--mq-text) 8%,transparent) 48%,transparent 54%) !important;
}
.mq-shell[data-skin] .mq-trophy-route-head button {
  color:var(--mq-accent-strong) !important;
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-route-head button:focus-visible {
  outline:0 !important;
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-route-head h2 { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-trophy-route-head p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-trophy-route-head p span { color:var(--mq-accent) !important; }

.mq-shell[data-skin] .mq-trophy-summary,
.mq-shell[data-skin] .mq-trophy-route-tip {
  background:var(--mq-surface-raised) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-summary-cell + .mq-trophy-summary-cell::before { background:var(--mq-border) !important; }
.mq-shell[data-skin] .mq-trophy-summary-cell p,
.mq-shell[data-skin] .mq-trophy-route-tip p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-trophy-summary-cell p strong,
.mq-shell[data-skin] .mq-trophy-route-tip b { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-trophy-summary-cell.is-trophies > span {
  color:var(--mq-warning) !important;
  background:color-mix(in srgb,var(--mq-warning) 13%,var(--mq-surface-soft)) !important;
  border-color:color-mix(in srgb,var(--mq-warning) 26%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-trophy-summary-cell.is-grid > span {
  color:var(--mq-accent-strong) !important;
  background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-soft)) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-trophy-summary-cell.is-next > span {
  color:var(--mq-success) !important;
  background:color-mix(in srgb,var(--mq-success) 10%,var(--mq-surface-soft)) !important;
  border-color:color-mix(in srgb,var(--mq-success) 24%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-trophy-summary-cell.is-next p strong { color:var(--mq-success) !important; }
.mq-shell[data-skin] .mq-trophy-grid-icon { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-target-icon { border-color:var(--mq-success) !important;box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--mq-success) 14%,transparent) !important; }
.mq-shell[data-skin] .mq-target-icon::before,
.mq-shell[data-skin] .mq-target-icon::after { background:var(--mq-success) !important; }

.mq-shell[data-skin] .mq-trophy-next-line {
  color:var(--mq-text-secondary) !important;
  background:var(--mq-surface-soft) !important;
  border-color:var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-trophy-next-line > svg { color:var(--mq-accent) !important; }
.mq-shell[data-skin] .mq-trophy-next-line p :is(b,strong) { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-trophy-overall > div:first-child span,
.mq-shell[data-skin] .mq-trophy-overall > p { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-trophy-overall > div:first-child b,
.mq-shell[data-skin] .mq-trophy-overall > p b { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-trophy-overall-bar,
.mq-shell[data-skin] .mq-trophy-road-track {
  background:color-mix(in srgb,var(--mq-text) 12%,var(--mq-surface-soft)) !important;
  box-shadow:inset 0 1px 2px color-mix(in srgb,var(--mq-bg) 25%,transparent) !important;
}
.mq-shell[data-skin] .mq-trophy-overall-bar i,
.mq-shell[data-skin] .mq-trophy-road-track > span i {
  background:linear-gradient(90deg,var(--mq-accent),var(--mq-accent-2),var(--mq-warning)) !important;
  box-shadow:0 0 10px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important;
}

.mq-shell[data-skin] .mq-trophy-threshold,
.mq-shell[data-skin] .mq-trophy-format {
  color:var(--mq-text-secondary) !important;
  background:var(--mq-surface-raised) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-format strong { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-trophy-format .mq-trophy-grid-icon {
  color:var(--mq-text-muted) !important;
  background:var(--mq-surface-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-stage-dot {
  background:var(--mq-locked) !important;
  border-color:var(--mq-surface) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-locked) 62%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-trophy-state.is-locked { color:var(--mq-text-muted) !important; }
.mq-shell[data-skin] .mq-trophy-state.is-done { color:var(--mq-success) !important; }
.mq-shell[data-skin] .mq-trophy-state.is-current {
  color:var(--mq-button-text) !important;
  background:linear-gradient(135deg,var(--mq-accent),var(--mq-accent-2)) !important;
  box-shadow:0 6px 12px color-mix(in srgb,var(--mq-accent) 24%,transparent) !important;
}
.mq-shell[data-skin] .mq-trophy-stage.is-done .mq-trophy-threshold {
  color:var(--mq-success) !important;
  background:color-mix(in srgb,var(--mq-success) 8%,var(--mq-surface-raised)) !important;
  border-color:color-mix(in srgb,var(--mq-success) 26%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-trophy-stage.is-done .mq-trophy-stage-dot {
  background:var(--mq-success) !important;
  border-color:var(--mq-surface) !important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-success) 70%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-trophy-stage.is-done .mq-trophy-format strong { color:var(--mq-text-secondary) !important; }
.mq-shell[data-skin] .mq-trophy-stage.is-current .mq-trophy-threshold,
.mq-shell[data-skin] .mq-trophy-stage.is-current .mq-trophy-format {
  color:var(--mq-accent-strong) !important;
  background:var(--mq-surface-selected) !important;
  border-color:var(--mq-border-active) !important;
  box-shadow:var(--mq-glow),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-trophy-stage.is-current .mq-trophy-stage-dot {
  background:var(--mq-accent) !important;
  border-color:var(--mq-surface) !important;
  box-shadow:0 0 0 1px var(--mq-border-active),0 0 0 5px color-mix(in srgb,var(--mq-accent) 12%,transparent) !important;
}
.mq-shell[data-skin] .mq-trophy-stage.is-current .mq-trophy-format .mq-trophy-grid-icon,
.mq-shell[data-skin] .mq-trophy-stage.is-current .mq-trophy-format strong { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-trophy-route-tip > span {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}

/* Attente activité en partie online : même matériau que le HUD, y compris l'urgence. */
.mq-shell[data-skin] .mq-online-activity-wait {
  color:var(--mq-text) !important;
  background:color-mix(in srgb,var(--mq-surface-raised) 94%,transparent) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-online-activity-wait > span svg { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-online-activity-wait > strong {
  color:var(--mq-accent-strong) !important;
  background:var(--mq-surface-selected) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-online-activity-wait.is-urgent > strong {
  color:var(--mq-error) !important;
  background:color-mix(in srgb,var(--mq-error) 10%,var(--mq-surface-raised)) !important;
  border-color:color-mix(in srgb,var(--mq-error) 30%,var(--mq-border)) !important;
}

/* Boutique : le cadeau reste doré, son action suit le CTA du thème actif. */
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card button {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  border:1px solid color-mix(in srgb,var(--mq-button-text) 14%,transparent) !important;
  box-shadow:0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-view[data-view="boutique"] .mq-shop-gift-card button:focus-visible {
  outline:0 !important;
  box-shadow:var(--mq-glow),0 5px 0 var(--mq-button-edge),var(--mq-shadow-soft) !important;
}

/* Fallback Atlas historique : les tags ne peuvent plus redevenir blancs dans un thème sombre. */
.mq-shell[data-skin] .mq-tag {
  color:var(--mq-text) !important;
  background:var(--mq-surface-soft) !important;
  border:1px solid var(--mq-border) !important;
}
.mq-shell[data-skin] .mq-tag svg { color:var(--mq-accent-strong) !important; }


/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / PASS 7
   Résultat SOLO : la structure était déjà correcte mais plusieurs matériaux
   (carte score, note d'efficacité et statistiques) restaient bleu/blanc Lagon.
   Tous les thèmes utilisent désormais leurs surfaces et accents sémantiques.
   ========================================================================= */
.mq-shell[data-skin] .mq-solo-score-card {
  background:var(--mq-button-bg) !important;
  color:var(--mq-button-text) !important;
  border-color:color-mix(in srgb,var(--mq-surface-raised) 72%,var(--mq-accent)) !important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--mq-bg) 42%,transparent),
    inset 0 0 0 2px color-mix(in srgb,var(--mq-accent) 24%,transparent),
    inset 0 1px 0 color-mix(in srgb,var(--mq-surface-raised) 42%,transparent) !important;
}
.mq-shell[data-skin] .mq-solo-score-card::after {
  color:color-mix(in srgb,var(--mq-button-text) 12%,transparent) !important;
}
.mq-shell[data-skin] .mq-solo-score-copy :is(small,strong,span) {
  color:var(--mq-button-text) !important;
  text-shadow:0 3px 12px color-mix(in srgb,var(--mq-button-edge) 48%,transparent) !important;
}
.mq-shell[data-skin] .mq-solo-winner {
  background:var(--mq-button-bg) !important;
  color:var(--mq-button-text) !important;
  border-color:var(--mq-surface-raised) !important;
  box-shadow:0 12px 26px color-mix(in srgb,var(--mq-bg) 40%,transparent),
    inset 0 1px 0 color-mix(in srgb,var(--mq-surface-raised) 42%,transparent) !important;
}
.mq-shell[data-skin] .mq-solo-rating,
.mq-shell[data-skin] .mq-solo-stats,
.mq-shell[data-skin] .mq-solo-stats-list {
  background:linear-gradient(150deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  color:var(--mq-text) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-solo-rating > strong,
.mq-shell[data-skin] .mq-solo-rating > b,
.mq-shell[data-skin] .mq-solo-stats > header strong,
.mq-shell[data-skin] .mq-solo-stat-row > b {
  color:var(--mq-accent-strong) !important;
}
.mq-shell[data-skin] .mq-solo-stats > header strong::before,
.mq-shell[data-skin] .mq-solo-stats > header strong::after {
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mq-accent) 34%,transparent)) !important;
}
.mq-shell[data-skin] .mq-solo-stat-row {
  border-color:color-mix(in srgb,var(--mq-border) 78%,transparent) !important;
}
.mq-shell[data-skin] .mq-solo-stat-label,
.mq-shell[data-skin] .mq-solo-stat-label em {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-solo-stat-label svg {
  color:var(--mq-accent-2) !important;
}

/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / PASS 8
   RÉSULTAT DE DUEL : l'écran premium .mq-res-* gardait encore les surfaces
   blanc/bleu historiques du thème Lagon. Les panneaux, libellés, VS, note
   d'efficacité et comparaison utilisent maintenant la palette sémantique du
   thème actif. Les couleurs de sens victoire/défaite restent dédiées.
   ========================================================================= */
.mq-shell[data-skin] .mq-res-page {
  --res-win:var(--mq-success) !important;
  --res-win-2:color-mix(in srgb,var(--mq-success) 64%,var(--mq-surface-raised)) !important;
  --res-loss:var(--mq-error) !important;
  --res-loss-2:color-mix(in srgb,var(--mq-error) 62%,var(--mq-surface-raised)) !important;
  --res-accent:var(--mq-accent-strong) !important;
  --res-accent-2:var(--mq-accent-2) !important;
  --res-glow:color-mix(in srgb,var(--mq-accent) 35%,transparent) !important;
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-res-title,
.mq-shell[data-skin] .mq-res-rating-col h4,
.mq-shell[data-skin] .mq-res-note,
.mq-shell[data-skin] .mq-res-compare header b,
.mq-shell[data-skin] .mq-res-row > b {
  color:var(--mq-text) !important;
}
.mq-shell[data-skin] .mq-res-subtitle,
.mq-shell[data-skin] .mq-res-side :is(em,small),
.mq-shell[data-skin] .mq-res-eff small,
.mq-shell[data-skin] .mq-res-cols,
.mq-shell[data-skin] .mq-res-mid {
  color:var(--mq-text-secondary) !important;
}
.mq-shell[data-skin] .mq-res-card,
.mq-shell[data-skin] .mq-res-side,
.mq-shell[data-skin] .mq-res-vs {
  background:linear-gradient(150deg,var(--mq-surface-raised),var(--mq-surface)) !important;
  border-color:var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-res-vs {
  color:var(--mq-accent-strong) !important;
  border-color:color-mix(in srgb,var(--mq-accent) 46%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-res-vs::before {
  border-color:var(--mq-accent) !important;
}
.mq-shell[data-skin] .mq-res-odo { color:var(--mq-text) !important; }
.mq-shell[data-skin] .mq-res-side.is-winner .mq-res-odo { color:var(--mq-success) !important; }
.mq-shell[data-skin] .mq-res-bgstar { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-res-page.is-on .mq-res-side.is-winner {
  box-shadow:var(--mq-shadow-soft),0 0 0 3px color-mix(in srgb,var(--mq-success) 70%,var(--mq-border)),0 0 28px color-mix(in srgb,var(--mq-success) 26%,transparent) !important;
}
.mq-shell[data-skin] .mq-res-page.is-draw.is-on .mq-res-side {
  box-shadow:var(--mq-shadow-soft),0 0 0 3px color-mix(in srgb,var(--mq-accent) 68%,var(--mq-border)) !important;
}
.mq-shell[data-skin] .mq-res-page.is-on .mq-res-side.is-loser {
  filter:saturate(.82) brightness(.96) !important;
}
.mq-shell[data-skin] .mq-res-badge {
  color:var(--mq-text-on-dark) !important;
  background:linear-gradient(120deg,color-mix(in srgb,var(--mq-success) 68%,var(--mq-accent)),var(--mq-success)) !important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--mq-success) 32%,transparent) !important;
}
.mq-shell[data-skin] .mq-res-badge::after { border-color:var(--mq-success) !important; }
.mq-shell[data-skin] .mq-res-medal {
  color:var(--mq-button-text) !important;
  background:var(--mq-button-bg) !important;
  box-shadow:0 8px 20px color-mix(in srgb,var(--mq-accent) 28%,transparent) !important;
}
.mq-shell[data-skin] .mq-res-compare header strong { color:var(--mq-accent-strong) !important; }
.mq-shell[data-skin] .mq-res-row {
  border-color:color-mix(in srgb,var(--mq-border) 76%,transparent) !important;
}
.mq-shell[data-skin] .mq-res-mid span svg { color:var(--mq-accent-2) !important; }
.mq-shell[data-skin] .mq-res-bar {
  background:color-mix(in srgb,var(--mq-text) 12%,var(--mq-surface-soft)) !important;
}
.mq-shell[data-skin] .mq-res-bar i {
  background:linear-gradient(90deg,var(--mq-accent-2),var(--mq-accent)) !important;
}
.mq-shell[data-skin] .mq-res-bar u {
  background:linear-gradient(90deg,color-mix(in srgb,var(--mq-error) 60%,var(--mq-surface-raised)),var(--mq-error)) !important;
}
.mq-shell[data-skin] .mq-res-bar u.is-win {
  background:linear-gradient(90deg,color-mix(in srgb,var(--mq-success) 60%,var(--mq-surface-raised)),var(--mq-success)) !important;
}
/* Les wrappers transparents restent transparents malgré le thème. */
.mq-shell[data-skin] :is(.mq-res-reward-wrap,.mq-res-actions-wrap) {
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / PASS 9
   Fermeture des commandes de sélection d’univers encore hors palette dans
   les thèmes sombres, avec focus clavier explicite sur les flèches.
   ========================================================================= */
/* Sélection d'univers : les commandes flottantes ne restent plus blanches
   dans les thèmes sombres ou colorés. */
.mq-shell[data-skin] .mq-univers-lock,
.mq-shell[data-skin] .mq-univers-arrow {
  color:var(--mq-accent-strong) !important;
  background:color-mix(in srgb,var(--mq-surface-raised) 94%,transparent) !important;
  border:1px solid var(--mq-border) !important;
  box-shadow:var(--mq-shadow-soft) !important;
}
.mq-shell[data-skin] .mq-univers-arrow:focus-visible {
  outline:3px solid color-mix(in srgb,var(--mq-accent) 34%,transparent) !important;
  outline-offset:2px !important;
}


/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / PASS 10
   Célébration code promo et icône de nouveau format : ces effets actifs
   conservaient encore le cyan/bleu Lagon dans tous les thèmes. La pièce et
   les étincelles restent dorées (sens de récompense), tandis que l'aura,
   le backdrop et les rayons suivent désormais le thème actif.
   ========================================================================= */
.mq-shell[data-skin] .mq-promo-aura {
  background:conic-gradient(from 20deg,
    transparent,
    color-mix(in srgb,var(--mq-accent) 24%,transparent),
    transparent 30%,
    color-mix(in srgb,var(--mq-accent-2) 18%,transparent),
    transparent 62%,
    color-mix(in srgb,var(--mq-warning) 18%,transparent),
    transparent) !important;
}
.mq-shell[data-skin] .mq-promo-backdrop {
  background:radial-gradient(circle at 50% 42%,
    color-mix(in srgb,var(--mq-accent) 34%,transparent),
    color-mix(in srgb,var(--mq-bg) 72%,rgba(0,0,0,.58))) !important;
}
.mq-shell[data-skin] .mq-promo-reward-rays {
  background:repeating-conic-gradient(from 0deg,
    color-mix(in srgb,var(--mq-accent) 20%,transparent) 0 7deg,
    transparent 7deg 18deg) !important;
}
.mq-shell[data-skin] .mq-promotion-details .mq-mini-grid {
  background:
    linear-gradient(var(--mq-accent-strong) 0 0) 0 0/8px 8px no-repeat,
    linear-gradient(var(--mq-accent-strong) 0 0) 100% 0/8px 8px no-repeat,
    linear-gradient(var(--mq-accent-strong) 0 0) 0 100%/8px 8px no-repeat,
    linear-gradient(var(--mq-accent-strong) 0 0) 100% 100%/8px 8px no-repeat !important;
}


/* =========================================================================
   MemoMilo 6.42.0 — PHASE 2 / CLÔTURE
   Histoire plein écran : le cadre avait été thémé en v152, mais les deux
   conteneurs extérieurs restaient forcés en #eef4e8. Sur Nuit/Ardoise/Grenat,
   un flash ou un liseré vert clair pouvait donc apparaître pendant le chargement
   ou un redimensionnement de l’iframe. Les trois niveaux partagent désormais
   la même surface du thème actif.
   ========================================================================= */
.mq-shell[data-skin][data-screen="histoire"] .mq-app,
.mq-shell[data-skin] .mq-view[data-view="histoire"],
.mq-shell[data-skin] .mq-story-v23-frame {
  background:var(--mq-bg) !important;
}

/* Overlay des réactions : l’ancienne couche bleu-vert fixe est remplacée par
   une teinte neutre dérivée du fond du thème. */
.mq-shell[data-skin] .mq-game-popover-layer.is-reactions {
  background:transparent !important;
}
.mq-shell[data-skin] .mq-game-popover-layer.is-reactions.is-open {
  background:color-mix(in srgb,var(--mq-bg) 18%,transparent) !important;
}
.mq-shell[data-skin] .mq-game-popover-layer.is-reactions.is-closing {
  background:transparent !important;
}

/* MemoMilo 6.42.0 — Phase 3 / fluidité : barre de défi compositée et mode réduit instantané. */
/* Phase 3 v162 : transition VS/resultat — progression par transform, particules mobiles bornées et DOM d’odomètre allégé. */
.mq-shell[data-motion="calme"] .mq-online-challenge-timer > i > u { transition-duration:0s,.2s; will-change:auto; }
@media (prefers-reduced-motion:reduce){.mq-online-challenge-timer > i > u{transition-duration:0s,.2s;will-change:auto}}

/* ========================================================================== */
/* DUEL FLASH OFFICIEL — Multijoueur simultané / thèmes natifs MemoMilo      */
/* ========================================================================== */
.mq-arena-act.is-speed-duel{
  --a:#35d6e8;--b:#0f8fa5;--glow:rgba(15,143,165,.38);--tint:rgba(53,214,232,.32);
  position:relative;overflow:hidden;
  border-color:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 54%,var(--mq-online-line,rgba(255,255,255,.2)));
  background:
    radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 24%,transparent),transparent 35%),
    linear-gradient(135deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 88%,var(--mq-online-accent,var(--turq-2)) 12%),var(--mq-online-panel,var(--surface)));
}
.mq-arena-act.is-speed-duel::before{content:"";position:absolute;inset:-120% -45%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.18) 49%,transparent 56%);transform:translateX(-48%);animation:mq-speed-hub-sweep 4.8s ease-in-out infinite;pointer-events:none}
.mq-arena-act.is-speed-duel .mq-arena-ic{color:#fff!important;background:linear-gradient(145deg,#35d6e8,#0f8fa5)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 36%,transparent),0 0 24px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,transparent)}
.mq-arena-act.is-speed-duel .mq-arena-ic svg{opacity:1!important;stroke-width:2.15;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}
@keyframes mq-speed-hub-sweep{0%,62%{transform:translateX(-48%)}82%,100%{transform:translateX(48%)}}

.mq-speed-create-hero{display:flex;align-items:center;gap:14px;padding:15px;border-radius:20px;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 36%,transparent);background:linear-gradient(140deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 87%,var(--mq-online-accent,var(--turq-2)) 13%),var(--mq-online-panel,var(--surface)));box-shadow:0 14px 34px rgba(0,0,0,.12);overflow:hidden;position:relative}
.mq-speed-create-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 10%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 10%,transparent) 42%,transparent 65%);transform:translateX(-100%);animation:mq-speed-create-sheen 3.6s ease-in-out infinite;pointer-events:none}
@keyframes mq-speed-create-sheen{0%,45%{transform:translateX(-100%)}80%,100%{transform:translateX(100%)}}
.mq-speed-create-bolt{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;flex:0 0 54px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,var(--mq-online-panel-strong,var(--surface)));color:var(--mq-online-accent,var(--turq-2));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,transparent),0 0 26px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,transparent)}
.mq-speed-create-bolt svg{width:27px;height:27px}.mq-speed-create-hero div{min-width:0;display:grid;gap:3px}.mq-speed-create-hero small{font-weight:950;letter-spacing:.14em;color:var(--mq-online-accent,var(--turq-2));font-size:10px}.mq-speed-create-hero strong{font-size:clamp(16px,4.2vw,22px);line-height:1.04}.mq-speed-create-hero p{margin:0;font-size:12px;line-height:1.35;opacity:.74}
.mq-speed-rule{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 9%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 17%,transparent)}
.mq-speed-rule b{font-size:12px}.mq-speed-rule span{font-size:10px;line-height:1.35;opacity:.72}.mq-speed-join-link{width:100%;border:0;background:transparent;color:var(--encre);padding:7px;font-size:11px;opacity:.78}.mq-speed-join-link b{color:var(--mq-online-accent,var(--turq-2))}

/* Boot / titre signature */
.mq-speed-boot{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:clamp(20px,4vh,34px);overflow:hidden;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:
 radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 26%,transparent),transparent 34%),
 radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 13%,transparent),transparent 27%),
 var(--mq-online-bg,var(--fond));isolation:isolate}
.mq-speed-boot::before,.mq-speed-boot::after{content:"";position:absolute;inset:-15%;pointer-events:none;z-index:-1}.mq-speed-boot::before{background:repeating-linear-gradient(112deg,transparent 0 22px,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 9%,transparent) 23px 24px,transparent 25px 49px);opacity:.55;animation:mq-speed-lines-in .9s cubic-bezier(.2,.75,.1,1) both}.mq-speed-boot::after{background:radial-gradient(ellipse at center,transparent 12%,rgba(0,0,0,.12) 72%)}
@keyframes mq-speed-lines-in{from{transform:translate3d(-18%,8%,0) scale(1.18);opacity:0}to{transform:translate3d(0,0,0) scale(1);opacity:.55}}
.mq-speed-boot-players{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:min(92vw,560px);gap:14px}.mq-speed-boot-players>div{display:grid;justify-items:center;gap:4px;min-width:0;animation:mq-speed-player-in .55s cubic-bezier(.18,.88,.22,1.18) both}.mq-speed-boot-players>div:last-child{animation-name:mq-speed-player-in-r}.mq-speed-boot-players>div>span{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;overflow:hidden;background:var(--mq-online-panel-strong,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 35%,transparent),0 16px 35px rgba(0,0,0,.18)}.mq-speed-boot-players img{width:100%;height:100%;object-fit:cover}.mq-speed-boot-players small{font-size:9px;letter-spacing:.14em;opacity:.65}.mq-speed-boot-players strong{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.mq-speed-boot-players>b{font-style:italic;font-size:21px;letter-spacing:-.05em;color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 18px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 48%,transparent);animation:mq-speed-vs-hit .62s cubic-bezier(.16,.9,.2,1.25) both}
@keyframes mq-speed-player-in{from{opacity:0;transform:translate3d(-42px,8px,0) scale(.88)}to{opacity:1;transform:none}}@keyframes mq-speed-player-in-r{from{opacity:0;transform:translate3d(42px,8px,0) scale(.88)}to{opacity:1;transform:none}}@keyframes mq-speed-vs-hit{0%{opacity:0;transform:scale(2.2) rotate(-8deg)}55%{opacity:1;transform:scale(.88) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
.mq-speed-hero-title{display:grid;justify-items:center;line-height:.84;text-align:center;animation:mq-speed-title-rise .72s cubic-bezier(.16,.86,.18,1.08) .1s both}.mq-speed-hero-title small{font-size:clamp(20px,6vw,36px);font-weight:950;letter-spacing:.36em;padding-left:.36em;opacity:.9}.mq-speed-hero-title strong{font-size:clamp(54px,17vw,106px);font-weight:1000;font-style:italic;letter-spacing:-.075em;color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 12px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,transparent),0 9px 30px rgba(0,0,0,.16);position:relative}.mq-speed-hero-title strong::after{content:"";position:absolute;left:4%;right:2%;top:49%;height:3px;background:linear-gradient(90deg,transparent,var(--mq-online-accent,var(--turq-2)),transparent);box-shadow:0 0 14px var(--mq-online-accent,var(--turq-2));transform:scaleX(0);animation:mq-speed-title-slash .62s cubic-bezier(.15,.8,.2,1) .42s forwards}.mq-speed-hero-title em{margin-top:14px;font-style:normal;font-size:9px;font-weight:900;letter-spacing:.17em;opacity:.68}.mq-speed-boot-loader{width:min(68vw,300px);height:3px;border-radius:99px;background:rgba(127,127,127,.18);overflow:hidden}.mq-speed-boot-loader i{display:block;width:38%;height:100%;border-radius:inherit;background:var(--mq-online-accent,var(--turq-2));box-shadow:0 0 12px var(--mq-online-accent,var(--turq-2));animation:mq-speed-loader 1s ease-in-out infinite alternate}
@keyframes mq-speed-title-rise{from{opacity:0;transform:translateY(28px) scale(.82);filter:brightness(1.8)}to{opacity:1;transform:none;filter:none}}@keyframes mq-speed-title-slash{to{transform:scaleX(1)}}@keyframes mq-speed-loader{from{transform:translateX(-110%)}to{transform:translateX(265%)}}

/* Duel Flash v2 : plateau joueur plein écran + rival en bulle flottante / PiP. */
.mq-speed-duel{position:absolute;inset:0;display:block;overflow:hidden;background:radial-gradient(circle at 50% 54%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 8%,transparent),transparent 45%),var(--mq-online-bg,var(--fond));isolation:isolate;touch-action:manipulation;--speed-rival:#ff756f;--speed-rival-angle:0deg}
.mq-speed-duel::before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(112deg,transparent 0 36px,rgba(255,255,255,.09) 37px 38px,transparent 39px 76px);opacity:0;transform:translate3d(-12%,8%,0);transition:opacity .18s ease;mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 28%,transparent 76%,rgba(0,0,0,.72));-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 28%,transparent 76%,rgba(0,0,0,.72))}
.mq-speed-duel[data-flow="1"]::before{opacity:.11;animation:mq-speed-flow-lines 1.4s linear infinite}.mq-speed-duel[data-flow="2"]::before{opacity:.20;animation:mq-speed-flow-lines .92s linear infinite}.mq-speed-duel[data-flow="3"]::before{opacity:.31;animation:mq-speed-flow-lines .58s linear infinite}.mq-speed-duel.is-photo-race::before{opacity:.36;animation-duration:.42s}@keyframes mq-speed-flow-lines{to{transform:translate3d(12%,-8%,0)}}
.mq-speed-lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0}
.mq-speed-local-zone{position:absolute;inset:0;z-index:2;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:5px;padding:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:linear-gradient(0deg,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 4%,transparent),transparent 72%);overflow:hidden}
.mq-speed-hud{display:grid;grid-template-columns:auto minmax(70px,1.45fr) minmax(48px,.85fr) minmax(48px,.85fr) auto;align-items:center;gap:5px;min-height:38px;z-index:3}.mq-speed-avatar{width:34px;height:34px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--mq-online-panel-strong,var(--surface));border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,transparent);box-shadow:0 5px 14px rgba(0,0,0,.12)}.mq-speed-avatar img{width:100%;height:100%;object-fit:cover}.mq-speed-hud small{font-size:7px;font-weight:900;letter-spacing:.12em;opacity:.58}.mq-speed-hud-stat{display:grid;gap:0;min-width:0}.mq-speed-hud-stat strong{font-size:clamp(11px,3.2vw,17px);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.mq-speed-hud-stat.is-time strong{color:var(--mq-online-accent,var(--turq-2));font-size:clamp(13px,4vw,20px);letter-spacing:-.04em}.mq-speed-combo{min-width:34px;height:30px;padding:0 7px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 9%,var(--mq-online-panel,var(--surface)));border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,transparent);font-size:12px;font-weight:1000;transition:transform .14s ease,box-shadow .14s ease}.mq-speed-combo.is-hot{transform:scale(1.05);box-shadow:0 0 18px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,transparent);color:var(--mq-online-accent,var(--turq-2))}
.mq-speed-board-wrap{min-width:0;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:clamp(14px,2.5vmin,24px);isolation:isolate}.mq-speed-board-wrap::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,color-mix(in srgb,white 4%,transparent),transparent 32%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 4%,transparent));border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 10%,transparent);opacity:.72}
.mq-speed-local-board{position:relative;z-index:1;min-width:0;min-height:0;gap:clamp(4px,1.1vmin,11px);perspective:1400px;touch-action:manipulation;align-self:center;justify-self:center}.mq-speed-local-board .mq-card{transition:transform .135s cubic-bezier(.18,.78,.18,1);touch-action:manipulation;cursor:pointer;will-change:transform}.mq-speed-local-board .mq-card.is-speed-tap{transform:scale(.975)}.mq-speed-local-board .mq-card.is-open,.mq-speed-local-board .mq-card.is-done{transform:rotateY(180deg)}.mq-speed-local-board .mq-card.is-done{animation:mq-speed-seal .22s cubic-bezier(.18,.8,.2,1)}.mq-speed-local-board .mq-card.is-wrong{animation:mq-speed-wrong .21s ease}.mq-speed-local-board .mq-front .mq-card-name{font-size:clamp(5px,1.2vmin,10px)}
@keyframes mq-speed-seal{0%{transform:rotateY(180deg) scale(1)}45%{transform:rotateY(180deg) scale(1.055)}100%{transform:rotateY(180deg) scale(1)}}@keyframes mq-speed-wrong{25%{transform:rotateY(180deg) translateX(-3px)}65%{transform:rotateY(180deg) translateX(3px)}100%{transform:rotateY(180deg)}}
.mq-speed-foot{min-height:24px;padding:0 2px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:8px;font-weight:900;letter-spacing:.07em}.mq-speed-foot>div{min-width:0;display:grid;align-content:center}.mq-speed-foot>div>span{font-size:8px;letter-spacing:.07em;color:var(--mq-online-accent,var(--turq-2));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mq-speed-foot button{width:29px;height:29px;border:0;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 82%,transparent);color:var(--encre)}.mq-speed-foot button svg{width:15px;height:15px}
/* Rival flottant : compacte comme une bulle Messenger, développée comme un PiP. */
.mq-speed-rival-float{position:absolute;left:calc(100% - 76px);top:18%;z-index:32;touch-action:none;user-select:none;-webkit-user-select:none;transition:left .28s cubic-bezier(.2,.8,.2,1),top .28s cubic-bezier(.2,.8,.2,1),transform .18s ease,opacity .2s ease;pointer-events:auto;--speed-rival-angle:0deg}.mq-speed-duel:not([data-phase="racing"]):not([data-phase="local-finished"]) .mq-speed-rival-float{opacity:0;pointer-events:none;transform:scale(.82)}.mq-speed-rival-float.is-dragging{transition:none;transform:scale(1.025);opacity:.94}
.mq-speed-rival-bubble{width:66px;height:66px;border:0;border-radius:23px;padding:4px;background:conic-gradient(var(--speed-rival) 0deg var(--speed-rival-angle),color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 80%,transparent) var(--speed-rival-angle) 360deg);box-shadow:0 14px 34px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.08);position:relative;display:grid;place-items:center;color:var(--encre);cursor:grab}.mq-speed-rival-bubble:active{cursor:grabbing}.mq-speed-rival-bubble-core{position:absolute;inset:4px;border-radius:19px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 94%,transparent);display:grid;place-items:center;overflow:hidden}.mq-speed-rival-bubble-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--mq-online-panel-strong,var(--surface));box-shadow:0 0 18px color-mix(in srgb,var(--speed-rival) 28%,transparent)}.mq-speed-rival-bubble-avatar img{width:100%;height:100%;object-fit:cover}.mq-speed-rival-bubble>b{position:absolute;right:-5px;bottom:-4px;min-width:31px;height:22px;padding:0 5px;border-radius:11px;display:grid;place-items:center;background:var(--mq-online-panel-strong,var(--surface));color:var(--encre);border:1px solid color-mix(in srgb,var(--speed-rival) 45%,transparent);font-size:9px;font-weight:1000;font-variant-numeric:tabular-nums;box-shadow:0 5px 12px rgba(0,0,0,.24)}.mq-speed-rival-bubble>i{position:absolute;inset:-5px;border-radius:28px;border:2px solid color-mix(in srgb,var(--speed-rival) 62%,transparent);opacity:0;pointer-events:none}.mq-speed-rival-float.is-pulsing .mq-speed-rival-bubble>i{animation:mq-speed-rival-bubble-pulse .52s ease-out}
.mq-speed-rival-panel{display:none;width:min(78vw,320px);max-height:min(56vh,440px);border-radius:23px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 96%,transparent);border:1px solid color-mix(in srgb,var(--speed-rival) 22%,var(--mq-online-line,rgba(127,127,127,.18)));box-shadow:0 25px 65px rgba(0,0,0,.46),0 0 0 1px color-mix(in srgb,var(--speed-rival) 8%,transparent);overflow:hidden;transform-origin:90% 10%;animation:mq-speed-rival-panel-open .26s cubic-bezier(.2,.85,.2,1)}.mq-speed-rival-float.is-left .mq-speed-rival-panel{transform-origin:10% 10%}.mq-speed-rival-float.is-left .mq-speed-rival-bubble>b{right:auto;left:-5px}.mq-speed-rival-float.is-expanded .mq-speed-rival-bubble{display:none}.mq-speed-rival-float.is-expanded .mq-speed-rival-panel{display:flex;flex-direction:column}
.mq-speed-rival-panel>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 10px 8px;cursor:grab;border-bottom:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 64%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--speed-rival) 8%,transparent),transparent)}.mq-speed-rival-panel>header:active{cursor:grabbing}.mq-speed-rival-panel-avatar{width:38px;height:38px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--mq-online-panel,var(--surface))}.mq-speed-rival-panel-avatar img{width:100%;height:100%;object-fit:cover}.mq-speed-rival-panel>header>div{min-width:0;display:grid}.mq-speed-rival-panel>header small{font-size:7px;font-weight:950;letter-spacing:.12em;opacity:.52}.mq-speed-rival-panel>header strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mq-speed-rival-panel>header em{font-size:8px;font-style:normal;color:var(--speed-rival);font-weight:900}.mq-speed-rival-panel>header button{width:32px;height:32px;border:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 70%,transparent);border-radius:10px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 88%,transparent);color:var(--encre);font-weight:1000}
.mq-speed-rival-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:8px}.mq-speed-rival-stats>span{padding:6px 4px;border-radius:10px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 90%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 48%,transparent);text-align:center;min-width:0}.mq-speed-rival-stats small{display:block;font-size:6px;font-weight:950;letter-spacing:.04em;opacity:.48}.mq-speed-rival-stats b{display:block;margin-top:2px;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-speed-rival-mini-wrap{flex:1;min-height:126px;padding:4px 8px 7px;display:flex;align-items:center;justify-content:center;overflow:hidden}.mq-speed-rival-board{min-height:0;display:grid;gap:clamp(2px,.65vmin,4px);align-content:center;justify-content:center;margin:auto;perspective:900px}.mq-speed-rival-card{position:relative;min-width:0;min-height:0;aspect-ratio:3/4;border-radius:clamp(4px,1.1vmin,8px);transform-style:preserve-3d;background:transparent;transition:transform .16s ease,opacity .18s ease,filter .18s ease}.mq-speed-rival-card>.mq-back{position:absolute;inset:0;border-radius:inherit;border-width:1px;backface-visibility:hidden;transform:none}.mq-speed-rival-card>b{position:absolute;inset:0;z-index:3;display:grid;place-items:center;color:white;font-size:8px;opacity:0;transform:scale(.7);text-shadow:0 1px 3px rgba(0,0,0,.45);transition:.16s ease;pointer-events:none}.mq-speed-rival-card.is-done{transform:scale(.90);opacity:.64;filter:saturate(.72) brightness(.82)}.mq-speed-rival-card.is-done>.mq-back{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--speed-rival) 76%,white 24%)}.mq-speed-rival-card.is-done>b{opacity:1;transform:scale(1)}
.mq-speed-rival-panel-progress{padding:0 8px 9px;display:grid;gap:5px}.mq-speed-rival-panel-progress>i{height:4px;border-radius:99px;background:color-mix(in srgb,var(--speed-rival) 12%,var(--mq-online-line,rgba(127,127,127,.16)));overflow:hidden}.mq-speed-rival-panel-progress em{display:block;width:0;height:100%;border-radius:inherit;background:var(--speed-rival);box-shadow:0 0 9px color-mix(in srgb,var(--speed-rival) 48%,transparent);transition:width .25s ease}.mq-speed-rival-panel-progress>span{text-align:center;font-size:7px;opacity:.42;font-weight:850;letter-spacing:.05em}.mq-speed-rival-float.is-rival-match .mq-speed-rival-panel>header{animation:mq-speed-rival-header-hit .34s ease}.mq-speed-rival-float.is-rival-miss .mq-speed-rival-panel>header{animation:mq-speed-rival-header-miss .3s ease}
@keyframes mq-speed-rival-panel-open{from{opacity:0;transform:scale(.72) translateY(-8px)}to{opacity:1;transform:none}}@keyframes mq-speed-rival-bubble-pulse{0%{opacity:.86;transform:scale(.86)}100%{opacity:0;transform:scale(1.34)}}@keyframes mq-speed-rival-header-hit{45%{background-color:color-mix(in srgb,var(--speed-rival) 14%,transparent)}}@keyframes mq-speed-rival-header-miss{45%{transform:translateX(2px);filter:saturate(.8)}}

/* Intro / countdown / reveal sans masquer les cartes. */
.mq-speed-stage{position:absolute;inset:0;z-index:20;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .12s ease;background:radial-gradient(circle at center,color-mix(in srgb,var(--mq-online-bg,var(--fond)) 72%,transparent),color-mix(in srgb,var(--mq-online-bg,var(--fond)) 92%,transparent) 66%)}.mq-speed-stage.is-visible{opacity:1}.mq-speed-stage.is-reveal,.mq-speed-stage.is-go{background:transparent}.mq-speed-title{display:grid;justify-items:center;line-height:.82;text-align:center;filter:drop-shadow(0 8px 24px rgba(0,0,0,.12));animation:mq-speed-title-live .64s cubic-bezier(.15,.86,.18,1.1) both}.mq-speed-title small{font-size:clamp(18px,6vw,36px);font-weight:1000;letter-spacing:.34em;padding-left:.34em}.mq-speed-title strong{font-size:clamp(54px,18vw,112px);font-weight:1000;font-style:italic;letter-spacing:-.075em;color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 18px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 38%,transparent)}.mq-speed-title em{font-style:normal;margin-top:13px;font-size:8px;font-weight:950;letter-spacing:.14em;opacity:.72}.mq-speed-count{position:absolute;font-weight:1000;font-style:italic;font-size:clamp(72px,24vw,148px);line-height:1;color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 25px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 48%,transparent);animation:mq-speed-count-hit .52s cubic-bezier(.16,.85,.2,1.15) both}.mq-speed-stage:not(.is-reveal):not(.is-go) .mq-speed-count:empty{display:none}.mq-speed-stage.is-reveal{place-items:start center;padding-top:max(12px,env(safe-area-inset-top))}.mq-speed-stage.is-reveal .mq-speed-title{display:none}.mq-speed-stage.is-reveal .mq-speed-count{position:relative;font-size:clamp(18px,6vw,34px);padding:7px 15px;border-radius:999px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 82%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,transparent);backdrop-filter:none;text-shadow:none;box-shadow:0 5px 18px rgba(0,0,0,.12)}.mq-speed-stage.is-go .mq-speed-title{display:none}.mq-speed-stage.is-go .mq-speed-count{animation:mq-speed-go .3s cubic-bezier(.12,.8,.16,1.16) both}
@keyframes mq-speed-title-live{from{opacity:0;transform:scale(.78) translateY(22px)}to{opacity:1;transform:none}}@keyframes mq-speed-count-hit{0%{opacity:0;transform:scale(1.9) rotate(-4deg)}60%{opacity:1;transform:scale(.92) rotate(1deg)}100%{transform:scale(1)}}@keyframes mq-speed-go{0%{opacity:0;transform:scale(.55)}45%{opacity:1;transform:scale(1.18)}100%{opacity:0;transform:scale(1.55)}}
.mq-speed-score-burst{position:absolute;right:7%;bottom:30%;z-index:18;display:grid;justify-items:end;pointer-events:none;animation:mq-speed-score-burst .6s cubic-bezier(.15,.75,.2,1) forwards}.mq-speed-score-burst b{font-size:clamp(17px,5vw,28px);color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 12px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 30%,transparent)}.mq-speed-score-burst small{font-size:7px;font-weight:950;letter-spacing:.1em}@keyframes mq-speed-score-burst{0%{opacity:0;transform:translateY(8px) scale(.78)}25%{opacity:1;transform:translateY(0) scale(1.05)}100%{opacity:0;transform:translateY(-20px) scale(.94)}}

/* Résultat Duel Flash */
.mq-speed-result{position:absolute;inset:0;overflow:auto;display:grid;align-content:center;justify-items:center;gap:8px;text-align:center;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 22%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 17%,transparent),transparent 34%),var(--mq-online-bg,var(--fond))}.mq-speed-result>small{font-size:9px;font-weight:1000;letter-spacing:.15em;color:var(--mq-online-accent,var(--turq-2));animation:mq-speed-result-in .42s ease both}.mq-speed-result>h2{margin:0;font-size:clamp(38px,12vw,70px);line-height:.9;letter-spacing:-.05em;font-weight:1000;font-style:italic;animation:mq-speed-result-in .5s cubic-bezier(.16,.88,.2,1.1) .05s both}.mq-speed-result.is-win>h2{color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 24px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 32%,transparent)}.mq-speed-result>p{margin:0;max-width:420px;font-size:12px;opacity:.72}.mq-speed-time-duel{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:min(92vw,520px);margin-top:8px}.mq-speed-time-duel>div{display:grid;gap:2px;padding:12px 8px;border-radius:17px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 88%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,transparent);box-shadow:0 12px 28px rgba(0,0,0,.09)}.mq-speed-time-duel span{font-size:7px;font-weight:950;letter-spacing:.12em;opacity:.55}.mq-speed-time-duel strong{font-size:clamp(18px,5.8vw,28px);font-variant-numeric:tabular-nums;color:var(--mq-online-accent,var(--turq-2))}.mq-speed-time-duel em{font-style:normal;font-size:9px;font-weight:850;opacity:.68}.mq-speed-time-duel>b{font-size:10px;font-style:italic;color:var(--mq-online-accent,var(--turq-2))}.mq-speed-result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(92vw,520px)}.mq-speed-result-stats>span{display:grid;gap:1px;padding:8px;border-radius:13px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 88%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 68%,transparent)}.mq-speed-result-stats small{font-size:7px;text-transform:uppercase;font-weight:900;letter-spacing:.08em;opacity:.52}.mq-speed-result-stats b{font-size:15px}.mq-speed-result-stats em{font-size:8px;font-style:normal;opacity:.52}.mq-speed-result .mq-final-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(92vw,520px);margin-top:4px}.mq-speed-result .mq-final-actions .mq-btn{min-width:0}.mq-speed-result .mq-rematch-status,.mq-speed-result .mq-rematch-config{width:min(92vw,520px)}
@keyframes mq-speed-result-in{from{opacity:0;transform:translateY(15px) scale(.92)}to{opacity:1;transform:none}}

/* Les six thèmes changent automatiquement l'habillage grâce aux variables du shell. */
.mq-shell[data-skin="ocean"] .mq-speed-duel{--speed-rival:#ff887d}.mq-shell[data-skin="nuit"] .mq-speed-duel{--speed-rival:#ff7caa}.mq-shell[data-skin="grenat"] .mq-speed-duel{--speed-rival:#f0a161}.mq-shell[data-skin="ambre"] .mq-speed-duel{--speed-rival:#e96c6c}.mq-shell[data-skin="ardoise"] .mq-speed-duel{--speed-rival:#ff8c87}.mq-shell[data-skin="jade"] .mq-speed-duel{--speed-rival:#ff7d79}

@media (orientation:landscape) and (min-width:700px){
  .mq-speed-local-zone{padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.mq-speed-board-wrap{margin:0 8vw}.mq-speed-rival-panel{width:min(34vw,340px);max-height:72vh}
}
@media (max-height:650px) and (orientation:portrait){
  .mq-speed-hud{min-height:31px}.mq-speed-hud .mq-speed-avatar{display:none}.mq-speed-local-zone{gap:3px;padding-top:max(5px,env(safe-area-inset-top))}.mq-speed-foot{min-height:19px}.mq-speed-rival-bubble{width:60px;height:60px;border-radius:21px}.mq-speed-rival-bubble-core{border-radius:17px}.mq-speed-rival-bubble-avatar{width:38px;height:38px}.mq-speed-rival-panel{max-height:62vh}
}
@media (prefers-reduced-motion:reduce){
  .mq-arena-act.is-speed-duel::before,.mq-speed-create-hero::after,.mq-speed-boot::before,.mq-speed-hero-title,.mq-speed-boot-players>div,.mq-speed-boot-players>b,.mq-speed-title,.mq-speed-duel::before,.mq-speed-record-target,.mq-speed-record-result.is-new{animation:none!important}.mq-speed-local-board .mq-card,.mq-speed-rival-card,.mq-speed-rival-float{transition-duration:.05s!important}
}
.mq-shell[data-motion="calme"] .mq-speed-duel::before,.mq-shell[data-motion="calme"] .mq-speed-boot::before{display:none}.mq-shell[data-motion="calme"] .mq-speed-title,.mq-shell[data-motion="calme"] .mq-speed-hero-title{animation:none!important}

/* ========================================================================== */
/* Duel Flash v2.1 — stabilité réseau + PiP rival non bloquant + thèmes       */
/* ========================================================================== */
.mq-speed-duel{--speed-flow:0}
.mq-speed-lines{z-index:1!important;opacity:1!important;mix-blend-mode:screen}
.mq-speed-local-zone{z-index:2}
.mq-speed-rival-float{z-index:34}
.mq-speed-rival-panel{width:min(68vw,300px);max-height:min(48vh,390px);pointer-events:none!important}
.mq-speed-rival-panel>header,.mq-speed-rival-panel button,.mq-speed-rival-reactions{pointer-events:auto!important}
.mq-speed-rival-panel>header{touch-action:none}
.mq-speed-rival-mini-wrap,.mq-speed-rival-stats,.mq-speed-rival-panel-progress{pointer-events:none!important}
.mq-speed-rival-reactions{display:flex;justify-content:center;gap:8px;padding:0 9px 8px}
.mq-speed-rival-reactions button{width:31px;height:29px;border:1px solid color-mix(in srgb,var(--speed-rival) 20%,var(--mq-online-line,rgba(127,127,127,.18)));border-radius:10px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 90%,transparent);font-size:15px;box-shadow:0 5px 13px rgba(0,0,0,.12)}
.mq-speed-rival-card.is-playing{animation:mq-speed-rival-card-play .24s ease}
.mq-speed-rival-card.is-miss{box-shadow:0 0 0 1px color-mix(in srgb,#ff6d7d 75%,transparent),0 0 10px rgba(255,79,98,.28)!important;animation:mq-speed-rival-card-miss .3s ease}
@keyframes mq-speed-rival-card-play{0%{transform:none}45%{transform:scale(.84) rotateY(38deg)}100%{transform:none}}
@keyframes mq-speed-rival-card-miss{0%,100%{transform:none}35%{transform:translateX(-2px)}70%{transform:translateX(2px)}}

.mq-speed-duel[data-phase="waiting-ready"] .mq-speed-stage{background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 8%,transparent),transparent 54%)}
.mq-speed-duel[data-phase="waiting-ready"] .mq-speed-title em:after{content:" · SYNCHRONISATION";opacity:.68}
.mq-speed-duel[data-flow="1"] .mq-speed-board-wrap{box-shadow:inset 0 0 calc(8px * var(--speed-flow)) color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 11%,transparent)}
.mq-speed-duel[data-flow="2"] .mq-speed-board-wrap{box-shadow:inset 0 0 calc(16px * var(--speed-flow)) color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 16%,transparent)}
.mq-speed-duel[data-flow="3"] .mq-speed-board-wrap{box-shadow:inset 0 0 calc(24px * var(--speed-flow)) color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,transparent)}

.mq-speed-photo-overlay{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:color-mix(in srgb,var(--mq-online-bg,var(--fond)) 82%,rgba(0,0,0,.35));backdrop-filter:blur(5px);animation:mq-speed-photo-in .28s ease}
.mq-speed-photo-card{width:min(88vw,420px);padding:20px;border-radius:26px;text-align:center;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 97%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 24%,var(--mq-online-line));box-shadow:0 28px 70px rgba(0,0,0,.42),0 0 30px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 10%,transparent)}
.mq-speed-photo-card>small{display:block;font-size:clamp(25px,9vw,48px);font-weight:1000;font-style:italic;letter-spacing:-.045em;color:var(--mq-online-accent,var(--turq-2));text-shadow:0 0 18px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 34%,transparent)}
.mq-speed-photo-card>div{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:16px 0 8px}.mq-speed-photo-card>div strong{font-size:clamp(20px,7vw,32px);font-variant-numeric:tabular-nums}.mq-speed-photo-card>div b{opacity:.48}.mq-speed-photo-card p{margin:0;font-size:10px;font-weight:850;opacity:.68;letter-spacing:.04em}
@keyframes mq-speed-photo-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}

.mq-speed-result-burst{position:absolute!important;inset:0!important;pointer-events:none!important;overflow:hidden!important;z-index:0!important}
.mq-speed-result-burst i{position:absolute;left:50%;top:42%;width:5px;height:15px;border-radius:4px;background:var(--mq-online-accent,var(--turq-2));opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--p)*25.7deg));animation:mq-speed-result-particle 1.15s calc(var(--p)*17ms) ease-out forwards}
.mq-speed-result-burst i:nth-child(3n){background:var(--speed-rival)}.mq-speed-result-burst i:nth-child(3n+1){background:#ffd166}
@keyframes mq-speed-result-particle{0%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--p)*25.7deg)) translateY(0) scale(.4)}18%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--p)*25.7deg)) translateY(-118px) scale(1.1)}}

/* Le PiP rival ne doit pas manger tout le petit écran. */
@media(max-width:390px){.mq-speed-rival-panel{width:min(72vw,272px);max-height:43vh}.mq-speed-rival-bubble{width:58px;height:58px;border-radius:20px}.mq-speed-rival-bubble-core{border-radius:16px}.mq-speed-rival-bubble-avatar{width:36px;height:36px}}
@media(max-height:680px){.mq-speed-rival-panel{max-height:44vh}.mq-speed-rival-stats{padding-block:5px}.mq-speed-rival-mini-wrap{min-height:74px}}
@media(orientation:landscape){.mq-speed-rival-panel{width:min(31vw,320px);max-height:68vh}}

/* Ambiance réellement adaptée aux six thèmes, tout en gardant les cartes natives. */
.mq-shell[data-skin="ocean"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 18% 88%,rgba(65,209,221,.09),transparent 28%),radial-gradient(circle at 82% 16%,rgba(63,153,221,.08),transparent 26%)}
.mq-shell[data-skin="nuit"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle at 14% 22%,rgba(255,255,255,.15) 0 1px,transparent 1.5px),radial-gradient(circle at 78% 35%,rgba(142,127,255,.2) 0 1px,transparent 1.5px);background-size:110px 110px,150px 150px;opacity:.45}
.mq-shell[data-skin="grenat"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(115deg,transparent 25%,rgba(182,48,76,.07) 50%,transparent 72%)}
.mq-shell[data-skin="ambre"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 100%,rgba(255,183,61,.1),transparent 42%)}
.mq-shell[data-skin="ardoise"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:repeating-linear-gradient(118deg,transparent 0 34px,rgba(172,200,215,.025) 35px 36px,transparent 37px 70px)}
.mq-shell[data-skin="jade"] .mq-speed-duel::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 16% 18%,rgba(63,220,166,.08),transparent 31%),radial-gradient(circle at 84% 80%,rgba(78,175,215,.06),transparent 27%)}

.mq-speed-quick-link{width:100%;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,var(--mq-online-line));border-radius:16px;padding:11px 13px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 7%,var(--mq-online-panel-strong,var(--surface)));color:var(--encre);display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:left;align-items:center}.mq-speed-quick-link>b{font-size:12px}.mq-speed-quick-link>span{grid-column:2;font-size:8px;opacity:.55;margin-top:-2px}
.mq-speed-private-link{width:100%;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 20%,var(--mq-online-line));border-radius:16px;padding:10px 12px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 5%,var(--mq-online-panel-strong,var(--surface)));color:var(--encre);display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;text-align:left;align-items:center}.mq-speed-private-link>svg{width:23px;height:23px;color:var(--mq-online-accent,var(--turq-2))}.mq-speed-private-link span{display:grid;gap:2px}.mq-speed-private-link b{font-size:11px}.mq-speed-private-link small{font-size:8px;line-height:1.3;opacity:.58}.mq-quick-restart.is-speed-search>span>svg{width:32px;height:32px}.mq-speed-search-error{max-width:300px;color:var(--mq-online-sub,var(--gris));font-size:11px;line-height:1.35;text-align:center}.mq-quick-restart [data-speed-search-attempt]{font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.6}.mq-quick-restart.is-speed-search .mq-btn{width:min(100%,280px)}

@media(prefers-reduced-motion:reduce){.mq-speed-lines,.mq-speed-result-burst{display:none!important}.mq-speed-rival-card.is-playing,.mq-speed-rival-card.is-miss{animation:none!important}}

/* Duel Flash v2 — Photo Finish comparatif */
.mq-speed-photo-card>.mq-speed-photo-times{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:16px 0 9px}.mq-speed-photo-card>.mq-speed-photo-times strong{font-size:clamp(20px,7vw,32px);font-variant-numeric:tabular-nums}.mq-speed-photo-card>.mq-speed-photo-times>b{opacity:.48}.mq-speed-photo-card>.mq-speed-photo-metrics{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:5px 0 0}.mq-speed-photo-metrics span{display:grid;gap:2px;padding:8px;border-radius:12px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 84%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 72%,transparent)}.mq-speed-photo-metrics em{font-size:7px;font-style:normal;font-weight:1000;letter-spacing:.1em;opacity:.52}.mq-speed-photo-metrics span>b{font-size:14px}.mq-speed-photo-metrics span>small{font-size:7px;opacity:.64}.mq-speed-photo-metrics>i{font-size:7px;font-style:normal;font-weight:900;opacity:.45;text-transform:uppercase;writing-mode:vertical-rl}


/* Duel Flash Private Code v3 — écran création/code premium et clic Android garanti */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-speed-private-hero{
  display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:13px;
  padding:14px 15px;border-radius:22px;position:relative;overflow:hidden;
  background:linear-gradient(145deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--mq-surface-raised)) 84%,var(--mq-online-accent,var(--mq-accent)) 16%),var(--mq-online-panel,var(--mq-surface)));
  border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 34%,var(--mq-online-line,var(--mq-border)));
  box-shadow:var(--mq-shadow-soft),inset 0 1px 0 rgba(255,255,255,.24)
}
.mq-speed-private-hero::after{content:"";position:absolute;inset:-40% -20%;pointer-events:none;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.16) 47%,transparent 58%);transform:translateX(-75%);animation:mq-speed-private-sheen 4.2s ease-in-out infinite}
@keyframes mq-speed-private-sheen{0%,58%{transform:translateX(-75%)}84%,100%{transform:translateX(75%)}}
.mq-speed-private-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(145deg,#36d9e7,#087b99);box-shadow:0 10px 28px rgba(8,123,153,.25),inset 0 1px 0 rgba(255,255,255,.38)}
.mq-speed-private-icon svg{width:31px;height:31px;stroke-width:2.3}.mq-speed-private-icon i{position:absolute;inset:-7px;border-radius:27px;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 28%,transparent);animation:mq-speed-private-ring 2.4s ease-in-out infinite}
@keyframes mq-speed-private-ring{50%{transform:scale(1.07);opacity:.35}}
.mq-speed-private-hero>div:last-child{display:grid;gap:2px;min-width:0}.mq-speed-private-hero small{font-size:9px;font-weight:1000;letter-spacing:.14em;color:var(--mq-online-accent,var(--mq-accent))}.mq-speed-private-hero strong{font-size:clamp(22px,6.2vw,31px);line-height:1;font-weight:1000;letter-spacing:-.035em}.mq-speed-private-hero p{margin:4px 0 0;font-size:11px;line-height:1.34;color:var(--mq-online-sub,var(--mq-text-secondary))}
.mq-speed-private-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:6px;padding:1px 8px}.mq-speed-private-steps>span{display:grid;justify-items:center;gap:2px;min-width:51px}.mq-speed-private-steps b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:10px;color:#fff;background:linear-gradient(145deg,var(--mq-online-accent,var(--mq-accent)),color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 68%,#005a75));box-shadow:0 5px 12px color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 22%,transparent)}.mq-speed-private-steps em{font-style:normal;font-size:8px;font-weight:900;color:var(--mq-online-sub,var(--mq-text-secondary));white-space:nowrap}.mq-speed-private-steps>i{height:2px;border-radius:99px;background:linear-gradient(90deg,color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 46%,transparent),color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 12%,transparent))}
.mq-speed-private-form{gap:9px!important}.mq-speed-private-selects{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:8px}.mq-speed-private-form .mq-speed-rule{padding:9px 11px}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-btn-primary[data-online-submit="speed-create"]{touch-action:manipulation;pointer-events:auto!important;position:relative;z-index:20;background:linear-gradient(105deg,#1fc9d9,#147db4)!important;color:white!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 5px 0 #0b658e,0 13px 28px rgba(12,111,151,.29),inset 0 2px 0 rgba(255,255,255,.35)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-btn-primary[data-online-submit="speed-create"]:disabled{opacity:.5!important;filter:saturate(.45)}
.mq-speed-join-link{font-size:12px!important;padding:9px 6px!important}
.mq-speed-create-center,.mq-speed-private-wait-center{align-content:center!important}.mq-speed-create-progress,.mq-speed-private-wait{width:min(100%,540px);display:grid;justify-items:center;text-align:center;gap:11px;padding:clamp(18px,3vh,28px);border-radius:30px;background:linear-gradient(155deg,var(--mq-online-panel-strong,var(--mq-surface-raised)),var(--mq-online-panel,var(--mq-surface)));border:1px solid var(--mq-online-line,var(--mq-border));box-shadow:0 24px 60px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.25)}
.mq-speed-code-orbit{width:90px;height:90px;position:relative;display:grid;place-items:center}.mq-speed-code-orbit strong{width:60px;height:60px;border-radius:21px;display:grid;place-items:center;color:white;background:linear-gradient(145deg,#25ccdc,#107aa6);box-shadow:0 12px 28px rgba(8,122,160,.28)}.mq-speed-code-orbit strong svg{width:29px;height:29px}.mq-speed-code-orbit i{position:absolute;inset:4px;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 28%,transparent);border-radius:31px;animation:mq-speed-orbit 2.8s linear infinite}.mq-speed-code-orbit i:nth-child(2){inset:11px;animation-duration:2.1s;animation-direction:reverse}.mq-speed-code-orbit i:nth-child(3){inset:-5px;animation-duration:3.5s}.mq-speed-code-orbit i::after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--mq-online-accent,var(--mq-accent));top:-3px;left:50%;box-shadow:0 0 10px var(--mq-online-accent,var(--mq-accent))}@keyframes mq-speed-orbit{to{transform:rotate(360deg)}}
.mq-speed-create-progress>small,.mq-speed-private-wait>small{font-size:9px;font-weight:1000;letter-spacing:.14em;color:var(--mq-online-accent,var(--mq-accent))}.mq-speed-create-progress h3,.mq-speed-private-wait h3{margin:0;font-size:clamp(22px,6vw,31px);line-height:1.05}.mq-speed-create-progress p,.mq-speed-private-wait p{margin:0;max-width:430px;font-size:12px;line-height:1.45;color:var(--mq-online-sub,var(--mq-text-secondary))}.mq-speed-create-progressbar{width:min(78%,330px);height:5px;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--mq-online-line,var(--mq-border)) 58%,transparent)}.mq-speed-create-progressbar i{display:block;width:36%;height:100%;border-radius:inherit;background:var(--mq-online-accent,var(--mq-accent));box-shadow:0 0 10px var(--mq-online-accent,var(--mq-accent));animation:mq-speed-create-load 1.05s ease-in-out infinite alternate}@keyframes mq-speed-create-load{from{transform:translateX(-105%)}to{transform:translateX(285%)}}.mq-speed-create-progress>em{font-size:9px;font-style:normal;font-weight:900;color:var(--mq-online-sub,var(--mq-text-secondary));letter-spacing:.07em}.mq-speed-create-error{width:100%;display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:rgba(224,69,82,.08);border:1px solid rgba(224,69,82,.18);text-align:left}.mq-speed-create-error b{font-size:11px;color:#d94c5d}.mq-speed-create-error span{font-size:10px;line-height:1.35;color:var(--mq-online-sub,var(--mq-text-secondary))}
.mq-speed-wait-icon{width:76px;height:76px;border-radius:25px;display:grid;place-items:center;position:relative;color:white;background:linear-gradient(145deg,#2cd1df,#0e7fa5);box-shadow:0 14px 34px rgba(7,124,160,.25)}.mq-speed-wait-icon svg{width:34px;height:34px}.mq-speed-wait-icon span{position:absolute;inset:-8px;border-radius:31px;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 34%,transparent);animation:mq-speed-private-ring 2s ease-in-out infinite}
.mq-speed-private-code{width:min(100%,420px);display:grid;justify-items:center;gap:9px;padding:14px;border-radius:22px;background:color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 7%,var(--mq-online-panel-strong,var(--mq-surface-raised)));border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 26%,var(--mq-online-line,var(--mq-border)))}.mq-speed-private-code>small{font-size:8px;font-weight:1000;letter-spacing:.16em;color:var(--mq-online-sub,var(--mq-text-secondary))}.mq-speed-private-code>div{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;width:100%}.mq-speed-private-code>div i{height:52px;border-radius:14px;display:grid;place-items:center;font-style:normal;font-size:clamp(24px,7vw,36px);font-weight:1000;font-variant-numeric:tabular-nums;color:var(--mq-online-title,var(--mq-text));background:var(--mq-online-panel,var(--mq-surface));border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 20%,var(--mq-online-line,var(--mq-border)));box-shadow:inset 0 1px 0 rgba(255,255,255,.23),0 5px 12px rgba(0,0,0,.07)}.mq-speed-private-code button{border:0;border-radius:999px;padding:8px 13px;display:flex;gap:6px;align-items:center;background:var(--mq-online-panel-strong,var(--mq-surface-raised));color:var(--mq-online-accent,var(--mq-accent));font-size:10px;font-weight:950;box-shadow:var(--mq-shadow-soft)}.mq-speed-private-code button svg{width:16px;height:16px}
.mq-speed-waiting-opponent{width:min(100%,420px);display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:15px;background:color-mix(in srgb,var(--mq-online-accent,var(--mq-accent)) 5%,transparent)}.mq-speed-waiting-opponent>div{display:grid;gap:1px}.mq-speed-waiting-opponent strong{font-size:11px}.mq-speed-waiting-opponent small{font-size:9px;line-height:1.3;color:var(--mq-online-sub,var(--mq-text-secondary))}.mq-speed-wait-actions{display:grid;grid-template-columns:1.3fr .8fr;gap:8px;width:min(100%,420px)}
@media(max-height:720px){.mq-speed-private-hero{grid-template-columns:52px minmax(0,1fr)!important;padding:10px 12px!important}.mq-speed-private-icon{width:52px;height:52px;border-radius:17px}.mq-speed-private-hero strong{font-size:20px}.mq-speed-private-hero p{font-size:10px}.mq-speed-private-steps{display:none}.mq-speed-private-form{gap:5px!important}.mq-speed-private-code>div i{height:43px}.mq-speed-private-wait,.mq-speed-create-progress{padding:14px;gap:8px}}
@media(max-width:360px){.mq-speed-private-selects{grid-template-columns:1fr}.mq-speed-private-code>div{gap:3px}.mq-speed-private-code>div i{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.mq-speed-private-hero::after,.mq-speed-private-icon i,.mq-speed-code-orbit i,.mq-speed-create-progressbar i,.mq-speed-wait-icon span{animation:none!important}}

/* Duel Flash private-code v4 : CTA critique toujours interactif dans Android WebView. */
[data-online-submit="speed-create"]{position:relative!important;z-index:8!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}
[data-online-submit="speed-create"]:disabled{opacity:1!important;filter:none!important}

/* ========================================================================== */
/* Duel Flash v5 — plein écran premium, PiP rival et hiérarchie sans doublons */
/* ========================================================================== */
.mq-shell.is-speed-duel-fullscreen .mq-top,
.mq-shell.is-speed-duel-fullscreen .mq-nav{display:none!important}
.mq-shell.is-speed-duel-fullscreen .mq-app{inset:0!important;padding:0!important;gap:0!important}
.mq-shell.is-speed-duel-fullscreen .mq-stage{position:absolute!important;inset:0!important;min-height:0!important}
.mq-shell.is-speed-duel-fullscreen .mq-view[data-view="online"]{inset:0!important;gap:0!important;overflow:hidden!important}
.mq-shell.is-speed-duel-fullscreen .mq-view[data-view="online"].is-active{transform:none!important}

.mq-speed-duel{
  --speed-glass:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 82%,transparent);
  --speed-glass-line:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 20%,transparent);
  --speed-theme-glow:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,transparent);
  background:
    radial-gradient(circle at 50% 8%,var(--speed-theme-glow),transparent 33%),
    radial-gradient(circle at 50% 92%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 8%,transparent),transparent 42%),
    var(--mq-online-bg,var(--fond));
}
.mq-speed-duel::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.38;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 25%,transparent 76%,rgba(0,0,0,.035))}
.mq-speed-local-zone{z-index:2;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(3px,.7vh,7px);padding:max(6px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:transparent}

.mq-speed-hud{position:relative;z-index:4;grid-template-columns:34px minmax(74px,1.35fr) minmax(48px,.75fr) minmax(48px,.75fr) auto;gap:6px;min-height:42px;padding:5px 7px;border-radius:17px;background:linear-gradient(135deg,var(--speed-glass),color-mix(in srgb,var(--speed-glass) 72%,transparent));border:1px solid var(--speed-glass-line);box-shadow:0 10px 28px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.mq-speed-avatar{width:32px;height:32px;border-radius:11px;box-shadow:0 5px 14px rgba(0,0,0,.16),0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 20%,transparent)}
.mq-speed-hud-stat{padding:1px 2px}.mq-speed-hud-stat small{font-size:6.5px;letter-spacing:.14em;opacity:.52}.mq-speed-hud-stat strong{font-size:clamp(11px,3.05vw,16px)}
.mq-speed-hud-stat.is-time strong{font-size:clamp(14px,4.1vw,20px);text-shadow:0 0 18px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,transparent)}
.mq-speed-combo{height:31px;min-width:40px;border-radius:12px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 10%,var(--speed-glass));font-size:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}

.mq-speed-board-wrap{border-radius:clamp(16px,3vmin,27px);overflow:visible;padding:clamp(2px,.45vmin,5px)}
.mq-speed-board-wrap::before{inset:0;background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 4%,transparent),transparent 64%);border:0;opacity:1}
.mq-speed-local-board{gap:clamp(4px,1.1vmin,11px);filter:drop-shadow(0 9px 18px rgba(0,0,0,.10))}
.mq-speed-local-board .mq-card{border-radius:clamp(9px,2vmin,18px)}
.mq-speed-local-board .mq-card.is-done{filter:saturate(.96)}
.mq-speed-foot{z-index:4;min-height:28px;padding:3px 5px 2px;border-radius:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--speed-glass) 74%,transparent),transparent);letter-spacing:.06em}
.mq-speed-foot>div>span{font-size:8px}.mq-speed-record-pace{font-size:7px!important;opacity:.62}.mq-speed-foot button{width:30px;height:30px;border-radius:11px;border:1px solid color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 60%,transparent);box-shadow:0 5px 12px rgba(0,0,0,.10)}

/* Une seule information centrale à la fois : PRÊT, 3/2/1, MÉMORISE ou GO. */
.mq-speed-stage{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.mq-speed-stage .mq-speed-count{display:grid;place-items:center;min-width:0;text-align:center;white-space:nowrap}
.mq-speed-stage[data-stage-phase="waiting-ready"] .mq-speed-count{font-size:clamp(23px,7vw,42px);padding:9px 18px;border-radius:999px;background:var(--speed-glass);border:1px solid var(--speed-glass-line);box-shadow:0 12px 30px rgba(0,0,0,.16);text-shadow:none;letter-spacing:.12em;font-style:normal}
.mq-speed-stage[data-stage-phase="countdown"] .mq-speed-count{font-size:clamp(82px,27vw,160px);filter:drop-shadow(0 8px 22px rgba(0,0,0,.18))}
.mq-speed-stage[data-stage-phase="memorise"]{place-items:start center;padding-top:max(7px,env(safe-area-inset-top))}
.mq-speed-stage[data-stage-phase="memorise"] .mq-speed-count{position:relative;font-size:clamp(18px,5.5vw,31px);padding:7px 16px;border-radius:999px;background:color-mix(in srgb,var(--speed-glass) 88%,transparent);border:1px solid var(--speed-glass-line);box-shadow:0 7px 22px rgba(0,0,0,.15);text-shadow:none;letter-spacing:.08em;font-style:normal}
.mq-speed-stage[data-stage-phase="go"] .mq-speed-count{font-size:clamp(72px,25vw,148px);filter:drop-shadow(0 8px 28px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 30%,transparent))}

/* Bulle rival premium : lisible, déplaçable, non intrusive. */
.mq-speed-rival-float{z-index:42;filter:drop-shadow(0 14px 24px rgba(0,0,0,.24))}
.mq-speed-rival-float.is-avoiding{animation:mq-speed-rival-avoid .34s cubic-bezier(.2,.85,.2,1)}
@keyframes mq-speed-rival-avoid{50%{transform:scale(.92);opacity:.72}}
.mq-speed-rival-bubble{width:70px;height:70px;border-radius:25px;padding:4px;background:conic-gradient(var(--speed-rival) 0deg var(--speed-rival-angle),color-mix(in srgb,var(--mq-online-line,rgba(127,127,127,.2)) 74%,transparent) var(--speed-rival-angle) 360deg);box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.10)}
.mq-speed-rival-bubble-core{inset:4px;border-radius:21px;background:linear-gradient(155deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 98%,transparent),color-mix(in srgb,var(--speed-rival) 7%,var(--mq-online-panel-strong,var(--surface))));box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.mq-speed-rival-bubble-avatar{width:42px;height:42px;transform:translateY(-5px)}
.mq-speed-rival-bubble-core>small{position:absolute;left:7px;right:7px;bottom:5px;height:14px;display:grid;place-items:center;border-radius:7px;background:rgba(0,0,0,.18);color:#fff;font-size:6.5px;font-weight:1000;letter-spacing:.10em;line-height:1;text-transform:uppercase;overflow:hidden;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease}
.mq-speed-rival-bubble-core>small.is-hot{background:var(--speed-rival);color:white;transform:scale(1.04)}
.mq-speed-rival-bubble>b{right:-4px;bottom:-4px;height:23px;min-width:34px;border-radius:12px;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 96%,transparent);border-color:color-mix(in srgb,var(--speed-rival) 54%,transparent);font-size:9px}
.mq-speed-rival-float.is-rival-match .mq-speed-rival-bubble{box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 24px color-mix(in srgb,var(--speed-rival) 48%,transparent)}
.mq-speed-rival-float.is-rival-miss .mq-speed-rival-bubble{animation:mq-speed-rival-bubble-miss .28s ease}
@keyframes mq-speed-rival-bubble-miss{25%{transform:translateX(-3px)}70%{transform:translateX(3px)}}

/* PiP rival : ouverture claire, bouton moins rouge toujours visible. */
.mq-speed-rival-panel{width:min(72vw,310px)!important;max-height:min(52vh,410px)!important;border-radius:24px!important;background:linear-gradient(155deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 98%,transparent),color-mix(in srgb,var(--speed-rival) 5%,var(--mq-online-panel-strong,var(--surface))) 80%)!important;border:1px solid color-mix(in srgb,var(--speed-rival) 26%,var(--mq-online-line,rgba(127,127,127,.18)))!important;box-shadow:0 26px 72px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.13)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mq-speed-rival-panel>header{min-height:58px;padding:9px 9px 8px 10px;background:linear-gradient(90deg,color-mix(in srgb,var(--speed-rival) 12%,transparent),transparent 72%);border-bottom-color:color-mix(in srgb,var(--speed-rival) 14%,var(--mq-online-line,rgba(127,127,127,.18)))}
.mq-speed-rival-panel-avatar{width:40px;height:40px;box-shadow:0 0 0 2px color-mix(in srgb,var(--speed-rival) 25%,transparent)}
.mq-speed-rival-panel>header small{font-size:6.5px;letter-spacing:.14em}.mq-speed-rival-panel>header strong{font-size:13px}.mq-speed-rival-panel>header em{font-size:8px}
.mq-speed-rival-collapse{width:34px!important;height:34px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.26)!important;background:linear-gradient(145deg,#ff5e6c,#d83449)!important;color:#fff!important;box-shadow:0 7px 16px rgba(211,45,66,.34),inset 0 1px 0 rgba(255,255,255,.32)!important;font-size:0!important;display:grid!important;place-items:center!important}
.mq-speed-rival-collapse>span{display:block;font-size:22px!important;font-weight:1000;line-height:.55;transform:translateY(-2px)}
.mq-speed-rival-collapse:active{transform:scale(.92)}
.mq-speed-rival-stats{padding:8px 9px 7px!important;gap:6px!important}.mq-speed-rival-stats>span{padding:7px 4px!important;border-radius:11px!important;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 78%,transparent)!important}.mq-speed-rival-stats small{font-size:6px!important}.mq-speed-rival-stats b{font-size:11px!important}
.mq-speed-rival-mini-wrap{padding:3px 8px 7px!important;min-height:86px}.mq-speed-rival-board{gap:3px!important}.mq-speed-rival-card{border-radius:7px!important;box-shadow:0 4px 10px rgba(0,0,0,.13)}
.mq-speed-rival-reactions{padding:0 9px 6px!important}.mq-speed-rival-reactions button{width:33px;height:30px;border-radius:10px}
.mq-speed-rival-panel-progress{padding:0 9px 8px!important}.mq-speed-rival-panel-progress>span{font-size:6.5px!important;opacity:.50!important}

/* Résultat plein écran cohérent avec le mode, sans retour du bandeau général. */
.mq-shell.is-speed-duel-fullscreen .mq-speed-result{inset:0!important;min-height:100%!important;padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important}

/* Ambiances réellement distinctes par thème, tout en gardant les vraies cartes. */
.mq-shell[data-skin="ocean"] .mq-speed-duel{--speed-theme-glow:rgba(36,213,235,.18);background:radial-gradient(circle at 50% 4%,rgba(68,223,244,.18),transparent 34%),radial-gradient(circle at 8% 80%,rgba(41,177,214,.09),transparent 31%),var(--mq-online-bg,var(--fond))}
.mq-shell[data-skin="nuit"] .mq-speed-duel{--speed-theme-glow:rgba(129,105,255,.18);background:radial-gradient(circle at 50% 6%,rgba(126,104,255,.20),transparent 34%),radial-gradient(circle at 85% 76%,rgba(71,184,255,.08),transparent 28%),var(--mq-online-bg,var(--fond))}
.mq-shell[data-skin="grenat"] .mq-speed-duel{--speed-theme-glow:rgba(190,52,86,.15);background:radial-gradient(circle at 50% 5%,rgba(198,62,94,.18),transparent 35%),radial-gradient(circle at 9% 78%,rgba(232,156,79,.07),transparent 30%),var(--mq-online-bg,var(--fond))}
.mq-shell[data-skin="ambre"] .mq-speed-duel{--speed-theme-glow:rgba(236,172,52,.15);background:radial-gradient(circle at 50% 5%,rgba(239,179,68,.18),transparent 35%),radial-gradient(circle at 87% 74%,rgba(255,113,73,.06),transparent 28%),var(--mq-online-bg,var(--fond))}
.mq-shell[data-skin="ardoise"] .mq-speed-duel{--speed-theme-glow:rgba(117,158,178,.14);background:radial-gradient(circle at 50% 5%,rgba(133,171,191,.17),transparent 35%),radial-gradient(circle at 10% 80%,rgba(71,111,132,.07),transparent 30%),var(--mq-online-bg,var(--fond))}
.mq-shell[data-skin="jade"] .mq-speed-duel{--speed-theme-glow:rgba(70,211,166,.16);background:radial-gradient(circle at 50% 5%,rgba(77,222,174,.19),transparent 35%),radial-gradient(circle at 88% 80%,rgba(64,174,211,.07),transparent 30%),var(--mq-online-bg,var(--fond))}

@media(max-width:370px){
  .mq-speed-hud{grid-template-columns:30px minmax(70px,1.25fr) minmax(42px,.7fr) minmax(42px,.7fr) auto;padding-inline:5px;gap:4px}
  .mq-speed-avatar{width:29px;height:29px}.mq-speed-combo{min-width:36px;padding-inline:5px}.mq-speed-rival-bubble{width:64px;height:64px;border-radius:22px}.mq-speed-rival-bubble-core{border-radius:18px}.mq-speed-rival-bubble-avatar{width:38px;height:38px}.mq-speed-rival-panel{width:min(76vw,290px)!important}
}
@media(max-height:650px) and (orientation:portrait){
  .mq-speed-hud{min-height:35px;padding-block:3px}.mq-speed-local-zone{gap:2px}.mq-speed-foot{min-height:22px}.mq-speed-rival-panel{max-height:58vh!important}.mq-speed-rival-mini-wrap{min-height:70px}.mq-speed-stage[data-stage-phase="memorise"]{padding-top:max(4px,env(safe-area-inset-top))}
}
@media(orientation:landscape) and (min-width:700px){
  .mq-speed-rival-panel{width:min(31vw,330px)!important;max-height:70vh!important}.mq-speed-hud{max-width:760px;width:min(92%,760px);justify-self:center}.mq-speed-foot{max-width:760px;width:min(92%,760px);justify-self:center}.mq-speed-board-wrap{margin:0 5vw!important}
}
@media(prefers-reduced-motion:reduce){.mq-speed-rival-float.is-avoiding,.mq-speed-rival-float.is-rival-miss .mq-speed-rival-bubble{animation:none!important}}

/* MemoMilo 6.42.0 — Duel Flash V6 corrections fonctionnelles */
.mq-speed-rival-card.is-flip-one{transform:translateY(-2px) scale(.96);filter:brightness(1.12)}
.mq-speed-rival-card.is-flip-two{transform:translateY(-3px) scale(.94);filter:brightness(1.22)}
.mq-speed-rival-float.has-card-overlap .mq-speed-rival-bubble{opacity:.84}
.mq-speed-duel[data-duel-state="RECONNECTING"] .mq-speed-stage .mq-speed-count,.mq-speed-duel[data-duel-state="ERROR"] .mq-speed-stage .mq-speed-count{font-size:clamp(18px,5.4vw,30px);padding:8px 14px;border-radius:999px;background:var(--speed-glass);border:1px solid var(--speed-glass-line);letter-spacing:.08em}

/* 6.43.1 — Duel Flash fixed rival LIVE dock + pair persistence + premium entry. */
.mq-arena-act[data-duel-flash-entry="1"]{display:grid!important;visibility:visible!important;opacity:1!important;min-height:74px}
.mq-arena-act[data-duel-flash-entry="1"] .mq-arena-copy strong{display:block!important}


/* ==========================================================================\n   6.43.1 — DUEL FLASH V7.1 · Rival LIVE fixe, sans bulle ni PiP déplaçable\n   ========================================================================== */
.mq-speed-play-zone{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(116px,28vw,174px);gap:clamp(5px,1.25vw,11px);align-items:stretch;overflow:hidden;position:relative;z-index:2}
.mq-speed-play-zone>.mq-speed-board-wrap{min-width:0;min-height:0;margin:0;overflow:hidden}
.mq-speed-rival-dock{--rival-accent:var(--mq-online-accent,var(--turq-2));min-width:0;min-height:0;align-self:start;height:min(58vh,460px);max-height:100%;display:grid;grid-template-rows:auto minmax(72px,1fr) auto auto minmax(52px,.72fr) auto;gap:5px;padding:6px;border-radius:clamp(16px,2.7vw,24px);background:linear-gradient(165deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 96%,transparent),color-mix(in srgb,var(--rival-accent) 7%,var(--mq-online-panel-strong,var(--surface))));border:1px solid color-mix(in srgb,var(--rival-accent) 24%,var(--mq-online-line,rgba(127,127,127,.18)));box-shadow:0 18px 42px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.11);overflow:hidden;pointer-events:none;isolation:isolate}
.mq-speed-rival-dock::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 90% 4%,color-mix(in srgb,var(--rival-accent) 15%,transparent),transparent 36%);opacity:.8}
.mq-speed-rival-dock>header{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:2px 1px 4px;border-bottom:1px solid color-mix(in srgb,var(--rival-accent) 12%,transparent)}
.mq-speed-rival-dock>header .mq-speed-rival-panel-avatar{width:clamp(28px,7vw,38px);height:clamp(28px,7vw,38px);box-shadow:0 0 0 2px color-mix(in srgb,var(--rival-accent) 22%,transparent),0 0 18px color-mix(in srgb,var(--rival-accent) 16%,transparent)}
.mq-speed-rival-dock>header>div{min-width:0;display:grid;gap:1px}.mq-speed-rival-dock>header small{font-size:clamp(5.5px,1.35vw,7px);font-weight:1000;letter-spacing:.12em;opacity:.55}.mq-speed-rival-dock>header strong{font-size:clamp(9px,2.5vw,13px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mq-speed-rival-dock>header em{font-size:clamp(6px,1.7vw,8px);font-style:normal;font-weight:900;color:var(--rival-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mq-speed-live-dot{width:8px;height:8px;border-radius:50%;background:var(--rival-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--rival-accent) 14%,transparent),0 0 10px color-mix(in srgb,var(--rival-accent) 48%,transparent);animation:mq-speed-live-pulse 1.35s ease-in-out infinite}@keyframes mq-speed-live-pulse{50%{opacity:.45;transform:scale(.82)}}
.mq-speed-rival-window{position:relative;min-height:0;border-radius:12px;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--mq-online-bg,var(--fond)) 84%,black 6%),color-mix(in srgb,var(--rival-accent) 4%,var(--mq-online-bg,var(--fond))));border:1px solid color-mix(in srgb,var(--rival-accent) 15%,transparent);box-shadow:inset 0 0 24px rgba(0,0,0,.12)}
.mq-speed-rival-window::after{content:"LIVE";position:absolute;top:5px;right:5px;padding:2px 4px;border-radius:5px;background:color-mix(in srgb,var(--rival-accent) 82%,#101820);color:#fff;font-size:5px;font-weight:1000;letter-spacing:.12em;pointer-events:none}
.mq-speed-rival-mini-wrap{min-height:0;height:100%;padding:7px 5px 5px;display:flex;align-items:center;justify-content:center;overflow:hidden}.mq-speed-rival-board{max-width:100%;max-height:100%}
.mq-speed-rival-progress{position:relative;display:grid;gap:3px;padding:1px}.mq-speed-rival-progress>div{display:flex;align-items:end;justify-content:space-between;gap:5px}.mq-speed-rival-progress span{font-size:5.8px;font-weight:1000;letter-spacing:.1em;opacity:.55}.mq-speed-rival-progress strong{font-size:clamp(14px,4.6vw,23px);line-height:.95;font-variant-numeric:tabular-nums;color:var(--rival-accent);text-shadow:0 0 16px color-mix(in srgb,var(--rival-accent) 24%,transparent)}.mq-speed-rival-progress>i{height:5px;border-radius:99px;overflow:hidden;background:color-mix(in srgb,var(--rival-accent) 10%,var(--mq-online-line,rgba(127,127,127,.14)))}.mq-speed-rival-progress>i>em{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--rival-accent) 70%,white 10%),var(--rival-accent));box-shadow:0 0 10px color-mix(in srgb,var(--rival-accent) 38%,transparent);transition:width .28s cubic-bezier(.2,.8,.2,1)}.mq-speed-rival-progress>small{font-size:6px;font-weight:800;opacity:.55;font-variant-numeric:tabular-nums}
.mq-speed-rival-coach{min-height:30px;display:flex;align-items:center;padding:6px 7px;border-radius:9px;font-size:clamp(6px,1.7vw,8.5px);font-weight:900;line-height:1.22;background:color-mix(in srgb,var(--rival-accent) 7%,transparent);border:1px solid color-mix(in srgb,var(--rival-accent) 12%,transparent);transition:background .22s ease,border-color .22s ease,transform .22s ease}.mq-speed-rival-coach.is-alert{background:color-mix(in srgb,#ff8a6b 12%,transparent);border-color:color-mix(in srgb,#ff8a6b 25%,transparent);animation:mq-speed-coach-alert .34s ease}.mq-speed-rival-coach.is-ahead{background:color-mix(in srgb,#65d5a7 10%,transparent);border-color:color-mix(in srgb,#65d5a7 18%,transparent)}.mq-speed-rival-coach.is-behind{background:color-mix(in srgb,#ffc765 9%,transparent)}@keyframes mq-speed-coach-alert{50%{transform:scale(1.018)}}
.mq-speed-rival-feed{min-height:0;display:flex;flex-direction:column;gap:3px;overflow:hidden;mask-image:linear-gradient(to bottom,#000 76%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 76%,transparent)}.mq-speed-rival-feed-item{display:grid;grid-template-columns:5px minmax(0,1fr);gap:4px;align-items:start;padding:4px 5px;border-radius:7px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 68%,transparent);font-size:clamp(5.5px,1.55vw,7.5px);font-weight:750;line-height:1.22;opacity:0;transform:translateY(-4px);transition:opacity .2s ease,transform .22s ease}.mq-speed-rival-feed-item.is-in{opacity:.84;transform:none}.mq-speed-rival-feed-item>i{width:4px;height:4px;margin-top:3px;border-radius:50%;background:var(--rival-accent);box-shadow:0 0 6px color-mix(in srgb,var(--rival-accent) 45%,transparent)}.mq-speed-rival-feed-item.is-match>i,.mq-speed-rival-feed-item.is-hot>i{background:#65d5a7}.mq-speed-rival-feed-item.is-hot{font-weight:950;color:color-mix(in srgb,var(--encre) 90%,#65d5a7)}.mq-speed-rival-feed-item.is-miss{opacity:.58}.mq-speed-rival-feed-item.is-alert{background:color-mix(in srgb,#ff8a6b 9%,transparent)}.mq-speed-rival-feed-item.is-ahead{background:color-mix(in srgb,#65d5a7 8%,transparent)}
.mq-speed-rival-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:3px}.mq-speed-rival-mini-stats>span{display:grid;place-items:center;padding:4px 2px;border-radius:7px;background:color-mix(in srgb,var(--mq-online-panel,var(--surface)) 72%,transparent);border:1px solid color-mix(in srgb,var(--rival-accent) 8%,transparent)}.mq-speed-rival-mini-stats small{font-size:5px;font-weight:1000;letter-spacing:.1em;opacity:.45}.mq-speed-rival-mini-stats b{font-size:9px;font-variant-numeric:tabular-nums}
.mq-speed-rival-dock.is-rival-match{animation:mq-speed-dock-match .34s ease}.mq-speed-rival-dock.is-rival-miss{animation:mq-speed-dock-miss .28s ease}@keyframes mq-speed-dock-match{45%{box-shadow:0 18px 42px rgba(0,0,0,.25),0 0 26px color-mix(in srgb,#65d5a7 30%,transparent)}}@keyframes mq-speed-dock-miss{35%{transform:translateX(-2px)}70%{transform:translateX(2px)}}
.mq-speed-local-board .mq-card.is-server-pending{filter:saturate(1.04) brightness(1.015)}.mq-speed-local-board .mq-card.is-server-pending::after{content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 34%,transparent),0 0 8px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 16%,transparent)}

/* Entrée Duel Flash officielle : même composant Android / WordPress. */
.mq-arena-act.is-speed-duel{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 28%,var(--mq-line))!important;background:linear-gradient(112deg,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 12%,var(--mq-panel)),color-mix(in srgb,var(--mq-online-panel,var(--surface)) 96%,transparent) 58%,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 7%,var(--mq-panel)))!important;box-shadow:0 14px 34px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.12)}.mq-duel-entry-aura{position:absolute;inset:-60% 38% -60% -20%;background:radial-gradient(circle,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 25%,transparent),transparent 66%);pointer-events:none;animation:mq-duel-entry-breathe 2.8s ease-in-out infinite}.mq-arena-act.is-speed-duel .mq-arena-ic{position:relative;z-index:1;box-shadow:0 0 0 1px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,transparent),0 0 24px color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 22%,transparent)}.mq-arena-act.is-speed-duel .mq-arena-copy strong{display:flex;align-items:center;gap:7px}.mq-arena-act.is-speed-duel .mq-arena-copy strong em{font-style:normal;font-size:8px;padding:3px 5px;border-radius:999px;background:var(--mq-online-accent,var(--turq-2));color:#082027;letter-spacing:.12em}.mq-duel-entry-meta{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.mq-duel-entry-meta i{font-style:normal;font-size:6.5px;font-weight:900;padding:3px 5px;border-radius:999px;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 8%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 12%,transparent);opacity:.76}@keyframes mq-duel-entry-breathe{50%{opacity:.55;transform:scale(1.08)}}
.mq-speed-private-hero.is-v64{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 18%,var(--mq-line));background:linear-gradient(145deg,color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 11%,var(--mq-panel)),var(--mq-panel));box-shadow:0 16px 38px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.10)}.mq-speed-private-hero.is-v64::after{content:"";position:absolute;width:150px;height:150px;right:-55px;top:-70px;border-radius:50%;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 14%,transparent);filter:blur(14px);pointer-events:none}.mq-speed-private-hero.is-v64>div:last-child{position:relative;z-index:1}.mq-speed-private-hero.is-v64 strong{font-size:clamp(18px,5vw,28px);letter-spacing:-.025em}.mq-speed-private-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.mq-speed-private-pills span{padding:5px 7px;border-radius:999px;font-size:7px;font-weight:950;background:color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 8%,transparent);border:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 14%,transparent)}

@media(max-width:390px){.mq-speed-play-zone{grid-template-columns:minmax(0,1fr) clamp(100px,29vw,116px);gap:4px}.mq-speed-rival-dock{padding:5px;gap:4px;border-radius:15px}.mq-speed-rival-dock>header .mq-speed-rival-panel-avatar{width:28px;height:28px}.mq-speed-rival-coach{min-height:27px;padding:5px;font-size:5.8px}.mq-speed-rival-feed-item{padding:3px 4px;font-size:5.3px}.mq-speed-rival-progress strong{font-size:16px}.mq-speed-rival-window::after{display:none}.mq-speed-rival-mini-stats{display:none}.mq-speed-rival-dock{grid-template-rows:auto minmax(64px,1fr) auto auto minmax(45px,.65fr)}}
@media(max-width:350px){.mq-speed-play-zone{grid-template-columns:minmax(0,1fr) 92px;gap:3px}.mq-speed-rival-feed{display:none}.mq-speed-rival-dock{grid-template-rows:auto minmax(58px,1fr) auto auto}.mq-speed-rival-coach{min-height:25px}.mq-speed-rival-progress>small{font-size:5px}}
@media(orientation:landscape){.mq-speed-play-zone{grid-template-columns:minmax(0,1fr) clamp(138px,24vw,210px)}.mq-speed-rival-dock{grid-template-rows:auto minmax(78px,1fr) auto auto minmax(50px,.65fr) auto}}
@media(prefers-reduced-motion:reduce){.mq-speed-live-dot,.mq-duel-entry-aura,.mq-speed-rival-dock.is-rival-match,.mq-speed-rival-dock.is-rival-miss,.mq-speed-rival-coach.is-alert{animation:none!important}.mq-speed-rival-feed-item{transition:none}}

/* Duel Flash V7.1 — HUD compact réellement lisible sur petits téléphones. */
@media (max-width:390px){
  .mq-speed-hud{grid-template-columns:minmax(74px,1.45fr) minmax(48px,.82fr) minmax(42px,.72fr) auto;gap:4px}
  .mq-speed-hud>.mq-speed-avatar{display:none}
  .mq-speed-hud small{font-size:6px;letter-spacing:.09em}
  .mq-speed-hud-stat strong{font-size:11px}
  .mq-speed-hud-stat.is-time strong{font-size:14px}
  .mq-speed-combo{min-width:30px;height:28px;padding:0 5px;font-size:11px}
}
@media (max-width:350px){
  .mq-speed-hud{grid-template-columns:minmax(70px,1.4fr) minmax(46px,.8fr) minmax(40px,.7fr) auto;gap:3px}
  .mq-speed-hud small{font-size:5.6px}
  .mq-speed-hud-stat.is-time strong{font-size:13px}
}

/* ========================================================================== 
   6.43.1 — DUEL FLASH V7.1 · Dashboard rival en haut + plateau local plein bas
   Demande produit : mini-partie adverse en haut à droite, informations adverses
   dans tout l’espace restant en haut, plateau joueur centré et maximal en bas.
   ========================================================================== */
.mq-speed-local-zone{
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:clamp(4px,.75vh,8px);
}
.mq-speed-hud{
  grid-template-columns:minmax(86px,1.45fr) minmax(54px,.78fr) minmax(48px,.72fr) auto;
  gap:clamp(4px,1.2vw,10px);
  min-height:44px;
  padding:6px clamp(8px,2vw,14px);
}
.mq-speed-hud>.mq-speed-avatar{display:none!important}
.mq-speed-hud-stat small{font-size:clamp(6px,1.45vw,8px);letter-spacing:.12em}
.mq-speed-hud-stat strong{font-size:clamp(12px,3.15vw,17px)}
.mq-speed-hud-stat.is-time strong{font-size:clamp(15px,4.25vw,21px)}

.mq-speed-play-zone{
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:clamp(132px,23.5vh,202px) minmax(0,1fr);
  gap:clamp(5px,.85vh,9px);
  align-items:stretch;
  overflow:hidden;
  position:relative;
  z-index:2;
}
.mq-speed-play-zone>.mq-speed-board-wrap{
  grid-column:1;
  grid-row:2;
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  margin:0!important;
  padding:clamp(1px,.3vmin,4px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mq-speed-local-board{
  max-width:100%;
  max-height:100%;
  gap:clamp(3px,.92vmin,8px);
}

/* Le bloc rival devient un dashboard horizontal : informations à gauche,
   mini-plateau réel à droite. Il ne réduit plus la largeur du plateau local. */
.mq-speed-rival-dock{
  --rival-accent:var(--mq-online-accent,var(--turq-2));
  grid-column:1;
  grid-row:1;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  align-self:stretch;
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(112px,30vw,186px);
  grid-template-rows:auto auto auto minmax(26px,1fr) auto;
  grid-template-areas:
    "rival-head rival-window"
    "rival-progress rival-window"
    "rival-coach rival-window"
    "rival-feed rival-window"
    "rival-stats rival-window";
  column-gap:clamp(6px,1.5vw,12px);
  row-gap:4px;
  padding:clamp(7px,1.6vw,12px);
  border-radius:clamp(15px,2.4vw,22px);
  overflow:hidden;
  pointer-events:none;
  background:
    radial-gradient(circle at 86% 12%,color-mix(in srgb,var(--rival-accent) 12%,transparent),transparent 34%),
    linear-gradient(155deg,color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 97%,transparent),color-mix(in srgb,var(--rival-accent) 6%,var(--mq-online-panel-strong,var(--surface))));
  border:1px solid color-mix(in srgb,var(--rival-accent) 24%,var(--mq-online-line,rgba(127,127,127,.18)));
  box-shadow:0 14px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.10);
}
.mq-speed-rival-dock::before{display:none}
.mq-speed-rival-dock>header{
  grid-area:rival-head;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(7px,1.5vw,11px);
  min-width:0;
  padding:0 0 4px;
  border-bottom:1px solid color-mix(in srgb,var(--rival-accent) 12%,transparent);
}
.mq-speed-rival-dock>header .mq-speed-rival-panel-avatar{
  width:clamp(34px,8vw,48px);
  height:clamp(34px,8vw,48px);
  border-radius:50%;
}
.mq-speed-rival-dock>header small{font-size:clamp(6px,1.45vw,8px)}
.mq-speed-rival-dock>header strong{font-size:clamp(12px,3.2vw,18px)}
.mq-speed-rival-dock>header em{font-size:clamp(7px,1.8vw,9px)}

.mq-speed-rival-window{
  grid-area:rival-window;
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  align-self:stretch;
  border-radius:clamp(11px,1.8vw,16px);
  background:linear-gradient(180deg,color-mix(in srgb,var(--mq-online-bg,var(--fond)) 88%,black 4%),color-mix(in srgb,var(--rival-accent) 5%,var(--mq-online-bg,var(--fond))));
  border:1px solid color-mix(in srgb,var(--rival-accent) 22%,transparent);
  box-shadow:inset 0 0 22px rgba(0,0,0,.12),0 6px 18px rgba(0,0,0,.10);
}
.mq-speed-rival-window::before{
  content:"PLATEAU RIVAL";
  position:absolute;
  left:7px;
  top:5px;
  z-index:2;
  font-size:clamp(5px,1.25vw,7px);
  font-weight:1000;
  letter-spacing:.11em;
  opacity:.62;
}
.mq-speed-rival-window::after{
  content:"●  LIVE";
  top:5px;
  right:6px;
  padding:0;
  background:transparent;
  color:var(--rival-accent);
  font-size:clamp(5px,1.2vw,7px);
  letter-spacing:.08em;
}
.mq-speed-rival-mini-wrap{
  height:100%;
  min-height:0;
  padding:clamp(18px,3.2vh,27px) clamp(4px,1vw,8px) clamp(5px,1vh,9px);
}
.mq-speed-rival-board{max-width:100%;max-height:100%;gap:clamp(2px,.55vmin,4px)!important}
.mq-speed-rival-card{border-radius:clamp(4px,.8vw,7px)!important}

.mq-speed-rival-progress{grid-area:rival-progress;min-width:0;padding:1px 2px;display:grid;gap:3px}
.mq-speed-rival-progress>div{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:7px}
.mq-speed-rival-progress>div::after{content:""}
.mq-speed-rival-progress span{font-size:clamp(6px,1.4vw,8px)}
.mq-speed-rival-progress strong{font-size:clamp(16px,4vw,24px)}
.mq-speed-rival-progress>i{height:6px}
.mq-speed-rival-progress>small{font-size:clamp(6px,1.4vw,8px)}

.mq-speed-rival-coach{
  grid-area:rival-coach;
  min-height:0;
  padding:5px 7px;
  font-size:clamp(6px,1.55vw,8.5px);
  border-radius:8px;
}
.mq-speed-rival-feed{
  grid-area:rival-feed;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  overflow:hidden;
  mask-image:linear-gradient(to bottom,#000 84%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,#000 84%,transparent);
}
.mq-speed-rival-feed-item{
  grid-template-columns:6px minmax(0,1fr);
  gap:5px;
  padding:4px 6px;
  border-radius:7px;
  font-size:clamp(6px,1.5vw,8px);
  line-height:1.18;
}
.mq-speed-rival-mini-stats{
  grid-area:rival-stats;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
}
.mq-speed-rival-mini-stats>span{grid-template-columns:auto auto;justify-content:start;gap:4px;padding:3px 6px}
.mq-speed-rival-mini-stats small{font-size:5.5px}.mq-speed-rival-mini-stats b{font-size:8px}

/* Petits téléphones : on protège en priorité la taille réelle des cartes locales.
   Le dashboard rival se compacte verticalement mais reste complet. */
@media(max-width:390px){
  .mq-speed-play-zone{grid-template-rows:clamp(116px,21.5vh,150px) minmax(0,1fr);gap:4px}
  .mq-speed-rival-dock{grid-template-columns:minmax(0,1fr) clamp(100px,30vw,118px);padding:6px;column-gap:5px;row-gap:3px;border-radius:14px}
  .mq-speed-rival-dock>header .mq-speed-rival-panel-avatar{width:31px;height:31px}
  .mq-speed-rival-dock>header small{font-size:5.6px}.mq-speed-rival-dock>header strong{font-size:11px}.mq-speed-rival-dock>header em{font-size:6.5px}
  .mq-speed-rival-progress strong{font-size:15px}.mq-speed-rival-progress>i{height:4px}.mq-speed-rival-progress>small{font-size:5.6px}
  .mq-speed-rival-coach{padding:4px 5px;font-size:5.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mq-speed-rival-feed{gap:2px}.mq-speed-rival-feed-item{padding:3px 4px;font-size:5.3px}
  .mq-speed-rival-feed-item:nth-child(n+3){display:none}
  .mq-speed-rival-mini-stats{display:none}
  .mq-speed-rival-mini-wrap{padding:17px 3px 4px}
  .mq-speed-local-board{gap:3px}
}
@media(max-width:350px){
  .mq-speed-play-zone{grid-template-rows:110px minmax(0,1fr);gap:3px}
  .mq-speed-rival-dock{grid-template-columns:minmax(0,1fr) 94px;padding:5px;column-gap:4px}
  .mq-speed-rival-dock>header .mq-speed-rival-panel-avatar{width:27px;height:27px}
  .mq-speed-rival-feed-item:nth-child(n+2){display:none}
  .mq-speed-rival-coach{display:none}
  .mq-speed-rival-dock{grid-template-rows:auto auto minmax(22px,1fr);grid-template-areas:"rival-head rival-window" "rival-progress rival-window" "rival-feed rival-window"}
}
@media(max-height:650px) and (orientation:portrait){
  .mq-speed-play-zone{grid-template-rows:108px minmax(0,1fr)}
  .mq-speed-rival-dock{padding:5px;row-gap:2px}
  .mq-speed-rival-coach{display:none}
  .mq-speed-rival-feed-item:nth-child(n+2){display:none}
  .mq-speed-rival-dock{grid-template-rows:auto auto minmax(20px,1fr) auto;grid-template-areas:"rival-head rival-window" "rival-progress rival-window" "rival-feed rival-window" "rival-stats rival-window"}
  .mq-speed-rival-mini-stats{display:grid}
}
@media(orientation:landscape){
  .mq-speed-play-zone{grid-template-rows:clamp(92px,30vh,142px) minmax(0,1fr)}
  .mq-speed-rival-dock{grid-template-columns:minmax(0,1fr) clamp(150px,27vw,230px)}
  .mq-speed-rival-feed-item:nth-child(n+3){display:none}
}
.mq-speed-rival-feed-item{grid-template-columns:6px minmax(0,1fr) auto!important;align-items:center!important}
.mq-speed-rival-feed-item time{font-size:clamp(5px,1.2vw,7px);font-variant-numeric:tabular-nums;font-weight:800;opacity:.45;white-space:nowrap}
.mq-speed-rival-feed-item{grid-template-columns:6px minmax(0,1fr) auto!important;align-items:center!important}
.mq-speed-rival-feed-item time{font-size:clamp(5px,1.2vw,7px);font-variant-numeric:tabular-nums;font-weight:800;opacity:.45;white-space:nowrap}

/* Duel Flash Ultra v185 — retournement 110 ms, lecture 140 ms et pipeline jusqu’à 3 paires. */

/* Duel Flash V7.1 — one 3D rotation surface, theme effects on faces only. */
.mq-shell[data-skin] .mq-speed-local-board .mq-card {
  transform-style:preserve-3d!important;-webkit-transform-style:preserve-3d!important;
  filter:none!important;opacity:1!important;overflow:visible!important;contain:none!important;
  isolation:auto!important;clip-path:none!important;mix-blend-mode:normal!important;
  transform:rotateY(0deg);transition:transform 110ms cubic-bezier(.18,.78,.18,1)!important;
  animation:none!important;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-open,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-done {transform:rotateY(180deg)}
.mq-shell[data-skin] .mq-speed-local-board .mq-card > .mq-face {
  backface-visibility:hidden!important;-webkit-backface-visibility:hidden!important;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card > .mq-back {transform:rotateY(0deg) translateZ(.1px)}
.mq-shell[data-skin] .mq-speed-local-board .mq-card > .mq-front {transform:rotateY(180deg) translateZ(.1px)}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-server-pending::after {content:none}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-server-pending > .mq-front {
  outline:1px solid color-mix(in srgb,var(--mq-online-accent,var(--turq-2)) 45%,transparent);outline-offset:-2px;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-match-pulse {animation:mq-speed-confirm-v68 280ms cubic-bezier(.2,.8,.2,1)!important}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-wrong {animation:mq-speed-miss-v68 180ms ease-out!important}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-done > .mq-front {
  outline:2px solid var(--mq-game-match,var(--mq-online-accent,var(--turq-2)));outline-offset:-2px;
}
@keyframes mq-speed-confirm-v68 {0%,100%{scale:1}45%{scale:1.045}}
@keyframes mq-speed-miss-v68 {0%,100%{translate:0}35%{translate:-1.5px}70%{translate:1.5px}}
.mq-speed-duel.is-paused *,.mq-speed-duel.is-paused::before,.mq-speed-duel.is-paused::after {animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce) {
 .mq-shell[data-skin] .mq-speed-local-board .mq-card.is-match-pulse,
 .mq-shell[data-skin] .mq-speed-local-board .mq-card.is-wrong {animation:none!important}
}
.mq-shell[data-motion="calme"] .mq-speed-local-board .mq-card.is-match-pulse,
.mq-shell[data-motion="calme"] .mq-speed-local-board .mq-card.is-wrong {animation:none!important}
.mq-speed-rival-dock .mq-speed-rival-mini-wrap {box-sizing:border-box;min-height:0!important;padding:5px!important}
@media(prefers-reduced-motion:reduce){
 .mq-speed-live-dot,.mq-speed-rival-dock,.mq-speed-rival-coach,.mq-speed-score-burst {animation:none!important}
 .mq-speed-local-board .mq-card>.mq-front::before,.mq-speed-local-board .mq-card>.mq-back::after {animation:none!important}
}


/* 6.43.1 — Duel Flash result pages supplied by the product design. */
.mq-speed-html-result{position:fixed;inset:0;z-index:50;width:100%;height:100dvh;background:#eef8f6;overflow:hidden;overscroll-behavior:none;}
.mq-speed-html-result[hidden]{display:none!important;}
.mq-speed-html-result iframe{display:block;width:100%;height:100%;border:0;background:#eef8f6;overflow:hidden;}
.mq-speed-result-proxy{display:none!important;}
body.mq-speed-duel-active .mq-speed-html-result{padding:0!important;margin:0!important;}
\n\n/* 6.43.1 / Duel Flash V7.1 — fluidité multi-touch + vraies faces des paires adverses trouvées. */
.mq-shell[data-skin] .mq-speed-local-board .mq-card{
  will-change:transform;contain:layout style;transform-origin:50% 50%;
  -webkit-tap-highlight-color:transparent;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-pressing{
  scale:.985;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-speed-tap{
  scale:.992;
}
.mq-speed-rival-card{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;will-change:transform;contain:layout style;}
.mq-speed-rival-card>.mq-face{position:absolute;inset:0;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;}
.mq-speed-rival-card>.mq-back{transform:rotateY(0deg) translateZ(.1px)}
.mq-speed-rival-card>.mq-front{transform:rotateY(180deg) translateZ(.1px);display:grid;place-items:center;background:color-mix(in srgb,var(--mq-online-panel-strong,var(--surface)) 94%,transparent);border:1px solid color-mix(in srgb,var(--speed-rival) 30%,transparent)}
.mq-speed-rival-card>.mq-front img{width:100%;height:100%;object-fit:cover;display:block}
.mq-speed-rival-card>.mq-front span{font-size:5px;font-weight:900;line-height:1;text-align:center;padding:2px;color:var(--encre)}
.mq-speed-rival-card.is-done,.mq-speed-rival-card.is-revealed{transform:rotateY(180deg)!important;opacity:1!important;filter:none!important}
.mq-speed-rival-card.is-done>.mq-back{box-shadow:none!important}
.mq-speed-rival-card.is-reveal-pending{opacity:.72}
.mq-speed-rival-card.is-rival-match-pop{animation:mq-speed-rival-reveal-v70 320ms cubic-bezier(.18,.82,.2,1)}
@keyframes mq-speed-rival-reveal-v70{0%{scale:.92;filter:brightness(1)}45%{scale:1.06;filter:brightness(1.2)}100%{scale:1;filter:none}}
@media(prefers-reduced-motion:reduce){.mq-speed-rival-card.is-rival-match-pop{animation:none!important}.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-pressing,.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-speed-tap{scale:1!important}}

/* ==========================================================================
   MemoMilo 6.43.2 — Duel Flash V7.2
   Revanche premium plein écran + composants natifs propres sur tous les thèmes.
   ========================================================================== */
.mq-view.is-rematch-stage{position:relative;overflow:hidden!important}
.mq-rematch-stage{position:absolute;z-index:70;inset:0;display:grid;place-items:center;overflow:hidden;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--mq-bg);color:var(--mq-text);isolation:isolate}
.mq-rematch-stage-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--mq-accent) 22%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--mq-bg) 92%,#000 8%),var(--mq-bg))}
.mq-rematch-stage-bg::before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(color-mix(in srgb,var(--mq-accent) 13%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--mq-accent) 10%,transparent) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 76%)}
.mq-rematch-stage-bg>i{position:absolute;border-radius:50%;filter:blur(4px);opacity:.34;background:var(--mq-accent)}
.mq-rematch-stage-bg>i:nth-child(1){width:150px;height:150px;left:-80px;top:18%}
.mq-rematch-stage-bg>i:nth-child(2){width:110px;height:110px;right:-50px;top:8%;opacity:.22}
.mq-rematch-stage-bg>i:nth-child(3){width:180px;height:180px;right:12%;bottom:-120px;opacity:.16}
.mq-rematch-card{width:min(100%,620px);display:grid;gap:14px;padding:18px;border-radius:30px;background:linear-gradient(155deg,color-mix(in srgb,var(--mq-surface-raised) 94%,transparent),color-mix(in srgb,var(--mq-surface) 92%,transparent));border:1px solid color-mix(in srgb,var(--mq-accent) 23%,var(--mq-border));box-shadow:0 24px 70px color-mix(in srgb,var(--mq-bg) 62%,rgba(0,0,0,.34)),inset 0 1px 0 color-mix(in srgb,var(--mq-text) 7%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:mq-rematch-v71-in .42s cubic-bezier(.16,.88,.2,1.04) both}
.mq-rematch-hero{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;text-align:left}
.mq-rematch-hero-icon{width:52px;aspect-ratio:1;border-radius:18px;display:grid;place-items:center;color:var(--mq-button-text);background:linear-gradient(145deg,var(--mq-button-bg),color-mix(in srgb,var(--mq-button-bg) 72%,var(--mq-accent)));box-shadow:0 10px 28px color-mix(in srgb,var(--mq-accent) 26%,transparent)}
.mq-rematch-hero-icon svg{width:27px;height:27px}
.mq-rematch-hero small,.mq-rematch-card>small{display:block;color:var(--mq-accent-strong);font-size:.58rem;font-weight:1000;letter-spacing:.13em}
.mq-rematch-hero h2,.mq-rematch-card>h2{margin:3px 0 0;color:var(--mq-text);font-size:clamp(1.12rem,4.8vw,1.5rem);line-height:1.02;letter-spacing:-.025em;font-weight:1000}
.mq-rematch-hero p,.mq-rematch-card>p{margin:5px 0 0;color:var(--mq-text-secondary);font-size:.7rem;line-height:1.35;font-weight:700}
.mq-rematch-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mq-rematch-choice{min-width:0;display:grid;gap:5px;text-align:left}
.mq-rematch-choice>span{padding-left:2px;color:var(--mq-text-secondary);font-size:.57rem;font-weight:1000;letter-spacing:.09em}
.mq-rematch-choice>small{padding-left:2px;color:var(--mq-text-muted);font-size:.55rem;font-weight:700}
.mq-rematch-control{position:relative;min-width:0}
.mq-rematch-control select{appearance:none!important;-webkit-appearance:none!important;width:100%;min-width:0;height:52px;padding:0 42px 0 13px;border:1px solid var(--mq-border)!important;border-radius:16px!important;outline:0;background:color-mix(in srgb,var(--mq-surface-soft) 92%,transparent)!important;background-image:none!important;color:var(--mq-text)!important;font:850 .76rem/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:inset 0 1px 0 color-mix(in srgb,var(--mq-text) 5%,transparent)!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.mq-rematch-control select:focus{border-color:var(--mq-border-active)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--mq-accent) 14%,transparent)!important}
.mq-rematch-control>i{pointer-events:none;position:absolute;right:12px;top:50%;width:24px;height:24px;margin-top:-12px;display:grid;place-items:center;border-radius:9px;color:var(--mq-accent-strong);background:color-mix(in srgb,var(--mq-accent) 10%,var(--mq-surface-raised));transform:rotate(90deg)}
.mq-rematch-control>i svg{width:14px;height:14px}
.mq-rematch-ready-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:8px 11px;border-radius:14px;background:color-mix(in srgb,var(--mq-success) 7%,var(--mq-surface-soft));border:1px solid color-mix(in srgb,var(--mq-success) 22%,var(--mq-border));font-size:.61rem;font-weight:800}
.mq-rematch-ready-strip span{display:flex;align-items:center;gap:7px;color:var(--mq-text)}
.mq-rematch-ready-strip span>i{width:8px;height:8px;border-radius:50%;background:var(--mq-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--mq-success) 12%,transparent),0 0 14px color-mix(in srgb,var(--mq-success) 52%,transparent)}
.mq-rematch-ready-strip b{color:var(--mq-text-muted);font-size:.58rem}
.mq-rematch-primary{min-height:54px;border:0;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--mq-button-text);background:linear-gradient(135deg,var(--mq-button-bg),color-mix(in srgb,var(--mq-button-bg) 72%,var(--mq-accent)));box-shadow:0 7px 0 var(--mq-button-edge),0 18px 34px color-mix(in srgb,var(--mq-accent) 20%,transparent);font-size:.85rem;font-weight:1000;letter-spacing:-.01em;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.mq-rematch-primary:active{transform:translateY(4px);box-shadow:0 3px 0 var(--mq-button-edge),0 10px 22px color-mix(in srgb,var(--mq-accent) 18%,transparent)}
.mq-rematch-primary:disabled{opacity:.68;filter:saturate(.65);pointer-events:none}
.mq-rematch-primary svg{width:18px;height:18px}
.mq-rematch-primary.is-loading svg{animation:mq-rematch-v71-spin .7s linear infinite}
.mq-rematch-error{min-height:1em!important;margin:-2px 0 0!important;color:var(--mq-error)!important;text-align:center;font-size:.62rem!important;font-weight:800!important}
.mq-rematch-card.is-waiting{width:min(100%,500px);justify-items:center;text-align:center;padding:26px 20px 22px;gap:10px}
.mq-rematch-wait-icon{position:relative;width:72px;aspect-ratio:1;border-radius:25px;display:grid;place-items:center;margin-bottom:4px;color:var(--mq-button-text);background:linear-gradient(145deg,var(--mq-success),color-mix(in srgb,var(--mq-success) 64%,var(--mq-accent)));box-shadow:0 16px 34px color-mix(in srgb,var(--mq-success) 24%,transparent)}
.mq-rematch-wait-icon svg{width:36px;height:36px}
.mq-rematch-wait-icon>i{position:absolute;inset:-8px;border-radius:31px;border:1px solid color-mix(in srgb,var(--mq-success) 38%,transparent);animation:mq-rematch-v71-ring 1.8s ease-out infinite}
.mq-rematch-card.is-waiting>p{max-width:390px;font-size:.76rem}
.mq-rematch-sync{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:11px 12px;margin-top:7px;border-radius:16px;background:var(--mq-surface-soft);border:1px solid var(--mq-border);text-align:left}
.mq-rematch-sync>i{width:9px;height:9px;border-radius:50%;background:var(--mq-accent);box-shadow:0 0 14px color-mix(in srgb,var(--mq-accent) 58%,transparent);animation:mq-rematch-v71-pulse 1.1s ease-in-out infinite}
.mq-rematch-sync>span{font-size:.67rem;font-weight:900;color:var(--mq-text)}
.mq-rematch-sync>b{font-size:.55rem;font-weight:750;color:var(--mq-text-muted)}
.mq-rematch-wait-dots{display:flex;gap:6px;margin-top:3px}
.mq-rematch-wait-dots i{width:7px;height:7px;border-radius:50%;background:var(--mq-accent);animation:mq-rematch-v71-dot 1s ease-in-out infinite}
.mq-rematch-wait-dots i:nth-child(2){animation-delay:.12s}.mq-rematch-wait-dots i:nth-child(3){animation-delay:.24s}
@keyframes mq-rematch-v71-in{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:none}}
@keyframes mq-rematch-v71-ring{0%{opacity:.55;transform:scale(.86)}100%{opacity:0;transform:scale(1.18)}}
@keyframes mq-rematch-v71-pulse{50%{opacity:.35;transform:scale(.82)}}
@keyframes mq-rematch-v71-dot{0%,100%{opacity:.28;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes mq-rematch-v71-spin{to{transform:rotate(360deg)}}
@media(max-width:560px){
 .mq-rematch-card{padding:15px;border-radius:25px;gap:11px}.mq-rematch-choice-grid{grid-template-columns:1fr;gap:8px}.mq-rematch-choice{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:8px}.mq-rematch-choice>span{font-size:.55rem;padding:0}.mq-rematch-choice>small{display:none}.mq-rematch-control select{height:49px;font-size:.75rem}.mq-rematch-ready-strip{min-height:34px}.mq-rematch-primary{min-height:51px}
}
@media(max-width:380px) and (max-height:690px){
 .mq-rematch-stage{padding:8px}.mq-rematch-card{padding:12px;gap:8px;border-radius:22px}.mq-rematch-hero{grid-template-columns:44px minmax(0,1fr);gap:9px}.mq-rematch-hero-icon{width:44px;border-radius:15px}.mq-rematch-hero h2{font-size:1.05rem}.mq-rematch-hero p{font-size:.62rem}.mq-rematch-control select{height:45px}.mq-rematch-primary{min-height:47px}.mq-rematch-ready-strip{padding-block:6px}.mq-rematch-card.is-waiting{padding:20px 14px}.mq-rematch-wait-icon{width:62px;border-radius:21px}
}
@media(prefers-reduced-motion:reduce){.mq-rematch-stage *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ========================================================================== 
   MemoMilo 6.43.2 — Duel Flash V7.2 REMATCH WHITE-SCREEN HOTFIX
   The rematch stage is now a dedicated shell overlay, not a child of the
   result iframe view. This prevents stale Android WebView compositor layers
   and guarantees a full-viewport transition between result and next round.
   ========================================================================== */
.mq-shell[data-rematch-overlay="1"]{overflow:hidden!important;isolation:isolate}
.mq-shell[data-rematch-overlay="1"] .mq-app{pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important}
.mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  pointer-events:auto!important;
  touch-action:manipulation;
  padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))!important;
  background:var(--mq-bg,#0b4d5e)!important;
  color:var(--mq-text,#fff)!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  contain:layout paint style;
}
.mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage::after{
  content:"";position:absolute;inset:0;z-index:-3;pointer-events:none;
  background:linear-gradient(180deg,color-mix(in srgb,var(--mq-bg,#0b4d5e) 96%,#000 4%),var(--mq-bg,#0b4d5e));
}
.mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage .mq-rematch-card{pointer-events:auto}
.mq-rematch-stage.is-transitioning .mq-rematch-card{filter:saturate(.94)}
.mq-rematch-stage.is-transitioning .mq-rematch-primary{cursor:wait}
@supports not (height:100dvh){.mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage{height:100vh!important}}
@media(max-width:380px) and (max-height:690px){
  .mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage{padding:8px!important}
}

/* Duel Flash: pointer input belongs to the board; no pinch/click synthesis. */
.mq-speed-local-board [data-speed-card]{touch-action:none;}

/* 6.43.6: one rotation only; input/ACK must never move or resize a card. */
.mq-shell[data-skin] .mq-speed-local-board .mq-card,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-pressing,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-speed-tap,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-match-pulse,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-wrong {
  scale:1!important;translate:none!important;rotate:none!important;
  animation:none!important;
  transition:transform 110ms cubic-bezier(.18,.78,.18,1)!important;
  transform-origin:50% 50%!important;
}
.mq-shell[data-skin] .mq-speed-local-board .mq-card:not(.is-open):not(.is-done){transform:rotateY(0deg)!important;}
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-open,
.mq-shell[data-skin] .mq-speed-local-board .mq-card.is-done{transform:rotateY(180deg)!important;}
/* Dense boards: keep readable faces and match outlines, remove recurring glints. */
.mq-shell[data-skin] .mq-speed-local-board[data-speed-dense="true"] .mq-face,
.mq-shell[data-skin] .mq-speed-local-board[data-speed-dense="true"] .mq-face img {
  animation:none!important;filter:none!important;backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.mq-shell[data-skin] .mq-speed-local-board[data-speed-dense="true"] .mq-face {
  box-shadow:0 1px 3px rgba(0,0,0,.12)!important;
}
.mq-shell[data-skin] .mq-speed-local-board[data-speed-dense="true"] .mq-face::before,
.mq-shell[data-skin] .mq-speed-local-board[data-speed-dense="true"] .mq-face::after {
  animation:none!important;filter:none!important;box-shadow:none!important;
}

/* APK HF3: steady compositor workload for every Duel Flash board size. */
.mq-shell[data-skin] .mq-speed-duel::before,
.mq-shell[data-skin] .mq-speed-duel::after,
.mq-shell[data-skin] .mq-speed-board-wrap::before,
.mq-shell[data-skin] .mq-speed-board-wrap::after {animation:none!important;filter:none!important;}
.mq-speed-lines{display:none!important;}
.mq-shell[data-skin] .mq-speed-board-wrap {box-shadow:none!important;}
.mq-shell[data-skin] .mq-speed-hud,
.mq-shell[data-skin] .mq-speed-rival-dock,
.mq-shell[data-skin] .mq-speed-board-wrap {backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.mq-shell[data-skin] .mq-speed-local-board .mq-face,
.mq-shell[data-skin] .mq-speed-local-board .mq-face img {animation:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.mq-shell[data-skin] .mq-speed-local-board .mq-face {box-shadow:0 1px 3px rgba(0,0,0,.12)!important;}
.mq-shell[data-skin] .mq-speed-local-board .mq-face::before,
.mq-shell[data-skin] .mq-speed-local-board .mq-face::after {animation:none!important;filter:none!important;box-shadow:none!important;}
.mq-shell[data-skin] .mq-speed-local-board .mq-card {transition:transform 110ms cubic-bezier(.18,.78,.18,1)!important;}
.mq-speed-rival-dock.is-pulsing,.mq-speed-rival-card.is-rival-match-pop {animation:none!important;}
/* HF4: isolated opacity/transform feedback; board geometry stays fixed. */
.mq-speed-hud,.mq-speed-rival-dock{isolation:isolate}
.mq-speed-hud{position:relative}
.mq-speed-hud::after,.mq-speed-rival-dock::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0}
.mq-hf4-danger .mq-speed-hud::after,.mq-hf4-danger .mq-speed-rival-dock::after{background:rgba(220,30,57,.26);border:2px solid #ff536b;animation:mq-hf4-alarm 1.4s ease-in-out infinite!important}
.mq-hf4-danger [data-hf4-rival-score],.mq-hf4-danger [data-speed-rival-score],.mq-hf4-danger [data-speed-rival-percent]{color:#f43f5e!important}
.mq-hf4-rival-score{display:block;font-size:10px;font-weight:800;line-height:1.25}
.mq-hf4-rival-score b{font-size:13px;font-variant-numeric:tabular-nums}
.mq-hf4-motivation{display:block;font-size:clamp(9px,2.4vw,13px);line-height:1.3;color:#13764f;transform-origin:left center}
.mq-hf4-motivation[hidden]{display:none}
.mq-hf4-sprint .mq-hf4-motivation{animation:mq-hf4-drive 1.3s ease-in-out infinite}
.mq-hf4-last .mq-hf4-motivation{animation-duration:.85s}
.mq-hf4-sprint .mq-speed-combo{border:2px solid #20c997!important;background:#123f36!important;color:#b8ffe0!important}
.mq-hf4-sprint .mq-speed-combo::after{content:"";position:absolute;inset:-5px;border:2px solid #20c997;border-radius:inherit;pointer-events:none;animation:mq-hf4-ring 1.3s ease-out infinite}
.mq-hf4-sprint .mq-speed-combo{position:relative}
.mq-hf4-last .mq-speed-combo::after{animation-duration:.85s}
.mq-hf4-category{display:none;text-align:center;max-width:90%;padding:24px;border-radius:24px;background:#102b3e;color:#fff;box-shadow:0 12px 32px #0003}
.mq-hf4-category small,.mq-hf4-category span{display:block;font-size:12px;letter-spacing:.1em;color:#b8e6ee}
.mq-hf4-category strong{display:block;font-size:clamp(24px,8vw,42px);margin:12px 0;overflow-wrap:anywhere}
.mq-speed-stage[data-stage-phase="intro"] .mq-hf4-category,.mq-speed-stage[data-stage-phase="waiting-ready"] .mq-hf4-category{display:block;animation:mq-hf4-arrive .4s ease-out both}
.mq-speed-stage[data-stage-phase="intro"] .mq-speed-count,.mq-speed-stage[data-stage-phase="waiting-ready"] .mq-speed-count{display:none}
.mq-speed-stage[data-stage-phase="countdown"] .mq-hf4-category{display:block;position:absolute;top:18%;padding:8px 18px;box-shadow:none}
.mq-speed-stage[data-stage-phase="countdown"] .mq-hf4-category strong{font-size:20px;margin:3px}
.mq-speed-stage[data-stage-phase="countdown"] .mq-hf4-category small,.mq-speed-stage[data-stage-phase="countdown"] .mq-hf4-category span{display:none}
@keyframes mq-hf4-alarm{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes mq-hf4-drive{0%,100%{opacity:.75;transform:translateX(0)}50%{opacity:1;transform:translateX(3px)}}
@keyframes mq-hf4-ring{from{opacity:.85;transform:scale(.95)}to{opacity:0;transform:scale(1.2)}}
@keyframes mq-hf4-arrive{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mq-hf4-danger .mq-speed-hud::after,.mq-hf4-danger .mq-speed-rival-dock::after{animation:none!important;opacity:.6}.mq-hf4-motivation,.mq-hf4-category,.mq-hf4-sprint .mq-speed-combo::after{animation:none!important}}
.mq-speed-foot{position:relative}
.mq-hf4-motivation{position:absolute;bottom:calc(100% + 4px);left:4px;max-width:calc(100% - 8px);padding:4px 9px;border-radius:8px;background:#123f36;color:#c7ffe1;pointer-events:none;z-index:3}
.mq-speed-rival-dock{position:relative}


/* Alerte Duel Flash : le rouge suit le pourtour, centre et cartes restent lisibles. */
.mq-speed-global-danger {
  position: absolute; inset: 0; z-index: 20; pointer-events: none; overflow: hidden;
  opacity: 0; contain: paint; will-change: opacity;
  background:
    linear-gradient(180deg, rgba(184,7,28,.82), rgba(251,42,65,.48) 11px, transparent 40px) top/100% 42px no-repeat,
    linear-gradient(90deg, rgba(150,5,28,.75), rgba(243,30,53,.38) 13px, transparent 57px) left/58px 100% no-repeat,
    linear-gradient(270deg, rgba(150,5,28,.75), rgba(243,30,53,.38) 13px, transparent 57px) right/58px 100% no-repeat,
    linear-gradient(180deg, rgba(150,5,28,.7), rgba(243,30,53,.34) 13px, transparent 54px) top/100% 55px no-repeat,
    linear-gradient(0deg, rgba(150,5,28,.7), rgba(243,30,53,.34) 13px, transparent 54px) bottom/100% 55px no-repeat;
}
.mq-speed-global-danger::before {
  content: ''; position: absolute; inset: 1px; pointer-events: none;
  border: 3px solid #ff4969; border-radius: 12px;
  box-shadow: inset 0 0 16px #f72151a3, inset 0 0 32px #f7215159, 0 0 19px #ff3659bd;
}
.mq-speed-global-danger::after {
  content: ''; position: absolute; inset: 5px; pointer-events: none;
  border: 1px solid #ffbdc779; border-radius: 9px;
  box-shadow: inset 0 0 12px #ff527344;
}
.mq-speed-global-danger > i {
  position: absolute; inset: 0; display: block; pointer-events: none;
  background: radial-gradient(ellipse 50% 26px at 50% 0, #ff6a8180, transparent 85%),
    radial-gradient(ellipse 50% 26px at 50% 100%, #ff6a8180, transparent 85%);
}
.mq-speed-global-danger > b {
  position: absolute; left: 12px; right: 12px; top: 1px; height: 4px; border-radius: 999px;
  background: linear-gradient(90deg, #ff4969, #ffd4dd 17%, #ff385c 50%, #ffd4dd 83%, #ff4969);
  box-shadow: 0 0 15px #ff355a, 0 4px 18px #ff355a99; pointer-events: none;
}
.mq-speed-duel[data-rival-danger="low"] .mq-speed-global-danger { animation: mq-premium-danger-low 2.1s ease-in-out infinite; }
.mq-speed-duel[data-rival-danger="high"] .mq-speed-global-danger { animation: mq-premium-danger-high 1.35s ease-in-out infinite; }
.mq-speed-duel[data-rival-danger="critical"] .mq-speed-global-danger { animation: mq-premium-danger-critical .9s ease-in-out infinite; }
@keyframes mq-premium-danger-low { 0%,100% { opacity: .28; } 50% { opacity: .51; } }
@keyframes mq-premium-danger-high { 0%,100% { opacity: .46; } 50% { opacity: .78; } }
@keyframes mq-premium-danger-critical { 0%,100% { opacity: .64; } 50% { opacity: 1; } }
.mq-speed-duel[data-rival-danger] .mq-speed-hud::after,
.mq-speed-duel[data-rival-danger] .mq-speed-rival-dock::after { display: none !important; }
.mq-shell[data-motion="calme"] .mq-speed-duel[data-rival-danger] .mq-speed-global-danger { animation: none !important; opacity: .48; }
@media (prefers-reduced-motion: reduce) {
  .mq-speed-duel[data-rival-danger] .mq-speed-global-danger { animation: none !important; opacity: .5 !important; }
}

/* Grand plateau : un retournement net pour les six thèmes, sans transformation concurrente. */
.mq-shell[data-skin] .mq-board[data-dense="true"] .mq-card {
  transition: transform .24s cubic-bezier(.2,.78,.2,1);
}
.mq-shell[data-skin] .mq-board:not(.mq-speed-local-board) .mq-card {
  transition-duration: .31s;
}
.mq-shell[data-skin] .mq-board[data-dense="true"] .mq-card {
  transition-duration: .24s;
}
.mq-shell[data-skin] .mq-board:not(.mq-speed-local-board) .mq-card.is-wrong {
  animation: none;
}
.mq-shell[data-skin] .mq-board[data-dense="true"].is-dealing .mq-card,
.mq-shell[data-skin] .mq-board[data-dense="true"] .mq-card.is-done {
  animation: none;
}
.mq-shell[data-skin] .mq-board[data-dense="true"] .mq-face::before,
.mq-shell[data-skin] .mq-board[data-dense="true"] .mq-face::after {
  animation: none !important;
}
.mq-card-preview-layer.is-dense {
  transition: transform .25s cubic-bezier(.22,.82,.2,1), opacity .16s ease-out;
}
.mq-card-preview-layer:not(.is-dense) { transition-duration: .29s, .16s; }




.mq-tp-draw-premium{margin-top:6px}
.mq-tp-draw-roulette{position:relative;display:grid;place-items:center;min-height:250px;width:100%}
.mq-tp-draw-flare{position:absolute;width:184px;height:184px;border-radius:50%;background:radial-gradient(circle,rgba(26,191,213,.26),rgba(26,191,213,0) 67%);filter:blur(8px);animation:tp-pulse 2.4s ease-in-out infinite}
.mq-tp-draw-pointer{position:absolute;top:18px;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:22px solid #12a8d7;filter:drop-shadow(0 10px 16px rgba(12,44,76,.18))}
.mq-tp-draw-vs-badge{position:absolute;bottom:26px;display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:34px;padding:0 14px;border-radius:999px;background:linear-gradient(135deg,#0f8ed3,#16c4ce);color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:0 12px 24px rgba(16,144,206,.26)}
.mq-tp-draw-timer{position:absolute;right:8px;bottom:18px;background:rgba(255,255,255,.92);border:1px solid rgba(16,144,206,.14);box-shadow:0 14px 28px rgba(8,39,66,.08);border-radius:18px;padding:12px 14px;min-width:92px}
.mq-tp-draw-timer strong{display:block;font-size:30px;line-height:1;font-weight:900;color:var(--mq-ink)}
.mq-tp-draw-timer small{display:block;margin-top:4px;color:var(--mq-muted)}
.mq-tp-vs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%;margin-top:18px;text-align:left}
.mq-tp-vs-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:22px;background:linear-gradient(180deg,#ffffff,#f6fbfc);border:1px solid rgba(16,144,206,.12);box-shadow:0 14px 28px rgba(9,43,73,.07)}
.mq-tp-vs-chip.mq-tp-mine{border-color:rgba(198,152,36,.45);box-shadow:0 18px 32px rgba(198,152,36,.14)}
.mq-tp-vs-chip>b{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border-radius:999px;background:linear-gradient(135deg,#0f8ed3,#16c4ce);color:#fff;font-size:13px;letter-spacing:.08em;box-shadow:0 10px 18px rgba(16,144,206,.25)}
.mq-tp-vs-side{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.mq-tp-vs-side strong{display:block;font-size:15px;line-height:1.25;white-space:normal;word-break:break-word}
.mq-tp-launch-card{margin-top:10px;padding:18px;border-radius:28px;background:linear-gradient(180deg,#ffffff,#f4fbfc);border:1px solid rgba(16,144,206,.14);box-shadow:0 22px 44px rgba(10,44,74,.1)}
.mq-tp-launch-wheel{position:relative;display:grid;place-items:center;height:178px;margin-bottom:8px}
.mq-tp-launch-wheel-ring{width:170px;height:170px;border-radius:50%;border:2px dashed rgba(16,144,206,.28);animation:tp-orbit 8s linear infinite}
.mq-tp-launch-wheel-core{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:82px;height:82px;border-radius:50%;background:linear-gradient(135deg,#0f8ed3,#16c4ce);color:#fff;font-size:24px;font-weight:900;box-shadow:0 16px 32px rgba(16,144,206,.28)}
.mq-tp-launch-spark{position:absolute;width:14px;height:14px;border-radius:50%;background:#ffc44f;box-shadow:0 0 0 10px rgba(255,196,79,.12);animation:tp-pulse 1.8s ease-in-out infinite}
.mq-tp-launch-spark.s1{top:30px;left:calc(50% - 88px)}
.mq-tp-launch-spark.s2{top:42px;right:calc(50% - 94px);animation-delay:.3s}
.mq-tp-launch-spark.s3{bottom:24px;left:50%;margin-left:-7px;animation-delay:.6s}
.mq-tp-launch-versus{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.mq-tp-launch-player{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.mq-tp-launch-player strong{font-size:18px;line-height:1.25;text-align:center;word-break:break-word}
.mq-tp-launch-player small{color:var(--mq-muted);text-align:center}
.mq-tp-launch-score{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:58px;border-radius:999px;background:linear-gradient(135deg,#133d6f,#0f8ed3);color:#fff;font-weight:900;letter-spacing:.08em;box-shadow:0 14px 28px rgba(16,144,206,.22)}
.mq-tp-launch-meter{height:10px;margin:18px 0 10px;border-radius:999px;background:rgba(16,144,206,.08);overflow:hidden}
.mq-tp-launch-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(135deg,#16c4ce,#0f8ed3);box-shadow:0 4px 14px rgba(16,144,206,.22)}
@media (max-width:560px){.mq-tp-vs-grid{grid-template-columns:1fr}.mq-tp-vs-chip{padding:12px}.mq-tp-launch-versus{grid-template-columns:1fr;gap:10px}.mq-tp-launch-score{margin:0 auto}}


@keyframes tp-pulse{0%,100%{transform:scale(.94);opacity:.7}50%{transform:scale(1.05);opacity:1}}

/* MemoMilo v192 — état interactif et accessible de création de tournoi. */
.mq-tp-submit-spinner{display:inline-block;width:19px;height:19px;vertical-align:middle;flex:0 0 19px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:mq-tp-submit-spin .8s linear infinite;margin-right:7px}
@keyframes mq-tp-submit-spin{to{transform:rotate(360deg)}}
.mq-tp .mq-tp-foot .mq-tp-primary.is-loading{opacity:1;cursor:progress;filter:none}
.mq-tp .mq-tp-identity .mq-form-error.mq-tp-network-error{display:block;line-height:1.55;color:#87452a;background:#fff4eb;border:1px solid #e8c9ad;border-radius:14px;padding:12px 14px;margin-top:12px;font-weight:650;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.mq-tp-submit-spinner{animation-duration:2s}}

/* v193 — boutons du tournoi : texte centré et pictogramme hors du libellé.
   Un texte nu n'est pas un élément DOM : l'ancienne règle :first-child
   déplaçait la seule icône au début et chevauchait « Jouer ».
*/
.mq-tp .mq-tp-primary { position:relative; padding-inline:48px; }
.mq-tp .mq-tp-primary > .mq-tp-primary-label { position:relative; z-index:1; display:block; min-width:0; max-width:100%; text-align:center; line-height:1.25; overflow-wrap:anywhere; }
.mq-tp .mq-tp-primary > .mq-tp-ic:only-child {left:auto!important;right:18px!important;top:50%;transform:translateY(-50%);margin-top:0!important;pointer-events:none;flex-shrink:0;}
.mq-tp .mq-tp-primary[data-tn-play] > .mq-tp-ic {left:auto!important;right:16px!important;top:50%;transform:translateY(-50%);margin-top:0!important;pointer-events:none;}
.mq-tp .mq-tp-match-card .mq-tp-primary.mq-tp-play-button {width:100%;min-height:48px;padding:11px 42px;font-size:13px;border-radius:16px;}
.mq-tp .mq-tp-foot .mq-tp-primary[data-tn-play] {min-height:60px;padding-inline:54px;font-size:17px;}
@media(max-width:360px){.mq-tp .mq-tp-match-card .mq-tp-primary.mq-tp-play-button{font-size:12px;padding-inline:37px}.mq-tp .mq-tp-foot .mq-tp-primary[data-tn-play]{font-size:15px}}
@media(prefers-reduced-motion:reduce){.mq-tp .mq-tp-primary:after{animation:none}}

/* MemoMilo — création tournoi V3 : source Work adaptée et scoped */
.mq-v3-create{color-scheme:light;--ink:#153d47;--muted:#69818a;--line:#d9eaeb;--teal:#087f91;--cyan:#14b8ca;--blue:#176fba;--gold:#d7a444;--surface:#fff;--wash:#eff9f8;--shadow:0 12px 34px rgba(16,82,96,.075);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.mq-v3-create *{box-sizing:border-box}
.mq-v3-create button,.mq-v3-create input{font:inherit}
.mq-v3-create button{cursor:pointer}
.mq-v3-create button:disabled{cursor:not-allowed}
.mq-v3-create button,.mq-v3-create input{-webkit-tap-highlight-color:transparent}
.mq-v3-create button:focus-visible,.mq-v3-create input:focus-visible,.mq-v3-create a:focus-visible{outline:3px solid #ffbd60;outline-offset:3px}
.mq-v3-create svg{display:block;flex:none}
.mq-v3-create p,.mq-v3-create h1,.mq-v3-create h2,.mq-v3-create h3{margin:0}
.mq-v3-create a{color:var(--teal)}
.mq-v3-create .app{width:min(100%,780px);min-height:100vh;margin:auto;background:linear-gradient(180deg,rgba(255,255,255,.82),#fff 340px);box-shadow:0 18px 80px rgba(18,81,92,.13);position:relative;padding-bottom:calc(116px + env(safe-area-inset-bottom))}
.mq-v3-create .topbar{height:73px;padding:12px clamp(18px,4vw,32px);display:flex;align-items:center;gap:15px;border-bottom:1px solid rgba(206,231,230,.9);background:rgba(255,255,255,.83);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mq-v3-create .icon-button{width:43px;height:43px;border:1px solid #e3eff0;border-radius:15px;background:#f7fbfb;color:#315d65;display:grid;place-items:center;transition:transform .18s,background .18s}
.mq-v3-create .icon-button:active{transform:scale(.94)}
.mq-v3-create .icon-button svg{width:20px;height:20px}
.mq-v3-create .topbar-title{font-size:19px;font-weight:820;letter-spacing:-.045em;flex:1}
.mq-v3-create .topbar-pill{padding:7px 10px;background:#e5f5f5;border:1px solid #cce9e9;border-radius:100px;color:#277884;font-size:10px;letter-spacing:.07em;font-weight:850;white-space:nowrap}
.mq-v3-create main{padding:26px clamp(18px,4.5vw,38px) 26px}
.mq-v3-create .eyebrow{display:flex;align-items:center;gap:8px;color:#268d98;font-size:10px;letter-spacing:.19em;font-weight:850;text-transform:uppercase}
.mq-v3-create .eyebrow:before{content:"";width:20px;height:2px;border-radius:3px;background:#d2ab60}
.mq-v3-create .intro{padding:0 2px 22px}
.mq-v3-create .intro h1{font-size:clamp(30px,7.6vw,40px);line-height:1.07;letter-spacing:-.065em;font-weight:840;margin:11px 0 9px}
.mq-v3-create .intro p{color:#607b83;font-size:14px;line-height:1.55;max-width:48ch}
.mq-v3-create .name-panel{background:linear-gradient(125deg,#fff 35%,#f1faf8);border:1px solid #d9ebeb;border-radius:24px;padding:17px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow)}
.mq-v3-create .trophy{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#ffe7a5,#f6b851);box-shadow:inset 0 1px 0 #fff9,0 7px 15px #cf994138;color:#915a16}
.mq-v3-create .trophy svg{width:28px;height:28px}
.mq-v3-create .name-copy{min-width:0;flex:1}
.mq-v3-create .field-label{display:block;color:#617d85;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;margin-bottom:7px}
.mq-v3-create .name-panel input{display:block;width:100%;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--ink);font-size:17px;font-weight:770;letter-spacing:-.025em;padding:2px 0 4px;outline:0;text-overflow:ellipsis}
.mq-v3-create .name-panel input:focus{border-color:#17a9b7}
.mq-v3-create .name-panel input::placeholder{color:#9aabb0}
.mq-v3-create .edit-icon{width:17px;height:17px;color:#40848b}
.mq-v3-create .section{margin-top:30px}
.mq-v3-create .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}
.mq-v3-create .section-kicker{font-size:10px;letter-spacing:.13em;font-weight:850;color:#617f86;text-transform:uppercase;display:block;margin-bottom:3px}
.mq-v3-create .section h2{font-size:18px;letter-spacing:-.045em;line-height:1.2;font-weight:820}
.mq-v3-create .section-result{font-size:11px;font-weight:750;color:#197f8b;text-align:right;max-width:45%;line-height:1.25}
.mq-v3-create .section-help{font-size:12px;color:#779097;margin:-3px 0 13px;line-height:1.45}
.mq-v3-create .choice-grid{display:grid;gap:10px}
.mq-v3-create .two{grid-template-columns:repeat(2,minmax(0,1fr))}
.mq-v3-create .three{grid-template-columns:repeat(3,minmax(0,1fr))}
.mq-v3-create .options-card{position:relative;min-width:0;border:1.5px solid #e0eaea;background:#fff;border-radius:19px;min-height:104px;padding:15px 13px;text-align:left;color:var(--ink);box-shadow:0 4px 13px rgba(19,78,88,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}
.mq-v3-create .options-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 9px 22px rgba(22,111,127,.105)}
.mq-v3-create .options-card:active:not(:disabled){transform:scale(.975)}
.mq-v3-create .options-card[aria-pressed="true"]{border-color:#4fbac0;background:linear-gradient(145deg,#e9f8f5,#f3fdfb 75%);box-shadow:0 0 0 3px #91dcdf40,0 9px 19px #4ab5b52a}
.mq-v3-create .options-card[aria-pressed="true"] .selected-mark{opacity:1;transform:scale(1)}
.mq-v3-create .options-card:disabled{opacity:.57;background:#f3f6f6}
.mq-v3-create .selected-mark{position:absolute;top:11px;right:11px;width:21px;height:21px;border-radius:50%;background:linear-gradient(140deg,#109fb0,#146ba5);color:#fff;display:grid;place-items:center;opacity:0;transform:scale(.65);transition:opacity .2s,transform .22s}
.mq-v3-create .selected-mark svg{width:13px;height:13px}
.mq-v3-create .option-icon{width:22px;height:22px;color:#277d89;margin-bottom:13px}
.mq-v3-create .option-title{display:block;font-size:14px;font-weight:800;letter-spacing:-.025em;line-height:1.2;padding-right:10px}
.mq-v3-create .option-sub{display:block;font-size:11px;color:#617e85;line-height:1.35;margin-top:5px}
.mq-v3-create .arena-card{text-align:center;min-height:99px;padding:17px 5px 12px}
.mq-v3-create .arena-card strong{display:block;font-size:29px;line-height:1.05;letter-spacing:-.07em}
.mq-v3-create .arena-card .option-sub{font-size:10px;margin-top:6px}
.mq-v3-create .board-card{min-height:75px;text-align:center;padding:15px 5px 11px}
.mq-v3-create .board-card .option-title{font-size:16px;padding:0}
.mq-v3-create .board-card .option-sub{font-size:10px}
.mq-v3-create .compact .options-card{min-height:94px}
.mq-v3-create .universes{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(139px,39%,194px);gap:12px;overflow-x:auto;padding:4px 4px 13px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b5dbde transparent}
.mq-v3-create .universe{position:relative;min-width:0;scroll-snap-align:start;border:1.5px solid #deeaeb;border-radius:20px;overflow:hidden;background:#fff;padding:0;text-align:left;color:var(--ink);box-shadow:0 5px 14px #225f7011;transition:transform .2s,box-shadow .2s,border-color .2s}
.mq-v3-create .universe:hover:not(:disabled){transform:translateY(-3px)}
.mq-v3-create .universe:active:not(:disabled){transform:scale(.98)}
.mq-v3-create .universe[aria-pressed="true"]{border-color:#35b4ba;box-shadow:0 0 0 3px #90dce04a,0 8px 21px #1f9da333}
.mq-v3-create .universe:disabled{opacity:.55}
.mq-v3-create .universe img{display:block;width:100%;height:105px;object-fit:cover}
.mq-v3-create .universe-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:45px;padding:9px 11px}
.mq-v3-create .universe-footer strong{font-size:12px;line-height:1.18}
.mq-v3-create .mini-check{width:19px;height:19px;border:1.5px solid #cbdfe1;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none}
.mq-v3-create .universe[aria-pressed="true"] .mini-check{border-color:#098b9c;background:#098b9c}
.mq-v3-create .mini-check svg{width:12px;height:12px;opacity:0}
.mq-v3-create .universe[aria-pressed="true"] .mini-check svg{opacity:1}
.mq-v3-create .unlock{position:absolute;top:8px;right:8px;background:#fffdf1e8;color:#8b6931;font-size:10px;font-weight:800;padding:5px 7px;border-radius:100px}
.mq-v3-create .universe:disabled img{filter:saturate(.55)}
.mq-v3-create .participant-panel{margin-top:29px;padding:17px;background:#f5faf9;border:1px solid #dcecec;border-radius:22px}
.mq-v3-create .participant-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mq-v3-create .participant-row strong{display:block;font-size:14px}
.mq-v3-create .participant-row small{display:block;color:#718a91;font-size:11px;margin-top:4px;line-height:1.35}
.mq-v3-create .switch{position:relative;width:49px;height:29px;border:0;border-radius:100px;background:#bdcfd0;transition:background .2s;flex:none}
.mq-v3-create .switch[aria-checked="true"]{background:linear-gradient(100deg,#0bb4bb,#177cba)}
.mq-v3-create .switch:before{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:white;box-shadow:0 2px 5px #164d5b35;transition:transform .2s}
.mq-v3-create .switch[aria-checked="true"]:before{transform:translateX(20px)}
.mq-v3-create .pseudo-field{display:block;margin-top:16px}
.mq-v3-create .pseudo-field input{width:100%;border:1.5px solid #d5e6e7;background:#fff;border-radius:13px;padding:12px 14px;font-size:14px;color:var(--ink);font-weight:650;transition:border .18s,box-shadow .18s}
.mq-v3-create .pseudo-field input:focus{outline:0;border-color:#45b7c0;box-shadow:0 0 0 3px #87d7db44}
.mq-v3-create .pseudo-field[hidden]{display:none}
.mq-v3-create .legal{margin-top:17px;padding:17px;border:1px solid #e2eded;border-radius:20px;background:#fff}
.mq-v3-create .legal-title{font-size:12px;font-weight:820;margin-bottom:10px}
.mq-v3-create .legal-line{display:flex;gap:10px;align-items:center;padding:7px 0;min-height:45px}
.mq-v3-create .legal-line+ .legal-line{border-top:1px solid #edf3f2}
.mq-v3-create .legal-line input{appearance:none;width:21px;height:21px;flex:none;border:1.5px solid #b8d2d5;border-radius:7px;display:grid;place-items:center;margin:0;cursor:pointer;background:#fff}
.mq-v3-create .legal-line input:checked{background:#1196a4;border-color:#1196a4}
.mq-v3-create .legal-line input:checked:after{content:"";width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translate(1px,-1px)}
.mq-v3-create .legal-line label{font-size:12px;line-height:1.4;color:#365b64;flex:1;cursor:pointer}
.mq-v3-create .summary{margin-top:31px;border-radius:24px;background:linear-gradient(125deg,#154957,#0f6378 56%,#147cad);color:#fff;padding:20px;box-shadow:0 15px 26px #075c7540;overflow:hidden;position:relative}
.mq-v3-create .summary:after{content:"";position:absolute;right:-28px;top:-42px;width:180px;height:180px;border-radius:50%;border:1px solid #ffffff26;box-shadow:0 0 0 24px #ffffff0b,0 0 0 48px #ffffff08;pointer-events:none}
.mq-v3-create .summary-head{position:relative;z-index:1;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.mq-v3-create .summary-head svg{width:20px;height:20px;color:#ffda85}
.mq-v3-create .summary-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 10px}
.mq-v3-create .summary-cell small{display:block;color:#b6dde2;font-size:10px;margin-bottom:4px}
.mq-v3-create .summary-cell strong{display:block;font-size:14px;line-height:1.28;overflow-wrap:anywhere;letter-spacing:-.025em}
.mq-v3-create .summary-note{position:relative;z-index:1;color:#c8e6e8;font-size:10px;margin-top:14px;line-height:1.4}
.mq-v3-create .sticky{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,780px);padding:12px clamp(18px,4.5vw,38px) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fffffff0,#fff 27%);border-top:1px solid #dfeeee;box-shadow:0 -8px 28px #23758012}
.mq-v3-create .sticky-inner{display:flex;align-items:center;gap:15px;justify-content:space-between}
.mq-v3-create .sticky-hint{color:#698289;font-size:11px;line-height:1.35;max-width:39%}
.mq-v3-create .sticky-hint strong{display:block;color:#315862;font-size:12px}
.mq-v3-create .cta{height:54px;min-width:0;flex:1;border:0;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;color:#fff;background:linear-gradient(110deg,#087f91,#147db8);box-shadow:inset 0 1px 0 #ffffff44,0 5px 0 #cda051,0 13px 22px #1381a033;font-size:14px;font-weight:830;letter-spacing:-.015em;transition:transform .18s,filter .18s,box-shadow .18s}
.mq-v3-create .cta:hover:not(:disabled){filter:brightness(1.06)}
.mq-v3-create .cta:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #cda051,0 5px 15px #1381a033}
.mq-v3-create .cta:disabled{background:#aebec1;box-shadow:none;color:#f5f8f8}
.mq-v3-create .cta svg{width:17px;height:17px}
.mq-v3-create .error{margin-top:5px;font-size:11px;color:#b54e42;min-height:0}
@media (max-width:520px){.mq-v3-create .sticky-hint{display:none}
.mq-v3-create .cta{width:100%}}
@media (max-width:360px){.mq-v3-create .topbar-title{font-size:17px}
.mq-v3-create .topbar-pill{font-size:9px}
.mq-v3-create .options-card{padding:13px 10px}
.mq-v3-create .option-title{font-size:12px}
.mq-v3-create .option-sub{font-size:10px}
.mq-v3-create .sticky-hint{display:none}
.mq-v3-create .cta{width:100%}
.mq-v3-create .summary-grid{gap:14px 6px}
.mq-v3-create .summary-cell strong{font-size:12px}}
@media (min-width:650px){.mq-v3-create main{padding-top:32px}
.mq-v3-create .universes{grid-auto-columns:minmax(0,1fr);overflow:visible}
.mq-v3-create .summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.mq-v3-create .sticky-hint{max-width:none}
.mq-v3-create .cta{max-width:340px}}
@media (prefers-reduced-motion:reduce){.mq-v3-create *,.mq-v3-create *:before,.mq-v3-create *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.mq-v3-create .app{background:#fbfdfc}
.mq-v3-create .topbar{background:#ffffffec}
.mq-v3-create .topbar-pill{background:#eef8f5;color:#126c79;border-color:#d4ece9}
.mq-v3-create main{padding-top:19px}
.mq-v3-create .intro{position:relative;overflow:hidden;border-radius:26px;padding:25px 23px 26px;margin-bottom:15px;background:linear-gradient(122deg,#103d4b 0%,#0c6677 59%,#1588aa);box-shadow:0 15px 28px #11597035;color:#fff;isolation:isolate}
.mq-v3-create .intro:after{content:"";position:absolute;width:245px;height:245px;border-radius:50%;right:-70px;top:-100px;background:radial-gradient(circle,#b5e8e938 0,#e9d99d19 34%,transparent 70%);box-shadow:0 0 0 1px #ffffff28,0 0 0 29px #ffffff0b,0 0 0 63px #ffffff08;z-index:-1}
.mq-v3-create .intro .eyebrow{color:#bcebed}
.mq-v3-create .intro .eyebrow:before{background:#e7bd71}
.mq-v3-create .intro h1{font-size:clamp(29px,7.6vw,40px);line-height:1.08;margin-top:12px}
.mq-v3-create .intro p{color:#d5f2f2;font-size:13px;max-width:38ch}
.mq-v3-create .name-panel{border-color:#d7e9e6;box-shadow:0 8px 25px #0e60671b}
.mq-v3-create .section{margin-top:29px}
.mq-v3-create .section-head{margin-bottom:13px}
.mq-v3-create .section h2{font-size:19px}
.mq-v3-create .section-kicker{color:#78969a}
.mq-v3-create .section-result{background:#e8f6f3;color:#147d85;border-radius:9px;padding:5px 9px;font-size:10px;max-width:51%;line-height:1.3}
.mq-v3-create .options-card{border-color:#dae9e8;box-shadow:0 4px 14px #1955610b}
.mq-v3-create .options-card[aria-pressed="true"]{background:linear-gradient(135deg,#e6f7f4,#f8fdf9);border-color:#36b5b7;box-shadow:0 0 0 2px #85d7d634,0 9px 24px #247f8f24}
.mq-v3-create .options-card:focus-visible,.mq-v3-create .universe:focus-visible{outline-color:#dfaa4d;outline-offset:2px}
.mq-v3-create .selected-mark{box-shadow:0 3px 8px #1387944d}
.mq-v3-create .arena-note{margin:10px 2px 0;padding:9px 11px;border-radius:10px;background:#fff9e9;border:1px solid #f2dfb2;color:#806126;font-size:10px;line-height:1.4}
.mq-v3-create .arena-note[hidden]{display:none}
.mq-v3-create .arena-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}
.mq-v3-create .arena-card{min-height:95px}
.mq-v3-create .arena-card strong{font-size:27px}
.mq-v3-create .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mq-v3-create .mode-grid .options-card{min-height:99px;padding:13px}
.mq-v3-create .mode-grid .option-icon{margin-bottom:8px}
.mq-v3-create .mode-grid .option-title{font-size:13px}
.mq-v3-create .mode-grid .option-sub{font-size:10px}
.mq-v3-create .universes{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:9px;padding:2px 2px 4px;scroll-snap-type:none}
.mq-v3-create .universe{width:100%;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 5px 13px #225f7011}
.mq-v3-create .universe img{height:90px;object-fit:cover}
.mq-v3-create .universe-footer{flex:1;min-height:54px;padding:9px;align-items:center}
.mq-v3-create .universe-footer strong{font-size:11px;line-height:1.2;hyphens:auto;overflow-wrap:anywhere}
.mq-v3-create .mini-check{width:17px;height:17px}
.mq-v3-create .universe[aria-pressed="true"]{box-shadow:0 0 0 2px #67d1d448,0 9px 17px #1a969829}
.mq-v3-create .universe[aria-pressed="true"] .universe-footer{background:#eefbf7}
.mq-v3-create .universe .availability{position:absolute;left:7px;top:7px;border-radius:8px;padding:3px 6px;background:#0a3d49a9;color:#fff;font-size:9px;font-weight:800;backdrop-filter:blur(5px)}
.mq-v3-create .summary{background:linear-gradient(125deg,#123f4e,#0b6578 62%,#13869b);box-shadow:0 15px 28px #0b637836}
.mq-v3-create .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
.mq-v3-create .summary-cell{border-top:1px solid #ffffff2e;padding-top:8px}
.mq-v3-create .summary-cell small{font-size:10px}
.mq-v3-create .summary-cell strong{font-size:13px}
.mq-v3-create .cta{font-size:15px;box-shadow:inset 0 1px 0 #ffffff54,0 4px 0 #d7a957,0 12px 21px #1a849e40}
.mq-v3-create .sticky{background:linear-gradient(180deg,#fffffff5,#fff 30%)}
@keyframes  orbitTurn{to{transform:rotate(360deg)}}
@keyframes  counterTurn{to{transform:rotate(-360deg)}}
.mq-v3-create #drawStatus{font-size:12px;font-weight:750;color:#246f79;margin:5px 0;text-align:center}
@keyframes  drawIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes  cardDeal{from{opacity:0;transform:translateY(13px) scale(.92)}to{opacity:1;transform:none}}
.mq-v3-create .secondary-action{flex:1;background:#eef7f6;color:#176f7b;border:1px solid #cde7e6}
.mq-v3-create .primary-action{flex:1.2;background:linear-gradient(110deg,#08889a,#147bb5);color:white;border:0;box-shadow:0 5px 12px #1889a239;display:flex;align-items:center;justify-content:center;gap:5px}
.mq-v3-create .primary-action svg{width:15px;height:15px}
@media (min-width:650px){.mq-v3-create .universes{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.mq-v3-create .universe img{height:117px}
.mq-v3-create .universe-footer strong{font-size:12px}
.mq-v3-create .summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mq-v3-create .mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:360px){.mq-v3-create .universes{grid-template-columns:repeat(2,minmax(0,1fr))}
.mq-v3-create .universe img{height:112px}}
.mq-v3-create .rail{display:flex!important;flex-wrap:nowrap!important;grid-auto-flow:unset!important;grid-template-columns:none!important;gap:10px;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:3px;-webkit-overflow-scrolling:touch;padding:4px 3px 13px;scrollbar-width:thin;scrollbar-color:#9bd2d3 transparent}
.mq-v3-create .rail > button{flex:0 0 auto;scroll-snap-align:start}
.mq-v3-create .arena-grid .arena-card{width:106px;min-height:89px}
.mq-v3-create .board-grid .board-card{width:114px;min-height:80px}
.mq-v3-create .mode-grid .options-card{width:171px;min-height:99px}
.mq-v3-create .universes .universe{width:157px;min-height:154px}
.mq-v3-create .universes .universe img{height:103px}
.mq-v3-create .universes .universe-footer{min-height:49px}
.mq-v3-create .universes .universe-footer strong{font-size:12px}
.mq-v3-create .rail-nav{display:flex;justify-content:space-between;align-items:center;margin:-4px 1px 6px;gap:10px}
.mq-v3-create .rail-nav span{font-size:10px;color:#81999f}
.mq-v3-create .rail-nav-buttons{display:flex;gap:6px}
.mq-v3-create .rail-nav button{width:29px;height:29px;border-radius:9px;border:1px solid #d4e8e6;background:#f2faf9;color:#2e7782;font-size:21px;line-height:1;display:grid;place-items:center;padding:0;transition:background .17s,transform .17s}
.mq-v3-create .rail-nav button:hover:not(:disabled){background:#e4f7f4}
.mq-v3-create .rail-nav button:active:not(:disabled){transform:scale(.93)}
.mq-v3-create .rail-nav button:disabled{opacity:.32}
.mq-v3-create .rail-edge{position:relative}
.mq-v3-create .rail-edge:after{content:"";position:absolute;right:0;top:0;bottom:7px;width:20px;background:linear-gradient(90deg,transparent,#fbfdfc);pointer-events:none;opacity:var(--fade,1)}
.mq-v3-create .match-number{font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#519298;margin-bottom:7px}
.mq-v3-create .player-name{font-size:12px;font-weight:750;line-height:1.15;overflow-wrap:anywhere;max-width:159px}
.mq-v3-create .match-vs{display:block;color:#b1894b;font-size:9px;font-weight:900;letter-spacing:.11em;margin:1px 0 1px 33px}
.mq-v3-create .match-bye-note{font-size:10px;color:#91734a;margin:8px 0 0 33px}
@media (min-width:650px){.mq-v3-create .arena-grid .arena-card{width:118px}
.mq-v3-create .universes .universe{width:177px}
.mq-v3-create .universes .universe img{height:113px}
.mq-v3-create .mode-grid .options-card{width:195px}
.mq-v3-create .board-grid .board-card{width:125px}}
@media (max-width:360px){.mq-v3-create .universes .universe{width:141px}
.mq-v3-create .arena-grid .arena-card{width:91px}
.mq-v3-create .mode-grid .options-card{width:150px}}

/* V194 — adapt Work V3 to the native tournament viewport */
.mq-tp .mq-v3-create{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;--ink:#153d47;--muted:#69818a;--line:#d9eaeb;--teal:#087f91;--cyan:#14b8ca;--blue:#176fba;--gold:#d7a444;--surface:#fff;--wash:#eff9f8;--shadow:0 12px 34px rgba(16,82,96,.075);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;background:#fbfdfc}
.mq-tp .mq-v3-create .app{width:100%;max-width:none;height:100%;min-height:0;display:flex;flex-direction:column;padding:0;box-shadow:none;background:#fbfdfc;overflow:hidden}
.mq-tp .mq-v3-create .topbar{flex:0 0 auto;min-height:67px;height:auto;padding:11px 17px}
.mq-tp .mq-v3-create main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:20px 17px 28px;-webkit-overflow-scrolling:touch}
.mq-tp .mq-v3-create .sticky{position:relative;flex:0 0 auto;left:auto;bottom:auto;transform:none;width:100%;padding:12px 17px calc(15px + env(safe-area-inset-bottom));z-index:3}
.mq-tp .mq-v3-create .sticky-inner{width:100%;min-width:0}
.mq-tp .mq-v3-create .cta{display:flex!important;align-items:center!important;justify-content:center!important;position:relative;width:100%;max-width:none;min-height:58px;border-radius:17px!important;color:#fff!important;background:linear-gradient(110deg,#087f91,#147db8)!important;padding:0 46px!important;text-align:center;font-size:15px;box-shadow:inset 0 1px 0 #ffffff54,0 4px 0 #d7a957,0 12px 21px #1a849e40}
.mq-tp .mq-v3-create .cta:disabled{background:#a9c3c6!important;opacity:.75;box-shadow:none}
.mq-tp .mq-v3-create .cta svg{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none}
.mq-tp .mq-v3-create .cta .mq-v3-submit-label{display:block;width:100%;text-align:center;font-weight:850;min-width:0}
.mq-tp .mq-v3-create .cta.is-loading .mq-v3-submit-label{opacity:.95}
.mq-tp .mq-v3-create .error{display:block;color:#9e4636;line-height:1.4;min-height:0;margin:6px 0 0;max-height:65px;overflow-y:auto}
.mq-tp .mq-v3-create .error:empty{display:none}
.mq-tp .mq-v3-create .name-panel input{outline:0;box-shadow:none;max-width:100%;color:var(--ink)}
.mq-tp .mq-v3-create .section h2{font-size:19px;letter-spacing:-.045em;line-height:1.2;margin:0;font-weight:820}
.mq-tp .mq-v3-create .intro h1{font-size:clamp(28px,7.2vw,39px);line-height:1.1;margin:11px 0 8px;font-weight:840}
.mq-tp .mq-v3-create .intro p{font-size:13px;font-weight:500;line-height:1.55;margin:0;color:#d5f2f2}
.mq-tp .mq-v3-create .section{margin-top:25px}
.mq-tp .mq-v3-create .options-card{background:#fff;border:1.5px solid #dae9e8;color:var(--ink);border-radius:19px;text-align:left;padding:15px 13px}
.mq-tp .mq-v3-create .options-card[aria-pressed="true"]{background:linear-gradient(135deg,#e6f7f4,#f8fdf9);border-color:#36b5b7}
.mq-tp .mq-v3-create .options-card:disabled{opacity:.5}
.mq-tp .mq-v3-create .universe{border:1.5px solid #deeaeb;background:#fff;text-align:left;border-radius:16px;padding:0;overflow:hidden}
.mq-tp .mq-v3-create .universe img{width:100%;height:105px;object-fit:cover;display:block}
.mq-tp .mq-v3-create .universe[aria-pressed="true"]{border-color:#35b4ba}
.mq-tp .mq-v3-create .universe.is-locked:after{content:'🔒';position:absolute;right:7px;top:7px;border-radius:7px;background:#fffcf4;padding:4px}
.mq-tp .mq-v3-create .rail{display:flex!important;gap:10px;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;scroll-snap-type:x proximity;padding:4px 3px 12px;overscroll-behavior-inline:contain}
.mq-tp .mq-v3-create .rail>button{flex:0 0 auto;scroll-snap-align:start}
.mq-tp .mq-v3-create .arena-grid .arena-card{width:106px}
.mq-tp .mq-v3-create .board-grid .board-card{width:114px}
.mq-tp .mq-v3-create .mode-grid .options-card{width:171px}
.mq-tp .mq-v3-create .universes .universe{width:157px}
.mq-tp .mq-v3-create .legal-line{min-height:49px;display:flex}
.mq-tp .mq-v3-create .legal-line .read-link{display:inline-flex;align-items:center;justify-content:center;background:#eff8f7;color:#167c8a;text-decoration:none;padding:7px 10px;border-radius:9px;font-size:11px;font-weight:800;white-space:nowrap}
.mq-tp .mq-v3-create .legal-line input{appearance:none;width:21px;height:21px;flex:0 0 21px;border:1.5px solid #b8d2d5;background:#fff;border-radius:7px}
.mq-tp .mq-v3-create .legal-line input:checked{background:#1196a4;border-color:#1196a4}
.mq-tp .mq-v3-create .legal-line input:checked:after{content:'';display:block;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translate(4px,5px) rotate(-45deg)}
.mq-tp .mq-v3-create .rail-nav{margin-top:-3px}
.mq-tp .mq-v3-create .rail-nav button{border:1px solid #d4e8e6;background:#f2faf9;color:#2e7782}
.mq-tp .mq-v3-create .participant-panel{margin-top:24px}
.mq-tp .mq-v3-create .switch{border:0;background:#bdcfd0;position:relative;width:49px;min-width:49px;height:29px;padding:0;border-radius:99px}
.mq-tp .mq-v3-create .switch[aria-checked="true"]{background:linear-gradient(100deg,#0bb4bb,#177cba)}
.mq-tp .mq-v3-create .switch:before{content:'';position:absolute;top:3px;left:3px;width:23px;height:23px;background:#fff;border-radius:50%;transition:transform .2s}
.mq-tp .mq-v3-create .switch[aria-checked="true"]:before{transform:translateX(20px)}
.mq-tp .mq-v3-create .summary{margin-bottom:3px}
.mq-tp .mq-v3-create .summary-head{color:#fff}
.mq-tp .mq-v3-create .summary-cell strong{color:#fff}
.mq-tp .mq-v3-create .section-result{color:#147d85}
.mq-tp .mq-v3-create .icon-button{background:#f7fbfb;color:#315d65;border:1px solid #e3eff0}
@media(max-width:380px){.mq-tp .mq-v3-create main{padding-left:13px;padding-right:13px}.mq-tp .mq-v3-create .topbar{padding-inline:13px}.mq-tp .mq-v3-create .sticky{padding-inline:13px}.mq-tp .mq-v3-create .option-title{font-size:12px}.mq-tp .mq-v3-create .two{gap:8px}.mq-tp .mq-v3-create .options-card{padding:13px 10px}.mq-tp .mq-v3-create .topbar-pill{font-size:9px}}
@media(prefers-reduced-motion:reduce){.mq-tp .mq-v3-create *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* v197 — choix individuel des IA : boutons lisibles, tactiles et compatibles mobile. */
.mq-tp-bot-setup{padding:17px;margin:18px 0 10px;border:1px solid #b8e0dc;border-radius:22px;background:linear-gradient(145deg,#f3fffc,#fffdf7);box-shadow:0 10px 26px rgba(17,117,130,.09)}
.mq-tp-bot-setup-head{display:flex;align-items:center;gap:11px;margin-bottom:14px;text-align:left}.mq-tp-bot-setup-head h3{margin:0;font-size:16px}.mq-tp-bot-setup-head p{margin:4px 0 0;font-size:12px;line-height:1.45;color:#587b81}
.mq-tp-bot-setup-icon,.mq-tp-bot-icon{display:flex;justify-content:center;align-items:center;flex:none;border-radius:12px;background:#d9f4f0;color:#087f91;width:40px;height:40px}.mq-tp-bot-icon{width:34px;height:34px}
.mq-tp-bot-setup-rows{display:grid;gap:9px;margin-bottom:14px}.mq-tp-bot-select-row{display:flex;align-items:center;gap:12px;justify-content:space-between;min-width:0;background:#fff;border:1px solid #e1eeee;border-radius:15px;padding:10px}
.mq-tp-bot-place{display:flex;align-items:center;gap:9px;min-width:0}.mq-tp-bot-place>span:last-child{min-width:0}.mq-tp-bot-place strong{display:block;color:#214952;font-size:13px;line-height:1.3}.mq-tp-bot-place small{display:block;color:#66858e;font-size:11px;line-height:1.35}
.mq-tp-bot-select-wrap{position:relative;flex:0 0 121px}.mq-tp-bot-select-wrap select{width:100%;min-height:44px;background:#edf9f6;border:1.5px solid #a7d9d4;color:#145f6c;border-radius:12px;font-weight:800;font-size:13px;padding:0 8px;cursor:pointer}.mq-tp-bot-select-wrap select:focus-visible{outline:3px solid #e1af5b;outline-offset:2px}
.mq-tp-bot-add{width:100%;min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:linear-gradient(120deg,#078b9c,#187bb4);color:#fff;font-size:14px;font-weight:850;box-shadow:0 8px 18px rgba(14,111,147,.18);padding:11px 13px}.mq-tp-bot-add:disabled{opacity:.6}
.mq-tp-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:380px){.mq-tp-bot-setup{padding:12px}.mq-tp-bot-select-row{gap:6px;padding:8px}.mq-tp-bot-select-wrap{flex-basis:108px}.mq-tp-bot-place small{font-size:10px}}

.mq-tp-bot-note{padding:12px 14px;margin:12px 0 4px;border-radius:12px;background:#fff9eb;border:1px solid #edd6a2;color:#765723;font-size:12px;line-height:1.5}

.mq-tp-bot-number{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px 0;padding:10px 12px;background:#e9f7f5;border-radius:14px;color:#145f6c;font-size:12px;font-weight:850}.mq-tp-bot-number select{min-height:44px;min-width:106px;padding:7px;border-radius:12px;border:1px solid #a4d7d5;background:#fff;color:#145f6c;font-weight:850}

/* v199 : pas de frappe fantôme pendant l’animation de distribution initiale. */
.mq-board.is-dealing .mq-card { pointer-events: none !important; }

/* ========================================================================
   MemoMilo v202 — Design-system Tournoi. Un seul contrat chromatique.
   Les six thèmes sont ceux de config.js; aucune mutation du moteur de jeu.
   Tout est confiné à .mq-tp, pour préserver solo, histoire et duel flash.
   ======================================================================== */
.mq-shell .mq-tp {
  --tp-bg:#edf8f5;--tp-panel:#fff;--tp-panel-hi:#f7fcfb;--tp-ink:#173e48;
  --tp-muted:#49666f;--tp-stroke:#bededb;--tp-accent:#067787;--tp-on-accent:#fff;
  --tp-selected:#e0f6f0;--tp-warm:#fff3cf;--tp-warm-ink:#704b0b;
  --tp-hero-start:#103f4c;--tp-hero-end:#08778c;--tp-hero-ink:#fff;
  --tp-hero-muted:#d1f5f5;--tp-shadow:rgba(10,67,80,.12);
  --mq-bg:var(--tp-bg);--mq-surface:var(--tp-panel);
  --mq-surface-raised:var(--tp-panel-hi);--mq-text:var(--tp-ink);
  --mq-text-secondary:var(--tp-muted);--mq-border:var(--tp-stroke);
  --accent:var(--tp-accent);
  color:var(--tp-ink);
  background:var(--tp-bg);
  color-scheme:light;
}
.mq-shell[data-skin="jade"] .mq-tp {
  --tp-bg:#e6f7f0;--tp-panel:#ffffff;--tp-panel-hi:#f4fcf9;
  --tp-ink:#143e46;--tp-muted:#44626a;--tp-stroke:#b4ded2;
  --tp-accent:#066e78;--tp-selected:#ddf3e9;
  --tp-hero-start:#103f47;--tp-hero-end:#0b837d;
}
.mq-shell[data-skin="ocean"] .mq-tp {
  --tp-bg:#073653;--tp-panel:#0c4967;--tp-panel-hi:#145775;
  --tp-ink:#f5fcff;--tp-muted:#c0e4ef;--tp-stroke:#36738a;
  --tp-accent:#8bedef;--tp-on-accent:#062d44;--tp-selected:#195d72;
  --tp-warm:#224f60;--tp-warm-ink:#ffdf9f;
  --tp-hero-start:#052c49;--tp-hero-end:#087a9c;
  --tp-shadow:rgba(0,15,27,.29);
  color-scheme:dark;
}
.mq-shell[data-skin="ardoise"] .mq-tp {
  --tp-bg:#111d26;--tp-panel:#20313b;--tp-panel-hi:#293d47;
  --tp-ink:#f6fafc;--tp-muted:#c3d8df;--tp-stroke:#49636e;
  --tp-accent:#81e7e9;--tp-on-accent:#102730;--tp-selected:#304b54;
  --tp-warm:#3a3c38;--tp-warm-ink:#f4d293;
  --tp-hero-start:#1b2b36;--tp-hero-end:#285463;
  --tp-shadow:rgba(0,0,0,.29);
  color-scheme:dark;
}
.mq-shell[data-skin="grenat"] .mq-tp {
  --tp-bg:#30111d;--tp-panel:#4b202e;--tp-panel-hi:#5b2939;
  --tp-ink:#fff7f3;--tp-muted:#f1d0cd;--tp-stroke:#956277;
  --tp-accent:#ffcf98;--tp-on-accent:#482032;--tp-selected:#74344b;
  --tp-warm:#663744;--tp-warm-ink:#ffdb9f;
  --tp-hero-start:#411320;--tp-hero-end:#9b3e5c;
  --tp-shadow:rgba(23,3,10,.28);
  color-scheme:dark;
}
.mq-shell[data-skin="ambre"] .mq-tp {
  --tp-bg:#fff0d7;--tp-panel:#fffaf0;--tp-panel-hi:#fff2dc;
  --tp-ink:#4a2a11;--tp-muted:#745039;--tp-stroke:#e2c296;
  --tp-accent:#8d430a;--tp-on-accent:#fffaf3;--tp-selected:#ffe6bb;
  --tp-warm:#ffe6b0;--tp-warm-ink:#644010;
  --tp-hero-start:#653719;--tp-hero-end:#b85e23;
  --tp-shadow:rgba(115,58,16,.14);
  color-scheme:light;
}
.mq-shell[data-skin="nuit"] .mq-tp {
  --tp-bg:#09101e;--tp-panel:#17243b;--tp-panel-hi:#223251;
  --tp-ink:#f7f9ff;--tp-muted:#c4d0e7;--tp-stroke:#40557b;
  --tp-accent:#91e3f2;--tp-on-accent:#122b46;--tp-selected:#2b4565;
  --tp-warm:#393d56;--tp-warm-ink:#ffe0a0;
  --tp-hero-start:#111d35;--tp-hero-end:#2a4b78;
  --tp-shadow:rgba(0,0,0,.36);
  color-scheme:dark;
}
/* L'ancienne vue V3 était verrouillée sur une page blanche. */
.mq-shell .mq-tp .mq-v3-create {
  --ink:var(--tp-ink);--muted:var(--tp-muted);--line:var(--tp-stroke);
  --teal:var(--tp-accent);--cyan:var(--tp-accent);--blue:var(--tp-accent);
  --surface:var(--tp-panel);--wash:var(--tp-panel-hi);
  --shadow:0 14px 35px var(--tp-shadow);
  background:var(--tp-bg);color:var(--tp-ink);
  color-scheme:inherit;
}
.mq-shell .mq-tp .mq-v3-create .app,
.mq-shell .mq-tp .mq-v3-create main {
  color:var(--tp-ink);background:var(--tp-bg);
}
.mq-shell .mq-tp .mq-v3-create .topbar,
.mq-shell .mq-tp .mq-v3-create .sticky {
  color:var(--tp-ink);background:var(--tp-panel);
  border-color:var(--tp-stroke);
}
.mq-shell .mq-tp .mq-v3-create .topbar {
  box-shadow:0 1px 0 var(--tp-stroke);
}
.mq-shell .mq-tp .mq-v3-create .topbar-title,
.mq-shell .mq-tp .mq-v3-create .section h2,
.mq-shell .mq-tp .mq-v3-create .option-title,
.mq-shell .mq-tp .mq-v3-create .participant-row strong,
.mq-shell .mq-tp .mq-v3-create .universe-footer strong,
.mq-shell .mq-tp .mq-v3-create .name-panel input,
.mq-shell .mq-tp .mq-v3-create .arena-card strong {color:var(--tp-ink)}
.mq-shell .mq-tp .mq-v3-create .field-label,
.mq-shell .mq-tp .mq-v3-create .section-kicker,
.mq-shell .mq-tp .mq-v3-create .section-help,
.mq-shell .mq-tp .mq-v3-create .option-sub,
.mq-shell .mq-tp .mq-v3-create .participant-row small,
.mq-shell .mq-tp .mq-v3-create .summary-note,
.mq-shell .mq-tp .mq-v3-create .pseudo-field label,
.mq-shell .mq-tp .mq-v3-create .legal-line label {color:var(--tp-muted)}
.mq-shell .mq-tp .mq-v3-create .icon-button,
.mq-shell .mq-tp .mq-v3-create .name-panel,
.mq-shell .mq-tp .mq-v3-create .options-card,
.mq-shell .mq-tp .mq-v3-create .universe,
.mq-shell .mq-tp .mq-v3-create .participant-panel,
.mq-shell .mq-tp .mq-v3-create .pseudo-field,
.mq-shell .mq-tp .mq-v3-create .legal,
.mq-shell .mq-tp .mq-v3-create .secondary-action {
  background:var(--tp-panel);border-color:var(--tp-stroke);color:var(--tp-ink);
  box-shadow:0 5px 18px var(--tp-shadow);
}
.mq-shell .mq-tp .mq-v3-create .options-card[aria-pressed="true"],
.mq-shell .mq-tp .mq-v3-create .universe[aria-pressed="true"],
.mq-shell .mq-tp .mq-v3-create .universe[aria-pressed="true"] .universe-footer {
  background:var(--tp-selected);border-color:var(--tp-accent);color:var(--tp-ink);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--tp-accent) 24%,transparent),0 9px 20px var(--tp-shadow);
}
.mq-shell .mq-tp .mq-v3-create .option-icon,
.mq-shell .mq-tp .mq-v3-create .edit-icon,
.mq-shell .mq-tp .mq-v3-create .eyebrow,
.mq-shell .mq-tp .mq-v3-create .read-link,
.mq-shell .mq-tp .mq-v3-create .section-result {color:var(--tp-accent)}
.mq-shell .mq-tp .mq-v3-create .section-result,
.mq-shell .mq-tp .mq-v3-create .topbar-pill,
.mq-shell .mq-tp .mq-v3-create .rail-nav button,
.mq-shell .mq-tp .mq-v3-create .legal-line .read-link {
  background:var(--tp-panel-hi);color:var(--tp-accent);border-color:var(--tp-stroke);
}
.mq-shell .mq-tp .mq-v3-create .name-panel input::placeholder,
.mq-shell .mq-tp .mq-v3-create input::placeholder {color:var(--tp-muted);opacity:.92}
.mq-shell .mq-tp .mq-v3-create .participant-panel,
.mq-shell .mq-tp .mq-v3-create .mq-tp-bot-setup,
.mq-shell .mq-tp .mq-v3-create .mq-tp-bot-select-row {
  background:var(--tp-panel-hi);border-color:var(--tp-stroke);
}
.mq-shell .mq-tp .mq-v3-create .legal-line input,
.mq-shell .mq-tp .mq-v3-create .pseudo-field input,
.mq-shell .mq-tp .mq-v3-create #nickname,
.mq-shell .mq-tp .mq-tp-bot-select-wrap select,
.mq-shell .mq-tp .mq-tp-bot-number select {
  background:var(--tp-panel);color:var(--tp-ink);border-color:var(--tp-stroke);
}
.mq-shell .mq-tp .mq-v3-create .legal-line input:checked {background:var(--tp-accent);border-color:var(--tp-accent)}
.mq-shell .mq-tp .mq-v3-create .switch[aria-checked="true"] {background:var(--tp-accent)}
.mq-shell .mq-tp .mq-v3-create .switch[aria-checked="true"]::before {background:var(--tp-on-accent)}
.mq-shell .mq-tp .mq-v3-create .intro,
.mq-shell .mq-tp .mq-v3-create .summary,
.mq-shell .mq-tp .mq-tp-hero {
  background:linear-gradient(128deg,var(--tp-hero-start),var(--tp-hero-end));
  color:var(--tp-hero-ink);border:1px solid color-mix(in srgb,var(--tp-hero-muted) 23%,transparent);
  box-shadow:0 16px 32px var(--tp-shadow);
}
.mq-shell .mq-tp .mq-v3-create .intro .eyebrow,
.mq-shell .mq-tp .mq-v3-create .intro h1,
.mq-shell .mq-tp .mq-v3-create .summary-head,
.mq-shell .mq-tp .mq-v3-create .summary-cell strong,
.mq-shell .mq-tp .mq-tp-hero h2 {color:var(--tp-hero-ink)}
.mq-shell .mq-tp .mq-v3-create .intro p,
.mq-shell .mq-tp .mq-v3-create .summary-cell small,
.mq-shell .mq-tp .mq-v3-create .summary-note,
.mq-shell .mq-tp .mq-tp-hero p {color:var(--tp-hero-muted)}
.mq-shell .mq-tp .mq-v3-create .summary-cell {border-color:color-mix(in srgb,var(--tp-hero-muted) 30%,transparent)}
.mq-shell .mq-tp .mq-v3-create .cta,
.mq-shell .mq-tp .mq-tp-primary:not(.mq-tp-gold),
.mq-shell .mq-tp .mq-tp-bot-add {
  background:var(--tp-accent)!important;color:var(--tp-on-accent)!important;
  border:1px solid color-mix(in srgb,var(--tp-on-accent) 20%,transparent);
  box-shadow:0 7px 19px var(--tp-shadow);font-weight:850;
}
.mq-shell .mq-tp .mq-v3-create .cta:disabled,
.mq-shell .mq-tp .mq-tp-primary:disabled,
.mq-shell .mq-tp .mq-tp-bot-add:disabled {opacity:.60;filter:saturate(.65);box-shadow:none}
.mq-shell .mq-tp .mq-tp-card,
.mq-shell .mq-tp .mq-tp-match-card,
.mq-shell .mq-tp .mq-tp-resume,
.mq-shell .mq-tp .mq-tp-public-card,
.mq-shell .mq-tp .mq-tp-mini-stats>div,
.mq-shell .mq-tp .mq-tp-choice,
.mq-shell .mq-tp .mq-tp-foot,
.mq-shell .mq-tp .mq-tp-sheet {
  background:var(--tp-panel);border-color:var(--tp-stroke);color:var(--tp-ink);
}
.mq-shell .mq-tp .mq-tp-choice.mq-tp-selected,
.mq-shell .mq-tp .mq-tp-match-card.mq-tp-mine {
  background:var(--tp-selected);border-color:var(--tp-accent);
}
.mq-shell .mq-tp .mq-tp-tag,
.mq-shell .mq-tp .mq-tp-secondary,
.mq-shell .mq-tp .mq-tp-code-entry input,
.mq-shell .mq-tp .mq-tp-round-button {
  background:var(--tp-panel-hi);border-color:var(--tp-stroke);color:var(--tp-ink);
}
.mq-shell .mq-tp .mq-tp-tag.mq-tp-gold,
.mq-shell .mq-tp .mq-tp-hero .mq-tp-prize,
.mq-shell .mq-tp .mq-tp-bot-note {
  background:var(--tp-warm);border-color:color-mix(in srgb,var(--tp-warm-ink) 32%,transparent);color:var(--tp-warm-ink);
}
.mq-shell .mq-tp .mq-tp-muted,
.mq-shell .mq-tp .mq-tp-choice small,
.mq-shell .mq-tp .mq-tp-public-card small,
.mq-shell .mq-tp .mq-tp-resume small,
.mq-shell .mq-tp .mq-tp-mini-stats small,
.mq-shell .mq-tp .mq-tp-standings-head {color:var(--tp-muted)}
.mq-shell .mq-tp .mq-tp-bot-setup,
.mq-shell .mq-tp .mq-tp-bot-select-row,
.mq-shell .mq-tp .mq-tp-bot-number {background:var(--tp-panel-hi);border-color:var(--tp-stroke);color:var(--tp-ink)}
.mq-shell .mq-tp .mq-tp-bot-place strong,
.mq-shell .mq-tp .mq-tp-bot-setup-head h3 {color:var(--tp-ink)}
.mq-shell .mq-tp .mq-tp-bot-place small,
.mq-shell .mq-tp .mq-tp-bot-setup-head p {color:var(--tp-muted)}
.mq-shell .mq-tp .mq-tp-bot-icon,
.mq-shell .mq-tp .mq-tp-bot-setup-icon {background:var(--tp-selected);color:var(--tp-accent)}
.mq-shell .mq-tp .mq-v3-create .mq-phase-settings button,
.mq-shell .mq-tp .mq-v3-create .mq-phase-settings select {
  color:var(--tp-ink);
}
.mq-shell .mq-tp .mq-v3-create .mq-phase-settings [aria-pressed="true"] {border-color:var(--tp-accent);background:var(--tp-selected);color:var(--tp-ink)}
.mq-shell .mq-tp button:focus-visible,
.mq-shell .mq-tp input:focus-visible,
.mq-shell .mq-tp select:focus-visible,
.mq-shell .mq-tp a:focus-visible {outline:3px solid var(--tp-accent);outline-offset:3px}
.mq-shell .mq-tp .mq-v3-create .rail,
.mq-shell .mq-tp .mq-v3-create .universes {scrollbar-color:var(--tp-stroke) transparent}
.mq-shell .mq-tp .mq-v3-create .options-card,
.mq-shell .mq-tp .mq-v3-create .universe,
.mq-shell .mq-tp .mq-tp-card {transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;}
.mq-shell .mq-tp .mq-v3-create .options-card:active,
.mq-shell .mq-tp .mq-v3-create .universe:active {transform:scale(.985)}
/* No décor can steal taps: all pseudo-elements and badges without action are inert. */
.mq-shell .mq-tp .mq-v3-create .intro::after,
.mq-shell .mq-tp .mq-tp-primary::after,
.mq-shell .mq-tp .mq-tp-hero-art,
.mq-shell .mq-tp .mq-v3-create .selected-mark {pointer-events:none}
@media(max-width:380px){
  .mq-shell .mq-tp .mq-v3-create .topbar{gap:9px}
  .mq-shell .mq-tp .mq-v3-create .topbar-pill{max-width:105px;overflow:hidden;text-overflow:ellipsis}
  .mq-shell .mq-tp .mq-tp-versus{gap:5px}
  .mq-shell .mq-tp .mq-tp-standings-row{font-size:10px;gap:2px}
}
@media(prefers-reduced-motion:reduce){
  .mq-shell .mq-tp *,.mq-shell .mq-tp *::before,.mq-shell .mq-tp *::after {
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
}

/* v202 QA color pass: no dark legacy --accent on a dark hero. */
.mq-shell .mq-tp .mq-tp-eyebrow {color:var(--tp-accent)!important}
.mq-shell .mq-tp .mq-tp-hero h2,
.mq-shell .mq-tp .mq-tp-hero h2 em,
.mq-shell .mq-tp .mq-tp-hero .mq-tp-hero-foot b {color:#fff!important}
.mq-shell .mq-tp .mq-tp-hero h2 em {color:#ffe0a1!important}
.mq-shell .mq-tp .mq-tp-hero .mq-tp-eyebrow {color:#ffe0a1!important}
.mq-shell .mq-tp .mq-tp-hero .mq-tp-hero-foot span {color:#e8f6fa!important}
.mq-shell .mq-tp .mq-v3-create .name-panel input {background:transparent!important;color:var(--tp-ink)!important}
.mq-shell .mq-tp .mq-v3-create .summary .summary-note {color:var(--tp-hero-muted)!important}

/* v203 — Formats de tournoi réellement accessibles dans la WebView Android. */
.mq-shell .mq-tp .mq-v3-create .mq-phase-settings{scroll-margin-top:14px;padding:17px 14px 8px;border:1px solid var(--tp-stroke);border-radius:20px;background:var(--tp-panel-hi);box-shadow:0 6px 16px var(--tp-shadow)}
.mq-shell .mq-tp .mq-v3-create .mq-phase-settings .section-head{align-items:center;flex-wrap:wrap}
.mq-shell .mq-tp .mq-v3-create .mq-phase-progress{font-weight:800;color:var(--tp-accent);font-size:12px}
.mq-shell .mq-tp .mq-v3-create .mq-phase-row{margin:12px 0 17px;padding:11px;border:1px solid var(--tp-stroke);border-radius:16px;background:var(--tp-panel)}
.mq-shell .mq-tp .mq-v3-create .mq-phase-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;color:var(--tp-ink)}
.mq-shell .mq-tp .mq-v3-create .mq-phase-row-head strong{font-size:14px}
.mq-shell .mq-tp .mq-v3-create .mq-phase-row-head small{font-weight:800;font-size:11px;color:var(--tp-accent);white-space:nowrap}
.mq-shell .mq-tp .mq-v3-create .mq-phase-option{min-height:76px!important;padding:13px 12px!important;touch-action:manipulation}
.mq-shell .mq-tp .mq-v3-create .mq-phase-option .option-title{font-size:13px;line-height:1.25}
.mq-shell .mq-tp .mq-v3-create .mq-phase-option .option-sub{font-size:11px;line-height:1.35}
.mq-shell .mq-tp .mq-v3-create .mq-phase-jump{display:flex;align-items:center;justify-content:space-between;gap:9px;width:100%;min-height:43px;margin-bottom:8px;padding:10px 13px;color:var(--tp-ink);font-size:12px;font-weight:800;border-radius:12px;border:1px solid var(--tp-accent);background:var(--tp-selected);touch-action:manipulation;text-align:left}
.mq-shell .mq-tp .mq-v3-create .mq-phase-jump[hidden]{display:none!important}
.mq-shell .mq-tp .mq-v3-create .mq-phase-jump strong{flex:none;padding:4px 7px;border-radius:9px;background:var(--tp-panel);color:var(--tp-accent)}
.mq-shell .mq-tp .mq-v3-create .sticky{max-height:40%;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:360px){.mq-shell .mq-tp .mq-v3-create .mq-phase-row{padding:9px}.mq-shell .mq-tp .mq-v3-create .mq-phase-option{padding:10px 8px!important}}


/* ========================================================================
   MemoMilo v204 — Tournois multi-thèmes : correctif final de lisibilité
   Corrige :
   - cartes claires/texte clair sur hub Tournois
   - dock interne qui recouvrait les cartes
   - écran de tirage : timer / badge / cartes VS superposés sur mobile
   - composants restés en blanc fixe au lieu d'utiliser la palette active
   ======================================================================== */
.mq-shell .mq-tp {
  --tp-bottom-nav-space: calc(126px + env(safe-area-inset-bottom));
}
.mq-shell .mq-tp .mq-tp-scroll {
  padding-bottom: var(--tp-bottom-nav-space) !important;
}

/* Hub Tournois : toutes les actions héritent du thème, y compris "Créer un tournoi". */
.mq-shell .mq-tp .mq-tp-v3-action,
.mq-shell .mq-tp .mq-tp-v3-action.is-gold,
.mq-shell .mq-tp .mq-tp-v3-record,
.mq-shell .mq-tp .mq-tp-v3-spotlight,
.mq-shell .mq-tp .mq-tp-v3-medals > div,
.mq-shell .mq-tp .mq-tp-v3-achievement,
.mq-shell .mq-tp .mq-tp-v3-code,
.mq-shell .mq-tp .mq-tp-code-entry input {
  color: var(--tp-ink) !important;
  border-color: var(--tp-stroke) !important;
  box-shadow: 0 12px 28px var(--tp-shadow) !important;
}
.mq-shell .mq-tp .mq-tp-v3-action {
  background: linear-gradient(160deg,var(--tp-panel-hi),var(--tp-panel)) !important;
}
.mq-shell .mq-tp .mq-tp-v3-action.is-gold,
.mq-shell .mq-tp .mq-tp-v3-spotlight {
  background: linear-gradient(160deg,
    color-mix(in srgb,var(--tp-warm) 72%,var(--tp-panel-hi)),
    var(--tp-panel)) !important;
  border-color: color-mix(in srgb,var(--tp-warm-ink) 30%,var(--tp-stroke)) !important;
}
.mq-shell .mq-tp .mq-tp-v3-action strong,
.mq-shell .mq-tp .mq-tp-v3-action small,
.mq-shell .mq-tp .mq-tp-v3-record strong,
.mq-shell .mq-tp .mq-tp-v3-record small,
.mq-shell .mq-tp .mq-tp-v3-spotlight h3,
.mq-shell .mq-tp .mq-tp-v3-spotlight p,
.mq-shell .mq-tp .mq-tp-v3-achievement strong,
.mq-shell .mq-tp .mq-tp-v3-achievement small,
.mq-shell .mq-tp .mq-tp-v3-title,
.mq-shell .mq-tp .mq-tp-v3-online,
.mq-shell .mq-tp .mq-tp-v3-stats strong,
.mq-shell .mq-tp .mq-tp-v3-stats span {
  color: inherit !important;
}
.mq-shell .mq-tp .mq-tp-v3-action small,
.mq-shell .mq-tp .mq-tp-v3-achievement small,
.mq-shell .mq-tp .mq-tp-v3-spot-head > span:last-child,
.mq-shell .mq-tp .mq-tp-v3-medals small,
.mq-shell .mq-tp .mq-tp-v3-online {
  color: var(--tp-muted) !important;
}
.mq-shell .mq-tp .mq-tp-v3-action > span,
.mq-shell .mq-tp .mq-tp-v3-achievement > span,
.mq-shell .mq-tp .mq-tp-v3-action.is-gold > span {
  background: color-mix(in srgb,var(--tp-accent) 12%,var(--tp-panel-hi)) !important;
  color: var(--tp-accent) !important;
  border: 1px solid color-mix(in srgb,var(--tp-accent) 24%,transparent) !important;
}
.mq-shell .mq-tp .mq-tp-v3-action > .mq-tp-ic {
  color: var(--tp-accent) !important;
}

/* Le dock interne ne doit plus recouvrir les cartes. */
.mq-shell .mq-tp .mq-tp-v3-dock {
  position: sticky !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  margin: 18px 0 4px !important;
  z-index: 4 !important;
  background: color-mix(in srgb,var(--tp-panel) 92%,transparent) !important;
  border-color: var(--tp-stroke) !important;
  box-shadow: 0 14px 34px var(--tp-shadow) !important;
}
.mq-shell .mq-tp .mq-tp-v3-dock button {
  color: var(--tp-muted) !important;
}
.mq-shell .mq-tp .mq-tp-v3-dock button:first-child,
.mq-shell .mq-tp .mq-tp-v3-dock button.is-active {
  background: color-mix(in srgb,var(--tp-accent) 12%,transparent) !important;
  color: var(--tp-accent) !important;
}

/* Tirage / VS / tableau : plus de panneaux blancs fixes. */
.mq-shell .mq-tp .mq-tp-draw-timer,
.mq-shell .mq-tp .mq-tp-vs-chip,
.mq-shell .mq-tp .mq-tp-launch-card,
.mq-shell .mq-tp .mq-tp-launch-wheel-core,
.mq-shell .mq-tp .mq-tp-launch-score {
  border-color: var(--tp-stroke) !important;
  box-shadow: 0 14px 30px var(--tp-shadow) !important;
}
.mq-shell .mq-tp .mq-tp-draw-timer,
.mq-shell .mq-tp .mq-tp-vs-chip,
.mq-shell .mq-tp .mq-tp-launch-card {
  background: linear-gradient(160deg,var(--tp-panel-hi),var(--tp-panel)) !important;
  color: var(--tp-ink) !important;
}
.mq-shell .mq-tp .mq-tp-vs-side strong,
.mq-shell .mq-tp .mq-tp-launch-player strong,
.mq-shell .mq-tp .mq-tp-contender strong,
.mq-shell .mq-tp .mq-tp-match-card strong,
.mq-shell .mq-tp .mq-tp-match-card b,
.mq-shell .mq-tp .mq-tp-draw-timer strong {
  color: var(--tp-ink) !important;
}
.mq-shell .mq-tp .mq-tp-vs-side small,
.mq-shell .mq-tp .mq-tp-launch-player small,
.mq-shell .mq-tp .mq-tp-contender small,
.mq-shell .mq-tp .mq-tp-draw-timer small,
.mq-shell .mq-tp .mq-tp-match-card small {
  color: var(--tp-muted) !important;
}
.mq-shell .mq-tp .mq-tp-vs-chip > b,
.mq-shell .mq-tp .mq-tp-draw-vs-badge,
.mq-shell .mq-tp .mq-tp-launch-wheel-core,
.mq-shell .mq-tp .mq-tp-launch-score {
  background: linear-gradient(135deg,
    var(--tp-accent),
    color-mix(in srgb,var(--tp-accent) 64%,var(--tp-hero-end))) !important;
  color: var(--tp-on-accent) !important;
}
.mq-shell .mq-tp .mq-tp-launch-meter {
  background: color-mix(in srgb,var(--tp-accent) 14%,transparent) !important;
}
.mq-shell .mq-tp .mq-tp-launch-meter i,
.mq-shell .mq-tp .mq-tp-v3-progress i {
  background: linear-gradient(90deg,var(--tp-accent),color-mix(in srgb,var(--tp-accent) 58%,var(--tp-hero-end))) !important;
}
.mq-shell .mq-tp .mq-tp-draw-pointer {
  border-top-color: var(--tp-accent) !important;
  filter: drop-shadow(0 8px 14px color-mix(in srgb,var(--tp-accent) 26%,transparent)) !important;
}
.mq-shell .mq-tp .mq-tp-draw-flare {
  background: radial-gradient(circle,color-mix(in srgb,var(--tp-accent) 28%,transparent),transparent 67%) !important;
}
.mq-shell .mq-tp .mq-tp-contender.mq-tp-lost {
  opacity: .74 !important;
}

/* Mobile : le timer du tirage se replace pour ne plus masquer la roue / les cartes. */
@media (max-width: 430px) {
  .mq-shell .mq-tp .mq-tp-draw-roulette {
    min-height: 302px !important;
    padding-bottom: 92px !important;
  }
  .mq-shell .mq-tp .mq-tp-draw-vs-badge {
    bottom: 62px !important;
  }
  .mq-shell .mq-tp .mq-tp-draw-timer {
    left: 50% !important;
    right: auto !important;
    bottom: 8px !important;
    transform: translateX(-50%) !important;
    min-width: 122px !important;
    padding: 10px 12px !important;
    text-align: center !important;
  }
  .mq-shell .mq-tp .mq-tp-v3-actions {
    grid-template-columns: 1fr !important;
  }
}

/* Sécurité : aucune action tournoi ne doit hériter d'un fond blanc fixe. */
.mq-shell .mq-tp :is(.mq-tp-public-card,.mq-tp-resume,.mq-tp-lobby-status,.mq-tp-match-card,.mq-tp-reward-card,.mq-tp-sheet,.mq-tp-standings,.mq-tp-bracket-match,.mq-tp-round-tabs button,.mq-tp-round-button) {
  background: var(--tp-panel) !important;
  color: var(--tp-ink) !important;
  border-color: var(--tp-stroke) !important;
}
.mq-shell .mq-tp :is(.mq-tp-public-card small,.mq-tp-resume small,.mq-tp-lobby-status small,.mq-tp-match-card small,.mq-tp-reward-card small,.mq-tp-sheet small,.mq-tp-standings-head,.mq-tp-round-tabs button) {
  color: var(--tp-muted) !important;
}

/* v205 — Navigation du tournoi : deux navigations visibles mais jamais superposées.
   Le dock est un élément FRÈRE du conteneur défilant : ne pas lui appliquer sticky. */
.mq-shell .mq-tp .mq-tp-v3-dock {
  position:relative!important;bottom:auto!important;left:auto!important;right:auto!important;
  flex:0 0 auto!important;margin:8px 12px 12px!important;
  width:calc(100% - 24px)!important;min-height:63px;
}
.mq-shell .mq-tp .mq-tp-v3-scroll {
  min-height:0;flex:1 1 auto;overflow-y:auto;
  padding-bottom:20px!important;overscroll-behavior:contain;
}
.mq-shell .mq-tp :is(.mq-tp-v3-action,.mq-tp-vs-chip,.mq-tp-match-card) {
  min-width:0;overflow-wrap:anywhere;
}
.mq-shell .mq-tp .mq-tp-v3-action strong {font-size:clamp(12px,3.3vw,15px)!important;line-height:1.3!important}
.mq-shell .mq-tp .mq-tp-v3-action small {font-size:clamp(10px,2.8vw,12px)!important;line-height:1.4!important}
@media(max-width:370px){
  .mq-shell .mq-tp .mq-tp-v3-dock{margin-inline:8px!important;width:calc(100% - 16px)!important}
  .mq-shell .mq-tp .mq-tp-v3-actions{gap:8px!important}
}

/* ========================================================================
 MemoMilo v206 · Multijoueur premium connecté (ne touche pas au gameplay)
 ======================================================================== */
.mq-view.is-v206-hub { gap: 0; }
.mq-view.is-v206-hub > .mq-v206-hub {display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0;overflow:hidden;padding:2px 0 4px;color:#164b5b;}
.mq-v206-hub .mq-online-head{flex:0 0 auto;padding:8px 7px 9px;gap:11px;min-height:70px;}
.mq-v206-hub .mq-online-head .mq-title{font-weight:950;font-size:clamp(23px,6.6vw,31px);letter-spacing:-.04em;color:#174b5c;}
.mq-v206-hub .mq-online-head .mq-eyebrow{letter-spacing:.17em;font-size:11px;color:#3c858e;}
.mq-v206-hub .mq-online-head .mq-setup-back{flex:0 0 47px;height:48px;width:47px;border-radius:15px;background:#fff;color:#168196;box-shadow:0 5px 12px #14658612;}
.mq-v206-arena {min-height:0;flex:0 0 auto;padding:0 7px 7px;}
.mq-v206-arena .mq-arena{margin:0;min-height:unset;padding:11px 14px;border-radius:25px;background:linear-gradient(115deg,#0f7e91,#176da7);box-shadow:0 9px 19px #175b791f;}
.mq-v206-arena .mq-arena-eyebrow{font-size:11px;letter-spacing:.15em;}
.mq-v206-arena .mq-arena-main{gap:13px;margin-top:5px;}
.mq-v206-arena .mq-arena-medal{width:66px;height:66px;min-width:66px;transform:scale(.92);}
.mq-v206-arena .mq-arena-trophies strong{font-size:31px;line-height:1;}
.mq-v206-arena .mq-arena-format{margin:4px 0 6px;font-size:12px;}
.mq-v206-arena .mq-arena-ladder{gap:8px;}
.mq-v206-arena .mq-arena-hint{display:none;}
.mq-v206-arena .mq-arena-main .mq-arena-body{min-width:0;}
.mq-v206-resume:empty{display:none}
.mq-v206-resume .mq-arena-act{margin:0 7px 6px;padding:7px 10px;min-height:45px;}
.mq-v206-car-title{display:flex;flex:0 0 auto;align-items:baseline;justify-content:space-between;gap:7px;padding:6px 12px 5px;}
.mq-v206-car-title strong{font-size:13px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:#36838e;white-space:nowrap;}
.mq-v206-car-title span{font-size:11px;font-weight:750;color:#5e9299;white-space:nowrap;}
.mq-v206-track{display:flex;gap:12px;min-height:0;flex:1 1 auto;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:10%;padding:3px 10% 9px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;}
.mq-v206-track::-webkit-scrollbar{display:none;}
.mq-v206-card{position:relative;isolation:isolate;min-height:0;min-width:80%;flex:0 0 80%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(180deg,#fff,#f9fdfd);border:1.5px solid #fff;box-shadow:0 8px 18px #236a821b;border-radius:28px;padding:11px 11px 13px;scroll-snap-align:center;scroll-snap-stop:always;opacity:.75;transform:scale(.965);transition:transform .22s ease,opacity .22s ease;}
.mq-v206-card.is-active{opacity:1;transform:scale(1);box-shadow:0 12px 23px #236a8226;}
.mq-v206-card:before{content:"";position:absolute;z-index:-1;top:7%;width:70%;aspect-ratio:1;border-radius:100%;background:radial-gradient(circle,var(--tint),transparent 75%);pointer-events:none;}
.mq-v206-image{min-height:0;max-height:52%;height:clamp(90px,22vh,192px);width:95%;flex:0 1 auto;display:flex;align-items:center;justify-content:center;margin:0 auto 5px;}
.mq-v206-image img{max-width:100%;max-height:100%;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 4px 5px #11647f10);pointer-events:none;}
.mq-v206-chip{background:var(--tint);color:var(--accent);border-radius:25px;font-size:10px;letter-spacing:.095em;text-transform:uppercase;font-weight:950;padding:5px 10px;}
.mq-v206-card h3{margin:8px 0 4px;font-size:clamp(22px,5.7vw,28px);letter-spacing:-.035em;line-height:1.1;font-weight:950;color:#174b5c;}
.mq-v206-card p{margin:1px 2px 7px;max-width:260px;font-size:clamp(11px,3.3vw,13px);line-height:1.35;color:#63818d;font-weight:750;}
.mq-v206-features{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;}
.mq-v206-features span{padding:5px 7px;border:1px solid #d8eaf0;background:#f6fbfc;color:#507781;font-size:10px;font-weight:850;border-radius:25px;white-space:nowrap;}
.mq-v206-new{position:absolute;top:12px;right:10px;z-index:2;background:linear-gradient(110deg,#ff6274,#e92e4d);border:1px solid #fff;color:#fff;border-radius:99px;padding:5px 9px;font-size:9px;letter-spacing:.065em;font-weight:950;box-shadow:0 3px 9px #be263d29;}
.mq-v206-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:37px;padding:3px 18% 3px;flex:0 0 auto;}
.mq-v206-controls>button{height:31px;width:31px;border-radius:50%;border:1px solid white;color:#14879d;background:#ffffffc7;font-size:23px;line-height:1;display:grid;place-items:center;padding:0;}
.mq-v206-controls>button:disabled{opacity:.35;}
.mq-v206-dots{display:flex;align-items:center;gap:6px;}
.mq-v206-dots button{width:7px;height:7px;border-radius:100px;border:none;padding:0;background:#2896a838;transition:width .2s;}
.mq-v206-dots button[aria-current=true]{width:25px;background:linear-gradient(90deg,#33bdd0,#2d75d4);}
.mq-v206-cta{min-height:53px;flex:0 0 53px;border-radius:19px;margin:2px 8px 1px;width:calc(100% - 16px);padding:9px 16px;border:1px solid #fff8;background:linear-gradient(103deg,#0b8599,#1a70b6);box-shadow:0 5px 0 #075f7680,inset 0 1px 0 #fff7;color:#fff;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:950;font-size:clamp(14px,4vw,20px);}
.mq-v206-cta svg{height:21px;width:21px;flex:none;}
.mq-v206-cta:active{transform:translateY(2px);box-shadow:0 3px 0 #075f7680;}

/* Duel Flash — recompose la vue v205, sans remplacement des fonctions réseau. */
.mq-view.is-v206-speed{gap:7px;}
.mq-view.is-v206-speed .mq-online-head{padding:6px 8px 4px;min-height:66px;gap:13px;flex:0 0 auto;}
.mq-view.is-v206-speed .mq-online-head .mq-title{font-size:clamp(27px,8vw,37px);font-weight:950;letter-spacing:-.05em;color:#103955;}
.mq-view.is-v206-speed .mq-online-head .mq-eyebrow{font-size:11px;letter-spacing:.16em;color:#385e79;font-weight:950;}
.mq-view.is-v206-speed .mq-online-head .mq-setup-back{width:50px;height:50px;flex:0 0 50px;border-radius:16px;background:#fff;box-shadow:0 5px 12px #116d9224;}
.mq-view.is-v206-speed .mq-online-form{display:flex;flex-direction:column;gap:8px;min-height:0;flex:1 1 auto;overflow:auto;padding:0 6px 6px;scrollbar-width:none;}
.mq-view.is-v206-speed .mq-online-form::-webkit-scrollbar{display:none;}
.mq-view.is-v206-speed .mq-speed-private-hero.is-v64{flex:0 0 auto;display:flex;gap:12px;min-height:77px;align-items:center;padding:10px 12px;margin:0;border:2px solid #fffc;border-radius:23px;background:linear-gradient(102deg,#0cccd7,#7dece3 53%,#e5fff6);box-shadow:0 5px 12px #2197a92b;}
.mq-view.is-v206-speed .mq-speed-private-hero.is-v64 .mq-speed-private-icon{width:60px;height:60px;flex:0 0 60px;border-radius:15px;display:grid;place-items:center;color:#f5bc28;filter:drop-shadow(0 2px 3px #a7944773);}
.mq-view.is-v206-speed .mq-speed-private-hero.is-v64>div:last-child{min-width:0;}
.mq-view.is-v206-speed .mq-speed-private-hero.is-v64 small{color:#008e9e;font-size:11px;letter-spacing:.09em;font-weight:950;}
.mq-view.is-v206-speed .mq-speed-private-hero.is-v64 strong{font-size:clamp(18px,4.9vw,23px);line-height:1.12;white-space:normal;font-weight:950;letter-spacing:-.025em;color:#103f55;}
.mq-view.is-v206-speed .mq-speed-private-steps{margin:2px 0 1px;flex:0 0 auto;}
.mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form{flex:0 0 auto;background:#fffefa;border:1.5px solid #fff;border-radius:25px;box-shadow:0 0 0 1px #a0e0e9,0 8px 18px #127b8f1c;padding:15px 13px 12px;margin:0;}
.mq-view.is-v206-speed .mq-online-form-card .mq-premium-field>span{font-size:12px;font-weight:950;letter-spacing:.035em;color:#325f78;text-transform:uppercase;}
.mq-view.is-v206-speed .mq-online-form-card .mq-premium-field input,.mq-view.is-v206-speed .mq-online-form-card .mq-premium-field select{border:2px solid #c8e7ea;border-radius:13px;background:#faffff;color:#153d51;font-weight:900;}
.mq-view.is-v206-speed .mq-speed-rule{border-radius:17px;background:linear-gradient(95deg,#e2faff,#dff8fc);padding:12px 13px;border:1px solid #b7eaf1;}
.mq-view.is-v206-speed .mq-consent-row{padding:9px 2px;}
.mq-view.is-v206-speed .mq-speed-join-link{display:block;flex:0 0 auto;margin:6px auto 9px;text-align:center;color:#3e6b80;}
.mq-view.is-v206-speed .mq-speed-join-link b{color:#098f9e;}
.mq-view.is-v206-speed .mq-setup-foot{flex:0 0 auto;padding:0 8px 6px;}
.mq-view.is-v206-speed .mq-setup-foot .mq-btn-primary{background:linear-gradient(106deg,#09bcd2,#1a75d8);border-radius:22px;border:1px solid #fff;box-shadow:0 4px 0 #086ba185,inset 0 1px 0 #fff9;min-height:57px;color:#fff;font-weight:950;}
@media(max-height:790px){.mq-v206-hub .mq-online-head{min-height:58px;padding:4px 6px 5px}.mq-v206-arena .mq-arena{padding:8px 10px}.mq-v206-arena .mq-arena-medal{width:52px;height:52px;min-width:52px}.mq-v206-arena .mq-arena-trophies strong{font-size:27px}.mq-v206-car-title{padding:2px 10px}.mq-v206-image{height:clamp(85px,17vh,140px)}.mq-v206-controls{min-height:31px;padding-top:1px;padding-bottom:1px}.mq-v206-cta{min-height:47px;flex-basis:47px}.mq-v206-card{padding:7px 10px}.mq-v206-card h3{margin-top:5px}}
@media(max-height:650px){.mq-v206-arena .mq-arena-hint,.mq-v206-car-title span{display:none}.mq-v206-card p{font-size:11px}.mq-v206-features span{font-size:9px}.mq-v206-image{height:85px}.mq-v206-hub .mq-online-head{min-height:53px}.mq-v206-arena .mq-arena{padding:6px 9px}.mq-v206-cta{min-height:43px;flex-basis:43px}.mq-view.is-v206-speed .mq-speed-private-hero.is-v64{min-height:65px}}
@media(prefers-reduced-motion:reduce){.mq-v206-card,.mq-v206-dots button{transition:none!important}.mq-v206-track{scroll-behavior:auto!important}}
/* v206 final QA: track centering must be measured against outer viewport, not
   flex content box after padding; preserve CTA visual over legacy button rules. */
.mq-shell .mq-view.is-v206-hub .mq-v206-track{padding-left:calc((100% - min(80vw,380px))/2);padding-right:calc((100% - min(80vw,380px))/2);scroll-padding-inline:calc((100% - min(80vw,380px))/2);}
.mq-shell .mq-view.is-v206-hub .mq-v206-card{flex:0 0 min(80vw,380px);min-width:min(80vw,380px);max-width:min(80vw,380px);}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-cta{background:linear-gradient(103deg,#0b8599,#1a70b6)!important;color:#fff!important;box-shadow:0 5px 0 #075f7680,inset 0 1px 0 #fff7!important;border:1px solid #fff9!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-cta:active{box-shadow:0 2px 0 #075f7680!important;}

/* v207: inactive views must NEVER retain touch targets during fade transitions. */
.mq-view:not(.is-active) { pointer-events:none !important; }
.mq-view.is-active { pointer-events:auto; }


/* ==========================================================================
   MemoMilo v209 — Multijoueur: six thèmes officiels et contrastes WCAG AA.
   Uniquement des propriétés visuelles : aucune logique de partie modifiée.
   Les variables sont héritées du data-skin fixé par applySkin() dans le jeu.
   ========================================================================= */

.mq-shell[data-skin="jade"] .mq-view.is-v206-hub,.mq-shell[data-skin="jade"] .mq-view.is-v206-speed{--v209-panel:#ffffff;--v209-raised:#f2faf8;--v209-ink:#173e45;--v209-muted:#47656a;--v209-accent:#075d6b;--v209-soft:#e0f3f0;--v209-line:#bcded7;--v209-head:#194950;--v209-hint:#395e64;--v209-nav:#ffffff;--v209-btn:#f7fffd;--v209-cta1:#086578;--v209-cta2:#185c83;--v209-ctafg:#ffffff;--v209-arena1:#135262;--v209-arena2:#146b76;--v209-arenafg:#ffffff;--v209-badge:#a7203a;--v209-badgefg:#ffffff;--v209-progress:#8dedcf;}
.mq-shell[data-skin="ocean"] .mq-view.is-v206-hub,.mq-shell[data-skin="ocean"] .mq-view.is-v206-speed{--v209-panel:#0a405b;--v209-raised:#124f6a;--v209-ink:#f6fcff;--v209-muted:#c6e6f0;--v209-accent:#a4f2f2;--v209-soft:#174f66;--v209-line:#43798d;--v209-head:#f6fcff;--v209-hint:#c6e6f0;--v209-nav:#10445c;--v209-btn:#124f68;--v209-cta1:#99e4f0;--v209-cta2:#78cce3;--v209-ctafg:#062b3c;--v209-arena1:#07344f;--v209-arena2:#126078;--v209-arenafg:#ffffff;--v209-badge:#ff7386;--v209-badgefg:#43101c;--v209-progress:#b9fff0;}
.mq-shell[data-skin="ardoise"] .mq-view.is-v206-hub,.mq-shell[data-skin="ardoise"] .mq-view.is-v206-speed{--v209-panel:#20303b;--v209-raised:#2b404b;--v209-ink:#f7fafc;--v209-muted:#c8d9e1;--v209-accent:#a1edee;--v209-soft:#304b54;--v209-line:#526c75;--v209-head:#f7fafc;--v209-hint:#cfdee3;--v209-nav:#253943;--v209-btn:#314652;--v209-cta1:#9ce5e7;--v209-cta2:#79ccd7;--v209-ctafg:#102631;--v209-arena1:#233b49;--v209-arena2:#2c5562;--v209-arenafg:#ffffff;--v209-badge:#ff8494;--v209-badgefg:#41111b;--v209-progress:#a6f1de;}
.mq-shell[data-skin="grenat"] .mq-view.is-v206-hub,.mq-shell[data-skin="grenat"] .mq-view.is-v206-speed{--v209-panel:#4b202e;--v209-raised:#5e2b3c;--v209-ink:#fff8f5;--v209-muted:#f1d1d0;--v209-accent:#ffe0a8;--v209-soft:#663443;--v209-line:#956577;--v209-head:#fff8f5;--v209-hint:#f1d1d0;--v209-nav:#512737;--v209-btn:#69394a;--v209-cta1:#ffe1af;--v209-cta2:#e5b27c;--v209-ctafg:#442132;--v209-arena1:#4d1c2b;--v209-arena2:#903e5c;--v209-arenafg:#fff9f5;--v209-badge:#ffd0db;--v209-badgefg:#582036;--v209-progress:#ffe6a4;}
.mq-shell[data-skin="ambre"] .mq-view.is-v206-hub,.mq-shell[data-skin="ambre"] .mq-view.is-v206-speed{--v209-panel:#fff9eb;--v209-raised:#fff0d8;--v209-ink:#4b2b13;--v209-muted:#755038;--v209-accent:#80400b;--v209-soft:#ffedcf;--v209-line:#dfbd92;--v209-head:#4b2b13;--v209-hint:#69452b;--v209-nav:#fff8ec;--v209-btn:#ffeed5;--v209-cta1:#85400f;--v209-cta2:#a3511a;--v209-ctafg:#ffffff;--v209-arena1:#783b1e;--v209-arena2:#a65b27;--v209-arenafg:#ffffff;--v209-badge:#9b2638;--v209-badgefg:#ffffff;--v209-progress:#ffe9ad;}
.mq-shell[data-skin="nuit"] .mq-view.is-v206-hub,.mq-shell[data-skin="nuit"] .mq-view.is-v206-speed{--v209-panel:#17243b;--v209-raised:#243552;--v209-ink:#f7faff;--v209-muted:#cbd6e9;--v209-accent:#a3ecf3;--v209-soft:#2a415f;--v209-line:#4d6687;--v209-head:#f7faff;--v209-hint:#cbd6e9;--v209-nav:#1a2b46;--v209-btn:#2b4362;--v209-cta1:#92e0eb;--v209-cta2:#71c7e5;--v209-ctafg:#112842;--v209-arena1:#162b4c;--v209-arena2:#32527e;--v209-arenafg:#ffffff;--v209-badge:#ff8a9c;--v209-badgefg:#3c1020;--v209-progress:#9df2e9;}

/* Hub : titres, surfaces et tonalités lisibles en thèmes clairs / sombres. */
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-hub {color:var(--v209-ink)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-online-head .mq-title {color:var(--v209-head)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-online-head .mq-eyebrow {color:var(--v209-hint)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-online-head .mq-setup-back {
  background:var(--v209-btn)!important;color:var(--v209-ink)!important;
  border:1px solid var(--v209-line)!important;box-shadow:0 3px 13px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena {
  background:linear-gradient(115deg,var(--v209-arena1),var(--v209-arena2))!important;
  border:1px solid color-mix(in srgb,var(--v209-arenafg) 23%,transparent)!important;
  color:var(--v209-arenafg)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-body,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-eyebrow,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-trophies,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-format,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-ladder {color:var(--v209-arenafg)!important;opacity:1!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-format em {
  color:var(--v209-ink)!important;background:var(--v209-panel)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-arena .mq-arena-bar i {background:var(--v209-progress)!important;box-shadow:none!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-car-title strong,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-car-title span {color:var(--v209-hint)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-card {
  color:var(--v209-ink)!important;
  background:linear-gradient(180deg,var(--v209-panel),var(--v209-raised))!important;
  border:1px solid var(--v209-line)!important;
  box-shadow:0 9px 22px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-card:before {
  background:radial-gradient(circle,color-mix(in srgb,var(--v209-accent) 13%,transparent),transparent 75%)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-chip {
  color:var(--v209-accent)!important;background:var(--v209-soft)!important;
  border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-card h3 {color:var(--v209-ink)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-card p {color:var(--v209-muted)!important;opacity:1!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-features span {
  color:var(--v209-muted)!important;background:var(--v209-raised)!important;
  border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-new {
  color:var(--v209-badgefg)!important;background:var(--v209-badge)!important;
  border:1px solid color-mix(in srgb,var(--v209-badgefg) 25%,transparent)!important;
  box-shadow:0 3px 12px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-controls>button {
  color:var(--v209-ink)!important;background:var(--v209-btn)!important;
  border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-controls>button:disabled {opacity:.43!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-dots button {background:var(--v209-line)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-dots button[aria-current="true"] {background:var(--v209-accent)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-cta {
  color:var(--v209-ctafg)!important;
  background:linear-gradient(103deg,var(--v209-cta1),var(--v209-cta2))!important;
  border:1px solid color-mix(in srgb,var(--v209-ctafg) 25%,transparent)!important;
  box-shadow:0 4px 0 #0004,inset 0 1px 0 #ffffff22!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-cta:active {box-shadow:0 2px 0 #0004!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-resume .mq-arena-act {
  color:var(--v209-ink)!important;background:var(--v209-panel)!important;
  border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-resume .mq-arena-copy small,
.mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-resume .mq-arena-chev {color:var(--v209-muted)!important;}
.mq-shell[data-skin] .mq-view.is-v206-hub :is(button,[role="button"]):focus-visible {
  outline:3px solid var(--v209-accent)!important;outline-offset:2px;
}
/* La page Duel Flash est la destination du carrousel : elle hérite des mêmes thèmes. */
.mq-shell[data-skin] .mq-view.is-v206-speed {color:var(--v209-ink)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-head .mq-title {color:var(--v209-head)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-head .mq-eyebrow {color:var(--v209-hint)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-head .mq-setup-back {
  color:var(--v209-ink)!important;background:var(--v209-btn)!important;border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 {
  background:linear-gradient(110deg,var(--v209-soft),var(--v209-raised))!important;
  border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 small {color:var(--v209-accent)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 strong {color:var(--v209-ink)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form {
  background:var(--v209-panel)!important;color:var(--v209-ink)!important;
  border:1px solid var(--v209-line)!important;box-shadow:0 8px 18px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card .mq-premium-field>span {color:var(--v209-ink)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card :is(input,select) {
  background:var(--v209-raised)!important;color:var(--v209-ink)!important;
  border:2px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-rule {
  background:var(--v209-soft)!important;color:var(--v209-ink)!important;border:1px solid var(--v209-line)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-rule :is(small,p,span) {color:var(--v209-muted)!important;opacity:1!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-join-link {color:var(--v209-muted)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-join-link b {color:var(--v209-accent)!important;}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-setup-foot .mq-btn-primary {
  background:linear-gradient(100deg,var(--v209-cta1),var(--v209-cta2))!important;
  color:var(--v209-ctafg)!important;border:1px solid var(--v209-line)!important;
  box-shadow:0 4px 0 #0004!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed :is(button,input,select,a):focus-visible {
  outline:3px solid var(--v209-accent)!important;outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
 .mq-shell[data-skin] .mq-view.is-v206-hub .mq-v206-track{scroll-behavior:auto!important;}
}


/* ============================================================================
   MemoMilo v210 — Duel Flash création : parité complète avec les 6 thèmes.
   Portée strictement limitée à l'écran speed-create (is-v206-speed).
   Le rendu ne change aucun bouton / action / endpoint ni règles des parties.
   ============================================================================ */
.mq-shell[data-skin] .mq-view.is-v206-speed {
  --v210-df-panel:var(--v209-panel);--v210-df-raised:var(--v209-raised);
  --v210-df-text:var(--v209-ink);--v210-df-secondary:var(--v209-muted);
  --v210-df-accent:var(--v209-accent);--v210-df-border:var(--v209-line);
  --v210-df-soft:var(--v209-soft);--v210-df-action:var(--v209-cta1);
  --v210-df-action-text:var(--v209-ctafg);
  color:var(--v210-df-text)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 {
 background:linear-gradient(113deg,var(--v210-df-soft),var(--v210-df-raised))!important;
 border:1px solid var(--v210-df-border)!important;
 box-shadow:0 5px 14px #0002!important;
 color:var(--v210-df-text)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64::after {
 animation:none!important;opacity:.10!important;pointer-events:none!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 .mq-speed-private-icon {
 background:var(--v210-df-action)!important;color:var(--v210-df-action-text)!important;
 border:1px solid var(--v210-df-border)!important;box-shadow:0 4px 10px #0002!important;
 filter:none!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 .mq-speed-private-icon i {
 animation:none!important;border-color:var(--v210-df-border)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 small {
 color:var(--v210-df-accent)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-hero.is-v64 strong {
 color:var(--v210-df-text)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-steps b {
 color:var(--v210-df-action-text)!important;
 background:var(--v210-df-action)!important;
 border:1px solid color-mix(in srgb,var(--v210-df-action-text) 30%,transparent)!important;
 box-shadow:0 3px 8px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-steps em {
 color:var(--v210-df-secondary)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-private-steps>i {
 background:var(--v210-df-border)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form {
 background:var(--v210-df-panel)!important;color:var(--v210-df-text)!important;
 border:1px solid var(--v210-df-border)!important;
 box-shadow:0 7px 19px #0002!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-premium-field>span {
 color:var(--v210-df-text)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form :is(input:not([type="checkbox"]),select) {
 color:var(--v210-df-text)!important;background:var(--v210-df-raised)!important;
 border-color:var(--v210-df-border)!important;caret-color:var(--v210-df-accent)!important;
 -webkit-text-fill-color:var(--v210-df-text)!important;
 color-scheme:normal;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form input::placeholder {
 color:var(--v210-df-secondary)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form select option {
 color:var(--v210-df-text)!important;background:var(--v210-df-panel)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-speed-rule {
 color:var(--v210-df-text)!important;background:var(--v210-df-soft)!important;
 border:1px solid var(--v210-df-border)!important;
 box-shadow:none!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-speed-rule b {
 color:var(--v210-df-text)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-speed-rule span {
 color:var(--v210-df-secondary)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-consent-row {
 color:var(--v210-df-text)!important;border-bottom:1px solid var(--v210-df-border)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-consent-row:last-of-type {
 border-bottom:0!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-privacy-check,
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-privacy-check span {
 color:var(--v210-df-text)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-privacy-check i {
 color:transparent!important;background:var(--v210-df-raised)!important;
 border:2px solid var(--v210-df-border)!important;box-shadow:none!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-privacy-check input:checked + i {
 color:var(--v210-df-action-text)!important;background:var(--v210-df-action)!important;
 border:2px solid var(--v210-df-action)!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-consent-link {
 color:var(--v210-df-text)!important;background:var(--v210-df-raised)!important;
 border:1px solid var(--v210-df-border)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-form-error {
 color:var(--v210-df-text)!important;background:var(--v210-df-raised)!important;
 border-radius:7px!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-join-link {
 color:var(--v210-df-secondary)!important;opacity:1!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-speed-join-link b {
 color:var(--v210-df-accent)!important;opacity:1!important;
 text-decoration:underline;text-underline-offset:3px;
}
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-setup-foot .mq-btn-primary {
 color:var(--v210-df-action-text)!important;
 background:linear-gradient(104deg,var(--v209-cta1),var(--v209-cta2))!important;
 border:1px solid color-mix(in srgb,var(--v210-df-action-text) 27%,transparent)!important;
 box-shadow:0 4px 0 #0004!important;
}
.mq-shell[data-skin] .mq-view.is-v206-speed :is(button,a,input,select):focus-visible,
.mq-shell[data-skin] .mq-view.is-v206-speed .mq-privacy-check input:focus-visible+i {
 outline:3px solid var(--v210-df-accent)!important;outline-offset:3px!important;
}
@media(prefers-reduced-motion:reduce){
 .mq-shell[data-skin] .mq-view.is-v206-speed :is(*,*::before,*::after){animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

.mq-shell[data-skin] .mq-view.is-v206-speed .mq-online-form-card.mq-speed-private-form .mq-form-error:empty{background:transparent!important;min-height:0!important;padding:0!important;margin:0!important;}

/* =====================================================================
   MemoMilo v211 : contrat final du zoom x1,7 pour les SIX thèmes.
   Les règles Océan et « dense » historiques étaient placées plus bas
   et écrasaient les durées/transformations : priorité explicite ici.
   ===================================================================== */
.mq-card-preview-layer[data-skin] {
  transform:translateZ(0) scale(1) !important;
  transition-property:transform !important;
  transition-duration:var(--mq-preview-in-ms,180ms) !important;
  transition-timing-function:cubic-bezier(.22,.78,.22,1) !important;
  transform-origin:50% 50% !important;
  pointer-events:none !important;
}
.mq-card-preview-layer[data-skin].is-active {
  transform:translateZ(0) scale(1.7) !important;
}
.mq-card-preview-layer[data-skin].is-leaving {
  transform:translateZ(0) scale(1) !important;
  transition-duration:var(--mq-preview-out-ms,200ms) !important;
  transition-timing-function:cubic-bezier(.24,.72,.24,1) !important;
}

/* MemoMilo v213 — Vue spectateur, responsive et thème hérité. */
.mq-tp-watch-page { padding:12px clamp(9px,3vw,18px) 25px; max-width:760px; margin-inline:auto; overscroll-behavior:contain; }
.mq-tp-watch-header { display:flex; align-items:center; justify-content:space-around; gap:8px; padding:14px 10px; border-radius:18px; background:var(--mq-surface,rgba(255,255,255,.13)); color:var(--mq-text,#153e50); }
.mq-tp-watch-header strong { min-width:0; max-width:42%; overflow-wrap:anywhere; text-align:center; font-size:clamp(.85rem,3.5vw,1.1rem); }
.mq-tp-watch-header span { font-weight:900; color:var(--mq-accent,#147f87); }
.mq-tp-watch-score {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;color:inherit;}
.mq-tp-watch-score>div { display:flex;flex-direction:column;gap:5px;border-radius:14px;padding:12px;border:1px solid currentColor; }
.mq-tp-watch-score small { opacity:.75; } .mq-tp-watch-score strong {font-size:clamp(16px,4.5vw,23px);}
.mq-tp-watch-grid {display:grid;grid-template-columns:repeat(var(--watch-cols,4),minmax(0,1fr));gap:clamp(3px,1vw,8px);margin-top:12px;}
.mq-tp-watch-card {aspect-ratio:3/4;border:2px solid #e9ffff;border-radius:clamp(5px,1.5vw,12px);box-shadow:0 2px 5px #1237;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#58dcc5,#318dc0);color:white;font-size:clamp(12px,4vw,24px);}
.mq-tp-watch-card.is-open { background:var(--mq-surface,#f5fbfb);color:var(--mq-text,#153e50); }
.mq-tp-watch-card img {height:100%;width:100%;object-fit:cover;}
.mq-tp-watch-button {width:100%;margin-top:10px;min-height:44px;}
.mq-tp-watch-page [data-tn-watch-close] { margin-top:16px;min-height:46px; }
.mq-tp-watch-status {line-height:1.5;} .mq-tp-watch-status strong {display:block;margin-bottom:9px;}
@media (prefers-reduced-motion:reduce) { .mq-tp-watch-page *, .mq-tp-match-card * {animation-duration:.01ms!important;transition-duration:.01ms!important;} }
@media (max-width:360px) { .mq-tp-watch-page {padding-inline:7px;} .mq-tp-watch-score>div {padding:8px;} .mq-tp-watch-card {border-width:1px;} }

/* Spectateur v219 : la couleur suit les variables de chacun des 6 thèmes. */
.mq-tp-watch-sim{margin:12px 0;padding:10px 12px;border:1px solid var(--mq-border,rgba(148,163,184,.35));border-radius:12px;color:var(--mq-text,#e5e7eb);background:var(--mq-surface,rgba(17,24,39,.35));font-size:12px;line-height:1.5;}
.mq-tp-watch-card{transition:transform .22s ease, box-shadow .22s ease;}
.mq-tp-watch-card.is-open{transform:scale(1.04);box-shadow:0 0 0 2px var(--mq-accent,#4cc9a6),0 8px 18px rgba(0,0,0,.16);}
@media(prefers-reduced-motion:reduce){.mq-tp-watch-card{transition:none}.mq-tp-watch-card.is-open{transform:none}}

/* Le spectateur voit le composant de cartes d'origine, en lecture seule. */
.mq-tp-watch-board-wrap{width:100%;padding:12px 3px;overflow:visible}
.mq-tp-watch-board{width:min(100%,520px);margin-inline:auto;gap:clamp(3px,1vw,8px)}
.mq-tp-watch-board .mq-card{opacity:1!important;pointer-events:none;cursor:default}
.mq-tp-watch-board .mq-card.is-done{animation:none}
.mq-tp-watch-board .mq-card-name{font-size:clamp(6px,1.8vw,11px)}
.mq-tp-watch-board .mq-face{border-width:clamp(1px,.6vw,3px)}
@media(max-width:360px){.mq-tp-watch-board-wrap{padding-inline:0}.mq-tp-watch-board{gap:3px}}
@media(prefers-reduced-motion:reduce){.mq-tp-watch-board .mq-card{transition:none!important;animation:none!important}}
/* MemoMilo v220 — Tournois premium intégrés, un seul rendu Android / WordPress.
   Toute la logique compétitive reste sous autorité REST. */
.mq-shell .mq-tp{--mp-bg:#101329;--mp-panel:#1c203c;--mp-panel2:#242946;--mp-ink:#f9f7ff;--mp-dim:#adb0c9;--mp-accent:#bba8ff;--mp-accent2:#8c78f8;--mp-contrast:#161334;--mp-hero:#383264;--mp-hero2:#1e254c;--mp-glow:rgba(136,115,217,.26);--mp-border:rgba(255,255,255,.11);--mp-light:rgba(255,255,255,.07);--mp-gold:#ffd28c}
.mq-shell[data-skin="jade"] .mq-tp{--mp-bg:#0b2226;--mp-panel:#15363a;--mp-panel2:#1b4146;--mp-ink:#f7fffd;--mp-dim:#accbce;--mp-accent:#98f0da;--mp-accent2:#59caba;--mp-contrast:#0b302e;--mp-hero:#215d59;--mp-hero2:#183b45;--mp-glow:rgba(74,219,197,.22)}
.mq-shell[data-skin="ocean"] .mq-tp{--mp-bg:#0b1c34;--mp-panel:#172d49;--mp-panel2:#1d3b59;--mp-ink:#f6faff;--mp-dim:#adbed8;--mp-accent:#88d9ff;--mp-accent2:#5baff9;--mp-contrast:#0c2a48;--mp-hero:#1d537c;--mp-hero2:#1b3157;--mp-glow:rgba(80,184,236,.22)}
.mq-shell[data-skin="ardoise"] .mq-tp{--mp-bg:#19242b;--mp-panel:#26363c;--mp-panel2:#30414a;--mp-ink:#f5faff;--mp-dim:#aebfc9;--mp-accent:#c1e9f1;--mp-accent2:#8bb9ca;--mp-contrast:#17333d;--mp-hero:#3a555b;--mp-hero2:#293746;--mp-glow:rgba(168,215,220,.16)}
.mq-shell[data-skin="grenat"] .mq-tp{--mp-bg:#270e1f;--mp-panel:#391d35;--mp-panel2:#49223f;--mp-ink:#fff8fb;--mp-dim:#d2abbf;--mp-accent:#ffb4c7;--mp-accent2:#e47ea9;--mp-contrast:#491a32;--mp-hero:#773653;--mp-hero2:#43264d;--mp-glow:rgba(237,134,188,.22)}
.mq-shell[data-skin="ambre"] .mq-tp{--mp-bg:#25190e;--mp-panel:#392b1c;--mp-panel2:#463725;--mp-ink:#fffaf0;--mp-dim:#d7bda1;--mp-accent:#ffdda0;--mp-accent2:#f4ad58;--mp-contrast:#493018;--mp-hero:#6f4c2c;--mp-hero2:#3c3627;--mp-glow:rgba(251,197,106,.21)}
.mq-shell .mq-tp .mp-screen{height:100%;min-height:0;display:flex;flex-direction:column;color:var(--mp-ink);background:radial-gradient(ellipse 75% 28% at 50% 0%,var(--mp-glow),transparent 77%),var(--mp-bg);isolation:isolate}
.mq-shell .mq-tp .mp-screen *, .mq-shell .mq-tp .mp-hub-hero *{box-sizing:border-box}
.mq-shell .mq-tp .mp-create-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:6px clamp(14px,4vw,22px) 110px;scrollbar-width:thin}
.mq-shell .mq-tp .mp-hero,.mq-shell .mq-tp .mp-hub-hero{position:relative;overflow:hidden;border:1px solid var(--mp-border);background:linear-gradient(115deg,var(--mp-hero),var(--mp-hero2));border-radius:25px;padding:21px 20px;min-height:155px;margin-bottom:18px;box-shadow:0 14px 35px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.14);color:var(--mp-ink)}
.mq-shell .mq-tp .mp-hero:before,.mq-shell .mq-tp .mp-hub-hero:before{content:"";position:absolute;width:210px;height:210px;right:-80px;top:-130px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02)}
.mq-shell .mq-tp .mp-eyebrow{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--mp-accent)}
.mq-shell .mq-tp .mp-hero h2,.mq-shell .mq-tp .mp-hub-hero h2{font-size:clamp(23px,6.5vw,28px);font-weight:950;line-height:1.1;margin:10px 0 8px;letter-spacing:-.04em;color:var(--mp-ink);position:relative;z-index:1;max-width:70%}
.mq-shell .mq-tp .mp-hero p,.mq-shell .mq-tp .mp-hub-hero p{color:var(--mp-dim);font-size:12px;font-weight:650;line-height:1.42;max-width:75%;position:relative;z-index:1}
.mq-shell .mq-tp .mp-hero-cup,.mq-shell .mq-tp .mp-hub-hero>span{position:absolute;right:14px;bottom:14px;font-size:68px;filter:drop-shadow(0 12px 16px rgba(0,0,0,.25));transform:rotate(-9deg)}
.mq-shell .mq-tp .mp-hub-hero{margin:2px 8px 14px}
.mq-shell .mq-tp .mp-section{margin:0 0 18px}
.mq-shell .mq-tp .mp-section>h3,.mq-shell .mq-tp .mp-line h3{font-size:16px;font-weight:900;letter-spacing:-.03em;color:var(--mp-ink);margin:0 0 9px}
.mq-shell .mq-tp .mp-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px}
.mq-shell .mq-tp .mp-line h3{margin:0}.mq-shell .mq-tp .mp-line small{font-size:10px;font-weight:800;color:var(--mp-dim)}
.mq-shell .mq-tp .mp-name{display:flex;align-items:center;gap:12px;padding:12px 15px;min-height:60px;border-radius:18px;background:var(--mp-panel);border:1px solid var(--mp-border)}
.mq-shell .mq-tp .mp-name span{font-size:25px;color:var(--mp-accent)}
.mq-shell .mq-tp .mp-name input{width:100%;min-width:0;border:0!important;outline:0!important;box-shadow:none!important;background:none!important;color:var(--mp-ink)!important;font-size:16px!important;font-weight:900!important;padding:0!important}
.mq-shell .mq-tp .mp-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mq-shell .mq-tp .mp-card-grid button,.mq-shell .mq-tp .mp-size-grid button,.mq-shell .mq-tp .mp-segments button{border:1.5px solid var(--mp-border);background:var(--mp-panel);color:var(--mp-ink);border-radius:17px;min-width:0;min-height:60px;padding:12px 10px;font-size:13px;font-weight:900;text-align:center;transition:border-color .18s,transform .18s,background .18s}
.mq-shell .mq-tp .mp-card-grid button{min-height:96px;font-size:15px;line-height:1.35}
.mq-shell .mq-tp button[aria-pressed="true"]{border-color:var(--mp-accent);background:color-mix(in srgb,var(--mp-accent) 14%,var(--mp-panel));box-shadow:inset 0 1px rgba(255,255,255,.1)}
.mq-shell .mq-tp .mp-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mq-shell .mq-tp .mp-size-grid button{font-size:20px;font-weight:950}.mq-shell .mq-tp .mp-size-grid small{display:block;font-size:10px;font-weight:700;color:var(--mp-dim)}
.mq-shell .mq-tp .mp-universe{display:flex;width:100%;align-items:center;gap:12px;border:1px solid var(--mp-border);background:var(--mp-panel);color:var(--mp-ink);border-radius:18px;padding:12px;min-height:70px;text-align:left}
.mq-shell .mq-tp .mp-universe-emoji{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;background:var(--mp-panel2);font-size:26px}
.mq-shell .mq-tp .mp-universe>span:nth-child(2){flex:1;min-width:0}.mq-shell .mq-tp .mp-universe b{display:block;font-size:14px;font-weight:900}.mq-shell .mq-tp .mp-universe small{display:block;font-size:10px;color:var(--mp-dim);margin-top:3px}.mq-shell .mq-tp .mp-universe strong{font-size:10px;color:var(--mp-accent);white-space:nowrap}
.mq-shell .mq-tp .mp-advanced,.mq-shell .mq-tp .mp-identity{border:1px solid var(--mp-border);background:var(--mp-panel);border-radius:18px;color:var(--mp-ink);padding:15px}
.mq-shell .mq-tp .mp-advanced>summary,.mq-shell .mq-tp .mp-identity>summary{cursor:pointer;font-size:14px;font-weight:900;display:flex;justify-content:space-between;align-items:center;gap:5px}.mq-shell .mq-tp .mp-advanced>summary span,.mq-shell .mq-tp .mp-identity>summary span{font-size:10px;font-weight:800;color:var(--mp-accent)}
.mq-shell .mq-tp .mp-advanced-body,.mq-shell .mq-tp .mp-identity-body{padding-top:15px;display:grid;gap:10px}
.mq-shell .mq-tp .mp-mini-label{font-size:11px;font-weight:850;color:var(--mp-dim);margin-top:7px}.mq-shell .mq-tp .mp-segments{display:flex;gap:7px;flex-wrap:wrap}.mq-shell .mq-tp .mp-segments button{min-height:41px;flex:1 1 auto;font-size:11px}
.mq-shell .mq-tp .mp-phase{display:flex;align-items:center;gap:5px;justify-content:space-between;padding:8px 0;border-top:1px solid var(--mp-border);font-size:10px}.mq-shell .mq-tp .mp-phase span{margin-right:auto;min-width:65px;font-weight:750}.mq-shell .mq-tp .mp-phase button{border:1px solid var(--mp-border);border-radius:9px;background:var(--mp-panel2);color:var(--mp-ink);padding:7px 6px;font-size:10px}.mq-shell .mq-tp .mp-phase button[aria-pressed="true"]{color:var(--mp-accent);border-color:var(--mp-accent)}
.mq-shell .mq-tp .mp-identity-body label{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.4}.mq-shell .mq-tp .mp-identity-body label:has(input[type="text"]){display:grid}.mq-shell .mq-tp .mp-identity-body input[type="text"]{width:100%;padding:10px;border-radius:10px;border:1px solid var(--mp-border);background:var(--mp-panel2);color:var(--mp-ink);font-weight:850}.mq-shell .mq-tp .mp-identity-body a{font-size:11px;color:var(--mp-accent);margin-left:20px}
.mq-shell .mq-tp .mp-join{font-size:12px;font-weight:850}.mq-shell .mq-tp .mp-muted{font-size:11px;line-height:1.45;color:var(--mp-dim);display:block}
.mq-shell .mq-tp .mp-summary{padding:15px;border:1px solid var(--mp-border);border-radius:20px;background:linear-gradient(135deg,var(--mp-panel2),var(--mp-panel));margin-top:12px}.mq-shell .mq-tp .mp-summary span{display:block;color:var(--mp-accent);font-size:10px;letter-spacing:.15em;font-weight:900}.mq-shell .mq-tp .mp-summary strong{display:block;font-size:16px;margin-top:8px;color:var(--mp-ink);font-weight:950}.mq-shell .mq-tp .mp-summary small{display:block;margin-top:6px;color:var(--mp-dim);font-size:11px}
.mq-shell .mq-tp .mp-bottom{position:absolute;bottom:0;left:0;right:0;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,var(--mp-bg) 18%);z-index:3}.mq-shell .mq-tp .mp-bottom>span{display:block;text-align:center;font-size:10px;font-weight:750;color:var(--mp-dim);margin:0 0 5px;min-height:12px}
.mq-shell .mq-tp .mp-main-button,.mq-shell .mq-tp .mp-ai-add{width:100%;border:0;min-height:55px;border-radius:17px;background:linear-gradient(125deg,var(--mp-accent),var(--mp-accent2));font-size:14px;font-weight:950;color:var(--mp-contrast);box-shadow:0 12px 26px rgba(0,0,0,.19)}.mq-shell .mq-tp .mp-main-button:disabled{opacity:.5}
.mq-shell .mq-tp .mp-overlay{position:absolute;inset:0;z-index:20;background:rgba(4,7,16,.72);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:flex-end;padding:14px}.mq-shell .mq-tp .mp-overlay[hidden]{display:none!important}.mq-shell .mq-tp .mp-overlay-card{background:var(--mp-panel2);width:100%;max-height:82%;overflow:auto;border:1px solid var(--mp-border);border-radius:24px;padding:17px;box-shadow:0 20px 50px rgba(0,0,0,.45);color:var(--mp-ink)}.mq-shell .mq-tp .mp-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mq-shell .mq-tp .mp-overlay-head h3{font-size:20px;font-weight:950}.mq-shell .mq-tp .mp-overlay-head button{border:1px solid var(--mp-border);border-radius:12px;background:var(--mp-panel);color:var(--mp-ink);width:38px;height:38px;font-size:24px}.mq-shell .mq-tp .mp-overlay-card>p{margin:7px 0 15px;color:var(--mp-dim);font-size:12px;line-height:1.5}.mq-shell .mq-tp [data-mp-category-items]{display:grid;gap:8px}.mq-shell .mq-tp [data-mp-category-items]>button{padding:13px;min-height:49px;text-align:left;font-weight:850;border:1px solid var(--mp-border);border-radius:12px;background:var(--mp-panel);color:var(--mp-ink)}.mq-shell .mq-tp [data-mp-category-items]>button:disabled{opacity:.42}
/* Vestiaire réel : nombre et niveau d'IA choisis avant la requête au serveur. */
.mq-shell .mq-tp .mp-lobby{padding:8px clamp(14px,4vw,22px) 135px;background:radial-gradient(ellipse at top,var(--mp-glow),transparent 42%),var(--mp-bg);color:var(--mp-ink)}
.mq-shell .mq-tp .mp-lobby-hero{min-height:147px}.mq-shell .mq-tp .mp-lobby-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px}.mq-shell .mq-tp .mp-lobby-stats>div{background:var(--mp-panel);border:1px solid var(--mp-border);border-radius:14px;padding:12px 7px;text-align:center}.mq-shell .mq-tp .mp-lobby-stats small{display:block;color:var(--mp-dim);font-size:10px;font-weight:800}.mq-shell .mq-tp .mp-lobby-stats b{display:block;color:var(--mp-ink);margin-top:6px;font-size:19px}
.mq-shell .mq-tp .mp-lobby-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.mq-shell .mq-tp .mp-lobby-actions button{min-height:47px;padding:10px;background:var(--mp-panel2);border:1px solid var(--mp-border);border-radius:15px;color:var(--mp-ink);font-weight:900;font-size:12px}
.mq-shell .mq-tp .mp-lobby-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:15px}.mq-shell .mq-tp .mp-lobby-players>.mq-tp-seat{min-width:0;margin:0;background:var(--mp-panel);border:1px solid var(--mp-border);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:13px 8px;gap:6px;min-height:118px;color:var(--mp-ink)}.mq-shell .mq-tp .mp-lobby-players>.mq-tp-seat strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:900}.mq-shell .mq-tp .mp-lobby-players>.mq-tp-seat small{font-size:10px;color:var(--mp-dim);text-align:center}.mq-shell .mq-tp .mp-lobby-players .mq-tp-photo{max-height:45px}
.mq-shell .mq-tp .mp-ai-add{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px}.mq-shell .mq-tp .mp-ai-add span{font-size:10px;font-weight:750;opacity:.72}.mq-shell .mq-tp .mp-lobby-note{text-align:center;margin:14px 0}.mq-shell .mq-tp .mp-minor{width:100%;border:1px solid var(--mp-border);border-radius:13px;background:var(--mp-panel);color:var(--mp-accent);min-height:43px;font-weight:850}
.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-setup{margin:0;border:0;background:transparent;box-shadow:none;padding:0}.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-setup-head{display:none}.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-number,.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-select-row{background:var(--mp-panel);border:1px solid var(--mp-border);border-radius:14px;color:var(--mp-ink);margin:0 0 10px;padding:11px}.mq-shell .mq-tp .mp-bot-dialog select{background:var(--mp-panel2);color:var(--mp-ink);border-radius:10px;border:1px solid var(--mp-border);padding:9px;font-size:12px;min-height:42px}.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-add{min-height:52px;width:100%;border-radius:15px;background:linear-gradient(125deg,var(--mp-accent),var(--mp-accent2));color:var(--mp-contrast);font-weight:950;border:0}
/* Le serveur peut rester plusieurs secondes en status=drawing : roulette décorative,
   véritables affiches restaurées depuis d.matches uniquement. */
.mq-shell .mq-tp .mq-tp-draw-roulette{filter:drop-shadow(0 14px 26px var(--mp-glow))}.mq-shell .mq-tp .mq-tp-draw-roulette .mq-tp-orbit-avatars{animation:mp-draw-turn 2.1s cubic-bezier(.42,.04,.55,.94) infinite}.mq-shell .mq-tp .mq-tp-draw-flare{animation:mp-draw-pulse 1.3s ease-in-out infinite}.mq-shell .mq-tp .mq-tp-vs-chip{animation:mp-card-reveal .5s both}.mq-shell .mq-tp .mq-tp-vs-chip:nth-child(2){animation-delay:.11s}.mq-shell .mq-tp .mq-tp-vs-chip:nth-child(3){animation-delay:.22s}.mq-shell .mq-tp .mq-tp-vs-chip:nth-child(4){animation-delay:.33s}
@keyframes mp-draw-turn{to{transform:rotate(360deg)}}@keyframes mp-draw-pulse{50%{opacity:.56;transform:scale(1.09)}}@keyframes mp-card-reveal{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:350px){.mq-shell .mq-tp .mp-card-grid button{font-size:12px}.mq-shell .mq-tp .mp-size-grid{gap:5px}.mq-shell .mq-tp .mp-size-grid button{padding:8px 3px}.mq-shell .mq-tp .mp-hero{padding:16px}.mq-shell .mq-tp .mp-hero-cup{font-size:48px}}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp :is(.mp-hero,.mp-main-button,.mp-ai-add,.mq-tp-draw-roulette .mq-tp-orbit-avatars,.mq-tp-draw-flare,.mq-tp-vs-chip){animation:none!important;transition:none!important}}

.mq-shell .mq-tp .mp-size-grid button:after{content:'joueurs';display:block;font-size:10px;font-weight:750;color:var(--mp-dim);margin-top:2px}
/* Correctif contrastes fenêtres IA sur les six palettes (Lagon inclus). */
.mq-shell .mq-tp .mp-bot-dialog .mp-overlay-head h3,
.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-setup :is(strong,span,label),
.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-number,
.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-select-row{color:var(--mp-ink)!important}
.mq-shell .mq-tp .mp-bot-dialog .mq-tp-bot-setup :is(small,p){color:var(--mp-dim)!important}

/* ===============================================================
 MemoMilo v221 — correction du point d'entrée réel des Tournois.
 La maquette Premium est reconstruite dans renderTournamentHub() et
 les styles sont volontairement bornés à .mp-hub-v221. Ne modifie ni
 le gameplay, ni le transport réseau, ni les écrans non-Tournois.
 =============================================================== */
.mq-shell.is-tp-full .mq-nav{display:none!important}
.mq-shell.is-tp-full .mq-stage{min-height:0;flex:1 1 auto}
.mq-shell .mq-tp.mp-hub-v221{
 --mp221-edge:rgba(255,255,255,.13);
 --mp221-soft:rgba(255,255,255,.07);
 --mp221-quiet:rgba(255,255,255,.06);
 --mp221-shadow:rgba(0,0,0,.21);
 display:flex!important;flex-direction:column!important;min-height:0;height:100%;
 background:radial-gradient(ellipse 100% 48% at 50% -12%,var(--mp-glow),transparent 78%),var(--mp-bg)!important;
 color:var(--mp-ink)!important;border:0!important;border-radius:0!important;
}
.mq-shell .mq-tp.mp-hub-v221 *,
.mq-shell .mq-tp.mp-hub-v221 *::before,
.mq-shell .mq-tp.mp-hub-v221 *::after{box-sizing:border-box}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-screen-head{
 display:flex;align-items:center;gap:12px;flex:0 0 auto;
 padding:15px 20px 13px!important;min-height:74px;
 background:transparent!important;border-bottom:1px solid var(--mp221-edge);
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-screen-head h1{
 color:var(--mp-ink)!important;font-size:21px!important;letter-spacing:-.6px;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-back{
 display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0!important;
 border-radius:14px!important;background:var(--mp221-soft)!important;
 border:1px solid var(--mp221-edge)!important;color:var(--mp-ink)!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-screen-head .mq-tp-tag{
 border:1px solid color-mix(in srgb,var(--mp-accent) 46%,transparent)!important;
 background:color-mix(in srgb,var(--mp-accent) 12%,var(--mp-panel))!important;
 color:var(--mp-accent)!important;font-size:10px!important;letter-spacing:.45px;
 padding:9px 10px;max-width:116px;white-space:nowrap;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-screen-head .mq-tp-tag .mq-tp-dot{background:var(--mp-accent)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-scroll{
 flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
 padding:17px 18px calc(36px + env(safe-area-inset-bottom))!important;
 scroll-behavior:smooth;overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;color:var(--mp-ink);
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-scroll [data-tn-anchor]{scroll-margin-top:14px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero{
 min-height:187px;position:relative;isolation:isolate;overflow:hidden;
 display:flex;align-items:center;padding:23px 20px 22px;margin:0 0 23px;
 border:1px solid rgba(255,255,255,.24);border-radius:26px;
 background:linear-gradient(118deg,var(--mp-hero),var(--mp-hero2))!important;
 box-shadow:0 15px 36px var(--mp221-shadow),inset 0 1px rgba(255,255,255,.19);
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero::before{
 content:"";position:absolute;right:-69px;top:-139px;width:260px;height:260px;
 border-radius:50%;border:1px solid rgba(255,255,255,.16);
 box-shadow:0 0 0 38px rgba(255,255,255,.04),0 0 0 83px rgba(255,255,255,.025);z-index:-1;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero-copy{position:relative;z-index:2;width:74%;min-width:0;}
.mq-shell .mq-tp.mp-hub-v221 .mp221-overline{font-size:10px;line-height:1.4;font-weight:950;letter-spacing:1.4px;color:var(--mp-accent)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero h2{
 max-width:230px;letter-spacing:-1.0px;font-weight:950;font-size:clamp(22px,6.25vw,29px);
 line-height:1.12;margin:13px 0 9px;color:var(--mp-ink)!important;
 text-shadow:0 2px 5px rgba(0,0,0,.08);
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero p{font-size:12px;font-weight:750;max-width:205px;line-height:1.5;color:var(--mp-dim)!important;margin:0}
.mq-shell .mq-tp.mp-hub-v221 .mp221-cup-wrap{
 position:absolute;width:153px;height:162px;right:-11px;bottom:-20px;z-index:1;
 filter:drop-shadow(0 13px 15px rgba(0,0,0,.4));transform:rotate(6deg);
 animation:mp221-trophy-float 5s ease-in-out infinite;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-cup-wrap .mq-tp-cup{width:100%!important;height:100%!important;max-width:none!important;display:block}
.mq-shell .mq-tp.mp-hub-v221 .mp221-hero-glow{position:absolute;right:0;bottom:0;width:180px;height:130px;background:radial-gradient(ellipse at bottom right,rgba(255,202,93,.1),transparent 76%);pointer-events:none}
.mq-shell .mq-tp.mp-hub-v221 .mp221-section-header{
 display:flex;justify-content:space-between;align-items:center;gap:10px;
 margin:0 0 11px;min-height:22px;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-section-header h3{
 margin:0!important;font-size:16px!important;line-height:1.25;font-weight:940;
 text-transform:none;letter-spacing:-.4px;color:var(--mp-ink)!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-link{
 display:flex;align-items:center;gap:5px;padding:7px 8px;border:0!important;
 border-radius:10px;background:var(--mp221-soft)!important;
 color:var(--mp-accent)!important;font-size:11px;font-weight:900;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-link .mq-tp-ic{width:14px;height:14px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-caption{
 color:var(--mp-dim)!important;font-weight:800;font-size:10px;white-space:nowrap;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-actions{
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:0 0 22px;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action{
 position:relative;min-width:0;min-height:144px;padding:16px 14px!important;
 display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;
 text-align:left!important;border-radius:20px!important;
 border:1.5px solid var(--mp221-edge)!important;
 color:var(--mp-ink)!important;background:var(--mp-panel)!important;
 box-shadow:0 7px 22px var(--mp221-shadow)!important;
 transition:transform .17s,border-color .17s,box-shadow .17s;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-main{
 background:linear-gradient(139deg,var(--mp-panel2),var(--mp-panel))!important;
 border-color:color-mix(in srgb,var(--mp-accent) 56%,var(--mp-panel))!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action:active{transform:scale(.975)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-icon{
 display:grid;place-items:center;width:43px;height:43px;flex:none;
 border-radius:14px;color:var(--mp-accent)!important;
 background:color-mix(in srgb,var(--mp-accent) 13%,var(--mp-panel2))!important;
 margin:0 0 14px;border:1px solid color-mix(in srgb,var(--mp-accent) 18%,transparent);
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-icon .mq-tp-ic{width:22px;height:22px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-copy{max-width:100%;min-width:0;padding-right:10px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-copy strong{
 display:block;color:var(--mp-ink)!important;font-size:14px!important;
 line-height:1.25;font-weight:950;letter-spacing:-.35px;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-copy small{
 display:block;color:var(--mp-dim)!important;font-size:11px!important;
 line-height:1.35;font-weight:700;margin-top:5px;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-arrow{
 position:absolute;right:9px;bottom:11px;color:var(--mp-accent)!important;
 width:20px;height:20px;display:grid;place-items:center;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-action-arrow .mq-tp-ic{width:17px;height:17px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-priority,
.mq-shell .mq-tp.mp-hub-v221 .mp221-my,
.mq-shell .mq-tp.mp-hub-v221 .mp221-live,
.mq-shell .mq-tp.mp-hub-v221 .mp221-invite{margin:0 0 21px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight{
 border:1px solid var(--mp221-edge)!important;background:linear-gradient(140deg,var(--mp-panel2),var(--mp-panel))!important;
 border-radius:22px!important;box-shadow:0 13px 29px var(--mp221-shadow)!important;
 padding:17px 17px 16px!important;color:var(--mp-ink)!important;min-height:0!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight .mq-tp-v3-spot-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spot-head .mq-tp-tag{
 display:inline-flex;gap:5px;align-items:center;background:color-mix(in srgb,var(--mp-accent) 14%,var(--mp-panel))!important;
 border:1px solid color-mix(in srgb,var(--mp-accent) 35%,transparent)!important;color:var(--mp-accent)!important;
 font-size:10px!important;border-radius:999px;padding:6px 10px;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight h3{
 color:var(--mp-ink)!important;font-size:17px!important;font-weight:930!important;
 line-height:1.32;letter-spacing:-.4px;margin:5px 0 5px!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight p{
 color:var(--mp-dim)!important;font-size:12px!important;line-height:1.5;margin:0 0 14px!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight .mq-tp-primary{
 display:flex;align-items:center;justify-content:center;gap:10px;
 width:100%;min-height:50px;border:0!important;border-radius:16px!important;
 background:linear-gradient(125deg,var(--mp-accent),var(--mp-accent2))!important;
 color:var(--mp-contrast)!important;font-size:14px;font-weight:950!important;
 box-shadow:0 11px 25px var(--mp221-shadow)!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-spotlight .mq-tp-primary .mq-tp-ic{height:18px;width:18px;color:inherit!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-section-label{
 margin:0 0 11px!important;min-height:24px;display:flex;justify-content:space-between;align-items:center;gap:9px;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-section-label h3{
 margin:0;color:var(--mp-ink)!important;text-transform:none!important;font-size:16px!important;
 line-height:1.25;font-weight:950;letter-spacing:-.35px!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-section-label small{
 color:var(--mp-dim)!important;font-size:10px;font-weight:800;white-space:nowrap;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-mine{display:grid;gap:8px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume{
 width:100%;display:flex;align-items:center;gap:11px;min-height:70px;
 padding:12px!important;border-radius:18px!important;
 border:1px solid var(--mp221-edge)!important;
 color:var(--mp-ink)!important;background:var(--mp-panel)!important;
 box-shadow:0 7px 20px var(--mp221-shadow)!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume .mq-tp-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:var(--mp221-soft);color:var(--mp-accent)}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume .mq-tp-symbol .mq-tp-ic{width:21px;height:21px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume>div:nth-child(2){flex:1;min-width:0}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume strong{display:block;color:var(--mp-ink)!important;font-size:13px;font-weight:900;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume small{display:block;color:var(--mp-dim)!important;font-size:11px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume>span{display:flex;align-items:center;gap:3px;color:var(--mp-accent)!important;font-size:11px;font-weight:950;white-space:nowrap}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-resume .mq-tp-dot{background:var(--mp-accent)!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card{
 padding:13px!important;border-radius:18px!important;display:flex;gap:11px;align-items:center;
 color:var(--mp-ink)!important;background:var(--mp-panel)!important;
 border:1px solid var(--mp221-edge)!important;box-shadow:none!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card .mq-tp-copy{flex:1;min-width:0}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card strong{color:var(--mp-ink)!important;font-size:13px!important;line-height:1.3;font-weight:950}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card small{color:var(--mp-dim)!important;font-size:10px!important;line-height:1.4}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card .mq-tp-meter{background:var(--mp221-soft)!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-card .mq-tp-meter i{background:var(--mp-accent)!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-actions{display:flex;flex-direction:column;gap:5px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-actions .mq-tp-secondary{background:var(--mp-accent)!important;color:var(--mp-contrast)!important;border:0!important;border-radius:10px!important;min-height:38px;padding:7px 9px;font-size:11px;font-weight:900}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-actions .mq-tp-secondary:disabled{opacity:.52}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-public-actions .mq-tp-report-link{font-size:10px!important;color:var(--mp-dim)!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-card,
.mq-shell .mq-tp.mp-hub-v221 .mp221-empty{
 background:var(--mp-panel)!important;color:var(--mp-ink)!important;
 border:1px solid var(--mp221-edge)!important;
 border-radius:17px!important;padding:16px!important;box-shadow:none!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-empty{text-align:center}
.mq-shell .mq-tp.mp-hub-v221 .mp221-empty>span{display:block;font-size:28px;color:var(--mp-accent)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-empty p{font-size:12px;color:var(--mp-dim)!important;margin:7px 0 0}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-card .mq-tp-muted{font-size:12px!important;line-height:1.5;color:var(--mp-dim)!important;margin:0}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-panel{background:var(--mp-panel)!important;border:1px solid var(--mp221-edge)!important;padding:12px!important;border-radius:18px!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-panel .mq-tp-code-entry{display:flex;align-items:center;gap:10px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-panel input{
 min-width:0;flex:1;min-height:51px;padding:12px 15px!important;
 color:var(--mp-ink)!important;background:var(--mp-panel2)!important;
 border:1px solid var(--mp221-edge)!important;border-radius:13px!important;
 font-size:20px!important;letter-spacing:4px;text-align:center;font-weight:950;box-shadow:none!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-panel input::placeholder{color:var(--mp-dim);opacity:.7}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-join{
 display:grid;place-items:center;width:53px;height:51px;flex:none;
 background:var(--mp-accent)!important;border:0!important;border-radius:13px!important;
 color:var(--mp-contrast)!important;
}
.mq-shell .mq-tp.mp-hub-v221 .mp221-code-join .mq-tp-ic{width:22px;height:22px}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-error{color:#ffb4bd!important;font-size:11px;margin:7px 0 0}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records{overflow:hidden;background:var(--mp-panel);border:1px solid var(--mp221-edge);border-radius:18px;margin-bottom:19px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary{cursor:pointer;list-style:none;min-height:67px;padding:14px;display:flex;align-items:center;gap:12px;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary::-webkit-details-marker{display:none}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary>.mq-tp-ic:first-child{width:22px;height:22px;color:var(--mp-accent)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary strong{flex:1;font-size:14px;font-weight:950;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary span{font-size:11px;color:var(--mp-dim)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-records summary>.mq-tp-ic:last-child{width:15px;height:15px;color:var(--mp-accent)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-record-inner{padding:0 14px 14px;color:var(--mp-ink)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-medals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.mq-shell .mq-tp.mp-hub-v221 .mp221-medals>div{display:grid;place-items:center;gap:4px;padding:11px 5px;border-radius:12px;background:var(--mp221-soft);font-size:11px;color:var(--mp-dim)}
.mq-shell .mq-tp.mp-hub-v221 .mp221-medals strong{font-size:20px;color:var(--mp-ink)}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-achievement{background:var(--mp-panel2)!important;border:1px solid var(--mp221-edge)!important;border-radius:12px!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-achievement strong{color:var(--mp-ink)!important}.mq-shell .mq-tp.mp-hub-v221 .mq-tp-v3-achievement small{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mp-hub-v221 .mp221-secure{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--mp-dim)!important;font-size:10px;line-height:1.45;text-align:center;margin:4px 0 0}
.mq-shell .mq-tp.mp-hub-v221 .mp221-secure .mq-tp-ic{width:16px;height:16px;flex:none;color:var(--mp-accent)}
.mq-shell .mq-tp.mp-hub-v221 :is(button,input,summary):focus-visible{outline:2px solid var(--mp-accent)!important;outline-offset:3px}
@keyframes mp221-trophy-float{0%,100%{transform:rotate(6deg) translateY(0)}50%{transform:rotate(4deg) translateY(-7px)}}
@media(max-width:370px){
 .mq-shell .mq-tp.mp-hub-v221 .mq-tp-screen-head{padding:11px 13px!important}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-scroll{padding-left:13px!important;padding-right:13px!important}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-hero{padding:19px 15px;min-height:177px}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-hero-copy{width:80%}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-cup-wrap{right:-25px;width:130px;height:140px}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-action{padding:13px 11px!important;min-height:135px}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-action-copy strong{font-size:12px!important}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-action-copy small{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){
 .mq-shell .mq-tp.mp-hub-v221 .mp221-cup-wrap{animation:none!important}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-action{transition:none!important}
 .mq-shell .mq-tp.mp-hub-v221 .mp221-scroll{scroll-behavior:auto}
}

/* =============================================================
   MemoMilo Tournament Elite — PHASE 2 (2026-10-11)
   Portée exclusive : accueil, création, vestiaire, tirage.
   Aucun style n'est appliqué aux tableaux, scores ou résultats.
   ============================================================= */
.mq-shell .mq-tp.mq-elite-p2{
  --elite-edge:rgba(255,255,255,.14);
  --elite-quiet:rgba(255,255,255,.065);
  --elite-shade:rgba(1,8,20,.20);
  --elite-surface:var(--mp-panel);
  --elite-surface-raised:var(--mp-panel2);
  color:var(--mp-ink)!important;
  background:radial-gradient(ellipse 80% 38% at 50% -6%,var(--mp-glow),transparent 76%),var(--mp-bg)!important;
}
.mq-shell .mq-tp.mq-elite-p2 :is(button,input,select,summary){-webkit-tap-highlight-color:transparent}
.mq-shell .mq-tp.mq-elite-p2 :is(button,input,select,summary):focus-visible{outline:3px solid var(--mp-accent)!important;outline-offset:3px}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-screen-head{border-bottom:1px solid var(--elite-edge);background:var(--mp-bg)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-screen-head h1{color:var(--mp-ink)!important;letter-spacing:-.035em}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-back{background:var(--elite-quiet)!important;color:var(--mp-ink)!important;border:1px solid var(--elite-edge)!important;border-radius:16px}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-screen-head .mq-tp-tag{color:var(--mp-accent)!important;background:var(--elite-quiet)!important;border:1px solid var(--elite-edge)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feature{
  border:1px solid rgba(255,255,255,.2)!important;
  background:linear-gradient(130deg,var(--mp-hero),var(--mp-hero2))!important;
  border-radius:26px!important;box-shadow:0 16px 32px var(--elite-shade),inset 0 1px rgba(255,255,255,.13)!important;
  isolation:isolate;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feature h2{color:var(--mp-ink)!important;text-shadow:0 1px 2px rgba(0,0,0,.08)}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feature p{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p2 .mp-create-scroll,.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby{scrollbar-width:none}
.mq-shell .mq-tp.mq-elite-p2 .mp-create-scroll::-webkit-scrollbar,.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby::-webkit-scrollbar{display:none}
.mq-shell .mq-tp.mq-elite-p2 .mp-section>h3,.mq-shell .mq-tp.mq-elite-p2 .mp-line h3{color:var(--mp-ink)!important;letter-spacing:-.03em;font-size:16px!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-card-grid button{
 min-height:94px!important;border:1px solid var(--elite-edge)!important;border-radius:18px!important;
 background:var(--mp-panel)!important;color:var(--mp-ink)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.04);transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-card-grid button[aria-pressed="true"]{
 border:1.5px solid var(--mp-accent)!important;background:linear-gradient(145deg,var(--mp-panel2),var(--mp-panel))!important;
 box-shadow:0 0 0 1px var(--elite-quiet),inset 0 1px rgba(255,255,255,.1)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-size-grid button{
 border-radius:15px!important;min-height:56px;border:1px solid var(--elite-edge)!important;background:var(--mp-panel)!important;color:var(--mp-ink)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-size-grid button[aria-pressed="true"]{
 border:1.5px solid var(--mp-accent)!important;background:var(--mp-panel2)!important;color:var(--mp-accent)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-field-section :is(.mp-name,.mp-universe){
 background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;border-radius:18px!important;color:var(--mp-ink)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-field-section .mp-universe small{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-summary{border:1px solid var(--elite-edge)!important;background:linear-gradient(130deg,var(--mp-panel2),var(--mp-panel))!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-main-button{
 background:linear-gradient(120deg,var(--mp-accent),var(--mp-accent2))!important;color:var(--mp-contrast)!important;
 border-radius:17px!important;min-height:55px;box-shadow:0 12px 24px var(--elite-shade)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-main-button[data-incomplete="true"]{opacity:.72}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-create .mp-main-button:active{transform:scale(.985)}
.mq-shell .mq-tp.mq-elite-p2 .mp-advanced,.mq-shell .mq-tp.mq-elite-p2 .mp-identity{background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p2 .mp-overlay{z-index:30!important;backdrop-filter:blur(9px)}
.mq-shell .mq-tp.mq-elite-p2 .mp-overlay-card{max-height:85dvh;overflow-y:auto;background:var(--mp-panel2)!important;border:1px solid var(--elite-edge)!important;border-radius:26px!important;color:var(--mp-ink)!important;box-shadow:0 23px 72px rgba(0,0,0,.45)!important}
.mq-shell .mq-tp.mq-elite-p2 .mp-overlay-card h3{color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p2 .mp-overlay-card p{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby .mp-lobby-stats>div{
 background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;border-radius:16px;padding:13px 6px;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby .mp-lobby-stats b{font-size:19px;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby .mp-lobby-actions button{
 background:var(--mp-panel2)!important;border:1px solid var(--elite-edge)!important;color:var(--mp-ink)!important;border-radius:16px;min-height:49px;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-seats>.mq-tp-seat{
 background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;border-radius:18px!important;
 box-shadow:inset 0 1px rgba(255,255,255,.055)!important;position:relative;min-height:123px;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-seats>.mq-tp-seat.mq-tp-ready{border-color:color-mix(in srgb,var(--mp-accent) 38%,transparent)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-seats>.mq-tp-seat strong{color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-seats>.mq-tp-seat small{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-ai-cta{
 border:1px solid color-mix(in srgb,var(--mp-accent) 55%,transparent)!important;
 background:linear-gradient(120deg,var(--mp-accent),var(--mp-accent2))!important;
 color:var(--mp-contrast)!important;min-height:64px!important;border-radius:19px!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-bot-sheet .mq-tp-bot-setup{max-width:100%}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-bot-sheet .mq-tp-bot-select-row,
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-bot-sheet .mq-tp-bot-number{background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-bot-sheet select{min-height:46px;color:var(--mp-ink)!important;background:var(--mp-panel2)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-draw-roulette{filter:drop-shadow(0 16px 22px var(--elite-shade))}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-elite-draw-pair{
 background:var(--mp-panel)!important;border:1px solid var(--elite-edge)!important;border-radius:18px!important;
 animation:mqEliteDrawReveal .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--elite-order,0)*90ms);
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-vs-side strong{color:var(--mp-ink)!important}
@keyframes mqEliteDrawReveal{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback{
 display:flex!important;align-items:flex-start!important;gap:11px!important;
 background:var(--mp-panel2)!important;border:1px solid var(--elite-edge)!important;
 border-left:3px solid var(--mp-gold)!important;border-radius:15px!important;
 padding:12px!important;margin:8px 0 10px!important;text-align:left!important;
 box-shadow:0 8px 20px var(--elite-shade)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback.is-error{border-left-color:#ff99ab!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback-icon{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:10px;background:var(--elite-quiet);color:var(--mp-gold);font-weight:950}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback strong{color:var(--mp-ink)!important;font-size:13px;font-weight:950;line-height:1.35}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback p{color:var(--mp-dim)!important;font-size:11px;line-height:1.5;margin:5px 0 0!important}
.mq-shell .mq-tp.mq-elite-p2 .mp-bottom [data-mp-error]{display:block;max-height:40vh;overflow-y:auto}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-inline-retry{width:100%;min-height:44px;border:1px solid var(--elite-edge);border-radius:14px;color:var(--mp-accent);background:var(--mp-panel);font-weight:900}
@media(max-width:350px){.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feature{padding:15px!important}.mq-shell .mq-tp.mq-elite-p2 .mq-elite-lobby .mp-lobby-players{gap:7px}.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feedback{padding:10px!important}}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw-pair,.mq-shell .mq-tp.mq-elite-p2 .mq-elite-feature,.mq-shell .mq-tp.mq-elite-p2 :is(button,.mq-tp-seat){animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Lisibilité Elite : un ancien style de titre clair écrasait le fond sombre. */
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw h2,
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-scroll.mq-tp-center:not(.mq-elite-draw) h2{color:var(--mp-ink)!important;text-shadow:0 2px 12px rgba(0,0,0,.15)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-eyebrow{color:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-muted,
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-scroll.mq-tp-center .mq-tp-muted{color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw-teaser{margin-top:18px;padding:19px 12px;border-radius:18px;border:1px dashed var(--elite-edge);color:var(--mp-accent)!important;font-size:13px;font-weight:850;background:var(--elite-quiet)}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-draw-timer strong{color:var(--mp-ink)!important;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p2 .mq-elite-draw .mq-tp-vs-chip b{color:var(--mp-accent)!important}


/* ===========================================================
   MemoMilo Tournament Elite — PHASE 3 : scores / spectateur.
   CSS limité aux écrans .mq-elite-p3, sans changement de règles.
   =========================================================== */
.mq-shell .mq-tp.mq-elite-p3{--elite3-edge:rgba(255,255,255,.15);--elite3-soft:rgba(255,255,255,.06);color:var(--mp-ink)!important;background:radial-gradient(ellipse at 50% -8%,var(--mp-glow),transparent 56%),var(--mp-bg)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-screen-head{background:var(--mp-bg)!important;border-bottom:1px solid var(--elite3-edge)!important;flex:0 0 auto}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-screen-head h1{color:var(--mp-ink)!important;font-size:20px!important;letter-spacing:-.5px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-back{border:1px solid var(--elite3-edge)!important;background:var(--mp-panel)!important;color:var(--mp-ink)!important;border-radius:14px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-tag{border:1px solid var(--elite3-edge)!important;background:var(--mp-panel2)!important;color:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-scroll{color:var(--mp-ink)!important;padding-bottom:calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board{padding-top:10px!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board>.mq-tp-row{align-items:center}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board .mq-tp-eyebrow{color:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board h2{color:var(--mp-ink)!important;letter-spacing:-.7px!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-round-tabs{scrollbar-width:none}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-round-tabs button,.mq-shell .mq-tp.mq-elite-p3 .mq-tp-mode-switch button{background:var(--mp-panel)!important;border:1px solid var(--elite3-edge)!important;color:var(--mp-dim)!important;min-height:44px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-round-tabs button.mq-tp-active,.mq-shell .mq-tp.mq-elite-p3 .mq-tp-mode-switch button.mq-tp-active{background:var(--mp-panel2)!important;border-color:var(--mp-accent)!important;color:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match{padding:16px 14px!important;margin:0 0 12px!important;border:1px solid var(--elite3-edge)!important;border-radius:23px!important;background:linear-gradient(160deg,var(--mp-panel2),var(--mp-panel))!important;box-shadow:0 16px 32px rgba(0,0,0,.14)!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match.mq-tp-mine{border-color:var(--mp-accent)!important;box-shadow:0 12px 36px var(--mp-glow)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;color:var(--mp-dim);font-size:10px;font-weight:900;letter-spacing:1.1px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-state{border:1px solid var(--elite3-edge);border-radius:99px;padding:7px 9px;letter-spacing:.35px;color:var(--mp-dim);font-size:10px;white-space:nowrap;background:var(--elite3-soft)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-state.is-live{color:var(--mp-accent);border-color:var(--mp-accent);background:var(--mp-panel2)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-state i{width:7px;height:7px;border-radius:50%;background:var(--mp-accent);display:inline-block;margin-right:5px;box-shadow:0 0 0 3px var(--mp-glow);animation:elite3Pulse 1.8s infinite}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,1.3fr) minmax(0,1fr);gap:6px;align-items:start;text-align:center}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person .mq-tp-avatar{width:55px;height:55px;max-width:100%;border-radius:50%;border:2px solid var(--elite3-edge);box-shadow:0 5px 15px rgba(0,0,0,.2)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person.is-winner .mq-tp-avatar{border-color:var(--mp-gold)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person strong{display:block;font-size:12px;line-height:1.25;color:var(--mp-ink)!important;max-width:100%;overflow-wrap:anywhere;font-weight:900}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person small{font-size:10px;line-height:1.35;color:var(--mp-dim)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-central{min-width:0;padding:6px 0 0;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-points{display:flex;justify-content:center;align-items:center;gap:3px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-points b{font-size:clamp(20px,5vw,31px)!important;color:var(--mp-ink)!important;font-weight:950!important;letter-spacing:-.9px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-points>span{font-weight:700;color:var(--mp-dim);font-size:19px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-score-label{display:block;margin:7px 0 10px;font-size:8.5px;letter-spacing:1.1px;color:var(--mp-dim);font-weight:900}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-legs{margin:auto;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--elite3-edge);border-radius:99px;background:var(--mp-panel);padding:7px 9px;min-width:0;max-width:156px;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-legs b{font-size:13px;color:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-legs small{font-size:8px;color:var(--mp-dim)!important;letter-spacing:.5px;font-weight:850}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match-bottom{border-top:1px solid var(--elite3-edge);padding-top:13px;margin-top:16px;text-align:center;color:var(--mp-dim);font-size:11px;line-height:1.45;font-weight:700}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-actions{display:grid;gap:8px;margin-top:13px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-button{width:100%;border:1px solid var(--elite3-edge);border-radius:15px;min-height:47px;display:flex;align-items:center;justify-content:center;gap:12px;padding:11px 14px;font-size:12px;font-weight:900;line-height:1.3;background:var(--mp-panel);color:var(--mp-ink);cursor:pointer}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-button-main{border-color:var(--mp-accent)!important;background:linear-gradient(125deg,var(--mp-accent),var(--mp-accent2))!important;color:var(--mp-contrast)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-button-watch{border-color:var(--mp-accent)!important;color:var(--mp-accent)!important;background:var(--mp-panel)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-button:focus-visible,.mq-shell .mq-tp.mq-elite-p3 [data-tn-watch]:focus-visible{outline:3px solid var(--mp-accent);outline-offset:3px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-match{background:var(--mp-panel)!important;color:var(--mp-ink)!important;border:1px solid var(--elite3-edge)!important;border-radius:13px!important;padding:9px!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-match>div{color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-watch{width:100%;min-height:39px;margin-top:8px;border:1px solid var(--mp-accent);background:var(--mp-panel2);color:var(--mp-accent);border-radius:10px;font-size:11px;font-weight:900}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch{padding-top:13px!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-hero{border:1px solid var(--elite3-edge);border-radius:23px;background:linear-gradient(145deg,var(--mp-hero),var(--mp-hero2));padding:18px 14px;color:var(--mp-ink);box-shadow:0 16px 28px rgba(0,0,0,.18)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-overline{display:block;color:var(--mp-accent);letter-spacing:1.4px;font-size:10px;font-weight:900;margin-bottom:14px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-duel{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);gap:6px;align-items:center}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-duel .mq-elite3-person .mq-tp-avatar{width:58px;height:58px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-vs{color:var(--mp-accent);font-size:11px;font-weight:950;align-self:center;text-align:center}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-legs{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:17px;padding:9px 12px;border-radius:12px;background:rgba(0,0,0,.14)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-legs strong{font-size:17px;color:var(--mp-ink);font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch-legs small{font-size:9px;letter-spacing:.8px;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-spectator-guide{font-size:11px;color:var(--mp-dim);line-height:1.5;text-align:center;margin:13px 5px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-panel{padding:14px;background:var(--mp-panel);border:1px solid var(--elite3-edge);border-radius:23px;color:var(--mp-ink);min-height:90px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores>div{min-width:0;padding:12px 8px!important;text-align:center;border:1px solid var(--elite3-edge)!important;border-radius:14px;background:var(--mp-panel2)!important;display:flex;align-items:center;flex-direction:column;gap:5px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores small{font-size:9px;color:var(--mp-dim)!important;letter-spacing:.8px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores strong{font-variant-numeric:tabular-nums;font-size:clamp(21px,6vw,32px)!important;color:var(--mp-ink)!important;letter-spacing:-.8px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores span{font-size:11px;font-weight:750;color:var(--mp-accent)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-sub{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;font-size:10px;color:var(--mp-dim);margin:10px 0}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 8px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board-label strong{font-size:12px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-board-label span{font-size:10px;color:var(--mp-dim);text-align:right}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-card{border-color:var(--elite3-edge);background:linear-gradient(140deg,var(--mp-hero),var(--mp-hero2));color:var(--mp-accent);font-size:20px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-card.is-open{background:var(--mp-panel2);color:var(--mp-ink);box-shadow:0 0 0 1px var(--mp-accent)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-sim-mini,.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-notice,.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-sim-note{padding:14px;border:1px solid var(--elite3-edge);border-radius:14px;background:var(--mp-panel2);font-size:12px;line-height:1.5;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-sim-note strong{display:block;color:var(--mp-ink);font-size:15px;margin-bottom:8px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-sim-note p{margin:0 0 13px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-bar{height:9px;border-radius:9px;background:var(--elite3-soft);overflow:hidden;margin-bottom:7px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--mp-accent),var(--mp-accent2));border-radius:9px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-return{margin-top:18px!important}
@keyframes elite3Pulse{50%{opacity:.5;box-shadow:0 0 0 6px var(--mp-glow)}}
@media(max-width:350px){.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-scoreboard{grid-template-columns:minmax(0,1fr) minmax(112px,1.16fr) minmax(0,1fr);gap:3px}.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-person .mq-tp-avatar{width:47px;height:47px}.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match{padding:13px 10px!important}.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-points b{font-size:19px!important}.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-legs{gap:5px;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp.mq-elite-p3 *{animation:none!important;transition:none!important}}

.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-unknown-score{color:var(--mp-ink);font-size:26px;text-align:center;font-weight:950;font-variant-numeric:tabular-nums;margin:12px 0}.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-unknown-score small{display:block;color:var(--mp-dim);font-size:10px;letter-spacing:.7px;margin-top:4px}


/* MemoMilo Tournament Elite · Phase 4
   Résultats, qualification et podium. Scope volontairement isolé. */
.mq-shell .mq-tp.mq-elite-p4{--el4-line:rgba(255,255,255,.14);--el4-gold:#ffd27f;--el4-quiet:rgba(255,255,255,.06);color:var(--mp-ink)!important;background:radial-gradient(ellipse at 50% 0%,var(--mp-glow),transparent 55%),var(--mp-bg)!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-screen-head{background:var(--mp-bg)!important;border-bottom:1px solid var(--el4-line)!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-screen-head h1{font-weight:900!important;color:var(--mp-ink)!important;font-size:20px!important;letter-spacing:-.4px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-back{background:var(--mp-panel)!important;color:var(--mp-ink)!important;border-radius:14px!important;border:1px solid var(--el4-line)!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-scroll{color:var(--mp-ink)!important;padding:14px 18px calc(34px + env(safe-area-inset-bottom))!important;overscroll-behavior:contain}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-hero{text-align:center;display:flex;align-items:center;flex-direction:column;gap:11px;padding:24px 12px 25px;position:relative;isolation:isolate;overflow:hidden}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-hero:before{content:'';position:absolute;z-index:-1;top:-70px;left:50%;transform:translateX(-50%);width:250px;height:220px;border-radius:50%;background:radial-gradient(circle,var(--mp-glow),transparent 68%);pointer-events:none}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-emblem{position:relative;display:grid;place-items:center;width:103px;height:103px;border-radius:29px;background:linear-gradient(135deg,#ffe3ab,#efac4a);color:#614017!important;box-shadow:0 19px 38px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.55);transform:rotate(-5deg);animation:el4Emblem .75s cubic-bezier(.18,.9,.25,1.25) both}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-emblem svg{width:53px;height:53px;stroke:currentColor!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-emblem>i{position:absolute;inset:-12px;border:1px solid rgba(255,218,144,.3);border-radius:36px;animation:el4Halo 2.4s ease-in-out infinite;pointer-events:none}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-eyebrow{font-size:10px;color:var(--mp-accent)!important;font-weight:950;letter-spacing:1.8px;text-transform:uppercase;line-height:1.4}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-hero h2{font-size:clamp(27px,7vw,34px)!important;line-height:1.08!important;letter-spacing:-1.1px!important;max-width:350px;margin:0!important;color:var(--mp-ink)!important;text-wrap:balance}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-sub{color:var(--mp-dim)!important;font-size:13px!important;line-height:1.5;max-width:320px;margin:0!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-status{display:inline-block;border-radius:40px;border:1px solid var(--mp-accent);padding:7px 12px;color:var(--mp-accent)!important;font-weight:900;font-size:10px;letter-spacing:.9px;background:var(--mp-panel2)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,1.4fr) minmax(0,1fr);align-items:center;gap:5px;padding:22px 12px;border-radius:24px;border:1px solid var(--el4-line);background:linear-gradient(150deg,var(--mp-panel2),var(--mp-panel));box-shadow:0 15px 35px rgba(0,0,0,.16);animation:el4Rise .65s .15s both}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-person{min-width:0;display:flex;align-items:center;flex-direction:column;gap:9px;text-align:center}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-person .mq-tp-avatar{width:56px;height:56px;max-width:100%;border-radius:50%;border:2px solid var(--mp-gold);box-shadow:0 5px 18px rgba(0,0,0,.3)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-person strong{color:var(--mp-ink)!important;font-size:12px;line-height:1.3;overflow-wrap:anywhere;max-width:100%}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-center{text-align:center;min-width:0}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-score{display:flex;align-items:center;justify-content:center;gap:3px;color:var(--mp-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-score b{font-weight:950!important;font-size:clamp(20px,6vw,34px)!important;letter-spacing:-.9px!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-score span{font-size:18px;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-center>small{display:block;color:var(--mp-dim)!important;font-size:8px;font-weight:900;letter-spacing:.8px;margin-top:6px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-breakdown{margin-top:14px;border:1px solid var(--el4-line);border-radius:20px;background:var(--mp-panel);padding:13px 14px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-legrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--el4-line);color:var(--mp-ink);font-size:12px;text-align:center;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-legrow>span:first-child{text-align:left;font-size:11px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-legrow b{font-size:15px;font-weight:920;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-table-head{color:var(--mp-dim)!important;font-size:10px;font-weight:800}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-table-head span{overflow-wrap:anywhere}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-total{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 4px 4px;color:var(--mp-accent);font-size:13px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-note{font-size:11px;color:var(--mp-dim);line-height:1.55;text-align:center;margin:17px 5px!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-main-action,.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-secondary-action{width:100%;border-radius:16px;min-height:51px;padding:13px 14px;font-size:13px;font-weight:900;border:1px solid var(--el4-line);cursor:pointer}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-main-action{background:linear-gradient(130deg,var(--mp-accent),var(--mp-accent2));color:var(--mp-contrast);border-color:var(--mp-accent);box-shadow:0 12px 25px rgba(0,0,0,.15)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-secondary-action{background:var(--mp-panel2);color:var(--mp-ink);margin-top:10px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-sectionhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0 12px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-sectionhead h3{font-size:17px;color:var(--mp-ink)!important;margin:0!important;line-height:1.2}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-sectionhead span{font-size:11px;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qualifiers{padding:8px;border-radius:22px;border:1px solid var(--el4-line);background:var(--mp-panel)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qualifier{display:flex;gap:8px;align-items:center;padding:12px 7px;border-bottom:1px solid var(--el4-line);min-width:0;animation:el4Rise .55s both;animation-delay:calc(var(--order,0)*75ms)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qualifier:last-child{border-bottom:0}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-rank{font-size:11px;font-weight:900;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qualifier .mq-tp-avatar{width:39px;height:39px;border-radius:50%;flex:0 0 39px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-text strong{color:var(--mp-ink);font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-text small{color:var(--mp-dim);font-size:10px;line-height:1.25}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-score{text-align:right;max-width:105px;display:flex;flex-direction:column;gap:3px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-score b{color:var(--mp-ink);font-size:11px;overflow-wrap:anywhere}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-score small{color:var(--mp-dim);font-size:9px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-check{color:var(--mp-accent);font-weight:950}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next{display:flex;align-items:center;gap:13px;padding:15px 12px;border-radius:19px;background:var(--mp-panel2);border:1px solid var(--el4-line);margin:17px 0 9px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next-icon{font-size:20px;color:var(--mp-accent)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next>div:nth-child(2){flex:1;min-width:0}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next small{display:block;font-size:9px;color:var(--mp-dim);font-weight:900;letter-spacing:.8px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next strong{display:block;font-size:13px;color:var(--mp-ink);margin-top:3px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-next p{font-size:10px;color:var(--mp-dim);margin:4px 0 0!important;line-height:1.35}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-time{font-variant-numeric:tabular-nums;color:var(--mp-accent)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-time strong{font-size:12px;color:var(--mp-accent)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium{display:flex;align-items:end;justify-content:space-around;gap:8px;margin:0 0 18px;padding:25px 7px 7px;background:linear-gradient(170deg,var(--mp-panel2),var(--mp-panel));border:1px solid var(--el4-line);border-radius:24px;min-height:235px;overflow:hidden}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-person{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;min-width:0;text-align:center;animation:el4Rise .65s both}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-1{animation-delay:.18s}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-2{animation-delay:.1s}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-3{animation-delay:.3s}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-person .mq-tp-avatar{width:49px;height:49px;border-radius:50%;max-width:100%;border:2px solid var(--el4-line)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-1 .mq-tp-avatar{width:62px;height:62px;border-color:var(--el4-gold)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-person strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere;max-width:100%;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-person small{font-size:8px;color:var(--mp-dim);font-weight:900;letter-spacing:.4px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-crown{color:var(--el4-gold);font-size:23px;line-height:1}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-plinth{width:100%;display:grid;place-items:center;border-radius:12px 12px 4px 4px;background:linear-gradient(155deg,var(--mp-hero),var(--mp-panel2));height:57px;border:1px solid var(--el4-line)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-1 .mq-elite4-podium-plinth{height:91px;background:linear-gradient(150deg,#e7b968,#9f693a)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-podium-plinth b{font-size:30px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-place-1 .mq-elite4-podium-plinth b{color:#472e17}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-rewards{border-radius:20px;background:var(--mp-panel);padding:15px;border:1px solid var(--el4-line);margin-bottom:12px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-reward-grid>div{min-width:0;padding:14px 4px;background:var(--mp-panel2);border-radius:13px;text-align:center}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-reward-grid strong{font-size:17px;display:block;color:var(--mp-accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-reward-grid small{font-size:10px;color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-personal{display:flex;flex-direction:column;gap:7px;padding:17px;border-radius:19px;background:var(--mp-panel);border:1px solid var(--el4-line);margin-bottom:16px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-personal span{color:var(--mp-dim);font-size:10px;letter-spacing:1.1px}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-personal strong{color:var(--mp-ink);font-size:18px}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-personal small{color:var(--mp-dim);font-size:11px}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-finale-actions{display:grid;gap:8px;margin:15px 0 20px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-foot{background:var(--mp-bg);border-top:1px solid var(--el4-line)}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-foot .mq-tp-primary{background:var(--mp-accent);color:var(--mp-contrast)}
@keyframes el4Emblem{0%{opacity:0;transform:translateY(28px) scale(.65) rotate(-19deg)}80%{transform:translateY(-4px) scale(1.05) rotate(2deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(-5deg)}}
@keyframes el4Halo{50%{box-shadow:0 0 0 11px rgba(255,208,118,.08);opacity:.7}}
@keyframes el4Rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:350px){.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-scroll{padding-inline:12px!important}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus{grid-template-columns:minmax(0,1fr) minmax(112px,1.3fr) minmax(0,1fr);padding:14px 8px}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-versus-person .mq-tp-avatar{width:45px;height:45px}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-score b{font-size:19px!important}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qualifier{gap:5px}.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-qual-score{max-width:79px}}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp.mq-elite-p4 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* v223 — Clarité du compte à rebours dans les six thèmes (ancien fond blanc/texte blanc). */
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring{
  width:min(66vw,208px)!important;height:min(66vw,208px)!important;isolation:isolate;
  border:1px solid var(--mp-accent)!important;
  background:radial-gradient(circle at 28% 18%,var(--mp-hero),var(--mp-panel) 72%)!important;
  box-shadow:0 0 0 9px var(--mp-panel2),0 18px 48px rgba(0,0,0,.28)!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring strong[data-tn-until]{
  display:block!important;color:var(--mp-ink)!important;-webkit-text-fill-color:var(--mp-ink)!important;
  font-size:clamp(54px,17vw,88px)!important;font-weight:950!important;
  text-shadow:0 2px 18px var(--mp-glow)!important;letter-spacing:-2px!important;
}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring small{color:var(--mp-accent)!important;font-size:11px!important;letter-spacing:1.15px!important;font-weight:950!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring>div{position:relative;z-index:2}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring:before{border-top-color:var(--mp-accent)!important;border-right-color:var(--mp-gold)!important}
.mq-shell .mq-tp.mq-elite-p2 .mq-tp-scroll.mq-tp-center>.mq-tp-eyebrow{color:var(--mp-accent)!important;opacity:1!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-elite4-secondary-action+ .mq-elite4-secondary-action{margin-top:9px;opacity:.84}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp.mq-elite-p2 .mq-tp-count-ring:before{animation:none!important}}


/* Tournament Elite v224 — cartes actives sélectionnables / contraste garanti.
   Les tokens var(--mp-*) sont propres au thème, jamais de blanc sur blanc. */
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match[data-tn-select-match],
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-match[data-tn-select-match]{cursor:pointer;touch-action:manipulation;transition:border-color .2s,box-shadow .2s,transform .2s}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match.is-selected,
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-match.is-selected{border-color:var(--mp-accent)!important;box-shadow:0 0 0 1px var(--mp-accent),0 14px 34px var(--mp-glow)!important}
.mq-shell .mq-tp.mq-elite-p3 [data-tn-select-match]:focus-visible{outline:3px solid var(--mp-accent)!important;outline-offset:3px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tap-hint{display:flex;gap:6px;align-items:center;justify-content:center;padding:10px 8px;margin:9px auto 0;min-height:38px;text-align:center;font-size:11px;font-weight:900;line-height:1.35;color:var(--mp-accent)!important;border:1px dashed var(--mp-border);background:var(--mp-panel2);border-radius:12px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tap-hint span{font-size:17px}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match .mq-elite3-button-watch,
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-tree-watch{min-height:52px!important;background:linear-gradient(125deg,var(--mp-accent),var(--mp-accent2))!important;color:var(--mp-contrast)!important;border:1px solid var(--mp-accent)!important;font-size:13px!important;font-weight:950!important;box-shadow:0 8px 22px var(--mp-glow)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-live-scores small{color:var(--mp-ink)!important;opacity:.89!important;text-transform:none;letter-spacing:0;overflow-wrap:anywhere;font-weight:850}
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch .mq-elite3-watch-hero,
.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-watch .mq-elite3-live-panel{background-color:var(--mp-panel)!important;color:var(--mp-ink)!important}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp.mq-elite-p3 .mq-elite3-match[data-tn-select-match]{transition:none!important}}

/* v226 — tirage continu, VS compact et plateau spectateur dans l'écran de jeu. */
@keyframes mqDrawOrbit226{to{transform:rotate(360deg)}}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-stage{height:clamp(260px,40vh,360px);margin:4px 0 0;flex:none}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-roulette{height:100%;min-height:0}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-orbit-avatars{animation:mqDrawOrbit226 16s linear infinite!important;will-change:transform;transform-origin:center center}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-timer-flow{position:relative!important;inset:auto!important;display:inline-flex!important;align-items:center;gap:9px;min-width:0!important;margin:3px auto 10px;padding:6px 15px!important;background:var(--mp-panel)!important;border:1px solid var(--mp-border)!important;box-shadow:none!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-timer-flow strong{color:var(--mp-ink)!important;font-size:22px!important;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-timer-flow small{margin:0!important;color:var(--mp-dim)!important;font-size:11px}
.mq-shell .mq-tp .mq-elite-draw .mq-elite-draw-teaser{background:var(--mp-panel2)!important;color:var(--mp-accent)!important;border-color:var(--mp-border)!important}
.mq-shell .mq-tp .mq-tp-launch-screen{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0;padding:14px clamp(12px,4vw,22px) 24px!important;text-align:center;color:var(--mp-ink)!important}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-eyebrow{color:var(--mp-accent)!important;margin:0!important}
.mq-shell .mq-tp .mq-tp-launch-screen h2{font-size:clamp(25px,7vw,34px);line-height:1.1;margin:0!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp .mq-tp-launch-screen>.mq-tp-muted{color:var(--mp-dim)!important;margin:0 0 7px!important}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-card{background:linear-gradient(145deg,var(--mp-hero),var(--mp-panel))!important;border-color:var(--mp-border)!important;color:var(--mp-ink)!important;margin:0!important;padding:clamp(16px,4vw,25px) 12px!important;box-shadow:0 20px 38px rgba(0,0,0,.18)!important}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-versus{display:grid!important;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)!important;gap:4px!important;align-items:center}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-player{min-width:0;gap:7px}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-player .mq-tp-avatar{width:clamp(54px,16vw,76px);height:clamp(54px,16vw,76px)}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-player strong{font-size:clamp(12px,3.6vw,17px);color:var(--mp-ink)!important;overflow-wrap:anywhere}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-player small,.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-small-note,.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-muted{color:var(--mp-dim)!important}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-score{width:42px;height:42px;min-width:42px;margin:0!important;background:var(--mp-accent)!important;color:var(--mp-contrast)!important;box-shadow:0 8px 19px var(--mp-glow)!important;font-size:12px}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-meter{background:var(--mp-panel2)!important}
.mq-shell .mq-tp .mq-tp-launch-screen .mq-tp-launch-meter i{background:var(--mp-accent)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-head{flex:0 0 auto;min-height:66px;padding-block:8px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-head h1{font-size:clamp(16px,4.7vw,21px)!important;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-badge{font-size:9px;letter-spacing:.04em;color:var(--mp-accent)!important;white-space:nowrap}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-page{flex:1;min-height:0;max-width:720px;width:100%;padding:8px clamp(7px,2.5vw,16px) calc(8px + env(safe-area-inset-bottom));margin:0 auto;display:flex;flex-direction:column;gap:7px;overflow:hidden;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-duel{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr);gap:4px;align-items:center;background:var(--mp-panel);border:1px solid var(--mp-border);border-radius:17px;padding:6px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-person{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:5px;align-items:center;min-width:0}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-person .mq-tp-avatar{width:32px;height:32px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-person strong{min-width:0;font-size:clamp(9px,2.5vw,12px);line-height:1.15;overflow-wrap:anywhere;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-person b{font-size:13px;color:var(--mp-accent)!important;font-variant-numeric:tabular-nums}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-vs{text-align:center;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-vs small{display:block;color:var(--mp-dim)!important;font-size:8px;letter-spacing:.08em}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-live{flex:1;min-height:0;padding:5px!important;display:flex;flex-direction:column;overflow:hidden;border-radius:18px!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-status{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:27px;padding:2px 5px;color:var(--mp-ink)!important;font-size:11px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-status strong{display:inline;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mp-ink)!important}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-status small{margin-left:auto;color:var(--mp-dim)!important;white-space:nowrap;font-size:9px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-pulse{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--mp-accent);box-shadow:0 0 0 3px var(--mp-glow)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-board-wrap{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:2px!important;overflow:hidden;background:var(--mp-panel2);border-radius:13px}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-board{max-width:100%;max-height:100%;flex:none;gap:clamp(2px,.7vw,6px);margin:auto}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-board .mq-card.is-open{animation:mqWatchReveal226 .28s ease-out both}
@keyframes mqWatchReveal226{from{transform:rotateY(0deg) scale(.96);opacity:.7}to{transform:rotateY(180deg) scale(1);opacity:1}}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-finished{margin:auto;text-align:center;padding:18px;color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-finished span{color:var(--mp-accent);font-size:10px;letter-spacing:.12em;font-weight:900}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-finished h2{font-size:clamp(21px,6vw,30px);color:var(--mp-ink)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-finished p{color:var(--mp-dim)}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-finished button{border:0;border-radius:13px;padding:13px 18px;background:var(--mp-accent);color:var(--mp-contrast);font-weight:900}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen{padding:10px 12px calc(15px + env(safe-area-inset-bottom))!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-hero{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;text-align:left;padding:13px!important;margin-bottom:10px;border-radius:18px;border:1px solid var(--mp-border);background:linear-gradient(125deg,var(--mp-panel2),var(--mp-panel))}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-hero:before{display:none}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-emblem{width:52px;height:52px;border-radius:15px;transform:none;animation:none;box-shadow:0 8px 19px var(--mp-glow)}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-emblem svg{width:29px;height:29px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-hero h2{max-width:none;font-size:clamp(20px,5.2vw,27px)!important;text-wrap:pretty;margin:3px 0!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-sub{max-width:none;font-size:11px!important;line-height:1.35!important}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-sectionhead{margin:5px 2px 8px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-qualifier{padding:8px 5px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-next{margin:10px 0 4px;padding:9px 12px}
.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-secondary-action{min-height:42px;padding:9px}
@media(max-height:680px){.mq-shell .mq-tp .mq-elite-draw .mq-tp-draw-stage{height:260px}.mq-shell .mq-tp.mq-elite-p4 .mq-tp-break-screen .mq-elite4-qualifier{padding:5px}}
@media(prefers-reduced-motion:reduce){.mq-shell .mq-tp .mq-elite-draw .mq-tp-orbit-avatars,.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-board .mq-card.is-open{animation:none!important}}

/* v227 : les images se chargent séparément des événements de jeu. */
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-visual-status{flex:0 0 auto;margin:0;padding:3px 7px;text-align:center;color:var(--mp-dim);font-size:10px;line-height:1.25}

/* Spectateur v230.1 : historique public compact et accessible. */
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-events{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:4px;padding:0 4px 4px;max-height:47px;overflow:hidden;min-width:0}
.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-events span{max-width:100%;font-size:9px;line-height:1.15;padding:4px 6px;border-radius:7px;border:1px solid var(--mp-border);background:var(--mp-panel2);color:var(--mp-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-height:600px){.mq-shell .mq-tp.mq-elite-p3 .mq-tp-watch-events{max-height:23px}}

/* v231 : annulation accessible et défilement sur les écrans courts. */
.mq-rematch-cancel{min-height:44px;width:100%;padding:10px 14px;border:1px solid var(--mq-border);border-radius:14px;background:var(--mq-surface-soft);color:var(--mq-text);font:800 .76rem/1.3 system-ui;cursor:pointer}
.mq-rematch-cancel:focus-visible{outline:3px solid var(--mq-accent);outline-offset:2px}
.mq-rematch-cancel:disabled{opacity:.5;pointer-events:none}
.mq-shell[data-rematch-overlay="1"]>.mq-rematch-stage{overflow-y:auto!important;align-items:safe center}
.mq-rematch-card{flex-shrink:0}
.mq-rematch-stage.is-transitioning [data-rematch-cancel]{display:none}

/* =====================================================================
   MemoMilo v242 — bordures intelligentes, zoom adapté, économie d'énergie.
   ===================================================================== */
/* Bordure des cartes proportionnelle à leur taille réelle (attribut posé par fitBoard). */
.mq-shell[data-skin] .mq-board[data-card-size="md"] .mq-face{border-width:2px!important}
.mq-shell[data-skin] .mq-board[data-card-size="sm"] .mq-face{border-width:1.5px!important;border-radius:8px!important}
.mq-shell[data-skin] .mq-board[data-card-size="sm"] .mq-card{border-radius:8px!important}
.mq-shell[data-skin] .mq-board[data-card-size="xs"] .mq-face{border-width:1px!important;border-radius:6px!important}
.mq-shell[data-skin] .mq-board[data-card-size="xs"] .mq-card{border-radius:6px!important}
.mq-shell[data-skin] .mq-board:is([data-card-size="sm"],[data-card-size="xs"]) .mq-back{box-shadow:0 1px 3px rgba(0,0,0,.18)!important}
.mq-shell[data-skin] .mq-board:is([data-card-size="sm"],[data-card-size="xs"]) .mq-front img{border-radius:inherit}
/* Zoom d'une carte : échelle adaptée à la taille de la carte, toujours visible en entier,
   courbe douce à l'aller comme au retour (transform seul = 100 % GPU). */
.mq-card-preview-layer[data-skin]{transition-timing-function:cubic-bezier(.2,.9,.25,1)!important}
.mq-card-preview-layer[data-skin].is-active{transform:translate3d(var(--mq-preview-x,0px),var(--mq-preview-y,0px),0) scale(var(--mq-preview-scale,1.7))!important}
.mq-card-preview-layer[data-skin].is-leaving{transform:translate3d(0,0,0) scale(1)!important;transition-timing-function:cubic-bezier(.45,0,.55,1)!important}
.mq-card-preview-layer[data-skin] .mq-card-preview-surface{border-width:2px!important}
/* Économie d'énergie : les écrans cachés ne font plus tourner leurs animations en boucle. */
.mq-view:not(.is-active) *,.mq-view:not(.is-active) *::before,.mq-view:not(.is-active) *::after{animation-play-state:paused!important}

/* ---------------------------------------------------------------------
   v242 · Multijoueur : écrans avant la partie lisibles dans tous les thèmes.
   Jetons de couleur par thème, puis composants (salle, joueurs, attente,
   boutons secondaires, consentements, champs).
   --------------------------------------------------------------------- */
.mq-shell[data-skin] .mq-view[data-view="online"]{
  --v242-panel:linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,251,253,.95));--v242-row:#f3f9fc;--v242-line:rgba(17,94,116,.12);
  --v242-ink:#123d55;--v242-sub:#5d7f93;--v242-acc:#0e9fb8;--v242-acc2:#1a6fb8;
  --v242-ok-bg:#dff7ec;--v242-ok:#127a52;--v242-wait-bg:#fff1d6;--v242-wait:#9a5b06;
  --v242-ghost:#eef6f9;--v242-ghost-ink:#1f5a74;--v242-shadow:0 10px 28px rgba(8,60,85,.12);
}
.mq-shell[data-skin="ambre"] .mq-view[data-view="online"]{
  --v242-panel:linear-gradient(180deg,rgba(255,252,246,.97),rgba(255,243,226,.95));--v242-row:#fff5e6;--v242-line:rgba(160,82,20,.14);
  --v242-ink:#5a2a0a;--v242-sub:#9a6a42;--v242-acc:#e2620f;--v242-acc2:#b9480b;--v242-ghost:#fff0dc;--v242-ghost-ink:#7a3d0f;--v242-shadow:0 10px 28px rgba(140,62,8,.14);
}
.mq-shell:is([data-skin="ocean"],[data-skin="grenat"],[data-skin="ardoise"],[data-skin="nuit"]) .mq-view[data-view="online"]{
  --v242-panel:linear-gradient(180deg,rgba(20,58,76,.92),rgba(10,40,55,.92));--v242-row:rgba(255,255,255,.06);--v242-line:rgba(255,255,255,.1);
  --v242-ink:#f2fbff;--v242-sub:#9ec0cf;--v242-acc:#5ee0f0;--v242-acc2:#7cc4ff;
  --v242-ok-bg:rgba(47,209,122,.18);--v242-ok:#7ff2b8;--v242-wait-bg:rgba(251,191,36,.18);--v242-wait:#ffd27a;
  --v242-ghost:rgba(255,255,255,.08);--v242-ghost-ink:#e4f3fa;--v242-shadow:0 12px 30px rgba(0,0,0,.3);
}
.mq-shell[data-skin="grenat"] .mq-view[data-view="online"]{--v242-panel:linear-gradient(180deg,rgba(96,36,49,.93),rgba(62,22,32,.93));--v242-sub:#e0b0a5;--v242-acc:#ffc58a;--v242-acc2:#ffd9b0}
.mq-shell[data-skin="ardoise"] .mq-view[data-view="online"]{--v242-panel:linear-gradient(180deg,rgba(42,56,68,.93),rgba(25,35,44,.93));--v242-sub:#9fb2bf;--v242-acc:#7dd3fc}
.mq-shell[data-skin="nuit"] .mq-view[data-view="online"]{--v242-panel:linear-gradient(180deg,rgba(30,38,70,.92),rgba(14,20,42,.92));--v242-sub:#9aa3cf;--v242-acc:#a5b4fc;--v242-acc2:#c4b5fd}

/* Carte « Salle trouvée » */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview{background:var(--v242-panel)!important;border:1px solid var(--v242-line)!important;box-shadow:var(--v242-shadow)!important;color:var(--v242-ink)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview-hero small{color:var(--v242-sub)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview-hero h3{color:var(--v242-ink)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview-hero p{color:var(--v242-sub)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-summary>span{background:var(--v242-row)!important;border:1px solid var(--v242-line)!important;color:var(--v242-ink)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-summary>span b{color:var(--v242-ink)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-summary>span i{color:var(--v242-acc)!important}
/* Joueurs */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players>div{background:var(--v242-row)!important;border:1px solid var(--v242-line)!important;box-shadow:none!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players small{color:var(--v242-sub)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players strong{color:var(--v242-ink)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players b{display:inline-flex;align-items:center;gap:5px;min-width:0;padding:5px 10px!important;border-radius:999px!important;background:var(--v242-ok-bg)!important;color:var(--v242-ok)!important;border:0!important;box-shadow:none!important;font-size:.66rem!important;font-weight:950!important;opacity:1!important;white-space:nowrap}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players b::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players b.is-pending{background:var(--v242-wait-bg)!important;color:var(--v242-wait)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-preview-players b.is-pending::before{animation:mq-v242-blink 1.2s ease-in-out infinite}
@keyframes mq-v242-blink{50%{opacity:.25}}
/* Attente */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-ready-wait{background:var(--v242-row)!important;border:1px solid var(--v242-line)!important;box-shadow:none!important;color:var(--v242-ink)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-ready-wait strong{color:var(--v242-ink)!important;opacity:1!important;font-size:.78rem!important;font-weight:850!important;text-align:left}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-ready-wait span{flex:none;border-color:color-mix(in srgb,var(--v242-acc) 25%,transparent)!important;border-top-color:var(--v242-acc)!important}
/* Boutons secondaires : pleine largeur, texte jamais coupé */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview>.mq-btn-ghost,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-center .mq-btn-ghost{width:100%!important;max-width:100%!important;min-height:44px!important;height:auto!important;padding:10px 16px!important;white-space:normal!important;line-height:1.2!important;text-align:center!important;justify-content:center!important;border-radius:16px!important;background:var(--v242-ghost)!important;color:var(--v242-ghost-ink)!important;border:1px solid var(--v242-line)!important;box-shadow:none!important;font-size:.8rem!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-preview>.mq-btn-ghost[data-cancel-room]{background:transparent!important;color:var(--v242-sub)!important}
/* Formulaires : libellés et consentements plus lisibles */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-consent-row span{font-size:.74rem!important;line-height:1.3!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-premium-field>span{font-size:.68rem!important;letter-spacing:.08em}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-setup-foot .mq-btn-primary:disabled{opacity:.62!important;filter:saturate(.7)}
/* Défilement fluide des menus Multijoueur */
.mq-shell[data-skin] .mq-view[data-view="online"] :is(.mq-online-form,.mq-online-center,.mq-online-hub,.tn241-hub,.mq-tp-scroll){-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:auto}
/* v242 · textes secondaires des formulaires et de l'attente (corrige Grenat & co). */
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-consent-row span,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-premium-field>span,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-code-field>span,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-competitive-copy small,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-wait-status small,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-code small{color:var(--v242-sub)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-consent-row span{color:var(--v242-ink)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-competitive-copy strong,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-competitive-copy strong b,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-wait-status strong,
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-room-code strong{color:var(--v242-ink)!important;opacity:1!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-competitive-copy em{color:var(--v242-acc)!important}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-grid-badge{color:#fff!important}
/* v242 · défilement : cartes du carrousel sur leur propre calque. */
.mq-shell .mq-view.is-v206-hub .mq-v206-card{transform:translateZ(0) scale(.965);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.mq-shell .mq-view.is-v206-hub .mq-v206-card.is-active{transform:translateZ(0) scale(1)}
.mq-shell .mq-view.is-v206-hub .mq-v206-track{will-change:scroll-position}
.mq-shell[data-skin] .mq-view[data-view="online"] .mq-online-form{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

/* v260 · Écrans masqués : plus aucun calcul de style, de mise en page ni de peinture. */
.mq-view.is-parked:not(.is-active) { display: none !important; }

/* v260 · Fluidité des carrousels (surtout en arabe).
 * Avec « overflow: hidden », l'écran reste une zone défilable. En droite-à-gauche, chaque carte qui glisse vers la gauche
 * agrandit cette zone et déplace son point d'origine : le navigateur redessinait alors TOUT l'écran à chaque image
 * (titre, bouton, fond), d'où les sauts. « overflow: clip » coupe pareil sans créer de zone défilable. */
@supports (overflow: clip) {
	.mq-shell .mq-view[data-view="miseEnPlace"],
	.mq-shell .mq-view[data-view="accueil"],
	.mq-shell[data-screen] .mq-view[data-view="accueil"] { overflow: clip; }
	.mq-univers-body, .mq-univers-sky { overflow: clip; }
}

/* v273 · Écran de résultat : le décor animé du thème se fige derrière (moins de travail GPU pendant la
 * chorégraphie du score) ; en Grenat, le halo des cartes trouvées reste identique mais coûte moins cher. */
.mq-shell[data-result-screen] .mq-ambiance,.mq-shell[data-result-screen] .mq-ambiance *{animation-play-state:paused!important}
.mq-shell[data-skin="grenat"] .mq-card.is-done .mq-face{box-shadow:0 0 0 2px rgba(219,167,99,.15),0 0 12px rgba(221,157,106,.34)}

/* MemoMilo v295 / Phase 1 : cache de raster temporaire pour jeux locaux.
   Hors zone tactile, hors flux; aucun changement de disposition au retournement. */
.mq-board.mq-is-warming{position:relative}
.mq-board .mq-local-warm-strip{position:absolute;inset:0;display:grid;grid-template-columns:inherit;grid-template-rows:inherit;gap:inherit;pointer-events:none;opacity:.004;z-index:0}
.mq-board .mq-local-warm-strip img{display:block;object-fit:cover;border-radius:10px;pointer-events:none}
.mq-board .mq-card.is-queued:not(.is-open):not(.is-done){opacity:.78}

/* v296 : sans mouvement, les retournements locaux sont instantanés.
   Aucun délai de transition ne doit subsister avec les réglages accessibles. */
.mq-shell[data-motion="calme"] .mq-board:not(.mq-speed-local-board) .mq-card,
.mq-shell[data-motion="calme"] .mq-board:not(.mq-speed-local-board) .mq-face,
.mq-shell[data-motion="calme"] .mq-board:not(.mq-speed-local-board) .mq-face::before,
.mq-shell[data-motion="calme"] .mq-board:not(.mq-speed-local-board) .mq-face::after {
 animation:none!important; transition:none!important;
}
@media (prefers-reduced-motion: reduce) {
 .mq-shell .mq-board:not(.mq-speed-local-board) .mq-card,
 .mq-shell .mq-board:not(.mq-speed-local-board) .mq-face,
 .mq-shell .mq-board:not(.mq-speed-local-board) .mq-face::before,
 .mq-shell .mq-board:not(.mq-speed-local-board) .mq-face::after {
  animation:none!important; transition:none!important;
 }
}
