#serpent-world .descent-emblem{position:absolute;inset:0;z-index:3;opacity:0;transition:opacity 2s ease .5s;pointer-events:none}
#serpent-world .descent-emblem[hidden]{display:none}
#serpent-world .descent-emblem.revealed{opacity:1}
.emblem-centre{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(64vw,280px)}
.emblem-centre>svg{display:block;width:100%;height:auto;overflow:visible}
.emblem-part{opacity:.78;transition:opacity .55s ease;cursor:pointer;outline:none;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.emblem-part image{pointer-events:none}
.sign-reel [data-slot]{transition:opacity .75s ease}
.descent-emblem.rolling [data-part=serpent]{opacity:.16}
.descent-emblem[data-selected=serpent] [data-part=sign],.descent-emblem[data-selected=sign] [data-part=serpent]{opacity:.25}
.emblem-part[aria-pressed=true],.emblem-part:focus-visible{opacity:1}
@media(hover:hover){.emblem-part:hover{opacity:1}}
.emblem-hint{display:block;text-align:center;position:absolute;top:calc(100% + 24px);left:0;width:100%;color:#a49e93;font:300 10px/1.5 'Helvetica Neue','Segoe UI',Arial,sans-serif;letter-spacing:.09em;transition:opacity .5s}
.descent-emblem.explored .emblem-hint{opacity:0}
#serpent-world .emblem-caption{position:absolute;left:50%;bottom:clamp(36px,8svh,80px);transform:translateX(-50%);width:calc(100% - 48px);max-width:560px;margin:0;padding:0;text-align:center;font:400 16px/1.65 Georgia,serif;color:#e8e1d4;opacity:0;transition:opacity .45s ease;text-wrap:pretty}
#serpent-world .emblem-caption.visible{opacity:1}
#serpent-world.reduced-descent .descent-inscription{display:none}
@media(min-width:700px){#serpent-world .emblem-caption{font-size:18px}}
@media(prefers-reduced-motion:reduce){#serpent-world .descent-emblem,.emblem-part,.emblem-hint,#serpent-world .emblem-caption{transition:none}}
