:root{color-scheme:dark;--green:#12372f;--ivory:#f4eedf;--gold:#c8b183;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:#102d27}body{-webkit-font-smoothing:antialiased}.demo{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px 0 max(20px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#36594c 0,#173d32 46%,#102d27 100%)}.avatar-figure{position:relative;flex:none;width:min(100vw,calc((100svh - 120px)*.9712),860px);aspect-ratio:1282/1320;isolation:isolate;-webkit-mask-image:linear-gradient(#000 94%,transparent);mask-image:linear-gradient(#000 94%,transparent)}.avatar-renderer,.avatar-renderer canvas{width:100%;height:100%;display:block}.avatar-static{position:absolute;left:0;top:4.7%;width:100%;height:auto}.avatar-static.is-hidden{opacity:0;pointer-events:none}.play-button{position:relative;display:grid;place-items:center;width:68px;height:68px;border:1px solid var(--gold);border-radius:50%;color:var(--green);background:var(--ivory);box-shadow:0 6px 26px #071c2440;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s,transform .18s;touch-action:manipulation}.play-button:hover:not(:disabled){background:#fff9eb;transform:translateY(-2px)}.play-button:active:not(:disabled){transform:scale(.96)}.play-button:focus-visible{outline:3px solid var(--ivory);outline-offset:7px}.play-button:disabled{cursor:default;opacity:.55}.play-button.is-loading:after{content:"";position:absolute;inset:-6px;border:2px solid transparent;border-top:2px solid var(--gold);border-radius:50%;animation:loading 1s linear infinite}.avatar-notice,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes loading{to{transform:rotate(1turn)}}@media(max-height:440px){.demo{gap:8px;padding:8px 0}.avatar-figure{width:min(100vw,calc((100svh - 88px)*.9712))}.play-button{width:56px;height:56px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}