.ss-game{max-width:720px;color:var(--ink);margin:auto;padding:8px 10px 28px}.ss-back{align-items:center;min-height:36px;font-size:12px;font-weight:700;display:inline-flex}.ss-heading{margin:0 0 10px;padding-right:56px;position:relative}.ss-heading .eyebrow{letter-spacing:1.4px;font-size:8px}.ss-heading h1{letter-spacing:-1.2px;margin:0;font-size:32px;font-weight:900;line-height:1.1}.ss-heading h1 em{color:#e77f60;font-style:normal}.ss-heading p{color:#60757b;margin:3px 0 0;font-size:11px}.ss-cast-header{pointer-events:none;width:37px;height:66px;position:absolute;bottom:0;right:7px}.ss-cast-header .full-character{width:100%;height:100%;margin:0;display:block}.ss-toolbar{align-items:center;gap:7px;display:flex}.ss-game .ss-toolbar label{flex-direction:row;align-items:center;gap:4px;margin:0 auto 0 0;font-size:12px;font-weight:700;display:flex}.ss-toolbar button,.ss-game .ss-toolbar select{min-height:40px;color:inherit;background:#fffdf7;border:1px solid #c9d2d0;border-radius:10px;margin:0;padding:5px 10px;font-size:12px;font-weight:700}.ss-game .ss-toolbar select{max-width:100px}.ss-level-title{justify-content:space-between;gap:8px;margin:9px 0 5px;font-size:11px;display:flex}.ss-level-title span{color:#63777d;font-size:10px}.ss-game progress{accent-color:#e77f60;background:#e8e3d5;border:0;border-radius:9px;width:100%;height:5px;display:block;overflow:hidden}.ss-game progress::-webkit-progress-bar{background:#e8e3d5}.ss-game progress::-webkit-progress-value{background:#e77f60}.ss-tip{color:#5c7075;min-height:30px;margin:8px 0 10px;font-size:11px;line-height:1.4}.ss-board{isolation:isolate;background:repeating-linear-gradient(5deg,#0000 0 20px,#59301922 21px,#0000 23px),linear-gradient(90deg,#8b4d29,#cb8c4d 3%,#b7753c 48%,#d59a57 94%,#7e4025);border:2px solid #653920;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:7px;display:grid;box-shadow:inset 0 2px #f4c589,inset 0 -3px #61351e,0 5px #562e1d,0 10px 16px #633b2525}.ss-shelf{isolation:isolate;background:radial-gradient(at 50% 100%,#d6a57055,#0000 70%),repeating-linear-gradient(0deg,#0000 0 27px,#5f381825 28px,#0000 29px),linear-gradient(90deg,#6c402c,#9d6740 12%,#b88250 70%,#81502f);border-top:0;border-bottom:10px solid #b9783c;border-left:0;border-right:6px solid #a56736;border-radius:0;min-width:0;margin:0;padding:0;position:relative;box-shadow:inset 3px 4px 7px #301e3266,inset -1px -2px #ebbb78}.ss-shelf.ss-row-end{border-right:0}.ss-shelf.ss-bottom{border-bottom:0}.ss-shelf:after{content:"";pointer-events:none;z-index:3;background:linear-gradient(#edba72 0 1px,#cd8c49 2px,#a36534 5px);height:6px;position:absolute;bottom:-8px;left:0;right:-6px}.ss-bottom:after{display:none}.ss-shelf-number{color:#f7dbb4;z-index:4;font-size:9px;font-weight:700;position:absolute;top:3px;left:5px}.ss-hidden-label{color:#f5d4ac;z-index:4;font-size:7px;position:absolute;top:3px;right:4px}.ss-spots,.ss-hidden{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:4px 1px 2px;display:grid}.ss-spots{z-index:2;position:relative}.ss-spot,.ss-back-position{background:0 0;border:0;border-radius:0;justify-content:center;align-items:flex-end;width:100%;min-width:0;height:clamp(44px,6.7vw,74px);margin:0;padding:0;display:flex;position:relative}.ss-spot img,.ss-back-position img{aspect-ratio:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 1px #2f180e66);width:100%;height:auto;position:absolute;bottom:0}.ss-object{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.ss-object:active{cursor:grabbing}.ss-empty:after{content:"";background:#3d221b24;border:1px solid #f3ce9970;border-radius:50%;width:70%;height:7px;position:absolute;bottom:6px}.ss-empty>span{display:none}.ss-selected{z-index:6}.ss-selected img{transform-origin:bottom;transform:translateY(-5px)scale(1.04)}.ss-hidden{pointer-events:none;opacity:.2;z-index:1;position:absolute;inset:0}.ss-hidden .ss-silhouette{filter:brightness(0);opacity:1}.ss-drag-ghost{z-index:200;pointer-events:none;filter:drop-shadow(0 6px 5px #17394f55);width:82px;height:82px;position:fixed;transform:translate(-50%,-75%)}.ss-drag-ghost img{object-fit:contain;width:100%;height:100%}.ss-status{color:#536b66;min-height:36px;padding:10px 0 5px;font-size:11px}.ss-match-label{text-align:center;z-index:8;color:#fff3c5;text-shadow:0 2px #653920;pointer-events:none;font-size:10px;font-weight:900;animation:.65s both ss-pop;position:absolute;inset:38px 0 auto}.ss-matched{animation:.65s ss-match}.ss-help{border-top:1px solid #dcded4;font-size:12px}.ss-help summary{cursor:pointer;align-items:center;min-height:42px;font-weight:700;display:flex}.ss-help p{margin-bottom:10px}.ss-save{color:#748185;text-align:center;margin:10px 0;font-size:10px}.ss-spot:focus-visible{outline-offset:-2px;outline:2px solid #ffda70}.ss-victory{color:#17394f;text-align:center;background:radial-gradient(at 50% 45%,#fff9e4 0 30%,#0000 65%),#fff5df;border:3px solid #17394f;border-radius:24px 13px 26px 15px;width:min(360px,100vw - 28px);max-height:calc(100dvh - 24px);margin:auto;padding:23px 22px 18px;position:fixed;inset:0;overflow:auto;box-shadow:0 9px #e78060,0 18px 60px #0f2f4c66}.ss-victory::backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#142d3c66}.ss-victory[open]{animation:.24s ease-out ss-arrive}.ss-victory-banner{letter-spacing:2px;color:#ab4932;margin-bottom:7px;font-size:9px;font-weight:800;position:relative}.ss-victory h2{letter-spacing:-1.4px;text-shadow:2px 2px #f9c179;margin:0;font-family:inherit;font-size:35px;font-weight:950;line-height:.98;position:relative;transform:rotate(-2deg)}.ss-victory-scene{justify-content:center;align-items:center;height:160px;margin:8px 0 10px;display:flex;position:relative}.ss-victory-scene .full-character{filter:drop-shadow(0 4px #d6a64b33);width:145px;height:150px;margin:0;display:block;position:relative}.ss-victory-halo{background:repeating-conic-gradient(from 10deg,#ffc85e88 0 15deg,#ffd99022 15deg 30deg);border-radius:50%;width:145px;height:125px;position:absolute;transform:rotate(-12deg)}.ss-victory-scene span{color:#fff4dc;background:#17394f;border-radius:20px;width:fit-content;margin:auto;padding:2px 10px;font-size:9px;font-weight:700;position:absolute;bottom:-4px;left:0;right:0;transform:rotate(-3deg)}.ss-victory p{margin:8px 0 13px;font-size:12px;line-height:1.5;position:relative}.ss-victory-actions{flex-direction:column;gap:5px;display:flex;position:relative}.ss-victory-actions .primary{color:#17394f;background:#e77f60;border:2px solid #17394f;border-radius:12px;justify-content:center;min-height:49px;font-size:16px;font-weight:900;box-shadow:0 4px #17394f}.ss-replay{color:#17394f;background:0 0;border:0;min-height:37px;margin-top:3px;font-size:12px;font-weight:700}.ss-victory-actions a{place-items:center;min-height:35px;font-size:12px;display:grid}.ss-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ss-confetti i{left:calc(6% + var(--n)*8%);top:calc(15% + var(--n)*6%);width:5px;height:12px;transform:rotate(calc(var(--n)*33deg));background:#e77f60;border-radius:2px;position:absolute}.ss-confetti i:nth-child(3n){background:#63a79b}.ss-confetti i:nth-child(3n+1){background:#eab34f}.ss-victory[open] .ss-confetti i{animation:.8s both ss-confetti}@keyframes ss-pop{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:translateY(-20px)}}@keyframes ss-match{20%{filter:brightness(1.7)}to{filter:brightness()}}@keyframes ss-arrive{0%{opacity:0;transform:translateY(12px)scale(.93)}to{opacity:1;transform:none}}@keyframes ss-confetti{0%{opacity:0;translate:0 -30px}to{opacity:1;translate:0}}@media (min-width:650px){.ss-game{padding:18px 18px 35px}.ss-heading h1{font-size:40px}.ss-heading p{font-size:13px}.ss-spots,.ss-hidden{padding:8px 4px 3px}.ss-shelf{border-bottom-width:12px;border-right-width:8px}.ss-board{padding:10px}.ss-shelf:after{height:8px;bottom:-10px;right:-8px}.ss-row-end:after{right:0}.ss-bottom:after{display:none}.ss-shelf-number{font-size:10px}.ss-hidden-label{font-size:9px}}@media (max-height:600px){.ss-victory{padding:14px 18px 10px}.ss-victory h2{font-size:28px}.ss-victory-scene{height:100px;margin:5px 0}.ss-victory-scene .full-character{height:95px}.ss-victory-halo{width:110px;height:85px}.ss-victory p{margin:6px 0;font-size:11px}}@media (prefers-reduced-motion:reduce){.ss-game *{transition:none!important;animation:none!important}.ss-match-label{display:none}}.ss-spot img,.ss-back-position img{object-position:center bottom}.ss-board{grid-auto-rows:1fr}.ss-covered{pointer-events:none;background:linear-gradient(90deg,#70432c,#9b6039);min-height:0;padding:5px;display:flex}.ss-wood-cover{background:repeating-linear-gradient(3deg,#0000 0 13px,#75452933 14px,#0000 16px),linear-gradient(90deg,#b77c44,#d19a5c 25%,#bb8048 72%,#aa6c39);border:2px solid #754529;border-radius:2px;flex:1;min-width:0;position:relative;box-shadow:inset 0 2px #f0bf7d,inset 0 -3px #87512c,0 1px 3px #432b2180}.ss-wood-cover:before{content:"";background:linear-gradient(170deg,#e9b77322,#0000 55%);border:1px solid #87512c88;position:absolute;inset:6px;box-shadow:0 1px #efbd7777,inset 0 1px #efbd7777}.ss-wood-cover:after{content:"";background:#6d402b;border-radius:50%;width:14px;height:5px;position:absolute;bottom:9px;left:calc(50% - 7px);box-shadow:0 1px #f1be77,inset 0 1px 2px #3d261d}.ss-board{position:relative}.ss-spot img{transform-origin:50% 90%}.ss-carried img{opacity:.15;filter:none;transform:none}.ss-empty>.ss-placement-preview{opacity:.3;pointer-events:none;display:block;position:absolute;inset:0}.ss-hover .ss-empty:has(.ss-placement-preview):after{background:#2f180e50;border-color:#ecd7b290}.ss-drag-ghost{filter:drop-shadow(0 10px 5px #2f180e55);width:65px;height:65px;transform:translate(-50%,-70%)scale(1.04)}.ss-shelf>.sparkle-burst{z-index:9;pointer-events:none}.ss-unlocking-cover{z-index:10;pointer-events:none;position:absolute;inset:2px}.ss-finished{animation:.65s ease-out ss-finish}@keyframes ss-finish{40%{box-shadow:inset 0 0 22px #ffdf9a,0 5px #562e1d}to{box-shadow:inset 0 2px #f4c589,0 5px #562e1d}}.ss-practice-intro{max-width:480px;margin:20px auto;padding:0 16px}.ss-practice-intro select{max-width:100%;padding:8px}.ss-practice-intro button{margin:8px;padding:8px}.ss-practice-link{text-align:center;margin:8px auto;font-size:13px;display:block}.ss-board{--ss-divider:6px;--ss-rail:10px;background:repeating-linear-gradient(3deg,#0000 0 17px,#69371f40 18px,#0000 20px),linear-gradient(90deg,#834728,#efb367 3%,#b67239 7%,#c18a4c 92%,#f5c480 97%,#814126);border:2px solid #573027;border-radius:9px 9px 5px 5px;padding:9px 8px 10px;box-shadow:inset 0 3px #ffdc95,inset 0 -3px #794020,0 5px #573027,0 12px 19px #452c2930}.ss-shelf{border-right:var(--ss-divider) solid #bc7941;border-bottom:var(--ss-rail) solid #a46234;background:#88492f url(/shelf-shuffle/wooden-cubby.png) 50%/100% 100% no-repeat;box-shadow:inset 2px 2px 4px #381d2855,inset -1px 0 1px #f5c48380}.ss-shelf:before{content:"";top:0;bottom:calc(-1 * var(--ss-rail));right:calc(-1 * var(--ss-divider));width:var(--ss-divider);pointer-events:none;z-index:3;background:linear-gradient(90deg,#f3c17b,#bf7a40 35%,#8e4a2b 85%,#633425);position:absolute}.ss-row-end:before{display:none}.ss-shelf:after{left:0;right:calc(-1 * var(--ss-divider));bottom:calc(-1 * var(--ss-rail));height:var(--ss-rail);z-index:5;background:linear-gradient(#f8ca83 0 12%,#d6924c 18%,#bf773a 48%,#a65d30 58%,#cb8b4a 70%,#804025 92%,#573027);box-shadow:0 2px 2px #3d202544}.ss-row-end:after{right:0}.ss-bottom:after{height:8px;display:block;bottom:-8px}.ss-bottom:before{bottom:-8px}.ss-spots,.ss-hidden{padding:8px 2px 6px}.ss-spot,.ss-back-position{height:clamp(44px,7.4vw,74px)}.ss-spot img,.ss-back-position img{margin-bottom:calc(-1 * var(--ss-art-padding,0%));filter:drop-shadow(1px 0 1px #341e2930);z-index:1;bottom:1px}.ss-object:before{content:"";pointer-events:none;background:radial-gradient(#341d28a6,#341d2840 48%,#0000 73%);border-radius:50%;width:68%;height:5px;position:absolute;bottom:-1px;left:16%}.ss-empty:after{background:#512c242e;border:1px solid #f7bf6b55;width:58%;height:4px;bottom:0}.ss-selected:before{opacity:.5;filter:blur(1px);transform:scale(1.14)}.ss-selected img{filter:drop-shadow(0 5px 2px #321d2940)}.ss-carried:before{opacity:.2}.ss-hidden{opacity:.8;inset:0 0 5px}.ss-hidden .ss-silhouette{filter:brightness(0);opacity:1;bottom:5px}.ss-shelf-number{color:#ffe0a2;text-shadow:0 1px 1px #38202a;font-size:8px;top:3px;left:4px}.ss-hidden-label{color:#ffdfa5;text-shadow:0 1px #48251f;background:#48251f80;border-radius:3px;padding:0 3px;top:3px;right:3px}.ss-covered{padding:4px}.ss-wood-cover{background:linear-gradient(100deg,#d7975140,#5b2a1733),url(/shelf-shuffle/wooden-cubby.png) 50% 42%/150% 260%;border:2px solid #683b28;border-radius:2px;box-shadow:inset 2px 2px #f2bd78,inset -2px -2px #743b25,0 1px 2px #39222380}.ss-wood-cover:before{background:linear-gradient(140deg,#e5b06a30,#0000 55%);border:2px solid #804526;inset:5px;box-shadow:0 1px #e9b572,inset 1px 1px 2px #4d241e70}.ss-wood-cover:after{background:radial-gradient(circle at 35% 25%,#fff0b8,#e4bb65 35%,#9b632a 75%);border:1px solid #5e3d28;border-radius:50%;width:8px;height:8px;bottom:8px;left:calc(50% - 4px);box-shadow:0 2px 2px #40202480}.ss-object-clasp{max-width:none;height:auto;box-shadow:none;filter:drop-shadow(0 1px .5px #351f2933);pointer-events:none;z-index:3;background:0 0;border:0;border-radius:0;animation:none;position:absolute;bottom:1px;transform:none}.ss-object-clasp svg{fill:none;stroke:none;display:block}.ss-object-clasp>.ss-lock-chains{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ss-padlock{aspect-ratio:1/1.12;width:clamp(10px,28%,18px);position:absolute;top:55%;left:50%;transform:translate(-50%,-20%)}.ss-padlock>.ss-lock-shackle{transform-origin:20% 90%;width:80%;height:62%;transition:none;position:absolute;top:0;left:10%;transform:none}.ss-padlock>.ss-lock-body{width:100%;height:70%;position:absolute;bottom:0;left:0}.ss-chain-left,.ss-chain-right{transform-box:fill-box;transform-origin:50%}.ss-fixed{cursor:default}.ss-fixed:after{display:none}.ss-clearing .ss-object:before{opacity:0;transition:opacity .25s}@media (min-width:650px){.ss-board{--ss-divider:8px;--ss-rail:12px;padding:12px 10px}.ss-spots,.ss-hidden{padding:10px 4px 7px}.ss-shelf-number{font-size:10px}.ss-hidden-label{font-size:9px}}@media (prefers-reduced-motion:reduce){.ss-clearing .ss-lock-shackle{transform:none}}
