/* V196: Consolidated original-avatar and mobile containment restoration.
 * The Cozy Room and Wellness Wing are deliberately untouched.
 * V195 introduced a new anonymous composite avatar and previews that were not
 * the items actually placed. Restore original painted avatar illustrations and
 * show the very same image in the unlock card and in the room.
 */
html, body{max-width:100%;overflow-x:clip}
body.ka-page,body.olu178-world{margin:0;width:100%}
.olu178-world,.ka-page{width:100%;min-width:0;max-width:100%;overflow-x:clip}
.olu178-main,.ka-shell,.ka-topbar,.olu177-sanctuary-intro,
.olu177-room,.olu177-carousel-wrap,.olu177-stage,.olu177-canvas{min-width:0;max-width:100%;}
.ka-page .ka-brand{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ka-page .ka-topbar{max-width:100vw;min-width:0}
.ka-page .olu177-sanctuary-intro{padding-left:clamp(6px,2vw,16px);padding-right:clamp(6px,2vw,16px)}
.olu177-room{width:100%;overflow:hidden}
.olu177-carousel-head{min-width:0;max-width:100%}
.olu177-carousel-head>div:first-child{min-width:0;flex:1}
.olu177-carousel-head small{display:block;white-space:normal}
.olu177-controls{flex:none}
.olu177-rail{max-width:100%;min-width:0;width:100%;overflow-x:auto;overflow-y:hidden}
.olu177-room .olu177-stage{width:100%;max-width:100%;overflow:hidden}
.olu177-room .olu177-canvas{width:100%;aspect-ratio:1200/675;min-height:0!important}
.olu177-room .olu177-bare,.olu177-room .olu177-layer{
  width:100%;height:100%;inset:0;image-rendering:auto;object-fit:contain;
}
/* Existing original characters, rather than the unrelated composite introduced
   in V195. Paintings are independent interactive surfaces, with no drawn faces. */
.olu177-room[data-olu183-room] .olu177-painted-couple{display:none!important}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar{
  position:absolute;z-index:5;bottom:2.5%;width:15%;height:40%;border:0;
  padding:0;background:transparent!important;box-shadow:none!important;
  transform-origin:50% 93%;touch-action:manipulation;
}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar.olu177-bunny{left:36%}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar.olu177-kat{left:52%}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar img{
  width:100%;height:100%;object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 3px 4px #1a0b1ecc);pointer-events:none;
}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar::before{
  display:none!important;content:none!important;
}
.olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar.is-happy{
  animation:olu196AvatarJoy .9s ease both;
}
.olu177-room[data-olu183-room] .olu196-avatar-spark{
 position:absolute;pointer-events:none;left:62%;top:15%;color:#ffe0c9;
 text-shadow:0 0 7px #f8d8aa;font-size:clamp(12px,2.1vw,24px);
 animation:olu196Heart 1s ease forwards;
}
@keyframes olu196AvatarJoy{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-1.6%) rotate(-2deg)}70%{transform:translateY(-.6%) rotate(1deg)}}
@keyframes olu196Heart{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:translateY(-20px) scale(1.15)}}
.olu177-room[data-olu183-room] .olu177-mascot{z-index:6!important;left:70%!important;bottom:4%!important;width:10.5%!important;height:22%!important}
.olu177-room[data-olu183-room] .olu177-mascot.is-dragon{left:70%!important;width:13%!important;height:26%!important}
/* Honest previews: see the actual image used in the room, not a crop from an
   unrelated finished-room inspiration image. */
.olu177-room[data-olu183-room] .olu177-card-art{
  height:103px;background:radial-gradient(ellipse at center,#34334b,#171b2b 78%);
}
.olu177-room[data-olu183-room] .olu177-card-art img{
  width:98%;height:98%;object-fit:contain;object-position:center;
  filter:none;transform:none;
}
@media(max-width:620px){
  .olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar{width:17%;height:43%}
  .olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar.olu177-bunny{left:34%}
  .olu177-room[data-olu183-room] .olu177-avatar.olu196-original-avatar.olu177-kat{left:51%}
  .olu177-room[data-olu183-room] .olu177-mascot{left:72%!important;width:11%!important;height:24%!important}
  .olu177-carousel-head h4{font-size:clamp(1.18rem,4.5vw,1.6rem)}
  .olu177-room-heading h2,.olu177-room-heading h3{overflow-wrap:anywhere}
  .olu177-room .olu177-card{flex:0 0 min(43vw,165px);min-width:0}
  .olu177-room .olu177-card-art{height:88px}
}
@media(prefers-reduced-motion:reduce){.olu177-avatar.olu196-original-avatar.is-happy,.olu196-avatar-spark{animation:none!important}}
