:root{--fond: #0b1526;--carte: #121f36;--bord: #24365a;--texte: #eef2f9;--sourd: #93a3c0;--vert: #12b04b;--orange: #e08a00;--rouge: #d8383e;--accent: #2f6fed}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;background:var(--fond);color:var(--texte);-webkit-font-smoothing:antialiased;overscroll-behavior:none}.ecran{min-height:100%;display:flex;flex-direction:column}.entete{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:var(--carte);border-bottom:1px solid var(--bord)}.entete .marque{font-weight:800;letter-spacing:.04em;font-size:15px}.entete .etat{font-size:12px;color:var(--sourd);display:flex;align-items:center;gap:6px}.pastille{width:9px;height:9px;border-radius:50%;background:var(--vert)}.pastille.off{background:var(--rouge)}.corps{flex:1;display:flex;flex-direction:column;padding:14px;gap:12px}.carte{background:var(--carte);border:1px solid var(--bord);border-radius:14px;padding:16px}label{display:block;font-size:13px;color:var(--sourd);margin:10px 0 4px}input,select{width:100%;padding:13px 14px;border-radius:10px;border:1px solid var(--bord);background:var(--fond);color:var(--texte);font-size:16px}button{font:inherit;border:0;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}.btn{width:100%;padding:15px;font-size:17px;font-weight:800;background:var(--accent);color:#fff;letter-spacing:.04em}.btn.secondaire{background:transparent;border:1px solid var(--bord);color:var(--texte)}.btn:disabled{opacity:.5}.erreur{background:#d8383e24;border:1px solid var(--rouge);color:#ffb9bc;border-radius:10px;padding:10px 12px;font-size:14px}.checkpoints{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.checkpoints button{padding:14px 6px;font-size:16px;font-weight:800;background:var(--carte);border:1px solid var(--bord);color:var(--sourd)}.checkpoints button.actif{background:var(--accent);color:#fff;border-color:var(--accent)}.checkpoints .sous{display:block;font-size:10.5px;font-weight:600;margin-top:3px}.viseur{position:relative;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:3 / 4}.viseur video{width:100%;height:100%;object-fit:cover}.viseur .cadre{position:absolute;top:14%;right:14%;bottom:14%;left:14%;border:3px solid rgba(255,255,255,.8);border-radius:16px;pointer-events:none;animation:respire 2s ease-in-out infinite}@keyframes respire{0%,to{opacity:.85}50%{opacity:.35}}.viseur .indication{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-size:13px;color:#fff;text-shadow:0 1px 4px #000}.personnes{display:flex;align-items:center;justify-content:center;gap:16px}.personnes button{width:54px;height:54px;font-size:26px;font-weight:800;background:var(--carte);border:1px solid var(--bord);color:var(--texte);border-radius:50%}.personnes .valeur{font-size:30px;font-weight:800;min-width:56px;text-align:center}.personnes .legende{font-size:12px;color:var(--sourd);text-align:center}.decision{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;text-align:center}.decision.vert{background:var(--vert)}.decision.orange{background:var(--orange)}.decision.rouge{background:var(--rouge)}.decision .verdict{font-size:34px;font-weight:900;letter-spacing:.06em;color:#fff}.decision .raison{margin-top:8px;font-size:17px;color:#fffffff2}.decision .photo{width:118px;height:118px;border-radius:50%;object-fit:cover;border:4px solid #fff;margin-top:18px}.decision .nom{margin-top:10px;font-size:26px;font-weight:800;color:#fff}.decision .detail{margin-top:4px;font-size:15px;color:#ffffffeb}.decision .badge{margin-top:12px;display:inline-block;padding:6px 14px;border-radius:999px;background:#00000040;color:#fff;font-weight:800;font-size:14px;letter-spacing:.06em}.decision .btn{margin-top:26px;background:#fff;color:#111;max-width:340px}.note{font-size:12.5px;color:var(--sourd);text-align:center}
