#interaction{margin:0 0 14px auto;width:min(430px,100%);padding:18px 22px;background:#18352ff0;border:1px solid #d7bb7c80;border-radius:5px;box-shadow:0 8px 30px #12261a40;backdrop-filter:blur(12px)}#badge-panel{display:flex;justify-content:space-around;align-items:center;gap:24px}#badge{touch-action:none;user-select:none;position:relative;z-index:2;width:68px;height:68px;border-radius:50%;border:3px double #f5d891;background:radial-gradient(circle at 35% 30%,#ecd5a1,#a77d3e);color:#264438;font:28px Georgia,serif;box-shadow:0 5px 15px #081c1840;cursor:grab}#badge.dragging{cursor:grabbing}#badge[aria-pressed=true]{outline:2px solid #fff1bb;outline-offset:5px}#badge:disabled{opacity:.3}#badge-target{width:128px;height:78px;border:1px dashed #d7c796;border-radius:5px;background:#ffffff09;font-size:13px;color:#e8dfc5}#badge-target::before{content:'◇';display:block;font-size:22px;line-height:1.2;color:#dfc28b}#badge-target.complete{border-style:solid;background:#9ba77840}#badge-target.complete::before{content:'✦'}#interaction-status{font-size:11px;line-height:1.7;color:#dedbc7;margin:12px 0 0;text-align:center;min-height:19px}#hold-panel{text-align:center}#hold-hand{touch-action:none;user-select:none;background:#e7d6ad;color:#294138;border-radius:40px;padding:13px 32px;font-size:16px;letter-spacing:2px}#hold-hand:disabled{background:#a9bb9b}#hold-progress{--progress:0%;height:4px;border-radius:3px;overflow:hidden;background:#ffffff20;margin:15px auto 0;max-width:240px}#hold-progress::before{content:'';display:block;height:100%;width:var(--progress);background:#eacb8e}.memory-card{background:#233b31ed;border:1px solid #dfc58d88;box-shadow:0 15px 50px #10261d60;border-radius:4px;padding:22px 26px;margin:18px 0}.memory-card .eyebrow{font-size:9px}.memory-card p{line-height:1.9}.memory-stamps{display:flex;gap:16px;color:#d9c99e;font-size:11px;border-top:1px solid #ffffff25;padding-top:12px}.ended #ending{top:20%;width:43%}.ended h2{font-size:30px;margin:12px 0}.ended .text-button{padding:12px 0}.ended small{margin-top:8px}@media(max-width:650px){#interaction{padding:16px 18px;margin-bottom:12px}.ended #ending{top:auto;bottom:6%;width:84%}.ended h2{font-size:29px}.memory-card{padding:18px 20px;margin:15px 0}.ended .character{opacity:.48}}@media(max-height:550px) and (min-width:651px){#interaction{position:absolute;right:0;bottom:calc(100% + 8px);width:320px;padding:10px 14px;margin:0}#badge{width:48px;height:48px;font-size:22px}#badge-target{height:54px;width:105px}#badge-target::before{font-size:16px}#interaction-status{margin:6px 0 0;font-size:10px}#hold-hand{padding:8px 24px;font-size:14px}#hold-progress{margin-top:8px}.ended #ending{top:19%;width:58%}.ended h2{font-size:22px;line-height:1.35;display:inline-block;margin:0}.memory-card{margin:8px 0;padding:10px 16px}.memory-card p{margin:5px 0}.memory-stamps{padding-top:6px}.ended .primary{min-height:40px;padding:7px 18px}.ended .text-button{display:inline-block;margin-left:16px;padding:6px}.ended small{font-size:9px}}

.ended .figure .character{opacity:1;filter:brightness(.7)}

/* Keep the offered/held hands above the mobile dialogue panel. */
@media(max-width:650px){#stage[data-pose="hand"] .character{height:min(80%,145vw);top:10%}}
@media(max-height:550px) and (min-width:651px){#stage[data-pose="hand"] .character{height:100%;top:8%}}
.ended h2{max-width:15em}.character{transition:filter .3s}
@media(min-width:651px) and (min-height:551px){#stage[data-pose="hand"] .character{height:100%}}
@media(max-height:550px) and (min-width:651px){#stage[data-pose="hand"] .character{left:26%}#stage[data-pose="hand"] #story{left:45%;right:4%}#stage[data-pose="hand"] #interaction{width:100%}#stage[data-pose="hand"].ended #ending{left:48%;width:48%}}

#ending-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-4}
.ended h2{white-space:pre-line}
.ended .figure{visibility:hidden}.ended .background{visibility:hidden}
.ended .shade{background:linear-gradient(90deg,#12281dd9,transparent 66%)}
.ended #ending,#stage[data-pose="hand"].ended #ending{left:6%;width:36%;top:23%;bottom:auto}
@media(max-width:650px){.ended #ending,#stage[data-pose="hand"].ended #ending{left:6%;width:88%;top:auto;bottom:4%}#ending-art{height:55%;object-position:66% center}.ended .shade{background:linear-gradient(0deg,#152d23 40%,transparent 75%)}.ended .memory-card{background:#203b30dd}.ended h2{font-size:26px}}
@media(max-height:550px) and (min-width:651px){.ended #ending,#stage[data-pose="hand"].ended #ending{top:20%;left:5%;width:45%}.ended h2{font-size:20px}.ended .memory-card{padding:8px 12px}}
