:root{--bg:#f6efe3;--ink:#3b2a20;--brand:#5b3a29;--accent:#c8914a;--card:#fffaf2;--err:#b3261e}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{-webkit-touch-callout:none;margin:0;height:100%;background:var(--bg);color:var(--ink);font:18px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;user-select:none;-webkit-user-select:none}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px}
#logo{height:44px;width:110px;background:url(logo.png) left center/contain no-repeat;-webkit-touch-callout:none;touch-action:none;transition:opacity .2s}
body.home #logo{opacity:0}
.dot{width:10px;height:10px;border-radius:50%;background:#bbb}.dot.on{background:#3c9a5f}
main{max-width:760px;margin:0 auto;padding:16px 24px 48px;min-height:calc(100% - 80px);display:flex;flex-direction:column;justify-content:center}
h1{font-size:44px;margin:0 0 12px;color:var(--brand)}h2{font-size:30px;margin:0 0 24px}
.lead{font-size:22px;margin:0 0 40px}
.progress{color:var(--accent);font-weight:600;margin-bottom:8px}
.choices{display:grid;gap:14px}
button{font:inherit;border:0;border-radius:14px;cursor:pointer}
.choice{background:var(--card);padding:22px;text-align:left;font-size:22px;box-shadow:0 2px 0 #e3d6c2}
.choice:active{background:var(--accent);color:#fff}
.big{background:var(--brand);color:#fff;padding:22px 40px;font-size:24px;font-weight:600;align-self:flex-start}
.big:active{opacity:.85}
input[type=email]{width:100%;font-size:24px;padding:18px;border:2px solid #d9c9b2;border-radius:14px;background:#fff;margin-bottom:18px;user-select:text;-webkit-user-select:text}
.check{display:flex;gap:12px;align-items:flex-start;margin:10px 0;font-size:18px}
.check input{width:28px;height:28px;flex:none;accent-color:var(--brand)}
.err{color:var(--err);min-height:1.4em;font-weight:600}
.legal{font-size:13px;color:#7a6a5c;margin-top:24px}
#admin{position:fixed;inset:0;background:#0008;display:flex;align-items:center;justify-content:center}
#admin[hidden]{display:none}
.panel{background:#fff;border-radius:16px;padding:24px;width:min(460px,92vw)}
.panel h2{font-size:24px;margin-bottom:12px}.panel p{margin:6px 0}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.row button{background:var(--bg);padding:12px 16px}

.welcome{text-align:center;display:flex;flex-direction:column;align-items:center}
.welcome .big{align-self:center}
.hero{width:min(420px,70vw);height:auto;margin:0 0 28px;-webkit-touch-callout:none;pointer-events:none}
.hero.small{width:min(260px,50vw)}
.status{margin-top:18px;font-weight:600}
.status.ok{color:#2e7d4f}.status.wait{color:var(--err)}
.legal a,.check a{color:var(--brand)}
/* Téléphone (ouverture par QR code) */
body.phone #net{display:none}
body.phone.home #logo{opacity:0}
@media (max-width:600px){
  header{padding:12px 16px}
  #logo{height:34px;width:86px}
  main{padding:8px 16px 32px;justify-content:flex-start;min-height:auto}
  h1{font-size:32px}h2{font-size:24px;margin-bottom:18px}
  .lead{font-size:18px;margin-bottom:28px}
  .hero{width:min(300px,78vw);margin:24px 0 20px}
  .choice{font-size:19px;padding:18px}
  .big{width:100%;text-align:center;font-size:21px;padding:18px}
  input[type=email]{font-size:20px;padding:16px}
  .check{font-size:16px}
}
