.guru-game{margin-top:22px;border-block:1px solid var(--line);padding:10px 0 8px;max-width:none;width:100%;position:relative;z-index:1}.guru-game-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font:10px/1.5 var(--mono);color:var(--muted)}#guru-reset{border:0;border-bottom:1px solid var(--line-2);background:none;color:var(--muted);font:inherit;padding:3px 0;cursor:pointer}#guru-stage{position:relative;height:150px;isolation:isolate;background-image:radial-gradient(var(--line-2) .6px,transparent .6px);background-size:16px 16px;margin-top:5px;overflow:hidden}#guru{position:absolute;left:0;top:0;width:48px;height:68px;border:0;padding:0;background:none;cursor:grab;touch-action:none;user-select:none;z-index:3;transform-origin:center center;will-change:transform}#guru.dragging{cursor:grabbing}#guru canvas{display:block;width:48px;height:68px;image-rendering:pixelated;pointer-events:none}#guru-pitch{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);border:1px solid var(--line-2);padding:6px 8px;width:142px;font:9px/1.5 var(--mono);color:var(--fg);background:var(--bg);text-align:left;pointer-events:none}#guru-pitch:after{content:'';position:absolute;bottom:-6px;left:50%;width:10px;height:10px;background:var(--bg);border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transform:rotate(45deg)}#guru-bin{position:absolute;right:2%;bottom:8px;width:50px;height:70px;color:var(--muted);text-align:center;transition:color .15s,transform .15s}#guru-bin svg{display:block;width:44px;height:55px;margin:auto}#guru-bin span{font:9px var(--mono);letter-spacing:.15em}#guru-bin.ready{color:var(--fg);transform:scale(1.08) rotate(-4deg)}#guru-confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}#guru-status{margin:5px 0 0;font:9px/1.6 var(--mono);color:var(--dim)}.guru-game.won #guru{visibility:hidden}.guru-game.won #guru-bin{color:var(--fg)}@media(max-width:600px){.guru-game{margin-top:20px}.guru-game-top{font-size:9px}#guru-stage{height:150px}#guru-bin{right:5%}#guru-pitch{width:138px;font-size:9px;padding:6px 8px}#guru-status{font-size:8px}}

#guru.tossing #guru-pitch{visibility:hidden}#guru.tossing{pointer-events:none}

.guru-layer{position:absolute;left:0;top:0;width:100%;height:0;z-index:40;pointer-events:none}.guru-layer #guru{pointer-events:auto}.guru-layer #guru.tossing{pointer-events:none}

.guru-layer>#guru-pitch{position:absolute;bottom:auto;left:0;top:0;transform:none;pointer-events:none;z-index:4}.guru-layer>#guru-pitch[hidden]{display:none}
#guru.dragging:focus-visible{outline:none}

.guru-accessory{position:absolute;left:0;top:0;width:26px;height:22px;image-rendering:pixelated;pointer-events:none;z-index:5}#guru-bin svg{overflow:visible}.guru-bin-lid{transform-box:fill-box;transform-origin:right bottom;transition:transform .18s ease-out}#guru-bin.open .guru-bin-lid{transform:translateY(-5px) rotate(35deg)}#guru-bin.slam{animation:guru-bin-slam .4s ease-out}@keyframes guru-bin-slam{0%{transform:translateY(0) scale(1)}25%{transform:translateY(3px) scale(1.08,.88)}60%{transform:translateY(-3px) scale(.97,1.04)}100%{transform:none}}@media(prefers-reduced-motion:reduce){.guru-bin-lid{transition:none}#guru-bin.slam{animation:none}}
#guru.tossing:focus-visible{outline:none}

.guru-receipt{position:absolute;box-sizing:border-box;width:160px;padding:12px 10px 16px;background:var(--bg);color:var(--fg);border:1px solid var(--line-2);box-shadow:0 4px 12px #00000012;font:8px/1.6 var(--mono);text-align:center;pointer-events:none;z-index:6;animation:guru-receipt-fall 2.8s ease-out both;clip-path:polygon(0 0,100% 0,100% 96%,94% 100%,88% 96%,82% 100%,76% 96%,70% 100%,64% 96%,58% 100%,52% 96%,46% 100%,40% 96%,34% 100%,28% 96%,22% 100%,16% 96%,10% 100%,4% 96%,0 100%)}.guru-receipt span{display:block;border-bottom:1px dashed var(--line-2);padding-bottom:5px;margin-bottom:6px}.guru-receipt strong{display:block;font-size:13px;font-weight:500}.guru-receipt small{font:8px var(--mono);color:var(--muted)}@keyframes guru-receipt-fall{0%{opacity:0;transform:translateY(-18px) rotate(-6deg)}12%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translateY(36px) rotate(5deg)}}@media(prefers-reduced-motion:reduce){.guru-receipt{animation:none}}
