:root{
  --bg:#09090d;
  --bg-soft:#101017;
  --surface:rgba(255,255,255,.055);
  --surface-strong:rgba(255,255,255,.085);
  --surface-solid:#15151d;
  --ink:#f7f4ec;
  --muted:#aaa6b4;
  --gold:#f2b84b;
  --gold-soft:#ffe4a3;
  --purple:#7b4ed8;
  --cyan:#1b8fa3;
  --line:rgba(255,255,255,.11);
  --line-strong:rgba(242,184,75,.34);
  --ok:#72d6a5;
  --danger:#ff8e81;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
body{background:radial-gradient(circle at 78% 10%,rgba(93,46,171,.27),transparent 30%),radial-gradient(circle at 10% 45%,rgba(14,122,145,.16),transparent 28%),linear-gradient(180deg,#09090d 0%,#0b0b11 60%,#09090d 100%);background-attachment:fixed}
button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}
.site-topbar{min-height:76px;display:flex;align-items:center;gap:28px;padding:16px clamp(18px,5vw,76px);border-bottom:1px solid var(--line);background:rgba(9,9,13,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.01em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:linear-gradient(145deg,var(--gold),#d99024);color:#17100a;box-shadow:0 0 28px rgba(242,184,75,.25)}
.topnav{display:flex;align-items:center;gap:22px;margin-left:auto}.topnav a{font-size:.9rem;font-weight:750;color:var(--muted);transition:.15s}.topnav a:hover{color:var(--ink)}
.lab-pill{padding:7px 11px;border-radius:999px;border:1px solid rgba(242,184,75,.35);background:rgba(242,184,75,.1);color:var(--gold-soft);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.puzzle-shell{width:min(1500px,calc(100% - 28px));margin:0 auto;padding:28px 0 80px}
.hero{min-height:330px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:32px;align-items:center;padding:42px clamp(20px,4vw,56px);border:1px solid var(--line);border-radius:32px;background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:var(--shadow);overflow:hidden;position:relative}
.hero::after{content:"";position:absolute;inset:auto -10% -50% 32%;height:360px;background:radial-gradient(circle,rgba(242,184,75,.13),transparent 67%);pointer-events:none}
.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:.74rem;font-weight:900;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}.hero h1{font-size:clamp(2.5rem,5.8vw,5rem);line-height:.98;max-width:900px;margin:12px 0 18px;letter-spacing:-.045em}.hero p{max-width:780px;color:var(--muted);font-size:clamp(1rem,1.5vw,1.17rem);line-height:1.65;margin:0}.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.config-badge,.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:.77rem;font-weight:850}.config-badge{background:rgba(123,78,216,.16);border:1px solid rgba(153,111,235,.28);color:#d6c0ff}.status-chip{background:rgba(114,214,165,.11);border:1px solid rgba(114,214,165,.24);color:var(--ok)}
.hero-art{height:270px;position:relative;filter:drop-shadow(0 20px 42px rgba(0,0,0,.38))}.piece{position:absolute;width:132px;height:132px;border-radius:24px;border:1px solid rgba(255,255,255,.17);background:linear-gradient(145deg,rgba(123,78,216,.94),rgba(36,20,70,.96));box-shadow:inset 0 1px rgba(255,255,255,.2),0 18px 36px rgba(0,0,0,.3)}.piece-a{left:10%;top:9%;display:grid;place-items:center;color:var(--gold);font-size:2.8rem}.piece-b{left:46%;top:0;background:linear-gradient(145deg,#234f62,#102b37)}.piece-c{left:2%;top:50%;background:linear-gradient(145deg,#d49b2f,#684917)}.piece-d{left:39%;top:50%;background:linear-gradient(145deg,#6d42b8,#2c1a4f)}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.source-card{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px;border-radius:24px;border:1px solid var(--line);background:var(--surface);box-shadow:0 10px 28px rgba(0,0,0,.14)}.source-card.active{border-color:var(--line-strong);background:linear-gradient(135deg,rgba(242,184,75,.08),rgba(255,255,255,.035))}.source-card.future{opacity:.72}.source-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:rgba(242,184,75,.11);border:1px solid rgba(242,184,75,.23);color:var(--gold);font-size:1.6rem}.source-card h2{margin:5px 0 8px;font-size:1.28rem}.source-card p{margin:0 0 14px;color:var(--muted);line-height:1.5}.source-actions{display:flex;gap:8px;flex-wrap:wrap}.source-meta{display:block;margin-top:10px;color:var(--muted);font-size:.8rem}
.panel,.side-card,.ad-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}.panel{padding:22px;margin-top:18px}.panel-title,.board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.panel h2,.side-card h3{margin:5px 0 0}.compact-actions{display:flex;gap:8px;flex-wrap:wrap}.button{border:1px solid transparent;border-radius:13px;min-height:44px;padding:10px 15px;font-weight:820;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.16s;text-decoration:none}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.5}.button.primary{background:linear-gradient(145deg,var(--gold),#d69124);color:#17100a;box-shadow:0 8px 24px rgba(242,184,75,.16)}.button.secondary{background:rgba(255,255,255,.055);color:var(--ink);border-color:var(--line)}.button.ghost{background:transparent;border-color:var(--line);color:var(--muted)}.file-button{position:relative}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.difficulty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-top:18px}.difficulty-card{min-height:92px;padding:12px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;cursor:pointer;transition:.16s}.difficulty-card:hover{border-color:rgba(242,184,75,.35);background:rgba(255,255,255,.055)}.difficulty-card.selected{background:linear-gradient(145deg,rgba(242,184,75,.95),#d98d23);border-color:transparent;color:#17100a;box-shadow:0 10px 24px rgba(242,184,75,.18)}.difficulty-card strong{font-size:1.55rem;line-height:1}.difficulty-card span{font-weight:820}.difficulty-card small{opacity:.68;margin-top:5px;font-size:.7rem}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.rules-grid p{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.84rem;line-height:1.5}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.board-panel{min-width:0}.progress-box{display:grid;grid-template-columns:auto minmax(110px,220px) auto;gap:10px;align-items:center}.progress-box>span{font-size:1.35rem;font-weight:950;color:var(--gold)}.progress-box progress{accent-color:var(--gold);width:100%;height:9px}.progress-box small{color:var(--muted);white-space:nowrap}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.board-tools{margin:14px 0 12px}.gesture-help{margin-left:auto;color:var(--muted);font-size:.79rem}.canvas-frame{height:min(74vh,850px);min-height:500px;border:1px solid rgba(255,255,255,.1);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#262630,#17171f 70%);position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.canvas-frame canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}.canvas-frame canvas:active{cursor:grabbing}

/* MC_PUZZLE_IOS_TOUCH_STABILITY_U8JFB_BEGIN */
#puzzle-board-panel,
#puzzle-board-panel *{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
/* MC_PUZZLE_IOS_TOUCH_STABILITY_U8JFB_END */
.side-column{display:grid;gap:14px;margin-top:18px;position:sticky;top:94px}.side-card,.ad-card{padding:18px}.side-card p,.side-card li{color:var(--muted);line-height:1.55;font-size:.85rem}.side-card ul{padding-left:18px;margin:12px 0 0}.side-card li+li{margin-top:7px}.ad-card{display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:rgba(255,255,255,.04)}.puzzle-ad-separated{max-width:970px;min-height:120px;margin:160px auto 0;padding:18px}.ad-card[hidden]{display:none}.ad-label{text-align:center;font-size:.64rem;font-weight:800;letter-spacing:.12em;color:#7f7c88;margin-bottom:8px}.ad-slot{min-height:90px;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.privacy-card{border-color:rgba(27,143,163,.26);background:linear-gradient(145deg,rgba(27,143,163,.08),rgba(255,255,255,.03))}.lab-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;border-color:rgba(123,78,216,.28)}.lab-panel p{max-width:760px;color:var(--muted);line-height:1.55;margin:0}
@media(max-width:1180px){.difficulty-grid{grid-template-columns:repeat(6,minmax(85px,1fr))}.game-grid{grid-template-columns:1fr}.side-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.site-topbar{gap:12px;padding:12px 14px}.topnav{display:none}.lab-pill{margin-left:auto}.puzzle-shell{width:min(100% - 14px,1500px);padding-top:12px}.hero{grid-template-columns:1fr;min-height:auto;padding:28px 20px}.hero-art{display:none}.source-grid{grid-template-columns:1fr}.panel-title,.board-head,.lab-panel{flex-direction:column}.difficulty-grid{grid-template-columns:repeat(4,1fr)}.rules-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr}.puzzle-ad-separated{margin-top:155px;min-height:110px}.ad-slot{min-height:80px}.gesture-help{width:100%;margin-left:0}.canvas-frame{height:68vh;min-height:420px}}
@media(max-width:480px){.brand span:last-child{font-size:.9rem}.hero h1{font-size:2.55rem}.source-card{grid-template-columns:1fr}.difficulty-grid{grid-template-columns:repeat(3,1fr)}.difficulty-card{min-height:82px}.compact-actions,.compact-actions .button{width:100%}.canvas-frame{height:64vh;min-height:390px}.toolbar .button{flex:1 1 120px}}

/* MC_PUZZLE_SOLO_V5_BEGIN */
[hidden]{display:none!important}

.puzzle-hero-v5{min-height:250px;margin-bottom:18px}
.puzzle-hero-v5 h1{font-size:clamp(2.5rem,5vw,4.5rem)}
.puzzle-setup-view{display:flex;flex-direction:column;gap:18px}
.puzzle-setup-view>.panel{margin-top:0}
.setup-help{margin:9px 0 0;color:var(--muted);line-height:1.5}

.puzzle-image-panel{padding:24px}
.personal-image-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}
.personal-image-copy{display:flex;align-items:center;gap:14px;min-width:0}
.personal-image-copy>div{display:flex;min-width:0;flex-direction:column;gap:4px}
.personal-image-copy strong{font-size:1rem}
.personal-image-copy span:last-child{color:var(--muted);font-size:.8rem;line-height:1.35}
.personal-image-actions{display:flex;align-items:center;gap:11px;min-width:0}
.personal-image-actions .source-meta{margin:0;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reward-rule{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}
.reward-rule.local{border:1px solid rgba(255,142,129,.22);background:rgba(255,142,129,.07);color:#ffb4ab}

.collector-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:#716d7b;font-size:.68rem;font-weight:900;letter-spacing:.14em}
.collector-divider::before,.collector-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.collector-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.collector-heading h3{margin:5px 0 0;font-size:1.05rem}
.collector-heading .source-meta{margin-top:5px}
.puzzle-collector-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;max-height:380px;overflow:auto;margin-top:14px;padding-right:4px}
.puzzle-collector-item{display:grid;grid-template-columns:66px minmax(0,1fr);gap:9px;align-items:center;min-height:76px;padding:7px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);color:var(--ink);text-align:left;cursor:pointer;transition:.15s}
.puzzle-collector-item:hover{border-color:rgba(242,184,75,.4);background:rgba(255,255,255,.055);transform:translateY(-1px)}
.puzzle-collector-item.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(242,184,75,.08);background:rgba(242,184,75,.07)}
.puzzle-collector-item.locked{opacity:.72}
.puzzle-collector-item.protected{border-color:rgba(231,190,91,.32);background:linear-gradient(145deg,rgba(111,53,189,.08),rgba(255,255,255,.025))}
.puzzle-collector-item.protected:hover{border-color:rgba(231,190,91,.48);transform:none}
.puzzle-collector-thumb{position:relative;width:66px;height:62px;border-radius:10px;overflow:hidden;background:#20212b;display:grid;place-items:center;color:var(--gold)}
.puzzle-collector-thumb img{width:100%;height:100%;object-fit:cover}
.puzzle-collector-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.puzzle-collector-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.puzzle-collector-copy small{color:var(--muted);font-size:.68rem}
.collector-loading{grid-column:1/-1;padding:20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.collector-loading.error{color:var(--danger)}

.puzzle-start-actions .button{min-width:180px}
.puzzle-game-view{margin-top:18px}
.board-panel{position:relative}
.board-head-right{display:flex;flex-direction:column;gap:11px;align-items:flex-end}
.puzzle-live-stats{display:flex;align-items:stretch;gap:10px}
.timer-box{display:flex;min-width:116px;flex-direction:column;align-items:flex-end;justify-content:center;padding:8px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.timer-box small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.13em}
.timer-box strong{margin-top:2px;color:var(--gold);font-size:1.28rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.progress-box{min-width:310px;padding:8px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035)}
.board-main-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fullscreen-button{width:44px;min-width:44px;padding:0;border-color:rgba(123,78,216,.42);background:rgba(123,78,216,.14);font-size:1.25rem}
.board-source-summary{margin:7px 0 0;color:var(--muted);font-size:.82rem}
.canvas-frame canvas.is-locked{cursor:default}

.puzzle-complete-overlay{position:absolute;inset:0;z-index:35;display:grid;place-items:center;padding:24px;background:rgba(8,8,12,.68);backdrop-filter:blur(5px);border-radius:26px}
.puzzle-complete-card{width:min(520px,100%);padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,#1d1d27,#111118);box-shadow:0 24px 80px rgba(0,0,0,.48);text-align:center}
.complete-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 13px;border-radius:18px;background:linear-gradient(145deg,var(--gold),#d69124);color:#17100a;font-size:1.6rem;font-weight:900}
.puzzle-complete-card h2{margin:7px 0 8px;font-size:1.8rem}
.puzzle-complete-card>p{margin:0;color:var(--muted);line-height:1.45}
.complete-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}
.complete-stats>div{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035)}
.complete-stats small{color:var(--muted);font-size:.64rem;font-weight:900;letter-spacing:.12em}
.complete-stats strong{font-size:1.35rem;font-variant-numeric:tabular-nums}
.complete-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.complete-home{grid-column:1/-1;min-height:44px}

/* MC_PUZZLE_FULLSCREEN_MINIMAL_LG2RN_BEGIN */
#puzzle-board-panel:fullscreen,
#puzzle-board-panel:-webkit-full-screen,
#puzzle-board-panel.puzzle-board-immersive{
  position:relative;
  width:100vw!important;
  /* U8JFB v2 : hauteur stable pendant l’animation des barres Safari. */
  height:100vh!important;
  min-height:100vh!important;
  height:100lvh!important;
  min-height:100lvh!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#101017!important;
  overflow:hidden!important;
  display:block!important;
  touch-action:none!important;
  overscroll-behavior:none!important;
}
#puzzle-board-panel.puzzle-board-immersive{position:fixed!important;inset:0!important;z-index:2147483000!important}
body.puzzle-fullscreen-body{overflow:hidden!important}

#puzzle-board-panel:fullscreen .board-head,
#puzzle-board-panel:-webkit-full-screen .board-head,
#puzzle-board-panel.puzzle-board-immersive .board-head{
  position:absolute!important;
  z-index:30;
  top:calc(env(safe-area-inset-top,0px) + 10px);
  right:calc(env(safe-area-inset-right,0px) + 10px);
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}
#puzzle-board-panel:fullscreen .board-head>div:first-child,
#puzzle-board-panel:-webkit-full-screen .board-head>div:first-child,
#puzzle-board-panel.puzzle-board-immersive .board-head>div:first-child,
#puzzle-board-panel:fullscreen .progress-box,
#puzzle-board-panel:-webkit-full-screen .progress-box,
#puzzle-board-panel.puzzle-board-immersive .progress-box,
#puzzle-board-panel:fullscreen .board-main-actions,
#puzzle-board-panel:-webkit-full-screen .board-main-actions,
#puzzle-board-panel.puzzle-board-immersive .board-main-actions{
  display:none!important;
}
#puzzle-board-panel:fullscreen .board-head-right,
#puzzle-board-panel:-webkit-full-screen .board-head-right,
#puzzle-board-panel.puzzle-board-immersive .board-head-right,
#puzzle-board-panel:fullscreen .puzzle-live-stats,
#puzzle-board-panel:-webkit-full-screen .puzzle-live-stats,
#puzzle-board-panel.puzzle-board-immersive .puzzle-live-stats{
  display:block!important;
  width:auto!important;
  margin:0!important;
}
#puzzle-board-panel:fullscreen .timer-box,
#puzzle-board-panel:-webkit-full-screen .timer-box,
#puzzle-board-panel.puzzle-board-immersive .timer-box{
  min-width:0!important;
  padding:8px 11px!important;
  align-items:center!important;
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(16,16,23,.82)!important;
  box-shadow:0 6px 24px rgba(0,0,0,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:auto;
}
#puzzle-board-panel:fullscreen .timer-box small,
#puzzle-board-panel:-webkit-full-screen .timer-box small,
#puzzle-board-panel.puzzle-board-immersive .timer-box small{display:none!important}
#puzzle-board-panel:fullscreen .timer-box strong,
#puzzle-board-panel:-webkit-full-screen .timer-box strong,
#puzzle-board-panel.puzzle-board-immersive .timer-box strong{margin:0!important;font-size:1.18rem!important}

#puzzle-board-panel:fullscreen .board-tools,
#puzzle-board-panel:-webkit-full-screen .board-tools,
#puzzle-board-panel.puzzle-board-immersive .board-tools{
  position:absolute!important;
  z-index:30;
  top:calc(env(safe-area-inset-top,0px) + 10px);
  left:calc(env(safe-area-inset-left,0px) + 10px);
  display:block!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}
#puzzle-board-panel:fullscreen .board-tools>:not(#puzzle-compact),
#puzzle-board-panel:-webkit-full-screen .board-tools>:not(#puzzle-compact),
#puzzle-board-panel.puzzle-board-immersive .board-tools>:not(#puzzle-compact){display:none!important}
#puzzle-board-panel:fullscreen #puzzle-compact,
#puzzle-board-panel:-webkit-full-screen #puzzle-compact,
#puzzle-board-panel.puzzle-board-immersive #puzzle-compact{
  display:inline-flex!important;
  min-height:44px!important;
  padding:9px 13px!important;
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(16,16,23,.82)!important;
  box-shadow:0 6px 24px rgba(0,0,0,.3);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  pointer-events:auto;
}

#puzzle-board-panel:fullscreen .canvas-frame,
#puzzle-board-panel:-webkit-full-screen .canvas-frame,
#puzzle-board-panel.puzzle-board-immersive .canvas-frame{
  position:absolute!important;
  inset:0!important;
  z-index:1;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#puzzle-board-panel:fullscreen .puzzle-complete-overlay,
#puzzle-board-panel:-webkit-full-screen .puzzle-complete-overlay,
#puzzle-board-panel.puzzle-board-immersive .puzzle-complete-overlay{border-radius:0}
/* MC_PUZZLE_FULLSCREEN_MINIMAL_LG2RN_END */

@media(max-width:1280px){.puzzle-collector-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.personal-image-row{grid-template-columns:minmax(0,1fr) auto}.reward-rule{grid-column:1/-1;width:max-content}.progress-box{min-width:260px}}
@media(max-width:1050px){.puzzle-collector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-live-stats{width:100%}.timer-box{align-items:flex-start}.progress-box{flex:1;min-width:0}}
@media(max-width:820px){.board-head-right{width:100%;align-items:stretch}.board-main-actions{justify-content:flex-start}.personal-image-row{grid-template-columns:1fr}.personal-image-actions{align-items:flex-start;flex-direction:column}.reward-rule{grid-column:auto}.collector-heading{align-items:flex-start;flex-direction:column}.puzzle-collector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-start-actions{width:100%}.puzzle-start-actions .button{flex:1 1 200px}}
@media(max-width:560px){.puzzle-collector-grid{grid-template-columns:1fr}.puzzle-live-stats{display:grid;grid-template-columns:105px minmax(0,1fr)}.timer-box{min-width:0}.progress-box{grid-template-columns:auto minmax(60px,1fr) auto;padding-inline:9px}.board-main-actions{display:grid;grid-template-columns:1fr 1fr 44px;width:100%}.board-main-actions .button{min-width:0}.complete-actions{grid-template-columns:1fr}.puzzle-complete-overlay{padding:12px}.puzzle-complete-card{padding:22px 16px}.puzzle-hero-v5{min-height:auto}}
/* MC_PUZZLE_SOLO_V5_END */


/* MC_PUZZLE_CAMOUFLAGE_MEDIA_V15_7_BEGIN */
.mc-camouflage-magique {
  --mc-camouflage-image: url("assets/camouflage-magique/camouflage-magique-paysage-v15-7.webp");
  background:
    linear-gradient(120deg, rgba(5, 3, 11, .22), rgba(23, 10, 37, .34)),
    radial-gradient(circle at 50% 46%, rgba(9, 5, 17, .08), rgba(5, 3, 11, .32));
  inset: 0;
  isolation: isolate;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 3;
}
.mc-camouflage-magique::before {
  background-image: var(--mc-camouflage-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 112% 112%;
  content: "";
  filter: saturate(.94) contrast(1.04);
  inset: -2%;
  opacity: .98;
  position: absolute;
  z-index: 1;
}
.mc-camouflage-magique::after {
  background:
    linear-gradient(90deg, rgba(4, 3, 9, .34), transparent 18% 82%, rgba(4, 3, 9, .34)),
    radial-gradient(ellipse at center, transparent 24%, rgba(5, 3, 11, .08) 58%, rgba(5, 3, 11, .44) 100%);
  content: "";
  inset: 0;
  position: absolute;
  z-index: 2;
}
.mc-camouflage-signature {
  align-items: center;
  backdrop-filter: blur(8px);
  background: linear-gradient(135deg, rgba(11, 7, 19, .86), rgba(40, 20, 58, .74));
  border: 1px solid rgba(231, 190, 91, .58);
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
  display: flex;
  flex-direction: column;
  gap: 2px;
  left: 50%;
  max-width: calc(100% - 8px);
  padding: 5px 6px 4px;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}
.puzzle-collector-thumb .mc-camouflage-signature strong {
  color: #f7d77c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: .48rem;
  font-style: italic;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.05;
  text-shadow: 0 2px 13px rgba(242, 184, 75, .26);
  white-space: nowrap;
}
.puzzle-collector-thumb .mc-camouflage-signature small {
  color: rgba(247, 244, 236, .78);
  font-size: .29rem;
  font-weight: 720;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
}
@media(max-width:620px){
  .mc-camouflage-magique::before{background-size:118% 118%}
}
/* MC_PUZZLE_CAMOUFLAGE_MEDIA_V15_7_END */

/* MC_PUZZLE_PROGRESSION_FILTERS_V1_BEGIN */
.puzzle-filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:14px}
.puzzle-filter{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--muted);font-size:.74rem;font-weight:850;cursor:pointer;transition:.15s}
.puzzle-filter span{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.065);color:var(--ink);font-size:.68rem}
.puzzle-filter:hover:not(:disabled){border-color:rgba(242,184,75,.38);color:var(--ink)}
.puzzle-filter.active{border-color:rgba(242,184,75,.62);background:rgba(242,184,75,.11);color:var(--gold-soft)}
.puzzle-filter:disabled{cursor:not-allowed;opacity:.38}
.puzzle-progression-status{margin:9px 0 0;color:var(--muted);font-size:.72rem;line-height:1.4}
.puzzle-progression-status.ok{color:var(--ok)}
.puzzle-progression-status.error{color:var(--danger);font-weight:750}
.puzzle-collector-item.completed{border-color:rgba(114,214,165,.34)}
.puzzle-collector-item.completed .puzzle-collector-copy small{color:var(--ok)}
@media(max-width:560px){.puzzle-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-filter{justify-content:space-between}.puzzle-filter:first-child{grid-column:1/-1}}
/* MC_PUZZLE_PROGRESSION_FILTERS_V1_END */


