/* =========================================================================
   Хозяин дома — общие стили для большого экрана и телефона
   ========================================================================= */

/*  5. ХОЗЯИН ДОМА                                                     */
/* ------------------------------------------------------------------ */

.mr { height: 100%; width: auto; overflow: visible; filter: drop-shadow(0 12px 30px rgba(0,0,0,.85)); }
.mr-body   { transform-origin: 100px 250px; animation: mr-breathe 4.6s ease-in-out infinite; }
.mr-head   { transform-origin: 100px 96px;  animation: mr-look 9s ease-in-out infinite; }
.mr-armL   { transform-origin: 62px 120px; }
.mr-armR   { transform-origin: 138px 120px; }
.mr-pupL, .mr-pupR { animation: mr-pupil 6s ease-in-out infinite; }
.mr-glow   { animation: mr-glow 3.2s ease-in-out infinite; transform-origin: 100px 92px; }

@keyframes mr-breathe { 0%,100% { transform: scaleY(1) scaleX(1); } 50% { transform: scaleY(1.014) scaleX(.995); } }
@keyframes mr-look    { 0%,44% { transform: rotate(0deg); } 52% { transform: rotate(-5deg); } 74% { transform: rotate(4deg); } 90%,100% { transform: rotate(0deg); } }
@keyframes mr-pupil   { 0%,40% { transform: translateX(0); } 50% { transform: translateX(-3px); } 76% { transform: translateX(3px); } 92%,100% { transform: translateX(0); } }
@keyframes mr-glow    { 0%,100% { opacity: .5; transform: scale(1); } 50% { opacity: .95; transform: scale(1.07); } }

.mr--watch .mr-head { animation: mr-watch 5s ease-in-out infinite; }
@keyframes mr-watch { 0%,100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }

.mr--laugh .mr-body { animation: mr-laugh .34s ease-in-out infinite; }
@keyframes mr-laugh { 0%,100% { transform: translateY(0) rotate(-.7deg); } 50% { transform: translateY(-6px) rotate(.7deg); } }

.mr--point .mr-armR { animation: mr-point 2.4s ease-in-out infinite; }
@keyframes mr-point { 0%,100% { transform: rotate(0deg); } 40%,70% { transform: rotate(-58deg); } }

.mr--lean { animation: mr-lean 3.6s cubic-bezier(.3,0,.2,1) forwards; }
@keyframes mr-lean {
  0%   { transform: scale(.72) translateY(6vh); opacity: 0; filter: blur(4px); }
  30%  { opacity: 1; filter: blur(0); }
  100% { transform: scale(1.3) translateY(0); opacity: 1; }
}

/* стойка Хозяина на экране */
.mr-stage {
  position: relative; height: 34vh; display: flex; align-items: flex-end; justify-content: center;
}
.mr-stage::after {
  content: ''; position: absolute; bottom: -1vh; left: 50%; width: 26vh; height: 3.4vh;
  margin-left: -13vh; border-radius: 50%;
  background: radial-gradient(50% 50%, rgba(0,0,0,.8), transparent 70%);
}
.mr-small { height: 20vh; }


@media (prefers-reduced-motion: reduce) {
  .mr-body, .mr-head, .mr-glow, .mr-pupL, .mr-pupR,
  .mr--watch .mr-head, .mr--laugh .mr-body, .mr--point .mr-armR, .mr--lean { animation: none !important; }
}
