.zn-essai {
  --zn-ink: var(--ink, #17343c);
  --zn-green: var(--brand, #245b4b);
  --zn-pale: var(--soft, #e8f2ec);
  --zn-border: var(--border, #ccded4);
  box-sizing: border-box;
  max-width: 1100px;
  margin: 0 auto;
  padding: clamp(24px, 5vw, 56px);
  color: var(--zn-ink);
  background: #f8faf8;
  border: 1px solid var(--zn-border);
  border-radius: 28px;
  font: inherit;
}
.zn-essai *, .zn-essai *::before, .zn-essai *::after { box-sizing: border-box; }
.zn-essai-lead { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(160px, .6fr); align-items: center; gap: 32px; }
.zn-essai-heading h2 { max-width: 16ch; margin: 0 0 16px; color: var(--zn-ink); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.07; letter-spacing: -.03em; }
.zn-essai-heading p { max-width: 58ch; margin: 0; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.55; }
.zn-essai-banner { margin: 20px 0 0; padding: 18px 22px; border-left: 4px solid var(--zn-green); border-radius: 12px; background: var(--zn-pale); color: var(--zn-ink); font-weight: 600; line-height: 1.55; }
.zn-essai-continue-intro { max-width: 65ch; margin: 24px 0 12px; padding: 18px 22px; border-radius: 12px; background: var(--zn-pale); color: var(--zn-ink); font-weight: 600; line-height: 1.55; }
.zn-essai-art { position: relative; min-height: 184px; border-radius: 34px; background: var(--zn-pale); overflow: hidden; }
.zn-essai-paper { position: absolute; width: 88px; height: 116px; top: 30px; left: 24%; border: 2px solid var(--zn-green); border-radius: 12px; background: white; transform: rotate(-9deg); box-shadow: 12px 14px 0 #c3dbcc; }
.zn-essai-paper::before { content: ''; position: absolute; top: 28px; left: 15px; width: 48px; height: 35px; border-top: 4px solid #85ad9a; border-bottom: 4px solid #85ad9a; }
.zn-essai-line { position: absolute; width: 54px; height: 3px; top: 90px; left: 55%; background: var(--zn-green); transform: rotate(-19deg); }
.zn-essai-check { position: absolute; right: 15%; top: 72px; width: 56px; height: 56px; display: grid; place-items: center; color: white; background: var(--zn-green); border-radius: 50%; font-size: 2rem; }
.zn-essai-check::before { content:''; width: 24px; height: 13px; border-left: 4px solid white; border-bottom: 4px solid white; transform: translateY(-3px) rotate(-45deg); }
.zn-essai-status { margin: 20px 0 0; min-height: 1.5em; line-height: 1.5; }
.zn-essai-status:empty, .zn-essai-selected[hidden], .zn-essai-limit-alert[hidden] { display: none; }
.zn-essai-progress[hidden],.zn-essai-progress [hidden] { display:none; }
.zn-essai-progress { display:grid;gap:18px;margin-top:24px;padding:clamp(20px,4vw,30px);border:1px solid var(--zn-border);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(23,52,60,.07); }
.zn-essai-progress h3,.zn-essai-progress h4,.zn-essai-progress p { margin:0; }
.zn-essai-progress h3 { font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2; }
.zn-essai-progress-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0; }
.zn-essai-progress-steps li { position:relative;min-width:0;padding:14px 14px 14px 43px;border:1px solid var(--zn-border);border-radius:12px;background:#f7faf8;font-weight:650;line-height:1.35; }
.zn-essai-progress-steps li::before { content:'';position:absolute;top:15px;left:14px;width:19px;height:19px;border:2px solid #a9bdb4;border-radius:50%;background:#fff; }
.zn-essai-progress-steps li[data-state=done] { color:var(--zn-green);background:#e8f2ec; }
.zn-essai-progress-steps li[data-state=done]::before { border-color:var(--zn-green);background:var(--zn-green); }
.zn-essai-progress-steps li[data-state=done]::after { content:'';position:absolute;top:20px;left:19px;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg); }
.zn-essai-progress-steps li[data-state=active] { border-color:var(--zn-green);background:#e8f2ec;color:var(--zn-green); }
.zn-essai-progress-steps li[data-state=active]::before { border-color:var(--zn-green);box-shadow:inset 0 0 0 4px #fff;background:var(--zn-green); }
.zn-essai-progress-work { padding:16px;border-radius:12px;background:#f5f9f6; }
.zn-essai-progress-work h4 { margin-bottom:12px; }
.zn-essai-progress-work ul { display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0; }
.zn-essai-progress-work li { padding:8px 11px;border:1px solid var(--zn-border);border-radius:8px;background:#fff;line-height:1.35; }
.zn-essai-progress-detail { color:#46665b;line-height:1.5; }
.zn-essai-progress-elapsed { font-variant-numeric:tabular-nums;font-weight:700; }
.zn-essai-progress-long { padding:12px 14px;border-left:3px solid #b2863d;background:#fff8eb;line-height:1.5; }
.zn-essai-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.zn-essai-meta span { padding: 7px 12px; border-radius: 999px; color: var(--zn-green); background: var(--zn-pale); font-size: .92rem; font-weight: 650; }
.zn-essai-groups { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 24px; }
.zn-essai-group { padding: 20px; border: 1px solid var(--zn-border); border-radius: 16px; background: white; }
.zn-essai-group h3 { margin: 0 0 14px; font-size: 1.05rem; }
.zn-essai-group ul { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.zn-essai-group li { padding: 7px 10px; border-radius: 8px; background: #f1f6f2; }
.zn-essai-free { margin: 20px 0 0; line-height: 1.5; }
.zn-essai-error { max-width: 1100px; margin: 0 auto; padding: 20px; color: #17343c; }
.zn-essai-demo { max-width: 1100px; margin: 28px auto 0; padding: clamp(22px,4vw,40px); border: 1px solid var(--border,#ccded4); border-radius: 24px; background: #fff; color: var(--ink,#17343c); }
.zn-essai-demo h3 { margin: 12px 0 6px; font-size: clamp(1.5rem,3vw,2.25rem); }
.zn-essai-demo > p { margin: 0; line-height: 1.5; }
.zn-essai-demo-badge { display: inline-block; padding: 6px 10px; border-radius: 8px; background: #fff0d6; color: #684415; font-size: .82rem; letter-spacing: .04em; }
.zn-essai-demo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 22px; }
.zn-essai-demo-card { min-width: 0; padding: 18px; border: 1px solid var(--border,#ccded4); border-radius: 14px; background: #f8faf8; }
.zn-essai-demo-card h4,.zn-essai-demo-card p { margin: 0 0 8px; }
.zn-essai-demo-card small { display: block; overflow-wrap: anywhere; line-height: 1.45; }
.zn-essai-demo-locked { margin-top: 24px; }
.zn-essai-demo-locked h4 { margin: 0 0 10px; }
.zn-essai-demo-locked ul { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
.zn-essai-demo-locked li { padding: 8px 12px; border-radius: 8px; background: #e8f2ec; }
.zn-essai-demo-disclaimer { margin-top: 22px !important; }
.zn-essai-live-result { display:grid;gap:22px;margin-top:24px;padding:clamp(20px,4vw,36px);border:1px solid var(--zn-border);border-radius:20px;background:white; }
.zn-essai-live-result h3,.zn-essai-live-result h4,.zn-essai-live-result h5,.zn-essai-live-result p { margin:0; }
.zn-essai-live-result h3 { font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.2; }
.zn-essai-verdict { display:grid;gap:18px;padding:20px;border:1px solid var(--zn-border);border-radius:18px;background:#f5f9f6; }
.zn-essai-verdict-metrics { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.zn-essai-verdict-ring-card { display:grid;justify-items:center;align-content:start;gap:8px;min-width:0;margin:0;padding:16px 10px;border:1px solid var(--zn-border);border-radius:14px;background:#fff;text-align:center; }
.zn-essai-verdict-ring { display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:radial-gradient(circle closest-side,white 72%,transparent 73%),conic-gradient(var(--zn-green) 0 var(--progress),#dce9e1 var(--progress) 100%);color:var(--zn-ink);font-size:1.5rem;font-weight:750; }
.zn-essai-verdict-ring-card figcaption { font-weight:700;line-height:1.35; }
.zn-essai-verdict-ring-card small { color:#46665b;line-height:1.4; }
.zn-essai-verdict-badges { display:flex;flex-wrap:wrap;gap:8px; }
.zn-essai-verdict-badge { display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:.85rem;font-weight:750;line-height:1.35; }
.zn-essai-verdict-badge-amber { background:#fff1d6;color:#8a5a00; }
.zn-essai-verdict-badge-red { background:#fde8e5;color:#9a2f27; }
.zn-essai-verdict-phrase { font-size:clamp(1.2rem,2.5vw,1.6rem);line-height:1.35; }
.zn-essai-verdict-summary { max-width:70ch;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere; }
.zn-essai-verdict-caution { padding:12px 14px;border-left:3px solid var(--zn-green);background:#fff;line-height:1.5; }
.zn-essai-verdict-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.zn-essai-verdict-cards .zn-essai-verdict-card-stake { background:#fdf0ee; }
.zn-essai-verdict-cards .zn-essai-verdict-card-savings { background:#eaf6ef; }
.zn-essai-verdict-cards .zn-essai-verdict-card-confidence,.zn-essai-verdict-cards .zn-essai-verdict-card-legal { background:#eaf3f6; }
.zn-essai-verdict-cards small { color:#46665b;line-height:1.45; }
.zn-essai-verdict-cards ul { display:grid;gap:8px;margin:8px 0 0;padding-left:20px; }
.zn-essai-verdict-cards li small { display:block; }
.zn-essai-method { display:grid;gap:12px;padding:20px;border:1px solid var(--zn-border);border-radius:14px;background:#f5f9f6;line-height:1.5; }
.zn-essai-method ul { display:grid;gap:10px;margin:0;padding-left:20px; }
.zn-essai-method li { overflow-wrap:anywhere; }
.zn-essai-method li strong { margin-right:8px; }
.zn-essai-method p { overflow-wrap:anywhere; }
.zn-essai-live-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.zn-essai-live-card,.zn-essai-live-check { display:grid;align-content:start;gap:10px;min-width:0;padding:18px;border:1px solid var(--zn-border);border-radius:14px;background:#f8faf8;overflow-wrap:anywhere; }
.zn-essai-live-card h4,.zn-essai-live-check h5 { font-size:1rem; }
.zn-essai-live-card > p { font-size:1.12rem;font-weight:700; }
.zn-essai-live-checks { display:grid;gap:12px; }
.zn-essai-live-checks h4 { font-size:1.1rem; }
.zn-essai-live-check strong { color:var(--zn-green); }
.zn-essai-check-detail { display:block; }
.zn-essai-check-detail > summary { display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;min-height:30px;list-style:none;cursor:pointer; }
.zn-essai-check-detail > summary::-webkit-details-marker { display:none; }
.zn-essai-check-detail > summary::after { content:'';width:8px;height:8px;margin-left:auto;border-right:2px solid var(--zn-green);border-bottom:2px solid var(--zn-green);transform:rotate(45deg); }
.zn-essai-check-detail[open] > summary::after { transform:rotate(225deg); }
.zn-essai-check-detail > summary span:not(.zn-essai-check-amount) { min-width:0;overflow-wrap:anywhere; }
.zn-essai-check-amount { font-weight:700;white-space:nowrap; }
.zn-essai-check-body { display:grid;gap:10px;margin-top:14px;line-height:1.55; }
.zn-essai-check-body small { color:#46665b;overflow-wrap:anywhere; }
.zn-essai-live-source summary { color:var(--zn-green);font-weight:650;cursor:pointer; }
.zn-essai-live-source p { padding:10px 12px;margin-top:8px;border-left:3px solid var(--zn-border);background:white;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.zn-essai-live-source a { color:var(--zn-green);overflow-wrap:anywhere; }
.zn-essai-live-locked h4 { margin-bottom:12px; }
.zn-essai-live-locked ul { display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0; }
.zn-essai-live-locked li { position:relative;padding:10px 13px 10px 37px;border-radius:10px;color:#46665b;background:#e8f2ec; }
.zn-essai-live-locked li::before { content:'';position:absolute;top:18px;left:14px;width:13px;height:11px;border-radius:2px;background:currentColor; }
.zn-essai-live-locked li::after { content:'';position:absolute;top:10px;left:16px;width:9px;height:10px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0; }
.zn-essai-live-disclaimer { padding:14px 16px;border-radius:12px;background:#e8f2ec;line-height:1.5; }
.zn-essai-form { display: grid; gap: 20px; margin-top: 24px; }
.zn-essai-form[hidden] { display: none; }
.zn-essai-upload { display: grid; justify-items: start; gap: 10px; min-height: 150px; padding: clamp(20px, 3vw, 28px); border: 2px dashed var(--zn-border); border-radius: 16px; background: #f3f7f4; }
.zn-essai > .zn-essai-upload { margin-top: 24px; }
.zn-essai-upload h3, .zn-essai-upload p { margin: 0; }
.zn-essai-upload h3 { font-size: 1.15rem; line-height: 1.35; }
.zn-essai-upload p { color: #4d676b; line-height: 1.45; }
.zn-essai-picker { min-height: 44px; margin-top: 4px; padding: 10px 17px; border: 0; border-radius: 11px; color: var(--zn-green); background: #e8f4ed; font: inherit; font-weight: 700; cursor: pointer; }
.zn-essai-picker:hover { background: #d7eadf; }
.zn-essai-picker:disabled { cursor: not-allowed; opacity: .65; }
.zn-essai-selected { display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;border:2px solid var(--zn-green);border-radius:16px;background:#eaf6ef;box-shadow:0 6px 22px rgba(36,91,75,.1);color:var(--zn-ink);overflow-wrap:anywhere; }
.zn-essai-selected-icon { position:relative;display:block;width:37px;height:46px;border:2px solid var(--zn-green);border-radius:5px;background:white; }
.zn-essai-selected-icon::before { content:'';position:absolute;left:7px;right:7px;top:18px;border-top:2px solid var(--zn-green);box-shadow:0 7px 0 var(--zn-green); }
.zn-essai-selected-info { display:grid;gap:2px;min-width:0; }
.zn-essai-selected-info strong { color:var(--zn-green);font-size:.9rem; }
.zn-essai-selected-info span { font-weight:750;overflow-wrap:anywhere; }
.zn-essai-selected-info small { color:#496b5e; }
.zn-essai-selected-remove { min-height:40px;padding:8px 12px;border:1px solid var(--zn-border);border-radius:10px;background:white;color:var(--zn-green);font:inherit;font-weight:700;cursor:pointer; }
.zn-essai-limit-alert { margin-top:24px;padding:clamp(20px,4vw,28px);border:2px solid #b1483e;border-radius:18px;background:#fff3f1;box-shadow:0 8px 28px rgba(154,47,39,.13); }
.zn-essai-limit-alert h3 { margin:0 0 10px;color:#872c25;font-size:clamp(1.35rem,3vw,1.7rem); }
.zn-essai-limit-alert p { margin:0;line-height:1.5; }
.zn-essai-limit-actions { display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px; }
.zn-essai-limit-actions a,.zn-essai-limit-actions button { display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 17px;border-radius:11px;font:inherit;font-weight:750;text-decoration:none; }
.zn-essai-limit-login { border:1px solid var(--zn-green);background:var(--zn-green);color:white; }
.zn-essai-limit-signup { border:1px solid var(--zn-border);background:white;color:var(--zn-green); }
.zn-essai-limit-signup:disabled { opacity:.7;cursor:not-allowed; }
.zn-essai-limit-pending { color:#71443f;font-size:.92rem; }
.zn-essai-consent { display: flex; align-items: flex-start; gap: 12px; max-width: 72ch; line-height: 1.5; cursor: pointer; }
.zn-essai-consent input { flex: none; width: 21px; height: 21px; margin: 2px 0 0; accent-color: var(--zn-green); }
.zn-essai-button { justify-self: start; min-height: 48px; padding: 12px 22px; border: 0; border-radius: 13px; color: white; background: var(--zn-green); font: inherit; font-weight: 700; cursor: pointer; }
.zn-essai-button:hover { background: #194435; }
.zn-essai-button:disabled { cursor: wait; opacity: .65; }
.zn-essai :focus-visible { outline: 3px solid #bf8b39; outline-offset: 3px; }
.zn-essai-result { margin-top: 24px; }
.zn-essai-card { display: grid; gap: 16px; padding: clamp(20px, 4vw, 36px); border: 1px solid var(--zn-border); border-radius: 20px; background: white; }
.zn-essai-card h3, .zn-essai-card h4, .zn-essai-card p { margin: 0; }
.zn-essai-card h3 { font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.2; }
.zn-essai-card h4 { margin-top: 8px; font-size: 1.1rem; }
.zn-essai-conclusion { font-size: 1.15rem; line-height: 1.5; }
.zn-essai-facts { display: grid; gap: 14px; margin: 0; padding-left: 24px; }
.zn-essai-facts li { padding-left: 4px; }
.zn-essai-citation { max-width: 68ch; }
.zn-essai-citation summary { color: var(--zn-green); font-weight: 600; cursor: pointer; }
.zn-essai-citation p { margin-top: 10px; padding: 12px 16px; border-left: 3px solid var(--zn-border); background: #f4f8f5; white-space: pre-wrap; }
.zn-essai-disclaimer { padding: 14px 16px; border-radius: 12px; background: var(--zn-pale); line-height: 1.5; }
.zn-essai-drop-overlay[hidden] { display: none; }
.zn-essai-drop-overlay { position: fixed; inset: 0; z-index: 10000; display: grid; padding: 12px; color: #245b4b; background: rgba(228, 247, 234, .93); pointer-events: none; }
.zn-essai-drop-zone { display: grid; justify-items: center; align-content: center; gap: 14px; min-width: 0; min-height: 0; padding: 24px; border: 3px dashed #72b98b; border-radius: 18px; text-align: center; }
.zn-essai-drop-zone strong { font-size: clamp(1.8rem, 3vw, 2.5rem); line-height: 1.15; }
.zn-essai-drop-zone span:last-child { max-width: 48ch; font-size: 1.05rem; line-height: 1.5; }
@media (max-width: 680px) {
  .zn-essai { border-radius: 18px; padding: 22px; }
  .zn-essai-lead { grid-template-columns: 1fr; gap: 18px; }
  .zn-essai-art { min-height: 96px; }
  .zn-essai-paper { top: -7px; left: 35%; transform: scale(.7) rotate(-9deg); }
  .zn-essai-line { top: 44px; }
  .zn-essai-check { top: 22px; right: 25%; width: 46px; height: 46px; }
  .zn-essai-button { width: 100%; }
  .zn-essai-upload { min-height: 0; padding: 18px; }
  .zn-essai-picker { width: 100%; }
  .zn-essai-selected { grid-template-columns:38px minmax(0,1fr);padding:15px; }
  .zn-essai-selected-remove { grid-column:1 / -1;width:100%; }
  .zn-essai-limit-actions a,.zn-essai-limit-actions button { width:100%; }
  .zn-essai-drop-zone { padding: 20px; }
  .zn-essai-groups { grid-template-columns: 1fr; }
  .zn-essai-progress-steps { grid-template-columns:1fr; }
  .zn-essai-demo-grid { grid-template-columns: 1fr; }
  .zn-essai-live-grid { grid-template-columns:1fr; }
  .zn-essai-verdict { padding:14px; }
  .zn-essai-verdict-cards { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { .zn-essai *, .zn-essai *::before, .zn-essai *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