/* MC_PUZZLE_UX_SIMPLIFICATION_20260917_BEGIN */
.puzzle-resume-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border:1px solid rgba(114,214,165,.26);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(114,214,165,.09),rgba(255,255,255,.035));
  box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.puzzle-resume-card[hidden]{display:none!important}
.puzzle-resume-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.puzzle-resume-copy strong{font-size:1.08rem}
.puzzle-resume-copy>span:last-child{color:var(--muted);font-size:.84rem;line-height:1.4}
.puzzle-resume-button{flex:0 0 auto;min-width:220px;border-color:rgba(114,214,165,.3);background:rgba(114,214,165,.08)}

.setup-panel .panel-title{display:block}
.setup-panel .difficulty-grid{margin-top:18px}
.puzzle-start-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.puzzle-start-copy{display:flex;min-width:0;flex-direction:column;gap:4px}
.puzzle-start-copy strong{font-size:1rem}
.puzzle-start-copy span{color:var(--muted);font-size:.82rem;line-height:1.45}
.puzzle-start-button{flex:0 0 auto;min-width:230px;min-height:52px;font-size:1rem}

.puzzle-shell > .puzzle-related-links{
  margin-top:32px;
  padding:20px;
  border-radius:20px;
}
.puzzle-shell > .puzzle-related-links h2{font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.15}
.puzzle-shell > .puzzle-related-links>p{margin-bottom:14px;font-size:.88rem}
.puzzle-shell > .puzzle-related-links .mc-seo-crosslinks-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.puzzle-shell > .puzzle-related-links .mc-seo-link-card{
  min-height:0;
  padding:13px 14px;
  border-radius:14px;
}
.puzzle-shell > .puzzle-related-links .mc-seo-link-card strong{font-size:.88rem;line-height:1.25}
.puzzle-shell > .puzzle-related-links .mc-seo-link-card span{font-size:.74rem;line-height:1.35}

