.squish-stage .feel-ready>.toy{visibility:hidden;transform:none!important}
.feel-canvas{position:absolute;left:-45%;top:-45%;width:190%;height:190%;pointer-events:none;max-width:none}
.feel-controls{position:relative;z-index:2;margin:0 auto 12px;max-width:380px;line-height:1.3}
.feel-tip{font-size:13px;text-align:center;color:#69557d;min-height:34px;margin:10px 0 0}
.squish-stage:has(.feel-ready)+.feel-controls~.squish-hint{display:none}
.little-modal .feel-controls{margin-top:0}.little-modal .feel-tip{font-size:12px}
@media(max-height:700px){.little-modal .squish-stage{height:200px}.feel-tip{margin-top:5px}.feel-controls{margin-bottom:5px}}


.feel-badge{width:fit-content;margin:0 auto;padding:6px 16px;border-radius:18px;background:#f5e8ce;color:#685080;font-size:13px;font-weight:800}.feel-badge>span{font-size:18px;vertical-align:middle}

.compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.compare-toy{min-width:0;background:#f0e7f680;border:2px solid #fff9ed;border-radius:24px;padding:10px 4px}.compare-toy h3{font-size:15px;text-align:center;margin:0;min-height:38px}.compare-grid .squish-stage{height:230px;overflow:hidden}.compare-holder{position:relative;display:block;width:140px;height:140px;touch-action:none;user-select:none;cursor:grab}.compare-holder>.toy{width:100%;height:100%;max-width:none}.compare-holder:focus-visible{outline:3px solid #8753b6;border-radius:20px}.compare-grid .feel-tip{font-size:12px;padding:0 6px;min-height:48px}.compare-grid .feel-badge{font-size:11px;padding:6px 8px}.compare-intro{text-align:center;font-size:14px}.compare-label{display:block;font-size:13px;margin:16px 0}.compare-label select{display:block;width:100%;min-height:48px;margin-top:6px;border:2px solid #dbc5e7;border-radius:14px;background:#fff9ed;color:#624773;padding:8px;font:inherit}.compare-open{margin-top:12px}
@media(max-width:500px){.compare-grid{gap:6px}.compare-holder{width:120px;height:120px}.compare-grid .squish-stage{height:180px}.compare-toy h3{font-size:13px}.compare-grid .feel-tip{font-size:11px}.compare-grid .feel-badge>span{font-size:14px}}
/* Bamboo mystery steamer, built as separate lid and base for the reveal. */
.dumpling-box-art{display:inline-block;position:relative;width:150px;height:140px;flex:none;filter:drop-shadow(0 9px 5px #79533122)}.dumpling-box-base{position:absolute;left:4%;top:34%;width:92%;height:61%;border-radius:0 0 48% 48%/0 0 35% 35%;border:3px solid #cfa66c;background:repeating-linear-gradient(90deg,#fff4 0 2px,transparent 2px 15px),linear-gradient(90deg,#c99b60,#f5d9a6 45%,#dfb77d);box-shadow:inset 0 -9px 0 #ad82462b}.dumpling-box-lid{position:absolute;z-index:3;left:0;top:9%;width:100%;height:58%;border-radius:50%;border:5px solid #ebcc93;background:repeating-linear-gradient(32deg,#a57b4222 0 2px,transparent 2px 16px),repeating-linear-gradient(-32deg,#fff4 0 2px,transparent 2px 16px),radial-gradient(ellipse at 45% 30%,#f9e6b9,#e1b87f);box-shadow:0 5px 0 #bf965f,inset 0 0 0 2px #b98e5544}.dumpling-box-lid i{position:absolute;width:27%;height:18%;left:36%;top:30%;border:6px solid #c99c62;border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -2px 0 #fff4}.dumpling-box-seal{position:absolute;z-index:4;left:39%;top:63%;background:#b493d5;color:#fff9eb;font-weight:900;font-size:24px;width:35px;height:38px;display:grid;place-items:center;border-radius:7px 7px 15px 15px;border:2px solid #f7e8cf}.dumpling-stock .dumpling-box-art{width:clamp(85px,18vw,150px);height:130px}.dumpling-stock:disabled{opacity:.55}.dumpling-box-stage{position:relative;display:flex;align-items:center;justify-content:center;height:260px;margin:8px auto;background:radial-gradient(ellipse,#f5e6c480,transparent 68%);border:0;width:100%;padding:0}.dumpling-box-stage>.dumpling-box-art{width:230px;height:210px}.dumpling-box-stage .dumpling-box-seal{width:48px;height:52px;font-size:32px}.open-dumpling{cursor:pointer;touch-action:manipulation}.open-dumpling:focus-visible{outline:3px solid #8962ab;border-radius:25px}.box-chances,.box-odds{font-size:13px;line-height:1.5;color:#6f597e}.box-odds{margin:12px 0}.box-odds summary{cursor:pointer;min-height:44px;padding:10px 0}.pending-dumplings{display:flex;gap:12px;justify-content:center;align-items:center;margin-bottom:16px}.pending-dumplings .dumpling-box-art{width:55px;height:50px}.pending-dumplings .dumpling-box-seal{width:16px;height:18px;font-size:12px}.pending-dumplings .dumpling-box-lid{border-width:2px}.pending-dumplings .dumpling-box-lid i{border-width:2px}.dumpling-result{text-align:center}.opening>.toy{position:absolute;width:165px;height:165px;z-index:2;top:38px;animation:box-toy-reveal .65s ease-out both}.opening .dumpling-box-lid{transform:translate(-55%,-65%) rotate(-32deg);animation:box-lid-open .65s ease-out both}.opening .dumpling-box-seal{display:none}.opening .dumpling-box-base{top:64%;height:34%;z-index:2}.opening .dumpling-box-art{margin-top:35px}@keyframes box-lid-open{from{transform:none}to{transform:translate(-55%,-65%) rotate(-32deg)}}@keyframes box-toy-reveal{from{opacity:0;transform:translateY(55px) scale(.75)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.opening>.toy,.opening .dumpling-box-lid{animation:none}}@media(max-width:500px){.dumpling-box-stage{height:225px}.dumpling-box-stage>.dumpling-box-art{width:190px;height:180px}.opening>.toy{width:140px;height:140px}.little-shelf .dumpling-stock .dumpling-box-art{width:100%;height:125px}.little-shelf .dumpling-stock .toy-name{font-size:12px}}
.shuffle-launch{display:flex;align-items:center;justify-content:center;gap:15px;margin:20px 0}.shuffle-launch small{display:block;font-size:12px;margin-top:5px}.shuffle-launch .dumpling-box-art{width:65px;height:60px}.shuffle-launch .dumpling-box-seal{width:19px;height:22px;font-size:14px}.shuffle-launch .dumpling-box-lid i{border-width:3px}
dialog:has(#dumpling-shuffle){width:min(570px,calc(100vw - 20px));padding:18px;max-height:calc(100svh - 20px);box-shadow:0 8px #c2a27f,0 18px 40px #60496b30}
dialog:is(:has(#dumpling-shuffle),:has(#dumpling-maze)) .modal-top{margin-bottom:4px;gap:10px;position:relative;justify-content:center;padding:24px 8px 0}dialog:is(:has(#dumpling-shuffle),:has(#dumpling-maze)) .modal-top h2{width:100%;text-align:center;margin:0}dialog:is(:has(#dumpling-shuffle),:has(#dumpling-maze)) .modal-top>.icon-button{position:absolute;right:0;top:0;width:40px;min-width:40px;height:40px;min-height:40px}.dumpling-heading-logo{display:block;width:100%;max-width:430px;height:190px;object-fit:contain;margin:0 auto}@media(max-width:600px){.dumpling-heading-logo{height:140px}}dialog:has(#dumpling-shuffle) .modal-top h2{font-size:clamp(23px,5.8vw,29px);outline:none}
.shuffle-status{font-size:16px;line-height:1.4;text-align:center;min-height:44px;margin:8px 0;color:#654875;font-weight:800}
.shuffle-board{position:relative;width:100%;aspect-ratio:1/1.05;max-width:450px;margin:auto;border-radius:28px;background:radial-gradient(ellipse at 50% 56%,#fff4cf 0%,#fbeddc 42%,#efe7f5 100%);border:3px solid #fff9ec;overflow:hidden;isolation:isolate;box-shadow:inset 0 2px 10px #a2835320}
.shuffle-stage{position:absolute;left:0;top:8%;width:100%;height:auto;pointer-events:none;z-index:1;filter:drop-shadow(0 8px 8px #8f694524)}
.shuffle-box{position:absolute;transform-origin:50% 84%;width:26%;aspect-ratio:1/1.08;height:auto;padding:0;border:0;background:transparent;touch-action:manipulation;opacity:1!important;cursor:pointer;will-change:transform,left,top;isolation:isolate;-webkit-tap-highlight-color:transparent}
.shuffle-box:before{content:'';position:absolute;left:12%;right:12%;bottom:10%;height:15%;background:#76522e40;border-radius:50%;filter:blur(3px);transform:scale(var(--shadow-scale,1));z-index:-1}
.shuffle-box .dumpling-box-art{width:100%;height:100%;z-index:2}.shuffle-box .dumpling-box-lid{transition:transform .35s ease,opacity .35s ease}.shuffle-box .dumpling-box-seal{width:24px;height:27px;font-size:18px}.shuffle-box .dumpling-box-lid i{border-width:4px}
.shuffle-prize{position:absolute;z-index:3;inset:-8% 17% 35%;opacity:0;transform:translateY(15%) scale(.6);transition:opacity .25s,transform .5s cubic-bezier(.22,.8,.3,1.2);pointer-events:none}.shuffle-prize .toy{width:100%;height:100%;max-width:none}
.shuffle-box.peek .dumpling-box-lid{transform:translateY(-48%) rotate(-14deg);opacity:.45}.shuffle-box.peek .dumpling-box-seal{opacity:0}.shuffle-box.peek .shuffle-prize{opacity:1;transform:scale(1)}
.shuffle-box:focus-visible{outline:3px solid #8755ad;outline-offset:4px;border-radius:22px}.ready-to-pick .shuffle-box:enabled:hover{filter:brightness(1.07)}
.shuffle-yours{position:absolute;z-index:5;left:50%;bottom:-5%;transform:translateX(-50%);background:#e7d3f0;color:#6b4885;border:2px solid #fff6e6;border-radius:7px;padding:2px 10px;font-size:11px;font-weight:900;box-shadow:0 2px #b5a0c7;white-space:nowrap}.shuffle-yours[hidden]{display:none}
.shuffle-box.other-prize{filter:saturate(.9)}.shuffle-host{position:absolute;left:50%;top:43%;width:12%;aspect-ratio:1;transform:translate(-50%,-80%);z-index:30;pointer-events:none;filter:drop-shadow(0 3px 2px #87674333)}.shuffle-host .toy{width:100%;height:100%;max-width:none}.shuffle-host span{position:absolute;left:50%;bottom:110%;transform:translateX(-50%);font-size:11px;font-weight:900;white-space:nowrap;background:#fff9e7;color:#856199;border:2px solid #ead4b9;border-radius:15px;padding:5px 8px}.shuffle-board:not(.shuffle-preview) .shuffle-host span{display:none}.show-result .shuffle-host{opacity:.6}
.shuffle-stage-caption{position:absolute;bottom:6%;left:0;right:0;text-align:center;font-size:12px;color:#91718f;font-weight:800}.is-shuffling .shuffle-stage-caption,.ready-to-pick .shuffle-stage-caption{visibility:hidden}
.shuffle-spotlight{position:absolute;left:25%;top:48%;width:50%;height:24%;border-radius:50%;background:radial-gradient(ellipse,#fff8d6c9,transparent 70%);opacity:0;z-index:2;pointer-events:none;transition:opacity .5s}.show-result .shuffle-spotlight{opacity:1}.gold-win .shuffle-spotlight{background:radial-gradient(ellipse,#ffdf75dd,transparent 72%)}
.shuffle-board.gold-win:after{content:'✦   ✧   ✦';position:absolute;left:24%;top:39%;width:52%;text-align:center;font-size:27px;color:#d6a447;z-index:61;pointer-events:none;animation:shuffle-gold 1.5s ease-out both}
.shuffle-rim-steam{position:absolute;inset:0;z-index:2;pointer-events:none}.shuffle-rim-steam i{position:absolute;left:15%;top:53%;width:8%;height:12%;background:#fffbf0;border-radius:50%;filter:blur(7px);opacity:0}.shuffle-rim-steam i:nth-child(2){left:77%;top:48%}.shuffle-rim-steam i:nth-child(3){left:47%;top:65%}.shuffle-preview .shuffle-rim-steam i{animation:shuffle-steam 2s ease-out both}.shuffle-preview .shuffle-rim-steam i:nth-child(2){animation-delay:.25s}.shuffle-preview .shuffle-rim-steam i:nth-child(3){animation-delay:.5s}
.shuffle-note{text-align:center;font-size:12px;line-height:1.4;color:#776383;margin:12px 0 0}.shuffle-next{margin-top:14px!important;min-height:48px}.shuffle-next[hidden]{display:none!important}
@keyframes shuffle-steam{20%{opacity:.55}100%{opacity:0;transform:translateY(-65%) scale(1.4)}}@keyframes shuffle-gold{0%{opacity:0;transform:translateY(20px) scale(.6)}35%{opacity:1}100%{opacity:.6;transform:translateY(-8px) scale(1.05)}}
@media(max-height:760px){.shuffle-board{max-width:350px;aspect-ratio:1/.95}.shuffle-status{font-size:14px;min-height:39px;margin:4px 0}.shuffle-stage-caption{bottom:3%}dialog:has(#dumpling-shuffle){padding:14px}}
@media(prefers-reduced-motion:reduce){#dumpling-shuffle *,#dumpling-shuffle *:after{animation:none!important;transition:none!important}}
.generated-box>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.generated-box .box-open-art{opacity:0}.generated-box .box-closed-art{opacity:1;transition:transform .4s,opacity .35s}.opening .box-open-art,.shuffle-box.peek .box-open-art{opacity:1}.opening .box-closed-art,.shuffle-box.peek .box-closed-art{opacity:0;transform:translateY(-35%)}.opening>.toy{z-index:3;top:20px}.opening>.generated-box{margin-top:75px}.shuffle-box .shuffle-prize{inset:-8% 17% 35%}.shuffle-box.peek .generated-box{transform:translateY(12%)}.shuffle-box .generated-box{transition:transform .3s}.shuffle-launch .generated-box{width:72px;height:68px}@media(prefers-reduced-motion:reduce){.generated-box .box-closed-art,.shuffle-box .generated-box{transition:none}}


/* Toy-first playground: controls stay separate from the squish surface. */
dialog.squish-fullscreen[open]{box-sizing:border-box;position:fixed;inset:0;width:min(100vw,620px);height:100dvh;max-width:none;max-height:100dvh;margin:auto;padding:0;border:0;border-radius:0;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#fffaf0,#fff2dd);box-shadow:0 0 80px #60457530}
.squish-playground{height:100%;box-sizing:border-box;display:grid;grid-template-rows:60px minmax(0,1fr) 104px 86px;gap:12px;padding:calc(16px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));position:relative}
.squish-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:3}.squish-toolbar h2{font-size:clamp(17px,4.8vw,25px);line-height:1.15;text-align:center;margin:0;padding:10px 16px;border-radius:30px;background:#f3e7f080;color:#80559e;max-width:68%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.squish-toolbar .icon-button{flex:none;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px}
dialog.squish-fullscreen .squish-stage{min-height:0;height:auto;margin:0 -12px;border-radius:0;display:grid;place-items:center;position:relative;overflow:visible;container-type:size;background:none;--squeeze-size:min(102cqw,96cqh)}
dialog.squish-fullscreen #squish{width:var(--squeeze-size);height:var(--squeeze-size);max-width:none;max-height:none;transform:none;position:relative;display:block;touch-action:none;z-index:1;border-radius:25%}
dialog.squish-fullscreen #squish>.toy{width:100%;height:100%;max-width:none;max-height:none;transform:none}
dialog.squish-fullscreen .squish-stage:before{content:'';position:absolute;top:calc(50% + var(--squeeze-size)*.40);left:calc(50% - var(--squeeze-size)*.38);width:calc(var(--squeeze-size)*.76);height:calc(var(--squeeze-size)*.10);background:radial-gradient(ellipse,#80613c45,transparent 70%);border-radius:50%;filter:blur(3px);transform:scaleX(var(--squish-shadow,1));pointer-events:none}
dialog.squish-fullscreen .feel-controls{display:none}.squish-fullscreen .feel-controls:has(.wax-recoat){display:block;position:absolute;bottom:calc(226px + env(safe-area-inset-bottom));right:18px;margin:0;z-index:4}.squish-fullscreen .feel-controls .feel-badge,.squish-fullscreen .feel-controls .feel-tip{display:none}.squish-fullscreen .wax-recoat{font-size:12px;min-height:44px}
.squish-demo{position:absolute;right:8%;bottom:14%;width:54px;height:65px;pointer-events:none;z-index:2;opacity:.65;animation:squish-demo-pull 2.8s ease-in-out 2}.squish-demo>svg{width:48px;height:55px}.squish-demo>span{position:absolute;right:-12px;top:-12px;color:#9875b1;font-size:30px}.squish-touched .squish-demo{display:none}
.squish-picker{display:grid;grid-template-columns:40px 1fr 1.15fr 1fr 40px;align-items:center;gap:5px;min-height:0;touch-action:pan-y;transition:opacity .2s}.squish-picker .icon-button{width:36px;min-width:36px;height:42px;min-height:42px;padding:0;font-size:32px;line-height:1}.squish-preview{border:0;background:none;border-radius:50%;padding:6px;min-width:0;height:90px;display:grid;place-items:center;cursor:pointer}.squish-preview.selected{border:3px solid #86d8c5;box-shadow:inset 0 0 0 3px #fffdf5;background:#fffaf0;height:100px}.squish-preview .toy{width:76px;height:76px;max-width:100%;pointer-events:none}.squish-preview.selected .toy{width:82px;height:82px}
.squish-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;transition:opacity .2s}.squish-dock>.btn{border:3px solid #fffdf4;border-radius:28px;min-width:0;padding:8px;min-height:64px;height:100%;box-shadow:0 7px 0 #bca6c7;background:linear-gradient(#fceaf2,#f9dce9);display:flex;align-items:center;justify-content:center;color:#795093}.squish-dock>.btn.green{background:linear-gradient(#d6f2e9,#b2e4d7);color:#4e7d73;box-shadow:0 7px 0 #a4cfbf}.squish-dock>.squish-more{background:linear-gradient(#f0e9fd,#e2d5f5);font-size:32px;letter-spacing:4px}.squish-dock svg{width:36px;height:36px}.squish-dock .rose svg{fill:#d995b6}.squish-dock small{font-size:13px}.squish-dock small svg{width:18px;height:18px}.squish-pair{position:relative;display:block;width:80px;height:54px}.squish-pair .toy{position:absolute;width:52px;height:52px;left:0;top:0;pointer-events:none}.squish-pair .toy+ .toy{left:27px;top:4px}
.squish-playground:has(#squish.is-squeezing) .squish-picker,.squish-playground:has(#squish.is-squeezing) .squish-dock{opacity:.25}
.squish-options{position:absolute;inset:auto 14px 14px;padding:22px;border:3px solid #fffdf4;border-radius:28px;background:#fff5e4;box-shadow:0 -10px 60px #60457525;z-index:10;max-height:70%;overflow:auto}.squish-options[hidden]{display:none}.squish-options h3{margin:0 45px 16px 0}.squish-options p{font-size:14px}.squish-options>.btn{margin:6px 4px;min-height:48px}.squish-options-close{position:absolute;right:10px;top:10px}.squish-fullscreen button:focus-visible{outline:3px solid #528d85;outline-offset:3px}
@keyframes squish-demo-pull{0%,100%{transform:translate(0,0)}45%{transform:translate(12px,-10px)}}
@media(min-width:761px){dialog.squish-fullscreen[open]{height:min(94dvh,960px);border-radius:36px}.squish-playground{grid-template-rows:60px minmax(0,1fr) 104px 80px;padding:20px 28px 26px}}
@media(max-height:650px){.squish-playground{grid-template-rows:46px minmax(0,1fr) 70px 58px;gap:6px;padding:10px 14px 14px}.squish-preview,.squish-preview.selected{height:66px}.squish-preview .toy,.squish-preview.selected .toy{width:54px;height:54px}.squish-dock>.btn{min-height:54px}.squish-fullscreen .feel-controls:has(.wax-recoat){bottom:150px}}
@media(prefers-reduced-motion:reduce){.squish-demo{animation:none}.squish-picker,.squish-dock{transition:none}}
.shuffle-rare-label{position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:900;border-radius:10px;background:#fff0a9;color:#795614;padding:3px 6px;box-shadow:0 2px 0 #d7b15b}

.wax-recoat{display:block;min-height:44px;padding:7px 18px;margin:5px auto 0;font-size:14px;background:linear-gradient(#fff6df,#f0d3e7);color:#634a78}.feel-controls:has(.wax-recoat){gap:4px}

.shuffle-demo-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#826097;height:30px}.shuffle-skip{min-height:44px}.shuffle-help{display:block;width:max-content;max-width:100%;margin:10px auto 0;padding:7px 15px;min-height:40px;border-radius:24px;background:#f0e6f6;border:1px solid #d9c6e4;color:#805996;font-size:13px;text-decoration:none}.shuffle-help[hidden]{display:none}.shuffle-help span{display:inline-block;margin-right:6px}.shuffle-box.demo-pick:after{content:'👆';position:absolute;bottom:-32%;left:35%;font-size:34px;filter:drop-shadow(0 2px 2px #7f633944);z-index:9;pointer-events:none}

/* Gentle tutorial focus: no flashing, and never intercepts taps. */
.tutorial-spotlight{position:absolute;inset:0;overflow:hidden;border-radius:inherit;z-index:100;pointer-events:none}.tutorial-spotlight[hidden]{display:none}.tutorial-spotlight i{position:absolute;display:block;border-radius:40%;border:3px solid #fff0a9;box-shadow:0 0 0 1200px #63527640,0 0 18px 5px #ffe99c99,inset 0 0 12px #fff7d477;pointer-events:none}
