.de-app.de-app [hidden]{display:none!important}
.de-app.de-app{
  --paper:#F0EDE5; --card:#FFFFFF; --ink:#221E19; --muted:#5F574F; --line:#DDD6C8;
  --amber:#F2A93B; --glow:#FFD98A; --ok:#1F6B4A; --okbg:#E3F1E9; --ko:#A8321F; --kobg:#F8E4DF;
  --font:'Lexend',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
}
.de-app.de-app *{box-sizing:border-box}
.de-app.de-app{background:var(--paper);color:var(--ink)}
.de-app.de-app{font-family:var(--font);font-size:16px;line-height:1.55;padding-block:24px 48px}
.de-app.de-app{max-width:792px;padding-inline:16px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.de-app.de-app h1,.de-app.de-app h2,.de-app.de-app h3{margin:0;line-height:1.15;text-wrap:balance}
.de-app.de-app p{margin:0}
.de-app.de-app .eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8A5A12}
.de-app.de-app .lamp{display:flex;align-items:flex-end;gap:14px}
.de-app.de-app .lamp svg{flex-shrink:0}
.de-app.de-app .hero h1{font-size:clamp(32px,6vw,48px);font-weight:700;letter-spacing:-.01em}
.de-app.de-app .hero p{max-width:60ch;color:var(--muted);font-size:17px}
.de-app.de-app .card{background:var(--card);border-radius:20px;padding:24px;box-shadow:0 1px 0 rgba(34,30,25,.06),0 12px 30px rgba(34,30,25,.08);display:flex;flex-direction:column;gap:16px}
.de-app.de-app .steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.de-app.de-app .step{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;background:var(--paper)}
.de-app.de-app .step b{font-size:14px}
.de-app.de-app .step span{font-size:14px;color:var(--muted)}
.de-app.de-app .field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.de-app.de-app input[type=text]{height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font:500 18px var(--mono);color:var(--ink);background:#fff;width:100%}
.de-app.de-app input[type=text]:focus-visible,.de-app.de-app button:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.de-app.de-app .seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.de-app.de-app .seat{min-height:64px;border:2px solid var(--line);border-radius:14px;background:#fff;font:600 17px var(--font);color:var(--ink);cursor:pointer}
.de-app.de-app .seat[aria-pressed="true"]{border-color:var(--ink);background:var(--glow)}
.de-app.de-app .check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.de-app.de-app .check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink)}
.de-app.de-app .btn{min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:600 17px var(--font);cursor:pointer}
.de-app.de-app .btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.de-app.de-app .btn[disabled]{opacity:.45;cursor:not-allowed}
.de-app.de-app .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.de-app.de-app .small{font-size:13px;color:var(--muted)}
.de-app.de-app .linkbtn{background:none;border:0;padding:0;font:500 14px var(--font);color:var(--muted);text-decoration:underline;cursor:pointer}
.de-app.de-app .err{color:var(--ko);font-size:14px;font-weight:600;min-height:1em}
.de-app.de-app .bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.de-app.de-app .chip{padding:6px 12px;border-radius:999px;background:var(--card);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.de-app.de-app .timer{height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.de-app.de-app .timer i{display:block;height:100%;background:var(--amber);transform-origin:left;transition:transform .25s linear}
.de-app.de-app .timer.low i{background:var(--ko)}
.de-app.de-app .task-q{font-size:20px;font-weight:600}
.de-app.de-app .doc{border:1.5px solid var(--line);border-radius:14px;padding:18px;background:#FFFEFB;display:flex;flex-direction:column;gap:10px}
.de-app.de-app .mailhead{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:14px;color:var(--muted);padding-bottom:10px;border-bottom:1px solid var(--line)}
.de-app.de-app .mailhead b{color:var(--ink);font-weight:600}
.de-app.de-app .tablewrap{overflow-x:auto}
.de-app.de-app table{border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
.de-app.de-app th,.de-app.de-app td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.de-app.de-app th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.de-app.de-app td.num{font-family:var(--mono)}
.de-app.de-app .receipt{font-family:var(--mono);font-size:15px;max-width:340px;margin:0 auto;padding:18px;background:#fff;border:1px dashed #B9AF9E;display:flex;flex-direction:column;gap:4px}
.de-app.de-app .receipt .l{display:flex;justify-content:space-between;gap:12px}
.de-app.de-app .receipt .c{text-align:center}
.de-app.de-app .opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.de-app.de-app .opt{min-height:56px;padding:10px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;font:500 16px var(--font);color:var(--ink);text-align:left;cursor:pointer}
.de-app.de-app .opt:hover{border-color:var(--ink)}
.de-app.de-app .form2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.de-app.de-app .feedback{padding:12px 16px;border-radius:12px;font-weight:600}
.de-app.de-app .feedback.ok{background:var(--okbg);color:var(--ok)}
.de-app.de-app .feedback.ko{background:var(--kobg);color:var(--ko)}
.de-app.de-app .w{display:inline-block;white-space:pre}
.de-app.de-app .trouble .w.bouge{animation:bouge .5s ease-in-out}
@keyframes bouge{0%,100%{transform:none}30%{transform:translate(1.5px,-2px) rotate(-2deg)}70%{transform:translate(-1px,1.5px) rotate(1.5deg)}}
.de-app.de-app .trouble{letter-spacing:-.015em}
@media (prefers-reduced-motion:reduce){.de-app.de-app .trouble .w.bouge{animation:none}
}
.de-app.de-app .score{display:flex;gap:16px;flex-wrap:wrap}
.de-app.de-app .score div{flex:1 1 160px;padding:16px;border-radius:14px;background:var(--paper);display:flex;flex-direction:column;gap:2px}
.de-app.de-app .score strong{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}
.de-app.de-app .score span{font-size:13px;color:var(--muted)}
.de-app.de-app .compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.de-app.de-app .compare .doc{font-size:15px}
.de-app.de-app .compare h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.de-app.de-app .tips{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.de-app.de-app .tips li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.de-app.de-app .tips li i{width:28px;height:28px;border-radius:50%;background:var(--glow);display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:14px}
.de-app.de-app .reveal-flag{padding:14px 16px;border-radius:14px;background:var(--glow);font-weight:600}
.de-app.de-app footer{text-align:center}
@media (max-width:560px){.de-app.de-app .steps,.de-app.de-app .opts,.de-app.de-app .form2,.de-app.de-app .compare{grid-template-columns:1fr}
.de-app.de-app .card{padding:18px}
}
.de-app.de-app .choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.de-app.de-app .code-salle{font:600 clamp(44px,12vw,72px)/1 var(--mono);letter-spacing:.18em;text-align:center;padding:18px 0;border-radius:16px;background:var(--paper)}
.de-app.de-app .partage{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.de-app.de-app .partage input{flex:1 1 240px;font-size:14px;height:44px}
.de-app.de-app .attente{display:flex;align-items:center;gap:12px;color:var(--muted)}
.de-app.de-app .pouls{width:12px;height:12px;border-radius:50%;background:var(--amber);animation:pouls 1.4s ease-in-out infinite}
@keyframes pouls{0%,100%{transform:scale(.8);opacity:.6}50%{transform:scale(1.2);opacity:1}}
.de-app.de-app .decompte{font:700 120px/1 var(--font);text-align:center;padding:40px 0}
.de-app.de-app .bandeau{padding:12px 16px;border-radius:12px;background:var(--kobg);color:var(--ko);font-weight:600;font-size:14px}
.de-app.de-app .duel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.de-app.de-app .duel > div{padding:18px;border-radius:16px;background:var(--paper);display:flex;flex-direction:column;gap:4px}
.de-app.de-app .duel .qui{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.de-app.de-app .duel strong{font-size:40px;line-height:1.1;font-variant-numeric:tabular-nums}
.de-app.de-app .duel span{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.de-app.de-app .duel .gagne{background:var(--glow)}
@media (prefers-reduced-motion:reduce){.de-app.de-app .pouls{animation:none}
}
@media (max-width:560px){.de-app.de-app .choix,.de-app.de-app .duel{grid-template-columns:1fr}
}


/* Isolation vis-à-vis du thème WordPress / Divi */
.de-app.de-app{max-width:792px;padding-inline:16px;margin:0 auto;display:flex;flex-direction:column;gap:20px;text-align:left;color:var(--ink);box-sizing:border-box}
.de-app.de-app h1,.de-app.de-app h2,.de-app.de-app h3{font-family:var(--font);color:var(--ink);padding:0;margin:0;text-transform:none;letter-spacing:normal}
.de-app.de-app p{padding:0;margin:0}
.de-app.de-app button,.de-app.de-app input{font-family:var(--font);text-transform:none;letter-spacing:normal;box-shadow:none;margin:0}
.de-app.de-app .btn,.de-app.de-app .seat,.de-app.de-app .opt{line-height:1.2}
.de-app.de-app .btn.ghost{box-shadow:inset 0 0 0 2px var(--ink)}
.de-app.de-app ul{margin:0;padding:0}
.de-app.de-app table{margin:0;border:0}
.de-app.de-app p,.de-app.de-app li,.de-app.de-app td,.de-app.de-app th,.de-app.de-app span{color:inherit}
.de-app.de-app .doc,.de-app.de-app .card{color:var(--ink)}
.de-app.de-app .small,.de-app.de-app .hero p{color:var(--muted)}

/* ---------- Écrans de la version longue et effets de lecture ---------- */
.de-app.de-app .planning td.v{font-size:14px}
.de-app.de-app .etapes{display:flex;flex-direction:column;gap:8px}
.de-app.de-app .etape{min-height:52px;padding:10px 14px;border:2px solid var(--line);border-radius:12px;background:#fff;font:500 15px var(--font);color:var(--ink);text-align:left;cursor:pointer;display:flex;gap:12px;align-items:center}
.de-app.de-app .etape .n{width:28px;height:28px;border-radius:50%;background:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.de-app.de-app .etape[aria-pressed="true"]{border-color:var(--ink);background:var(--glow)}
.de-app.de-app .slide{border-radius:14px;background:#1E2A2B;color:#F6EFE2;padding:22px;display:flex;flex-direction:column;gap:10px;min-height:220px}
.de-app.de-app .slide h3{font-size:22px}
.de-app.de-app .slide ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.de-app.de-app .cache{display:flex;align-items:center;justify-content:center;min-height:220px;border-radius:14px;background:var(--paper);color:var(--muted);font-weight:600;text-align:center;padding:20px}
.de-app.de-app .mots{line-height:2.1;font-size:16px}
.de-app.de-app .mot{border:0;background:none;padding:2px 3px;margin:0 -1px;border-radius:6px;font:inherit;color:var(--ink);cursor:pointer}
.de-app.de-app .mot:hover{background:var(--paper)}
.de-app.de-app .mot[aria-pressed="true"]{background:var(--kobg);color:var(--ko);text-decoration:underline wavy}
.de-app.de-app .postit{max-width:320px;margin:0 auto;padding:22px;background:#FFE88A;transform:rotate(-2deg);box-shadow:0 10px 20px rgba(34,30,25,.18);font-family:'Caveat','Segoe Print','Comic Sans MS',cursive;font-size:24px;line-height:1.3;color:#2A2410}
.de-app.de-app .fx-vague .ligne{animation:vague 2.6s ease-in-out infinite}
.de-app.de-app .fx-vague tr:nth-child(2) .ligne,.de-app.de-app .fx-vague .ligne:nth-child(2){animation-delay:-.7s}
.de-app.de-app .fx-vague tr:nth-child(3) .ligne,.de-app.de-app .fx-vague .ligne:nth-child(3){animation-delay:-1.3s}
.de-app.de-app .fx-vague tr:nth-child(4) .ligne,.de-app.de-app .fx-vague .ligne:nth-child(4){animation-delay:-1.9s}
.de-app.de-app .fx-vague tr:nth-child(5) .ligne,.de-app.de-app .fx-vague .ligne:nth-child(5){animation-delay:-.3s}
@keyframes vague{0%,100%{transform:translateX(0)}50%{transform:translateX(calc(var(--i,1) * 9px))}}
.de-app.de-app .fx-entrelace{position:relative;letter-spacing:calc(var(--i,1) * -0.035em)}
.de-app.de-app .fx-entrelace .fantome{position:absolute;inset:0;pointer-events:none;opacity:calc(.22 + var(--i,1) * .09);transform:translate(4px,.62em);animation:derive 5s ease-in-out infinite;user-select:none}
.de-app.de-app .fx-entrelace .fantome *{pointer-events:none}
@keyframes derive{0%,100%{transform:translate(4px,.62em)}50%{transform:translate(-3px,.48em)}}
.de-app.de-app .fx-brume{transition:filter 1s linear}
.de-app.de-app .w .mir{display:inline-block;transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){.de-app.de-app .fx-vague .ligne,.de-app.de-app .fx-entrelace .fantome{animation:none}
}
.de-app.de-app .fx-vague .ligne{display:inline-block}
@keyframes vague{0%,100%{transform:translate(0,0)}35%{transform:translate(calc(var(--i,1) * 14px + 6px),-2px)}70%{transform:translate(calc(var(--i,1) * 5px),2px)}}
.de-app.de-app .fx-loupe{position:relative}
.de-app.de-app .fx-loupe .flou{filter:blur(calc(var(--i,1) * 1.2px + 1.8px));opacity:.85}
.de-app.de-app .fx-loupe .net{position:absolute;inset:0;padding:18px;pointer-events:none;-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 55%,transparent 100%);mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 55%,transparent 100%)}
.de-app.de-app .fx-colle .w{transition:margin .35s ease}
.de-app.de-app .fx-colle .w.colle{margin-right:-.34em;letter-spacing:-.03em}
.de-app.de-app .fx-brume{text-shadow:var(--ombre,0px) 0 0 rgba(246,239,226,.55),calc(var(--ombre,0px) * -1) 1px 0 rgba(246,239,226,.35)}
.de-app.de-app .l{display:inline-block;transition:transform .25s ease,opacity .3s ease}
.de-app.de-app .l.flip{transform:scaleX(-1)}
.de-app.de-app .l.rot{transform:rotate(180deg)}
.de-app.de-app .l.haut{transform:translateY(-.35em)}
.de-app.de-app .l.efface{opacity:.08}
.de-app.de-app .fx-saute{display:flex;flex-direction:column}
.de-app.de-app .plan{position:relative;width:100%;max-width:640px;align-self:center;aspect-ratio:640/360}
.de-app.de-app .plan svg{position:absolute;inset:0;width:100%;height:100%}
.de-app.de-app .etiquette{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:13px;font-weight:600;line-height:1.1;text-align:center;white-space:nowrap}
.de-app.de-app .etiquette b{font:600 13px var(--mono);padding:1px 6px;border-radius:4px;background:#221E19;color:#fff}
.de-app.de-app .ici{position:absolute;transform:translate(-50%,-190%);font-size:11px;font-weight:700;color:#8A5A12}
@media (max-width:560px){.de-app.de-app .etiquette{font-size:10px}
.de-app.de-app .etiquette b{font-size:10px}
}


.de-app.de-app .etape,.de-app.de-app .mot{box-shadow:none;text-transform:none}
.de-app.de-app .slide h3{color:#F6EFE2}
.de-app.de-app .plan svg{max-width:none}

/* Effet « Sans Lili » : lettres dédoublées en cyan et magenta, comme sur le site de Lili for Life */
.de-app.de-app .fx-lili .t,.de-app.de-app .fx-lili .etiquette b{font-weight:800;color:#2B1B5A;text-shadow:calc(var(--i,1) * -0.035em - 0.05em) 0 rgba(0,215,235,.85),calc(var(--i,1) * 0.035em + 0.05em) 0 rgba(215,30,120,.7)}
.de-app.de-app .fx-lili .etiquette{font-size:16px}.de-app.de-app .fx-lili .etiquette b{font-size:15px}
.de-app.de-app .fx-lili .etiquette b{background:#FFFFFF;color:#2B1B5A;box-shadow:0 0 0 1.5px #2B1B5A}

/* ---------- 1.5.0 : défi solo ---------- */
.de-app.de-app a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff}
.de-app.de-app a.btn.ghost{color:var(--ink)}
.de-app.de-app .btn-lili{background:#05ADBD;color:#0C2B31}
.de-app.de-app a.btn.btn-lili{color:#0C2B31}
.de-app.de-app .duel .gagne-o{background:#FBE7D2}
.de-app.de-app .duel .gagne-o strong{color:#A35A12}
.de-app.de-app .duel .gagne-lili{background:#DDF4F6}
.de-app.de-app .duel .gagne-lili strong{color:#06808C}
.de-app.de-app .badge-sans{align-self:flex-start;padding:3px 12px;border-radius:999px;background:#F2A65A;color:#3A2208;font-size:13px;font-weight:700}
.de-app.de-app .sans-lili{font-size:20px;font-weight:800;line-height:1.4;color:#2B1B5A;text-shadow:-.09em 0 rgba(0,215,235,.85),.09em 0 rgba(215,30,120,.7)}
.de-app.de-app .de-credit{text-align:center;font-size:13px;color:#8C8378;padding-top:12px;border-top:1px solid var(--line)}
.de-app.de-app .de-credit a{color:inherit;text-decoration:underline}
/* 1.5.1 : version intégrée dans un cadre */
.de-app.de-app.de-integre{padding-block:16px 20px}
