.ob-fab{z-index:60;border:1px solid #644a9b29;color:#5a4790;cursor:pointer;background:#fff;border-inline-start:none;border-start-end-radius:14px;border-end-end-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:1px;block-size:52px;inline-size:46px;padding:0;transition:inline-size .18s,background .18s;display:flex;position:fixed;bottom:88px;left:0;box-shadow:0 4px 16px #644a9b1f}.ob-fab.is-open{background:#644a9b12;inline-size:46px}.ob-fab-count{color:#16a34a;align-items:center;gap:3px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.ob-fab-dot{background:#16a34a;border-radius:50%;block-size:6px;inline-size:6px;animation:1.8s ease-in-out infinite obFabBeat;position:relative}.ob-fab-dot:after{content:"";background:#16a34a;border-radius:50%;animation:1.8s ease-out infinite obFabRing;position:absolute;inset:0}@keyframes obFabBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}@keyframes obFabRing{0%{opacity:.6;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}@media (prefers-reduced-motion:reduce){.ob-fab-dot,.ob-fab-dot:after{animation:none}}.ob-fab-word{white-space:nowrap;opacity:0;max-inline-size:0;font-size:0;overflow:hidden}@media (hover:hover){.ob-fab{flex-direction:row;gap:7px;inline-size:46px;padding-inline:13px}.ob-fab:not(.is-open):hover{background:#644a9b0f;border-color:#644a9b4d;inline-size:auto}.ob-fab:not(.is-open):hover .ob-fab-word{opacity:1;color:#4a3a5c;max-inline-size:24ch;font-size:13px;font-weight:600}.ob-fab-count{order:-1}}.ob-fab:focus-visible{outline-offset:3px;outline:2px solid #5a4790}.ob-fab-badge{color:#fff;background:#d0486a;border-radius:999px;block-size:18px;min-inline-size:18px;padding:0 5px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;line-height:18px;position:absolute;top:-5px;left:34px}.ob-fab-panel{z-index:59;background:#fff;border:1px solid #644a9b29;border-radius:16px;block-size:min(560px,100dvh - 120px);inline-size:360px;position:fixed;bottom:20px;left:56px;right:auto;overflow:hidden;box-shadow:0 18px 50px #28143c40}@media (max-width:560px){.ob-fab-panel{border:none;border-radius:0;block-size:auto;inline-size:auto;inset:0}.ob-fab{bottom:72px}}
.ob-hd,.ob-hd-launch{--violet:#5a4790;--violet-deep:#644a9b;--rose:#b06880;--ink:#101014;--muted:#5e5a62;--line:#644a9b24;--paper:#faf9f7;--surface:#fff;--bubble-them:#fff;--shadow:0 1px 2px #1010140a, 0 12px 32px #1010141a, 0 32px 64px #10101414;font-family:Poppins,system-ui,-apple-system,sans-serif}.ob-hd-launch{z-index:60;background:var(--violet);color:#fff;cursor:pointer;width:58px;height:58px;box-shadow:0 4px 16px #10101447, 0 0 0 3px var(--surface);border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .22s cubic-bezier(.34,1.4,.5,1),box-shadow .22s;display:flex;position:fixed;top:50%;bottom:auto;right:20px;overflow:visible;translate:0 -50%}.ob-hd-launch:hover{box-shadow:0 10px 26px #10101457, 0 0 0 3px var(--surface);transform:translateY(-2px)scale(1.05)}.ob-hd-launch:active{transform:translateY(0)scale(.97)}.ob-hd-launch img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.ob-hd-launch.is-open{opacity:0;pointer-events:none}.ob-hd-badge{background:var(--rose);color:#fff;text-align:center;min-width:21px;height:21px;box-shadow:0 0 0 2px var(--surface);border-radius:11px;padding:0 6px;font-size:11px;font-weight:600;line-height:21px;position:absolute;top:-3px;right:-3px}.ob-hd-dot{width:13px;height:13px;box-shadow:0 0 0 2.5px var(--surface);background:#3fae6a;border-radius:50%;position:absolute;bottom:1px;right:1px}.ob-hd{z-index:60;width:min(390px,100vw - 32px);max-block-size:min(640px, calc(var(--ob-vvh,100svh) - 130px));background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;animation:.26s cubic-bezier(.16,1,.3,1) ob-hd-in;display:flex;position:fixed;bottom:90px;right:20px;overflow:hidden}@keyframes ob-hd-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.ob-hd-head{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:14px 16px 13px;display:flex}.ob-hd-avatar{flex:none;width:40px;height:40px;position:relative}.ob-hd-avatar img{object-fit:cover;border-radius:50%;width:40px;height:40px;display:block}.ob-hd-avatar .ob-hd-dot{width:11px;height:11px;box-shadow:0 0 0 2px var(--surface)}.ob-hd-who{flex-direction:column;min-width:0;line-height:1.3;display:flex}.ob-hd-who b{letter-spacing:-.01em;font-size:14.5px;font-weight:600}.ob-hd-who small{color:var(--muted);font-size:11.5px}.ob-hd-who small.live{color:#2f9c5c}.ob-hd-head button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;margin-inline-start:auto;padding:6px;transition:background .15s,color .15s;display:flex}.ob-hd-head button:hover{background:var(--line);color:var(--ink)}.ob-hd-intro{color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line);margin:0;padding:10px 16px;font-size:12px;line-height:1.5}.ob-hd-log{background:var(--paper);scrollbar-width:thin;flex-direction:column;flex:1;gap:9px;padding:14px 16px 16px;display:flex;overflow-y:auto}.ob-hd-log.is-empty{justify-content:center}.ob-hd-welcome{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 18px;display:flex}.ob-hd-welcome img{object-fit:cover;width:64px;height:64px;box-shadow:0 0 0 3px var(--surface), 0 4px 14px #10101424;border-radius:50%}.ob-hd-welcome p{color:var(--muted);max-width:27ch;margin:0;font-size:13px;line-height:1.55}.ob-hd-row{align-items:flex-end;gap:7px;max-width:88%;animation:.24s cubic-bezier(.16,1,.3,1) ob-hd-msg-in;display:flex}@keyframes ob-hd-msg-in{0%{opacity:0;transform:translateY(6px)}}.ob-hd-row.me{flex-direction:row-reverse;align-self:flex-end}.ob-hd-row.is-pending{opacity:.55}.ob-hd-mini{object-fit:cover;border-radius:50%;flex:none;width:26px;height:26px;margin-bottom:2px}.ob-hd-msg{white-space:pre-wrap;word-break:break-word;border-radius:17px;padding:9px 13px 7px;font-size:13.5px;line-height:1.5}.ob-hd-row.me .ob-hd-msg{background:var(--violet);color:#fff;border-bottom-right-radius:6px}.ob-hd-row.them .ob-hd-msg{background:var(--bubble-them);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:6px}.ob-hd-msg time{opacity:.55;margin-top:3px;font-size:10.5px;display:block}.ob-hd-row.me .ob-hd-msg time{text-align:end}.ob-hd-gone{opacity:.65;font-size:12.5px}.ob-hd-shot{border-radius:11px;max-width:100%;height:auto;display:block}.ob-hd-compose{border-top:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;padding:11px 14px 13px;display:flex}.ob-hd-bar{align-items:flex-end;gap:7px;display:flex}.ob-hd-compose textarea,.ob-hd-email{resize:none;border:1px solid var(--line);min-width:0;max-height:132px;color:var(--ink);background:var(--paper);border-radius:16px;flex:1;padding:10px 14px;font-family:inherit;font-size:13.5px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.ob-hd-compose textarea::placeholder,.ob-hd-email::placeholder{color:var(--muted);opacity:.75}.ob-hd-compose textarea:focus,.ob-hd-email:focus{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 15%, transparent);outline:none}.ob-hd-failed{color:#b0384f;margin:0;font-size:12px}.ob-hd-icon,.ob-hd-send{cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:background .15s,color .15s,transform .15s cubic-bezier(.34,1.4,.5,1);display:flex}.ob-hd-icon{border:1px solid var(--line);background:var(--surface);color:var(--muted)}.ob-hd-icon:hover:not(:disabled){color:var(--violet);border-color:var(--violet)}.ob-hd-send{background:var(--violet);color:#fff;border:0}.ob-hd-send:not(:disabled):hover{transform:scale(1.06)}.ob-hd-send:not(:disabled):active{transform:scale(.94)}.ob-hd-send:disabled{background:var(--line);color:var(--muted);cursor:default}.ob-hd-icon:disabled{opacity:.45;cursor:default}@media (prefers-reduced-motion:reduce){.ob-hd,.ob-hd-row{animation:none}.ob-hd-launch,.ob-hd-send,.ob-hd-icon,.ob-hd-compose textarea,.ob-hd-email{transition:none}.ob-hd-launch:hover,.ob-hd-send:not(:disabled):hover,.ob-hd-send:not(:disabled):active{transform:none}}
