/* eFix Fixie Buddy 2.1.0 — dark, glassy, matches the new homepage */
#efix-fixie{position:fixed;left:24px;bottom:0;z-index:2147483000;width:64px;height:78px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;transition:bottom .3s ease;filter:drop-shadow(0 6px 10px rgba(0,0,0,.4))}
#efix-fixie.dragging{cursor:grabbing}
#efix-fixie.fixie-up{bottom:84px}
#efix-fixie svg{display:block;width:64px;height:70px;overflow:visible;transform-origin:50% 100%}
#efix-fixie .body{transform-origin:50% 100%;animation:fixie-breathe 3.2s ease-in-out infinite}
@keyframes fixie-breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1.5px) scaleY(1.015)}}
#efix-fixie .screen-shine{animation:fixie-shine 5s ease-in-out infinite}
@keyframes fixie-shine{0%,70%,100%{opacity:.14}82%{opacity:.4}}
#efix-fixie .eyes{animation:fixie-blink 4.6s infinite}
@keyframes fixie-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}
#efix-fixie .eyes{transform-origin:50% 29px}
#efix-fixie.walking .body{animation:fixie-bob .5s ease-in-out infinite}
@keyframes fixie-bob{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(3deg)}}
#efix-fixie.flip svg{transform:scaleX(-1)}
#efix-fixie.hop svg{animation:fixie-hop .45s cubic-bezier(.3,1.4,.5,1)}
@keyframes fixie-hop{0%{transform:translateY(0)}40%{transform:translateY(-22px) scaleY(1.05)}100%{transform:translateY(0)}}
#efix-fixie.flip.hop svg{animation:fixie-hopf .45s cubic-bezier(.3,1.4,.5,1)}
@keyframes fixie-hopf{0%{transform:scaleX(-1) translateY(0)}40%{transform:scaleX(-1) translateY(-22px)}100%{transform:scaleX(-1) translateY(0)}}
#efix-fixie.think .pupil{animation:fixie-think 1.2s ease-in-out infinite alternate}
@keyframes fixie-think{to{transform:translate(1px,-2px)}}
#efix-fixie .fixie-close{position:absolute;top:-10px;right:-10px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(20,20,24,.9);color:#fff;font:600 13px/20px "Inter",sans-serif;cursor:pointer;opacity:0;transition:opacity .2s;padding:0;z-index:3}
#efix-fixie:hover .fixie-close,#efix-fixie.open .fixie-close{opacity:1}
#efix-fixie .fixie-bubble{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translate(-50%,8px);min-width:150px;max-width:260px;padding:9px 13px;border-radius:14px;background:rgba(22,22,26,.92);color:#f5f5f7;font-size:13px;line-height:1.4;border:1px solid rgba(255,255,255,.12);box-shadow:0 14px 40px rgba(0,0,0,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;text-align:center}
#efix-fixie .fixie-bubble::after{content:"";position:absolute;left:50%;top:100%;width:10px;height:10px;transform:translate(-50%,-5px) rotate(45deg);background:rgba(22,22,26,.92);border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
#efix-fixie .fixie-bubble.show{opacity:1;transform:translate(-50%,0)}
#efix-fixie.flip .fixie-bubble{transform:translate(-50%,8px)}
#efix-fixie.flip .fixie-bubble.show{transform:translate(-50%,0)}
#efix-fixie.open .fixie-bubble{display:none}

/* ---------- chat panel ---------- */
#efix-fixie-chat{position:fixed;left:16px;bottom:104px;z-index:2147483001;width:min(340px,calc(100vw - 32px));max-height:min(520px,calc(100svh - 130px));display:flex;flex-direction:column;border-radius:22px;background:rgba(18,18,22,.94);color:#f5f5f7;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);font-family:"Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.45;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transition:opacity .25s ease,transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s linear .25s;overflow:hidden}
#efix-fixie-chat.show{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s cubic-bezier(.2,.8,.2,1)}
#efix-fixie-chat.fixie-up{bottom:188px}
#efix-fixie-chat *{box-sizing:border-box}
#efix-fixie-chat .fc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
#efix-fixie-chat .fc-head b{font-size:14px;font-weight:600;display:block}
#efix-fixie-chat .fc-head small{display:block;font-size:11.5px;color:#9a9aa1}
#efix-fixie-chat .fc-head .dot{width:7px;height:7px;border-radius:50%;background:#34c759;display:inline-block;margin-right:5px;box-shadow:0 0 0 3px rgba(52,199,89,.2)}
#efix-fixie-chat .fc-x{margin-left:auto;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font:400 16px/28px "Inter",sans-serif;padding:0}
#efix-fixie-chat .fc-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}
#efix-fixie-chat .fc-m{max-width:88%;padding:9px 12px;border-radius:16px;white-space:pre-line;word-wrap:break-word}
#efix-fixie-chat .fc-m.bot{align-self:flex-start;background:rgba(255,255,255,.07);border-bottom-left-radius:6px}
#efix-fixie-chat .fc-m.me{align-self:flex-end;background:#ff3b30;color:#fff;border-bottom-right-radius:6px}
#efix-fixie-chat .fc-m a{color:#ff8a82;font-weight:600;text-decoration:none}
#efix-fixie-chat .fc-m a:hover{text-decoration:underline}
#efix-fixie-chat .fc-typing span{display:inline-block;width:6px;height:6px;margin:0 1.5px;border-radius:50%;background:#9a9aa1;animation:fc-dot 1s infinite}
#efix-fixie-chat .fc-typing span:nth-child(2){animation-delay:.15s}#efix-fixie-chat .fc-typing span:nth-child(3){animation-delay:.3s}
@keyframes fc-dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
#efix-fixie-chat .fc-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}
#efix-fixie-chat .fc-chips button{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#e5e5ea;border-radius:999px;padding:6px 11px;font:500 12.5px "Inter",sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
#efix-fixie-chat .fc-chips button:hover{background:rgba(255,59,48,.18);border-color:rgba(255,59,48,.5)}
#efix-fixie-chat form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.08)}
#efix-fixie-chat input{flex:1;min-width:0;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;padding:10px 14px;font:14px "Inter",sans-serif;outline:none;margin:0;height:auto;box-shadow:none}
#efix-fixie-chat input::placeholder{color:#6e6e76}
#efix-fixie-chat input:focus{border-color:#ff3b30;box-shadow:0 0 0 3px rgba(255,59,48,.18)}
#efix-fixie-chat .fc-send{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:#ff3b30;color:#fff;cursor:pointer;font-size:16px;display:grid;place-items:center;padding:0}
#efix-fixie-chat .fc-send:hover{background:#d92d26}
@media(max-width:700px){#efix-fixie.fixie-up{bottom:80px}#efix-fixie-chat.fixie-up{bottom:184px}}
@media(prefers-reduced-motion:reduce){#efix-fixie *,#efix-fixie-chat{animation:none!important;transition:none!important}}
#efix-fixie.wave svg{animation:fixie-nod .9s ease-in-out}
@keyframes fixie-nod{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}}
#efix-fixie.flip.wave svg{animation:fixie-nodf .9s ease-in-out}
@keyframes fixie-nodf{0%,100%{transform:scaleX(-1) rotate(0)}30%{transform:scaleX(-1) rotate(8deg)}60%{transform:scaleX(-1) rotate(-6deg)}}
