.dm-workshop{max-width:1040px;margin:0 auto;padding:12px;color:#233b44;font-family:inherit}
.dm-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.dm-heading h2{font-size:clamp(19px,3vw,25px);margin:0;line-height:1.35}
.dm-resource{background:#fff8df;border:2px solid #bda260;border-radius:14px;padding:8px 12px;font-weight:800;white-space:nowrap}
.dm-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}
.dm-world{border:3px solid #376a63;border-radius:20px;overflow:hidden;background:#e2f4e1;box-shadow:0 6px 0 #cae3cc}
.dm-canvas{display:block;width:100%;height:auto;touch-action:none;cursor:grab}
.dm-canvas:active{cursor:grabbing}
.dm-world-note{padding:8px 12px;background:#eff8ec;font-size:16px;font-weight:800;min-height:44px}
.dm-editor{display:grid;gap:10px}
.dm-selected{background:#e9f2ff;border:2px solid #7898bb;border-radius:14px;padding:10px 12px;line-height:1.5;font-size:17px;font-weight:800}
.dm-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dm-heights{grid-template-columns:repeat(3,minmax(0,1fr))}
.dm-button{min-height:52px;min-width:48px;border:2px solid #7d9991;border-radius:12px;background:#fff;color:#233b44;font-family:inherit;font-size:17px;font-weight:800;line-height:1.2;padding:8px;cursor:pointer;touch-action:manipulation}
.dm-button[aria-pressed=true]{background:#fff0b5;border-color:#83692e;box-shadow:inset 0 0 0 2px #e2c16c}
.dm-button:focus-visible{outline:4px solid #216dcc;outline-offset:3px}
.dm-button:disabled{opacity:.5;cursor:default}
.dm-primary{background:#156e5f;border-color:#0e4c43;color:#fff;min-height:58px}
.dm-warning{background:#fff1df;border-color:#b87732}
.dm-selection{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:14px}
.dm-piece-button{min-height:60px;padding:7px 4px;font-size:17px;line-height:1.15}
.dm-piece-button small{display:block;font-size:13px;margin-top:4px}
.dm-status{margin:12px 0 0;border-radius:12px;padding:10px 12px;background:#eef4f8;font-size:17px;line-height:1.45;min-height:44px}
.dm-status.is-success{background:#ddf6e7;color:#174d35;border:2px solid #438764}
.dm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.dm-actions>.dm-button{flex:1 1 170px}
.dm-handoff{max-width:460px;margin:50px auto;padding:24px;border:3px solid #4c877c;border-radius:22px;background:#fff;text-align:center;line-height:1.6}
.dm-handoff h2{font-size:26px;margin:0 0 8px}
.dm-handoff .dm-button{width:100%;margin-top:14px}
@media(max-width:860px){.dm-layout{grid-template-columns:1fr}.dm-editor{grid-template-columns:1fr 1fr}.dm-selected{grid-column:1/-1}.dm-editor>.dm-primary{grid-column:1/-1}.dm-editor>.dm-heights{align-items:stretch}.dm-selection{margin-top:10px}}
@media(max-width:480px){.dm-workshop{padding:8px}.dm-heading{gap:7px}.dm-resource{padding:6px 10px;font-size:16px}.dm-layout{gap:10px}.dm-world{border-radius:14px}.dm-editor{gap:8px;grid-template-columns:1fr}.dm-editor>.dm-primary,.dm-selected{grid-column:auto}.dm-selection{gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.dm-button{font-size:16px}.dm-status{font-size:16px}.dm-handoff{margin:18px auto;padding:18px}.dm-world-note{font-size:14px}}
@media(prefers-reduced-motion:reduce){.dm-workshop *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
