/* Mesh articulation carries breathing, gaze, gait, tail and gestures. */
.actor-mesh{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:2}
.cat .actor-mesh{position:relative;display:none;aspect-ratio:1;width:100%;height:auto}.cat.mesh-ready .actor-mesh{display:block}.cat.mesh-ready>img,.cat.mesh-ready>.cat-art{display:none!important}
.mesh-ready .parent-art,.girl.mesh-ready #girl-art>svg{opacity:0}.parent .actor-mesh{height:100%;width:100%}.character-name{z-index:5}
.scene .cat,.scene .girl,.scene .parent,.scene .cat-art{animation:none!important;rotate:0!important;scale:1!important;translate:0!important;transition:none!important}
.scene .cat:hover{transform:none}.scene .cat.smooth-walking:hover{transform:initial}.scene .cat .cat-clothes{z-index:3}
.scene .cat[data-pose=sleep] .actor-mesh{display:none}.scene .cat[data-pose=sleep]>img{display:none}
.scene .girl #girl-art,.scene .parent{transform-origin:50% 95%}.actor-mesh{filter:drop-shadow(0 4px 3px #65442810)}
.scene .speech{border:1px solid #f8ead5;box-shadow:0 5px 18px #5d3f2419;line-height:1.5}.house{box-shadow:0 16px 50px #79593d12}.hotspot.illustrated-hotspot{box-shadow:0 4px 12px #69462b22}
@media(prefers-reduced-motion:reduce){.actor-mesh{filter:none}}
.world-portal{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;font-size:14px}.world-portal a{color:#563559;background:#fffaf3;border:1px solid #e8dace;border-radius:16px;padding:12px 16px;text-decoration:none;min-height:44px;display:flex;align-items:center}.world-portal label{display:flex;gap:10px;align-items:center}.world-portal select{min-height:44px;max-width:190px;padding:9px;border-radius:12px;border:1px solid #d9c6b6;background:#fffaf3;color:#594b42}.world-portal a:focus-visible,.world-portal select:focus-visible{outline:3px solid #2f797b;outline-offset:2px}@media(max-width:430px){.world-portal label>span{display:none}.world-portal{gap:6px;font-size:12px}.world-portal select{max-width:170px}}

.world-embedded .intro,.world-embedded header .brand{display:none}.world-embedded header{padding-bottom:10px;margin-bottom:10px}.world-embedded .top-controls{width:100%;justify-content:space-between}.world-embedded .world-portal{margin-bottom:10px}
.world-embedded .house .scene{max-width:calc((100svh - 260px)*1.5)!important;margin-inline:auto}
