:root{
  --fond:#0f1319; --carte:#171e27; --bord:#26313f; --texte:#eef2f6;
  --doux:#93a2b4; --accent:#e07b25; --vert:#3f9d63; --rouge:#c8503f;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fond);color:var(--texte);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding-bottom:env(safe-area-inset-bottom)}
header{display:flex;gap:12px;align-items:center;padding:14px 16px;
  border-bottom:1px solid var(--bord);position:sticky;top:0;background:var(--fond);z-index:5}
.logo{height:34px;width:auto}
.titre{font-weight:700;font-size:18px}
.sous{color:var(--doux);font-size:13px}
main{padding:16px;max-width:640px;margin:0 auto}
.ecran.cache,.cache{display:none}
.intro{color:var(--doux)}
label{display:block;margin:14px 0 0;font-size:14px;color:var(--doux)}
input[type=text],textarea{width:100%;margin-top:6px;padding:14px;border-radius:12px;
  border:1px solid var(--bord);background:#0c1015;color:var(--texte);font-size:16px}
textarea{resize:vertical;font-family:inherit}
button{width:100%;margin-top:14px;padding:16px;border:0;border-radius:12px;
  font-size:16px;font-weight:600;background:var(--bord);color:var(--texte)}
button.principal{background:var(--accent);color:#1a0f04}
button:disabled{opacity:.5}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:16px;
  padding:16px;margin-bottom:16px}
.carte h2{font-size:16px;margin:0 0 8px}
.q-meta{font-size:12px;color:var(--doux);margin-bottom:8px;
  display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.puce{border:1px solid var(--bord);border-radius:999px;padding:2px 9px}
.puce.relance{border-color:var(--accent);color:var(--accent)}
.q-texte{margin:0 0 4px}
.bloque{font-size:13px;color:var(--doux);margin-top:8px}
.aide{color:var(--doux);font-size:14px;margin:0 0 10px}
.fichier{display:block;margin-top:12px}
.fichier input{display:none}
.fichier span{display:block;text-align:center;padding:16px;border-radius:12px;
  border:1px dashed var(--bord);color:var(--doux)}
.apercu{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.apercu img{width:72px;height:72px;object-fit:cover;border-radius:10px;border:1px solid var(--bord)}
.err{color:var(--rouge);min-height:20px;font-size:14px}
.vide{color:var(--doux);text-align:center;padding:26px 10px}
.toast{position:fixed;left:16px;right:16px;bottom:20px;padding:14px 16px;border-radius:12px;
  background:var(--vert);color:#06140c;font-weight:600;text-align:center;z-index:9}
.toast.ko{background:var(--rouge);color:#fff}
.spontane{border-color:var(--accent)}
