/* Website chat (6 Oct 2026): a lime button bottom right opens a dark chat card. Replies come from David in Lark. */
.flc-btn{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:48;width:56px;height:56px;border:0;border-radius:50%;background:#CDFF71;color:#0A0A0A;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 0 0 1.5px rgba(10,10,10,.85);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.flc-btn:hover{transform:scale(1.06)}
.flc-btn svg{width:26px;height:26px;display:block}
.flc-btn .dot{position:absolute;top:6px;right:6px;width:12px;height:12px;border-radius:50%;background:#0A0A0A;box-shadow:0 0 0 2px #CDFF71;display:none}
.flc-btn.new .dot{display:block}
.flc{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:48;width:min(370px,calc(100vw - 32px));height:min(540px,calc(100svh - 120px));display:flex;flex-direction:column;border-radius:20px;background:#141414;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.1);font-family:inherit;opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;pointer-events:none;visibility:hidden;transition:opacity .25s,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s .25s}
.flc.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .25s,transform .25s cubic-bezier(.2,.8,.2,1)}
.flc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.flc-head svg.mark{width:30px;height:30px;fill:#CDFF71;flex:none}
.flc-head b{display:block;font-size:15px;letter-spacing:-.01em}
.flc-head small{display:block;font-size:12.5px;color:rgba(255,255,255,.6);margin-top:2px}
.flc-x{margin-left:auto;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}
.flc-x svg{width:18px;height:18px;display:block}
.flc-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
.flc-m{max-width:82%;padding:10px 13px;border-radius:16px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.flc-m.us{align-self:flex-start;background:rgba(255,255,255,.08);border-bottom-left-radius:6px}
.flc-m.visitor{align-self:flex-end;background:#CDFF71;color:#0A0A0A;border-bottom-right-radius:6px}
.flc-m.note{align-self:center;max-width:100%;background:none;color:rgba(255,255,255,.55);font-size:12.5px;text-align:center;padding:4px 8px}
.flc-form{display:flex;gap:8px;padding:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.flc input,.flc textarea{font:inherit;font-size:16px;color:#fff;background:rgba(255,255,255,.06);border:0;border-radius:12px;padding:11px 13px;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.flc textarea{flex:1;resize:none;height:46px;max-height:120px}
.flc input:focus,.flc textarea:focus{box-shadow:inset 0 0 0 2px #CDFF71}
.flc-send{flex:none;border:0;border-radius:12px;background:#CDFF71;color:#0A0A0A;font:inherit;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;padding:0 16px;cursor:pointer}
.flc-send:disabled{opacity:.5;cursor:default}
@media (max-width:520px){.flc{right:12px;left:12px;width:auto;bottom:calc(80px + env(safe-area-inset-bottom,0px));height:min(560px,calc(100svh - 150px))}}
@media (prefers-reduced-motion:reduce){.flc,.flc-btn{transition:none}}
/* start step: name, work email and the optional tips box come before the first message */
.flc-start{display:grid;gap:8px;padding:12px 16px 14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.flc-start p{margin:0 0 2px;font-size:13px;color:rgba(255,255,255,.75)}
.flc-start small{font-size:11.5px;color:rgba(255,255,255,.5)}
.flc-start small a{color:inherit}
.flc-start input[aria-invalid="true"]{box-shadow:inset 0 0 0 2px #FF8A8A}
.flc-tick{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.75);cursor:pointer}
.flc-tick input{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:0;padding:0;border-radius:6px;cursor:pointer}
.flc-tick input:checked{background:#CDFF71 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230A0A0A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;box-shadow:none}
.flc-go{height:44px}
.flc .flc-form{display:none}
.flc.ready .flc-form{display:flex}
.flc.ready .flc-start{display:none}

