:root{
  --cream:#fffaf1; --cream2:#fff3ed; --green:#126847; --green-d:#0b4a33;
  --coral:#ffad9e; --coral-d:#e2674c; --ink:#22302a; --mut:#6b7a72;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--cream);color:var(--ink);min-height:100vh}
h1,h2,.brand{font-family:Georgia,'Times New Roman',serif;color:var(--green-d)}
.wrap{max-width:430px;margin:0 auto;padding:24px 20px 64px;min-height:100vh;display:flex;flex-direction:column}
.brand{font-size:30px;font-weight:700;text-align:center;margin:18px 0 4px}
.brand em{color:var(--coral-d);font-style:normal}
.tag{text-align:center;color:var(--mut);font-size:14px;margin-bottom:28px}
.card{background:#fff;border:1px solid #eee4d8;border-radius:16px;padding:22px;box-shadow:0 2px 12px rgba(18,104,71,.06)}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px;color:var(--green-d)}
input[type=email],input[type=text],input[type=date],input[type=number],select,textarea{
  width:100%;padding:12px 14px;border:1.5px solid #d8e2dc;border-radius:10px;font-size:16px;background:#fff;font-family:inherit}
input:focus,select:focus,textarea:focus{outline:2px solid var(--green);border-color:var(--green)}
button.primary{width:100%;margin-top:20px;padding:14px;border:0;border-radius:12px;background:var(--green);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
button.primary:disabled{background:#9db8ac;cursor:wait}
button.ghost{background:none;border:0;color:var(--green);font-size:14px;text-decoration:underline;margin-top:14px;cursor:pointer}
.msg{margin-top:14px;font-size:14px;text-align:center;min-height:20px}
.msg.err{color:#b3261e}.msg.ok{color:var(--green)}
.code-row{display:flex;gap:8px;justify-content:center;margin-top:8px}
.code-row input{width:100%;text-align:center;font-size:26px;letter-spacing:10px;padding:12px;font-weight:700}
.lang-switch{position:absolute;top:14px;right:16px;font-size:13px;color:var(--green);background:none;border:1px solid var(--green);border-radius:20px;padding:5px 12px;cursor:pointer}
.steps{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
.steps i{width:28px;height:5px;border-radius:3px;background:#e5ded2}
.steps i.on{background:var(--green)}
.foot{margin-top:auto;text-align:center;color:var(--mut);font-size:12px;padding-top:30px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{border:1.5px solid #d8e2dc;background:#fff;border-radius:22px;padding:8px 14px;font-size:14px;cursor:pointer}
.chip.on{background:var(--green);color:#fff;border-color:var(--green)}
.hidden{display:none!important}
#cf-slot{margin-top:16px;display:flex;justify-content:center}

/* Decouverte (jalon 3) */
.match-card { border: 1px solid #ead9c8; border-radius: 14px; padding: 14px 16px; margin: 12px 0; background: #fffdf8; text-align: left; }
.match-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.match-head b { font-family: Georgia, serif; font-size: 18px; color: var(--green-d, #0b4a33); }
.match-head > div:first-child { font-size: 14px; color: #4a3f35; }
.score { font-family: Georgia, serif; font-size: 26px; font-weight: bold; color: #126847; white-space: nowrap; }
.score span { font-size: 14px; }
.match-photo { width: 100%; max-height: 260px; object-fit: cover; border-radius: 10px; margin-top: 10px; }
ul.notes { margin: 10px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.6; }
ul.notes.ok { color: #126847; }
ul.notes.warn { color: #9a5b2e; }
.deal { color: #b3352b; font-size: 12px; }
.mand { color: #8a7a6a; font-size: 11px; }
.match-bio { margin-top: 10px; font-size: 14px; line-height: 1.5; color: #3d332a; }
