*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#78c9e1;font-family:"PingFang SC","Microsoft YaHei",sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#viewport{position:fixed;inset:0;width:100%;height:100%;overflow:clip;background:#78c9e1}#stage{width:941px;height:1672px;transform-origin:top left;position:relative;overflow:clip}#scene{position:absolute;inset:0}.ui{position:absolute;display:block;border:0;padding:0;margin:0;background:none;color:#663419;transform-origin:center;isolation:isolate}.sprite{overflow:hidden;pointer-events:none}.sprite img{position:absolute;display:block;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.control{cursor:pointer;pointer-events:auto}.control:active{transform:translateY(4px) scale(.98)}.control:focus-visible{outline:5px solid #fff5ab;outline-offset:5px;border-radius:25px}.label{display:flex;justify-content:center;align-items:center;font-weight:900;line-height:1.25;text-align:center;white-space:pre-wrap;text-shadow:0 2px 0 #fff3bd55;pointer-events:none;overflow:hidden}.label.left{justify-content:flex-start;text-align:left}.grid{pointer-events:none;background-image:linear-gradient(to right,#eef7f72b 1px,transparent 1px),linear-gradient(to bottom,#eef7f72b 1px,transparent 1px);background-size:103px 103px;border-right:1px solid #eef7f72b;border-bottom:1px solid #eef7f72b}.mask{background:#172b35;pointer-events:auto}.divider{background:#c8996140;box-shadow:0 2px 0 #fff9eccc;pointer-events:none}#capsule{position:absolute;top:24px;right:23px;width:194px;height:64px;background:#ffffffcf;border:1px solid #ffffffa0;display:flex;align-items:center;justify-content:space-evenly;border-radius:40px;color:#111;font-size:35px;pointer-events:none;z-index:100}#capsule i{height:30px;width:1px;background:#2229}#capsule b{font-size:44px;font-weight:400;line-height:1}#toast{position:absolute;left:50%;bottom:321px;max-width:800px;white-space:nowrap;transform:translate(-50%,10px);background:#395343ee;border:2px solid #fcf0c388;padding:22px 37px;border-radius:32px;color:#fff6df;font-size:36px;font-weight:700;opacity:0;pointer-events:none;z-index:120;transition:opacity .16s,transform .16s}#toast.visible{opacity:1;transform:translate(-50%,0)}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#b7e5df;color:#385640;font-size:39px;font-weight:700;z-index:200}.hinted{animation:hint .4s ease-in-out 3}.blocked{animation:blocked .28s ease-in-out 2;filter:drop-shadow(0 0 9px #fa554b)}@keyframes hint{0%,100%{filter:drop-shadow(0 0 0px #ffe15900)}45%,60%{filter:brightness(1.22) drop-shadow(0 0 14px #fff286) drop-shadow(0 0 7px #ffd126)}}@keyframes blocked{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}@media(prefers-reduced-motion:reduce){.hinted{animation:none;outline:6px solid #ffd126;border-radius:25px}.blocked{animation:none;outline:6px solid #fa554b;border-radius:25px}}

.special-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:27px;font-weight:900;line-height:1;color:#fff;background:#c83928;border:3px solid #fff3d1;box-shadow:0 2px 5px #42231199;pointer-events:none}.special-badge.prank{width:27px;height:27px;font-size:20px;background:#8238b2;top:57%;opacity:.92}.bomb-armed .special-badge{animation:bomb-pulse .5s infinite alternate}.bomb-armed{filter:drop-shadow(0 0 9px #ff4838)}@keyframes bomb-pulse{to{transform:translate(-50%,-50%) scale(1.15);background:#ff4930}}.exploding .control{pointer-events:none}.blast-flash{position:absolute;inset:0;background:#ff6829;z-index:10;pointer-events:none}.blast-puff{position:absolute;overflow:hidden;z-index:11;pointer-events:none;filter:sepia(1) saturate(4)}

.special-badge[hidden]{display:none}.special-badge.prank{top:65%;left:65%}

.safe-area-probe{position:absolute;width:0;height:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden;pointer-events:none}

.parking-surface{position:absolute;overflow:hidden;z-index:2;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;isolation:isolate}.parking-surface.dragging{cursor:grabbing}.parking-content{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;width:100%;height:100%}.parking-surface .control{touch-action:none}.parking-surface .control:active{transform:none}
