.shop-egg-view{width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:#030303;color:#f4e826;overflow:hidden}.shop-egg-view::backdrop{background:#030303}.shop-egg-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.shop-egg-stage:active{cursor:grabbing}.shop-egg-stage img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:center;pointer-events:none}.shop-egg-close{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));z-index:2;width:48px;height:48px;border:1px solid #eee7;background:#080808cc;color:#eee;font:32px/1 Arial;cursor:pointer;touch-action:manipulation}.shop-egg-close:focus-visible{outline:2px solid #eee026;outline-offset:3px}.shop-egg-hint{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:100;box-sizing:border-box;width:max-content;max-width:calc(100vw - 32px);padding:18px 22px;border:1px solid #eada22;background:#080808f5;color:#f2e742;font:16px/1.6 Arial,sans-serif;box-shadow:0 8px 35px #0009;pointer-events:none}.shop-egg-hint[hidden]{display:none}@media print{.shop-egg-view,.shop-egg-hint{display:none!important}}

.shop-egg-loupe{position:absolute;transform:translate(-50%,-100%);font:22px/1 Arial,sans-serif;filter:drop-shadow(0 2px 4px #000);pointer-events:none;user-select:none}.shop-egg-loupe[hidden]{display:none}

/* Public site: avoid accidental text selection (including vinyl multiple taps). */
html,body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable="true"],[contenteditable="true"] *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}

.shop-egg-hint[data-kind="table"]{pointer-events:auto;cursor:pointer}.shop-egg-loupe{pointer-events:auto!important;cursor:pointer}.flash-clue{animation:clueflash 1.1s ease-in-out 3}@keyframes clueflash{0%,100%{opacity:1}50%{opacity:0}}.shop-game-shell{position:fixed;inset:0;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;padding:0;border:0;background:#080b06;overflow:auto}.shop-game-shell::backdrop{background:#000}.shop-game-exit{position:fixed;right:8px;top:8px;z-index:100;padding:8px 12px;border:1px solid #7e8069;background:#080b06e8;color:#eee026;font:11px Arial;cursor:pointer}.shop-game-status{padding:40px;color:#eee026;text-align:center}

/* v22 · Bound dialog and Shadow host to the visible viewport. */
.shop-game-shell{box-sizing:border-box;width:var(--shop-viewport-width,100%);max-width:100%;min-width:0;height:var(--shop-viewport-height,100dvh);max-height:none;overscroll-behavior:none;overflow-x:hidden}
.shop-game-host{box-sizing:border-box;min-width:0;max-width:100%;width:100%}
.shop-game-host[hidden]{display:none}
@media(max-width:900px),(max-height:600px),(pointer:coarse){
 .shop-game-shell{overflow:hidden}
 .shop-game-host{height:100%;min-height:0;max-height:100%;overflow:hidden}
}
