#celeste-support{--support-color:#dd477a;position:fixed;right:24px;bottom:24px;z-index:220;font-family:var(--body,Arial,sans-serif);color:#343039}
#celeste-support [hidden]{display:none!important}
#celeste-support button,#celeste-support input,#celeste-support textarea{font:inherit}
#celeste-support button{cursor:pointer}
#support-launcher{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;border:0;border-radius:50%;background:var(--support-color);color:white;box-shadow:0 6px 24px rgba(112,30,66,.24);transition:transform .2s,box-shadow .2s}
#support-launcher:hover{transform:translateY(-3px);box-shadow:0 9px 26px rgba(112,30,66,.3)}
#celeste-support button:focus-visible,#celeste-support a:focus-visible{outline:3px solid #853553;outline-offset:3px}
.support-label{position:absolute;right:72px;top:12px;white-space:nowrap;background:#fff;border:1px solid #f0e4e9;border-radius:20px;padding:8px 13px;font-size:13px;font-weight:600;box-shadow:0 3px 15px rgba(90,35,53,.08);pointer-events:none}
.is-open .support-label{display:none}
body:has(.to-top.show) .support-label{display:none}
.support-badge{position:absolute;right:-2px;top:-2px;width:20px;height:20px;display:grid;place-items:center;background:#ae244d;border:2px solid white;border-radius:50%;font-size:10px;font-weight:700}
#support-panel{position:absolute;bottom:76px;right:0;width:370px;max-width:calc(100vw - 32px);height:auto;max-height:calc(100dvh - 128px);border-radius:20px;overflow:hidden;box-shadow:0 14px 65px rgba(42,22,34,.2);background:#fff;border:1px solid #ecdde4;display:flex;flex-direction:column;animation:celeste-chat-in .22s ease-out}
.support-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;background:var(--support-color);color:#fff;flex-shrink:0}
.support-header strong{font-family:var(--head,inherit);font-size:18px}
.support-header p{font-size:12px;margin:5px 0 0;opacity:.94}
#support-status:before{content:'';display:inline-block;width:7px;height:7px;background:#fff9;border-radius:50%;margin-right:6px}
.is-online #support-status:before{background:#b3f2ca}
#support-close{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff20;color:#fff;font-size:25px!important;line-height:1}
.support-body{padding:20px;overflow-y:auto;overscroll-behavior:contain;min-height:0}
#support-welcome{font-size:15px;font-weight:600;line-height:1.5;margin:0 0 9px}
.support-muted{font-size:13px;line-height:1.6;color:#756b76;margin:0 0 15px}
.support-quick{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.support-quick button{border:1px solid #ead8e1;border-radius:20px;background:#fff8fb;color:#88465f;padding:7px 10px;font-size:12px!important}
#support-answer{background:#fff6fa;border-radius:12px;padding:12px;margin-bottom:14px;font-size:13px;line-height:1.6}
#support-answer p{margin:0 0 6px}
#celeste-support a{color:#9c3056;text-decoration:underline;text-underline-offset:2px}
#support-messages{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.support-message{border-radius:12px;padding:10px 12px;max-width:95%;background:#f5f3f5;align-self:flex-start;overflow-wrap:anywhere}
.support-message.from-visitor{align-self:flex-end;background:#fdeaf1}
.support-message small{font-size:10px;color:#796c75}
.support-message p{font-size:13px;line-height:1.55;margin:3px 0 0;white-space:pre-wrap}
#support-form label{display:block;font-size:12px;font-weight:600;margin:12px 0 0}
#support-form input,#support-form textarea{display:block;width:100%;border:1px solid #e2d9df;border-radius:10px;background:#fff;padding:10px 12px;margin-top:6px;color:#343039;font-size:14px;line-height:1.4;resize:vertical;box-sizing:border-box;box-shadow:none}
#support-form input:focus,#support-form textarea:focus{border-color:var(--support-color);outline:2px solid #f9dce8;outline-offset:1px}
.support-privacy{font-size:10px;line-height:1.6;color:#81737e;margin:10px 0 12px}
#support-send{border:0;background:var(--support-color);color:white;border-radius:10px;padding:11px;width:100%;font-weight:600}
#support-send:disabled{opacity:.65;cursor:wait}
#support-feedback{font-size:12px;line-height:1.5;color:#397250;margin:10px 0 0;overflow-wrap:anywhere}
#support-feedback.is-error{color:#ae244d}
#support-feedback:empty{display:none}
#support-channels{display:flex;justify-content:center;gap:20px;padding-top:16px;font-size:12px}
#support-new{display:block;margin:16px auto 0;border:0;background:none;color:#81737e;font-size:11px!important;text-decoration:underline}
#support-form .support-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
body.locked #celeste-support{visibility:hidden}
.to-top{right:98px!important}
@keyframes celeste-chat-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){
 #celeste-support{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}
 #support-launcher{width:54px;height:54px}
 .support-label{right:66px;font-size:12px}
 #support-panel{width:360px;max-width:calc(100vw - 32px);bottom:70px;max-height:calc(100dvh - 110px - env(safe-area-inset-bottom))}
 .support-header{padding:16px 18px}
 .support-body{padding:16px}
 #support-form input,#support-form textarea{font-size:16px}
 body.has-sticky #celeste-support{bottom:calc(98px + env(safe-area-inset-bottom))}
 body.has-sticky #support-panel{max-height:calc(100dvh - 194px - env(safe-area-inset-bottom))}
 .to-top{right:84px!important;bottom:calc(22px + env(safe-area-inset-bottom))!important}
 body.has-sticky .to-top{bottom:calc(104px + env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){#support-panel{animation:none}#support-launcher{transition:none}}
