/* Tooth buddy "Dantu" */
.tpal{position:fixed;left:22px;bottom:20px;z-index:79;pointer-events:none;transition:opacity .3s,visibility .3s}
.tpal__btn{pointer-events:auto;position:relative;display:block;width:76px;height:90px;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tpal__btn:focus-visible{outline:3px solid rgba(179,32,47,.45);outline-offset:4px;border-radius:22px}
.tpal__svg{display:block;width:100%;height:100%;overflow:visible;transform-origin:50% 92%;animation:tpBob 3.6s ease-in-out infinite;filter:drop-shadow(0 8px 10px rgba(31,21,23,.16))}
@keyframes tpBob{50%{transform:translateY(-7px)}}
.tpal__shadow{position:absolute;left:50%;bottom:-5px;width:46px;height:9px;margin-left:-23px;border-radius:50%;background:rgba(31,21,23,.18);filter:blur(1.5px);animation:tpShadow 3.6s ease-in-out infinite}
@keyframes tpShadow{50%{transform:scale(.78);opacity:.55}}
.tpal.is-wiggle .tpal__svg{animation:tpWiggle .75s ease-in-out}
@keyframes tpWiggle{20%{transform:rotate(-11deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
.tpal.is-jump .tpal__svg{animation:tpJump .65s cubic-bezier(.3,1.5,.5,1)}
@keyframes tpJump{0%{transform:scale(1.1,.86)}35%{transform:translateY(-22px) scale(.93,1.08)}70%{transform:translateY(0) scale(1.07,.93)}100%{transform:none}}
.tpal__eyes{transform-box:fill-box;transform-origin:center;transition:transform .09s}
.tpal.is-blink .tpal__eyes{transform:scaleY(.1)}
.tpal__look{transition:transform .18s ease-out}
.tpal__closed,.tpal__open{opacity:0;transition:opacity .2s}
.tpal__smile{transition:opacity .2s}
.tpal.is-open .tpal__open,.tpal__btn:hover .tpal__open{opacity:1}
.tpal.is-open .tpal__smile,.tpal__btn:hover .tpal__smile{opacity:0}
.tpal.is-sleep .tpal__eyes{opacity:0}
.tpal.is-sleep .tpal__closed{opacity:1}
.tpal__spark{transform-box:fill-box;transform-origin:center;animation:tpSpark 3s ease-in-out infinite}
.tpal__spark--2{animation-delay:-1.4s}
@keyframes tpSpark{0%,100%{transform:scale(.3) rotate(0);opacity:0}40%{transform:scale(1) rotate(45deg);opacity:1}70%{opacity:0}}
.tpal.is-sleep .tpal__spark{animation:none;opacity:0}
.tpal__z{position:absolute;left:58px;top:2px;font:700 15px/1 var(--font-display);color:var(--accent);opacity:0;pointer-events:none}
.tpal__z--2{left:66px;top:-8px;font-size:11px}
.tpal.is-sleep .tpal__z{animation:tpZ 2.6s ease-in infinite}
.tpal.is-sleep .tpal__z--2{animation-delay:1.3s}
@keyframes tpZ{0%{opacity:0;transform:translate(0,0) scale(.6)}30%{opacity:1}100%{opacity:0;transform:translate(14px,-24px) scale(1.25)}}
.tpal__bubble{pointer-events:none;position:absolute;left:46px;bottom:104px;width:312px;max-width:calc(100vw - 40px);background:#fff;color:var(--ink);border-radius:22px;padding:18px 20px 16px;box-shadow:0 26px 54px -22px rgba(31,21,23,.5),0 0 0 1px rgba(31,21,23,.06);opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transform-origin:16px 100%;transition:opacity .22s,transform .4s cubic-bezier(.3,1.45,.5,1),visibility 0s .4s}
.tpal__bubble::after{content:"";position:absolute;left:20px;bottom:-8px;width:20px;height:20px;background:#fff;transform:rotate(45deg);border-radius:0 0 6px 0;box-shadow:5px 5px 8px -5px rgba(31,21,23,.18)}
.tpal.is-open .tpal__bubble{pointer-events:auto;opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .4s cubic-bezier(.3,1.45,.5,1),visibility 0s}
.tpal__label{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);padding-right:30px}
.tpal__label [lang=bn]{font-family:"Hind Siliguri",var(--font-body);text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:600;color:var(--muted)}
.tpal__tip{font-family:var(--font-display);font-size:1.14rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:8px 0 0;color:var(--ink)}
.tpal__bn{font-family:"Hind Siliguri",var(--font-body);font-size:.96rem;line-height:1.5;color:#4C3F42;margin:6px 0 0}
.tpal__text.is-swap{animation:tpSwap .4s cubic-bezier(.2,.7,.2,1)}
@keyframes tpSwap{from{opacity:0;transform:translateY(8px)}}
.tpal__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px dashed #E8DCDD}
.tpal__hint{font-size:.76rem;line-height:1.4;color:var(--muted)}
.tpal__hint [lang=bn]{font-family:"Hind Siliguri",var(--font-body);display:block}
.tpal__next{flex:none;display:inline-flex;align-items:center;gap:6px;border:0;background:var(--tint);color:var(--accent-deep);font:inherit;font-weight:700;font-size:.8rem;padding:8px 13px;border-radius:999px;cursor:pointer;transition:background .2s,transform .2s}
.tpal__next:hover{background:#F2D9DC;transform:translateX(2px)}
.tpal__next svg{width:14px;height:14px}
.tpal__x{position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;border:0;background:#F4EFEF;color:var(--ink);font-size:18px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s,transform .2s}
.tpal__x:hover{background:#EADFE0;transform:rotate(90deg)}
.tpal.is-hi .tpal__foot{display:none}
.nav-open .tpal{opacity:0;visibility:hidden}
@media (min-width:861px){.footer__bottom{padding-left:96px}}
@media (max-width:860px){.tpal{left:10px;bottom:calc(74px + env(safe-area-inset-bottom))}.tpal__btn{width:56px;height:66px}.tpal__shadow{width:34px;margin-left:-17px;height:7px}.tpal__z{left:44px}.tpal__z--2{left:50px}.tpal__bubble{left:2px;bottom:80px;width:calc(100vw - 24px);max-width:360px;padding:16px 18px 14px}.tpal__tip{font-size:1.05rem}.footer__bottom{padding-bottom:80px}}
@media (prefers-reduced-motion:reduce){.tpal__svg,.tpal__shadow,.tpal__spark{animation:none!important}.tpal.is-wiggle .tpal__svg,.tpal.is-jump .tpal__svg{animation:none}}
@media print{.tpal{display:none}}