:root{
  --char:#1d1613;       /* charbon */
  --char-2:#2c211c;
  --ember:#d63a1c;      /* braise */
  --ember-dark:#b02a10;
  --flame:#f58220;      /* flamme */
  --mustard:#ffb81c;    /* moutarde */
  --cream:#fff7ea;      /* pain */
  --sauce:#fff0c4;      /* mayonnaise */
  --ink:#2a1d17;
  --muted:#7a675c;
  --line:#ecdcc6;
  --ok:#1f8a4c;
  --warn:#b8770b;
  --bad:#c0331b;
  --radius:16px;
  --shadow:0 6px 24px rgba(29,22,19,.12);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--cream);line-height:1.45;
  padding-bottom:env(safe-area-inset-bottom)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--flame);outline-offset:2px}
a{color:var(--ember)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:999px;
  padding:.8rem 1.3rem;font-weight:800;background:var(--ember);color:#fff;transition:transform .08s,background .15s}
.btn:hover{background:var(--ember-dark)}
.btn:active{transform:scale(.97)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}
.btn.ghost:hover{background:#fff}
.btn.dark{background:var(--char)}
.btn.ok{background:var(--ok)}
.btn.bad{background:var(--bad)}
.btn.sm{padding:.5rem .95rem;font-size:.9rem}
.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.9rem}
.field label{font-weight:700;font-size:.88rem}
.field input,.field select,.field textarea{border:2px solid var(--line);border-radius:12px;padding:.7rem .85rem;background:#fff;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--flame)}
.toast{position:fixed;left:50%;bottom:calc(5.5rem + env(safe-area-inset-bottom));transform:translate(-50%,20px);
  background:var(--char);color:#fff;padding:.8rem 1.2rem;border-radius:999px;opacity:0;pointer-events:none;
  transition:.25s;z-index:100;max-width:90vw;font-weight:600;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.hidden{display:none!important}
