/* Devinettes v63 — composants visuels partagés avec Qui suis-je ? */
#devinettes63-screen { box-sizing: border-box; width: 100%; }
#devinettes63-root { width: min(720px, 100%); margin: 0 auto; color: var(--ink, #193b31); }
.dev63-shell { box-sizing: border-box; width: 100%; padding: 4px 0 30px; }
.dev63-topline { display:flex; align-items:center; gap:10px; margin:0 0 17px; }
.dev63-back { min-height:48px; padding:8px 15px; border:0; border-radius:999px; color:var(--ink); background:color-mix(in srgb,var(--paper) 78%,#dce9dc); font:inherit; font-weight:750; cursor:pointer; }
.dev63-kicker,.dev63-eyebrow,.dev63-label,.dev63-progress { color:#28664b; font-size:10px; font-weight:850; letter-spacing:1px; line-height:1.4; text-transform:uppercase; }
.dev63-topline .dev63-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:#e7f4b0; background:#174e3c; font-size:20px; }
.dev63-shell h1 { margin:2px 0 10px; color:var(--ink); font-size:clamp(29px,7vw,43px); font-weight:850; letter-spacing:-.04em; line-height:1.08; }
.dev63-shell h2 { margin:0 0 10px; color:var(--ink); font-size:18px; line-height:1.25; }
.dev63-shell p,.dev63-shell li { line-height:1.55; }
.dev63-help { max-width:58ch; margin:0 0 18px; color:var(--muted); font-size:15px; }
.dev63-note { margin:14px 0; color:var(--muted); font-size:12px; }
.dev63-tags { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.dev63-tags span { padding:7px 11px; border:1px solid color-mix(in srgb,#28664b 17%,transparent); border-radius:999px; color:#28664b; background:color-mix(in srgb,#28664b 7%,var(--paper)); font-size:11px; font-weight:800; }
.dev63-card,.dev63-handoff,.dev63-clue,.dev63-reveal,.dev63-score,.dev63-status { box-sizing:border-box; margin:14px 0; padding:clamp(16px,4vw,22px); border:1px solid color-mix(in srgb,var(--ink) 10%,transparent); border-radius:22px; color:var(--ink); background:color-mix(in srgb,var(--paper) 93%,#e7eddf); box-shadow:0 5px 18px rgba(25,57,43,.05); }
.dev63-handoff { display:grid; gap:8px; text-align:center; }
.dev63-handoff strong { font-size:clamp(22px,6vw,30px); }
.dev63-handoff span { color:var(--muted); }
.dev63-clue { border:2px solid #28664b; background:color-mix(in srgb,var(--paper) 88%,#d9e9d4); }
.dev63-clue blockquote { margin:8px 0 0; font-size:clamp(20px,5.5vw,30px); font-weight:800; line-height:1.3; }
.dev63-status { border-color:color-mix(in srgb,#28664b 25%,transparent); background:color-mix(in srgb,#4d8b61 10%,var(--paper)); }
.dev63-actions { display:grid; gap:11px; margin:20px 0 10px; }
.dev63-button { box-sizing:border-box; width:100%; min-height:52px; padding:12px 18px; border-radius:999px !important; font-size:15px; font-weight:800; line-height:1.3; }
.dev63-button:focus-visible,.dev63-back:focus-visible,.dev63-field input:focus-visible,.dev63-field select:focus-visible { outline:3px solid var(--focus-ring-color,#28664b); outline-offset:3px; }
.dev63-button:disabled { opacity:.58; cursor:not-allowed; }
.dev63-field { display:grid; gap:7px; margin:12px 0; color:var(--ink); font-weight:750; }
.dev63-field > span { font-size:13px; }
.dev63-field input,.dev63-field select { box-sizing:border-box; width:100%; min-height:50px; padding:12px 14px; border:1px solid color-mix(in srgb,var(--ink) 20%,transparent); border-radius:16px; color:var(--ink); background:var(--paper); font:inherit; font-size:16px; }
.dev63-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 12px; }
.dev63-countdown { display:inline-grid; place-items:center; min-width:58px; min-height:58px; margin:4px 0 10px; padding:8px; border:2px solid color-mix(in srgb,#28664b 24%,transparent); border-radius:50%; color:#174e3c; background:color-mix(in srgb,#dfe9ad 50%,var(--paper)); font-size:24px; font-weight:900; font-variant-numeric:tabular-nums; }
.dev63-progressbar { height:6px; margin:10px 0 18px; overflow:hidden; border-radius:99px; background:color-mix(in srgb,var(--ink) 13%,transparent); }
.dev63-progressbar > i { display:block; width:100%; height:100%; border-radius:inherit; background:#3e805c; }
.dev63-list { padding-left:21px; }
.dev63-list li { margin:7px 0; }
.dev63-score ul { margin-bottom:0; padding-left:0; list-style:none; }
.dev63-score li { display:flex; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent); }
.dev63-score li:last-child { border-bottom:0; }
.dev63-warning { color:#7b2727; background:#fae5df; }
.dev63-success { color:#21553d; background:color-mix(in srgb,#4d8b61 14%,var(--paper)); }
.dev63-hidden-answer { letter-spacing:.04em; }
html[data-appearance="dark"] .dev63-shell h1,html[data-appearance="dark"] .dev63-shell h2,html[data-appearance="dark"] .dev63-shell,html[data-appearance="dark"] .dev63-card,html[data-appearance="dark"] .dev63-handoff,html[data-appearance="dark"] .dev63-clue,html[data-appearance="dark"] .dev63-reveal,html[data-appearance="dark"] .dev63-score,html[data-appearance="dark"] .dev63-status { color:var(--ink); }
html[data-appearance="dark"] .dev63-kicker,html[data-appearance="dark"] .dev63-eyebrow,html[data-appearance="dark"] .dev63-label,html[data-appearance="dark"] .dev63-progress,html[data-appearance="dark"] .dev63-tags span { color:#b6d69d; }
html[data-appearance="dark"] .dev63-countdown { color:#d8efc9; }
html[data-appearance="dark"] .dev63-warning { color:#ffd5c9; background:#562d2a; }
@media (max-width:520px) { .dev63-shell { padding-right:0; padding-left:0; } .dev63-fields { grid-template-columns:1fr; } .dev63-topline { gap:7px; } .dev63-kicker { font-size:9px; } }
@media (max-width:350px) { .dev63-back { padding-right:11px; padding-left:11px; } }
@media (prefers-reduced-motion:reduce) { .dev63-button { transition:none !important; } }

/* Marques propres, vertes et non carrées pour les deux familles concernées. */
#home .special-mode-grid48 .devinettes-logo63,
#home .special-mode-grid48 .pactes-croises-logo71 {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  border: 1px solid color-mix(in srgb, #28664b 28%, transparent);
  border-radius: 50%;
  color: #174e3c;
  background: radial-gradient(circle at 32% 28%, #f4f8de 0, #e1edc9 42%, #cbdcaf 100%);
  box-shadow: inset 0 1px 2px rgba(255,255,255,.72), 0 3px 8px rgba(23,78,60,.12);
}
#home .special-mode-grid48 .devinettes-logo63 svg { width: 32px; height: 32px; stroke-width: 2.1; }
#home .special-mode-grid48 .pactes-croises-logo71 svg { width: 31px; height: 31px; stroke-width: 2.1; }
#home .special-mode-grid48 button#mode-devinettes63 { --mode-accent48: #28664b; }
#home .special-mode-grid48 button#mode-pactes-croises71 { --mode-accent48: #28664b; }
#home .devinettes-entry63 .mode-status48,
#home .pactes-croises-entry63 .mode-status48 { color: #21553d; border-color: rgba(40,102,75,.25); background: rgba(40,102,75,.08); }
html[data-appearance="dark"] #home .special-mode-grid48 .devinettes-logo63,
html[data-appearance="dark"] #home .special-mode-grid48 .pactes-croises-logo71 {
  color: #d9efbd;
  border-color: rgba(182,214,157,.32);
  background: radial-gradient(circle at 32% 28%, #37664d 0, #28533d 55%, #1a4030 100%);
}
@media (max-width: 350px) {
  #home .special-mode-grid48 .devinettes-logo63,
  #home .special-mode-grid48 .pactes-croises-logo71 { flex-basis: 46px; width: 46px; height: 46px; border-radius: 50%; }
  #home .special-mode-grid48 .devinettes-logo63 svg,
  #home .special-mode-grid48 .pactes-croises-logo71 svg { width: 27px; height: 27px; }
}
.dev63-mark-logo { color: #174e3c !important; background: #e1edc9 !important; }
.dev63-mark-logo svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.dev63-pending {
  display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px;
  margin: 0; padding: 15px; border: 1px dashed color-mix(in srgb,#28664b 30%,transparent);
  border-radius: 19px; color: var(--ink); background: color-mix(in srgb,#28664b 5%,var(--paper));
}
.dev63-pending-mark { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#28664b; background:color-mix(in srgb,#28664b 10%,var(--paper)); font-size:20px; }
.dev63-pending > span:nth-child(2) { color:var(--muted); font-size:12px; line-height:1.45; }
.dev63-pending-status { padding:5px 9px; border-radius:99px; color:#28664b; background:color-mix(in srgb,#28664b 9%,var(--paper)); font-size:10px; font-weight:800; white-space:nowrap; }
.dev63-pending-rules { border-style:dashed; }
.dev63-cycle-done { border-color:color-mix(in srgb,#28664b 22%,transparent); background:color-mix(in srgb,#28664b 6%,var(--paper)); }
.dev63-answer-reveal { margin:16px 0; padding:24px 18px; border:1px solid color-mix(in srgb,#28664b 25%,transparent); border-radius:26px 26px 26px 10px; color:var(--ink); background:color-mix(in srgb,var(--paper) 88%,#dcebcf); text-align:center; }
.dev63-answer-reveal span { color:#28664b; font-size:11px; font-weight:850; letter-spacing:1px; text-transform:uppercase; }
.dev63-answer-reveal h2 { margin:8px 0 0; font-size:clamp(25px,7vw,36px); }
.dev63-score ol { margin:0; padding:0; list-style:none; }
.dev63-score li { display:flex; align-items:center; gap:11px; padding:9px 0; border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent); }
.dev63-score li:last-child { border-bottom:0; }
.dev63-rank { display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px; border-radius:50%; color:#28664b; background:color-mix(in srgb,#28664b 10%,var(--paper)); font-size:12px; font-weight:850; }
.dev63-rank-name { display:flex; flex:1; flex-direction:column; gap:2px; }
.dev63-rank-name small { color:#28664b; font-size:10px; font-weight:800; text-transform:uppercase; }
.dev63-score li.is-winner { font-weight:800; }
.dev63-final-winner { font-size:16px; }
.dev63-cards-played { width:max-content; max-width:100%; margin:14px auto; padding:8px 14px; border-radius:99px; color:#21553d; background:color-mix(in srgb,#4d8b61 12%,var(--paper)); font-size:13px; text-align:center; }
html[data-appearance="dark"] .dev63-answer-reveal { color:var(--ink); background:color-mix(in srgb,#28664b 20%,var(--paper)); }
html[data-appearance="dark"] .dev63-rank,html[data-appearance="dark"] .dev63-rank-name small { color:#b6d69d; }
@media (max-width:520px) { .dev63-pending { grid-template-columns:38px 1fr; } .dev63-pending-status { grid-column:2; justify-self:start; } }

/* v66 — accueil spécial uniforme; les dessins SVG restent ceux de chaque mode. */
#home .special-mode-grid48 {
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}
#home .special-mode-grid48 > .special-mode-card48 {
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 116px !important;
  align-self: stretch !important;
}
/* Les mentions d’état à droite ne sont plus affichées sur les cartes spéciales. */
#home .special-mode-grid48 .mode-status48 {
  display: none !important;
}
/* v66 — conteneurs extérieurs harmonisés; conserver les dessins, tailles et couleurs SVG d’origine. */
html #home .special-mode-grid48 > .special-mode-card48 .mode-logo48 {
  display: grid !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  height: 54px !important;
  border: 1px solid rgba(40,102,75,.3) !important;
  border-radius: 13px !important;
  background: radial-gradient(circle at 32% 28%, #f4f8de 0, #e1edc9 42%, #cbdcaf 100%) !important;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.72), 0 3px 8px rgba(23,78,60,.12) !important;
  opacity: 1 !important;
}
html[data-appearance="dark"] #home .special-mode-grid48 > .special-mode-card48 .mode-logo48 {
  border-color: rgba(182,214,157,.34) !important;
  background: radial-gradient(circle at 32% 28%, #37664d 0, #28533d 55%, #1a4030 100%) !important;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.18), 0 3px 8px rgba(0,0,0,.24) !important;
}
html[data-appearance="glass"] #home .special-mode-grid48 > .special-mode-card48 .mode-logo48 {
  border-color: rgba(196,255,229,.5) !important;
  background: radial-gradient(circle at 32% 28%, rgba(196,255,229,.28), rgba(17,91,120,.82) 58%, rgba(8,53,91,.92)) !important;
  box-shadow: inset 0 1px 2px rgba(255,255,255,.5), 0 3px 10px rgba(4,24,83,.26) !important;
}
html[data-appearance="brutal"] #home .special-mode-grid48 > .special-mode-card48 .mode-logo48 {
  border: 2px solid #111 !important;
  background: radial-gradient(circle at 32% 28%, #fff3b0, #ffd000 82%) !important;
  box-shadow: 3px 3px 0 #111 !important;
}
@media (max-width: 350px) {
  html #home .special-mode-grid48 > .special-mode-card48 .mode-logo48 {
    flex-basis: 46px !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 12px !important;
  }
}

/* Préserver aussi l’apparence interne calculée en v65 : seules les boîtes extérieures changent en v66. */
html #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63,
html #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 { color: #174e3c !important; }
html #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63 svg,
html #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 svg {
  width: 31px !important; height: 31px !important; color: #174e3c !important;
}
html[data-appearance="dark"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63,
html[data-appearance="dark"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 { color: #d9efbd !important; }
html[data-appearance="dark"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63 svg,
html[data-appearance="dark"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 svg { color: #174e3c !important; }
html[data-appearance="glass"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63,
html[data-appearance="glass"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71,
html[data-appearance="glass"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63 svg,
html[data-appearance="glass"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 svg { color: #c4ffe5 !important; }
html[data-appearance="brutal"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63,
html[data-appearance="brutal"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71,
html[data-appearance="brutal"] #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63 svg,
html[data-appearance="brutal"] #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 svg { color: #174e3c !important; }
@media (max-width: 350px) {
  html #home .special-mode-grid48 > #mode-devinettes63 .devinettes-logo63 svg,
  html #home .special-mode-grid48 > #mode-pactes-croises71 .pactes-croises-logo71 svg { width: 27px !important; height: 27px !important; }
}

/* v67 — annonces Devinettes explicites et rôles immédiatement reconnaissables. */
.dev66-role-name {
  margin: 0 0 16px;
  padding: 13px 16px;
  border-radius: 18px;
  font-size: clamp(29px, 8vw, 42px);
  font-weight: 950;
  line-height: 1.08;
  text-align: center;
}
.dev66-role-name.is-guardian { color: #175ca8; background: #e7f0ff; }
.dev66-role-name.is-perturbator { color: #a32636; background: #fff0ed; }
.dev66-target { border: 2px solid color-mix(in srgb, #a32636 26%, transparent); text-align: center; }
.dev66-target h2 { margin-bottom: 4px; font-size: 15px; }
.dev66-target p { margin: 6px 0 0; }
.dev66-target p strong { color: var(--ink); font-size: clamp(27px, 7vw, 36px); line-height: 1.2; overflow-wrap: anywhere; }
.dev66-decoys h2 { color: #8d2632; }
.dev66-feedback h1 { max-width: 100%; font-size: clamp(25px, 6.5vw, 39px); overflow-wrap: anywhere; }
.dev66-feedback:not(.dev66-timeout) h1 { color: #a32636; }
.dev66-feedback.dev66-timeout h1 { color: #8b5111; }
.dev66-feedback .dev66-attempts { margin: 16px 0; font-size: 17px; font-weight: 800; }
.dev66-team-headline { margin: 2px 0 18px; font-size: clamp(29px, 7vw, 43px); font-weight: 950; line-height: 1.08; letter-spacing: -.035em; }
.dev66-team-headline.is-perturbators { color: #a32636; }
.dev66-team-headline.is-guardians { color: #175ca8; }
.dev66-roles { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dev66-roles li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; padding: 10px 12px; border-radius: 13px; background: color-mix(in srgb, var(--ink) 5%, var(--paper)); }
.dev66-roles li strong.is-guardian { color: #175ca8; }
.dev66-roles li strong.is-perturbator { color: #a32636; }
.dev63-card-reveal h1 { font-size: clamp(24px, 6vw, 38px); overflow-wrap: anywhere; }
html[data-appearance="dark"] .dev66-role-name.is-guardian,
html[data-appearance="dark"] .dev66-team-headline.is-guardians,
html[data-appearance="dark"] .dev66-roles li strong.is-guardian { color: #a8caff; }
html[data-appearance="dark"] .dev66-role-name.is-guardian { background: #233b5d; }
html[data-appearance="dark"] .dev66-role-name.is-perturbator,
html[data-appearance="dark"] .dev66-team-headline.is-perturbators,
html[data-appearance="dark"] .dev66-roles li strong.is-perturbator,
html[data-appearance="dark"] .dev66-decoys h2 { color: #ffaaa8; }
html[data-appearance="dark"] .dev66-role-name.is-perturbator { background: #542d31; }
html[data-appearance="dark"] .dev66-feedback:not(.dev66-timeout) h1 { color: #ffaaa8; }
html[data-appearance="dark"] .dev66-feedback.dev66-timeout h1 { color: #ffd18d; }
html[data-appearance="dark"] .dev66-roles li { background: color-mix(in srgb, var(--paper) 8%, var(--ink)); }
@media (max-width: 350px) {
  .dev66-roles li { gap: 2px 5px; padding: 9px; }
  .dev66-team-headline { font-size: 29px; }
}

/* The global panel-copy rule is intentionally muted; keep Devinettes' role and result signals above it. */
#devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-role-name.is-guardian { color: #175ca8 !important; }
#devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-role-name.is-perturbator { color: #a32636 !important; }
#devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-team-headline.is-guardians { color: #175ca8 !important; }
#devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-team-headline.is-perturbators { color: #a32636 !important; }
#devinettes63-screen #devinettes63-root #devinettes63-active-shell.dev66-feedback:not(.dev66-timeout) h1 { color: #a32636 !important; }
#devinettes63-screen #devinettes63-root #devinettes63-active-shell.dev66-feedback.dev66-timeout h1 { color: #8b5111 !important; }
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-role-name.is-guardian,
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-team-headline.is-guardians { color: #a8caff !important; }
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-role-name.is-perturbator,
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell .dev66-team-headline.is-perturbators,
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell.dev66-feedback:not(.dev66-timeout) h1 { color: #ffaaa8 !important; }
html[data-appearance="dark"] #devinettes63-screen #devinettes63-root #devinettes63-active-shell.dev66-feedback.dev66-timeout h1 { color: #ffd18d !important; }
