/*! Democratic Votation — styles. Tout est préfixé .dp pour ne pas interférer avec le thème. */

.dvote-wrap {
	--dvote-accent: #2563eb;
	--dvote-on: #ffffff;
	--dvote-ink: #0f172a;
	--dvote-ink-2: #475569;
	--dvote-muted: #64748b;
	--dvote-line: #e5e7eb;
	--dvote-line-2: #d1d5db;
	--dvote-surface: #ffffff;
	--dvote-bg: #f1f5f9;
	--dvote-soft: color-mix(in srgb, var(--dvote-accent) 8%, var(--dvote-surface));
	--dvote-soft-2: color-mix(in srgb, var(--dvote-accent) 16%, var(--dvote-surface));
	--dvote-accent-ink: color-mix(in srgb, var(--dvote-accent) 82%, #000);
	--dvote-ok: #1c7a4c;
	--dvote-ok-soft: #e8f5ee;
	--dvote-warn: #a85d06;
	--dvote-warn-soft: #fff5e6;
	--dvote-err: #b3261e;
	--dvote-err-soft: #fdecea;
	--dvote-r: 12px;
	--dvote-r-s: 8px;
	--dvote-shadow: 0 1px 2px rgba(15, 23, 42, .05);
	--dvote-shadow-hover: 0 4px 14px rgba(15, 23, 42, .08);
	--dvote-fs: 16px;
	--dvote-ease: cubic-bezier(.2, .7, .2, 1);
	--dvote-m0: #1c4e8c; --dvote-m1: #3f7fc0; --dvote-m2: #7cb0dd; --dvote-m3: #eda06e; --dvote-m4: #d76a3a; --dvote-m5: #a8401f;
	position: relative;
	max-width: none;
	margin: 1.5em 0;
	color: var(--dvote-ink);
	font-family: inherit;
	font-size: var(--dvote-fs, 16px);
	container: dvote / inline-size;
	line-height: 1.55;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.dvote-wrap *, .dvote-wrap *::before, .dvote-wrap *::after { box-sizing: border-box; }
/* Réinitialisations (0,1,1) : battent les styles d'éléments du thème ; les composants (0,2,0) passent par-dessus. */
.dvote-wrap h2, .dvote-wrap h3, .dvote-wrap p, .dvote-wrap ul, .dvote-wrap ol, .dvote-wrap li, .dvote-wrap fieldset, .dvote-wrap legend, .dvote-wrap details, .dvote-wrap summary, .dvote-wrap table, .dvote-wrap figure {
	margin: 0; padding: 0; border: 0; background: none; font-family: inherit; color: inherit; text-transform: none; letter-spacing: normal;
}
.dvote-wrap h2, .dvote-wrap h3 { color: var(--dvote-ink); line-height: 1.2; }
.dvote-wrap ul, .dvote-wrap ol, .dvote-wrap li { list-style: none; }
.dvote-wrap li::marker { content: none; }
.dvote-wrap a { color: var(--dvote-accent-ink); text-decoration: none; box-shadow: none; }
.dvote-wrap a:hover { text-decoration: underline; }
.dvote-wrap button { font: inherit; letter-spacing: normal; text-transform: none; text-shadow: none; box-shadow: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: inherit; cursor: pointer; line-height: 1.3; -webkit-appearance: none; appearance: none; width: auto; min-height: 0; }
.dvote-wrap button[disabled] { cursor: not-allowed; }
.dvote-wrap input, .dvote-wrap textarea, .dvote-wrap select { font: inherit; color: var(--dvote-ink); }
.dvote-wrap table { border-collapse: collapse; width: 100%; }
.dvote-wrap th, .dvote-wrap td { border: 0; background: none; padding: 0; text-align: left; vertical-align: middle; }
.dvote-wrap code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .88em; background: var(--dvote-bg); padding: 1px 5px; border-radius: 5px; color: var(--dvote-ink-2); word-break: break-all; }
.dvote-wrap .dvote-ico { width: 1.2em; height: 1.2em; flex: none; display: inline-block; vertical-align: middle; }
.dvote-wrap .dvote-i { display: inline-flex; }
.dvote-wrap :focus-visible { outline: 3px solid color-mix(in srgb, var(--dvote-accent) 45%, transparent); outline-offset: 2px; }
.dvote-wrap [tabindex="-1"]:focus { outline: none; }
.dvote-wrap [hidden] { display: none !important; }

/* Cartes, titres, textes */
.dvote-wrap .dvote-card { background: var(--dvote-surface); border: var(--dvote-bw, 1px) solid var(--dvote-line); border-radius: var(--dvote-r); box-shadow: var(--dvote-shadow); padding: clamp(18px, 3.6vw, 30px); }
.dvote-wrap .dvote-card + .dvote-card, .dvote-wrap .dvote-card + .dvote-tabs, .dvote-wrap .dvote-tabs + [role=tabpanel] > .dvote-card:first-child, .dvote-wrap [role=tabpanel] > .dvote-card + .dvote-card, .dvote-wrap .dvote-notice + .dvote-card, .dvote-wrap .dvote-top + .dvote-card, .dvote-wrap .dvote-top + .dvote-grid, .dvote-wrap .dvote-top + .dvote-form, .dvote-wrap .dvote-top + .dvote-manage, .dvote-wrap .dvote-notice + .dvote-form, .dvote-wrap .dvote-notice + .dvote-manage, .dvote-wrap .dvote-notice + .dvote-grid { margin-top: 16px; }
.dvote-wrap .dvote-h1 { font-size: clamp(24px, 3.8vw, 32px); font-weight: 750; letter-spacing: -.02em; line-height: 1.15; }
.dvote-wrap .dvote-h2 { font-size: clamp(22px, 3.4vw, 28px); font-weight: 750; letter-spacing: -.02em; }
.dvote-wrap .dvote-h3 { font-size: calc(var(--dvote-fs, 16px) * 1); font-weight: 700; display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.dvote-wrap .dvote-h3 .dvote-ico { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-lead { margin-top: 10px; color: var(--dvote-ink-2); font-size: calc(var(--dvote-fs, 16px) * 1.0625); }
.dvote-wrap .dvote-muted { color: var(--dvote-muted); font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-hint { margin-top: 8px; color: var(--dvote-muted); font-size: calc(var(--dvote-fs, 16px) * 0.8125); display: flex; gap: 6px; align-items: flex-start; }
.dvote-wrap .dvote-hint .dvote-ico { width: 15px; height: 15px; margin-top: 2px; }
.dvote-wrap .dvote-center { text-align: center; justify-content: center; }
.dvote-wrap .dvote-right { text-align: right; }
.dvote-wrap .dvote-eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-eyebrow .dvote-ico { width: 17px; height: 17px; }
.dvote-wrap .dvote-ok { color: var(--dvote-ok); font-weight: 600; }
.dvote-wrap .dvote-bad { color: var(--dvote-err); font-weight: 600; }
.dvote-wrap .dvote-warnline { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; color: var(--dvote-warn); font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-warnline .dvote-ico { width: 17px; height: 17px; margin-top: 2px; }
.dvote-wrap .dvote-err { display: flex; gap: 8px; align-items: center; margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: var(--dvote-err-soft); color: var(--dvote-err); font-size: calc(var(--dvote-fs, 16px) * 0.875); }

/* Pastilles, étiquettes */
.dvote-wrap .dvote-pill { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 99px; font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 700; white-space: nowrap; }
.dvote-wrap .dvote-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.dvote-wrap .dvote-pill--draft { background: #f0f1f4; color: #545c6e; }
.dvote-wrap .dvote-pill--open { background: var(--dvote-ok-soft); color: var(--dvote-ok); }
.dvote-wrap .dvote-pill--closed { background: var(--dvote-soft); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-tag { display: inline-block; padding: 2px 8px; border-radius: 99px; background: var(--dvote-bg); color: var(--dvote-ink-2); font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 600; }
.dvote-wrap .dvote-tag--warn { background: var(--dvote-warn-soft); color: var(--dvote-warn); }

/* Boutons */
.dvote-wrap .dvote-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 18px; border-radius: var(--dvote-r-btn, 8px); font-size: calc(var(--dvote-fs, 16px) * 0.9375); font-weight: 650; line-height: 1.2; text-decoration: none; transition: background .2s, color .2s, transform .2s var(--dvote-ease), opacity .2s; white-space: nowrap; }
.dvote-wrap .dvote-btn:hover { text-decoration: none; }
.dvote-wrap .dvote-btn .dvote-ico { width: 17px; height: 17px; }
.dvote-wrap .dvote-btn--primary { background: var(--dvote-accent); color: var(--dvote-on); box-shadow: 0 6px 16px -8px color-mix(in srgb, var(--dvote-accent) 70%, transparent); }
.dvote-wrap .dvote-btn--primary:hover { background: color-mix(in srgb, var(--dvote-accent) 86%, #000); color: var(--dvote-on); transform: translateY(-1px); }
.dvote-wrap .dvote-btn--primary[disabled] { opacity: .35; transform: none; box-shadow: none; }
.dvote-wrap .dvote-btn--soft { background: var(--dvote-soft); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-btn--soft:hover { background: var(--dvote-soft-2); }
.dvote-wrap .dvote-btn--ghost { color: var(--dvote-ink-2); padding-left: 12px; padding-right: 14px; }
.dvote-wrap .dvote-btn--ghost:hover { background: var(--dvote-bg); color: var(--dvote-ink); }
.dvote-wrap .dvote-btn--dark { background: var(--dvote-ink); color: #fff; }
.dvote-wrap .dvote-btn--dark:hover { background: #000; }
.dvote-wrap .dvote-btn--l { padding: 13px 24px; font-size: calc(var(--dvote-fs, 16px) * 1); }
.dvote-wrap .dvote-btn--s { padding: 6px 12px; font-size: calc(var(--dvote-fs, 16px) * 0.8125); margin-left: 6px; }
.dvote-wrap .dvote-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 14px; }
.dvote-wrap .dvote-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 600; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-link--s { font-size: calc(var(--dvote-fs, 16px) * 0.8125); margin-top: 8px; }
.dvote-wrap .dvote-ibtn { width: 32px; height: 32px; border-radius: 9px; display: inline-grid; place-items: center; color: var(--dvote-ink-2); background: var(--dvote-bg); font-size: calc(var(--dvote-fs, 16px) * 1.125); font-weight: 700; transition: background .15s; }
.dvote-wrap .dvote-ibtn:hover:not([disabled]) { background: var(--dvote-soft-2); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-ibtn[disabled] { opacity: .3; }
.dvote-wrap .dvote-ibtn .dvote-ico { width: 16px; height: 16px; }

/* Avis */
.dvote-wrap .dvote-notice { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; padding: 12px 16px; border-radius: var(--dvote-r-s); font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-notice .dvote-ico { width: 19px; height: 19px; margin-top: 2px; }
.dvote-wrap .dvote-notice--ok { background: var(--dvote-ok-soft); color: #145c39; }
.dvote-wrap .dvote-notice--warn { background: var(--dvote-warn-soft); color: #7a4405; }
.dvote-wrap .dvote-notice--err { background: var(--dvote-err-soft); color: var(--dvote-err); }
.dvote-wrap .dvote-notice--info { background: var(--dvote-soft); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-notice a { text-decoration: underline; color: inherit; font-weight: 650; }

/* ================================================================== */
/* Espace organisateur                                                 */
/* ================================================================== */
.dvote-wrap .dvote-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
.dvote-wrap .dvote-top .dvote-h1 { margin-top: 4px; }
.dvote-wrap .dvote-top-act { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.dvote-wrap .dvote-login { max-width: 460px; margin: 0 auto; text-align: center; }
.dvote-wrap .dvote-login > .dvote-i .dvote-ico, .dvote-wrap .dvote-empty > .dvote-i .dvote-ico { width: 44px; height: 44px; color: var(--dvote-accent); }
.dvote-wrap .dvote-login h2 { margin-top: 10px; font-size: calc(var(--dvote-fs, 16px) * 1.5); font-weight: 750; }
.dvote-wrap .dvote-login form { margin-top: 18px; text-align: left; }
.dvote-wrap .dvote-login form p { margin-bottom: 12px; }
.dvote-wrap .dvote-login label { display: block; font-weight: 600; font-size: calc(var(--dvote-fs, 16px) * 0.875); margin-bottom: 4px; }
.dvote-wrap .dvote-login input[type=text], .dvote-wrap .dvote-login input[type=password], .dvote-wrap .dvote-login input[type=email] { width: 100%; padding: 10px 12px; border: 1.5px solid var(--dvote-line-2); border-radius: 10px; }
.dvote-wrap .dvote-login .login-remember label { display: inline-flex; gap: 6px; font-weight: 500; }
.dvote-wrap .dvote-login input[type=submit], .dvote-wrap .dvote-login .dvote-login-submit { width: 100%; padding: 12px; border: 0; border-radius: var(--dvote-r-btn, 8px); background: var(--dvote-accent); color: var(--dvote-on); font-weight: 650; cursor: pointer; }
.dvote-wrap .dvote-login input:focus-visible { outline: 2px solid var(--dvote-accent); outline-offset: 1px; border-color: var(--dvote-accent); }
.dvote-wrap .dvote-login .dvote-notice { margin: 16px 0 0; text-align: left; }
.dvote-wrap .dvote-login .dvote-hint { display: block; margin-top: 4px; color: var(--dvote-ink-3, #64748b); font-size: calc(var(--dvote-fs, 16px) * 0.8125); }
.dvote-wrap .dvote-login-lost { margin: -4px 0 0; text-align: center; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-login-alt { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--dvote-line, #e5e7eb); font-size: calc(var(--dvote-fs, 16px) * 0.9375); color: var(--dvote-ink-2, #475569); }
.dvote-wrap .dvote-login-alt p { margin: 0 0 10px; }
.dvote-wrap .dvote-login-alt p:last-child { margin-bottom: 0; }
.dvote-wrap .dvote-login-alt .dvote-btn { width: 100%; justify-content: center; }
.dvote-wrap .dvote-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dvote-wrap .dvote-empty { text-align: center; padding: 48px 24px; }
.dvote-wrap .dvote-empty h3 { margin: 12px 0 6px; font-size: calc(var(--dvote-fs, 16px) * 1.25); }
.dvote-wrap .dvote-empty .dvote-btn { margin-top: 18px; }

.dvote-wrap .dvote-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.dvote-wrap .dvote-pcard { display: flex; flex-direction: column; gap: 6px; color: var(--dvote-ink); transition: transform .2s var(--dvote-ease), border-color .2s, box-shadow .2s; }
.dvote-wrap .dvote-grid .dvote-card + .dvote-card { margin-top: 0; }
.dvote-wrap .dvote-pcard:hover { text-decoration: none; transform: translateY(var(--dvote-hover-y, -2px)); border-color: var(--dvote-hover-line, color-mix(in srgb, var(--dvote-accent) 40%, var(--dvote-line))); box-shadow: var(--dvote-hover-glow, 0 0 #0000), var(--dvote-shadow-hover); }
.dvote-wrap .dvote-pcard h3 { font-size: calc(var(--dvote-fs, 16px) * 1.125); font-weight: 700; margin-top: 6px; }
.dvote-wrap .dvote-pcard-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.dvote-wrap .dvote-pcard-m { display: inline-flex; align-items: center; gap: 6px; font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-ink-2); font-weight: 600; }
.dvote-wrap .dvote-pcard-m .dvote-ico { width: 17px; height: 17px; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-pcard-part { font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-ink-2); font-weight: 600; }
.dvote-wrap .dvote-meter { height: 6px; border-radius: 9px; background: var(--dvote-line); overflow: hidden; margin-top: 8px; }
.dvote-wrap .dvote-meter span { display: block; height: 100%; background: var(--dvote-accent); border-radius: 9px; }
.dvote-wrap .dvote-meter--l { height: 10px; margin: 14px 0 4px; }

/* Formulaire */
.dvote-wrap .dvote-step-t { display: flex; align-items: center; gap: 12px; font-size: calc(var(--dvote-fs, 16px) * 1.1875); font-weight: 750; margin-bottom: 14px; }
.dvote-wrap .dvote-step-n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--dvote-accent); color: var(--dvote-on); font-size: calc(var(--dvote-fs, 16px) * 0.9375); font-weight: 750; flex: none; }
.dvote-wrap .dvote-l { display: block; font-weight: 650; font-size: calc(var(--dvote-fs, 16px) * 0.875); margin: 14px 0 6px; color: var(--dvote-ink); }
.dvote-wrap .dvote-step-t + .dvote-l { margin-top: 0; }
.dvote-wrap .dvote-in { width: 100%; padding: 11px 13px; border: 1.5px solid var(--dvote-line-2); border-radius: 11px; background: var(--dvote-surface); transition: border-color .2s, box-shadow .2s; }
.dvote-wrap .dvote-in:focus { border-color: var(--dvote-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dvote-accent) 18%, transparent); outline: none; }
.dvote-wrap .dvote-in[disabled] { background: var(--dvote-bg); color: var(--dvote-muted); }
.dvote-wrap .dvote-in--s { max-width: 140px; }
.dvote-wrap .dvote-in--m { max-width: 280px; }
.dvote-wrap .dvote-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: calc(var(--dvote-fs, 16px) * 0.875); line-height: 1.6; }
.dvote-wrap .dvote-row { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.dvote-wrap .dvote-row p { flex: 1 1 220px; }
.dvote-wrap .dvote-methods { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; margin-top: 14px; }
.dvote-wrap .dvote-mcard { position: relative; display: flex; gap: 10px; padding: 14px; border: 1.5px solid var(--dvote-line); border-radius: var(--dvote-r-s); cursor: pointer; transition: border-color .2s, background .2s, transform .2s, box-shadow .2s; }
.dvote-wrap .dvote-mcard:hover { border-color: var(--dvote-hover-line, color-mix(in srgb, var(--dvote-accent) 45%, var(--dvote-line))); transform: translateY(var(--dvote-hover-y, 0px)); box-shadow: var(--dvote-hover-glow, 0 0 #0000), var(--dvote-shadow-hover); }
.dvote-wrap .dvote-mcard input { position: absolute; opacity: 0; pointer-events: none; }
.dvote-wrap .dvote-mcard:has(input:checked) { border-color: var(--dvote-accent); background: var(--dvote-soft); }
.dvote-wrap .dvote-mcard:has(input:focus-visible) { box-shadow: 0 0 0 3px color-mix(in srgb, var(--dvote-accent) 30%, transparent); }
.dvote-wrap .dvote-mcard:has(input:disabled) { cursor: default; opacity: .65; }
.dvote-wrap .dvote-mcard:has(input:disabled:checked) { opacity: 1; }
.dvote-wrap .dvote-mcard-b { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
.dvote-wrap .dvote-mcard-h { display: flex; align-items: center; gap: 8px; font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-mcard-h > .dvote-i .dvote-ico { width: 20px; height: 20px; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-mcard-tick { margin-left: auto; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--dvote-line-2); display: grid; place-items: center; color: transparent; flex: none; }
.dvote-wrap .dvote-mcard-tick .dvote-ico { width: 12px; height: 12px; stroke-width: 3; }
.dvote-wrap .dvote-mcard:has(input:checked) .dvote-mcard-tick { background: var(--dvote-accent); border-color: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-mcard-r { font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-ink-2); line-height: 1.45; }
.dvote-wrap .dvote-mcard-f { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: auto; }
.dvote-wrap .dvote-mcard-link { font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 650; margin-left: auto; }
.dvote-wrap .dvote-mcard-radar { width: 56px; flex: none; align-self: center; }
.dvote-wrap .dvote-mcard-radar:empty { display: none; }
.dvote-wrap .dvote-mcard-radar svg { width: 56px; height: 56px; }
/* Diagrammes fournis par Democratic choice (classes dchoice-*). */
.dvote-wrap .dchoice-radar { display: block; width: 100%; height: auto; overflow: visible; }
.dvote-wrap .dchoice-rp { fill: color-mix(in srgb, var(--dvote-accent) 16%, transparent); stroke: var(--dvote-accent); stroke-width: 2; stroke-linejoin: round; }
.dvote-wrap .dchoice-radar--xs .dchoice-rp { stroke-width: 1.5; }
.dvote-wrap .dchoice-rd { fill: #fff; stroke: var(--dvote-accent); stroke-width: 2; }
.dvote-wrap .dchoice-radar--xs .dchoice-rd { stroke-width: 1.2; }
.dvote-wrap .dchoice-rh { fill: transparent; }
.dvote-wrap .dchoice-rl { font-size: calc(var(--dvote-fs, 16px) * 0.75); fill: var(--dvote-ink-2); font-family: inherit; }
.dvote-wrap .dchoice-radar--sm .dchoice-rl { font-size: calc(var(--dvote-fs, 16px) * 0.8125); }
.dvote-wrap .dvote-rg { fill: none; stroke: var(--dvote-line); }
.dvote-wrap .dvote-rg-0 { stroke: var(--dvote-line-2); stroke-dasharray: 2 2; }
.dvote-wrap .dvote-rs { stroke: var(--dvote-line); }
.dvote-wrap .dvote-rp { fill: color-mix(in srgb, var(--dvote-accent) 16%, transparent); stroke: var(--dvote-accent); stroke-width: 1.6; stroke-linejoin: round; }
.dvote-wrap .dvote-rd { fill: #fff; stroke: var(--dvote-accent); stroke-width: 1.4; }
.dvote-wrap .dvote-rh { fill: transparent; }
.dvote-wrap .dvote-rl { font-size: calc(var(--dvote-fs, 16px) * 0.8125); fill: var(--dvote-ink-2); }
.dvote-wrap .dvote-radios { margin-top: 6px; }
.dvote-wrap .dvote-radios + .dvote-radios { margin-top: 10px; }
.dvote-wrap .dvote-radio, .dvote-wrap .dvote-check { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 11px; cursor: pointer; transition: background .15s; }
.dvote-wrap .dvote-radio:hover, .dvote-wrap .dvote-check:hover { background: var(--dvote-bg); }
.dvote-wrap .dvote-radio input, .dvote-wrap .dvote-check input { margin-top: 4px; accent-color: var(--dvote-accent); width: 17px; height: 17px; flex: none; }
.dvote-wrap .dvote-radio > span, .dvote-wrap .dvote-check > span { display: flex; flex-direction: column; gap: 2px; }
.dvote-wrap .dvote-check { margin-top: 6px; }
.dvote-wrap .dvote-check--s { padding: 6px 0; }
.dvote-wrap .dvote-form-end { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }

/* Gestion */
.dvote-wrap .dvote-status { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.dvote-wrap .dvote-status-l { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dvote-wrap .dvote-status-act { display: flex; gap: 8px; flex-wrap: wrap; }
.dvote-wrap .dvote-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; margin-top: 16px; }
.dvote-wrap .dvote-cols .dvote-card + .dvote-card { margin-top: 0; }
.dvote-wrap .dvote-manage > .dvote-card + .dvote-cols, .dvote-wrap .dvote-cols + .dvote-card { margin-top: 16px; }
.dvote-wrap .dvote-stats { display: flex; gap: 28px; flex-wrap: wrap; margin-top: 4px; }
.dvote-wrap .dvote-stats div { display: flex; flex-direction: column; }
.dvote-wrap .dvote-stats strong { font-size: calc(var(--dvote-fs, 16px) * 1.75); font-weight: 750; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.dvote-wrap .dvote-stats span { font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-muted); }
.dvote-wrap .dvote-manage form { margin-top: 14px; }
.dvote-wrap .dvote-copy { display: flex; gap: 8px; }
.dvote-wrap .dvote-copy .dvote-in { font-size: calc(var(--dvote-fs, 16px) * 0.8125); }
.dvote-wrap .dvote-hash { display: block; margin-top: 4px; font-size: calc(var(--dvote-fs, 16px) * 0.75); padding: 8px 10px; }
.dvote-wrap .dvote-checklist { display: flex; flex-direction: column; gap: 10px; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-checklist li { display: flex; gap: 10px; align-items: flex-start; }
.dvote-wrap .dvote-checklist .dvote-ico { width: 18px; height: 18px; margin-top: 1px; color: var(--dvote-ok); }
.dvote-wrap .dvote-checklist li:last-child .dvote-ico { color: var(--dvote-warn); }
.dvote-wrap .dvote-sec-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.dvote-wrap .dvote-sec-h .dvote-btns { margin-top: 0; }
.dvote-wrap .dvote-import { margin-top: 10px; padding: 14px; border-radius: var(--dvote-r-s); background: var(--dvote-bg); }
.dvote-wrap .dvote-import .dvote-l { margin-top: 0; }
.dvote-wrap .dvote-import-f { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
.dvote-wrap .dvote-import-f .dvote-btn { margin-left: auto; }
.dvote-wrap .dvote-file { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1.5px dashed var(--dvote-line-2); border-radius: 10px; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink-2); cursor: pointer; background: var(--dvote-surface); }
.dvote-wrap .dvote-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dvote-wrap .dvote-file .dvote-ico { width: 17px; height: 17px; }
.dvote-wrap .dvote-table-wrap { overflow-x: auto; margin-top: 12px; -webkit-overflow-scrolling: touch; }
.dvote-wrap .dvote-table th { font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 700; color: var(--dvote-muted); text-transform: uppercase; letter-spacing: .04em; padding: 8px 10px; border-bottom: 1px solid var(--dvote-line); white-space: nowrap; }
.dvote-wrap .dvote-table td { padding: 9px 10px; border-bottom: 1px solid #f0f1f5; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-table tr:last-child td { border-bottom: 0; }
.dvote-wrap .dvote-x { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; color: var(--dvote-muted); }
.dvote-wrap .dvote-x:hover { background: var(--dvote-err-soft); color: var(--dvote-err); }
.dvote-wrap .dvote-x .dvote-ico { width: 15px; height: 15px; }
.dvote-wrap .dvote-log { display: flex; flex-direction: column; gap: 0; margin-top: 6px; }
.dvote-wrap .dvote-log li { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f1f5; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-log li:last-child { border-bottom: 0; }
.dvote-wrap .dvote-log-d { color: var(--dvote-muted); font-size: calc(var(--dvote-fs, 16px) * 0.8125); font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-log-h { display: inline-block; margin-left: 8px; font-size: calc(var(--dvote-fs, 16px) * 0.6875); }
.dvote-wrap .dvote-danger { margin-top: 18px; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-danger a { color: var(--dvote-err); display: inline-flex; gap: 6px; align-items: center; }
.dvote-wrap .dvote-danger .dvote-ico { width: 16px; height: 16px; }

/* ================================================================== */
/* Page de sondage                                                     */
/* ================================================================== */
.dvote-wrap .dvote-app { max-width: 760px; margin: 0 auto; }
.dvote-wrap .dvote-head { position: relative; }
/* Halo dessiné dans la carte, sans masquer ce qui en dépasse (menu Partager). */
.dvote-wrap .dvote-head::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle 190px at calc(100% - 20px) 0, var(--dvote-soft-2), transparent); pointer-events: none; }
.dvote-wrap .dvote-head-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.dvote-wrap .dvote-share-slot { display: contents; }
.dvote-wrap .dvote-head > * { position: relative; }
.dvote-wrap .dvote-head-top { display: flex; justify-content: space-between; align-items: center; }
.dvote-wrap .dvote-head .dvote-h1 { margin-top: 10px; }
.dvote-wrap .dvote-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 16px; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-meta li { display: inline-flex; align-items: center; gap: 7px; }
.dvote-wrap .dvote-meta .dvote-ico { width: 16px; height: 16px; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-method { margin-top: 18px; border-radius: var(--dvote-r-s); background: var(--dvote-bg); }
.dvote-wrap .dvote-method summary { display: flex; align-items: center; gap: 10px; padding: 11px 14px; cursor: pointer; list-style: none; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-method summary::-webkit-details-marker { display: none; }
.dvote-wrap .dvote-method summary > .dvote-ico:first-child { width: 20px; height: 20px; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-chev { margin-left: auto; width: 17px; height: 17px; color: var(--dvote-muted); transition: transform .2s; }
.dvote-wrap .dvote-method[open] .dvote-chev { transform: rotate(180deg); }
.dvote-wrap .dvote-method-b { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 4px 16px 16px; font-size: calc(var(--dvote-fs, 16px) * 0.875); align-items: center; }
.dvote-wrap .dvote-method-b p + p { margin-top: 6px; }
.dvote-wrap .dvote-method-radar { width: 200px; }
.dvote-wrap .dvote-method-radar:empty { display: none; }
.dvote-wrap .dvote-method-b > div:only-child { grid-column: 1 / -1; }
.dvote-wrap .dvote-manage-link { position: absolute; top: 18px; right: 120px; font-size: calc(var(--dvote-fs, 16px) * 0.8125); font-weight: 650; display: inline-flex; gap: 5px; align-items: center; }
.dvote-wrap .dvote-manage-link .dvote-ico { width: 15px; height: 15px; }

.dvote-wrap .dvote-banner { display: flex; gap: 14px; align-items: flex-start; }
.dvote-wrap .dvote-banner > .dvote-ico { width: 26px; height: 26px; color: var(--dvote-accent); margin-top: 2px; }
.dvote-wrap .dvote-banner--ok > .dvote-ico { color: var(--dvote-ok); }
.dvote-wrap .dvote-banner--warn > .dvote-ico { color: var(--dvote-warn); }
.dvote-wrap .dvote-banner p { color: var(--dvote-ink-2); font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-wait { display: flex; gap: 14px; align-items: flex-start; }
.dvote-wrap .dvote-wait > .dvote-ico { width: 24px; height: 24px; color: var(--dvote-muted); margin-top: 2px; }

/* Bulletin */
.dvote-wrap .dvote-ballot > .dvote-muted { margin-bottom: 16px; }
.dvote-wrap .dvote-ballot-b { transition: opacity .2s; }
.dvote-wrap .dvote-ballot-b.is-disabled { opacity: .35; pointer-events: none; }
.dvote-wrap .dvote-choices { display: flex; flex-direction: column; gap: 8px; }
.dvote-wrap .dvote-choice { display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 16px; border: 1.5px solid var(--dvote-line); border-radius: var(--dvote-r-s); text-align: left; font-size: calc(var(--dvote-fs, 16px) * 1); font-weight: 550; transition: border-color .15s, background .15s, transform .15s, box-shadow .15s; }
.dvote-wrap .dvote-choice:hover { border-color: var(--dvote-hover-line, color-mix(in srgb, var(--dvote-accent) 45%, var(--dvote-line))); transform: translateY(var(--dvote-hover-y, 0px)); box-shadow: var(--dvote-hover-glow, 0 0 #0000), var(--dvote-shadow-hover); }
.dvote-wrap .dvote-choice.is-on { border-color: var(--dvote-accent); background: var(--dvote-soft); }
.dvote-wrap .dvote-dot { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--dvote-line-2); flex: none; transition: border .15s; }
.dvote-wrap .dvote-choice.is-on .dvote-dot { border: 6px solid var(--dvote-accent); }
.dvote-wrap .dvote-box { width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--dvote-line-2); display: grid; place-items: center; color: transparent; flex: none; }
.dvote-wrap .dvote-box .dvote-ico { width: 14px; height: 14px; stroke-width: 3; }
.dvote-wrap .dvote-choice.is-on .dvote-box { background: var(--dvote-accent); border-color: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-choice-tag { margin-left: auto; font-size: calc(var(--dvote-fs, 16px) * 0.75); color: var(--dvote-muted); font-weight: 600; }
.dvote-wrap .dvote-choice.is-on .dvote-choice-tag { color: var(--dvote-accent-ink); }

.dvote-wrap .dvote-rank { display: grid; grid-template-columns: 1fr; gap: 16px; }
.dvote-wrap .dvote-rank .dvote-l { margin-top: 0; }
.dvote-wrap .dvote-ranked { display: flex; flex-direction: column; gap: 6px; min-height: 52px; }
.dvote-wrap .dvote-ritem { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 6px; border: 1.5px solid var(--dvote-accent); background: var(--dvote-soft); border-radius: var(--dvote-r-s); font-weight: 600; cursor: grab; }
.dvote-wrap .dvote-ritem.is-drag { opacity: .5; }
.dvote-wrap .dvote-grip { color: var(--dvote-muted); display: inline-flex; touch-action: none; padding: 4px 2px; }
.dvote-wrap .dvote-grip .dvote-ico { width: 18px; height: 18px; }
.dvote-wrap .dvote-rnum { width: 28px; height: 28px; border-radius: 50%; background: var(--dvote-accent); color: var(--dvote-on); display: grid; place-items: center; font-size: calc(var(--dvote-fs, 16px) * 0.875); font-weight: 750; flex: none; }
.dvote-wrap .dvote-rlab { flex: 1; min-width: 0; }
.dvote-wrap .dvote-ract { display: flex; gap: 4px; }
.dvote-wrap .dvote-rempty { padding: 14px; border: 1.5px dashed var(--dvote-line-2); border-radius: var(--dvote-r-s); color: var(--dvote-muted); font-size: calc(var(--dvote-fs, 16px) * 0.875); text-align: center; }
.dvote-wrap .dvote-pool { display: flex; flex-wrap: wrap; gap: 8px; }
.dvote-wrap .dvote-chip-o { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1.5px solid var(--dvote-line-2); border-radius: var(--dvote-r-btn, 8px); font-weight: 600; font-size: calc(var(--dvote-fs, 16px) * 0.9375); transition: border-color .15s, background .15s; background: var(--dvote-surface); }
.dvote-wrap .dvote-chip-o:hover { border-color: var(--dvote-accent); background: var(--dvote-soft); }
.dvote-wrap .dvote-chip-o .dvote-ico { width: 15px; height: 15px; color: var(--dvote-accent-ink); }

.dvote-wrap .dvote-grades { display: flex; flex-direction: column; gap: 6px; }
.dvote-wrap .dvote-grades-h, .dvote-wrap .dvote-grow { display: grid; grid-template-columns: minmax(120px, 1.4fr) repeat(6, 1fr); gap: 5px; align-items: center; }
.dvote-wrap .dvote-grades-h { font-size: calc(var(--dvote-fs, 16px) * 0.6875); font-weight: 700; text-align: center; }
.dvote-wrap .dvote-grades-h .dvote-mention { padding: 3px 2px; }
.dvote-wrap .dvote-grow { padding: 6px 0; border-top: 1px solid #f0f1f5; }
.dvote-wrap .dvote-grow-l { font-weight: 600; font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-g { height: 38px; border-radius: 9px; border: 1.5px solid var(--dvote-line); background: var(--dvote-surface); position: relative; transition: background .15s, border-color .15s; }
.dvote-wrap .dvote-g span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.dvote-wrap .dvote-g:hover { border-color: var(--dvote-line-2); background: var(--dvote-bg); }
.dvote-wrap .dvote-g.is-on { box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 0%, #fff), 0 0 0 5px var(--dvote-line-2); }
.dvote-wrap .dvote-g--0.is-on { background: var(--dvote-m0); border-color: var(--dvote-m0); }
.dvote-wrap .dvote-g--1.is-on { background: var(--dvote-m1); border-color: var(--dvote-m1); }
.dvote-wrap .dvote-g--2.is-on { background: var(--dvote-m2); border-color: var(--dvote-m2); }
.dvote-wrap .dvote-g--3.is-on { background: var(--dvote-m3); border-color: var(--dvote-m3); }
.dvote-wrap .dvote-g--4.is-on { background: var(--dvote-m4); border-color: var(--dvote-m4); }
.dvote-wrap .dvote-g--5.is-on { background: var(--dvote-m5); border-color: var(--dvote-m5); }
.dvote-wrap .dvote-mention { display: inline-block; padding: 2px 8px; border-radius: 99px; font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 700; white-space: nowrap; }
.dvote-wrap .dvote-mention--0 { background: #e3ecf7; color: var(--dvote-m0); }
.dvote-wrap .dvote-mention--1 { background: #e7f0fa; color: #2c62a0; }
.dvote-wrap .dvote-mention--2 { background: #edf4fb; color: #3a6e9f; }
.dvote-wrap .dvote-mention--3 { background: #fdf1e6; color: #8f5420; }
.dvote-wrap .dvote-mention--4 { background: #fbe9e0; color: #a44a22; }
.dvote-wrap .dvote-mention--5 { background: #f6e1da; color: var(--dvote-m5); }

.dvote-wrap .dvote-pts-left { font-size: calc(var(--dvote-fs, 16px) * 0.9375); margin-bottom: 10px; color: var(--dvote-ink-2); }
.dvote-wrap .dvote-pts-left strong { font-size: calc(var(--dvote-fs, 16px) * 1.375); color: var(--dvote-accent-ink); font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-pts-left.is-bad strong { color: var(--dvote-err); }
.dvote-wrap .dvote-points { display: flex; flex-direction: column; gap: 6px; }
.dvote-wrap .dvote-prow { display: grid; grid-template-columns: 1fr auto 120px; gap: 12px; align-items: center; padding: 6px 0; border-top: 1px solid #f0f1f5; }
.dvote-wrap .dvote-prow-l { font-weight: 600; }
.dvote-wrap .dvote-stepper { display: inline-flex; align-items: center; gap: 8px; }
.dvote-wrap .dvote-pv { min-width: 26px; text-align: center; font-weight: 750; font-size: calc(var(--dvote-fs, 16px) * 1.0625); font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-pbar { height: 8px; border-radius: 9px; background: var(--dvote-line); overflow: hidden; }
.dvote-wrap .dvote-pbar span { display: block; height: 100%; background: var(--dvote-accent); border-radius: 9px; transition: width .2s; }
.dvote-wrap .dvote-tirage-l { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

.dvote-wrap .dvote-contest { margin-top: 18px; padding-top: 14px; border-top: 1px dashed var(--dvote-line-2); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dvote-wrap .dvote-contest .dvote-l { margin: 0 6px 0 0; color: var(--dvote-muted); font-weight: 600; }
.dvote-wrap .dvote-cbtn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: var(--dvote-r-btn, 8px); border: 1.5px solid var(--dvote-line-2); font-size: calc(var(--dvote-fs, 16px) * 0.8125); font-weight: 600; color: var(--dvote-ink-2); }
.dvote-wrap .dvote-cbtn .dvote-ico { width: 14px; height: 14px; }
.dvote-wrap .dvote-cbtn:hover { border-color: var(--dvote-warn); }
.dvote-wrap .dvote-cbtn.is-on { border-color: var(--dvote-warn); background: var(--dvote-warn-soft); color: var(--dvote-warn); }
.dvote-wrap .dvote-ballot-f { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.dvote-wrap .dvote-ballot-f .dvote-muted { display: inline-flex; align-items: center; gap: 6px; }
.dvote-wrap .dvote-confirm { margin-top: 20px; padding: 16px; border-radius: var(--dvote-r-s); background: var(--dvote-soft); border: 1.5px solid color-mix(in srgb, var(--dvote-accent) 35%, transparent); animation: dvote-in .25s var(--dvote-ease); }
.dvote-wrap .dvote-confirm p + p { margin-top: 4px; }

/* Reçu */
.dvote-wrap .dvote-receipt { text-align: center; }
.dvote-wrap .dvote-receipt-ico { width: 60px; height: 60px; border-radius: 50%; display: inline-grid; place-items: center; background: var(--dvote-ok-soft); color: var(--dvote-ok); margin-bottom: 10px; animation: dvote-pop .45s var(--dvote-ease); }
.dvote-wrap .dvote-receipt-ico .dvote-ico { width: 30px; height: 30px; stroke-width: 2.6; }
.dvote-wrap .dvote-receipt .dvote-muted { max-width: 520px; margin: 8px auto 0; }
.dvote-wrap .dvote-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .06em; font-weight: 650; background: var(--dvote-bg); padding: 2px 8px; border-radius: 6px; }
.dvote-wrap .dvote-code--l { display: inline-block; margin-top: 18px; font-size: clamp(20px, 4vw, 28px); padding: 12px 20px; border-radius: 14px; border: 1.5px dashed var(--dvote-line-2); color: var(--dvote-ink); }
.dvote-wrap .dvote-full { margin-top: 10px; font-size: calc(var(--dvote-fs, 16px) * 0.8125); }
.dvote-wrap .dvote-full summary { cursor: pointer; color: var(--dvote-muted); }
.dvote-wrap .dvote-full code { display: block; margin-top: 6px; }

/* Onglets */
.dvote-wrap .dvote-tabs { display: flex; gap: 4px; padding: 5px; border-radius: 99px; background: var(--dvote-surface); border: 1px solid var(--dvote-line); box-shadow: var(--dvote-shadow); overflow-x: auto; scrollbar-width: none; }
.dvote-wrap .dvote-tabs::-webkit-scrollbar { display: none; }
.dvote-wrap .dvote-tab { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 9px 14px; border-radius: 99px; font-weight: 650; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink-2); white-space: nowrap; transition: background .2s, color .2s; }
.dvote-wrap .dvote-tab .dvote-ico { width: 16px; height: 16px; }
.dvote-wrap .dvote-tab:hover { background: var(--dvote-bg); }
.dvote-wrap .dvote-tab.is-on { background: var(--dvote-accent); color: var(--dvote-on); }

/* Résultats */
.dvote-wrap .dvote-hero { text-align: center; position: relative; overflow: hidden; border-color: color-mix(in srgb, var(--dvote-accent) 30%, var(--dvote-line)); }
.dvote-wrap .dvote-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--dvote-accent); }
.dvote-wrap .dvote-hero > .dvote-ico { width: 40px; height: 40px; color: var(--dvote-muted); }
.dvote-wrap .dvote-hero--plain::before { background: var(--dvote-line-2); }
.dvote-wrap .dvote-winner { margin-top: 8px; font-size: clamp(26px, 5vw, 38px); }
.dvote-wrap .dvote-hero .dvote-muted { margin-top: 8px; }
.dvote-wrap .dvote-tie { display: inline-flex; gap: 8px; align-items: center; margin-top: 10px; padding: 6px 12px; border-radius: 99px; background: var(--dvote-bg); font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-tie .dvote-ico { width: 15px; height: 15px; }
.dvote-wrap .dvote-contest-r { display: flex; gap: 12px; align-items: flex-start; background: var(--dvote-warn-soft); border-color: #f4dcb6; }
.dvote-wrap .dvote-contest-r > .dvote-ico { width: 22px; height: 22px; color: var(--dvote-warn); margin-top: 2px; }

.dvote-wrap .dvote-bars { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.dvote-wrap .dvote-bar { display: grid; grid-template-columns: minmax(90px, 200px) 1fr auto; gap: 12px; align-items: center; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-bar-l { font-weight: 600; overflow-wrap: anywhere; }
.dvote-wrap .dvote-bar-t { height: 14px; border-radius: 4px; background: var(--dvote-bg); overflow: hidden; }
.dvote-wrap .dvote-bar-t span { display: block; height: 100%; border-radius: 0 4px 4px 0; background: color-mix(in srgb, var(--dvote-accent) 45%, #fff); transition: width .6s var(--dvote-ease); }
.dvote-wrap .dvote-bar.is-win .dvote-bar-t span { background: var(--dvote-accent); }
.dvote-wrap .dvote-bar.is-win .dvote-bar-l { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-bar-v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }

.dvote-wrap .dvote-rounds td, .dvote-wrap .dvote-rounds th { text-align: center; }
.dvote-wrap .dvote-rounds td:first-child { text-align: left; font-weight: 600; }
.dvote-wrap .dvote-rounds td { position: relative; min-width: 84px; }
.dvote-wrap .dvote-rounds td strong { position: relative; font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-cell-bar { position: absolute; left: 6px; bottom: 4px; height: 3px; width: calc((100% - 12px) * var(--w) / 100); background: color-mix(in srgb, var(--dvote-accent) 55%, #fff); border-radius: 2px; }
.dvote-wrap .dvote-rounds tr.is-win td:first-child { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-rounds tr.is-win td:not(:first-child):last-child strong { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-elim { background: var(--dvote-warn-soft); }
.dvote-wrap .dvote-elim-t { display: block; font-size: calc(var(--dvote-fs, 16px) * 0.6875); font-weight: 700; color: var(--dvote-warn); text-transform: uppercase; letter-spacing: .03em; }
.dvote-wrap .dvote-last { display: block; font-size: calc(var(--dvote-fs, 16px) * 0.6875); }
.dvote-wrap .dvote-out { color: var(--dvote-line-2); }

.dvote-wrap .dvote-duels th, .dvote-wrap .dvote-duels td { text-align: center; font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-duels tbody th { text-align: left; text-transform: none; letter-spacing: 0; font-size: calc(var(--dvote-fs, 16px) * 0.875); color: var(--dvote-ink); font-weight: 650; }
.dvote-wrap .dvote-duels .dvote-corner { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: calc(var(--dvote-fs, 16px) * 0.6875); text-align: left; white-space: normal; max-width: 120px; }
.dvote-wrap .dvote-duels td { font-weight: 700; border: 2px solid #fff; border-radius: 6px; }
.dvote-wrap .dvote-win { background: var(--dvote-ok-soft); color: var(--dvote-ok); }
.dvote-wrap .dvote-loss { background: #f6f7fa; color: var(--dvote-muted); }
.dvote-wrap .dvote-even { background: var(--dvote-warn-soft); color: var(--dvote-warn); }
.dvote-wrap .dvote-diag { background: repeating-linear-gradient(45deg, #f4f5f8, #f4f5f8 4px, #fff 4px, #fff 8px); }

.dvote-wrap .dvote-merit { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.dvote-wrap .dvote-mrow { display: grid; grid-template-columns: minmax(90px, 180px) 1fr auto; gap: 12px; align-items: center; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-mrow-l { font-weight: 600; }
.dvote-wrap .dvote-mrow.is-win .dvote-mrow-l { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-mbar { position: relative; display: flex; height: 22px; border-radius: 5px; overflow: hidden; background: var(--dvote-bg); }
.dvote-wrap .dvote-seg { height: 100%; box-shadow: inset -2px 0 0 #fff; }
.dvote-wrap .dvote-mid { position: absolute; left: 50%; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--dvote-ink); }
.dvote-wrap .dvote-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 14px; font-size: calc(var(--dvote-fs, 16px) * 0.75); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-legend span { display: inline-flex; gap: 6px; align-items: center; }
.dvote-wrap .dvote-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }

.dvote-wrap .dvote-drawn { display: flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.dvote-wrap .dvote-drawn li { display: flex; align-items: center; gap: 10px; font-size: calc(var(--dvote-fs, 16px) * 1.125); font-weight: 650; }
.dvote-wrap .dvote-cmp tr.is-current td { background: var(--dvote-soft); }
.dvote-wrap .dvote-recount { display: flex; gap: 14px; align-items: flex-start; }
.dvote-wrap .dvote-recount > .dvote-ico { width: 26px; height: 26px; color: var(--dvote-accent); margin-top: 2px; }

/* Urne, journal, garanties */
.dvote-wrap .dvote-hashline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 10px 0; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-hashline .dvote-ico { width: 18px; height: 18px; color: var(--dvote-ok); }
.dvote-wrap .dvote-search { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 0 14px; border: 1.5px solid var(--dvote-line-2); border-radius: 99px; background: var(--dvote-surface); }
.dvote-wrap .dvote-search:focus-within { border-color: var(--dvote-accent); }
.dvote-wrap .dvote-search .dvote-ico { width: 18px; height: 18px; color: var(--dvote-muted); }
.dvote-wrap .dvote-search input { flex: 1; border: 0; padding: 11px 0; background: transparent; outline: none; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-own { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px; padding: 12px 14px; border-radius: var(--dvote-r-s); background: var(--dvote-ok-soft); color: #145c39; font-size: calc(var(--dvote-fs, 16px) * 0.875); }
.dvote-wrap .dvote-own .dvote-ico { width: 18px; height: 18px; margin-top: 1px; }
.dvote-wrap .dvote-urne { max-height: 480px; overflow-y: auto; }
.dvote-wrap .dvote-urne td:first-child { white-space: nowrap; }
.dvote-wrap .dvote-urne tr.is-own td { background: var(--dvote-ok-soft); }
.dvote-wrap .dvote-guar .dvote-h3 .dvote-ico { width: 18px; height: 18px; }
.dvote-wrap .dvote-verify { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--dvote-line); }
.dvote-wrap .dvote-verify .dvote-btns { margin-top: 10px; }
.dvote-wrap .dvote-verify .dvote-btns:empty { display: none; }
.dvote-wrap .dvote-anchor { display: flex; justify-content: center; align-items: center; gap: 6px; flex-wrap: wrap; }
.dvote-wrap .dvote-anchor .dvote-ico { width: 15px; height: 15px; color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-anchor code { font-size: .92em; }
.dvote-wrap .dvote-guar details summary { cursor: pointer; font-size: calc(var(--dvote-fs, 16px) * 0.875); font-weight: 650; color: var(--dvote-accent-ink); margin-top: 8px; }
.dvote-wrap .dvote-det { display: inline-block; padding: 2px 9px; border-radius: 99px; font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 700; white-space: nowrap; }
.dvote-wrap .dvote-det--ok { background: var(--dvote-ok-soft); color: var(--dvote-ok); }
.dvote-wrap .dvote-det--mid { background: var(--dvote-warn-soft); color: var(--dvote-warn); }
.dvote-wrap .dvote-det--no { background: var(--dvote-err-soft); color: var(--dvote-err); }

@keyframes dvote-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes dvote-pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .dvote-wrap *, .dvote-wrap *::before { animation: none !important; transition: none !important; } }

/* Mobile */
@container dvote (max-width: 640px) {
	.dvote-wrap .dvote-top { align-items: flex-start; }
	.dvote-wrap .dvote-grades-h { display: none; }
	.dvote-wrap .dvote-grow { grid-template-columns: repeat(6, 1fr); row-gap: 6px; }
	.dvote-wrap .dvote-grow-l { grid-column: 1 / -1; }
	.dvote-wrap .dvote-g { height: auto; min-height: 44px; padding: 4px 2px; }
	.dvote-wrap .dvote-g span { position: static; width: auto; height: auto; clip: auto; font-size: calc(var(--dvote-fs, 16px) * 0.625); font-weight: 700; line-height: 1.1; color: var(--dvote-ink-2); }
	.dvote-wrap .dvote-g.is-on span { color: #fff; position: relative; z-index: 1; }
	.dvote-wrap .dvote-g.is-on::after { display: none; }
	.dvote-wrap .dvote-prow { grid-template-columns: 1fr auto; }
	.dvote-wrap .dvote-pbar { grid-column: 1 / -1; }
	.dvote-wrap .dvote-bar, .dvote-wrap .dvote-mrow { grid-template-columns: 1fr auto; }
	.dvote-wrap .dvote-bar-t, .dvote-wrap .dvote-mbar { grid-column: 1 / -1; grid-row: 2; }
	.dvote-wrap .dvote-log li { grid-template-columns: 1fr; gap: 2px; }
	.dvote-wrap .dvote-method-b { grid-template-columns: 1fr; }
	.dvote-wrap .dvote-method-radar { width: 220px; margin: 0 auto; }
	.dvote-wrap .dvote-manage-link { position: static; margin-top: 14px; }
	.dvote-wrap .dvote-tab { padding: 8px 10px; }
	.dvote-wrap .dvote-import-f .dvote-btn { margin-left: 0; width: 100%; }
}

/* Diagramme : zones points forts / points faibles, ligne neutre, repères (couleurs réglables : Apparence). */
.dvote-wrap .dchoice-rb { stroke: none; }
.dvote-wrap .dchoice-rb-p2 { fill: var(--dchoice-plus-2, #c0d9ea); }
.dvote-wrap .dchoice-rb-p1 { fill: var(--dchoice-plus-1, #e0ecf5); }
.dvote-wrap .dchoice-rb-m1 { fill: var(--dchoice-moins-1, #fbede0); }
.dvote-wrap .dchoice-rb-m2 { fill: var(--dchoice-moins-2, #f6dac2); }
.dvote-wrap .dchoice-rg { fill: none; stroke: rgba(27, 34, 51, .09); stroke-width: 1; }
.dvote-wrap .dchoice-rs { stroke: rgba(27, 34, 51, .09); stroke-width: 1; }
.dvote-wrap .dchoice-rg-0 { fill: none; stroke: #5b6478; stroke-width: 1.4; stroke-dasharray: 4 3; }
.dvote-wrap .dchoice-radar--xs .dchoice-rg-0 { stroke-width: 1; stroke-dasharray: 2.5 2; }
.dvote-wrap .dchoice-rt { font-size: calc(var(--dvote-fs, 16px) * 0.5938); font-weight: 700; fill: #687186; paint-order: stroke; stroke: rgba(255, 255, 255, .9); stroke-width: 3px; stroke-linejoin: round; }
.dvote-wrap .dchoice-rt-0 { fill: #3c4558; }
.dvote-wrap .dchoice-rp { fill: color-mix(in srgb, var(--dvote-accent) 7%, transparent); }
.dvote-wrap .dchoice-rleg { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; font-size: calc(var(--dvote-fs, 16px) * 0.75); color: #3c4558; }
.dvote-wrap .dchoice-rleg-i { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.dvote-wrap .dchoice-rleg-i small { color: #687186; font-size: calc(var(--dvote-fs, 16px) * 0.6875); }
.dvote-wrap .dchoice-rleg-sw { display: inline-block; width: 18px; height: 11px; border-radius: 3px; }
.dvote-wrap .dchoice-rleg-p { background: linear-gradient(90deg, var(--dchoice-plus-1, #e0ecf5), var(--dchoice-plus-2, #c0d9ea)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dchoice-plus, #1f78b4) 45%, transparent); }
.dvote-wrap .dchoice-rleg-m { background: linear-gradient(90deg, var(--dchoice-moins-2, #f6dac2), var(--dchoice-moins-1, #fbede0)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--dchoice-moins, #e07b24) 45%, transparent); }
.dvote-wrap .dchoice-rleg-0 { height: 0; border-radius: 0; border-top: 2px dashed #5b6478; }
.dvote-wrap .dvote-radar-leg { margin-top: 6px; text-align: center; }
.dvote-wrap .dvote-radar-leg .dchoice-rleg { gap: 2px 10px; font-size: calc(var(--dvote-fs, 16px) * 0.7188); }

@media (prefers-reduced-motion: reduce) {
	.dvote-wrap .dvote-pcard:hover, .dvote-wrap .dvote-mcard:hover, .dvote-wrap .dvote-choice:hover { transform: none; }
}

/* Source « membres d'un groupe » (Democratic Collective) */
.dvote-wrap .dvote-group-pick { display: grid; gap: 8px; margin: -2px 0 10px 32px; max-width: 520px; }
.dvote-wrap .dvote-group-pick .dvote-check { margin: 0; }
@container dvote (max-width: 520px) { .dvote-wrap .dvote-group-pick { margin-left: 0; } }

/* ------------------------------------------------------------------ */
/* Vote sans candidat                                                  */
/* ------------------------------------------------------------------ */
.dvote-wrap .dvote-rounds { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: r; position: relative; }
.dvote-wrap .dvote-round { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 0 6px; }
.dvote-wrap .dvote-round::before { content: ""; position: absolute; top: 19px; left: calc(-50% + 22px); right: calc(50% + 22px); height: 3px; border-radius: 3px; background: var(--dvote-line); }
.dvote-wrap .dvote-round:first-child::before { display: none; }
.dvote-wrap .dvote-round.is-done::before, .dvote-wrap .dvote-round.is-now::before { background: var(--dvote-accent); }
.dvote-wrap .dvote-round-n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--dvote-bg); color: var(--dvote-muted); border: 2px solid var(--dvote-line); flex: none; transition: background .3s, color .3s, border-color .3s; }
.dvote-wrap .dvote-round-n .dvote-ico { width: 19px; height: 19px; }
.dvote-wrap .dvote-round.is-done .dvote-round-n { background: var(--dvote-accent); border-color: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-round.is-now .dvote-round-n { background: var(--dvote-surface); border-color: var(--dvote-accent); color: var(--dvote-accent-ink); box-shadow: 0 0 0 6px var(--dvote-soft); }
.dvote-wrap .dvote-round-b { display: flex; flex-direction: column; gap: 2px; }
.dvote-wrap .dvote-round-b strong { font-size: calc(var(--dvote-fs, 16px) * 0.8125); color: var(--dvote-ink); }
.dvote-wrap .dvote-round-b span { font-size: calc(var(--dvote-fs, 16px) * 0.75); color: var(--dvote-muted); line-height: 1.35; }
.dvote-wrap .dvote-round:not(.is-now):not(.is-done) .dvote-round-b strong { color: var(--dvote-muted); }
.dvote-wrap .dvote-rounds-card .dvote-eyebrow { margin-bottom: 16px; }
.dvote-wrap .dvote-rounds-act { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 14px; padding-top: 4px; }
.dvote-wrap .dvote-rounds-act form { margin: 0; }
.dvote-wrap .dvote-rounds-act .dvote-hint { flex-basis: 100%; justify-content: center; text-align: center; margin-top: 0; }

.dvote-wrap .dvote-av { --av: var(--dvote-accent); width: 38px; height: 38px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: calc(var(--dvote-fs, 16px) * 0.8125); font-weight: 750; letter-spacing: .02em; color: #fff; background: var(--av); background-image: linear-gradient(145deg, color-mix(in srgb, #fff 18%, transparent), transparent 60%); }
.dvote-wrap .dvote-av--xl { width: 76px; height: 76px; font-size: calc(var(--dvote-fs, 16px) * 1.6); box-shadow: 0 0 0 6px var(--dvote-surface), 0 0 0 8px color-mix(in srgb, var(--av) 35%, transparent), 0 14px 30px -12px var(--av); }

.dvote-wrap .dvote-nom-l { display: flex; align-items: center; gap: 10px; margin: 20px 0 10px; font-weight: 700; font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-nom-l:first-child { margin-top: 6px; }
.dvote-wrap .dvote-nom-l label { display: inline-flex; align-items: center; gap: 10px; }
.dvote-wrap .dvote-nom-n { width: 24px; height: 24px; border-radius: 50%; flex: none; display: grid; place-items: center; background: var(--dvote-soft-2); color: var(--dvote-accent-ink); font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 800; }
.dvote-wrap .dvote-nom-l .dvote-muted { font-weight: 500; }
.dvote-wrap .dvote-search--people { margin: 0 0 12px; max-width: 360px; }
.dvote-wrap .dvote-search--people input { font-family: inherit; }
.dvote-wrap .dvote-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.dvote-wrap .dvote-person { position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; border: 1.5px solid var(--dvote-line); border-radius: 99px; background: var(--dvote-surface); text-align: left; font-weight: 600; transition: border-color .15s, background .15s, transform .15s, box-shadow .15s; }
.dvote-wrap .dvote-person[hidden] { display: none; }
.dvote-wrap .dvote-person:hover { border-color: color-mix(in srgb, var(--dvote-accent) 45%, var(--dvote-line)); transform: translateY(-1px); box-shadow: var(--dvote-shadow-hover); }
.dvote-wrap .dvote-person-l { flex: 1; min-width: 0; overflow-wrap: anywhere; line-height: 1.25; }
.dvote-wrap .dvote-person-tick { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--dvote-line-2); color: transparent; flex: none; transition: all .15s; }
.dvote-wrap .dvote-person-tick .dvote-ico { width: 13px; height: 13px; }
.dvote-wrap .dvote-person.is-on { border-color: var(--dvote-accent); background: var(--dvote-soft); box-shadow: 0 0 0 3px color-mix(in srgb, var(--dvote-accent) 18%, transparent); }
.dvote-wrap .dvote-person.is-on .dvote-person-tick { background: var(--dvote-accent); border-color: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-qchips { display: flex; flex-wrap: wrap; gap: 8px; }
.dvote-wrap .dvote-qchip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 99px; border: 1.5px dashed var(--dvote-line-2); color: var(--dvote-ink-2); font-weight: 600; font-size: calc(var(--dvote-fs, 16px) * 0.875); transition: all .15s; }
.dvote-wrap .dvote-qchip .dvote-ico { width: 14px; height: 14px; }
.dvote-wrap .dvote-qchip:hover { border-color: var(--dvote-accent); color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-qchip.is-on { border-style: solid; border-color: var(--dvote-accent); background: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-phrase { position: relative; }
.dvote-wrap .dvote-phrase textarea { width: 100%; padding-bottom: 24px; resize: vertical; min-height: 70px; }
.dvote-wrap .dvote-phrase-c { position: absolute; right: 12px; bottom: 8px; font-size: calc(var(--dvote-fs, 16px) * 0.75); color: var(--dvote-muted); font-variant-numeric: tabular-nums; pointer-events: none; }
.dvote-wrap .dvote-q { quotes: "« " " »" "“" "”"; font-style: italic; color: var(--dvote-ink-2); }

.dvote-wrap .dvote-hero--nom .dvote-rounds { margin-bottom: 22px; }
.dvote-wrap .dvote-nom-hero { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 14px 0 4px; }
.dvote-wrap .dvote-nom-next { max-width: 520px; margin: 12px auto 0; color: var(--dvote-ink-2); font-size: calc(var(--dvote-fs, 16px) * 0.9375); }
.dvote-wrap .dvote-hero .dvote-btns { margin-top: 16px; }
.dvote-wrap .dvote-nrank { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dvote-wrap .dvote-nrow { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: var(--dvote-r-s); border: 1px solid transparent; }
.dvote-wrap .dvote-nrow.is-win { border-color: color-mix(in srgb, var(--dvote-accent) 35%, var(--dvote-line)); background: var(--dvote-soft); }
.dvote-wrap .dvote-nrow:not(.is-win) .dvote-rnum { background: var(--dvote-bg); color: var(--dvote-ink-2); }
.dvote-wrap .dvote-nrow-b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.dvote-wrap .dvote-nrow-h { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.dvote-wrap .dvote-nrow-v { font-weight: 700; color: var(--dvote-ink-2); font-variant-numeric: tabular-nums; white-space: nowrap; }
.dvote-wrap .dvote-nrow .dvote-bar-t { height: 10px; }
.dvote-wrap .dvote-nrow.is-win .dvote-bar-t span { background: var(--dvote-accent); }
.dvote-wrap .dvote-nrow-q { display: flex; flex-wrap: wrap; gap: 6px; }
.dvote-wrap .dvote-nrow-q b { color: var(--dvote-accent-ink); }
.dvote-wrap .dvote-rcards { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.dvote-wrap .dvote-rcard { position: relative; padding: 16px 16px 14px; border-radius: var(--dvote-r-s); background: var(--dvote-bg); border: 1px solid var(--dvote-line); display: flex; flex-direction: column; gap: 10px; }
.dvote-wrap .dvote-rcard-n { position: absolute; top: 12px; right: 14px; font-size: calc(var(--dvote-fs, 16px) * 0.75); font-weight: 800; color: var(--dvote-muted); font-variant-numeric: tabular-nums; }
.dvote-wrap .dvote-rcard-h { display: flex; align-items: center; gap: 10px; padding-right: 24px; }
.dvote-wrap .dvote-rcard-h .dvote-av { width: 32px; height: 32px; font-size: calc(var(--dvote-fs, 16px) * 0.75); }
.dvote-wrap .dvote-rcard-q { quotes: "“" "”"; margin: 0; padding: 0 0 0 14px; border-left: 3px solid var(--dvote-accent); font-size: calc(var(--dvote-fs, 16px) * 0.9375); line-height: 1.5; color: var(--dvote-ink); font-style: normal; }
.dvote-wrap .dvote-rcard-q::before { content: open-quote; color: var(--dvote-accent-ink); font-weight: 800; margin-right: 3px; }
.dvote-wrap .dvote-rcard-q::after { content: close-quote; color: var(--dvote-accent-ink); font-weight: 800; margin-left: 3px; }
.dvote-wrap .dvote-rcard-t { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.dvote-wrap .dvote-rcard-t .dvote-tag { background: var(--dvote-surface); }
.dvote-wrap .dvote-meet { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: m; display: flex; flex-direction: column; gap: 12px; }
.dvote-wrap .dvote-meet li { counter-increment: m; position: relative; padding-left: 40px; min-height: 28px; line-height: 1.5; }
.dvote-wrap .dvote-meet li::before { content: counter(m); position: absolute; left: 0; top: -1px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--dvote-soft-2); color: var(--dvote-accent-ink); font-weight: 800; font-size: calc(var(--dvote-fs, 16px) * 0.8125); }
.dvote-wrap .dvote-meet li:first-child::before { background: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-from { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 16px; padding: 16px 18px; border-radius: var(--dvote-r); background: linear-gradient(120deg, var(--dvote-soft), var(--dvote-surface)); border: 1px solid color-mix(in srgb, var(--dvote-accent) 30%, var(--dvote-line)); }
.dvote-wrap .dvote-from-i { width: 40px; height: 40px; border-radius: 12px; flex: none; display: grid; place-items: center; background: var(--dvote-accent); color: var(--dvote-on); }
.dvote-wrap .dvote-from p { margin: 0; }
.dvote-wrap .dvote-from .dvote-eyebrow { display: flex; margin-bottom: 2px; }
.dvote-wrap .dvote-nomin { margin-top: 14px; }
.dvote-wrap .dvote-nomin .dvote-check { margin-top: 10px; }
@container dvote (max-width: 640px) {
	.dvote-wrap .dvote-rounds { grid-template-columns: 1fr; gap: 10px; }
	.dvote-wrap .dvote-round { flex-direction: row; text-align: left; gap: 12px; padding: 0; }
	.dvote-wrap .dvote-round::before { top: auto; bottom: calc(100% - 4px); left: 19px; right: auto; width: 3px; height: 14px; }
	.dvote-wrap .dvote-round-n { width: 36px; height: 36px; }
	.dvote-wrap .dvote-people { grid-template-columns: 1fr; }
	.dvote-wrap .dvote-rcards { grid-template-columns: 1fr; }
}
.dvote-wrap:lang(fr) .dvote-rcard-q, .dvote-wrap:lang(fr) .dvote-q { quotes: "«\00a0" "\00a0»"; }
