.crafty-support-offer{position:fixed;right:20px;bottom:20px;z-index:1000;width:min(310px,calc(100vw - 32px));box-sizing:border-box;padding:20px;border:1px solid #dcba75;border-radius:16px;background:#17372a;color:#fff8e9;box-shadow:0 12px 40px #0005;text-align:left;font:15px/1.5 system-ui,sans-serif}.crafty-support-offer strong{color:#f5cc7e}.crafty-support-offer p{margin:8px 0 14px}.crafty-support-offer a,.crafty-support-offer button:not(.crafty-support-close){display:inline-block;margin:0 8px 4px 0;padding:8px 11px;border:1px solid #e7ca90;border-radius:8px;background:#f5dfac;color:#17372a;text-decoration:none;font:inherit;cursor:pointer}.crafty-support-offer .crafty-support-close{position:absolute;right:8px;top:5px;border:0;background:transparent;color:#fff8e9;font-size:24px;cursor:pointer}.crafty-support-offer :focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:480px){.crafty-support-offer{right:16px;bottom:16px}}
.crafty-launcher { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 900; display: inline-flex; align-items: center; gap: 9px; min-height: 60px; padding: 6px 17px 6px 7px; border: 1px solid #ddbc78; border-radius: 18px; background: linear-gradient(125deg, #254c36, #173629); color: #fff7e2; box-shadow: 0 6px 24px #0005, inset 0 1px #fff5d617; cursor: pointer; text-align: left; }
.crafty-launcher img { width: 48px; height: 48px; object-fit: contain; }
.crafty-launcher strong { display: block; color: #ffe5a6; font: 800 15px/1.4 system-ui, sans-serif; }
.crafty-launcher small { display: block; color: #e2e8d8; font: 500 11px/1.4 system-ui, sans-serif; }
.crafty-launcher:hover { border-color: #ffe5a6; background: #2d523a; }
.crafty-launcher[hidden], .crafty-quick-help[hidden] { display: none !important; }
.crafty-quick-help { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: 96px; z-index: 901; width: min(320px, calc(100vw - 32px)); max-height: calc(100dvh - 128px); overflow-y: auto; box-sizing: border-box; padding: 25px 21px 21px; border: 1px solid #ddbc78; border-radius: 18px; background: #fff9ec; box-shadow: 0 15px 45px #0005; color: #2c4234; font: 14px/1.6 system-ui, sans-serif; }
.crafty-quick-title { display: block; padding-right: 19px; color: #294a32; font-size: 17px; line-height: 1.4; }
.crafty-quick-help p { margin: 11px 0 16px; color: #526050; }
.crafty-quick-close { position: absolute; right: 8px; top: 6px; width: 40px; height: 40px; border: 0; border-radius: 9px; background: transparent; color: #4c624b; font-size: 26px; cursor: pointer; }
.crafty-quick-topics { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.crafty-quick-topics a { display: flex; align-items: center; min-height: 44px; padding: 9px 10px; border: 1px solid #ced7bf; border-radius: 9px; background: #f0f4e9; color: #344e32; font-size: 12px; font-weight: 700; text-decoration: none; }
.crafty-quick-chat { display: flex; justify-content: center; align-items: center; margin-top: 16px; min-height: 44px; padding: 10px; border: 1px solid #c4a362; border-radius: 10px; background: #f4d591; color: #3b4628; font-weight: 800; text-decoration: none; }
.crafty-launcher:focus-visible, .crafty-quick-help :focus-visible { outline: 3px solid #78c7cf; outline-offset: 4px; }
body:has(.crafty-launcher) > footer { padding-bottom: max(95px, env(safe-area-inset-bottom)); }
@media (max-width: 480px) { .crafty-launcher { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); min-height: 54px; padding: 4px 12px 4px 5px; gap: 6px; border-radius: 16px; } .crafty-launcher img { width: 42px; height: 42px; } .crafty-quick-help { right: 14px; bottom: 82px; } }
@media (max-width: 480px) { .crafty-launcher { flex-direction: column; width: 62px; padding: 5px; gap: 0; } .crafty-launcher strong { font-size: 10px; line-height: 1.2; } .crafty-launcher small { display: none; } }

/* One conversation at the bottom right; replies never reopen it by themselves. */
.crafty-launcher{font-family:system-ui,sans-serif}.crafty-unread{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:23px;height:23px;border:2px solid #fff7e2;border-radius:50%;background:#d0a84e;color:#263d2d;font:800 12px/1 system-ui,sans-serif}
.crafty-unread[hidden],.crafty-floating-chat[hidden],.crafty-reply-notice[hidden],.crafty-floating-chat [hidden]{display:none!important}
.crafty-floating-chat.crafty-chat{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:96px;z-index:901;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100svh - 128px));height:min(650px,calc(100dvh - 128px));max-height:none;min-height:0;margin:0;padding:0;box-sizing:border-box;border:1px solid #dabb7b;border-radius:18px;overflow:hidden;background:#fff9ec;color:#2c4234;box-shadow:0 15px 45px #0005;font:14px/1.6 system-ui,sans-serif;text-align:left}
.crafty-floating-chat *{box-sizing:border-box}.crafty-floating-chat button,.crafty-floating-chat textarea{font:inherit}.crafty-floating-chat button{cursor:pointer}.crafty-floating-chat button:disabled{cursor:default;opacity:.6}
.crafty-widget-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;background:linear-gradient(125deg,#254c36,#173629);color:#fff7e2}
.crafty-widget-header strong{display:block;font-size:16px;color:#ffe5a6}.crafty-widget-header small{display:block;font-size:11px;color:#dde6d2}.crafty-widget-controls{display:flex;gap:3px}
.crafty-widget-controls button{display:grid;place-items:center;min-width:40px;height:40px;padding:0;border:1px solid #e4cc9438;border-radius:9px;background:transparent;color:#fff0cb;font-size:23px;line-height:1}
.crafty-widget-controls button:hover{background:#ffffff12}.crafty-floating-chat :focus-visible,.crafty-reply-notice :focus-visible{outline:3px solid #c4a457;outline-offset:2px}
.crafty-floating-chat .crafty-chat-body{height:auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:19px 17px;background:#fff9ed}
.crafty-floating-chat .crafty-welcome{padding:0}.crafty-floating-chat .crafty-welcome-label{font-size:9px;letter-spacing:.09em;margin:0 0 8px;color:#8e7744;font-weight:750}
.crafty-floating-chat .crafty-welcome h3{margin:0 0 10px;font-size:20px;line-height:1.3;color:#2f4b35;letter-spacing:-.025em}
.crafty-floating-chat .crafty-welcome>p:not(.crafty-welcome-label){font-size:13px;line-height:1.7;color:#697360;margin:0 0 17px}
.crafty-floating-chat .crafty-starters{display:grid;grid-template-columns:1fr 1fr;gap:7px}.crafty-floating-chat .crafty-starters button{display:block;min-height:44px;padding:10px 8px;font-size:12px;text-align:left;border:1px solid #d7d6bc;border-radius:9px;background:#f0f4e6;color:#3d583a}
.crafty-floating-chat .crafty-messages{gap:20px}.crafty-floating-chat .crafty-message-text{font-size:13px;line-height:1.8}.crafty-floating-chat .crafty-message h3{font-size:10px}
.crafty-floating-chat .crafty-server-card{padding:12px}.crafty-floating-chat .crafty-server-titlebar h4{font-size:16px}
.crafty-floating-chat .crafty-composer{padding:12px 15px 13px;min-width:0;margin:0}.crafty-floating-chat .crafty-composer>label{font-size:11px;margin-bottom:7px}
.crafty-floating-chat .crafty-input-wrap{padding:10px 11px}.crafty-floating-chat .crafty-input-wrap textarea{min-height:44px;max-height:100px;font-size:14px;line-height:1.5;resize:vertical}
.crafty-floating-chat .crafty-composer-actions{margin-top:5px;gap:7px}.crafty-floating-chat .crafty-send{padding:8px 13px;min-height:40px}.crafty-floating-chat .crafty-stop{min-height:40px}
.crafty-floating-chat .crafty-composer-footer{display:block;margin-top:8px}.crafty-floating-chat .crafty-composer-footer p{margin:3px 0 0;font-size:10px;line-height:1.5;overflow-wrap:anywhere}
.crafty-reply-notice{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:96px;z-index:902;width:min(300px,calc(100vw - 32px));padding:18px;box-sizing:border-box;border:1px solid #d7b773;border-radius:15px;background:#fff8e8;color:#3b543a;box-shadow:0 8px 30px #0004;font:13px/1.6 system-ui,sans-serif;text-align:left}
.crafty-reply-notice strong{display:block;padding-right:25px;font-size:15px;color:#355037}.crafty-reply-notice p{margin:5px 0 12px;color:#707660}
.crafty-reply-open{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #c2a464;border-radius:8px;background:#f4d998;color:#3a4d2e;font:700 12px/1.5 system-ui,sans-serif;cursor:pointer}
.crafty-reply-close{position:absolute;right:8px;top:7px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#69765b;font-size:25px;cursor:pointer}
@media(max-width:480px){.crafty-floating-chat.crafty-chat{right:14px;bottom:82px;width:calc(100vw - 28px);height:min(650px,calc(100svh - 108px));height:min(650px,calc(100dvh - 108px));border-radius:15px}.crafty-floating-chat .crafty-input-wrap textarea{font-size:16px}.crafty-reply-notice{right:14px;bottom:82px}.crafty-launcher strong{font-size:9px;white-space:nowrap}}
@media(max-height:550px){.crafty-floating-chat.crafty-chat{bottom:max(14px,env(safe-area-inset-bottom));height:calc(100svh - 28px);height:calc(100dvh - 28px)}.crafty-launcher[aria-expanded=true]{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.crafty-floating-chat .crafty-thinking>span{animation:none}}
