/* 从 1024px 动作帧的 (253,341,444,280) 裁片坐标换算；所有场景使用同一几何。 */
.gg-character { position:relative; display:block; width:var(--gg-character-size,100%); height:var(--gg-character-size,100%); isolation:isolate; }
.gg-character img { user-select:none; -webkit-user-drag:none; pointer-events:none; }
.gg-character > .ggc-base { position:absolute; inset:0; display:block; width:100%; height:100%; margin:0; object-fit:contain; z-index:0; }
.gg-character > .ggc-face,.gg-character > .ggc-eyes,.gg-character > .ggc-mouth {
  position:absolute; inset:auto; left:24.70703125%; top:33.30078125%; width:43.359375%; height:27.34375%; margin:0; object-fit:fill;
}
.gg-character > .ggc-face { z-index:1; }
.gg-character > .ggc-eyes { z-index:2; pointer-events:none; }
.gg-character > .ggc-mouth { z-index:3; }
.gg-character .ggc-eyes > img,.gg-character .ggc-iris-clip,.gg-character .ggc-iris-clip > img {
  position:absolute; inset:0; width:100%; height:100%; margin:0; object-fit:fill;
}
.gg-character .ggc-iris-clip { mask-size:100% 100%; -webkit-mask-size:100% 100%; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat; }
.gg-character [hidden] { display:none!important; }
.gg-character[data-ggc-ready="false"] > :not(.ggc-base) { visibility:hidden; }
.gg-character[data-ggc-baked="true"] > :not(.ggc-base) { visibility:hidden; }
.gg-character[data-ggc-active="false"],.gg-character[data-ggc-mode="static"] { animation:none!important; }
/* 登录与原型一样只播放待机叶子帧，移除旧页面额外叠加的全身缩放。 */
.login-mascot > .gg-character { animation:none; }
@media(prefers-reduced-motion:reduce) { .gg-character { animation:none!important; transition:none!important; } }
