.ls-frame{z-index:0;--ox:50%;--oy:50%;position:absolute;inset:0;overflow:hidden;container-type:size}.ls-box{aspect-ratio:var(--ar);width:max(100cqw,calc(100cqh * var(--ar)));left:var(--ox);top:var(--oy);translate:calc(-1 * var(--ox)) calc(-1 * var(--oy));position:absolute}.ls-art,.ls-layer{object-fit:fill;width:100%;height:100%;display:block;position:absolute;inset:0}.ls-layer{opacity:0;transition:opacity .42s var(--ease-soft);pointer-events:none}.ls-layer[data-on=yes]{opacity:1}.ls-spot{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:box-shadow var(--duration-base) var(--ease-soft),background var(--duration-base) var(--ease-soft);background:0 0;border:0;border-radius:18%;padding:0;position:absolute}.ls-spot--round{border-radius:50%}.ls-spot:hover{background:radial-gradient(closest-side,#fff7d638,#fff7d600);box-shadow:0 0 0 2px #fff7d68c,0 0 24px #ffe38a59}.ls-spot:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.ls-spot:active{background:radial-gradient(closest-side,#fff7d659,#fff7d600)}.ls-glint{opacity:0;pointer-events:none;background:conic-gradient(from 45deg,transparent 0 10%,#fff7d6 12% 13%,transparent 15% 35%,#fff7d6 37% 38%,transparent 40% 60%,#fff7d6 62% 63%,transparent 65% 85%,#fff7d6 87% 88%,transparent 90%);filter:drop-shadow(0 0 4px #ffecaaf2);width:14px;height:14px;animation:ls-glint 11s ease-in-out var(--glint-delay,0s) infinite;border-radius:50%;margin:-7px 0 0 -7px;position:absolute;top:50%;left:50%}@keyframes ls-glint{0%,88%,to{opacity:0;transform:scale(.3)rotate(0)}92%{opacity:1;transform:scale(1.15)rotate(45deg)}96%{opacity:0;transform:scale(.4)rotate(90deg)}}.ls-fx{pointer-events:none;position:absolute}.ls-clip{pointer-events:none;position:absolute;overflow:hidden}.ls-note{color:#3a2e1f;max-width:min(240px,40vw);font:700 14px/1.3 var(--font-text);transform-origin:0 100%;animation:ls-note 3.6s var(--ease-soft) both;pointer-events:none;background:#fffbea;border-radius:12px 12px 12px 4px;padding:8px 12px;position:absolute;box-shadow:0 6px 18px #1e140a4d}@keyframes ls-note{0%{opacity:0;transform:translateY(8px)scale(.85)rotate(-3deg)}10%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.ls-layer{transition:opacity .15s linear}.ls-glint{animation:none}.ls-fx,.ls-fx *{animation-duration:1ms!important;animation-iteration-count:1!important}.ls-note{animation:3.2s linear both ls-fade}}@keyframes ls-fade{0%,to{opacity:0}8%,85%{opacity:1}}