@media(max-width:980px){
  .puzzle-shell > .puzzle-related-links .mc-seo-crosslinks-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:560px){
  .puzzle-hero-v5{min-height:auto;padding:22px 18px;margin-bottom:14px}
  .puzzle-hero-v5 h1{font-size:2.08rem;line-height:1.02;margin:9px 0 12px}
  .puzzle-hero-v5 p{font-size:.94rem;line-height:1.55}
  .puzzle-resume-card{align-items:stretch;flex-direction:column;padding:15px;border-radius:17px}
  .puzzle-resume-button{width:100%;min-width:0;min-height:48px}
  .setup-panel{padding:18px}
  .setup-panel .setup-help{font-size:.9rem}
  .puzzle-start-footer{align-items:stretch;flex-direction:column;margin-top:18px;padding-top:16px}
  .puzzle-start-button{width:100%;min-width:0;min-height:52px}
  .puzzle-shell > .puzzle-related-links{margin-top:24px;padding:16px;border-radius:18px}
  .puzzle-shell > .puzzle-related-links h2{font-size:1.32rem}
  .puzzle-shell > .puzzle-related-links>p{font-size:.82rem}
  .puzzle-shell > .puzzle-related-links .mc-seo-crosslinks-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .puzzle-shell > .puzzle-related-links .mc-seo-link-card{padding:12px;display:flex;align-items:center;min-height:62px}
  .puzzle-shell > .puzzle-related-links .mc-seo-link-card strong{margin:0;font-size:.84rem}
  .puzzle-shell > .puzzle-related-links .mc-seo-link-card span{display:none}
}
/* MC_PUZZLE_UX_SIMPLIFICATION_20260917_END */


