:root{font-family:"Open Sans",Arial,sans-serif;color:#303235;background:#e9e0d5}
*{box-sizing:border-box}
body{margin:0;height:100dvh;display:flex;flex-direction:column}
header{flex:none;display:flex;gap:10px;align-items:center;padding:8px 14px;background:#075e54;color:white;height:56px;font-family:Arial,sans-serif}
header img,.avatar{border-radius:50%;object-fit:cover;background:#d9fdd2}
header strong{font-size:16px;font-weight:600}
header small{display:block;font-size:12px;margin-top:3px}
main{min-height:0;overflow:auto;flex:1;background-color:#e9e0d5;background-image:url("https://s3.fr-par.scw.cloud/typebot/public/typebots/cli88mae30010mh0f0yzjqn48/background?v=1685470080750")}
.chat{max-width:800px;margin:auto;padding:14px 12px max(24px,env(safe-area-inset-bottom))}
.notice{margin:0 auto 15px;max-width:420px;border-radius:8px;background:#d9fdd3;color:#3b4a43;padding:7px 10px;text-align:center;font:12px/1.35 Arial,sans-serif}
#messages{display:grid;gap:8px}
.row{display:flex;gap:8px;align-items:flex-end}
.avatar{width:30px;height:30px;flex:none}
.bubble{margin:0;max-width:min(560px,calc(100% - 42px));padding:9px 12px;border-radius:9px 9px 9px 2px;background:#fff;box-shadow:0 1px 1px #0002;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42}
.bubble p{margin:0;min-height:1em}
.bubble img,.bubble video{display:block;max-width:100%;height:auto;border-radius:6px}
.bubble.media{padding:4px}
.guest{justify-content:flex-end}
.guest .bubble{border-radius:9px 9px 2px 9px;background:#d9fdd2}
#prompt:not(:empty){margin:10px 0 0 38px}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.pictures{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(135px,100%),1fr));max-width:560px}
.pictures.single{max-width:290px}
button,input,.checkout{font:inherit}
button,.checkout{min-height:44px;border:0;border-radius:8px;cursor:pointer;background:#006611;color:#fff;padding:9px 14px;font-weight:600}
.picture{display:flex;flex-direction:column;justify-content:space-between;background:white;color:#303235;padding:4px;text-align:center;box-shadow:0 1px 2px #0003}
.picture img{display:block;width:100%;height:auto;border-radius:6px}
.picture span{display:block;background:#006611;color:white;border-radius:5px;margin-top:4px;padding:8px 4px}
.picture small{display:block;font-weight:400;padding:6px 4px}
button:focus-visible,input:focus-visible,.checkout:focus-visible{outline:3px solid #03614f;outline-offset:2px}
form{display:flex;gap:8px;max-width:560px}
input{width:100%;min-width:0;border:0;border-radius:8px;padding:10px 12px;background:#fff}
.send{background:#008069;border-radius:50%;width:48px;height:48px;padding:0;flex:none;font-size:20px}
.typing{color:#526a60;letter-spacing:3px}
.checkout{display:inline-block}

body{height:100vh;height:var(--visible-height,100dvh);overflow:hidden}
header{height:auto;min-height:calc(56px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}
main{overflow-x:hidden;overscroll-behavior-y:contain}
.chat{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
.picture{min-width:0;overflow-wrap:anywhere;gap:4px;justify-content:flex-start}
.picture img{aspect-ratio:4 / 3;object-fit:contain}
.pictures.single img{aspect-ratio:auto}
.picture span{width:100%}
button,.checkout{touch-action:manipulation}
input{font-size:16px}
@media(max-width:480px){
  .avatar{width:26px;height:26px}
  .bubble{max-width:calc(100% - 34px)}
  #prompt:not(:empty){margin-left:0}
  .pictures:not(.single){grid-template-columns:repeat(2,minmax(0,1fr))}
  .choices:not(.pictures) button{flex:1 1 135px}
}
.picture .start-hint{width:100%;padding:9px 6px;color:#075e54;font-size:.875rem;font-weight:700}

main{overflow-anchor:none}
.message-enter{animation:message-appear 220ms ease-out both}
@keyframes message-appear{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
.bubble.typing{display:flex;align-items:center;gap:4px;min-height:40px;padding-inline:13px}
.typing span{width:6px;height:6px;border-radius:50%;background:#769188;animation:typing-dot 1.2s ease-in-out infinite}
.typing span:nth-child(2){animation-delay:140ms}
.typing span:nth-child(3){animation-delay:280ms}
@keyframes typing-dot{
  0%,55%,100%{opacity:.55;transform:translateY(0)}
  28%{opacity:1;transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
  .message-enter,.typing span{animation:none}
}

.pictures.meal-choices{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  align-items:start;
}
.meal-choices .picture img{aspect-ratio:auto;height:auto}
@media(max-width:480px){
  .pictures.meal-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
}


.row:not(.guest){position:relative;padding-left:38px}
.row:not(.guest) .avatar{position:absolute;left:0;bottom:0}
.row:not(.guest) .bubble{max-width:min(560px,100%)}
@media(max-width:480px){
  .row:not(.guest){padding-left:34px}
}
.retention-scale{color:#c92835}
