/* Same wall. Actual contact, a little weight, and a place for every tool. */
.tool-wall-stage,.tool-wall-controls{position:absolute;inset:0;pointer-events:none;z-index:1}
.tool-wall-stage svg{display:block;width:100%;height:100%;overflow:hidden}
.tool-wall-controls{z-index:3}
.hanging-tool{position:absolute;display:block;padding:0;background:none;border:0;pointer-events:auto;touch-action:pan-y;user-select:none;-webkit-user-select:none;border-radius:30px;outline-offset:4px}
.hanging-tool[hidden]{display:none}.hanging-tool:disabled{pointer-events:none}
.hanging-tool:focus-visible{outline:1px dashed #f1ecd8;box-shadow:0 0 0 3px #4c584a66}
.tool-grip-hint{position:absolute;left:50%;top:78%;transform:translate(-50%,8px) rotate(-3deg);opacity:0;background:#eee8d8;color:#363e2f;padding:7px 9px;white-space:nowrap;font:9px/1.25 'Nimbus Sans',sans-serif;box-shadow:1px 3px 4px #24301d40;pointer-events:none;transition:opacity .18s,transform .25s}
.hanging-tool:hover .tool-grip-hint,.hanging-tool:focus-visible .tool-grip-hint{opacity:1;transform:translate(-50%,0) rotate(-3deg)}
.hanging-tool.is-held .tool-grip-hint{opacity:0}
.tool-wall-play{position:absolute;z-index:4;bottom:8%;left:4%;display:flex;align-items:center;gap:8px;min-height:38px;padding:8px 11px;background:#eeeadaed;color:#3d4434;font-size:9px;letter-spacing:1.15px;box-shadow:1px 3px 6px #29302030;transform:rotate(-1deg);transition:transform .3s,box-shadow .3s}
.tool-wall-play:hover,.tool-wall-play:focus-visible{transform:rotate(1deg) translateY(-2px);box-shadow:2px 6px 8px #29302040}
.tool-wall-play:active{transform:rotate(0) translateY(1px)}
.tool-wall-play[hidden],.tool-wall-controls[hidden]{display:none}
.tool-play-mark{display:block;position:relative;width:18px;height:16px;border:1px solid #79806a;border-top:0;border-bottom:0;transform:skew(-12deg)}
.tool-play-mark:before,.tool-play-mark:after{content:'';position:absolute;left:7px;top:-1px;width:2px;height:18px;background:#59644d;transform:rotate(16deg);transform-origin:50% 2px}
.tool-play-mark:after{left:1px;top:12px;width:13px;height:2px;transform:rotate(16deg)}
.wall-service-tags{position:absolute;inset:0;z-index:4;pointer-events:none}
.wall-service-tag{position:absolute;display:flex;align-items:center;gap:7px;transform:translate(-50%,0) rotate(-3deg);transform-origin:50% -8px;background:#eae5d5;color:#404735;box-shadow:1px 3px 5px #29321d40;padding:7px 9px;min-height:29px;font-size:10px;white-space:nowrap;pointer-events:auto;transition:transform .35s cubic-bezier(.2,.8,.25,1.2),box-shadow .3s}
.wall-service-tag:before{content:'';position:absolute;top:-8px;left:50%;height:10px;width:1px;background:#777b5e}
.wall-service-tag>span{font-size:7px;opacity:.6;border-right:1px solid #8f957c;padding-right:6px}.wall-service-tag i{font-style:normal;font-size:11px;margin-left:3px}
.wall-service-tag:nth-child(2){transform:translate(-50%,0) rotate(2deg)}
.wall-service-tag:hover,.wall-service-tag:focus-visible{transform:translate(-50%,-4px) rotate(0);box-shadow:3px 7px 8px #29321d40}
.wall-service-tag.is-selected{background:#f3efdf}.peg-washer{pointer-events:none}
.workshop-motion-paused .tool-wall-play{display:none}.workshop-motion-paused .hanging-tool{pointer-events:none}
.workshop-motion-paused .wall-service-tag{transform:translate(-50%,0) rotate(-3deg)}
@media(hover:hover) and (pointer:fine){.workshop-motion .hanging-tool{cursor:grab}.workshop-motion .hanging-tool.is-held,.workshop-motion .tool-is-held{cursor:grabbing}}
@media(hover:none),(pointer:coarse){.tool-grip-hint{display:none}}
@media(max-width:800px){.wall-service-tag{font-size:8px;gap:4px;padding:6px 7px}.wall-service-tag>span{font-size:6px;padding-right:4px}.tool-wall-play{font-size:8px;letter-spacing:.8px}}
@media(max-width:540px){
 .wall-service-tag{font-size:8px;min-height:33px;padding:5px 6px;gap:3px;max-width:86px;white-space:normal;text-align:left;line-height:1.2}
 .wall-service-tag>span{display:none}.wall-service-tag i{font-size:9px;margin-left:1px}
 .tool-wall-play{bottom:8%;left:5%;font-size:7px;min-height:34px;padding:6px 8px;letter-spacing:.7px}
 .tool-play-mark{scale:.8}.tool-grip-hint{display:none}
}
@media(prefers-reduced-motion:reduce){.tool-wall-play{display:none}.hanging-tool{pointer-events:none}.wall-service-tag{transition:none}}
@media(max-width:360px){.wall-service-tag{min-height:28px;font-size:7.5px;padding:4px 6px}}
@media(forced-colors:active){.tool-wall-stage{display:none}.hanging-tool{outline:1px solid ButtonText}.wall-service-tag,.tool-wall-play{border:1px solid ButtonText}}
