/* 小助手（獨立樣式：官網是深色主題，表單元件全部強制白底黑字） */
.ifd-blqw{--blq:#17171a;--blq2:#2b2b31;--ink:#1c1c1e;--paper:#fff;--line:#e8e8ec;--mute:#6b6b73;--acc:#ffb703;position:fixed;right:14px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:1000010;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;color:var(--ink);color-scheme:light}
.ifd-blqw *,.ifd-blqw *::before,.ifd-blqw *::after{box-sizing:border-box}
.ifd-blqw.is-hidden-fab .ifd-blqw__fab{display:none}
.ifd-blqw__fab{position:relative;width:64px;height:64px;border:0 !important;border-radius:18px;background:transparent !important;padding:0 !important;margin:0;cursor:pointer;display:grid;place-items:center;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));transition:transform .15s;box-shadow:none !important}
.ifd-blqw__fab:hover{transform:translateY(-2px)}
.ifd-blqw__fab.is-happy .ifd-blqw__cube{animation:ifdBlqHop .5s ease}
.ifd-blqw__cube{position:relative;display:inline-block;width:56px;height:56px;border-radius:14px;transform-origin:50% 100%;animation:ifdBlqBreathe 3.6s ease-in-out infinite;background:linear-gradient(145deg,var(--blq2),var(--blq));box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.08),inset 2px 2px 0 rgba(255,255,255,.06)}
.ifd-blqw__cube .e{position:absolute;top:20px;width:9px;height:12px;border-radius:4px;background:#fff;transform-origin:center;animation:ifdBlqBlink 5.2s infinite;transition:transform .35s}
.ifd-blqw__cube .e1{left:15px}.ifd-blqw__cube .e2{right:15px;animation-delay:.08s}
.ifd-blqw__fab.is-look-l .ifd-blqw__cube .e{transform:translateX(-4px)}.ifd-blqw__fab.is-look-r .ifd-blqw__cube .e{transform:translateX(4px)}
.ifd-blqw__fab.is-look-l .ifd-blqw__cube{transform:rotate(-4deg)}.ifd-blqw__fab.is-look-r .ifd-blqw__cube{transform:rotate(4deg)}
.ifd-blqw__fab.is-hop .ifd-blqw__cube,.ifd-blqw__fab.is-hop .ifd-blqw__body{animation:ifdBlqHop2 .9s ease}
@keyframes ifdBlqBreathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.965) scaleX(1.02)}}
@keyframes ifdBlqHop2{0%{transform:translate(0,0)}25%{transform:translate(-14px,-14px) rotate(-5deg)}45%{transform:translate(-26px,0) scaleY(.92)}65%{transform:translate(-12px,-10px) rotate(4deg)}85%{transform:translate(0,0) scaleY(.94)}100%{transform:translate(0,0)}}
.ifd-blqw__cube.is-mini{width:26px;height:26px;border-radius:7px;flex:none}
.ifd-blqw__cube.is-mini.has-svg{width:32px;height:32px;background:none;box-shadow:none;border-radius:0;animation:none;overflow:visible}
.ifd-blqw__cube.is-mini.has-svg svg{width:100%;height:100%;display:block;overflow:hidden}
.ifd-blqw__cube.is-mini.has-svg .eye{transform-box:fill-box;transform-origin:50% 50%;animation:ifdBlqMiniEye 9s infinite;animation-delay:var(--ed,0s)}
@keyframes ifdBlqMiniEye{0%,6%{transform:translateX(0) scaleY(1)}7%{transform:translateX(0) scaleY(.08)}8%,38%{transform:translateX(0) scaleY(1)}42%,56%{transform:translateX(-5px) scaleY(1)}60%,74%{transform:translateX(5px) scaleY(1)}78%,100%{transform:translateX(0) scaleY(1)}}
.ifd-blqw__cube.is-mini .e{top:9px;width:4px;height:6px;border-radius:2px}.ifd-blqw__cube.is-mini .e1{left:7px}.ifd-blqw__cube.is-mini .e2{right:7px}
.ifd-blqw.is-thinking .ifd-blqw__cube .e{animation:ifdBlqLook 1.2s infinite}
@keyframes ifdBlqBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ifdBlqLook{0%,100%{transform:translateX(0)}30%{transform:translateX(-2px)}70%{transform:translateX(2px)}}
@keyframes ifdBlqHop{0%{transform:translateY(0)}40%{transform:translateY(-10px) rotate(-6deg)}100%{transform:translateY(0)}}
.ifd-blqw__hi{position:absolute;right:68px;bottom:14px;white-space:nowrap;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:8px 12px;box-shadow:0 6px 18px rgba(0,0,0,.14);font-size:13px;transition:opacity .4s}
.ifd-blqw__hi.is-gone{opacity:0;pointer-events:none}
/* 對話框：預設關、.is-open 才開（不用 hidden 屬性，免得被主題的 display 蓋掉） */
.ifd-blqw__bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:0}
.ifd-blqw__panel{display:none;position:absolute;right:0;bottom:70px;width:360px;max-width:calc(100vw - 24px);height:min(560px,calc(100vh - 110px));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.22);flex-direction:column;overflow:hidden;z-index:1;text-align:left}
.ifd-blqw.is-open .ifd-blqw__panel{display:flex}
.ifd-blqw__head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#fafafb;color:var(--ink)}
.ifd-blqw__head b{font-size:15px;letter-spacing:.04em;color:var(--ink)}
.ifd-blqw__badge{font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--acc);color:#1a1a1a;border-radius:6px;padding:2px 6px}
.ifd-blqw__close{margin-left:auto;border:0 !important;background:transparent !important;font-size:24px;line-height:1;cursor:pointer;color:var(--mute) !important;padding:4px 8px !important;box-shadow:none !important;min-height:0 !important}
.ifd-blqw__msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.ifd-blqw__m{display:flex;gap:8px;align-items:flex-end;max-width:92%}
.ifd-blqw__m.is-user{align-self:flex-end;flex-direction:row-reverse}
.ifd-blqw__t{background:#f2f2f5;color:var(--ink);border-radius:14px 14px 14px 4px;padding:9px 12px;white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}
.ifd-blqw__m.is-user .ifd-blqw__t{background:var(--blq);color:#fff;border-radius:14px 14px 4px 14px}
.ifd-blqw__btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ifd-blqw__btn{display:inline-block;background:var(--blq) !important;color:#fff !important;text-decoration:none !important;border-radius:999px !important;padding:6px 12px !important;font-size:13px !important;border:0 !important;cursor:pointer;line-height:1.3 !important;box-shadow:none !important;min-height:0 !important;font-weight:500}
.ifd-blqw__btn.is-ghost{background:#fff !important;color:var(--ink) !important;border:1px solid var(--line) !important}
.ifd-blqw__notify{display:flex;gap:6px;margin-top:8px}
.ifd-blqw__notify input{flex:1;min-width:0;border:1px solid var(--line) !important;border-radius:999px !important;padding:6px 10px !important;font-size:13px !important;background:#fff !important;color:var(--ink) !important;box-shadow:none !important;height:auto !important}
.ifd-blqw__notify button{border:0 !important;background:var(--acc) !important;color:#1a1a1a !important;border-radius:999px !important;padding:6px 10px !important;font-size:13px !important;cursor:pointer;box-shadow:none !important;min-height:0 !important}
.ifd-blqw__ok{margin-top:8px;font-size:13px;color:var(--mute)}
.ifd-blqw__typing .ifd-blqw__t{display:flex;gap:4px;padding:12px 14px}
.ifd-blqw__typing i{width:6px;height:6px;border-radius:50%;background:#9a9aa3;animation:ifdBlqDot 1s infinite}.ifd-blqw__typing i:nth-child(2){animation-delay:.15s}.ifd-blqw__typing i:nth-child(3){animation-delay:.3s}
@keyframes ifdBlqDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ifd-blqw__chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 8px;background:var(--paper)}
.ifd-blqw__quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ifd-blqw__chip.is-quick{background:#fff !important;border:1.5px solid var(--blq) !important;font-size:13px !important;padding:6px 12px !important}
.ifd-blqw__chip{border:1px solid var(--line) !important;background:#fff !important;border-radius:999px !important;padding:5px 10px !important;font-size:12px !important;cursor:pointer;color:var(--ink) !important;box-shadow:none !important;min-height:0 !important;line-height:1.3 !important}
.ifd-blqw__ts{padding:6px 14px 10px;border-top:1px dashed var(--line);background:var(--paper)}.ifd-blqw__tsjoke{font-size:13px;margin-bottom:6px;color:var(--ink)}
.ifd-blqw__form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:#fafafb;margin:0}
.ifd-blqw__form input{flex:1;min-width:0;border:1px solid #d9d9df !important;border-radius:999px !important;padding:9px 14px !important;font-size:16px !important;background:#fff !important;color:var(--ink) !important;caret-color:var(--ink);box-shadow:none !important;height:auto !important;min-height:0 !important;outline:none;-webkit-appearance:none;appearance:none;margin:0}
.ifd-blqw__form input:focus,.ifd-blqw__form input:focus-visible{border-color:#8a8a94 !important;background:#fff !important;color:var(--ink) !important;outline:none !important;box-shadow:none !important}
.ifd-blqw button:focus,.ifd-blqw button:focus-visible,.ifd-blqw a:focus-visible{outline:none !important;box-shadow:none !important}
.ifd-blqw__form input::placeholder{color:#8a8a94 !important;opacity:1}
.ifd-blqw__form button{border:0 !important;background:var(--blq) !important;color:#fff !important;border-radius:999px !important;width:40px;min-width:40px;height:40px;padding:0 !important;cursor:pointer;font-size:15px;box-shadow:none !important;min-height:0 !important;display:grid;place-items:center;-webkit-appearance:none;appearance:none}
.ifd-blqw__privacy{font-size:10.5px;color:var(--mute);text-align:center;padding:0 12px 8px;background:#fafafb}
/* 結帳頁安靜模式 */
.ifd-blqw.is-quiet .ifd-blqw__fab{width:48px;height:48px;opacity:.85}.ifd-blqw.is-quiet .ifd-blqw__cube{width:40px;height:40px;border-radius:10px;animation:none}.ifd-blqw.is-quiet .ifd-blqw__body{width:44px;height:44px;animation:none}
.ifd-blqw.is-quiet .ifd-blqw__cube .e{top:14px;width:6px;height:8px}.ifd-blqw.is-quiet .ifd-blqw__cube .e1{left:11px}.ifd-blqw.is-quiet .ifd-blqw__cube .e2{right:11px}
.ifd-blqw.is-quiet .ifd-blqw__panel{bottom:54px}
/* 帳本頁交給 shelf.js 那隻：藏自己的方塊 */
.ifd-blqw.has-host .ifd-blqw__fab{display:none}.ifd-blqw.has-host .ifd-blqw__panel{bottom:84px}
.ifd-blqw__body{display:block;width:60px;height:60px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));transform-origin:50% 100%;animation:ifdBlqBreathe 3.6s ease-in-out infinite}.ifd-blqw__fab.is-look-l .ifd-blqw__body{transform:rotate(-4deg)}.ifd-blqw__fab.is-look-r .ifd-blqw__body{transform:rotate(4deg)}.ifd-blqw__body svg{width:100%;height:100%;overflow:hidden !important;display:block}
@media (max-width:640px){
  .ifd-blqw{right:14px;bottom:14px}
  .ifd-blqw.is-open .ifd-blqw__bg{display:block}
  .ifd-blqw__panel{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:none;height:78vh;max-height:78vh;border-radius:18px 18px 0 0}
  .ifd-blqw.is-open .ifd-blqw__fab{display:none}
  /* 對話框開著時，共用角色浮到對話框標題列右邊（X 旁），還是會眨眼跳步、戳它會開心 */
  body.ifd-blqw-open .ifd-blq{z-index:1000011 !important;transition:top .35s ease,right .35s ease}
}
