.m3d{margin:20px 0;border:1px solid #e4e1da;border-radius:18px;background:#fbfaf7;overflow:hidden;font-family:inherit;color:#26352f}
.m3d__top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid #e7e3dc;background:#fff}
.m3d__top strong{display:block;font-size:20px}.m3d__top small{display:block;margin-top:3px;color:#708078}
.m3d button,.m3d select{font:inherit}.m3d__reset{border:1px solid #cdd7d1;background:#fff;border-radius:10px;padding:9px 12px;cursor:pointer}
.m3d__viewport{position:relative;height:min(62vw,520px);min-height:320px;background:radial-gradient(circle at 50% 35%,#fff 0,#f8f6f1 60%,#f1eee7 100%);touch-action:none}
.m3d__canvas{display:block;width:100%;height:100%}.m3d__badge{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.9);border:1px solid #ddd8cf;border-radius:999px;padding:6px 10px;font-size:13px}
.m3d__options{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;padding:16px 18px;background:#fff;border-top:1px solid #e7e3dc}
.m3d__options label{font-weight:600}.m3d__side{display:block;margin-top:7px;min-width:150px;padding:10px 12px;border:1px solid #cdd7d1;border-radius:10px;background:#fff}
.m3d__specs{display:flex;gap:8px;flex-wrap:wrap}.m3d__specs span{font-size:13px;background:#f0f4f1;border-radius:999px;padding:7px 10px}
.m3d__note{margin:0;padding:0 18px 16px;background:#fff;color:#78847e;font-size:12px}
@media(max-width:520px){.m3d__top{align-items:flex-start}.m3d__top strong{font-size:18px}.m3d__reset{font-size:13px}.m3d__viewport{height:390px}.m3d__options{display:block}.m3d__specs{margin-top:12px}}