/* MC_PUZZLE_MEDIA_FIRST_FORMULA_BONUS_20260917_BEGIN */
.puzzle-image-panel .collector-heading-compact{
  margin-top:16px;
  align-items:center;
}
.collector-status-primary{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.4;
}
.puzzle-image-panel .puzzle-collector-grid{
  max-height:520px;
}

.puzzle-local-bonus{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:22px;
  align-items:center;
  margin-top:18px;
  padding:20px 22px;
  border:1px solid rgba(123,78,216,.24);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(123,78,216,.075),rgba(255,255,255,.025));
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
body[data-puzzle-view="game"] .puzzle-local-bonus{display:none}
.puzzle-local-bonus-copy h2{
  margin:6px 0 8px;
  font-size:clamp(1.2rem,2.2vw,1.55rem);
  line-height:1.15;
}
.puzzle-local-bonus-copy p{
  margin:0;
  color:var(--muted);
  font-size:.86rem;
  line-height:1.55;
}
.puzzle-local-bonus-access{
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:0;
}
.puzzle-local-access-status{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.4;
}
.puzzle-local-bonus-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.puzzle-local-bonus-actions .button{
  min-height:44px;
}
.puzzle-local-bonus-access>.source-meta{
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.puzzle-local-bonus .reward-rule.local{
  align-self:flex-start;
  white-space:normal;
}

@media(max-width:820px){
  .puzzle-image-panel .puzzle-collector-grid{max-height:min(62vh,620px)}
  .puzzle-local-bonus{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){
  .puzzle-image-panel{padding:18px}
  .puzzle-image-panel .collector-heading-compact{margin-top:13px;gap:9px}
  .collector-heading-compact .source-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .collector-heading-compact .source-actions .button{min-height:40px;padding:8px 10px;font-size:.82rem}
  .puzzle-image-panel .puzzle-collector-grid{max-height:min(64vh,560px);margin-top:12px}
  .puzzle-local-bonus{margin-top:14px;padding:16px;border-radius:17px}
  .puzzle-local-bonus-copy h2{font-size:1.18rem}
  .puzzle-local-bonus-copy p{font-size:.82rem}
  .puzzle-local-bonus-actions{display:grid;grid-template-columns:1fr}
  .puzzle-local-bonus-actions .button{width:100%;min-height:46px}
}
/* MC_PUZZLE_MEDIA_FIRST_FORMULA_BONUS_20260917_END */

/* PUZZLE_HORIZONTAL_RECYCLER_20260917 */
.puzzle-image-panel .puzzle-collector-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  margin-top: 14px !important;
  padding: 2px 2px 10px !important;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 2px;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: thin;
}
.puzzle-image-panel .puzzle-collector-item {
  flex: 0 0 176px !important;
  width: 176px !important;
  min-width: 176px !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 9px !important;
  padding: 8px !important;
  border-radius: 15px !important;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
.puzzle-image-panel .puzzle-collector-thumb {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 11px !important;
}
.puzzle-image-panel .puzzle-collector-copy {
  gap: 4px !important;
  padding: 1px 3px 3px !important;
}
.puzzle-image-panel .puzzle-collector-copy strong {
  font-size: .84rem !important;
  line-height: 1.22 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.puzzle-image-panel .puzzle-collector-copy small {
  font-size: .69rem !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 1.8em;
}
@media (max-width: 560px) {
  .puzzle-image-panel .puzzle-collector-grid {
    gap: 10px !important;
    margin-top: 12px !important;
    padding: 2px 1px 9px !important;
    scrollbar-width: none;
  }
  .puzzle-image-panel .puzzle-collector-grid::-webkit-scrollbar {
    display: none;
  }
  .puzzle-image-panel .puzzle-collector-item {
    flex-basis: 144px !important;
    width: 144px !important;
    min-width: 144px !important;
    padding: 7px !important;
    border-radius: 14px !important;
  }
  .puzzle-image-panel .puzzle-collector-thumb {
    border-radius: 10px !important;
  }
  .puzzle-image-panel .puzzle-collector-copy strong {
    font-size: .79rem !important;
  }
  .puzzle-image-panel .puzzle-collector-copy small {
    font-size: .65rem !important;
  }
}


/* PUZZLE MULTIJOUEUR WEB V1 */
.puzzle-start-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.puzzle-multi-live{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:14px 16px}
.puzzle-multi-live>div:first-child{min-width:140px}.puzzle-multi-live strong{display:block;font-size:1rem}
.puzzle-multi-live-players{display:flex;gap:8px;overflow-x:auto;flex:1;scrollbar-width:thin;padding:2px}
.puzzle-multi-player{position:relative;min-width:150px;background:#0a0d12;border:1px solid rgba(216,177,90,.22);border-radius:14px;padding:10px 11px;overflow:hidden}
.puzzle-multi-player strong,.puzzle-multi-player span{position:relative;z-index:1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.puzzle-multi-player strong{font-size:.8rem}.puzzle-multi-player span{font-size:.7rem;color:#a9a8a2;margin-top:3px}
.puzzle-multi-player i{position:absolute;left:0;bottom:0;height:3px;width:var(--p,0%);background:#d8b15a;transition:width .25s ease}
@media(max-width:760px){.puzzle-multi-live{align-items:flex-start;flex-direction:column}.puzzle-multi-live-players{width:100%}.puzzle-start-actions{width:100%}.puzzle-start-actions .button{flex:1}}
