/* TikTac contextual mascot rollout - 2026-10-31 */
#tt-live-mascot,.tt-live-mascot,.tt-panel-mascot{display:none!important}
.tt-page-mascot-host{display:flex!important;align-items:center;gap:18px;min-width:0}
.tt-page-mascot-card{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto;min-width:330px;max-width:480px;padding:10px 18px 10px 10px;border:1px solid #d7e7f3;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f0fbff 100%);box-shadow:0 16px 38px rgba(12,52,113,.13);overflow:hidden;isolation:isolate;flex:0 0 auto}
.tt-page-mascot-figure{width:150px;height:150px;flex:0 0 150px;background-image:url('/assets/mascots/tiktac-mascots-sprite.webp?v=20261031-rollout2');background-repeat:no-repeat;background-size:500% 300%;background-color:transparent;animation:ttPageMascotIdle 4.2s ease-in-out infinite;filter:drop-shadow(0 10px 13px rgba(12,52,113,.16))}
.tt-page-mascot-card:hover .tt-page-mascot-figure{animation:ttPageMascotHello .65s ease}
.tt-page-mascot-copy{font:700 13px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#153457;max-width:220px}
.tt-page-mascot-copy b{display:block;font-size:15px;color:#087d78;margin-bottom:4px}
.tt-page-mascot-copy span{display:block}
.tt-login-mascot{display:flex;align-items:center;gap:16px;margin:22px auto 0;padding:12px 18px;width:min(420px,92%);border:1px solid rgba(255,255,255,.38);border-radius:28px;background:rgba(255,255,255,.92);box-shadow:0 18px 42px rgba(7,27,66,.18);color:#17385f}
.tt-login-mascot .tt-page-mascot-figure{width:190px;height:190px;flex-basis:190px}
.tt-login-mascot .tt-page-mascot-copy b{font-size:17px}
.tt-theme-hero{background-position:0 0}
.tt-theme-welcome{background-position:25% 0}
.tt-theme-present{background-position:50% 0}
.tt-theme-agenda{background-position:75% 0}
.tt-theme-calendar{background-position:100% 0}
.tt-theme-messages{background-position:0 50%}
.tt-theme-clients{background-position:25% 50%}
.tt-theme-services{background-position:50% 50%}
.tt-theme-finance{background-position:75% 50%}
.tt-theme-security{background-position:100% 50%}
.tt-theme-alert{background-position:0 100%}
.tt-theme-success{background-position:25% 100%}
.tt-theme-hotel{background-position:50% 100%}
.tt-theme-confidence{background-position:75% 100%}
.tt-theme-neutral{background-position:100% 100%}
@keyframes ttPageMascotIdle{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(1deg)}}
@keyframes ttPageMascotHello{0%{transform:scale(1)}40%{transform:scale(1.08) rotate(-3deg)}70%{transform:scale(.98) rotate(2deg)}100%{transform:scale(1)}}
@media(max-width:1100px){.tt-page-mascot-card{min-width:230px;max-width:330px;padding:8px 12px}.tt-page-mascot-figure{width:120px;height:120px;flex-basis:120px}.tt-page-mascot-copy{font-size:12px}}
@media(max-width:760px){.tt-page-mascot-host{flex-wrap:wrap}.tt-page-mascot-card{width:100%;max-width:none;min-width:0;margin:10px 0 0;justify-content:center}.tt-page-mascot-figure{width:116px;height:116px;flex-basis:116px}.tt-login-mascot .tt-page-mascot-figure{width:145px;height:145px;flex-basis:145px}}
@media(max-width:480px){.tt-page-mascot-card{padding:7px 10px}.tt-page-mascot-copy{display:none}.tt-page-mascot-figure{width:128px;height:128px;flex-basis:128px}.tt-login-mascot{justify-content:center}.tt-login-mascot .tt-page-mascot-copy{display:block}}
@media(prefers-reduced-motion:reduce){.tt-page-mascot-figure{animation:none!important}}
/* TikTac institutional mascot aliases v4 - sprite only */
.tt-section-mascot{background-image:url('/assets/mascots/tiktac-mascots-sprite.webp?v=20261031-rollout2')!important;background-repeat:no-repeat!important;background-size:500% 300%!important}
.tt-section-mascot.hero{background-position:0 0!important}
.tt-section-mascot.welcome{background-position:25% 0!important}
.tt-section-mascot.present{background-position:50% 0!important}
.tt-section-mascot.agenda{background-position:75% 0!important}
.tt-section-mascot.calendar{background-position:100% 0!important}
.tt-section-mascot.messages{background-position:0 50%!important}
.tt-section-mascot.clients{background-position:25% 50%!important}
.tt-section-mascot.services{background-position:50% 50%!important}
.tt-section-mascot.finance{background-position:75% 50%!important}
.tt-section-mascot.security{background-position:100% 50%!important}
.tt-section-mascot.alert{background-position:0 100%!important}
.tt-section-mascot.success{background-position:25% 100%!important}
.tt-section-mascot.hotel{background-position:50% 100%!important}
.tt-section-mascot.confidence{background-position:75% 100%!important}
.tt-section-mascot.neutral{background-position:100% 100%!important}

/* TikTac login mascot visibility v3 */
.loginHero,.hero{position:relative}
.tt-login-mascot-float{position:absolute;right:34px;top:118px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}
.tt-login-mascot-float .tt-page-mascot-figure{width:150px;height:150px;flex:0 0 150px}
.tt-login-mascot-float span{font:800 12px/1.2 Inter,system-ui,sans-serif;color:#dffaf5;background:rgba(4,30,70,.55);border:1px solid rgba(255,255,255,.22);padding:7px 10px;border-radius:999px;backdrop-filter:blur(6px)}
@media(max-width:1180px){.tt-login-mascot-float{right:18px;top:96px}.tt-login-mascot-float .tt-page-mascot-figure{width:120px;height:120px;flex-basis:120px}}
@media(max-width:760px){.tt-login-mascot-float{display:none}}

/* HQ mascot override - 20261031 hq1 */
.tt-page-mascot-figure,.tt-section-mascot{
 background-repeat:no-repeat!important;
 background-position:center!important;
 background-size:contain!important;
 background-color:transparent!important;
}
.tt-page-mascot-figure{width:220px!important;height:220px!important;flex:0 0 220px!important}
.tt-theme-hero{background-image:url('/assets/mascots/hq/hero.png?v=20261031-hq1')!important}
.tt-theme-welcome{background-image:url('/assets/mascots/hq/welcome.png?v=20261031-hq1')!important}
.tt-theme-present{background-image:url('/assets/mascots/hq/present.png?v=20261031-hq1')!important}
.tt-theme-agenda{background-image:url('/assets/mascots/hq/calendar-check.png?v=20261031-hq1')!important}
.tt-theme-calendar{background-image:url('/assets/mascots/hq/calendar.png?v=20261031-hq1')!important}
.tt-theme-messages{background-image:url('/assets/mascots/hq/messages.png?v=20261031-hq1')!important}
.tt-theme-clients{background-image:url('/assets/mascots/hq/clients.png?v=20261031-hq1')!important}
.tt-theme-services{background-image:url('/assets/mascots/hq/services.png?v=20261031-hq1')!important}
.tt-theme-finance{background-image:url('/assets/mascots/hq/finance.png?v=20261031-hq1')!important}
.tt-theme-security{background-image:url('/assets/mascots/hq/security.png?v=20261031-hq1')!important}
.tt-theme-alert{background-image:url('/assets/mascots/hq/alert.png?v=20261031-hq1')!important}
.tt-theme-success{background-image:url('/assets/mascots/hq/success.png?v=20261031-hq1')!important}
.tt-theme-hotel{background-image:url('/assets/mascots/hq/hotel.png?v=20261031-hq1')!important}
.tt-theme-confidence{background-image:url('/assets/mascots/hq/confidence.png?v=20261031-hq1')!important}
.tt-theme-neutral{background-image:url('/assets/mascots/hq/neutral.png?v=20261031-hq1')!important}
.tt-login-mascot-float .tt-page-mascot-figure{width:240px!important;height:240px!important;flex-basis:240px!important}
@media(max-width:1180px){.tt-page-mascot-figure{width:190px!important;height:190px!important;flex-basis:190px!important}}
