.hcm-plane{position:absolute;pointer-events:none;overflow:hidden;opacity:0;isolation:isolate;transition:opacity .3s}
.hcm-plane.hcm-ready{opacity:1}
.hcm-actor{position:absolute;left:0;top:0;width:var(--hcm-size,72px);height:var(--hcm-size,72px);will-change:transform;pointer-events:none}
.hcm-anchor{width:100%;height:100%;transform:translate(-50%,-82%)}
.hcm-facing{width:100%;height:100%;transform-origin:center}
.hcm-sprite{width:100%;height:100%;background-size:200% 200%;background-position:0 0;background-repeat:no-repeat;filter:drop-shadow(0 3px 2px rgba(61,56,53,.20))}
.hcm-walking .hcm-sprite{animation:hcm-stride .64s steps(1,end) infinite}
.hcm-greeting .hcm-sprite{animation:hcm-greet .85s ease-in-out}
.hcm-still .hcm-sprite{animation:none!important}
.hcm-target{position:absolute;width:20px;height:8px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;opacity:0;box-shadow:0 0 12px rgba(255,204,204,.3)}
.hcm-target.hcm-show{opacity:.8}
.hcm-still .hcm-target{opacity:0}
.hcm-controls{box-sizing:border-box;max-width:720px;margin:12px auto 28px;padding:22px 24px;background:#fff;border:1px solid #DDD4D1;border-radius:16px;color:#3D3835;font-family:'Noto Sans TC',sans-serif;line-height:1.7;box-shadow:0 6px 22px rgba(160,90,107,.06)}
.hcm-heading{margin-bottom:8px}.hcm-kicker{display:block;font-size:.65rem;color:#A05A6B;letter-spacing:.16em;margin-bottom:5px}
.hcm-heading h2{font-family:inherit!important;font-size:1.05rem!important;font-weight:600!important;letter-spacing:.035em!important;color:#3D3835!important;margin:0!important;line-height:1.65!important}
.hcm-hint{font-size:.79rem;color:#6A6560;margin:0 0 15px!important}
.hcm-actions{display:flex;flex-wrap:wrap;gap:8px}
.hcm-actions button{appearance:none;background:#fff!important;color:#007B7F!important;border:1px solid #D6CECA!important;border-radius:9px!important;min-height:44px;padding:9px 15px!important;font-family:inherit!important;font-size:.79rem!important;font-weight:500!important;cursor:pointer;box-shadow:none!important;transform:none!important;text-shadow:none!important;line-height:1.5!important}
.hcm-actions button[data-hcm-action=greet]{background:#007B7F!important;border-color:#007B7F!important;color:#fff!important}
.hcm-actions button:hover{border-color:#007B7F!important}
.hcm-actions button:focus-visible{outline:3px solid #A05A6B!important;outline-offset:3px}
.hcm-actions button:disabled{opacity:.65;cursor:default}
.hcm-status{min-height:2.9em;margin:14px 0 0!important;font-size:.79rem;line-height:1.6;color:#8A4556}
.hcm-controls,.hcm-actions button{scroll-margin-block:100px 180px}
html[lang^="zh-Hans"] .hcm-controls{font-family:'Noto Sans SC',sans-serif}
@keyframes hcm-stride{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:0 100%}75%{background-position:100% 100%}}
@keyframes hcm-greet{0%,100%{transform:translateY(0)}35%{transform:translateY(-9px) rotate(-3deg)}65%{transform:translateY(-3px) rotate(2deg)}}
@media(max-width:600px){.hcm-controls{margin:12px 12px 24px;padding:18px}.hcm-actions{display:grid;grid-template-columns:1fr 1fr}.hcm-actions button{padding:10px!important}}
@media(prefers-reduced-motion:reduce){.hcm-plane{transition:none}.hcm-sprite{animation:none!important}.hcm-target{transition:none}}
