.chat-fab{z-index:70;border-radius:var(--rf);background:var(--f);color:#fff;box-shadow:var(--shl);cursor:pointer;border:2px solid #fff;align-items:center;gap:8px;padding:13px 18px;font-size:14.5px;font-weight:600;transition:background .15s;display:inline-flex;position:fixed;bottom:20px;right:20px}.chat-fab:hover{background:var(--fl)}.chat-fab:focus-visible,.chat-x:focus-visible,.chat-chips button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.chat-fab .icon{width:20px;height:20px;color:var(--gold)}.chat-panel{z-index:70;border:1px solid var(--ln);width:min(392px,100vw - 24px);height:min(560px,100dvh - 110px);box-shadow:var(--shl);background:#fff;flex-direction:column;display:flex;position:fixed;bottom:84px;right:20px;overflow:hidden}.chat-panel[hidden]{display:none}.chat-head{background:var(--f);color:#fff;align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-head b{font-family:var(--disp,inherit);font-size:16px;display:block}.chat-head small{color:#ffffffc7;font-size:12.5px}.chat-av{background:var(--gold);width:36px;height:36px;color:var(--f);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-av .icon{width:20px;height:20px}.chat-x{color:#fff;cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;display:inline-flex}.chat-x .icon{width:18px;height:18px}.chat-log{background:var(--surf);overscroll-behavior:contain;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-msg{max-width:88%;font-size:14.5px;line-height:1.5}.chat-msg p{border:1px solid var(--ln);color:var(--ink);background:#fff;padding:10px 13px}.chat-msg.user{align-self:flex-end}.chat-msg.user p{background:var(--f);border-color:var(--f);color:#fff}.chat-link{color:var(--e);text-underline-offset:3px;margin-top:6px;font-size:13.5px;font-weight:600;text-decoration:underline;display:inline-block}.chat-typing{align-items:center;gap:4px;display:flex}.chat-typing i{background:var(--mu2);width:7px;height:7px;animation:1s ease-in-out infinite chatdot}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes chatdot{0%,80%,to{opacity:.3}40%{opacity:1}}.chat-err{color:var(--red);background:var(--redp);padding:9px 12px;font-size:13.5px}.chat-chips{background:var(--surf);flex-wrap:wrap;gap:6px;padding:0 16px;display:flex}.chat-chips:not(:empty){padding-bottom:10px}.chat-chips button{border-radius:var(--rf);border:1.5px solid var(--ln);color:var(--f);cursor:pointer;background:#fff;padding:7px 12px;font-size:13px;font-weight:600}.chat-chips button:hover:not(:disabled){border-color:var(--e)}.chat-chips button:disabled{opacity:.5}.chat-form{border-top:1px solid var(--ln);background:#fff;gap:8px;padding:10px 12px;display:flex}.chat-form input{border:1.5px solid var(--ln);border-radius:0;flex:1;min-width:0;padding:10px 14px;font-size:14.5px}.chat-form input:focus-visible{outline:3px solid var(--gold);outline-offset:0;border-color:var(--e)}.chat-form .btn{padding:9px 16px}.chat-form .btn:disabled{opacity:.5;cursor:default}.chat-note{color:var(--mu);background:#fff;padding:0 14px 10px;font-size:12px}.chat-note a{color:var(--e);text-decoration:underline}@media (max-width:900px){body:has(.enroll-bar) .chat-fab{bottom:78px}body:has(.enroll-bar) .chat-panel{bottom:142px}}@media (max-width:640px){.chat-fab-t{display:none}.chat-fab{padding:13px}.chat-panel{width:auto;height:min(70dvh,560px);bottom:76px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){.chat-typing i{opacity:.6;animation:none}}@media (max-width:900px){.chat-fab{bottom:calc(16px + env(safe-area-inset-bottom,0px))}body:has(.enroll-bar) .chat-fab{bottom:78px}body:has(.enroll-bar) .chat-panel{bottom:142px}}@media (max-width:640px){.chat-fab{place-items:center;width:48px;height:48px;padding:0;display:grid}}@media (max-width:700px){.chat-app .chat-fab{bottom:calc(68px + env(safe-area-inset-bottom,0px))}.chat-app .chat-panel{bottom:calc(124px + env(safe-area-inset-bottom,0px));height:min(66dvh,560px)}}.chat-fab{view-transition-name:chat-fab}.chat-msg.notice p{background:var(--goldp);border-color:var(--gold);color:var(--ink)}.chat-vote{color:var(--mu);align-items:center;gap:8px;font-size:13px;display:flex}.chat-vote button,.chat-chips .chat-person{border:1.5px solid var(--ln);color:var(--f);cursor:pointer;background:#fff;padding:5px 12px;font-size:13px;font-weight:600}.chat-vote button:hover,.chat-chips .chat-person:hover{border-color:var(--e)}.chat-vote button:focus-visible,.chat-chips .chat-person:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.chat-chips .chat-person{border-radius:var(--rf);background:var(--mint);border-color:var(--el);padding:7px 12px}.chat-handoff{border:1.5px solid var(--el);background:#fff;gap:6px;padding:12px;font-size:14px;display:grid}.chat-handoff p{margin:0 0 4px;line-height:1.45}.chat-handoff label{color:var(--ink2);font-size:12.5px;font-weight:600}.chat-handoff input,.chat-handoff textarea{border:1.5px solid var(--ln);background:#fff;border-radius:0;width:100%;padding:9px 11px;font-family:inherit;font-size:14.5px}.chat-handoff input:focus-visible,.chat-handoff textarea:focus-visible{outline:3px solid var(--gold);outline-offset:0;border-color:var(--e)}.chat-handoff input[readonly]{background:var(--surf)}.chat-handoff-btns{gap:8px;margin-top:4px;display:flex}@media (max-width:700px){.chat-form input,.chat-handoff input,.chat-handoff textarea{font-size:16px}}@media (pointer:coarse){.chat-form .btn,.chat-handoff .btn,.chat-chips button,.chat-vote button{min-height:44px}.chat-x{min-width:44px;min-height:44px}.chat-vote button{min-width:44px}}
