/* Pactes croisés v71 — mêmes reliefs, bordures et rythmes qu’Undercover v69. */
#pactes-croises71-screen { box-sizing:border-box; width:100%; border:3px solid var(--ui22-edge,var(--ink)); border-radius:14px; background:var(--paper); color:var(--ink); box-shadow:7px 7px 0 var(--ui22-shadow,var(--ink)); }
#pactes-croises71-root {
  --p71-accent:#5e4891; --p71-primary:#5e4891; --p71-primary-ink:#fff;
  --p71-soft:color-mix(in srgb,var(--p71-accent) 8%,var(--paper,#fffdf3));
  --p71-edge:var(--ui22-edge,var(--ink,#193b31));
  --p71-shadow:var(--ui22-shadow,var(--ink,#193b31));
  width:min(720px,100%); margin:0 auto; color:var(--ink,#193b31);
}
#pactes-croises71-root *, #pactes-croises71-root *::before, #pactes-croises71-root *::after { box-sizing:border-box; }
#pactes-croises71-root .p71-shell { width:100%; min-width:0; padding:4px 6px 30px 0; }
#pactes-croises71-root .p71-topline { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 23px; }
#pactes-croises71-root .p71-back { flex:0 0 auto; display:grid; place-items:center; min-width:116px; min-height:44px; padding:9px 18px; border:2px solid var(--p71-edge); border-radius:8px; color:var(--ink); background:var(--paper); box-shadow:3px 3px 0 var(--p71-shadow); font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
#pactes-croises71-root .p71-brand { display:flex; align-items:center; gap:9px; min-width:0; font-size:13px; font-weight:900; letter-spacing:-.2px; }
#pactes-croises71-root .p71-brand small { display:block; margin-top:3px; color:var(--muted); font-size:10px; font-weight:700; line-height:1.4; }
#pactes-croises71-root .p71-mark { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border:2px solid var(--p71-edge); border-radius:11px; color:var(--ink); background:var(--p71-soft); }
#pactes-croises71-root .p71-mark svg { width:28px; height:28px; stroke:currentColor; stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round; }
#pactes-croises71-root .p71-heading { margin:0 0 20px; }
#pactes-croises71-root .p71-eyebrow { display:block; margin:0 0 9px; color:var(--p71-accent); font-size:10px; font-weight:900; line-height:1.5; letter-spacing:1.1px; text-transform:uppercase; }
#pactes-croises71-root .p71-shell h1 { margin:3px 0 13px; color:var(--ink); font-size:clamp(27px,6.8vw,41px); font-weight:950; line-height:1.08; letter-spacing:-1px; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-shell h2 { margin:0 0 10px; color:var(--ink); font-size:19px; font-weight:900; line-height:1.25; letter-spacing:-.35px; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-shell p { line-height:1.58; }
#pactes-croises71-root .p71-help { max-width:60ch; margin:0; color:var(--muted); font-size:14px; }
#pactes-croises71-root .p71-hero { position:relative; overflow:hidden; margin-bottom:20px; padding:26px 22px; border:3px solid var(--p71-edge); border-radius:14px; background:var(--p71-soft); box-shadow:6px 6px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-hero h1 { position:relative; margin:13px 0 18px; font-size:clamp(45px,13vw,70px); line-height:.98; letter-spacing:-2px; }
#pactes-croises71-root .p71-hero > p { position:relative; max-width:42ch; margin:0; font-size:15px; }
#pactes-croises71-root .p71-hero > .p71-eyebrow { position:relative; max-width:72%; }
#pactes-croises71-root .p71-hero-symbol { position:absolute; top:26px; right:17px; width:91px; height:91px; opacity:.19; transform:rotate(-10deg); }
#pactes-croises71-root .p71-hero-symbol svg { width:100%; height:100%; stroke:var(--p71-accent); stroke-width:3.3; stroke-linecap:round; stroke-linejoin:round; }
#pactes-croises71-root .p71-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:23px; }
#pactes-croises71-root .p71-tags span { padding:6px 9px; border:1.5px solid var(--p71-edge); border-radius:6px; color:var(--ink); background:var(--paper); font-size:10px; font-weight:850; }
#pactes-croises71-root .p71-grid, #pactes-croises71-root .p71-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#pactes-croises71-root .p71-card { min-width:0; margin:17px 0; padding:20px 17px; border:2px solid var(--p71-edge); border-radius:12px; color:var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-card p { margin:8px 0 16px; font-size:14px; }
#pactes-croises71-root .p71-card p:last-child { margin-bottom:0; }
#pactes-croises71-root .p71-card h2:not(:first-child) { margin-top:24px; }
#pactes-croises71-root .p71-grid .p71-card { height:100%; margin:0; }
#pactes-croises71-root .p71-mini { padding:17px 14px; }
#pactes-croises71-root .p71-mini h2 { margin-top:13px; font-size:16px; }
#pactes-croises71-root .p71-mini p { font-size:12px; }
#pactes-croises71-root .p71-number { display:inline-grid; place-items:center; width:31px; height:31px; border:2px solid var(--p71-edge); border-radius:8px; color:var(--p71-accent); background:var(--p71-soft); font-size:11px; font-weight:950; }
#pactes-croises71-root .p71-section-label { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
#pactes-croises71-root .p71-section-label h2 { margin:0; }
#pactes-croises71-root .p71-note { margin:17px 0; padding:13px 14px; border-left:3px solid var(--p71-accent); color:var(--muted); background:var(--p71-soft); font-size:12px; line-height:1.6; }
#pactes-croises71-root .p71-card .p71-note { margin:12px 0 0; font-size:12px; }
#pactes-croises71-root .p71-proposal { border-style:dashed; }
#pactes-croises71-root .p71-fine { margin:16px 0 0; color:var(--muted); font-size:11px; line-height:1.6; text-align:center; }
#pactes-croises71-root .p71-actions { display:grid; gap:13px; margin:23px 0 10px; }
#pactes-croises71-root .p71-button, #pactes-croises71-root .p71-vote-choice { width:100%; min-width:0; min-height:54px; padding:13px 16px; border:3px solid var(--p71-edge); border-radius:8px; font:inherit; font-size:15px; font-weight:900; line-height:1.35; cursor:pointer; box-shadow:5px 5px 0 var(--p71-shadow),inset 0 1px 0 rgba(255,255,255,.35); transition:transform 140ms ease,box-shadow 140ms ease,background-color 140ms ease; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-primary { color:var(--p71-primary-ink); background:var(--p71-primary); }
#pactes-croises71-root .p71-secondary { color:var(--ink); background:var(--paper); }
#pactes-croises71-root .p71-quiet { min-height:44px; border:0; color:var(--muted); background:transparent; box-shadow:none; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
#pactes-croises71-root .p71-button:hover:not(:disabled), #pactes-croises71-root .p71-back:hover:not(:disabled), #pactes-croises71-root .p71-vote-choice:hover:not(:disabled) { transform:translate(-1px,-1px); }
#pactes-croises71-root .p71-button:active:not(:disabled), #pactes-croises71-root .p71-back:active:not(:disabled), #pactes-croises71-root .p71-vote-choice:active:not(:disabled) { transform:translate(3px,3px); box-shadow:1px 1px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-button:disabled { opacity:.45; cursor:not-allowed; box-shadow:2px 2px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-button:focus-visible, #pactes-croises71-root .p71-back:focus-visible, #pactes-croises71-root .p71-vote-choice:focus-visible, #pactes-croises71-root .p71-field input:focus-visible, #pactes-croises71-root .p71-field select:focus-visible { outline:3px solid var(--focus-ring-color,var(--p71-accent)); outline-offset:4px; }
#pactes-croises71-root .p71-field { display:grid; min-width:0; gap:8px; margin:7px 0; color:var(--ink); font-size:12px; font-weight:850; line-height:1.4; }
#pactes-croises71-root .p71-field input, #pactes-croises71-root .p71-field select { box-sizing:border-box; display:block; width:100%; min-width:0; min-height:50px; padding:11px 12px; border:2px solid var(--p71-edge); border-radius:8px; color:var(--ink); background:var(--paper); font:inherit; font-size:16px; font-weight:700; }
#pactes-croises71-root .p71-error { padding:18px 16px; border:2px solid #a42538; border-radius:10px; color:#8c2133; background:#fff0eb; font-size:14px; line-height:1.6; }
#pactes-croises71-root .p71-error h2 { color:inherit; }
#pactes-croises71-root .p71-progress { margin:0 0 23px; }
#pactes-croises71-root .p71-progress > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
#pactes-croises71-root .p71-progress span { min-width:0; }
#pactes-croises71-root .p71-progress i { display:block; height:5px; border-radius:2px; background:color-mix(in srgb,var(--ink) 15%,transparent); }
#pactes-croises71-root .p71-progress small { display:block; margin-top:7px; color:var(--muted); font-size:8px; font-weight:800; text-align:center; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-progress .is-current i, #pactes-croises71-root .p71-progress .is-done i { background:var(--p71-accent); }
#pactes-croises71-root .p71-progress .is-current small { color:var(--p71-accent); }
#pactes-croises71-root .p71-progress p { margin:12px 0 0; color:var(--muted); font-size:10px; font-weight:800; text-align:center; }
#pactes-croises71-root .p71-handoff { display:grid; justify-items:center; gap:13px; min-height:340px; margin:15px 0; padding:25px 18px; border:3px solid var(--p71-edge); border-radius:14px; color:var(--ink); background:var(--p71-soft); box-shadow:6px 6px 0 var(--p71-shadow); text-align:center; }
#pactes-croises71-root .p71-handoff .p71-eyebrow { margin:0; }
#pactes-croises71-root .p71-handoff h2 { margin:0; font-size:19px; font-weight:750; }
#pactes-croises71-root .p71-handoff h2 strong { display:inline-block; max-width:100%; margin-top:7px; font-size:clamp(28px,8vw,39px); font-weight:950; letter-spacing:-.8px; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-handoff p:not(.p71-eyebrow) { max-width:38ch; margin:0 0 5px; color:var(--muted); font-size:13px; }
#pactes-croises71-root .p71-handoff .p71-button { align-self:end; margin-top:10px; }
#pactes-croises71-root .p71-secret-mark { display:grid; place-items:center; width:61px; height:68px; border:3px solid var(--p71-edge); border-radius:8px; color:var(--p71-accent); background:var(--paper); box-shadow:4px 4px 0 var(--p71-shadow); font-family:Georgia,serif; font-size:46px; font-weight:900; transform:rotate(-7deg); }
#pactes-croises71-root .p71-private { display:flex; flex-direction:column; justify-content:center; min-height:350px; margin:16px 0; padding:28px 20px; border:3px solid var(--p71-edge); border-radius:14px; color:var(--ink); background:color-mix(in srgb,var(--p71-role,var(--p71-accent)) 10%,var(--paper)); box-shadow:6px 6px 0 var(--p71-shadow); text-align:center; }
#pactes-croises71-root .p71-faction-ordre { --p71-role:#175e9f; }
#pactes-croises71-root .p71-faction-chaos { --p71-role:#a42538; }
#pactes-croises71-root .p71-private h2 { margin:15px 0 18px; color:var(--p71-role,var(--p71-accent)); font-size:clamp(37px,10vw,58px); font-weight:950; line-height:1; letter-spacing:-1.4px; }
#pactes-croises71-root .p71-private .p71-eyebrow { color:var(--p71-role,var(--p71-accent)); }
#pactes-croises71-root .p71-private p { max-width:48ch; margin:8px auto; font-size:14px; }
#pactes-croises71-root .p71-secret-detail { margin:22px 0 0; padding:17px 12px; border:2px dashed var(--p71-role,var(--p71-accent)); border-radius:9px; }
#pactes-croises71-root .p71-secret-detail > strong { display:block; color:var(--p71-role); font-size:11px; font-weight:900; letter-spacing:.6px; text-transform:uppercase; }
#pactes-croises71-root .p71-secret-detail p { margin-bottom:0; font-size:22px; font-weight:900; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-pact-card h2 { font-size:clamp(30px,8vw,44px); }
#pactes-croises71-root .p71-partners { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:17px 0; }
#pactes-croises71-root .p71-partners strong { max-width:100%; padding:9px 13px; border:2px solid var(--p71-edge); border-radius:7px; color:var(--p71-accent); background:var(--paper); font-size:22px; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-clue { min-height:300px; display:flex; flex-direction:column; justify-content:center; margin:17px 0; padding:25px 20px; border:3px solid var(--p71-edge); border-radius:14px; background:var(--p71-soft); box-shadow:6px 6px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-clue blockquote { margin:14px 0 24px; color:var(--ink); font-size:clamp(23px,6.5vw,34px); font-weight:900; line-height:1.35; letter-spacing:-.5px; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-clue > p { margin:0; color:var(--muted); font-size:12px; }
#pactes-croises71-root .p71-discussion { padding:19px 10px 12px; text-align:center; }
#pactes-croises71-root .p71-discussion-mark { display:block; height:56px; color:var(--p71-accent); font-family:Georgia,serif; font-size:100px; line-height:1; }
#pactes-croises71-root .p71-discussion h2 { margin-top:10px; font-size:29px; }
#pactes-croises71-root .p71-discussion > p { max-width:43ch; margin:12px auto; color:var(--muted); font-size:14px; }
#pactes-croises71-root .p71-clock { margin:22px 0; padding:18px 15px; border:3px solid var(--p71-edge); border-radius:12px; color:var(--ink); background:var(--p71-soft); box-shadow:5px 5px 0 var(--p71-shadow); text-align:center; }
#pactes-croises71-root .p71-clock > span { display:block; color:var(--p71-accent); font-size:10px; font-weight:900; letter-spacing:.8px; text-transform:uppercase; }
#pactes-croises71-root .p71-clock > strong { display:block; margin:9px 0 15px; font-size:clamp(50px,15vw,72px); font-weight:950; line-height:1; letter-spacing:-2px; font-variant-numeric:tabular-nums; }
#pactes-croises71-root .p71-timer-track { height:7px; overflow:hidden; border-radius:2px; background:color-mix(in srgb,var(--ink) 13%,transparent); }
#pactes-croises71-root .p71-timer-track i { display:block; width:100%; height:100%; background:var(--p71-accent); transition:width .2s linear; }
#pactes-croises71-root .p71-untimed { display:grid; gap:6px; margin:25px 0; padding:22px 14px; border:2px dashed var(--p71-accent); border-radius:11px; color:var(--p71-accent); }
#pactes-croises71-root .p71-untimed strong { font-size:22px; }
#pactes-croises71-root .p71-untimed span { font-size:12px; }
#pactes-croises71-root .p71-vote-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:20px 0; }
#pactes-croises71-root .p71-vote-choice { display:flex; align-items:center; justify-content:space-between; gap:9px; min-height:66px; color:var(--ink); background:var(--paper); text-align:left; }
#pactes-croises71-root .p71-vote-choice i { flex:0 0 auto; color:var(--p71-accent); font-size:23px; font-style:normal; }
#pactes-croises71-root .p71-vote-choice.is-selected { color:var(--p71-primary-ink); background:var(--p71-primary); }
#pactes-croises71-root .p71-vote-choice.is-selected i { color:inherit; }
#pactes-croises71-root .p71-outcome { margin:18px 0 24px; padding:28px 19px; border:3px solid var(--p71-edge); border-radius:14px; color:var(--ink); background:color-mix(in srgb,var(--p71-role) 12%,var(--paper)); box-shadow:6px 6px 0 var(--p71-shadow); text-align:center; }
#pactes-croises71-root .p71-outcome h2 { color:var(--p71-role); font-size:clamp(34px,9vw,49px); font-weight:950; line-height:1.08; letter-spacing:-1px; }
#pactes-croises71-root .p71-outcome > p:last-child { margin-bottom:0; font-size:13px; }
#pactes-croises71-root .p71-pact-winner { padding:11px 12px; border:2px solid var(--p71-edge); border-radius:7px; color:var(--p71-accent); background:var(--p71-soft); font-size:19px !important; font-weight:950; overflow-wrap:anywhere; }
#pactes-croises71-root .p71-reveal-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:13px; }
#pactes-croises71-root .p71-reveal-heading h2 { margin:0; font-size:23px; }
#pactes-croises71-root .p71-faction-badge { padding:5px 10px; border:1.5px solid currentColor; border-radius:6px; font-size:11px; font-weight:950; }
#pactes-croises71-root .p71-faction-badge.is-chaos { color:#a42538; background:#fce7e5; }
#pactes-croises71-root .p71-faction-badge.is-ordre { color:#175e9f; background:#e1effc; }
#pactes-croises71-root .p71-revealed-clue { margin:15px 0 0; padding:13px; border-left:3px solid var(--p71-accent); background:var(--p71-soft); }
#pactes-croises71-root .p71-revealed-clue > span { color:var(--p71-accent); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.6px; }
#pactes-croises71-root .p71-revealed-clue blockquote { margin:8px 0 0; font-size:15px; font-weight:750; line-height:1.55; overflow-wrap:anywhere; }
html[data-appearance="dark"] #pactes-croises71-root { --p71-accent:#c7b6ff; --p71-primary:#59428c; --p71-primary-ink:#fff; }
html[data-appearance="glass"] #pactes-croises71-root { --p71-accent:#b4ffe1; --p71-primary:#b4ffe1; --p71-primary-ink:#07344c; }
html[data-appearance="brutal"] #pactes-croises71-root { --p71-accent:#181818; --p71-primary:#ffd000; --p71-primary-ink:#111; }
html[data-appearance="dark"] #pactes-croises71-root .p71-faction-ordre, html[data-appearance="glass"] #pactes-croises71-root .p71-faction-ordre { --p71-role:#8dc8ff; }
html[data-appearance="dark"] #pactes-croises71-root .p71-faction-chaos, html[data-appearance="glass"] #pactes-croises71-root .p71-faction-chaos { --p71-role:#ffabb6; }
html[data-appearance="dark"] #pactes-croises71-root .p71-error,html[data-appearance="glass"] #pactes-croises71-root .p71-error { color:#ffccd2; background:#4a2633; border-color:#ffabb6; }
@media(max-width:520px) {
  #pactes-croises71-root .p71-fields { grid-template-columns:1fr; gap:3px; }
  #pactes-croises71-root .p71-topline { gap:10px; }
  #pactes-croises71-root .p71-back { padding:8px 10px; }
  #pactes-croises71-root .p71-brand { font-size:12px; }
  #pactes-croises71-root .p71-card { padding:18px 14px; }
  #pactes-croises71-root .p71-hero { padding:23px 17px; }
  #pactes-croises71-root .p71-grid { gap:12px; }
  #pactes-croises71-root .p71-grid .p71-card { padding:15px 11px; }
  #pactes-croises71-root .p71-handoff { min-height:330px; padding:22px 15px; }
  #pactes-croises71-root .p71-private { min-height:340px; padding:24px 15px; }
}
@media(max-width:350px) {
  #pactes-croises71-root .p71-back span { display:none; }
  #pactes-croises71-root .p71-back { width:40px; justify-content:center; }
  #pactes-croises71-root .p71-progress small { font-size:7px; }
  #pactes-croises71-root .p71-vote-grid { grid-template-columns:1fr; }
  #pactes-croises71-root .p71-hero-symbol { width:76px; height:76px; }
  #pactes-croises71-root .p71-tags { gap:5px; }
  #pactes-croises71-root .p71-tags span { font-size:9px; padding:6px 7px; }
}
@media(max-height:600px) {
  #pactes-croises71-root .p71-handoff, #pactes-croises71-root .p71-private { min-height:280px; padding-top:18px; padding-bottom:18px; }
}
@media(prefers-reduced-motion:reduce) {
  #pactes-croises71-root button, .p71-timer-track i { transition:none !important; }
}
html[data-motion="reduce"] #pactes-croises71-root button,html[data-motion="reduce"] .p71-timer-track i { transition:none !important; }

/* v71 session score and ranking */
#pactes-croises71-root .p71-session-strip { display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; margin:0 0 17px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--ink) 22%,transparent); border-radius:9px; background:color-mix(in srgb,var(--p71-soft) 65%,var(--paper)); font-size:10px; }
#pactes-croises71-root .p71-session-strip strong { width:100%; color:var(--p71-accent); font-size:10px; letter-spacing:.3px; }
#pactes-croises71-root .p71-session-strip span { overflow-wrap:anywhere; color:var(--muted); }
#pactes-croises71-root .p71-session-strip b { color:var(--ink); }
#pactes-croises71-root .p71-score-card { min-width:0; margin:17px 0; padding:18px 16px; border:2px solid var(--p71-edge); border-radius:12px; color:var(--ink); background:var(--paper); box-shadow:4px 4px 0 var(--p71-shadow); }
#pactes-croises71-root .p71-score-title { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 12px; }
#pactes-croises71-root .p71-score-title .p71-eyebrow { margin:0; }
#pactes-croises71-root .p71-score-title > strong { color:var(--muted); font-size:11px; }
#pactes-croises71-root .p71-score-card ol { list-style:none; display:grid; gap:6px; margin:14px 0 0; padding:0; }
#pactes-croises71-root .p71-score-card li { display:grid; grid-template-columns:minmax(66px,auto) minmax(0,1fr) auto; align-items:center; gap:6px 10px; padding:9px 10px; border:1px solid color-mix(in srgb,var(--ink) 13%,transparent); border-radius:8px; background:color-mix(in srgb,var(--p71-soft) 48%,var(--paper)); font-size:12px; }
#pactes-croises71-root .p71-score-card li small { grid-column:2 / 4; color:var(--muted); font-size:10px; text-align:right; }
#pactes-croises71-root .p71-score-card li > strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
#pactes-croises71-root .p71-rank { color:var(--p71-accent); font-size:10px; font-weight:900; }
#pactes-croises71-root .p71-score-name { min-width:0; overflow-wrap:anywhere; font-weight:800; }
#pactes-croises71-root .p71-final-board { margin-top:22px; }
@media(max-width:360px) { #pactes-croises71-root .p71-session-strip { gap:6px; } #pactes-croises71-root .p71-score-card { padding:15px 11px; } #pactes-croises71-root .p71-score-card li { grid-template-columns:minmax(58px,auto) minmax(0,1fr) auto; gap:5px; padding:8px 6px; font-size:11px; } }
