
.sd{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:stretch;gap:10px}
.sd-prompt{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid color-mix(in srgb,var(--pc) 35%,#fff);border-radius:18px;padding:10px 12px;text-align:left;box-shadow:0 4px 14px rgba(31,78,121,.08);font:inherit;color:#17293d;cursor:pointer}
.sd-say{flex:none;width:40px;height:40px;border-radius:50%;background:var(--pc);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 3px 0 rgba(0,0,0,.12)}
.sd-txt{font-size:19px;font-weight:800;line-height:1.28}
.sd-prep{color:#E8833A;letter-spacing:.02em;font-weight:900}
.sd-stage{position:relative;width:100%;aspect-ratio:5/4;border-radius:20px;overflow:hidden;box-shadow:0 6px 18px rgba(31,78,121,.14),inset 0 0 0 3px #fff;background:#F8F5EF;touch-action:none;--u:3.6px}
.sd-bg{position:absolute;inset:0;width:100%;height:100%}
.sd-fur{position:absolute;z-index:3;pointer-events:none}
.sd-fur svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sd-front{z-index:6}
.sd-glow{filter:drop-shadow(0 0 4px #FFD166) drop-shadow(0 0 8px #FFD166);animation:sdglow 1s ease-in-out infinite alternate}
@keyframes sdglow{to{filter:drop-shadow(0 0 2px #FFD166) drop-shadow(0 0 12px #ffb703)}}
.sd-item.placed{position:absolute;z-index:8;display:flex;align-items:flex-end;justify-content:center;font-size:calc(var(--u) * 9.4 * var(--s,1));line-height:1;pointer-events:none;filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.18))}
.sd-item.placed.behind{z-index:2}
.sd-item.placed.inside{z-index:5}
.sd-item.placed.pop{animation:sdpop .45s cubic-bezier(.2,1.6,.4,1)}
.sd-item.placed.shown{animation:sdshow .8s ease-out}
@keyframes sdpop{0%{transform:scale(.3)}100%{transform:scale(1)}}
@keyframes sdshow{0%{transform:translateY(-30%) scale(.5);opacity:0}100%{transform:none;opacity:1}}
.sd-tray{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;touch-action:none}
.sd-item{position:relative}
.sd-tray .sd-item{width:66px;height:72px;background:#fff;border-radius:18px;box-shadow:0 3px 0 rgba(23,41,61,.07),0 6px 16px rgba(23,41,61,.09);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;line-height:1;border:3px solid transparent;transition:transform .15s,opacity .2s;cursor:grab;touch-action:none}
.sd-tray .sd-item span{font-size:10.5px;font-weight:800;color:#5a6b7c;margin-top:4px;white-space:nowrap}
.sd-tray .sd-item.lifted{opacity:.35;transform:scale(.92)}
.sd-tray .sd-item.sel{border-color:var(--pc);transform:translateY(-4px)}
.sd-tray .sd-item.gone{opacity:0;transform:scale(.4);pointer-events:none}
.sd-ghost{position:fixed;z-index:90;display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25));transform:scale(1.15)}
.sd-hint{margin:0}
.sd-ic{font-size:26px}
@media (max-height:700px){.sd-txt{font-size:17px}.sd-tray .sd-item{width:58px;height:62px;font-size:30px}}
.sh-top{display:flex;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:8px 10px;box-shadow:0 4px 14px rgba(31,78,121,.08)}
.sh-snd{background:var(--pc);color:#fff;font-weight:900;font-size:20px;border-radius:12px;padding:4px 12px}
.sh-count{flex:1;font-weight:800;font-size:17px;color:#17293d}
.sh-count b{color:#E8833A;font-size:20px}
.sh-hintbtn{width:42px;height:42px;border-radius:50%;background:#FFF4D6;font-size:22px;display:flex;align-items:center;justify-content:center;border:0}
.sh-wrap{position:relative}
.sh-obj{position:absolute;z-index:8;transform:translate(-50%,-100%);min-width:40px;min-height:40px;padding:0;border:0;background:transparent;display:flex;align-items:flex-end;justify-content:center;font-size:calc(var(--u) * var(--fs));line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 1.5px 1px rgba(0,0,0,.18))}
.sh-obj.behind{z-index:2}
.sh-obj.inside{z-index:5}
.sh-obj.wiggle{animation:shwig .5s}
@keyframes shwig{20%{transform:translate(-58%,-100%) rotate(-8deg)}40%{transform:translate(-42%,-100%) rotate(8deg)}60%{transform:translate(-55%,-100%) rotate(-5deg)}80%{transform:translate(-47%,-100%) rotate(3deg)}}
.sh-obj.found{z-index:9}
.sh-obj.found::after{content:'';position:absolute;inset:-3px;border-radius:50%;border:3px solid #00c58e;background:rgba(0,197,142,.14)}
.sh-obj.peek{z-index:9;animation:shpeek .55s ease-in-out 4}
@keyframes shpeek{50%{transform:translate(-50%,-100%) scale(1.5)}}
.sh-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(23,41,61,.35);border-radius:20px;z-index:20;opacity:0;transition:opacity .2s}
.sh-card.show{opacity:1}
.sh-card-in{background:#fff;border-radius:24px;padding:14px 26px 12px;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.25);transform:scale(.7);transition:transform .25s cubic-bezier(.2,1.6,.4,1)}
.sh-card.show .sh-card-in{transform:scale(1)}
.sh-big{font-size:74px;line-height:1.05}
.sh-word{font-size:30px;font-weight:900;color:#1F4E79;text-transform:capitalize}
.sh-pos{font-size:12px;font-weight:800;color:#5a6b7c;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}
.sh-say{font-size:16px;font-weight:800;color:#E8833A;margin-top:6px}
.sh-hear{margin-top:8px;border:0;background:#EAF4F8;color:#1F4E79;font-weight:800;border-radius:999px;padding:6px 14px;font-size:13px}
.sh-tbtns .tb.dim{opacity:.35}
