/* victOr: the mock's phone screens as a full page (teal palette, light theme). */
:root{--victor:#0f766e;--victor-ink:#0b5f58;--soft:rgba(15,118,110,.11);--bg:#f6f8fa;--panel:#fff;--panel2:#eef3f7;
  --fg:#09293c;--fg2:#2f4454;--muted:#5d6f7c;--line:#dde3e8;--on-btn:#fff;
  --ok:#1a7a36;--ok-soft:rgba(26,122,54,.10);--warn:#9a6508;--warn-soft:rgba(178,120,13,.12);--crit:#c8183f;
  --body:"Lato","Helvetica Neue",Arial,sans-serif;--display:"Nova Round","Arial Rounded MT Bold",system-ui,sans-serif;
  color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 var(--body)}
.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}
.o{color:var(--victor)}
a{color:var(--victor-ink)}
:focus-visible{outline:2px solid var(--victor-ink);outline-offset:2px}
.logo{width:34px;height:34px;border-radius:50%;background:var(--victor);display:grid;place-items:center;flex:none;position:relative}
.logo::before{content:"";width:13px;height:13px;border-radius:50%;border:3px solid #fff}
.logo.live::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--victor);opacity:.45}
.hero{text-align:center;padding:28px 16px 8px}
.hero .logo{width:64px;height:64px;margin:0 auto 12px}.hero .logo::before{width:24px;height:24px;border-width:5px}
.hero h1{font:400 1.4rem/1.25 var(--display);margin:0 0 6px}
.note{color:var(--muted);font-size:.86rem;margin:0}
.apph{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0}
.brand{display:block;height:28px;width:auto}.apph .s{font-size:.75rem;color:var(--muted)}
.body{padding:14px 16px 24px;display:grid;gap:12px;align-content:start;flex:1}
.body form{margin:0}
.lift{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:3px}
.lift.pick{border-color:var(--victor);box-shadow:0 0 0 3px var(--soft)}
.lift small{color:var(--muted);font-size:.8rem}
.pill{font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap;display:inline-block}
.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}
.big{display:block;text-align:center;width:100%;padding:14px;border-radius:14px;font:700 1rem var(--body);border:0;cursor:pointer;text-decoration:none}
.big.go{background:var(--victor);color:var(--on-btn)}
.big.sos{background:var(--crit);color:#fff}
.big.ghost{background:var(--panel);color:var(--fg);border:1px solid var(--line)}
.sysmsg{font-size:.8rem;color:var(--muted);text-align:center;margin:0}
.sysmsg .crit{color:var(--crit);font-weight:700}
.b{background:var(--panel);border:1px solid var(--line);padding:10px 13px;border-radius:16px 16px 16px 4px;max-width:92%;margin:0}
.b p{margin:0}
fieldset.b{max-width:none;display:grid;gap:8px}
fieldset.b legend{float:left;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--victor);color:var(--victor-ink);background:var(--panel);border-radius:999px;padding:7px 13px;font-size:.88rem;font-weight:700;cursor:pointer;position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip:has(input:checked){background:var(--victor);color:var(--on-btn)}
.chip:has(input:focus-visible){outline:2px solid var(--victor-ink);outline-offset:2px}
.questions{display:grid;gap:12px}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.timeline li{display:grid;gap:2px}
.timeline time{font-size:.7rem;color:var(--muted);font-variant-numeric:tabular-nums}
.timeline li p{margin:0}
.timeline .victor p{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--victor);padding:10px 13px;border-radius:16px 16px 16px 4px;max-width:92%}
.timeline .me{justify-items:end}
.timeline .me p{background:var(--fg);color:var(--bg);padding:10px 13px;border-radius:16px 16px 4px 16px;max-width:92%}
.timeline .step{grid-template-columns:44px minmax(0,1fr);font-size:.82rem;color:var(--fg2);align-items:baseline}
.say{display:flex;gap:6px}
.say input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:14px;font:1rem var(--body);background:var(--panel);color:var(--fg)}
.say button{padding:0 16px;border-radius:14px;border:0;background:var(--victor);color:var(--on-btn);font:700 .95rem var(--body);cursor:pointer}
.say :disabled{opacity:.6}
/* door 3 (/trouver): candidates are buttons, address and code are plain fields */
button.lift{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.lead{margin:0}
.find{display:grid;gap:6px}
.find label{font-weight:700;font-size:.9rem}
.find input{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--fg)}
