.fartbot{position:fixed;right:20px;bottom:20px;z-index:20;width:min(390px,calc(100vw - 28px));color:var(--paper);background:#1d1d1f;border:1px solid #ffffff36;box-shadow:0 15px 60px #0008;font:12px/1.45 var(--sans)}.fartbot.is-collapsed{width:260px}.fartbot-header{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border-bottom:1px solid var(--line)}.fartbot.is-collapsed .fartbot-header{grid-template-columns:38px minmax(0,1fr) auto;padding:10px;gap:9px;border-bottom:0}.fartbot-avatar{width:48px;height:48px;overflow:hidden;background:#f1eee7;border:1px solid #ffffff25}.fartbot-avatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.12)}.fartbot.is-collapsed .fartbot-avatar{width:38px;height:38px}.fartbot-title{min-width:0;display:grid;gap:4px}.fartbot-title strong{font:600 25px/1 var(--display)}.fartbot-title small{font-size:9px;color:var(--muted)}.fartbot.is-collapsed .fartbot-title strong{font-size:21px}.fartbot.is-collapsed .fartbot-title small{font-size:8px}.fartbot-controls{display:flex;gap:5px}.fartbot-control{border:1px solid var(--line);background:#ffffff09;color:var(--paper);padding:0 9px;min-height:44px;font-size:10px}.fartbot-control:hover{border-color:var(--orange)}.fartbot.is-collapsed #fartBotMute{display:none}.fartbot.is-collapsed #fartBotToggle{background:var(--orange);color:var(--ink);border-color:var(--orange);padding:0 10px;font-size:10px}.fartbot-body{display:grid;gap:12px;padding:13px}.fartbot.is-collapsed .fartbot-body{display:none}.fartbot-pressure{height:6px;overflow:hidden;background:#ffffff10}.fartbot-pressure span{display:block;width:26%;height:100%;background:linear-gradient(90deg,#c09760,var(--orange));transition:width .3s}.fartbot-log{height:min(330px,42dvh);overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:1px 1px 12px}.fartbot-message{border:1px solid var(--line);padding:13px;background:#ffffff05}.fartbot-message.is-user{background:#fa6d4013;border-color:#fa6d4038;margin-left:24px}.fartbot-message-label{display:block;color:var(--orange);font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px}.fartbot-message p{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.fartbot-form{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:8px}.fartbot-form input{min-width:0;background:#151516;color:var(--paper);border:1px solid var(--line);padding:12px 10px;font-size:11px;min-height:44px}.fartbot-form button{background:var(--orange);color:var(--ink);font-size:11px;font-weight:600;min-height:44px}.fartbot-puffs{display:none}
@media(max-width:699px){.fartbot{right:14px;bottom:14px;width:calc(100vw - 28px)}.fartbot.is-collapsed{width:245px}.fartbot-header{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:11px}.fartbot-avatar{width:42px;height:42px}.fartbot-title strong{font-size:23px}.fartbot-control{padding:0 8px;font-size:9px}.fartbot-body{padding:11px}.fartbot-log{height:min(280px,38dvh)}.fartbot-title small{font-size:8px}.fartbot.is-collapsed .fartbot-title small{font-size:8px}}
@media(max-width:699px){.fartbot.is-collapsed{width:190px}.fartbot.is-collapsed .fartbot-header{grid-template-columns:32px minmax(0,1fr) 44px;gap:6px;padding:8px}.fartbot.is-collapsed .fartbot-avatar{width:32px;height:32px}.fartbot.is-collapsed .fartbot-title strong{font-size:18px;white-space:nowrap}.fartbot.is-collapsed .fartbot-title small{display:none}.fartbot.is-collapsed #fartBotToggle{padding:0;font-size:9px}}
/* Bounded chat, including landscape phones and the on-screen keyboard. */
.fartbot:not(.is-collapsed){display:flex;flex-direction:column;height:min(520px,calc(var(--support-height,100dvh) - 40px));max-height:calc(var(--support-height,100dvh) - 40px);bottom:calc(var(--support-bottom,0px) + 20px)}
.fartbot:not(.is-collapsed) .fartbot-header{flex:none}
.fartbot:not(.is-collapsed) .fartbot-body{flex:1;min-height:0;grid-template-rows:6px minmax(0,1fr) auto}
.fartbot:not(.is-collapsed) .fartbot-log{height:auto;min-height:0}
.fartbot-message{flex-shrink:0}
.fartbot-form input{font-size:16px}
@media(max-width:699px),(max-height:499px){
 .fartbot:not(.is-collapsed){--chat-edge:max(8px,env(safe-area-inset-bottom));right:max(8px,env(safe-area-inset-right));width:calc(100% - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right)));max-width:390px;height:min(560px,calc(var(--support-height,100dvh) - max(8px,env(safe-area-inset-top)) - var(--chat-edge)));max-height:calc(var(--support-height,100dvh) - max(8px,env(safe-area-inset-top)) - var(--chat-edge));bottom:calc(var(--support-bottom,0px) + var(--chat-edge))}
 .fartbot:not(.is-collapsed) .fartbot-header{grid-template-columns:36px minmax(0,1fr) auto;gap:7px;padding:10px}
 .fartbot:not(.is-collapsed) .fartbot-avatar{width:36px;height:36px}
 .fartbot:not(.is-collapsed) .fartbot-title strong{font-size:22px}
 .fartbot:not(.is-collapsed) .fartbot-title small{font-size:8px}
 .fartbot-control{padding:0 8px;min-height:44px}
 .fartbot-body{gap:10px;padding:10px}
 .fartbot-form{grid-template-columns:minmax(0,1fr) 64px;gap:8px}
 .fartbot-form input,.fartbot-form button{min-height:48px}
 .fartbot-form input{padding:10px;font-size:16px}
 .fartbot-form button{font-size:13px}
}
@media(max-width:359px){.fartbot:not(.is-collapsed) .fartbot-title strong{font-size:19px}.fartbot:not(.is-collapsed) .fartbot-title small{font-size:7px}.fartbot-control{padding:0 6px}}

/* The whole collapsed support card opens the chat. */
.fartbot.is-collapsed{cursor:pointer}
